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.

\n

This field is allowed only when sessionPersistenceMode is\n ACTIVATED and automaticTerminationMode is\n ACTIVATED.

\n

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).

\n

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).

" + "type" : "number" }, - "SessionStorage" : { - "$ref" : "#/definitions/StreamConfigurationSessionStorage" + "SessionPersistenceMode" : { + "type" : "string" + }, + "AutomaticTerminationMode" : { + "type" : "string" }, "SessionBackup" : { "$ref" : "#/definitions/StreamConfigurationSessionBackup" }, - "SessionPersistenceMode" : { - "$ref" : "#/definitions/SessionPersistenceMode" + "Ec2InstanceTypes" : { + "type" : "array", + "uniqueItems" : false, + "items" : { + "type" : "string" + } + }, + "SessionStorage" : { + "$ref" : "#/definitions/StreamConfigurationSessionStorage" }, "VolumeConfiguration" : { "$ref" : "#/definitions/VolumeConfiguration" - }, - "AutomaticTerminationMode" : { - "$ref" : "#/definitions/AutomaticTerminationMode" } }, - "required" : [ "ClipboardMode", "Ec2InstanceTypes", "StreamingImageIds" ], - "additionalProperties" : false + "required" : [ "ClipboardMode", "StreamingImageIds", "Ec2InstanceTypes" ] }, - "StreamConfigurationSessionBackup" : { + "VolumeConfiguration" : { "type" : "object", - "description" : "

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.

" - } - }, - "required" : [ "Mode" ], - "additionalProperties" : false - }, - "StreamingClipboardMode" : { - "type" : "string", - "enum" : [ "ENABLED", "DISABLED" ] - }, - "StreamingInstanceType" : { - "type" : "string", - "enum" : [ "g4dn.xlarge", "g4dn.2xlarge", "g4dn.4xlarge", "g4dn.8xlarge", "g4dn.12xlarge", "g4dn.16xlarge", "g3.4xlarge", "g3s.xlarge", "g5.xlarge", "g5.2xlarge", "g5.4xlarge", "g5.8xlarge", "g5.16xlarge" ] - }, - "StreamingSessionStorageMode" : { - "type" : "string", - "enum" : [ "UPLOAD" ] - }, - "StreamingSessionStorageRoot" : { - "type" : "object", - "description" : "

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.

\n

This parameter is only allowed when sessionPersistenceMode is\n ACTIVATED.

", - "properties" : { - "Size" : { - "type" : "number", - "default" : 500, - "maximum" : 16000, - "minimum" : 100, - "description" : "

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 ApiId { get; private set; } = null!; [Output("dns")] - public Output> Dns { get; private set; } = null!; + public Output Dns { get; private set; } = null!; + /// + /// Describes the authorization configuration for connections, message publishing, message subscriptions, and logging for an Event API. + /// [Output("eventConfig")] public Output EventConfig { get; private set; } = null!; /// - /// The API name. + /// The name of the `Api` . /// [Output("name")] public Output Name { get; private set; } = null!; @@ -48,7 +51,7 @@ public partial class Api : global::Pulumi.CustomResource public Output OwnerContact { get; private set; } = null!; /// - /// The tags. + /// A set of tags (key-value pairs) for this API. /// [Output("tags")] public Output> Tags { get; private set; } = null!; @@ -98,11 +101,14 @@ public static Api Get(string name, Input id, CustomResourceOptions? opti public sealed class ApiArgs : global::Pulumi.ResourceArgs { + /// + /// Describes the authorization configuration for connections, message publishing, message subscriptions, and logging for an Event API. + /// [Input("eventConfig")] public Input? EventConfig { get; set; } /// - /// The API name. + /// The name of the `Api` . /// [Input("name")] public Input? Name { get; set; } @@ -119,7 +125,7 @@ public sealed class ApiArgs : global::Pulumi.ResourceArgs private InputList? _tags; /// - /// The tags. + /// A set of tags (key-value pairs) for this API. /// public InputList Tags { diff --git a/sdk/dotnet/AppSync/ChannelNamespace.cs b/sdk/dotnet/AppSync/ChannelNamespace.cs index 338bd89f3c..e7b62f7bf9 100644 --- a/sdk/dotnet/AppSync/ChannelNamespace.cs +++ b/sdk/dotnet/AppSync/ChannelNamespace.cs @@ -21,9 +21,15 @@ public partial class ChannelNamespace : global::Pulumi.CustomResource [Output("apiId")] public Output ApiId { get; private set; } = null!; + /// + /// The Amazon Resource Name (ARN) of the channel namespace. + /// [Output("channelNamespaceArn")] public Output ChannelNamespaceArn { get; private set; } = null!; + /// + /// The event handler functions that run custom business logic to process published events and subscribe requests. + /// [Output("codeHandlers")] public Output CodeHandlers { get; private set; } = null!; @@ -33,6 +39,9 @@ public partial class ChannelNamespace : global::Pulumi.CustomResource [Output("codeS3Location")] public Output CodeS3Location { get; private set; } = null!; + /// + /// The name of the channel namespace. This name must be unique within the `Api` . + /// [Output("name")] public Output Name { get; private set; } = null!; @@ -48,6 +57,9 @@ public partial class ChannelNamespace : global::Pulumi.CustomResource [Output("subscribeAuthModes")] public Output> SubscribeAuthModes { get; private set; } = null!; + /// + /// A set of tags (key-value pairs) for this channel namespace. + /// [Output("tags")] public Output> Tags { get; private set; } = null!; @@ -107,6 +119,9 @@ public sealed class ChannelNamespaceArgs : global::Pulumi.ResourceArgs [Input("apiId", required: true)] public Input ApiId { get; set; } = null!; + /// + /// The event handler functions that run custom business logic to process published events and subscribe requests. + /// [Input("codeHandlers")] public Input? CodeHandlers { get; set; } @@ -116,6 +131,9 @@ public sealed class ChannelNamespaceArgs : global::Pulumi.ResourceArgs [Input("codeS3Location")] public Input? CodeS3Location { get; set; } + /// + /// The name of the channel namespace. This name must be unique within the `Api` . + /// [Input("name")] public Input? Name { get; set; } @@ -145,6 +163,10 @@ public InputList SubscribeAuthModes [Input("tags")] private InputList? _tags; + + /// + /// A set of tags (key-value pairs) for this channel namespace. + /// public InputList Tags { get => _tags ?? (_tags = new InputList()); diff --git a/sdk/dotnet/AppSync/GetApi.cs b/sdk/dotnet/AppSync/GetApi.cs index dc6a3ac1df..45a52b744e 100644 --- a/sdk/dotnet/AppSync/GetApi.cs +++ b/sdk/dotnet/AppSync/GetApi.cs @@ -65,10 +65,13 @@ public sealed class GetApiResult /// The unique identifier for the AppSync Api generated by the service /// public readonly string? ApiId; - public readonly ImmutableDictionary? Dns; + public readonly Outputs.ApiDnsMap? Dns; + /// + /// Describes the authorization configuration for connections, message publishing, message subscriptions, and logging for an Event API. + /// public readonly Outputs.ApiEventConfig? EventConfig; /// - /// The API name. + /// The name of the `Api` . /// public readonly string? Name; /// @@ -78,7 +81,7 @@ public sealed class GetApiResult /// public readonly string? OwnerContact; /// - /// The tags. + /// A set of tags (key-value pairs) for this API. /// public readonly ImmutableArray Tags; @@ -88,7 +91,7 @@ private GetApiResult( string? apiId, - ImmutableDictionary? dns, + Outputs.ApiDnsMap? dns, Outputs.ApiEventConfig? eventConfig, diff --git a/sdk/dotnet/AppSync/GetChannelNamespace.cs b/sdk/dotnet/AppSync/GetChannelNamespace.cs index ae3ad6cdee..8178a5abe7 100644 --- a/sdk/dotnet/AppSync/GetChannelNamespace.cs +++ b/sdk/dotnet/AppSync/GetChannelNamespace.cs @@ -27,6 +27,9 @@ public static Output Invoke(GetChannelNamespaceInvoke public sealed class GetChannelNamespaceArgs : global::Pulumi.InvokeArgs { + /// + /// The Amazon Resource Name (ARN) of the channel namespace. + /// [Input("channelNamespaceArn", required: true)] public string ChannelNamespaceArn { get; set; } = null!; @@ -38,6 +41,9 @@ public GetChannelNamespaceArgs() public sealed class GetChannelNamespaceInvokeArgs : global::Pulumi.InvokeArgs { + /// + /// The Amazon Resource Name (ARN) of the channel namespace. + /// [Input("channelNamespaceArn", required: true)] public Input ChannelNamespaceArn { get; set; } = null!; @@ -51,7 +57,13 @@ public GetChannelNamespaceInvokeArgs() [OutputType] public sealed class GetChannelNamespaceResult { + /// + /// The Amazon Resource Name (ARN) of the channel namespace. + /// public readonly string? ChannelNamespaceArn; + /// + /// The event handler functions that run custom business logic to process published events and subscribe requests. + /// public readonly string? CodeHandlers; /// /// List of AuthModes supported for Publish operations. @@ -61,6 +73,9 @@ public sealed class GetChannelNamespaceResult /// List of AuthModes supported for Subscribe operations. /// public readonly ImmutableArray SubscribeAuthModes; + /// + /// A set of tags (key-value pairs) for this channel namespace. + /// public readonly ImmutableArray Tags; [OutputConstructor] diff --git a/sdk/dotnet/AppSync/Inputs/ApiEventConfigArgs.cs b/sdk/dotnet/AppSync/Inputs/ApiEventConfigArgs.cs index d9f00108e4..13ba4371c7 100644 --- a/sdk/dotnet/AppSync/Inputs/ApiEventConfigArgs.cs +++ b/sdk/dotnet/AppSync/Inputs/ApiEventConfigArgs.cs @@ -17,6 +17,10 @@ public sealed class ApiEventConfigArgs : global::Pulumi.ResourceArgs { [Input("authProviders", required: true)] private InputList? _authProviders; + + /// + /// A list of authorization providers. + /// public InputList AuthProviders { get => _authProviders ?? (_authProviders = new InputList()); @@ -25,6 +29,10 @@ public InputList AuthProviders [Input("connectionAuthModes", required: true)] private InputList? _connectionAuthModes; + + /// + /// A list of valid authorization modes for the Event API connections. + /// public InputList ConnectionAuthModes { get => _connectionAuthModes ?? (_connectionAuthModes = new InputList()); @@ -33,6 +41,10 @@ public InputList ConnectionAuthModes [Input("defaultPublishAuthModes", required: true)] private InputList? _defaultPublishAuthModes; + + /// + /// A list of valid authorization modes for the Event API publishing. + /// public InputList DefaultPublishAuthModes { get => _defaultPublishAuthModes ?? (_defaultPublishAuthModes = new InputList()); @@ -41,12 +53,19 @@ public InputList DefaultPublishAuthModes [Input("defaultSubscribeAuthModes", required: true)] private InputList? _defaultSubscribeAuthModes; + + /// + /// A list of valid authorization modes for the Event API subscriptions. + /// public InputList DefaultSubscribeAuthModes { get => _defaultSubscribeAuthModes ?? (_defaultSubscribeAuthModes = new InputList()); set => _defaultSubscribeAuthModes = value; } + /// + /// The CloudWatch Logs configuration for the Event API. + /// [Input("logConfig")] public Input? LogConfig { get; set; } diff --git a/sdk/dotnet/AppSync/Inputs/ApiEventLogConfigArgs.cs b/sdk/dotnet/AppSync/Inputs/ApiEventLogConfigArgs.cs index 7eb4b16392..abe2d1e181 100644 --- a/sdk/dotnet/AppSync/Inputs/ApiEventLogConfigArgs.cs +++ b/sdk/dotnet/AppSync/Inputs/ApiEventLogConfigArgs.cs @@ -15,9 +15,15 @@ namespace Pulumi.AwsNative.AppSync.Inputs /// public sealed class ApiEventLogConfigArgs : global::Pulumi.ResourceArgs { + /// + /// The IAM service role that AWS AppSync assumes to publish CloudWatch Logs in your account. + /// [Input("cloudWatchLogsRoleArn", required: true)] public Input CloudWatchLogsRoleArn { get; set; } = null!; + /// + /// The type of information to log for the Event API. + /// [Input("logLevel", required: true)] public Input LogLevel { get; set; } = null!; diff --git a/sdk/dotnet/AppSync/Outputs/ApiDnsMap.cs b/sdk/dotnet/AppSync/Outputs/ApiDnsMap.cs new file mode 100644 index 0000000000..c8775a0105 --- /dev/null +++ b/sdk/dotnet/AppSync/Outputs/ApiDnsMap.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.AppSync.Outputs +{ + + /// + /// A map of DNS names for the AppSync API. + /// + [OutputType] + public sealed class ApiDnsMap + { + /// + /// The domain name of the Api's HTTP endpoint. + /// + public readonly string? Http; + /// + /// The domain name of the Api's real-time endpoint. + /// + public readonly string? Realtime; + + [OutputConstructor] + private ApiDnsMap( + string? http, + + string? realtime) + { + Http = http; + Realtime = realtime; + } + } +} diff --git a/sdk/dotnet/AppSync/Outputs/ApiEventConfig.cs b/sdk/dotnet/AppSync/Outputs/ApiEventConfig.cs index 4a8d3a0eef..5f966551d8 100644 --- a/sdk/dotnet/AppSync/Outputs/ApiEventConfig.cs +++ b/sdk/dotnet/AppSync/Outputs/ApiEventConfig.cs @@ -16,10 +16,25 @@ namespace Pulumi.AwsNative.AppSync.Outputs [OutputType] public sealed class ApiEventConfig { + /// + /// A list of authorization providers. + /// public readonly ImmutableArray AuthProviders; + /// + /// A list of valid authorization modes for the Event API connections. + /// public readonly ImmutableArray ConnectionAuthModes; + /// + /// A list of valid authorization modes for the Event API publishing. + /// public readonly ImmutableArray DefaultPublishAuthModes; + /// + /// A list of valid authorization modes for the Event API subscriptions. + /// public readonly ImmutableArray DefaultSubscribeAuthModes; + /// + /// The CloudWatch Logs configuration for the Event API. + /// public readonly Outputs.ApiEventLogConfig? LogConfig; [OutputConstructor] diff --git a/sdk/dotnet/AppSync/Outputs/ApiEventLogConfig.cs b/sdk/dotnet/AppSync/Outputs/ApiEventLogConfig.cs index 240784eaec..dc842b45d5 100644 --- a/sdk/dotnet/AppSync/Outputs/ApiEventLogConfig.cs +++ b/sdk/dotnet/AppSync/Outputs/ApiEventLogConfig.cs @@ -16,7 +16,13 @@ namespace Pulumi.AwsNative.AppSync.Outputs [OutputType] public sealed class ApiEventLogConfig { + /// + /// The IAM service role that AWS AppSync assumes to publish CloudWatch Logs in your account. + /// public readonly string CloudWatchLogsRoleArn; + /// + /// The type of information to log for the Event API. + /// public readonly Pulumi.AwsNative.AppSync.ApiEventLogLevel LogLevel; [OutputConstructor] diff --git a/sdk/dotnet/Aps/GetScraper.cs b/sdk/dotnet/Aps/GetScraper.cs index 28a08bd288..3425787ec6 100644 --- a/sdk/dotnet/Aps/GetScraper.cs +++ b/sdk/dotnet/Aps/GetScraper.cs @@ -57,15 +57,27 @@ public GetScraperInvokeArgs() [OutputType] public sealed class GetScraperResult { + /// + /// Scraper alias. + /// + public readonly string? Alias; /// /// Scraper ARN. /// public readonly string? Arn; /// + /// The Amazon Managed Service for Prometheus workspace the scraper sends metrics to. + /// + public readonly Outputs.ScraperDestination? Destination; + /// /// IAM role ARN for the scraper. /// public readonly string? RoleArn; /// + /// The configuration in use by the scraper. + /// + public readonly Outputs.ScraperScrapeConfiguration? ScrapeConfiguration; + /// /// Required to identify a specific scraper. /// public readonly string? ScraperId; @@ -76,16 +88,25 @@ public sealed class GetScraperResult [OutputConstructor] private GetScraperResult( + string? alias, + string? arn, + Outputs.ScraperDestination? destination, + string? roleArn, + Outputs.ScraperScrapeConfiguration? scrapeConfiguration, + string? scraperId, ImmutableArray tags) { + Alias = alias; Arn = arn; + Destination = destination; RoleArn = roleArn; + ScrapeConfiguration = scrapeConfiguration; ScraperId = scraperId; Tags = tags; } diff --git a/sdk/dotnet/Aps/Scraper.cs b/sdk/dotnet/Aps/Scraper.cs index eaa9eb3062..317aa1301f 100644 --- a/sdk/dotnet/Aps/Scraper.cs +++ b/sdk/dotnet/Aps/Scraper.cs @@ -88,9 +88,6 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? Version = Utilities.Version, ReplaceOnChanges = { - "alias", - "destination", - "scrapeConfiguration", "source", }, }; diff --git a/sdk/dotnet/Bedrock/ApplicationInferenceProfile.cs b/sdk/dotnet/Bedrock/ApplicationInferenceProfile.cs index 4cd8d559ec..694397a81f 100644 --- a/sdk/dotnet/Bedrock/ApplicationInferenceProfile.cs +++ b/sdk/dotnet/Bedrock/ApplicationInferenceProfile.cs @@ -27,9 +27,15 @@ public partial class ApplicationInferenceProfile : global::Pulumi.CustomResource [Output("description")] public Output Description { get; private set; } = null!; + /// + /// The Amazon Resource Name (ARN) of the inference profile. + /// [Output("inferenceProfileArn")] public Output InferenceProfileArn { get; private set; } = null!; + /// + /// The unique identifier of the inference profile. + /// [Output("inferenceProfileId")] public Output InferenceProfileId { get; private set; } = null!; @@ -39,9 +45,15 @@ public partial class ApplicationInferenceProfile : global::Pulumi.CustomResource [Output("inferenceProfileIdentifier")] public Output InferenceProfileIdentifier { get; private set; } = null!; + /// + /// The name of the inference profile. + /// [Output("inferenceProfileName")] public Output InferenceProfileName { get; private set; } = null!; + /// + /// Contains configurations for the inference profile to copy as the resource. + /// [Output("modelSource")] public Output ModelSource { get; private set; } = null!; @@ -51,6 +63,9 @@ public partial class ApplicationInferenceProfile : global::Pulumi.CustomResource [Output("models")] public Output> Models { get; private set; } = null!; + /// + /// The status of the inference profile. `ACTIVE` means that the inference profile is ready to be used. + /// [Output("status")] public Output Status { get; private set; } = null!; @@ -60,6 +75,12 @@ public partial class ApplicationInferenceProfile : global::Pulumi.CustomResource [Output("tags")] public Output> Tags { get; private set; } = null!; + /// + /// The type of the inference profile. The following types are possible: + /// + /// - `SYSTEM_DEFINED` – The inference profile is defined by Amazon Bedrock. You can route inference requests across regions with these inference profiles. + /// - `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. + /// [Output("type")] public Output Type { get; private set; } = null!; @@ -126,9 +147,15 @@ public sealed class ApplicationInferenceProfileArgs : global::Pulumi.ResourceArg [Input("description")] public Input? Description { get; set; } + /// + /// The name of the inference profile. + /// [Input("inferenceProfileName")] public Input? InferenceProfileName { get; set; } + /// + /// Contains configurations for the inference profile to copy as the resource. + /// [Input("modelSource")] public Input? ModelSource { get; set; } diff --git a/sdk/dotnet/Bedrock/GetApplicationInferenceProfile.cs b/sdk/dotnet/Bedrock/GetApplicationInferenceProfile.cs index c193fcc8a7..adad26ceca 100644 --- a/sdk/dotnet/Bedrock/GetApplicationInferenceProfile.cs +++ b/sdk/dotnet/Bedrock/GetApplicationInferenceProfile.cs @@ -61,7 +61,13 @@ public sealed class GetApplicationInferenceProfileResult /// Time Stamp /// public readonly string? CreatedAt; + /// + /// The Amazon Resource Name (ARN) of the inference profile. + /// public readonly string? InferenceProfileArn; + /// + /// The unique identifier of the inference profile. + /// public readonly string? InferenceProfileId; /// /// Inference profile identifier. Supports both system-defined inference profile ids, and inference profile ARNs. @@ -71,11 +77,20 @@ public sealed class GetApplicationInferenceProfileResult /// List of model configuration /// public readonly ImmutableArray Models; + /// + /// The status of the inference profile. `ACTIVE` means that the inference profile is ready to be used. + /// public readonly Pulumi.AwsNative.Bedrock.ApplicationInferenceProfileInferenceProfileStatus? Status; /// /// List of Tags /// public readonly ImmutableArray Tags; + /// + /// The type of the inference profile. The following types are possible: + /// + /// - `SYSTEM_DEFINED` – The inference profile is defined by Amazon Bedrock. You can route inference requests across regions with these inference profiles. + /// - `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. + /// public readonly Pulumi.AwsNative.Bedrock.ApplicationInferenceProfileInferenceProfileType? Type; /// /// Time Stamp diff --git a/sdk/dotnet/Bedrock/PromptVersion.cs b/sdk/dotnet/Bedrock/PromptVersion.cs index a3d4ea150f..729d8f14d4 100644 --- a/sdk/dotnet/Bedrock/PromptVersion.cs +++ b/sdk/dotnet/Bedrock/PromptVersion.cs @@ -63,6 +63,9 @@ public partial class PromptVersion : global::Pulumi.CustomResource [Output("promptId")] public Output PromptId { get; private set; } = null!; + /// + /// A map of tags attached to the prompt version and their values. + /// [Output("tags")] public Output?> Tags { get; private set; } = null!; @@ -149,6 +152,10 @@ public sealed class PromptVersionArgs : global::Pulumi.ResourceArgs [Input("tags")] private InputMap? _tags; + + /// + /// A map of tags attached to the prompt version and their values. + /// public InputMap Tags { get => _tags ?? (_tags = new InputMap()); diff --git a/sdk/dotnet/CodeBuild/Enums.cs b/sdk/dotnet/CodeBuild/Enums.cs index 525398031f..b5415b750a 100644 --- a/sdk/dotnet/CodeBuild/Enums.cs +++ b/sdk/dotnet/CodeBuild/Enums.cs @@ -10,25 +10,33 @@ namespace Pulumi.AwsNative.CodeBuild /// /// Information about the compute resources the compute fleet uses. Available values include: /// - /// - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. - /// - `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds. - /// - `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type. - /// - `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type. - /// - `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. + /// - `ATTRIBUTE_BASED_COMPUTE` : Specify the amount of vCPUs, memory, disk space, and the type of machine. + /// + /// > 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* . + /// - `BUILD_GENERAL1_SMALL` : Use up to 4 GiB memory and 2 vCPUs for builds. + /// - `BUILD_GENERAL1_MEDIUM` : Use up to 8 GiB memory and 4 vCPUs for builds. + /// - `BUILD_GENERAL1_LARGE` : Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type. + /// - `BUILD_GENERAL1_XLARGE` : Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type. + /// - `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. + /// - `BUILD_LAMBDA_1GB` : Use up to 1 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + /// - `BUILD_LAMBDA_2GB` : Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + /// - `BUILD_LAMBDA_4GB` : Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + /// - `BUILD_LAMBDA_8GB` : Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + /// - `BUILD_LAMBDA_10GB` : Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . /// /// If you use `BUILD_GENERAL1_SMALL` : /// - /// - For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds. - /// - 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. - /// - For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds. + /// - For environment type `LINUX_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs for builds. + /// - 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. + /// - For environment type `ARM_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs on ARM-based processors for builds. /// /// If you use `BUILD_GENERAL1_LARGE` : /// - /// - For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds. - /// - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. - /// - For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds. + /// - For environment type `LINUX_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs for builds. + /// - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. + /// - For environment type `ARM_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds. /// - /// For more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.* + /// For 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.* /// [EnumType] public readonly struct FleetComputeType : IEquatable @@ -67,6 +75,7 @@ private FleetComputeType(string value) /// - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). /// - The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai). /// - 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). + /// - 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). /// - 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). /// - 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). /// diff --git a/sdk/dotnet/CodeBuild/Fleet.cs b/sdk/dotnet/CodeBuild/Fleet.cs index bace1914f8..354cdbbeaa 100644 --- a/sdk/dotnet/CodeBuild/Fleet.cs +++ b/sdk/dotnet/CodeBuild/Fleet.cs @@ -30,25 +30,33 @@ public partial class Fleet : global::Pulumi.CustomResource /// /// Information about the compute resources the compute fleet uses. Available values include: /// - /// - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. - /// - `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds. - /// - `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type. - /// - `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type. - /// - `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. + /// - `ATTRIBUTE_BASED_COMPUTE` : Specify the amount of vCPUs, memory, disk space, and the type of machine. + /// + /// > 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* . + /// - `BUILD_GENERAL1_SMALL` : Use up to 4 GiB memory and 2 vCPUs for builds. + /// - `BUILD_GENERAL1_MEDIUM` : Use up to 8 GiB memory and 4 vCPUs for builds. + /// - `BUILD_GENERAL1_LARGE` : Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type. + /// - `BUILD_GENERAL1_XLARGE` : Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type. + /// - `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. + /// - `BUILD_LAMBDA_1GB` : Use up to 1 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + /// - `BUILD_LAMBDA_2GB` : Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + /// - `BUILD_LAMBDA_4GB` : Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + /// - `BUILD_LAMBDA_8GB` : Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + /// - `BUILD_LAMBDA_10GB` : Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . /// /// If you use `BUILD_GENERAL1_SMALL` : /// - /// - For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds. - /// - 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. - /// - For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds. + /// - For environment type `LINUX_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs for builds. + /// - 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. + /// - For environment type `ARM_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs on ARM-based processors for builds. /// /// If you use `BUILD_GENERAL1_LARGE` : /// - /// - For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds. - /// - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. - /// - For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds. + /// - For environment type `LINUX_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs for builds. + /// - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. + /// - For environment type `ARM_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds. /// - /// For more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.* + /// For 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.* /// [Output("computeType")] public Output ComputeType { get; private set; } = null!; @@ -59,6 +67,7 @@ public partial class Fleet : global::Pulumi.CustomResource /// - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). /// - The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai). /// - 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). + /// - 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). /// - 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). /// - 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). /// @@ -164,25 +173,33 @@ public sealed class FleetArgs : global::Pulumi.ResourceArgs /// /// Information about the compute resources the compute fleet uses. Available values include: /// - /// - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. - /// - `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds. - /// - `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type. - /// - `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type. - /// - `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. + /// - `ATTRIBUTE_BASED_COMPUTE` : Specify the amount of vCPUs, memory, disk space, and the type of machine. + /// + /// > 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* . + /// - `BUILD_GENERAL1_SMALL` : Use up to 4 GiB memory and 2 vCPUs for builds. + /// - `BUILD_GENERAL1_MEDIUM` : Use up to 8 GiB memory and 4 vCPUs for builds. + /// - `BUILD_GENERAL1_LARGE` : Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type. + /// - `BUILD_GENERAL1_XLARGE` : Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type. + /// - `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. + /// - `BUILD_LAMBDA_1GB` : Use up to 1 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + /// - `BUILD_LAMBDA_2GB` : Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + /// - `BUILD_LAMBDA_4GB` : Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + /// - `BUILD_LAMBDA_8GB` : Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + /// - `BUILD_LAMBDA_10GB` : Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . /// /// If you use `BUILD_GENERAL1_SMALL` : /// - /// - For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds. - /// - 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. - /// - For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds. + /// - For environment type `LINUX_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs for builds. + /// - 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. + /// - For environment type `ARM_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs on ARM-based processors for builds. /// /// If you use `BUILD_GENERAL1_LARGE` : /// - /// - For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds. - /// - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. - /// - For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds. + /// - For environment type `LINUX_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs for builds. + /// - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. + /// - For environment type `ARM_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds. /// - /// For more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.* + /// For 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.* /// [Input("computeType")] public Input? ComputeType { get; set; } @@ -193,6 +210,7 @@ public sealed class FleetArgs : global::Pulumi.ResourceArgs /// - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). /// - The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai). /// - 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). + /// - 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). /// - 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). /// - 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). /// diff --git a/sdk/dotnet/CodeBuild/GetFleet.cs b/sdk/dotnet/CodeBuild/GetFleet.cs index f9210b6e04..8a8bbfc287 100644 --- a/sdk/dotnet/CodeBuild/GetFleet.cs +++ b/sdk/dotnet/CodeBuild/GetFleet.cs @@ -68,25 +68,33 @@ public sealed class GetFleetResult /// /// Information about the compute resources the compute fleet uses. Available values include: /// - /// - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. - /// - `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds. - /// - `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type. - /// - `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type. - /// - `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. + /// - `ATTRIBUTE_BASED_COMPUTE` : Specify the amount of vCPUs, memory, disk space, and the type of machine. + /// + /// > 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* . + /// - `BUILD_GENERAL1_SMALL` : Use up to 4 GiB memory and 2 vCPUs for builds. + /// - `BUILD_GENERAL1_MEDIUM` : Use up to 8 GiB memory and 4 vCPUs for builds. + /// - `BUILD_GENERAL1_LARGE` : Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type. + /// - `BUILD_GENERAL1_XLARGE` : Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type. + /// - `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. + /// - `BUILD_LAMBDA_1GB` : Use up to 1 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + /// - `BUILD_LAMBDA_2GB` : Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + /// - `BUILD_LAMBDA_4GB` : Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + /// - `BUILD_LAMBDA_8GB` : Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + /// - `BUILD_LAMBDA_10GB` : Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . /// /// If you use `BUILD_GENERAL1_SMALL` : /// - /// - For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds. - /// - 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. - /// - For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds. + /// - For environment type `LINUX_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs for builds. + /// - 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. + /// - For environment type `ARM_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs on ARM-based processors for builds. /// /// If you use `BUILD_GENERAL1_LARGE` : /// - /// - For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds. - /// - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. - /// - For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds. + /// - For environment type `LINUX_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs for builds. + /// - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. + /// - For environment type `ARM_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds. /// - /// For more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.* + /// For 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.* /// public readonly Pulumi.AwsNative.CodeBuild.FleetComputeType? ComputeType; /// @@ -95,6 +103,7 @@ public sealed class GetFleetResult /// - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). /// - The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai). /// - 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). + /// - 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). /// - 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). /// - 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). /// diff --git a/sdk/dotnet/DataSync/Enums.cs b/sdk/dotnet/DataSync/Enums.cs index 02e5e2bab7..74ab43f40f 100644 --- a/sdk/dotnet/DataSync/Enums.cs +++ b/sdk/dotnet/DataSync/Enums.cs @@ -643,6 +643,37 @@ private TaskManifestConfigFormat(string value) public override string ToString() => _value; } + /// + /// Specifies the task mode for the task. + /// + [EnumType] + public readonly struct TaskMode : IEquatable + { + private readonly string _value; + + private TaskMode(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static TaskMode Basic { get; } = new TaskMode("BASIC"); + public static TaskMode Enhanced { get; } = new TaskMode("ENHANCED"); + + public static bool operator ==(TaskMode left, TaskMode right) => left.Equals(right); + public static bool operator !=(TaskMode left, TaskMode right) => !left.Equals(right); + + public static explicit operator string(TaskMode value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is TaskMode other && Equals(other); + public bool Equals(TaskMode other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// A file metadata value that shows the last time a file was accessed (that is, when the file was read or written to). /// diff --git a/sdk/dotnet/DataSync/Task.cs b/sdk/dotnet/DataSync/Task.cs index b64866f773..548f84be41 100644 --- a/sdk/dotnet/DataSync/Task.cs +++ b/sdk/dotnet/DataSync/Task.cs @@ -139,6 +139,12 @@ public partial class Task : global::Pulumi.CustomResource [Output("taskArn")] public Output TaskArn { get; private set; } = null!; + /// + /// Specifies the task mode for the task. + /// + [Output("taskMode")] + public Output TaskMode { get; private set; } = null!; + /// /// 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) . /// @@ -174,6 +180,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? { "destinationLocationArn", "sourceLocationArn", + "taskMode", }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); @@ -275,6 +282,12 @@ public InputList Tags set => _tags = value; } + /// + /// Specifies the task mode for the task. + /// + [Input("taskMode")] + public Input? TaskMode { get; set; } + /// /// 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) . /// diff --git a/sdk/dotnet/Ec2/Eip.cs b/sdk/dotnet/Ec2/Eip.cs index 51da4a7ee9..389501033d 100644 --- a/sdk/dotnet/Ec2/Eip.cs +++ b/sdk/dotnet/Ec2/Eip.cs @@ -18,7 +18,7 @@ namespace Pulumi.AwsNative.Ec2 public partial class Eip : global::Pulumi.CustomResource { /// - /// Describes an Elastic IP address, or a carrier IP address. + /// An Elastic IP address or a carrier IP address in a Wavelength Zone. /// [Output("address")] public Output Address { get; private set; } = null!; @@ -43,6 +43,9 @@ public partial class Eip : global::Pulumi.CustomResource [Output("instanceId")] public Output InstanceId { get; private set; } = null!; + /// + /// 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* . + /// [Output("ipamPoolId")] public Output IpamPoolId { get; private set; } = null!; @@ -133,7 +136,7 @@ public static Eip Get(string name, Input id, CustomResourceOptions? opti public sealed class EipArgs : global::Pulumi.ResourceArgs { /// - /// Describes an Elastic IP address, or a carrier IP address. + /// An Elastic IP address or a carrier IP address in a Wavelength Zone. /// [Input("address")] public Input? Address { get; set; } @@ -152,6 +155,9 @@ public sealed class EipArgs : global::Pulumi.ResourceArgs [Input("instanceId")] public Input? InstanceId { get; set; } + /// + /// 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* . + /// [Input("ipamPoolId")] public Input? IpamPoolId { get; set; } diff --git a/sdk/dotnet/Ec2/Enums.cs b/sdk/dotnet/Ec2/Enums.cs index dafbf1ce78..98fc1762a9 100644 --- a/sdk/dotnet/Ec2/Enums.cs +++ b/sdk/dotnet/Ec2/Enums.cs @@ -1385,6 +1385,38 @@ private PrefixListAddressFamily(string value) public override string ToString() => _value; } + [EnumType] + public readonly struct SecurityGroupVpcAssociationState : IEquatable + { + private readonly string _value; + + private SecurityGroupVpcAssociationState(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static SecurityGroupVpcAssociationState Associating { get; } = new SecurityGroupVpcAssociationState("associating"); + public static SecurityGroupVpcAssociationState Associated { get; } = new SecurityGroupVpcAssociationState("associated"); + public static SecurityGroupVpcAssociationState AssociationFailed { get; } = new SecurityGroupVpcAssociationState("association-failed"); + public static SecurityGroupVpcAssociationState Disassociating { get; } = new SecurityGroupVpcAssociationState("disassociating"); + public static SecurityGroupVpcAssociationState Disassociated { get; } = new SecurityGroupVpcAssociationState("disassociated"); + public static SecurityGroupVpcAssociationState DisassociationFailed { get; } = new SecurityGroupVpcAssociationState("disassociation-failed"); + + public static bool operator ==(SecurityGroupVpcAssociationState left, SecurityGroupVpcAssociationState right) => left.Equals(right); + public static bool operator !=(SecurityGroupVpcAssociationState left, SecurityGroupVpcAssociationState right) => !left.Equals(right); + + public static explicit operator string(SecurityGroupVpcAssociationState value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is SecurityGroupVpcAssociationState other && Equals(other); + public bool Equals(SecurityGroupVpcAssociationState other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// The state of EBS Snapshot Block Public Access. /// diff --git a/sdk/dotnet/Ec2/GetSecurityGroupVpcAssociation.cs b/sdk/dotnet/Ec2/GetSecurityGroupVpcAssociation.cs new file mode 100644 index 0000000000..923ab374e6 --- /dev/null +++ b/sdk/dotnet/Ec2/GetSecurityGroupVpcAssociation.cs @@ -0,0 +1,98 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Ec2 +{ + public static class GetSecurityGroupVpcAssociation + { + /// + /// Resource type definition for the AWS::EC2::SecurityGroupVpcAssociation resource + /// + public static Task InvokeAsync(GetSecurityGroupVpcAssociationArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:ec2:getSecurityGroupVpcAssociation", args ?? new GetSecurityGroupVpcAssociationArgs(), options.WithDefaults()); + + /// + /// Resource type definition for the AWS::EC2::SecurityGroupVpcAssociation resource + /// + public static Output Invoke(GetSecurityGroupVpcAssociationInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:ec2:getSecurityGroupVpcAssociation", args ?? new GetSecurityGroupVpcAssociationInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetSecurityGroupVpcAssociationArgs : global::Pulumi.InvokeArgs + { + /// + /// The group ID of the specified security group. + /// + [Input("groupId", required: true)] + public string GroupId { get; set; } = null!; + + /// + /// The ID of the VPC in the security group vpc association. + /// + [Input("vpcId", required: true)] + public string VpcId { get; set; } = null!; + + public GetSecurityGroupVpcAssociationArgs() + { + } + public static new GetSecurityGroupVpcAssociationArgs Empty => new GetSecurityGroupVpcAssociationArgs(); + } + + public sealed class GetSecurityGroupVpcAssociationInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The group ID of the specified security group. + /// + [Input("groupId", required: true)] + public Input GroupId { get; set; } = null!; + + /// + /// The ID of the VPC in the security group vpc association. + /// + [Input("vpcId", required: true)] + public Input VpcId { get; set; } = null!; + + public GetSecurityGroupVpcAssociationInvokeArgs() + { + } + public static new GetSecurityGroupVpcAssociationInvokeArgs Empty => new GetSecurityGroupVpcAssociationInvokeArgs(); + } + + + [OutputType] + public sealed class GetSecurityGroupVpcAssociationResult + { + /// + /// The state of the security group vpc association. + /// + public readonly Pulumi.AwsNative.Ec2.SecurityGroupVpcAssociationState? State; + /// + /// The reason for the state of the security group vpc association. + /// + public readonly string? StateReason; + /// + /// The owner of the VPC in the security group vpc association. + /// + public readonly string? VpcOwnerId; + + [OutputConstructor] + private GetSecurityGroupVpcAssociationResult( + Pulumi.AwsNative.Ec2.SecurityGroupVpcAssociationState? state, + + string? stateReason, + + string? vpcOwnerId) + { + State = state; + StateReason = stateReason; + VpcOwnerId = vpcOwnerId; + } + } +} diff --git a/sdk/dotnet/Ec2/Inputs/LaunchTemplateDataArgs.cs b/sdk/dotnet/Ec2/Inputs/LaunchTemplateDataArgs.cs index 723e3d65e3..47cfb0e88e 100644 --- a/sdk/dotnet/Ec2/Inputs/LaunchTemplateDataArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/LaunchTemplateDataArgs.cs @@ -81,7 +81,8 @@ public InputList ElasticGpuSpe private InputList? _elasticInferenceAccelerators; /// - /// 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. + /// Amazon Elastic Inference is no longer available. + /// 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. /// You cannot specify accelerators from different generations in the same request. /// 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. /// @@ -146,7 +147,7 @@ public InputList ElasticIn /// /// If you specify ``InstanceRequirements``, you can't specify ``InstanceType``. /// 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``. - /// 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*. + /// 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*. /// [Input("instanceRequirements")] public Input? InstanceRequirements { get; set; } @@ -263,8 +264,7 @@ public InputList SecurityGroups private InputList? _tagSpecifications; /// - /// The tags to apply to the resources that are created during instance launch. - /// To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html). + /// The tags to apply to resources that are created during instance launch. /// 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). /// public InputList TagSpecifications diff --git a/sdk/dotnet/Ec2/Inputs/LaunchTemplateEbsArgs.cs b/sdk/dotnet/Ec2/Inputs/LaunchTemplateEbsArgs.cs index 0c2790b37d..81e0ef7f9a 100644 --- a/sdk/dotnet/Ec2/Inputs/LaunchTemplateEbsArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/LaunchTemplateEbsArgs.cs @@ -42,7 +42,7 @@ public sealed class LaunchTemplateEbsArgs : global::Pulumi.ResourceArgs public Input? Iops { get; set; } /// - /// The ARN of the symmetric KMSlong (KMS) CMK used for encryption. + /// Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption. /// [Input("kmsKeyId")] public Input? KmsKeyId { get; set; } diff --git a/sdk/dotnet/Ec2/Inputs/LaunchTemplateInstanceRequirementsArgs.cs b/sdk/dotnet/Ec2/Inputs/LaunchTemplateInstanceRequirementsArgs.cs index 4e6da67dd4..c043f817e0 100644 --- a/sdk/dotnet/Ec2/Inputs/LaunchTemplateInstanceRequirementsArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/LaunchTemplateInstanceRequirementsArgs.cs @@ -20,7 +20,7 @@ namespace Pulumi.AwsNative.Ec2.Inputs /// /// If you specify ``InstanceRequirements``, you can't specify ``InstanceType``. /// 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``. - /// 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*. + /// 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*. /// public sealed class LaunchTemplateInstanceRequirementsArgs : global::Pulumi.ResourceArgs { @@ -91,7 +91,6 @@ public InputList AcceleratorNames /// The accelerator types that must be on the instance type. /// + For instance types with GPU accelerators, specify ``gpu``. /// + For instance types with FPGA accelerators, specify ``fpga``. - /// + For instance types with inference accelerators, specify ``inference``. /// /// Default: Any accelerator type /// diff --git a/sdk/dotnet/Ec2/Inputs/LaunchTemplateNetworkInterfaceArgs.cs b/sdk/dotnet/Ec2/Inputs/LaunchTemplateNetworkInterfaceArgs.cs index c7b209eca7..595cb6881f 100644 --- a/sdk/dotnet/Ec2/Inputs/LaunchTemplateNetworkInterfaceArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/LaunchTemplateNetworkInterfaceArgs.cs @@ -73,9 +73,10 @@ public InputList Groups } /// - /// 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*. + /// 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*. /// If you are not creating an EFA, specify ``interface`` or omit this parameter. - /// Valid values: ``interface`` | ``efa`` + /// If you specify ``efa-only``, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses. + /// Valid values: ``interface`` | ``efa`` | ``efa-only`` /// [Input("interfaceType")] public Input? InterfaceType { get; set; } diff --git a/sdk/dotnet/Ec2/Inputs/LaunchTemplateTagSpecificationArgs.cs b/sdk/dotnet/Ec2/Inputs/LaunchTemplateTagSpecificationArgs.cs index bf88a7d1eb..f7aca51ace 100644 --- a/sdk/dotnet/Ec2/Inputs/LaunchTemplateTagSpecificationArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/LaunchTemplateTagSpecificationArgs.cs @@ -12,6 +12,7 @@ namespace Pulumi.AwsNative.Ec2.Inputs /// /// Specifies the tags to apply to the launch template during creation. + /// 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). /// ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html). /// public sealed class LaunchTemplateTagSpecificationArgs : global::Pulumi.ResourceArgs diff --git a/sdk/dotnet/Ec2/Inputs/TagSpecificationArgs.cs b/sdk/dotnet/Ec2/Inputs/TagSpecificationArgs.cs index de30167450..d8f23f92e6 100644 --- a/sdk/dotnet/Ec2/Inputs/TagSpecificationArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/TagSpecificationArgs.cs @@ -11,7 +11,7 @@ namespace Pulumi.AwsNative.Ec2.Inputs { /// - /// Specifies the tags to apply to a resource when the resource is created for the launch template. + /// Specifies the tags to apply to resources that are created during instance launch. /// ``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). /// public sealed class TagSpecificationArgs : global::Pulumi.ResourceArgs diff --git a/sdk/dotnet/Ec2/LaunchTemplate.cs b/sdk/dotnet/Ec2/LaunchTemplate.cs index 127684e336..912b957f67 100644 --- a/sdk/dotnet/Ec2/LaunchTemplate.cs +++ b/sdk/dotnet/Ec2/LaunchTemplate.cs @@ -55,7 +55,7 @@ public partial class LaunchTemplate : global::Pulumi.CustomResource /// /// The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``. - /// 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). + /// 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). /// [Output("tagSpecifications")] public Output> TagSpecifications { get; private set; } = null!; @@ -132,7 +132,7 @@ public sealed class LaunchTemplateArgs : global::Pulumi.ResourceArgs /// /// The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``. - /// 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). + /// 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). /// public InputList TagSpecifications { diff --git a/sdk/dotnet/Ec2/Outputs/LaunchTemplateData.cs b/sdk/dotnet/Ec2/Outputs/LaunchTemplateData.cs index 04fae631d0..7a6a14e70f 100644 --- a/sdk/dotnet/Ec2/Outputs/LaunchTemplateData.cs +++ b/sdk/dotnet/Ec2/Outputs/LaunchTemplateData.cs @@ -51,7 +51,8 @@ public sealed class LaunchTemplateData /// public readonly ImmutableArray ElasticGpuSpecifications; /// - /// 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. + /// Amazon Elastic Inference is no longer available. + /// 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. /// You cannot specify accelerators from different generations in the same request. /// 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. /// @@ -99,7 +100,7 @@ public sealed class LaunchTemplateData /// /// If you specify ``InstanceRequirements``, you can't specify ``InstanceType``. /// 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``. - /// 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*. + /// 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*. /// public readonly Outputs.LaunchTemplateInstanceRequirements? InstanceRequirements; /// @@ -161,8 +162,7 @@ public sealed class LaunchTemplateData /// public readonly ImmutableArray SecurityGroups; /// - /// The tags to apply to the resources that are created during instance launch. - /// To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html). + /// The tags to apply to resources that are created during instance launch. /// 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). /// public readonly ImmutableArray TagSpecifications; diff --git a/sdk/dotnet/Ec2/Outputs/LaunchTemplateEbs.cs b/sdk/dotnet/Ec2/Outputs/LaunchTemplateEbs.cs index cbb5c074c7..b19589e051 100644 --- a/sdk/dotnet/Ec2/Outputs/LaunchTemplateEbs.cs +++ b/sdk/dotnet/Ec2/Outputs/LaunchTemplateEbs.cs @@ -37,7 +37,7 @@ public sealed class LaunchTemplateEbs /// public readonly int? Iops; /// - /// The ARN of the symmetric KMSlong (KMS) CMK used for encryption. + /// Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption. /// public readonly string? KmsKeyId; /// diff --git a/sdk/dotnet/Ec2/Outputs/LaunchTemplateInstanceRequirements.cs b/sdk/dotnet/Ec2/Outputs/LaunchTemplateInstanceRequirements.cs index 08ddd6db2f..c62849d173 100644 --- a/sdk/dotnet/Ec2/Outputs/LaunchTemplateInstanceRequirements.cs +++ b/sdk/dotnet/Ec2/Outputs/LaunchTemplateInstanceRequirements.cs @@ -20,7 +20,7 @@ namespace Pulumi.AwsNative.Ec2.Outputs /// /// If you specify ``InstanceRequirements``, you can't specify ``InstanceType``. /// 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``. - /// 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*. + /// 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*. /// [OutputType] public sealed class LaunchTemplateInstanceRequirements @@ -69,7 +69,6 @@ public sealed class LaunchTemplateInstanceRequirements /// The accelerator types that must be on the instance type. /// + For instance types with GPU accelerators, specify ``gpu``. /// + For instance types with FPGA accelerators, specify ``fpga``. - /// + For instance types with inference accelerators, specify ``inference``. /// /// Default: Any accelerator type /// diff --git a/sdk/dotnet/Ec2/Outputs/LaunchTemplateNetworkInterface.cs b/sdk/dotnet/Ec2/Outputs/LaunchTemplateNetworkInterface.cs index 114940fd31..a47f0467e5 100644 --- a/sdk/dotnet/Ec2/Outputs/LaunchTemplateNetworkInterface.cs +++ b/sdk/dotnet/Ec2/Outputs/LaunchTemplateNetworkInterface.cs @@ -52,9 +52,10 @@ public sealed class LaunchTemplateNetworkInterface /// public readonly ImmutableArray Groups; /// - /// 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*. + /// 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*. /// If you are not creating an EFA, specify ``interface`` or omit this parameter. - /// Valid values: ``interface`` | ``efa`` + /// If you specify ``efa-only``, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses. + /// Valid values: ``interface`` | ``efa`` | ``efa-only`` /// public readonly string? InterfaceType; /// diff --git a/sdk/dotnet/Ec2/Outputs/LaunchTemplateTagSpecification.cs b/sdk/dotnet/Ec2/Outputs/LaunchTemplateTagSpecification.cs index ae0d3f4adf..c1244679d8 100644 --- a/sdk/dotnet/Ec2/Outputs/LaunchTemplateTagSpecification.cs +++ b/sdk/dotnet/Ec2/Outputs/LaunchTemplateTagSpecification.cs @@ -12,6 +12,7 @@ namespace Pulumi.AwsNative.Ec2.Outputs /// /// Specifies the tags to apply to the launch template during creation. + /// 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). /// ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html). /// [OutputType] diff --git a/sdk/dotnet/Ec2/Outputs/TagSpecification.cs b/sdk/dotnet/Ec2/Outputs/TagSpecification.cs index 2539fb61d0..88f2d76c36 100644 --- a/sdk/dotnet/Ec2/Outputs/TagSpecification.cs +++ b/sdk/dotnet/Ec2/Outputs/TagSpecification.cs @@ -11,7 +11,7 @@ namespace Pulumi.AwsNative.Ec2.Outputs { /// - /// Specifies the tags to apply to a resource when the resource is created for the launch template. + /// Specifies the tags to apply to resources that are created during instance launch. /// ``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). /// [OutputType] diff --git a/sdk/dotnet/Ec2/SecurityGroupVpcAssociation.cs b/sdk/dotnet/Ec2/SecurityGroupVpcAssociation.cs new file mode 100644 index 0000000000..f7a1f523c2 --- /dev/null +++ b/sdk/dotnet/Ec2/SecurityGroupVpcAssociation.cs @@ -0,0 +1,115 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Ec2 +{ + /// + /// Resource type definition for the AWS::EC2::SecurityGroupVpcAssociation resource + /// + [AwsNativeResourceType("aws-native:ec2:SecurityGroupVpcAssociation")] + public partial class SecurityGroupVpcAssociation : global::Pulumi.CustomResource + { + /// + /// The group ID of the specified security group. + /// + [Output("groupId")] + public Output GroupId { get; private set; } = null!; + + /// + /// The state of the security group vpc association. + /// + [Output("state")] + public Output State { get; private set; } = null!; + + /// + /// The reason for the state of the security group vpc association. + /// + [Output("stateReason")] + public Output StateReason { get; private set; } = null!; + + /// + /// The ID of the VPC in the security group vpc association. + /// + [Output("vpcId")] + public Output VpcId { get; private set; } = null!; + + /// + /// The owner of the VPC in the security group vpc association. + /// + [Output("vpcOwnerId")] + public Output VpcOwnerId { get; private set; } = null!; + + + /// + /// Create a SecurityGroupVpcAssociation resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public SecurityGroupVpcAssociation(string name, SecurityGroupVpcAssociationArgs args, CustomResourceOptions? options = null) + : base("aws-native:ec2:SecurityGroupVpcAssociation", name, args ?? new SecurityGroupVpcAssociationArgs(), MakeResourceOptions(options, "")) + { + } + + private SecurityGroupVpcAssociation(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:ec2:SecurityGroupVpcAssociation", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "groupId", + "vpcId", + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing SecurityGroupVpcAssociation resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static SecurityGroupVpcAssociation Get(string name, Input id, CustomResourceOptions? options = null) + { + return new SecurityGroupVpcAssociation(name, id, options); + } + } + + public sealed class SecurityGroupVpcAssociationArgs : global::Pulumi.ResourceArgs + { + /// + /// The group ID of the specified security group. + /// + [Input("groupId", required: true)] + public Input GroupId { get; set; } = null!; + + /// + /// The ID of the VPC in the security group vpc association. + /// + [Input("vpcId", required: true)] + public Input VpcId { get; set; } = null!; + + public SecurityGroupVpcAssociationArgs() + { + } + public static new SecurityGroupVpcAssociationArgs Empty => new SecurityGroupVpcAssociationArgs(); + } +} diff --git a/sdk/dotnet/Ecs/GetService.cs b/sdk/dotnet/Ecs/GetService.cs index 39f6a9f822..eb9ca2c2b5 100644 --- a/sdk/dotnet/Ecs/GetService.cs +++ b/sdk/dotnet/Ecs/GetService.cs @@ -80,7 +80,7 @@ public sealed class GetServiceResult /// public readonly ImmutableArray CapacityProviderStrategy; /// - /// Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks. + /// Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods. /// public readonly Outputs.ServiceDeploymentConfiguration? DeploymentConfiguration; /// diff --git a/sdk/dotnet/Ecs/Inputs/CapacityProviderManagedScalingArgs.cs b/sdk/dotnet/Ecs/Inputs/CapacityProviderManagedScalingArgs.cs index 6834d215e7..6fc4aa03d0 100644 --- a/sdk/dotnet/Ecs/Inputs/CapacityProviderManagedScalingArgs.cs +++ b/sdk/dotnet/Ecs/Inputs/CapacityProviderManagedScalingArgs.cs @@ -28,7 +28,7 @@ public sealed class CapacityProviderManagedScalingArgs : global::Pulumi.Resource public Input? MaximumScalingStepSize { get; set; } /// - /// 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. + /// 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. /// /// When 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. /// diff --git a/sdk/dotnet/Ecs/Inputs/ServiceDeploymentConfigurationArgs.cs b/sdk/dotnet/Ecs/Inputs/ServiceDeploymentConfigurationArgs.cs index 968503b8e1..8f44016c39 100644 --- a/sdk/dotnet/Ecs/Inputs/ServiceDeploymentConfigurationArgs.cs +++ b/sdk/dotnet/Ecs/Inputs/ServiceDeploymentConfigurationArgs.cs @@ -11,7 +11,7 @@ namespace Pulumi.AwsNative.Ecs.Inputs { /// - /// Optional deployment parameters that control how many tasks run during a deployment and the ordering of stopping and starting tasks. + /// Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods. /// public sealed class ServiceDeploymentConfigurationArgs : global::Pulumi.ResourceArgs { diff --git a/sdk/dotnet/Ecs/Inputs/ServiceLoadBalancerArgs.cs b/sdk/dotnet/Ecs/Inputs/ServiceLoadBalancerArgs.cs index 96afada33b..1aa917a128 100644 --- a/sdk/dotnet/Ecs/Inputs/ServiceLoadBalancerArgs.cs +++ b/sdk/dotnet/Ecs/Inputs/ServiceLoadBalancerArgs.cs @@ -31,7 +31,7 @@ public sealed class ServiceLoadBalancerArgs : global::Pulumi.ResourceArgs public Input? ContainerPort { get; set; } /// - /// The name of the load balancer to associate with the Amazon ECS service or task set. + /// The name of the load balancer to associate with the service or task set. /// If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted. /// [Input("loadBalancerName")] diff --git a/sdk/dotnet/Ecs/Inputs/ServiceManagedEbsVolumeConfigurationArgs.cs b/sdk/dotnet/Ecs/Inputs/ServiceManagedEbsVolumeConfigurationArgs.cs index 582b91d4f7..5754a45d3b 100644 --- a/sdk/dotnet/Ecs/Inputs/ServiceManagedEbsVolumeConfigurationArgs.cs +++ b/sdk/dotnet/Ecs/Inputs/ServiceManagedEbsVolumeConfigurationArgs.cs @@ -11,7 +11,7 @@ namespace Pulumi.AwsNative.Ecs.Inputs { /// - /// 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. + /// 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*. /// Many of these parameters map 1:1 with the Amazon EBS ``CreateVolume`` API request parameters. /// public sealed class ServiceManagedEbsVolumeConfigurationArgs : global::Pulumi.ResourceArgs @@ -23,9 +23,10 @@ public sealed class ServiceManagedEbsVolumeConfigurationArgs : global::Pulumi.Re public Input? Encrypted { get; set; } /// - /// 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. - /// The available filesystem types are + /// 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. + /// The available Linux filesystem types are /// ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default. + /// The available Windows filesystem types are ``NTFS``. /// [Input("filesystemType")] public Input? FilesystemType { get; set; } diff --git a/sdk/dotnet/Ecs/Outputs/CapacityProviderManagedScaling.cs b/sdk/dotnet/Ecs/Outputs/CapacityProviderManagedScaling.cs index a12469786c..706f53bae6 100644 --- a/sdk/dotnet/Ecs/Outputs/CapacityProviderManagedScaling.cs +++ b/sdk/dotnet/Ecs/Outputs/CapacityProviderManagedScaling.cs @@ -25,7 +25,7 @@ public sealed class CapacityProviderManagedScaling /// public readonly int? MaximumScalingStepSize; /// - /// 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. + /// 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. /// /// When 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. /// diff --git a/sdk/dotnet/Ecs/Outputs/ServiceDeploymentConfiguration.cs b/sdk/dotnet/Ecs/Outputs/ServiceDeploymentConfiguration.cs index 05d47923c4..8a61ddb15e 100644 --- a/sdk/dotnet/Ecs/Outputs/ServiceDeploymentConfiguration.cs +++ b/sdk/dotnet/Ecs/Outputs/ServiceDeploymentConfiguration.cs @@ -11,7 +11,7 @@ namespace Pulumi.AwsNative.Ecs.Outputs { /// - /// Optional deployment parameters that control how many tasks run during a deployment and the ordering of stopping and starting tasks. + /// Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods. /// [OutputType] public sealed class ServiceDeploymentConfiguration diff --git a/sdk/dotnet/Ecs/Outputs/ServiceLoadBalancer.cs b/sdk/dotnet/Ecs/Outputs/ServiceLoadBalancer.cs index 03b89dac58..b4b631de1d 100644 --- a/sdk/dotnet/Ecs/Outputs/ServiceLoadBalancer.cs +++ b/sdk/dotnet/Ecs/Outputs/ServiceLoadBalancer.cs @@ -28,7 +28,7 @@ public sealed class ServiceLoadBalancer /// public readonly int? ContainerPort; /// - /// The name of the load balancer to associate with the Amazon ECS service or task set. + /// The name of the load balancer to associate with the service or task set. /// If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted. /// public readonly string? LoadBalancerName; diff --git a/sdk/dotnet/Ecs/Outputs/ServiceManagedEbsVolumeConfiguration.cs b/sdk/dotnet/Ecs/Outputs/ServiceManagedEbsVolumeConfiguration.cs index 64e78cddce..91a5e6d95c 100644 --- a/sdk/dotnet/Ecs/Outputs/ServiceManagedEbsVolumeConfiguration.cs +++ b/sdk/dotnet/Ecs/Outputs/ServiceManagedEbsVolumeConfiguration.cs @@ -11,7 +11,7 @@ namespace Pulumi.AwsNative.Ecs.Outputs { /// - /// 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. + /// 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*. /// Many of these parameters map 1:1 with the Amazon EBS ``CreateVolume`` API request parameters. /// [OutputType] @@ -22,9 +22,10 @@ public sealed class ServiceManagedEbsVolumeConfiguration /// public readonly bool? Encrypted; /// - /// 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. - /// The available filesystem types are + /// 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. + /// The available Linux filesystem types are /// ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default. + /// The available Windows filesystem types are ``NTFS``. /// public readonly string? FilesystemType; /// diff --git a/sdk/dotnet/Ecs/Service.cs b/sdk/dotnet/Ecs/Service.cs index f82643ef1a..687a179f85 100644 --- a/sdk/dotnet/Ecs/Service.cs +++ b/sdk/dotnet/Ecs/Service.cs @@ -32,7 +32,7 @@ public partial class Service : global::Pulumi.CustomResource public Output Cluster { get; private set; } = null!; /// - /// Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks. + /// Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods. /// [Output("deploymentConfiguration")] public Output DeploymentConfiguration { get; private set; } = null!; @@ -270,7 +270,7 @@ public InputList CapacityProvide public Input? Cluster { get; set; } /// - /// Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks. + /// Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods. /// [Input("deploymentConfiguration")] public Input? DeploymentConfiguration { get; set; } diff --git a/sdk/dotnet/ElasticLoadBalancingV2/GetLoadBalancer.cs b/sdk/dotnet/ElasticLoadBalancingV2/GetLoadBalancer.cs index 00ee55a6e1..de68b32411 100644 --- a/sdk/dotnet/ElasticLoadBalancingV2/GetLoadBalancer.cs +++ b/sdk/dotnet/ElasticLoadBalancingV2/GetLoadBalancer.cs @@ -65,6 +65,7 @@ public sealed class GetLoadBalancerResult /// The DNS name for the load balancer. For example, `my-load-balancer-424835706.us-west-2.elb.amazonaws.com` . /// public readonly string? DnsName; + public readonly string? EnablePrefixForIpv6SourceNat; /// /// Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through privatelink. /// @@ -126,6 +127,8 @@ private GetLoadBalancerResult( string? dnsName, + string? enablePrefixForIpv6SourceNat, + string? enforceSecurityGroupInboundRulesOnPrivateLinkTraffic, string? ipAddressType, @@ -148,6 +151,7 @@ private GetLoadBalancerResult( { CanonicalHostedZoneId = canonicalHostedZoneId; DnsName = dnsName; + EnablePrefixForIpv6SourceNat = enablePrefixForIpv6SourceNat; EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic = enforceSecurityGroupInboundRulesOnPrivateLinkTraffic; IpAddressType = ipAddressType; LoadBalancerArn = loadBalancerArn; diff --git a/sdk/dotnet/ElasticLoadBalancingV2/Inputs/LoadBalancerAttributeArgs.cs b/sdk/dotnet/ElasticLoadBalancingV2/Inputs/LoadBalancerAttributeArgs.cs index cf69dda5c4..eac479ead0 100644 --- a/sdk/dotnet/ElasticLoadBalancingV2/Inputs/LoadBalancerAttributeArgs.cs +++ b/sdk/dotnet/ElasticLoadBalancingV2/Inputs/LoadBalancerAttributeArgs.cs @@ -48,6 +48,7 @@ public sealed class LoadBalancerAttributeArgs : global::Pulumi.ResourceArgs /// /// The following attributes are supported by only Network Load Balancers: /// + ``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. + /// + ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false``. The default is ``false``. /// [Input("key")] public Input? Key { get; set; } diff --git a/sdk/dotnet/ElasticLoadBalancingV2/Inputs/LoadBalancerSubnetMappingArgs.cs b/sdk/dotnet/ElasticLoadBalancingV2/Inputs/LoadBalancerSubnetMappingArgs.cs index a95f63adf0..66563ca07e 100644 --- a/sdk/dotnet/ElasticLoadBalancingV2/Inputs/LoadBalancerSubnetMappingArgs.cs +++ b/sdk/dotnet/ElasticLoadBalancingV2/Inputs/LoadBalancerSubnetMappingArgs.cs @@ -33,6 +33,9 @@ public sealed class LoadBalancerSubnetMappingArgs : global::Pulumi.ResourceArgs [Input("privateIPv4Address")] public Input? PrivateIPv4Address { get; set; } + [Input("sourceNatIpv6Prefix")] + public Input? SourceNatIpv6Prefix { get; set; } + /// /// The ID of the subnet. /// diff --git a/sdk/dotnet/ElasticLoadBalancingV2/LoadBalancer.cs b/sdk/dotnet/ElasticLoadBalancingV2/LoadBalancer.cs index 5ef0343643..37118fcea5 100644 --- a/sdk/dotnet/ElasticLoadBalancingV2/LoadBalancer.cs +++ b/sdk/dotnet/ElasticLoadBalancingV2/LoadBalancer.cs @@ -27,6 +27,9 @@ public partial class LoadBalancer : global::Pulumi.CustomResource [Output("dnsName")] public Output DnsName { get; private set; } = null!; + [Output("enablePrefixForIpv6SourceNat")] + public Output EnablePrefixForIpv6SourceNat { get; private set; } = null!; + /// /// Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through privatelink. /// @@ -174,6 +177,9 @@ public static LoadBalancer Get(string name, Input id, CustomResourceOpti public sealed class LoadBalancerArgs : global::Pulumi.ResourceArgs { + [Input("enablePrefixForIpv6SourceNat")] + public Input? EnablePrefixForIpv6SourceNat { get; set; } + /// /// Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through privatelink. /// diff --git a/sdk/dotnet/ElasticLoadBalancingV2/Outputs/LoadBalancerAttribute.cs b/sdk/dotnet/ElasticLoadBalancingV2/Outputs/LoadBalancerAttribute.cs index f40df8b9e1..0a284cec52 100644 --- a/sdk/dotnet/ElasticLoadBalancingV2/Outputs/LoadBalancerAttribute.cs +++ b/sdk/dotnet/ElasticLoadBalancingV2/Outputs/LoadBalancerAttribute.cs @@ -49,6 +49,7 @@ public sealed class LoadBalancerAttribute /// /// The following attributes are supported by only Network Load Balancers: /// + ``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. + /// + ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false``. The default is ``false``. /// public readonly string? Key; /// diff --git a/sdk/dotnet/ElasticLoadBalancingV2/Outputs/LoadBalancerSubnetMapping.cs b/sdk/dotnet/ElasticLoadBalancingV2/Outputs/LoadBalancerSubnetMapping.cs index 3efd16a160..32550c37f6 100644 --- a/sdk/dotnet/ElasticLoadBalancingV2/Outputs/LoadBalancerSubnetMapping.cs +++ b/sdk/dotnet/ElasticLoadBalancingV2/Outputs/LoadBalancerSubnetMapping.cs @@ -28,6 +28,7 @@ public sealed class LoadBalancerSubnetMapping /// [Network Load Balancers] The private IPv4 address for an internal load balancer. /// public readonly string? PrivateIPv4Address; + public readonly string? SourceNatIpv6Prefix; /// /// The ID of the subnet. /// @@ -41,11 +42,14 @@ private LoadBalancerSubnetMapping( string? privateIPv4Address, + string? sourceNatIpv6Prefix, + string subnetId) { AllocationId = allocationId; IPv6Address = iPv6Address; PrivateIPv4Address = privateIPv4Address; + SourceNatIpv6Prefix = sourceNatIpv6Prefix; SubnetId = subnetId; } } diff --git a/sdk/dotnet/GameLift/Fleet.cs b/sdk/dotnet/GameLift/Fleet.cs index ad02cda220..c04512f5f8 100644 --- a/sdk/dotnet/GameLift/Fleet.cs +++ b/sdk/dotnet/GameLift/Fleet.cs @@ -46,7 +46,7 @@ public partial class Fleet : global::Pulumi.CustomResource public Output ComputeType { get; private set; } = null!; /// - /// *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* + /// *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* /// /// Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . /// @@ -291,7 +291,7 @@ public sealed class FleetArgs : global::Pulumi.ResourceArgs public Input? ComputeType { get; set; } /// - /// *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* + /// *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* /// /// Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . /// diff --git a/sdk/dotnet/GameLift/Inputs/FleetLocationConfigurationArgs.cs b/sdk/dotnet/GameLift/Inputs/FleetLocationConfigurationArgs.cs index 4ae55479cc..3d387eee9a 100644 --- a/sdk/dotnet/GameLift/Inputs/FleetLocationConfigurationArgs.cs +++ b/sdk/dotnet/GameLift/Inputs/FleetLocationConfigurationArgs.cs @@ -22,7 +22,7 @@ public sealed class FleetLocationConfigurationArgs : global::Pulumi.ResourceArgs public Input Location { get; set; } = null!; /// - /// 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. + /// 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. /// /// *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) /// diff --git a/sdk/dotnet/GameLift/Outputs/FleetLocationConfiguration.cs b/sdk/dotnet/GameLift/Outputs/FleetLocationConfiguration.cs index f77a8b9824..ad3a090fe9 100644 --- a/sdk/dotnet/GameLift/Outputs/FleetLocationConfiguration.cs +++ b/sdk/dotnet/GameLift/Outputs/FleetLocationConfiguration.cs @@ -21,7 +21,7 @@ public sealed class FleetLocationConfiguration /// public readonly string Location; /// - /// 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. + /// 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. /// /// *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) /// diff --git a/sdk/dotnet/InspectorV2/Inputs/CisScanConfigurationCisTargetsArgs.cs b/sdk/dotnet/InspectorV2/Inputs/CisScanConfigurationCisTargetsArgs.cs index 834a27771b..626ce241a5 100644 --- a/sdk/dotnet/InspectorV2/Inputs/CisScanConfigurationCisTargetsArgs.cs +++ b/sdk/dotnet/InspectorV2/Inputs/CisScanConfigurationCisTargetsArgs.cs @@ -20,7 +20,7 @@ public InputList AccountIds set => _accountIds = value; } - [Input("targetResourceTags")] + [Input("targetResourceTags", required: true)] private InputMap? _targetResourceTags; public InputMap TargetResourceTags { diff --git a/sdk/dotnet/InspectorV2/Outputs/CisScanConfigurationCisTargets.cs b/sdk/dotnet/InspectorV2/Outputs/CisScanConfigurationCisTargets.cs index bf42e87a39..65c06a1f91 100644 --- a/sdk/dotnet/InspectorV2/Outputs/CisScanConfigurationCisTargets.cs +++ b/sdk/dotnet/InspectorV2/Outputs/CisScanConfigurationCisTargets.cs @@ -14,13 +14,13 @@ namespace Pulumi.AwsNative.InspectorV2.Outputs public sealed class CisScanConfigurationCisTargets { public readonly ImmutableArray AccountIds; - public readonly ImmutableDictionary? TargetResourceTags; + public readonly ImmutableDictionary TargetResourceTags; [OutputConstructor] private CisScanConfigurationCisTargets( ImmutableArray accountIds, - ImmutableDictionary? targetResourceTags) + ImmutableDictionary targetResourceTags) { AccountIds = accountIds; TargetResourceTags = targetResourceTags; diff --git a/sdk/dotnet/Logs/Delivery.cs b/sdk/dotnet/Logs/Delivery.cs index 1dfee10fa9..6d89633661 100644 --- a/sdk/dotnet/Logs/Delivery.cs +++ b/sdk/dotnet/Logs/Delivery.cs @@ -49,6 +49,30 @@ public partial class Delivery : global::Pulumi.CustomResource [Output("deliverySourceName")] public Output DeliverySourceName { get; private set; } = null!; + /// + /// The field delimiter to use between record fields when the final output format of a delivery is in Plain , W3C , or Raw format. + /// + [Output("fieldDelimiter")] + public Output FieldDelimiter { get; private set; } = null!; + + /// + /// 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. + /// + [Output("recordFields")] + public Output> RecordFields { get; private set; } = null!; + + /// + /// This parameter causes the S3 objects that contain delivered logs to use a prefix structure that allows for integration with Apache Hive. + /// + [Output("s3EnableHiveCompatiblePath")] + public Output S3EnableHiveCompatiblePath { get; private set; } = null!; + + /// + /// 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. + /// + [Output("s3SuffixPath")] + public Output S3SuffixPath { get; private set; } = null!; + /// /// The tags that have been assigned to this delivery. /// @@ -117,6 +141,36 @@ public sealed class DeliveryArgs : global::Pulumi.ResourceArgs [Input("deliverySourceName", required: true)] public Input DeliverySourceName { get; set; } = null!; + /// + /// The field delimiter to use between record fields when the final output format of a delivery is in Plain , W3C , or Raw format. + /// + [Input("fieldDelimiter")] + public Input? FieldDelimiter { get; set; } + + [Input("recordFields")] + private InputList? _recordFields; + + /// + /// 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. + /// + public InputList RecordFields + { + get => _recordFields ?? (_recordFields = new InputList()); + set => _recordFields = value; + } + + /// + /// This parameter causes the S3 objects that contain delivered logs to use a prefix structure that allows for integration with Apache Hive. + /// + [Input("s3EnableHiveCompatiblePath")] + public Input? S3EnableHiveCompatiblePath { get; set; } + + /// + /// 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. + /// + [Input("s3SuffixPath")] + public Input? S3SuffixPath { get; set; } + [Input("tags")] private InputList? _tags; diff --git a/sdk/dotnet/Logs/DeliveryDestination.cs b/sdk/dotnet/Logs/DeliveryDestination.cs index f9923e3325..16b2d38c8c 100644 --- a/sdk/dotnet/Logs/DeliveryDestination.cs +++ b/sdk/dotnet/Logs/DeliveryDestination.cs @@ -51,6 +51,12 @@ public partial class DeliveryDestination : global::Pulumi.CustomResource [Output("name")] public Output Name { get; private set; } = null!; + /// + /// The format of the logs that are sent to this delivery destination. + /// + [Output("outputFormat")] + public Output OutputFormat { get; private set; } = null!; + /// /// The tags that have been assigned to this delivery destination. /// @@ -84,6 +90,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? { "destinationResourceArn", "name", + "outputFormat", }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); @@ -135,6 +142,12 @@ public InputList DeliveryDestin [Input("name")] public Input? Name { get; set; } + /// + /// The format of the logs that are sent to this delivery destination. + /// + [Input("outputFormat")] + public Input? OutputFormat { get; set; } + [Input("tags")] private InputList? _tags; diff --git a/sdk/dotnet/Logs/GetDelivery.cs b/sdk/dotnet/Logs/GetDelivery.cs index dc31231df2..21f52e99a2 100644 --- a/sdk/dotnet/Logs/GetDelivery.cs +++ b/sdk/dotnet/Logs/GetDelivery.cs @@ -78,6 +78,22 @@ public sealed class GetDeliveryResult /// public readonly string? DeliveryId; /// + /// The field delimiter to use between record fields when the final output format of a delivery is in Plain , W3C , or Raw format. + /// + public readonly string? FieldDelimiter; + /// + /// 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. + /// + public readonly ImmutableArray RecordFields; + /// + /// This parameter causes the S3 objects that contain delivered logs to use a prefix structure that allows for integration with Apache Hive. + /// + public readonly bool? S3EnableHiveCompatiblePath; + /// + /// 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. + /// + public readonly string? S3SuffixPath; + /// /// The tags that have been assigned to this delivery. /// public readonly ImmutableArray Tags; @@ -90,11 +106,23 @@ private GetDeliveryResult( string? deliveryId, + string? fieldDelimiter, + + ImmutableArray recordFields, + + bool? s3EnableHiveCompatiblePath, + + string? s3SuffixPath, + ImmutableArray tags) { Arn = arn; DeliveryDestinationType = deliveryDestinationType; DeliveryId = deliveryId; + FieldDelimiter = fieldDelimiter; + RecordFields = recordFields; + S3EnableHiveCompatiblePath = s3EnableHiveCompatiblePath; + S3SuffixPath = s3SuffixPath; Tags = tags; } } diff --git a/sdk/dotnet/NimbleStudio/Enums.cs b/sdk/dotnet/NimbleStudio/Enums.cs deleted file mode 100644 index e988da9c45..0000000000 --- a/sdk/dotnet/NimbleStudio/Enums.cs +++ /dev/null @@ -1,365 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.ComponentModel; -using Pulumi; - -namespace Pulumi.AwsNative.NimbleStudio -{ - [EnumType] - public readonly struct LaunchProfileAutomaticTerminationMode : IEquatable - { - private readonly string _value; - - private LaunchProfileAutomaticTerminationMode(string value) - { - _value = value ?? throw new ArgumentNullException(nameof(value)); - } - - public static LaunchProfileAutomaticTerminationMode Deactivated { get; } = new LaunchProfileAutomaticTerminationMode("DEACTIVATED"); - public static LaunchProfileAutomaticTerminationMode Activated { get; } = new LaunchProfileAutomaticTerminationMode("ACTIVATED"); - - public static bool operator ==(LaunchProfileAutomaticTerminationMode left, LaunchProfileAutomaticTerminationMode right) => left.Equals(right); - public static bool operator !=(LaunchProfileAutomaticTerminationMode left, LaunchProfileAutomaticTerminationMode right) => !left.Equals(right); - - public static explicit operator string(LaunchProfileAutomaticTerminationMode value) => value._value; - - [EditorBrowsable(EditorBrowsableState.Never)] - public override bool Equals(object? obj) => obj is LaunchProfileAutomaticTerminationMode other && Equals(other); - public bool Equals(LaunchProfileAutomaticTerminationMode other) => string.Equals(_value, other._value, StringComparison.Ordinal); - - [EditorBrowsable(EditorBrowsableState.Never)] - public override int GetHashCode() => _value?.GetHashCode() ?? 0; - - public override string ToString() => _value; - } - - [EnumType] - public readonly struct LaunchProfileSessionBackupMode : IEquatable - { - private readonly string _value; - - private LaunchProfileSessionBackupMode(string value) - { - _value = value ?? throw new ArgumentNullException(nameof(value)); - } - - public static LaunchProfileSessionBackupMode Automatic { get; } = new LaunchProfileSessionBackupMode("AUTOMATIC"); - public static LaunchProfileSessionBackupMode Deactivated { get; } = new LaunchProfileSessionBackupMode("DEACTIVATED"); - - public static bool operator ==(LaunchProfileSessionBackupMode left, LaunchProfileSessionBackupMode right) => left.Equals(right); - public static bool operator !=(LaunchProfileSessionBackupMode left, LaunchProfileSessionBackupMode right) => !left.Equals(right); - - public static explicit operator string(LaunchProfileSessionBackupMode value) => value._value; - - [EditorBrowsable(EditorBrowsableState.Never)] - public override bool Equals(object? obj) => obj is LaunchProfileSessionBackupMode other && Equals(other); - public bool Equals(LaunchProfileSessionBackupMode other) => string.Equals(_value, other._value, StringComparison.Ordinal); - - [EditorBrowsable(EditorBrowsableState.Never)] - public override int GetHashCode() => _value?.GetHashCode() ?? 0; - - public override string ToString() => _value; - } - - [EnumType] - public readonly struct LaunchProfileSessionPersistenceMode : IEquatable - { - private readonly string _value; - - private LaunchProfileSessionPersistenceMode(string value) - { - _value = value ?? throw new ArgumentNullException(nameof(value)); - } - - public static LaunchProfileSessionPersistenceMode Deactivated { get; } = new LaunchProfileSessionPersistenceMode("DEACTIVATED"); - public static LaunchProfileSessionPersistenceMode Activated { get; } = new LaunchProfileSessionPersistenceMode("ACTIVATED"); - - public static bool operator ==(LaunchProfileSessionPersistenceMode left, LaunchProfileSessionPersistenceMode right) => left.Equals(right); - public static bool operator !=(LaunchProfileSessionPersistenceMode left, LaunchProfileSessionPersistenceMode right) => !left.Equals(right); - - public static explicit operator string(LaunchProfileSessionPersistenceMode value) => value._value; - - [EditorBrowsable(EditorBrowsableState.Never)] - public override bool Equals(object? obj) => obj is LaunchProfileSessionPersistenceMode other && Equals(other); - public bool Equals(LaunchProfileSessionPersistenceMode other) => string.Equals(_value, other._value, StringComparison.Ordinal); - - [EditorBrowsable(EditorBrowsableState.Never)] - public override int GetHashCode() => _value?.GetHashCode() ?? 0; - - public override string ToString() => _value; - } - - [EnumType] - public readonly struct LaunchProfileStreamingClipboardMode : IEquatable - { - private readonly string _value; - - private LaunchProfileStreamingClipboardMode(string value) - { - _value = value ?? throw new ArgumentNullException(nameof(value)); - } - - public static LaunchProfileStreamingClipboardMode Enabled { get; } = new LaunchProfileStreamingClipboardMode("ENABLED"); - public static LaunchProfileStreamingClipboardMode Disabled { get; } = new LaunchProfileStreamingClipboardMode("DISABLED"); - - public static bool operator ==(LaunchProfileStreamingClipboardMode left, LaunchProfileStreamingClipboardMode right) => left.Equals(right); - public static bool operator !=(LaunchProfileStreamingClipboardMode left, LaunchProfileStreamingClipboardMode right) => !left.Equals(right); - - public static explicit operator string(LaunchProfileStreamingClipboardMode value) => value._value; - - [EditorBrowsable(EditorBrowsableState.Never)] - public override bool Equals(object? obj) => obj is LaunchProfileStreamingClipboardMode other && Equals(other); - public bool Equals(LaunchProfileStreamingClipboardMode other) => string.Equals(_value, other._value, StringComparison.Ordinal); - - [EditorBrowsable(EditorBrowsableState.Never)] - public override int GetHashCode() => _value?.GetHashCode() ?? 0; - - public override string ToString() => _value; - } - - [EnumType] - public readonly struct LaunchProfileStreamingInstanceType : IEquatable - { - private readonly string _value; - - private LaunchProfileStreamingInstanceType(string value) - { - _value = value ?? throw new ArgumentNullException(nameof(value)); - } - - public static LaunchProfileStreamingInstanceType G4dnXlarge { get; } = new LaunchProfileStreamingInstanceType("g4dn.xlarge"); - public static LaunchProfileStreamingInstanceType G4dn2xlarge { get; } = new LaunchProfileStreamingInstanceType("g4dn.2xlarge"); - public static LaunchProfileStreamingInstanceType G4dn4xlarge { get; } = new LaunchProfileStreamingInstanceType("g4dn.4xlarge"); - public static LaunchProfileStreamingInstanceType G4dn8xlarge { get; } = new LaunchProfileStreamingInstanceType("g4dn.8xlarge"); - public static LaunchProfileStreamingInstanceType G4dn12xlarge { get; } = new LaunchProfileStreamingInstanceType("g4dn.12xlarge"); - public static LaunchProfileStreamingInstanceType G4dn16xlarge { get; } = new LaunchProfileStreamingInstanceType("g4dn.16xlarge"); - public static LaunchProfileStreamingInstanceType G34xlarge { get; } = new LaunchProfileStreamingInstanceType("g3.4xlarge"); - public static LaunchProfileStreamingInstanceType G3sXlarge { get; } = new LaunchProfileStreamingInstanceType("g3s.xlarge"); - public static LaunchProfileStreamingInstanceType G5Xlarge { get; } = new LaunchProfileStreamingInstanceType("g5.xlarge"); - public static LaunchProfileStreamingInstanceType G52xlarge { get; } = new LaunchProfileStreamingInstanceType("g5.2xlarge"); - public static LaunchProfileStreamingInstanceType G54xlarge { get; } = new LaunchProfileStreamingInstanceType("g5.4xlarge"); - public static LaunchProfileStreamingInstanceType G58xlarge { get; } = new LaunchProfileStreamingInstanceType("g5.8xlarge"); - public static LaunchProfileStreamingInstanceType G516xlarge { get; } = new LaunchProfileStreamingInstanceType("g5.16xlarge"); - - public static bool operator ==(LaunchProfileStreamingInstanceType left, LaunchProfileStreamingInstanceType right) => left.Equals(right); - public static bool operator !=(LaunchProfileStreamingInstanceType left, LaunchProfileStreamingInstanceType right) => !left.Equals(right); - - public static explicit operator string(LaunchProfileStreamingInstanceType value) => value._value; - - [EditorBrowsable(EditorBrowsableState.Never)] - public override bool Equals(object? obj) => obj is LaunchProfileStreamingInstanceType other && Equals(other); - public bool Equals(LaunchProfileStreamingInstanceType other) => string.Equals(_value, other._value, StringComparison.Ordinal); - - [EditorBrowsable(EditorBrowsableState.Never)] - public override int GetHashCode() => _value?.GetHashCode() ?? 0; - - public override string ToString() => _value; - } - - [EnumType] - public readonly struct LaunchProfileStreamingSessionStorageMode : IEquatable - { - private readonly string _value; - - private LaunchProfileStreamingSessionStorageMode(string value) - { - _value = value ?? throw new ArgumentNullException(nameof(value)); - } - - public static LaunchProfileStreamingSessionStorageMode Upload { get; } = new LaunchProfileStreamingSessionStorageMode("UPLOAD"); - - public static bool operator ==(LaunchProfileStreamingSessionStorageMode left, LaunchProfileStreamingSessionStorageMode right) => left.Equals(right); - public static bool operator !=(LaunchProfileStreamingSessionStorageMode left, LaunchProfileStreamingSessionStorageMode right) => !left.Equals(right); - - public static explicit operator string(LaunchProfileStreamingSessionStorageMode value) => value._value; - - [EditorBrowsable(EditorBrowsableState.Never)] - public override bool Equals(object? obj) => obj is LaunchProfileStreamingSessionStorageMode other && Equals(other); - public bool Equals(LaunchProfileStreamingSessionStorageMode other) => string.Equals(_value, other._value, StringComparison.Ordinal); - - [EditorBrowsable(EditorBrowsableState.Never)] - public override int GetHashCode() => _value?.GetHashCode() ?? 0; - - public override string ToString() => _value; - } - - /// - /// <p/> - /// - [EnumType] - public readonly struct StreamingImageEncryptionConfigurationKeyType : IEquatable - { - private readonly string _value; - - private StreamingImageEncryptionConfigurationKeyType(string value) - { - _value = value ?? throw new ArgumentNullException(nameof(value)); - } - - public static StreamingImageEncryptionConfigurationKeyType CustomerManagedKey { get; } = new StreamingImageEncryptionConfigurationKeyType("CUSTOMER_MANAGED_KEY"); - - public static bool operator ==(StreamingImageEncryptionConfigurationKeyType left, StreamingImageEncryptionConfigurationKeyType right) => left.Equals(right); - public static bool operator !=(StreamingImageEncryptionConfigurationKeyType left, StreamingImageEncryptionConfigurationKeyType right) => !left.Equals(right); - - public static explicit operator string(StreamingImageEncryptionConfigurationKeyType value) => value._value; - - [EditorBrowsable(EditorBrowsableState.Never)] - public override bool Equals(object? obj) => obj is StreamingImageEncryptionConfigurationKeyType other && Equals(other); - public bool Equals(StreamingImageEncryptionConfigurationKeyType other) => string.Equals(_value, other._value, StringComparison.Ordinal); - - [EditorBrowsable(EditorBrowsableState.Never)] - public override int GetHashCode() => _value?.GetHashCode() ?? 0; - - public override string ToString() => _value; - } - - [EnumType] - public readonly struct StudioComponentInitializationScriptRunContext : IEquatable - { - private readonly string _value; - - private StudioComponentInitializationScriptRunContext(string value) - { - _value = value ?? throw new ArgumentNullException(nameof(value)); - } - - public static StudioComponentInitializationScriptRunContext SystemInitialization { get; } = new StudioComponentInitializationScriptRunContext("SYSTEM_INITIALIZATION"); - public static StudioComponentInitializationScriptRunContext UserInitialization { get; } = new StudioComponentInitializationScriptRunContext("USER_INITIALIZATION"); - - public static bool operator ==(StudioComponentInitializationScriptRunContext left, StudioComponentInitializationScriptRunContext right) => left.Equals(right); - public static bool operator !=(StudioComponentInitializationScriptRunContext left, StudioComponentInitializationScriptRunContext right) => !left.Equals(right); - - public static explicit operator string(StudioComponentInitializationScriptRunContext value) => value._value; - - [EditorBrowsable(EditorBrowsableState.Never)] - public override bool Equals(object? obj) => obj is StudioComponentInitializationScriptRunContext other && Equals(other); - public bool Equals(StudioComponentInitializationScriptRunContext other) => string.Equals(_value, other._value, StringComparison.Ordinal); - - [EditorBrowsable(EditorBrowsableState.Never)] - public override int GetHashCode() => _value?.GetHashCode() ?? 0; - - public override string ToString() => _value; - } - - [EnumType] - public readonly struct StudioComponentLaunchProfilePlatform : IEquatable - { - private readonly string _value; - - private StudioComponentLaunchProfilePlatform(string value) - { - _value = value ?? throw new ArgumentNullException(nameof(value)); - } - - public static StudioComponentLaunchProfilePlatform Linux { get; } = new StudioComponentLaunchProfilePlatform("LINUX"); - public static StudioComponentLaunchProfilePlatform Windows { get; } = new StudioComponentLaunchProfilePlatform("WINDOWS"); - - public static bool operator ==(StudioComponentLaunchProfilePlatform left, StudioComponentLaunchProfilePlatform right) => left.Equals(right); - public static bool operator !=(StudioComponentLaunchProfilePlatform left, StudioComponentLaunchProfilePlatform right) => !left.Equals(right); - - public static explicit operator string(StudioComponentLaunchProfilePlatform value) => value._value; - - [EditorBrowsable(EditorBrowsableState.Never)] - public override bool Equals(object? obj) => obj is StudioComponentLaunchProfilePlatform other && Equals(other); - public bool Equals(StudioComponentLaunchProfilePlatform other) => string.Equals(_value, other._value, StringComparison.Ordinal); - - [EditorBrowsable(EditorBrowsableState.Never)] - public override int GetHashCode() => _value?.GetHashCode() ?? 0; - - public override string ToString() => _value; - } - - [EnumType] - public readonly struct StudioComponentSubtype : IEquatable - { - private readonly string _value; - - private StudioComponentSubtype(string value) - { - _value = value ?? throw new ArgumentNullException(nameof(value)); - } - - public static StudioComponentSubtype AwsManagedMicrosoftAd { get; } = new StudioComponentSubtype("AWS_MANAGED_MICROSOFT_AD"); - public static StudioComponentSubtype AmazonFsxForWindows { get; } = new StudioComponentSubtype("AMAZON_FSX_FOR_WINDOWS"); - public static StudioComponentSubtype AmazonFsxForLustre { get; } = new StudioComponentSubtype("AMAZON_FSX_FOR_LUSTRE"); - public static StudioComponentSubtype Custom { get; } = new StudioComponentSubtype("CUSTOM"); - - public static bool operator ==(StudioComponentSubtype left, StudioComponentSubtype right) => left.Equals(right); - public static bool operator !=(StudioComponentSubtype left, StudioComponentSubtype right) => !left.Equals(right); - - public static explicit operator string(StudioComponentSubtype value) => value._value; - - [EditorBrowsable(EditorBrowsableState.Never)] - public override bool Equals(object? obj) => obj is StudioComponentSubtype other && Equals(other); - public bool Equals(StudioComponentSubtype other) => string.Equals(_value, other._value, StringComparison.Ordinal); - - [EditorBrowsable(EditorBrowsableState.Never)] - public override int GetHashCode() => _value?.GetHashCode() ?? 0; - - public override string ToString() => _value; - } - - [EnumType] - public readonly struct StudioComponentType : IEquatable - { - private readonly string _value; - - private StudioComponentType(string value) - { - _value = value ?? throw new ArgumentNullException(nameof(value)); - } - - public static StudioComponentType ActiveDirectory { get; } = new StudioComponentType("ACTIVE_DIRECTORY"); - public static StudioComponentType SharedFileSystem { get; } = new StudioComponentType("SHARED_FILE_SYSTEM"); - public static StudioComponentType ComputeFarm { get; } = new StudioComponentType("COMPUTE_FARM"); - public static StudioComponentType LicenseService { get; } = new StudioComponentType("LICENSE_SERVICE"); - public static StudioComponentType Custom { get; } = new StudioComponentType("CUSTOM"); - - public static bool operator ==(StudioComponentType left, StudioComponentType right) => left.Equals(right); - public static bool operator !=(StudioComponentType left, StudioComponentType right) => !left.Equals(right); - - public static explicit operator string(StudioComponentType value) => value._value; - - [EditorBrowsable(EditorBrowsableState.Never)] - public override bool Equals(object? obj) => obj is StudioComponentType other && Equals(other); - public bool Equals(StudioComponentType other) => string.Equals(_value, other._value, StringComparison.Ordinal); - - [EditorBrowsable(EditorBrowsableState.Never)] - public override int GetHashCode() => _value?.GetHashCode() ?? 0; - - public override string ToString() => _value; - } - - /// - /// <p>The type of KMS key that is used to encrypt studio data.</p> - /// - [EnumType] - public readonly struct StudioEncryptionConfigurationKeyType : IEquatable - { - private readonly string _value; - - private StudioEncryptionConfigurationKeyType(string value) - { - _value = value ?? throw new ArgumentNullException(nameof(value)); - } - - public static StudioEncryptionConfigurationKeyType AwsOwnedKey { get; } = new StudioEncryptionConfigurationKeyType("AWS_OWNED_KEY"); - public static StudioEncryptionConfigurationKeyType CustomerManagedKey { get; } = new StudioEncryptionConfigurationKeyType("CUSTOMER_MANAGED_KEY"); - - public static bool operator ==(StudioEncryptionConfigurationKeyType left, StudioEncryptionConfigurationKeyType right) => left.Equals(right); - public static bool operator !=(StudioEncryptionConfigurationKeyType left, StudioEncryptionConfigurationKeyType right) => !left.Equals(right); - - public static explicit operator string(StudioEncryptionConfigurationKeyType value) => value._value; - - [EditorBrowsable(EditorBrowsableState.Never)] - public override bool Equals(object? obj) => obj is StudioEncryptionConfigurationKeyType other && Equals(other); - public bool Equals(StudioEncryptionConfigurationKeyType other) => string.Equals(_value, other._value, StringComparison.Ordinal); - - [EditorBrowsable(EditorBrowsableState.Never)] - public override int GetHashCode() => _value?.GetHashCode() ?? 0; - - public override string ToString() => _value; - } -} diff --git a/sdk/dotnet/NimbleStudio/GetLaunchProfile.cs b/sdk/dotnet/NimbleStudio/GetLaunchProfile.cs index 8002547c7d..a66fa76fcb 100644 --- a/sdk/dotnet/NimbleStudio/GetLaunchProfile.cs +++ b/sdk/dotnet/NimbleStudio/GetLaunchProfile.cs @@ -12,13 +12,13 @@ namespace Pulumi.AwsNative.NimbleStudio public static class GetLaunchProfile { /// - /// Represents a launch profile which delegates access to a collection of studio components to studio users + /// Resource Type definition for AWS::NimbleStudio::LaunchProfile /// public static Task InvokeAsync(GetLaunchProfileArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:nimblestudio:getLaunchProfile", args ?? new GetLaunchProfileArgs(), options.WithDefaults()); /// - /// Represents a launch profile which delegates access to a collection of studio components to studio users + /// Resource Type definition for AWS::NimbleStudio::LaunchProfile /// public static Output Invoke(GetLaunchProfileInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("aws-native:nimblestudio:getLaunchProfile", args ?? new GetLaunchProfileInvokeArgs(), options.WithDefaults()); @@ -33,12 +33,6 @@ public sealed class GetLaunchProfileArgs : global::Pulumi.InvokeArgs [Input("launchProfileId", required: true)] public string LaunchProfileId { get; set; } = null!; - /// - /// <p>The studio ID. </p> - /// - [Input("studioId", required: true)] - public string StudioId { get; set; } = null!; - public GetLaunchProfileArgs() { } @@ -53,12 +47,6 @@ public sealed class GetLaunchProfileInvokeArgs : global::Pulumi.InvokeArgs [Input("launchProfileId", required: true)] public Input LaunchProfileId { get; set; } = null!; - /// - /// <p>The studio ID. </p> - /// - [Input("studioId", required: true)] - public Input StudioId { get; set; } = null!; - public GetLaunchProfileInvokeArgs() { } @@ -70,7 +58,7 @@ public GetLaunchProfileInvokeArgs() public sealed class GetLaunchProfileResult { /// - /// <p>The description.</p> + /// A human-readable description of the launch profile. /// public readonly string? Description; /// @@ -78,12 +66,11 @@ public sealed class GetLaunchProfileResult /// public readonly string? LaunchProfileId; /// - /// <p>The version number of the protocol that is used by the launch profile. The only valid - /// version is "2021-03-31".</p> + /// The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31". /// public readonly ImmutableArray LaunchProfileProtocolVersions; /// - /// <p>The name for the launch profile.</p> + /// A friendly name for the launch profile. /// public readonly string? Name; /// @@ -91,8 +78,7 @@ public sealed class GetLaunchProfileResult /// public readonly Outputs.LaunchProfileStreamConfiguration? StreamConfiguration; /// - /// <p>Unique identifiers for a collection of studio components that can be used with this - /// launch profile.</p> + /// Unique identifiers for a collection of studio components that can be used with this launch profile. /// public readonly ImmutableArray StudioComponentIds; diff --git a/sdk/dotnet/NimbleStudio/GetStreamingImage.cs b/sdk/dotnet/NimbleStudio/GetStreamingImage.cs index 67c3419aac..924227b12e 100644 --- a/sdk/dotnet/NimbleStudio/GetStreamingImage.cs +++ b/sdk/dotnet/NimbleStudio/GetStreamingImage.cs @@ -12,13 +12,13 @@ namespace Pulumi.AwsNative.NimbleStudio public static class GetStreamingImage { /// - /// Represents a streaming session machine image that can be used to launch a streaming session + /// Resource Type definition for AWS::NimbleStudio::StreamingImage /// public static Task InvokeAsync(GetStreamingImageArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:nimblestudio:getStreamingImage", args ?? new GetStreamingImageArgs(), options.WithDefaults()); /// - /// Represents a streaming session machine image that can be used to launch a streaming session + /// Resource Type definition for AWS::NimbleStudio::StreamingImage /// public static Output Invoke(GetStreamingImageInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("aws-native:nimblestudio:getStreamingImage", args ?? new GetStreamingImageInvokeArgs(), options.WithDefaults()); @@ -33,12 +33,6 @@ public sealed class GetStreamingImageArgs : global::Pulumi.InvokeArgs [Input("streamingImageId", required: true)] public string StreamingImageId { get; set; } = null!; - /// - /// <p>The studioId. </p> - /// - [Input("studioId", required: true)] - public string StudioId { get; set; } = null!; - public GetStreamingImageArgs() { } @@ -53,12 +47,6 @@ public sealed class GetStreamingImageInvokeArgs : global::Pulumi.InvokeArgs [Input("streamingImageId", required: true)] public Input StreamingImageId { get; set; } = null!; - /// - /// <p>The studioId. </p> - /// - [Input("studioId", required: true)] - public Input StudioId { get; set; } = null!; - public GetStreamingImageInvokeArgs() { } @@ -70,24 +58,26 @@ public GetStreamingImageInvokeArgs() public sealed class GetStreamingImageResult { /// - /// <p>A human-readable description of the streaming image.</p> + /// A human-readable description of the streaming image. /// public readonly string? Description; public readonly Outputs.StreamingImageEncryptionConfiguration? EncryptionConfiguration; + public readonly string? EncryptionConfigurationKeyArn; + public readonly string? EncryptionConfigurationKeyType; /// - /// <p>The list of EULAs that must be accepted before a Streaming Session can be started using this streaming image.</p> + /// The list of IDs of EULAs that must be accepted before a streaming session can be started using this streaming image. /// public readonly ImmutableArray EulaIds; /// - /// <p>A friendly name for a streaming image resource.</p> + /// A friendly name for a streaming image resource. /// public readonly string? Name; /// - /// <p>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.</p> + /// The owner of the streaming image, either the studioId that contains the streaming image or 'amazon' for images that are provided by . /// public readonly string? Owner; /// - /// <p>The platform of the streaming image, either WINDOWS or LINUX.</p> + /// The platform of the streaming image, either WINDOWS or LINUX. /// public readonly string? Platform; /// @@ -101,6 +91,10 @@ private GetStreamingImageResult( Outputs.StreamingImageEncryptionConfiguration? encryptionConfiguration, + string? encryptionConfigurationKeyArn, + + string? encryptionConfigurationKeyType, + ImmutableArray eulaIds, string? name, @@ -113,6 +107,8 @@ private GetStreamingImageResult( { Description = description; EncryptionConfiguration = encryptionConfiguration; + EncryptionConfigurationKeyArn = encryptionConfigurationKeyArn; + EncryptionConfigurationKeyType = encryptionConfigurationKeyType; EulaIds = eulaIds; Name = name; Owner = owner; diff --git a/sdk/dotnet/NimbleStudio/GetStudio.cs b/sdk/dotnet/NimbleStudio/GetStudio.cs index b1d77ddb3f..cbac30b766 100644 --- a/sdk/dotnet/NimbleStudio/GetStudio.cs +++ b/sdk/dotnet/NimbleStudio/GetStudio.cs @@ -12,13 +12,13 @@ namespace Pulumi.AwsNative.NimbleStudio public static class GetStudio { /// - /// Represents a studio that contains other Nimble Studio resources + /// Resource Type definition for AWS::NimbleStudio::Studio /// public static Task InvokeAsync(GetStudioArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:nimblestudio:getStudio", args ?? new GetStudioArgs(), options.WithDefaults()); /// - /// Represents a studio that contains other Nimble Studio resources + /// Resource Type definition for AWS::NimbleStudio::Studio /// public static Output Invoke(GetStudioInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("aws-native:nimblestudio:getStudio", args ?? new GetStudioInvokeArgs(), options.WithDefaults()); @@ -58,19 +58,19 @@ public GetStudioInvokeArgs() public sealed class GetStudioResult { /// - /// <p>The IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.</p> + /// The IAM role that studio admins assume when logging in to the Nimble Studio portal. /// public readonly string? AdminRoleArn; /// - /// <p>A friendly name for the studio.</p> + /// A friendly name for the studio. /// public readonly string? DisplayName; /// - /// <p>The Amazon Web Services Region where the studio resource is located.</p> + /// The AWS Region where the studio resource is located. For example, `us-west-2` . /// public readonly string? HomeRegion; /// - /// <p>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.</p> + /// 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. /// public readonly string? SsoClientId; /// @@ -82,11 +82,11 @@ public sealed class GetStudioResult /// public readonly string? StudioId; /// - /// <p>The address of the web page for the studio.</p> + /// The unique identifier for the studio resource. /// public readonly string? StudioUrl; /// - /// <p>The IAM role that Studio Users will assume when logging in to the Nimble Studio portal.</p> + /// The IAM role that studio users assume when logging in to the Nimble Studio portal. /// public readonly string? UserRoleArn; diff --git a/sdk/dotnet/NimbleStudio/GetStudioComponent.cs b/sdk/dotnet/NimbleStudio/GetStudioComponent.cs index 11bffcb733..d3dd476ffe 100644 --- a/sdk/dotnet/NimbleStudio/GetStudioComponent.cs +++ b/sdk/dotnet/NimbleStudio/GetStudioComponent.cs @@ -12,13 +12,13 @@ namespace Pulumi.AwsNative.NimbleStudio public static class GetStudioComponent { /// - /// Represents a studio component that connects a non-Nimble Studio resource in your account to your studio + /// Resource Type definition for AWS::NimbleStudio::StudioComponent /// public static Task InvokeAsync(GetStudioComponentArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:nimblestudio:getStudioComponent", args ?? new GetStudioComponentArgs(), options.WithDefaults()); /// - /// Represents a studio component that connects a non-Nimble Studio resource in your account to your studio + /// Resource Type definition for AWS::NimbleStudio::StudioComponent /// public static Output Invoke(GetStudioComponentInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("aws-native:nimblestudio:getStudioComponent", args ?? new GetStudioComponentInvokeArgs(), options.WithDefaults()); @@ -33,12 +33,6 @@ public sealed class GetStudioComponentArgs : global::Pulumi.InvokeArgs [Input("studioComponentId", required: true)] public string StudioComponentId { get; set; } = null!; - /// - /// <p>The studio ID. </p> - /// - [Input("studioId", required: true)] - public string StudioId { get; set; } = null!; - public GetStudioComponentArgs() { } @@ -53,12 +47,6 @@ public sealed class GetStudioComponentInvokeArgs : global::Pulumi.InvokeArgs [Input("studioComponentId", required: true)] public Input StudioComponentId { get; set; } = null!; - /// - /// <p>The studio ID. </p> - /// - [Input("studioId", required: true)] - public Input StudioId { get; set; } = null!; - public GetStudioComponentInvokeArgs() { } @@ -72,47 +60,39 @@ public sealed class GetStudioComponentResult /// /// The configuration of the studio component, based on component type. /// - public readonly object? Configuration; + public readonly Outputs.StudioComponentConfiguration? Configuration; /// - /// <p>The description.</p> + /// A human-readable description for the studio component resource. /// public readonly string? Description; /// - /// <p>The EC2 security groups that control access to the studio component.</p> + /// The EC2 security groups that control access to the studio component. /// public readonly ImmutableArray Ec2SecurityGroupIds; /// - /// <p>Initialization scripts for studio components.</p> + /// Initialization scripts for studio components. /// public readonly ImmutableArray InitializationScripts; /// - /// <p>The name for the studio component.</p> + /// A friendly name for the studio component resource. /// public readonly string? Name; /// - /// An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running. - /// - public readonly string? RuntimeRoleArn; - /// - /// <p>Parameters for the studio component scripts.</p> + /// Parameters for the studio component scripts. /// public readonly ImmutableArray ScriptParameters; /// - /// 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. - /// - public readonly string? SecureInitializationRoleArn; - /// /// The unique identifier for the studio component resource. /// public readonly string? StudioComponentId; /// /// The type of the studio component. /// - public readonly Pulumi.AwsNative.NimbleStudio.StudioComponentType? Type; + public readonly string? Type; [OutputConstructor] private GetStudioComponentResult( - object? configuration, + Outputs.StudioComponentConfiguration? configuration, string? description, @@ -122,24 +102,18 @@ private GetStudioComponentResult( string? name, - string? runtimeRoleArn, - ImmutableArray scriptParameters, - string? secureInitializationRoleArn, - string? studioComponentId, - Pulumi.AwsNative.NimbleStudio.StudioComponentType? type) + string? type) { Configuration = configuration; Description = description; Ec2SecurityGroupIds = ec2SecurityGroupIds; InitializationScripts = initializationScripts; Name = name; - RuntimeRoleArn = runtimeRoleArn; ScriptParameters = scriptParameters; - SecureInitializationRoleArn = secureInitializationRoleArn; StudioComponentId = studioComponentId; Type = type; } diff --git a/sdk/dotnet/NimbleStudio/Inputs/LaunchProfileStreamConfigurationArgs.cs b/sdk/dotnet/NimbleStudio/Inputs/LaunchProfileStreamConfigurationArgs.cs index dde04f3591..674e729c22 100644 --- a/sdk/dotnet/NimbleStudio/Inputs/LaunchProfileStreamConfigurationArgs.cs +++ b/sdk/dotnet/NimbleStudio/Inputs/LaunchProfileStreamConfigurationArgs.cs @@ -10,9 +10,6 @@ namespace Pulumi.AwsNative.NimbleStudio.Inputs { - /// - /// <p>A configuration for a streaming session.</p> - /// public sealed class LaunchProfileStreamConfigurationArgs : global::Pulumi.ResourceArgs { /// @@ -24,53 +21,40 @@ public sealed class LaunchProfileStreamConfigurationArgs : global::Pulumi.Resour /// This parameter is only allowed when `sessionPersistenceMode` is `ACTIVATED` . When allowed, the default value for this parameter is `DEACTIVATED` . /// [Input("automaticTerminationMode")] - public Input? AutomaticTerminationMode { get; set; } + public Input? AutomaticTerminationMode { get; set; } /// /// Allows or deactivates the use of the system clipboard to copy and paste between the streaming session and streaming client. /// [Input("clipboardMode", required: true)] - public Input ClipboardMode { get; set; } = null!; + public Input ClipboardMode { get; set; } = null!; [Input("ec2InstanceTypes", required: true)] - private InputList? _ec2InstanceTypes; + private InputList? _ec2InstanceTypes; /// - /// <p>The EC2 instance types that users can select from when launching a streaming session - /// with this launch profile.</p> + /// The EC2 instance types that users can select from when launching a streaming session with this launch profile. /// - public InputList Ec2InstanceTypes + public InputList Ec2InstanceTypes { - get => _ec2InstanceTypes ?? (_ec2InstanceTypes = new InputList()); + get => _ec2InstanceTypes ?? (_ec2InstanceTypes = new InputList()); set => _ec2InstanceTypes = value; } /// - /// <p>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.</p> + /// 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. /// [Input("maxSessionLengthInMinutes")] public Input? MaxSessionLengthInMinutes { get; set; } /// - /// <p>Integer that determines if you can start and stop your sessions and how long a session - /// can stay in the <code>STOPPED</code> state. The default value is 0. The maximum value is - /// 5760.</p> - /// <p>This field is allowed only when <code>sessionPersistenceMode</code> is - /// <code>ACTIVATED</code> and <code>automaticTerminationMode</code> is - /// <code>ACTIVATED</code>.</p> - /// <p>If the value is set to 0, your sessions can’t be <code>STOPPED</code>. If you then - /// call <code>StopStreamingSession</code>, the session fails. If the time that a session - /// stays in the <code>READY</code> state exceeds the <code>maxSessionLengthInMinutes</code> - /// value, the session will automatically be terminated (instead of - /// <code>STOPPED</code>).</p> - /// <p>If the value is set to a positive number, the session can be stopped. You can call - /// <code>StopStreamingSession</code> to stop sessions in the <code>READY</code> state. - /// If the time that a session stays in the <code>READY</code> state exceeds the - /// <code>maxSessionLengthInMinutes</code> value, the session will automatically be - /// stopped (instead of terminated).</p> + /// 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. + /// + /// This field is allowed only when `sessionPersistenceMode` is `ACTIVATED` and `automaticTerminationMode` is `ACTIVATED` . + /// + /// If 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` ). + /// + /// If 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). /// [Input("maxStoppedSessionLengthInMinutes")] public Input? MaxStoppedSessionLengthInMinutes { get; set; } @@ -85,7 +69,7 @@ public InputList [Input("sessionPersistenceMode")] - public Input? SessionPersistenceMode { get; set; } + public Input? SessionPersistenceMode { get; set; } /// /// The upload storage for a streaming session. @@ -97,8 +81,7 @@ public InputList? _streamingImageIds; /// - /// <p>The streaming images that users can select from when launching a streaming session - /// with this launch profile.</p> + /// The streaming images that users can select from when launching a streaming session with this launch profile. /// public InputList StreamingImageIds { diff --git a/sdk/dotnet/NimbleStudio/Inputs/LaunchProfileStreamConfigurationSessionBackupArgs.cs b/sdk/dotnet/NimbleStudio/Inputs/LaunchProfileStreamConfigurationSessionBackupArgs.cs index 08f23ac914..ec56908e85 100644 --- a/sdk/dotnet/NimbleStudio/Inputs/LaunchProfileStreamConfigurationSessionBackupArgs.cs +++ b/sdk/dotnet/NimbleStudio/Inputs/LaunchProfileStreamConfigurationSessionBackupArgs.cs @@ -10,15 +10,10 @@ namespace Pulumi.AwsNative.NimbleStudio.Inputs { - /// - /// <p>Configures how streaming sessions are backed up when launched from this launch - /// profile.</p> - /// public sealed class LaunchProfileStreamConfigurationSessionBackupArgs : global::Pulumi.ResourceArgs { /// - /// <p>The maximum number of backups that each streaming session created from this launch - /// profile can have.</p> + /// The maximum number of backups that each streaming session created from this launch profile can have. /// [Input("maxBackupsToRetain")] public Input? MaxBackupsToRetain { get; set; } @@ -29,7 +24,7 @@ public sealed class LaunchProfileStreamConfigurationSessionBackupArgs : global:: /// Configures 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` . /// [Input("mode")] - public Input? Mode { get; set; } + public Input? Mode { get; set; } public LaunchProfileStreamConfigurationSessionBackupArgs() { diff --git a/sdk/dotnet/NimbleStudio/Inputs/LaunchProfileStreamConfigurationSessionStorageArgs.cs b/sdk/dotnet/NimbleStudio/Inputs/LaunchProfileStreamConfigurationSessionStorageArgs.cs index de00811035..e50dcbd343 100644 --- a/sdk/dotnet/NimbleStudio/Inputs/LaunchProfileStreamConfigurationSessionStorageArgs.cs +++ b/sdk/dotnet/NimbleStudio/Inputs/LaunchProfileStreamConfigurationSessionStorageArgs.cs @@ -10,21 +10,17 @@ namespace Pulumi.AwsNative.NimbleStudio.Inputs { - /// - /// <p>The configuration for a streaming session’s upload storage.</p> - /// public sealed class LaunchProfileStreamConfigurationSessionStorageArgs : global::Pulumi.ResourceArgs { [Input("mode", required: true)] - private InputList? _mode; + private InputList? _mode; /// - /// <p>Allows artists to upload files to their workstations. The only valid option is - /// <code>UPLOAD</code>.</p> + /// Allows artists to upload files to their workstations. The only valid option is `UPLOAD` . /// - public InputList Mode + public InputList Mode { - get => _mode ?? (_mode = new InputList()); + get => _mode ?? (_mode = new InputList()); set => _mode = value; } diff --git a/sdk/dotnet/NimbleStudio/Inputs/LaunchProfileStreamingSessionStorageRootArgs.cs b/sdk/dotnet/NimbleStudio/Inputs/LaunchProfileStreamingSessionStorageRootArgs.cs index 4c11a2d124..b60834ced6 100644 --- a/sdk/dotnet/NimbleStudio/Inputs/LaunchProfileStreamingSessionStorageRootArgs.cs +++ b/sdk/dotnet/NimbleStudio/Inputs/LaunchProfileStreamingSessionStorageRootArgs.cs @@ -10,20 +10,16 @@ namespace Pulumi.AwsNative.NimbleStudio.Inputs { - /// - /// <p>The upload storage root location (folder) on streaming workstations where files are - /// uploaded.</p> - /// public sealed class LaunchProfileStreamingSessionStorageRootArgs : global::Pulumi.ResourceArgs { /// - /// <p>The folder path in Linux workstations where files are uploaded.</p> + /// The folder path in Linux workstations where files are uploaded. /// [Input("linux")] public Input? Linux { get; set; } /// - /// <p>The folder path in Windows workstations where files are uploaded.</p> + /// The folder path in Windows workstations where files are uploaded. /// [Input("windows")] public Input? Windows { get; set; } diff --git a/sdk/dotnet/NimbleStudio/Inputs/LaunchProfileVolumeConfigurationArgs.cs b/sdk/dotnet/NimbleStudio/Inputs/LaunchProfileVolumeConfigurationArgs.cs index 5e82fd6da7..694f43e4eb 100644 --- a/sdk/dotnet/NimbleStudio/Inputs/LaunchProfileVolumeConfigurationArgs.cs +++ b/sdk/dotnet/NimbleStudio/Inputs/LaunchProfileVolumeConfigurationArgs.cs @@ -10,31 +10,22 @@ namespace Pulumi.AwsNative.NimbleStudio.Inputs { - /// - /// <p>Custom volume configuration for the root volumes that are attached to streaming - /// sessions.</p> - /// <p>This parameter is only allowed when <code>sessionPersistenceMode</code> is - /// <code>ACTIVATED</code>.</p> - /// public sealed class LaunchProfileVolumeConfigurationArgs : global::Pulumi.ResourceArgs { /// - /// <p>The number of I/O operations per second for the root volume that is attached to - /// streaming session.</p> + /// The number of I/O operations per second for the root volume that is attached to streaming session. /// [Input("iops")] public Input? Iops { get; set; } /// - /// <p>The size of the root volume that is attached to the streaming session. The root volume - /// size is measured in GiBs.</p> + /// The size of the root volume that is attached to the streaming session. The root volume size is measured in GiBs. /// [Input("size")] public Input? Size { get; set; } /// - /// <p>The throughput to provision for the root volume that is attached to the streaming - /// session. The throughput is measured in MiB/s.</p> + /// The throughput to provision for the root volume that is attached to the streaming session. The throughput is measured in MiB/s. /// [Input("throughput")] public Input? Throughput { get; set; } diff --git a/sdk/dotnet/NimbleStudio/Inputs/StudioComponentActiveDirectoryComputerAttributeArgs.cs b/sdk/dotnet/NimbleStudio/Inputs/StudioComponentActiveDirectoryComputerAttributeArgs.cs index 9c734d1581..ce5fce5e3c 100644 --- a/sdk/dotnet/NimbleStudio/Inputs/StudioComponentActiveDirectoryComputerAttributeArgs.cs +++ b/sdk/dotnet/NimbleStudio/Inputs/StudioComponentActiveDirectoryComputerAttributeArgs.cs @@ -10,20 +10,16 @@ namespace Pulumi.AwsNative.NimbleStudio.Inputs { - /// - /// <p>An LDAP attribute of an Active Directory computer account, in the form of a name:value - /// pair.</p> - /// public sealed class StudioComponentActiveDirectoryComputerAttributeArgs : global::Pulumi.ResourceArgs { /// - /// <p>The name for the LDAP attribute.</p> + /// The name for the LDAP attribute. /// [Input("name")] public Input? Name { get; set; } /// - /// <p>The value for the LDAP attribute.</p> + /// The value for the LDAP attribute. /// [Input("value")] public Input? Value { get; set; } diff --git a/sdk/dotnet/NimbleStudio/Inputs/StudioComponentActiveDirectoryConfigurationArgs.cs b/sdk/dotnet/NimbleStudio/Inputs/StudioComponentActiveDirectoryConfigurationArgs.cs index 9c4c2a5183..9803eda493 100644 --- a/sdk/dotnet/NimbleStudio/Inputs/StudioComponentActiveDirectoryConfigurationArgs.cs +++ b/sdk/dotnet/NimbleStudio/Inputs/StudioComponentActiveDirectoryConfigurationArgs.cs @@ -10,17 +10,13 @@ namespace Pulumi.AwsNative.NimbleStudio.Inputs { - /// - /// <p>The configuration for a Microsoft Active Directory (Microsoft AD) studio - /// resource.</p> - /// public sealed class StudioComponentActiveDirectoryConfigurationArgs : global::Pulumi.ResourceArgs { [Input("computerAttributes")] private InputList? _computerAttributes; /// - /// <p>A collection of custom attributes for an Active Directory computer.</p> + /// A collection of custom attributes for an Active Directory computer. /// public InputList ComputerAttributes { @@ -29,15 +25,13 @@ public InputList Com } /// - /// <p>The directory ID of the Directory Service for Microsoft Active Directory to access - /// using this studio component.</p> + /// The directory ID of the AWS Directory Service for Microsoft Active Directory to access using this studio component. /// [Input("directoryId")] public Input? DirectoryId { get; set; } /// - /// <p>The distinguished name (DN) and organizational unit (OU) of an Active Directory - /// computer.</p> + /// The distinguished name (DN) and organizational unit (OU) of an Active Directory computer. /// [Input("organizationalUnitDistinguishedName")] public Input? OrganizationalUnitDistinguishedName { get; set; } diff --git a/sdk/dotnet/NimbleStudio/Inputs/StudioComponentComputeFarmConfigurationArgs.cs b/sdk/dotnet/NimbleStudio/Inputs/StudioComponentComputeFarmConfigurationArgs.cs index f295da4da5..390a4dd9c1 100644 --- a/sdk/dotnet/NimbleStudio/Inputs/StudioComponentComputeFarmConfigurationArgs.cs +++ b/sdk/dotnet/NimbleStudio/Inputs/StudioComponentComputeFarmConfigurationArgs.cs @@ -10,21 +10,16 @@ namespace Pulumi.AwsNative.NimbleStudio.Inputs { - /// - /// <p>The configuration for a render farm that is associated with a studio resource.</p> - /// public sealed class StudioComponentComputeFarmConfigurationArgs : global::Pulumi.ResourceArgs { /// - /// <p>The name of an Active Directory user that is used on ComputeFarm worker - /// instances.</p> + /// The name of an Active Directory user that is used on ComputeFarm worker instances. /// [Input("activeDirectoryUser")] public Input? ActiveDirectoryUser { get; set; } /// - /// <p>The endpoint of the ComputeFarm that is accessed by the studio component - /// resource.</p> + /// The endpoint of the ComputeFarm that is accessed by the studio component resource. /// [Input("endpoint")] public Input? Endpoint { get; set; } diff --git a/sdk/dotnet/NimbleStudio/Inputs/StudioComponentConfiguration0PropertiesArgs.cs b/sdk/dotnet/NimbleStudio/Inputs/StudioComponentConfiguration0PropertiesArgs.cs deleted file mode 100644 index 33b4b7393e..0000000000 --- a/sdk/dotnet/NimbleStudio/Inputs/StudioComponentConfiguration0PropertiesArgs.cs +++ /dev/null @@ -1,26 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AwsNative.NimbleStudio.Inputs -{ - - /// - /// <p>The configuration of the studio component, based on component type.</p> - /// - public sealed class StudioComponentConfiguration0PropertiesArgs : global::Pulumi.ResourceArgs - { - [Input("activeDirectoryConfiguration", required: true)] - public Input ActiveDirectoryConfiguration { get; set; } = null!; - - public StudioComponentConfiguration0PropertiesArgs() - { - } - public static new StudioComponentConfiguration0PropertiesArgs Empty => new StudioComponentConfiguration0PropertiesArgs(); - } -} diff --git a/sdk/dotnet/NimbleStudio/Inputs/StudioComponentConfiguration1PropertiesArgs.cs b/sdk/dotnet/NimbleStudio/Inputs/StudioComponentConfiguration1PropertiesArgs.cs deleted file mode 100644 index 6d38d42205..0000000000 --- a/sdk/dotnet/NimbleStudio/Inputs/StudioComponentConfiguration1PropertiesArgs.cs +++ /dev/null @@ -1,26 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AwsNative.NimbleStudio.Inputs -{ - - /// - /// <p>The configuration of the studio component, based on component type.</p> - /// - public sealed class StudioComponentConfiguration1PropertiesArgs : global::Pulumi.ResourceArgs - { - [Input("computeFarmConfiguration", required: true)] - public Input ComputeFarmConfiguration { get; set; } = null!; - - public StudioComponentConfiguration1PropertiesArgs() - { - } - public static new StudioComponentConfiguration1PropertiesArgs Empty => new StudioComponentConfiguration1PropertiesArgs(); - } -} diff --git a/sdk/dotnet/NimbleStudio/Inputs/StudioComponentConfiguration2PropertiesArgs.cs b/sdk/dotnet/NimbleStudio/Inputs/StudioComponentConfiguration2PropertiesArgs.cs deleted file mode 100644 index f3035b28ce..0000000000 --- a/sdk/dotnet/NimbleStudio/Inputs/StudioComponentConfiguration2PropertiesArgs.cs +++ /dev/null @@ -1,26 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AwsNative.NimbleStudio.Inputs -{ - - /// - /// <p>The configuration of the studio component, based on component type.</p> - /// - public sealed class StudioComponentConfiguration2PropertiesArgs : global::Pulumi.ResourceArgs - { - [Input("licenseServiceConfiguration", required: true)] - public Input LicenseServiceConfiguration { get; set; } = null!; - - public StudioComponentConfiguration2PropertiesArgs() - { - } - public static new StudioComponentConfiguration2PropertiesArgs Empty => new StudioComponentConfiguration2PropertiesArgs(); - } -} diff --git a/sdk/dotnet/NimbleStudio/Inputs/StudioComponentConfiguration3PropertiesArgs.cs b/sdk/dotnet/NimbleStudio/Inputs/StudioComponentConfiguration3PropertiesArgs.cs deleted file mode 100644 index 935f6fd2c6..0000000000 --- a/sdk/dotnet/NimbleStudio/Inputs/StudioComponentConfiguration3PropertiesArgs.cs +++ /dev/null @@ -1,26 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AwsNative.NimbleStudio.Inputs -{ - - /// - /// <p>The configuration of the studio component, based on component type.</p> - /// - public sealed class StudioComponentConfiguration3PropertiesArgs : global::Pulumi.ResourceArgs - { - [Input("sharedFileSystemConfiguration", required: true)] - public Input SharedFileSystemConfiguration { get; set; } = null!; - - public StudioComponentConfiguration3PropertiesArgs() - { - } - public static new StudioComponentConfiguration3PropertiesArgs Empty => new StudioComponentConfiguration3PropertiesArgs(); - } -} diff --git a/sdk/dotnet/NimbleStudio/Inputs/StudioComponentConfigurationArgs.cs b/sdk/dotnet/NimbleStudio/Inputs/StudioComponentConfigurationArgs.cs new file mode 100644 index 0000000000..718faa0be7 --- /dev/null +++ b/sdk/dotnet/NimbleStudio/Inputs/StudioComponentConfigurationArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.NimbleStudio.Inputs +{ + + public sealed class StudioComponentConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// The configuration for a AWS Directory Service for Microsoft Active Directory studio resource. + /// + [Input("activeDirectoryConfiguration")] + public Input? ActiveDirectoryConfiguration { get; set; } + + /// + /// The configuration for a render farm that is associated with a studio resource. + /// + [Input("computeFarmConfiguration")] + public Input? ComputeFarmConfiguration { get; set; } + + /// + /// The configuration for a license service that is associated with a studio resource. + /// + [Input("licenseServiceConfiguration")] + public Input? LicenseServiceConfiguration { get; set; } + + /// + /// The configuration for a shared file storage system that is associated with a studio resource. + /// + [Input("sharedFileSystemConfiguration")] + public Input? SharedFileSystemConfiguration { get; set; } + + public StudioComponentConfigurationArgs() + { + } + public static new StudioComponentConfigurationArgs Empty => new StudioComponentConfigurationArgs(); + } +} diff --git a/sdk/dotnet/NimbleStudio/Inputs/StudioComponentInitializationScriptArgs.cs b/sdk/dotnet/NimbleStudio/Inputs/StudioComponentInitializationScriptArgs.cs index 0df55addd4..a7eab952a4 100644 --- a/sdk/dotnet/NimbleStudio/Inputs/StudioComponentInitializationScriptArgs.cs +++ b/sdk/dotnet/NimbleStudio/Inputs/StudioComponentInitializationScriptArgs.cs @@ -10,14 +10,10 @@ namespace Pulumi.AwsNative.NimbleStudio.Inputs { - /// - /// <p>Initialization scripts for studio components.</p> - /// public sealed class StudioComponentInitializationScriptArgs : global::Pulumi.ResourceArgs { /// - /// <p>The version number of the protocol that is used by the launch profile. The only valid - /// version is "2021-03-31".</p> + /// The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31". /// [Input("launchProfileProtocolVersion")] public Input? LaunchProfileProtocolVersion { get; set; } @@ -26,16 +22,16 @@ public sealed class StudioComponentInitializationScriptArgs : global::Pulumi.Res /// The platform of the initialization script, either Windows or Linux. /// [Input("platform")] - public Input? Platform { get; set; } + public Input? Platform { get; set; } /// /// The method to use when running the initialization script. /// [Input("runContext")] - public Input? RunContext { get; set; } + public Input? RunContext { get; set; } /// - /// <p>The initialization script.</p> + /// The initialization script. /// [Input("script")] public Input? Script { get; set; } diff --git a/sdk/dotnet/NimbleStudio/Inputs/StudioComponentLicenseServiceConfigurationArgs.cs b/sdk/dotnet/NimbleStudio/Inputs/StudioComponentLicenseServiceConfigurationArgs.cs index 37e13cbda6..74b4e884cb 100644 --- a/sdk/dotnet/NimbleStudio/Inputs/StudioComponentLicenseServiceConfigurationArgs.cs +++ b/sdk/dotnet/NimbleStudio/Inputs/StudioComponentLicenseServiceConfigurationArgs.cs @@ -10,15 +10,10 @@ namespace Pulumi.AwsNative.NimbleStudio.Inputs { - /// - /// <p>The configuration for a license service that is associated with a studio - /// resource.</p> - /// public sealed class StudioComponentLicenseServiceConfigurationArgs : global::Pulumi.ResourceArgs { /// - /// <p>The endpoint of the license service that is accessed by the studio component - /// resource.</p> + /// The endpoint of the license service that is accessed by the studio component resource. /// [Input("endpoint")] public Input? Endpoint { get; set; } diff --git a/sdk/dotnet/NimbleStudio/Inputs/StudioComponentScriptParameterKeyValueArgs.cs b/sdk/dotnet/NimbleStudio/Inputs/StudioComponentScriptParameterKeyValueArgs.cs index c2f1e28d4e..a3e698f196 100644 --- a/sdk/dotnet/NimbleStudio/Inputs/StudioComponentScriptParameterKeyValueArgs.cs +++ b/sdk/dotnet/NimbleStudio/Inputs/StudioComponentScriptParameterKeyValueArgs.cs @@ -10,19 +10,16 @@ namespace Pulumi.AwsNative.NimbleStudio.Inputs { - /// - /// <p>A parameter for a studio component script, in the form of a key:value pair.</p> - /// public sealed class StudioComponentScriptParameterKeyValueArgs : global::Pulumi.ResourceArgs { /// - /// <p>A script parameter key.</p> + /// A script parameter key. /// [Input("key")] public Input? Key { get; set; } /// - /// <p>A script parameter value.</p> + /// A script parameter value. /// [Input("value")] public Input? Value { get; set; } diff --git a/sdk/dotnet/NimbleStudio/Inputs/StudioComponentSharedFileSystemConfigurationArgs.cs b/sdk/dotnet/NimbleStudio/Inputs/StudioComponentSharedFileSystemConfigurationArgs.cs index fa4fba5618..74fedde1e8 100644 --- a/sdk/dotnet/NimbleStudio/Inputs/StudioComponentSharedFileSystemConfigurationArgs.cs +++ b/sdk/dotnet/NimbleStudio/Inputs/StudioComponentSharedFileSystemConfigurationArgs.cs @@ -10,39 +10,34 @@ namespace Pulumi.AwsNative.NimbleStudio.Inputs { - /// - /// <p>The configuration for a shared file storage system that is associated with a studio - /// resource.</p> - /// public sealed class StudioComponentSharedFileSystemConfigurationArgs : global::Pulumi.ResourceArgs { /// - /// <p>The endpoint of the shared file system that is accessed by the studio component - /// resource.</p> + /// The endpoint of the shared file system that is accessed by the studio component resource. /// [Input("endpoint")] public Input? Endpoint { get; set; } /// - /// <p>The unique identifier for a file system.</p> + /// The unique identifier for a file system. /// [Input("fileSystemId")] public Input? FileSystemId { get; set; } /// - /// <p>The mount location for a shared file system on a Linux virtual workstation.</p> + /// The mount location for a shared file system on a Linux virtual workstation. /// [Input("linuxMountPoint")] public Input? LinuxMountPoint { get; set; } /// - /// <p>The name of the file share.</p> + /// The name of the file share. /// [Input("shareName")] public Input? ShareName { get; set; } /// - /// <p>The mount location for a shared file system on a Windows virtual workstation.</p> + /// The mount location for a shared file system on a Windows virtual workstation. /// [Input("windowsMountDrive")] public Input? WindowsMountDrive { get; set; } diff --git a/sdk/dotnet/NimbleStudio/Inputs/StudioEncryptionConfigurationArgs.cs b/sdk/dotnet/NimbleStudio/Inputs/StudioEncryptionConfigurationArgs.cs index 4da10f98a1..3df72a3f55 100644 --- a/sdk/dotnet/NimbleStudio/Inputs/StudioEncryptionConfigurationArgs.cs +++ b/sdk/dotnet/NimbleStudio/Inputs/StudioEncryptionConfigurationArgs.cs @@ -10,13 +10,10 @@ namespace Pulumi.AwsNative.NimbleStudio.Inputs { - /// - /// <p>Configuration of the encryption method that is used for the studio.</p> - /// public sealed class StudioEncryptionConfigurationArgs : global::Pulumi.ResourceArgs { /// - /// <p>The ARN for a KMS key that is used to encrypt studio data.</p> + /// The ARN for a KMS key that is used to encrypt studio data. /// [Input("keyArn")] public Input? KeyArn { get; set; } @@ -25,7 +22,7 @@ public sealed class StudioEncryptionConfigurationArgs : global::Pulumi.ResourceA /// The type of KMS key that is used to encrypt studio data. /// [Input("keyType", required: true)] - public Input KeyType { get; set; } = null!; + public Input KeyType { get; set; } = null!; public StudioEncryptionConfigurationArgs() { diff --git a/sdk/dotnet/NimbleStudio/LaunchProfile.cs b/sdk/dotnet/NimbleStudio/LaunchProfile.cs index 7f44eb4730..ceff3ba51b 100644 --- a/sdk/dotnet/NimbleStudio/LaunchProfile.cs +++ b/sdk/dotnet/NimbleStudio/LaunchProfile.cs @@ -10,20 +10,19 @@ namespace Pulumi.AwsNative.NimbleStudio { /// - /// Represents a launch profile which delegates access to a collection of studio components to studio users + /// Resource Type definition for AWS::NimbleStudio::LaunchProfile /// [AwsNativeResourceType("aws-native:nimblestudio:LaunchProfile")] public partial class LaunchProfile : global::Pulumi.CustomResource { /// - /// <p>The description.</p> + /// A human-readable description of the launch profile. /// [Output("description")] public Output Description { get; private set; } = null!; /// - /// <p>Specifies the IDs of the EC2 subnets where streaming sessions will be accessible from. - /// These subnets must support the specified instance types. </p> + /// Unique identifiers for a collection of EC2 subnets. /// [Output("ec2SubnetIds")] public Output> Ec2SubnetIds { get; private set; } = null!; @@ -35,14 +34,13 @@ public partial class LaunchProfile : global::Pulumi.CustomResource public Output LaunchProfileId { get; private set; } = null!; /// - /// <p>The version number of the protocol that is used by the launch profile. The only valid - /// version is "2021-03-31".</p> + /// The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31". /// [Output("launchProfileProtocolVersions")] public Output> LaunchProfileProtocolVersions { get; private set; } = null!; /// - /// <p>The name for the launch profile.</p> + /// A friendly name for the launch profile. /// [Output("name")] public Output Name { get; private set; } = null!; @@ -54,14 +52,13 @@ public partial class LaunchProfile : global::Pulumi.CustomResource public Output StreamConfiguration { get; private set; } = null!; /// - /// <p>Unique identifiers for a collection of studio components that can be used with this - /// launch profile.</p> + /// Unique identifiers for a collection of studio components that can be used with this launch profile. /// [Output("studioComponentIds")] public Output> StudioComponentIds { get; private set; } = null!; /// - /// <p>The studio ID. </p> + /// The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. /// [Output("studioId")] public Output StudioId { get; private set; } = null!; @@ -126,7 +123,7 @@ public static LaunchProfile Get(string name, Input id, CustomResourceOpt public sealed class LaunchProfileArgs : global::Pulumi.ResourceArgs { /// - /// <p>The description.</p> + /// A human-readable description of the launch profile. /// [Input("description")] public Input? Description { get; set; } @@ -135,8 +132,7 @@ public sealed class LaunchProfileArgs : global::Pulumi.ResourceArgs private InputList? _ec2SubnetIds; /// - /// <p>Specifies the IDs of the EC2 subnets where streaming sessions will be accessible from. - /// These subnets must support the specified instance types. </p> + /// Unique identifiers for a collection of EC2 subnets. /// public InputList Ec2SubnetIds { @@ -148,8 +144,7 @@ public InputList Ec2SubnetIds private InputList? _launchProfileProtocolVersions; /// - /// <p>The version number of the protocol that is used by the launch profile. The only valid - /// version is "2021-03-31".</p> + /// The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31". /// public InputList LaunchProfileProtocolVersions { @@ -158,7 +153,7 @@ public InputList LaunchProfileProtocolVersions } /// - /// <p>The name for the launch profile.</p> + /// A friendly name for the launch profile. /// [Input("name")] public Input? Name { get; set; } @@ -173,8 +168,7 @@ public InputList LaunchProfileProtocolVersions private InputList? _studioComponentIds; /// - /// <p>Unique identifiers for a collection of studio components that can be used with this - /// launch profile.</p> + /// Unique identifiers for a collection of studio components that can be used with this launch profile. /// public InputList StudioComponentIds { @@ -183,7 +177,7 @@ public InputList StudioComponentIds } /// - /// <p>The studio ID. </p> + /// The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. /// [Input("studioId", required: true)] public Input StudioId { get; set; } = null!; diff --git a/sdk/dotnet/NimbleStudio/Outputs/LaunchProfileStreamConfiguration.cs b/sdk/dotnet/NimbleStudio/Outputs/LaunchProfileStreamConfiguration.cs index 34520b8f54..5eb62c21ee 100644 --- a/sdk/dotnet/NimbleStudio/Outputs/LaunchProfileStreamConfiguration.cs +++ b/sdk/dotnet/NimbleStudio/Outputs/LaunchProfileStreamConfiguration.cs @@ -10,9 +10,6 @@ namespace Pulumi.AwsNative.NimbleStudio.Outputs { - /// - /// <p>A configuration for a streaming session.</p> - /// [OutputType] public sealed class LaunchProfileStreamConfiguration { @@ -24,40 +21,27 @@ public sealed class LaunchProfileStreamConfiguration /// /// This parameter is only allowed when `sessionPersistenceMode` is `ACTIVATED` . When allowed, the default value for this parameter is `DEACTIVATED` . /// - public readonly Pulumi.AwsNative.NimbleStudio.LaunchProfileAutomaticTerminationMode? AutomaticTerminationMode; + public readonly string? AutomaticTerminationMode; /// /// Allows or deactivates the use of the system clipboard to copy and paste between the streaming session and streaming client. /// - public readonly Pulumi.AwsNative.NimbleStudio.LaunchProfileStreamingClipboardMode ClipboardMode; + public readonly string ClipboardMode; /// - /// <p>The EC2 instance types that users can select from when launching a streaming session - /// with this launch profile.</p> + /// The EC2 instance types that users can select from when launching a streaming session with this launch profile. /// - public readonly ImmutableArray Ec2InstanceTypes; + public readonly ImmutableArray Ec2InstanceTypes; /// - /// <p>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.</p> + /// 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. /// public readonly double? MaxSessionLengthInMinutes; /// - /// <p>Integer that determines if you can start and stop your sessions and how long a session - /// can stay in the <code>STOPPED</code> state. The default value is 0. The maximum value is - /// 5760.</p> - /// <p>This field is allowed only when <code>sessionPersistenceMode</code> is - /// <code>ACTIVATED</code> and <code>automaticTerminationMode</code> is - /// <code>ACTIVATED</code>.</p> - /// <p>If the value is set to 0, your sessions can’t be <code>STOPPED</code>. If you then - /// call <code>StopStreamingSession</code>, the session fails. If the time that a session - /// stays in the <code>READY</code> state exceeds the <code>maxSessionLengthInMinutes</code> - /// value, the session will automatically be terminated (instead of - /// <code>STOPPED</code>).</p> - /// <p>If the value is set to a positive number, the session can be stopped. You can call - /// <code>StopStreamingSession</code> to stop sessions in the <code>READY</code> state. - /// If the time that a session stays in the <code>READY</code> state exceeds the - /// <code>maxSessionLengthInMinutes</code> value, the session will automatically be - /// stopped (instead of terminated).</p> + /// 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. + /// + /// This field is allowed only when `sessionPersistenceMode` is `ACTIVATED` and `automaticTerminationMode` is `ACTIVATED` . + /// + /// If 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` ). + /// + /// If 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). /// public readonly double? MaxStoppedSessionLengthInMinutes; /// @@ -67,14 +51,13 @@ public sealed class LaunchProfileStreamConfiguration /// /// Determine if a streaming session created from this launch profile can configure persistent storage. This means that `volumeConfiguration` and `automaticTerminationMode` are configured. /// - public readonly Pulumi.AwsNative.NimbleStudio.LaunchProfileSessionPersistenceMode? SessionPersistenceMode; + public readonly string? SessionPersistenceMode; /// /// The upload storage for a streaming session. /// public readonly Outputs.LaunchProfileStreamConfigurationSessionStorage? SessionStorage; /// - /// <p>The streaming images that users can select from when launching a streaming session - /// with this launch profile.</p> + /// The streaming images that users can select from when launching a streaming session with this launch profile. /// public readonly ImmutableArray StreamingImageIds; /// @@ -86,11 +69,11 @@ public sealed class LaunchProfileStreamConfiguration [OutputConstructor] private LaunchProfileStreamConfiguration( - Pulumi.AwsNative.NimbleStudio.LaunchProfileAutomaticTerminationMode? automaticTerminationMode, + string? automaticTerminationMode, - Pulumi.AwsNative.NimbleStudio.LaunchProfileStreamingClipboardMode clipboardMode, + string clipboardMode, - ImmutableArray ec2InstanceTypes, + ImmutableArray ec2InstanceTypes, double? maxSessionLengthInMinutes, @@ -98,7 +81,7 @@ private LaunchProfileStreamConfiguration( Outputs.LaunchProfileStreamConfigurationSessionBackup? sessionBackup, - Pulumi.AwsNative.NimbleStudio.LaunchProfileSessionPersistenceMode? sessionPersistenceMode, + string? sessionPersistenceMode, Outputs.LaunchProfileStreamConfigurationSessionStorage? sessionStorage, diff --git a/sdk/dotnet/NimbleStudio/Outputs/LaunchProfileStreamConfigurationSessionBackup.cs b/sdk/dotnet/NimbleStudio/Outputs/LaunchProfileStreamConfigurationSessionBackup.cs index 7234a5325f..ca95a89cd6 100644 --- a/sdk/dotnet/NimbleStudio/Outputs/LaunchProfileStreamConfigurationSessionBackup.cs +++ b/sdk/dotnet/NimbleStudio/Outputs/LaunchProfileStreamConfigurationSessionBackup.cs @@ -10,16 +10,11 @@ namespace Pulumi.AwsNative.NimbleStudio.Outputs { - /// - /// <p>Configures how streaming sessions are backed up when launched from this launch - /// profile.</p> - /// [OutputType] public sealed class LaunchProfileStreamConfigurationSessionBackup { /// - /// <p>The maximum number of backups that each streaming session created from this launch - /// profile can have.</p> + /// The maximum number of backups that each streaming session created from this launch profile can have. /// public readonly double? MaxBackupsToRetain; /// @@ -27,13 +22,13 @@ public sealed class LaunchProfileStreamConfigurationSessionBackup /// /// Configures 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` . /// - public readonly Pulumi.AwsNative.NimbleStudio.LaunchProfileSessionBackupMode? Mode; + public readonly string? Mode; [OutputConstructor] private LaunchProfileStreamConfigurationSessionBackup( double? maxBackupsToRetain, - Pulumi.AwsNative.NimbleStudio.LaunchProfileSessionBackupMode? mode) + string? mode) { MaxBackupsToRetain = maxBackupsToRetain; Mode = mode; diff --git a/sdk/dotnet/NimbleStudio/Outputs/LaunchProfileStreamConfigurationSessionStorage.cs b/sdk/dotnet/NimbleStudio/Outputs/LaunchProfileStreamConfigurationSessionStorage.cs index 58eb5e1e0f..f05b097805 100644 --- a/sdk/dotnet/NimbleStudio/Outputs/LaunchProfileStreamConfigurationSessionStorage.cs +++ b/sdk/dotnet/NimbleStudio/Outputs/LaunchProfileStreamConfigurationSessionStorage.cs @@ -10,17 +10,13 @@ namespace Pulumi.AwsNative.NimbleStudio.Outputs { - /// - /// <p>The configuration for a streaming session’s upload storage.</p> - /// [OutputType] public sealed class LaunchProfileStreamConfigurationSessionStorage { /// - /// <p>Allows artists to upload files to their workstations. The only valid option is - /// <code>UPLOAD</code>.</p> + /// Allows artists to upload files to their workstations. The only valid option is `UPLOAD` . /// - public readonly ImmutableArray Mode; + public readonly ImmutableArray Mode; /// /// The configuration for the upload storage root of the streaming session. /// @@ -28,7 +24,7 @@ public sealed class LaunchProfileStreamConfigurationSessionStorage [OutputConstructor] private LaunchProfileStreamConfigurationSessionStorage( - ImmutableArray mode, + ImmutableArray mode, Outputs.LaunchProfileStreamingSessionStorageRoot? root) { diff --git a/sdk/dotnet/NimbleStudio/Outputs/LaunchProfileStreamingSessionStorageRoot.cs b/sdk/dotnet/NimbleStudio/Outputs/LaunchProfileStreamingSessionStorageRoot.cs index 7670fedfcc..5ecd87867f 100644 --- a/sdk/dotnet/NimbleStudio/Outputs/LaunchProfileStreamingSessionStorageRoot.cs +++ b/sdk/dotnet/NimbleStudio/Outputs/LaunchProfileStreamingSessionStorageRoot.cs @@ -10,19 +10,15 @@ namespace Pulumi.AwsNative.NimbleStudio.Outputs { - /// - /// <p>The upload storage root location (folder) on streaming workstations where files are - /// uploaded.</p> - /// [OutputType] public sealed class LaunchProfileStreamingSessionStorageRoot { /// - /// <p>The folder path in Linux workstations where files are uploaded.</p> + /// The folder path in Linux workstations where files are uploaded. /// public readonly string? Linux; /// - /// <p>The folder path in Windows workstations where files are uploaded.</p> + /// The folder path in Windows workstations where files are uploaded. /// public readonly string? Windows; diff --git a/sdk/dotnet/NimbleStudio/Outputs/LaunchProfileVolumeConfiguration.cs b/sdk/dotnet/NimbleStudio/Outputs/LaunchProfileVolumeConfiguration.cs index 04abe3e81b..951c5785d3 100644 --- a/sdk/dotnet/NimbleStudio/Outputs/LaunchProfileVolumeConfiguration.cs +++ b/sdk/dotnet/NimbleStudio/Outputs/LaunchProfileVolumeConfiguration.cs @@ -10,28 +10,19 @@ namespace Pulumi.AwsNative.NimbleStudio.Outputs { - /// - /// <p>Custom volume configuration for the root volumes that are attached to streaming - /// sessions.</p> - /// <p>This parameter is only allowed when <code>sessionPersistenceMode</code> is - /// <code>ACTIVATED</code>.</p> - /// [OutputType] public sealed class LaunchProfileVolumeConfiguration { /// - /// <p>The number of I/O operations per second for the root volume that is attached to - /// streaming session.</p> + /// The number of I/O operations per second for the root volume that is attached to streaming session. /// public readonly double? Iops; /// - /// <p>The size of the root volume that is attached to the streaming session. The root volume - /// size is measured in GiBs.</p> + /// The size of the root volume that is attached to the streaming session. The root volume size is measured in GiBs. /// public readonly double? Size; /// - /// <p>The throughput to provision for the root volume that is attached to the streaming - /// session. The throughput is measured in MiB/s.</p> + /// The throughput to provision for the root volume that is attached to the streaming session. The throughput is measured in MiB/s. /// public readonly double? Throughput; diff --git a/sdk/dotnet/NimbleStudio/Outputs/StreamingImageEncryptionConfiguration.cs b/sdk/dotnet/NimbleStudio/Outputs/StreamingImageEncryptionConfiguration.cs index 9c33a64725..7cb49d9967 100644 --- a/sdk/dotnet/NimbleStudio/Outputs/StreamingImageEncryptionConfiguration.cs +++ b/sdk/dotnet/NimbleStudio/Outputs/StreamingImageEncryptionConfiguration.cs @@ -10,26 +10,23 @@ namespace Pulumi.AwsNative.NimbleStudio.Outputs { - /// - /// <p>TODO</p> - /// [OutputType] public sealed class StreamingImageEncryptionConfiguration { /// - /// <p>The ARN for a KMS key that is used to encrypt studio data.</p> + /// The ARN for a KMS key that is used to encrypt studio data. /// public readonly string? KeyArn; /// /// The type of KMS key that is used to encrypt studio data. /// - public readonly Pulumi.AwsNative.NimbleStudio.StreamingImageEncryptionConfigurationKeyType KeyType; + public readonly string KeyType; [OutputConstructor] private StreamingImageEncryptionConfiguration( string? keyArn, - Pulumi.AwsNative.NimbleStudio.StreamingImageEncryptionConfigurationKeyType keyType) + string keyType) { KeyArn = keyArn; KeyType = keyType; diff --git a/sdk/dotnet/NimbleStudio/Outputs/StudioComponentActiveDirectoryComputerAttribute.cs b/sdk/dotnet/NimbleStudio/Outputs/StudioComponentActiveDirectoryComputerAttribute.cs index efd4d654a2..ebf5ca1560 100644 --- a/sdk/dotnet/NimbleStudio/Outputs/StudioComponentActiveDirectoryComputerAttribute.cs +++ b/sdk/dotnet/NimbleStudio/Outputs/StudioComponentActiveDirectoryComputerAttribute.cs @@ -10,19 +10,15 @@ namespace Pulumi.AwsNative.NimbleStudio.Outputs { - /// - /// <p>An LDAP attribute of an Active Directory computer account, in the form of a name:value - /// pair.</p> - /// [OutputType] public sealed class StudioComponentActiveDirectoryComputerAttribute { /// - /// <p>The name for the LDAP attribute.</p> + /// The name for the LDAP attribute. /// public readonly string? Name; /// - /// <p>The value for the LDAP attribute.</p> + /// The value for the LDAP attribute. /// public readonly string? Value; diff --git a/sdk/dotnet/NimbleStudio/Outputs/StudioComponentActiveDirectoryConfiguration.cs b/sdk/dotnet/NimbleStudio/Outputs/StudioComponentActiveDirectoryConfiguration.cs index d8f33587e6..5da3a8910f 100644 --- a/sdk/dotnet/NimbleStudio/Outputs/StudioComponentActiveDirectoryConfiguration.cs +++ b/sdk/dotnet/NimbleStudio/Outputs/StudioComponentActiveDirectoryConfiguration.cs @@ -10,25 +10,19 @@ namespace Pulumi.AwsNative.NimbleStudio.Outputs { - /// - /// <p>The configuration for a Microsoft Active Directory (Microsoft AD) studio - /// resource.</p> - /// [OutputType] public sealed class StudioComponentActiveDirectoryConfiguration { /// - /// <p>A collection of custom attributes for an Active Directory computer.</p> + /// A collection of custom attributes for an Active Directory computer. /// public readonly ImmutableArray ComputerAttributes; /// - /// <p>The directory ID of the Directory Service for Microsoft Active Directory to access - /// using this studio component.</p> + /// The directory ID of the AWS Directory Service for Microsoft Active Directory to access using this studio component. /// public readonly string? DirectoryId; /// - /// <p>The distinguished name (DN) and organizational unit (OU) of an Active Directory - /// computer.</p> + /// The distinguished name (DN) and organizational unit (OU) of an Active Directory computer. /// public readonly string? OrganizationalUnitDistinguishedName; diff --git a/sdk/dotnet/NimbleStudio/Outputs/StudioComponentComputeFarmConfiguration.cs b/sdk/dotnet/NimbleStudio/Outputs/StudioComponentComputeFarmConfiguration.cs index 01b57ad272..e6e75fe790 100644 --- a/sdk/dotnet/NimbleStudio/Outputs/StudioComponentComputeFarmConfiguration.cs +++ b/sdk/dotnet/NimbleStudio/Outputs/StudioComponentComputeFarmConfiguration.cs @@ -10,20 +10,15 @@ namespace Pulumi.AwsNative.NimbleStudio.Outputs { - /// - /// <p>The configuration for a render farm that is associated with a studio resource.</p> - /// [OutputType] public sealed class StudioComponentComputeFarmConfiguration { /// - /// <p>The name of an Active Directory user that is used on ComputeFarm worker - /// instances.</p> + /// The name of an Active Directory user that is used on ComputeFarm worker instances. /// public readonly string? ActiveDirectoryUser; /// - /// <p>The endpoint of the ComputeFarm that is accessed by the studio component - /// resource.</p> + /// The endpoint of the ComputeFarm that is accessed by the studio component resource. /// public readonly string? Endpoint; diff --git a/sdk/dotnet/NimbleStudio/Outputs/StudioComponentConfiguration.cs b/sdk/dotnet/NimbleStudio/Outputs/StudioComponentConfiguration.cs new file mode 100644 index 0000000000..1aefd4c9e4 --- /dev/null +++ b/sdk/dotnet/NimbleStudio/Outputs/StudioComponentConfiguration.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.NimbleStudio.Outputs +{ + + [OutputType] + public sealed class StudioComponentConfiguration + { + /// + /// The configuration for a AWS Directory Service for Microsoft Active Directory studio resource. + /// + public readonly Outputs.StudioComponentActiveDirectoryConfiguration? ActiveDirectoryConfiguration; + /// + /// The configuration for a render farm that is associated with a studio resource. + /// + public readonly Outputs.StudioComponentComputeFarmConfiguration? ComputeFarmConfiguration; + /// + /// The configuration for a license service that is associated with a studio resource. + /// + public readonly Outputs.StudioComponentLicenseServiceConfiguration? LicenseServiceConfiguration; + /// + /// The configuration for a shared file storage system that is associated with a studio resource. + /// + public readonly Outputs.StudioComponentSharedFileSystemConfiguration? SharedFileSystemConfiguration; + + [OutputConstructor] + private StudioComponentConfiguration( + Outputs.StudioComponentActiveDirectoryConfiguration? activeDirectoryConfiguration, + + Outputs.StudioComponentComputeFarmConfiguration? computeFarmConfiguration, + + Outputs.StudioComponentLicenseServiceConfiguration? licenseServiceConfiguration, + + Outputs.StudioComponentSharedFileSystemConfiguration? sharedFileSystemConfiguration) + { + ActiveDirectoryConfiguration = activeDirectoryConfiguration; + ComputeFarmConfiguration = computeFarmConfiguration; + LicenseServiceConfiguration = licenseServiceConfiguration; + SharedFileSystemConfiguration = sharedFileSystemConfiguration; + } + } +} diff --git a/sdk/dotnet/NimbleStudio/Outputs/StudioComponentConfiguration0Properties.cs b/sdk/dotnet/NimbleStudio/Outputs/StudioComponentConfiguration0Properties.cs deleted file mode 100644 index bfd75a065e..0000000000 --- a/sdk/dotnet/NimbleStudio/Outputs/StudioComponentConfiguration0Properties.cs +++ /dev/null @@ -1,27 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AwsNative.NimbleStudio.Outputs -{ - - /// - /// <p>The configuration of the studio component, based on component type.</p> - /// - [OutputType] - public sealed class StudioComponentConfiguration0Properties - { - public readonly Outputs.StudioComponentActiveDirectoryConfiguration ActiveDirectoryConfiguration; - - [OutputConstructor] - private StudioComponentConfiguration0Properties(Outputs.StudioComponentActiveDirectoryConfiguration activeDirectoryConfiguration) - { - ActiveDirectoryConfiguration = activeDirectoryConfiguration; - } - } -} diff --git a/sdk/dotnet/NimbleStudio/Outputs/StudioComponentConfiguration1Properties.cs b/sdk/dotnet/NimbleStudio/Outputs/StudioComponentConfiguration1Properties.cs deleted file mode 100644 index 3f80bec36e..0000000000 --- a/sdk/dotnet/NimbleStudio/Outputs/StudioComponentConfiguration1Properties.cs +++ /dev/null @@ -1,27 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AwsNative.NimbleStudio.Outputs -{ - - /// - /// <p>The configuration of the studio component, based on component type.</p> - /// - [OutputType] - public sealed class StudioComponentConfiguration1Properties - { - public readonly Outputs.StudioComponentComputeFarmConfiguration ComputeFarmConfiguration; - - [OutputConstructor] - private StudioComponentConfiguration1Properties(Outputs.StudioComponentComputeFarmConfiguration computeFarmConfiguration) - { - ComputeFarmConfiguration = computeFarmConfiguration; - } - } -} diff --git a/sdk/dotnet/NimbleStudio/Outputs/StudioComponentConfiguration2Properties.cs b/sdk/dotnet/NimbleStudio/Outputs/StudioComponentConfiguration2Properties.cs deleted file mode 100644 index 93de4bc103..0000000000 --- a/sdk/dotnet/NimbleStudio/Outputs/StudioComponentConfiguration2Properties.cs +++ /dev/null @@ -1,27 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AwsNative.NimbleStudio.Outputs -{ - - /// - /// <p>The configuration of the studio component, based on component type.</p> - /// - [OutputType] - public sealed class StudioComponentConfiguration2Properties - { - public readonly Outputs.StudioComponentLicenseServiceConfiguration LicenseServiceConfiguration; - - [OutputConstructor] - private StudioComponentConfiguration2Properties(Outputs.StudioComponentLicenseServiceConfiguration licenseServiceConfiguration) - { - LicenseServiceConfiguration = licenseServiceConfiguration; - } - } -} diff --git a/sdk/dotnet/NimbleStudio/Outputs/StudioComponentConfiguration3Properties.cs b/sdk/dotnet/NimbleStudio/Outputs/StudioComponentConfiguration3Properties.cs deleted file mode 100644 index abea3e2d53..0000000000 --- a/sdk/dotnet/NimbleStudio/Outputs/StudioComponentConfiguration3Properties.cs +++ /dev/null @@ -1,27 +0,0 @@ -// *** WARNING: this file was generated by pulumi. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AwsNative.NimbleStudio.Outputs -{ - - /// - /// <p>The configuration of the studio component, based on component type.</p> - /// - [OutputType] - public sealed class StudioComponentConfiguration3Properties - { - public readonly Outputs.StudioComponentSharedFileSystemConfiguration SharedFileSystemConfiguration; - - [OutputConstructor] - private StudioComponentConfiguration3Properties(Outputs.StudioComponentSharedFileSystemConfiguration sharedFileSystemConfiguration) - { - SharedFileSystemConfiguration = sharedFileSystemConfiguration; - } - } -} diff --git a/sdk/dotnet/NimbleStudio/Outputs/StudioComponentInitializationScript.cs b/sdk/dotnet/NimbleStudio/Outputs/StudioComponentInitializationScript.cs index efc280797f..571fbe244e 100644 --- a/sdk/dotnet/NimbleStudio/Outputs/StudioComponentInitializationScript.cs +++ b/sdk/dotnet/NimbleStudio/Outputs/StudioComponentInitializationScript.cs @@ -10,27 +10,23 @@ namespace Pulumi.AwsNative.NimbleStudio.Outputs { - /// - /// <p>Initialization scripts for studio components.</p> - /// [OutputType] public sealed class StudioComponentInitializationScript { /// - /// <p>The version number of the protocol that is used by the launch profile. The only valid - /// version is "2021-03-31".</p> + /// The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31". /// public readonly string? LaunchProfileProtocolVersion; /// /// The platform of the initialization script, either Windows or Linux. /// - public readonly Pulumi.AwsNative.NimbleStudio.StudioComponentLaunchProfilePlatform? Platform; + public readonly string? Platform; /// /// The method to use when running the initialization script. /// - public readonly Pulumi.AwsNative.NimbleStudio.StudioComponentInitializationScriptRunContext? RunContext; + public readonly string? RunContext; /// - /// <p>The initialization script.</p> + /// The initialization script. /// public readonly string? Script; @@ -38,9 +34,9 @@ public sealed class StudioComponentInitializationScript private StudioComponentInitializationScript( string? launchProfileProtocolVersion, - Pulumi.AwsNative.NimbleStudio.StudioComponentLaunchProfilePlatform? platform, + string? platform, - Pulumi.AwsNative.NimbleStudio.StudioComponentInitializationScriptRunContext? runContext, + string? runContext, string? script) { diff --git a/sdk/dotnet/NimbleStudio/Outputs/StudioComponentLicenseServiceConfiguration.cs b/sdk/dotnet/NimbleStudio/Outputs/StudioComponentLicenseServiceConfiguration.cs index 44532d07de..f8a0dcbe95 100644 --- a/sdk/dotnet/NimbleStudio/Outputs/StudioComponentLicenseServiceConfiguration.cs +++ b/sdk/dotnet/NimbleStudio/Outputs/StudioComponentLicenseServiceConfiguration.cs @@ -10,16 +10,11 @@ namespace Pulumi.AwsNative.NimbleStudio.Outputs { - /// - /// <p>The configuration for a license service that is associated with a studio - /// resource.</p> - /// [OutputType] public sealed class StudioComponentLicenseServiceConfiguration { /// - /// <p>The endpoint of the license service that is accessed by the studio component - /// resource.</p> + /// The endpoint of the license service that is accessed by the studio component resource. /// public readonly string? Endpoint; diff --git a/sdk/dotnet/NimbleStudio/Outputs/StudioComponentScriptParameterKeyValue.cs b/sdk/dotnet/NimbleStudio/Outputs/StudioComponentScriptParameterKeyValue.cs index df8adada47..89d2d4678a 100644 --- a/sdk/dotnet/NimbleStudio/Outputs/StudioComponentScriptParameterKeyValue.cs +++ b/sdk/dotnet/NimbleStudio/Outputs/StudioComponentScriptParameterKeyValue.cs @@ -10,18 +10,15 @@ namespace Pulumi.AwsNative.NimbleStudio.Outputs { - /// - /// <p>A parameter for a studio component script, in the form of a key:value pair.</p> - /// [OutputType] public sealed class StudioComponentScriptParameterKeyValue { /// - /// <p>A script parameter key.</p> + /// A script parameter key. /// public readonly string? Key; /// - /// <p>A script parameter value.</p> + /// A script parameter value. /// public readonly string? Value; diff --git a/sdk/dotnet/NimbleStudio/Outputs/StudioComponentSharedFileSystemConfiguration.cs b/sdk/dotnet/NimbleStudio/Outputs/StudioComponentSharedFileSystemConfiguration.cs index 7ce50b89de..406ec95ea9 100644 --- a/sdk/dotnet/NimbleStudio/Outputs/StudioComponentSharedFileSystemConfiguration.cs +++ b/sdk/dotnet/NimbleStudio/Outputs/StudioComponentSharedFileSystemConfiguration.cs @@ -10,32 +10,27 @@ namespace Pulumi.AwsNative.NimbleStudio.Outputs { - /// - /// <p>The configuration for a shared file storage system that is associated with a studio - /// resource.</p> - /// [OutputType] public sealed class StudioComponentSharedFileSystemConfiguration { /// - /// <p>The endpoint of the shared file system that is accessed by the studio component - /// resource.</p> + /// The endpoint of the shared file system that is accessed by the studio component resource. /// public readonly string? Endpoint; /// - /// <p>The unique identifier for a file system.</p> + /// The unique identifier for a file system. /// public readonly string? FileSystemId; /// - /// <p>The mount location for a shared file system on a Linux virtual workstation.</p> + /// The mount location for a shared file system on a Linux virtual workstation. /// public readonly string? LinuxMountPoint; /// - /// <p>The name of the file share.</p> + /// The name of the file share. /// public readonly string? ShareName; /// - /// <p>The mount location for a shared file system on a Windows virtual workstation.</p> + /// The mount location for a shared file system on a Windows virtual workstation. /// public readonly string? WindowsMountDrive; diff --git a/sdk/dotnet/NimbleStudio/Outputs/StudioEncryptionConfiguration.cs b/sdk/dotnet/NimbleStudio/Outputs/StudioEncryptionConfiguration.cs index 94d0c15cfb..72731be828 100644 --- a/sdk/dotnet/NimbleStudio/Outputs/StudioEncryptionConfiguration.cs +++ b/sdk/dotnet/NimbleStudio/Outputs/StudioEncryptionConfiguration.cs @@ -10,26 +10,23 @@ namespace Pulumi.AwsNative.NimbleStudio.Outputs { - /// - /// <p>Configuration of the encryption method that is used for the studio.</p> - /// [OutputType] public sealed class StudioEncryptionConfiguration { /// - /// <p>The ARN for a KMS key that is used to encrypt studio data.</p> + /// The ARN for a KMS key that is used to encrypt studio data. /// public readonly string? KeyArn; /// /// The type of KMS key that is used to encrypt studio data. /// - public readonly Pulumi.AwsNative.NimbleStudio.StudioEncryptionConfigurationKeyType KeyType; + public readonly string KeyType; [OutputConstructor] private StudioEncryptionConfiguration( string? keyArn, - Pulumi.AwsNative.NimbleStudio.StudioEncryptionConfigurationKeyType keyType) + string keyType) { KeyArn = keyArn; KeyType = keyType; diff --git a/sdk/dotnet/NimbleStudio/StreamingImage.cs b/sdk/dotnet/NimbleStudio/StreamingImage.cs index 48b7b683a8..f27fc83b05 100644 --- a/sdk/dotnet/NimbleStudio/StreamingImage.cs +++ b/sdk/dotnet/NimbleStudio/StreamingImage.cs @@ -10,19 +10,19 @@ namespace Pulumi.AwsNative.NimbleStudio { /// - /// Represents a streaming session machine image that can be used to launch a streaming session + /// Resource Type definition for AWS::NimbleStudio::StreamingImage /// [AwsNativeResourceType("aws-native:nimblestudio:StreamingImage")] public partial class StreamingImage : global::Pulumi.CustomResource { /// - /// <p>A human-readable description of the streaming image.</p> + /// A human-readable description of the streaming image. /// [Output("description")] public Output Description { get; private set; } = null!; /// - /// <p>The ID of an EC2 machine image with which to create this streaming image.</p> + /// The ID of an EC2 machine image with which to create the streaming image. /// [Output("ec2ImageId")] public Output Ec2ImageId { get; private set; } = null!; @@ -30,26 +30,32 @@ public partial class StreamingImage : global::Pulumi.CustomResource [Output("encryptionConfiguration")] public Output EncryptionConfiguration { get; private set; } = null!; + [Output("encryptionConfigurationKeyArn")] + public Output EncryptionConfigurationKeyArn { get; private set; } = null!; + + [Output("encryptionConfigurationKeyType")] + public Output EncryptionConfigurationKeyType { get; private set; } = null!; + /// - /// <p>The list of EULAs that must be accepted before a Streaming Session can be started using this streaming image.</p> + /// The list of IDs of EULAs that must be accepted before a streaming session can be started using this streaming image. /// [Output("eulaIds")] public Output> EulaIds { get; private set; } = null!; /// - /// <p>A friendly name for a streaming image resource.</p> + /// A friendly name for a streaming image resource. /// [Output("name")] public Output Name { get; private set; } = null!; /// - /// <p>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.</p> + /// The owner of the streaming image, either the studioId that contains the streaming image or 'amazon' for images that are provided by . /// [Output("owner")] public Output Owner { get; private set; } = null!; /// - /// <p>The platform of the streaming image, either WINDOWS or LINUX.</p> + /// The platform of the streaming image, either WINDOWS or LINUX. /// [Output("platform")] public Output Platform { get; private set; } = null!; @@ -61,7 +67,7 @@ public partial class StreamingImage : global::Pulumi.CustomResource public Output StreamingImageId { get; private set; } = null!; /// - /// <p>The studioId. </p> + /// The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. /// [Output("studioId")] public Output StudioId { get; private set; } = null!; @@ -126,25 +132,31 @@ public static StreamingImage Get(string name, Input id, CustomResourceOp public sealed class StreamingImageArgs : global::Pulumi.ResourceArgs { /// - /// <p>A human-readable description of the streaming image.</p> + /// A human-readable description of the streaming image. /// [Input("description")] public Input? Description { get; set; } /// - /// <p>The ID of an EC2 machine image with which to create this streaming image.</p> + /// The ID of an EC2 machine image with which to create the streaming image. /// [Input("ec2ImageId", required: true)] public Input Ec2ImageId { get; set; } = null!; + [Input("encryptionConfigurationKeyArn")] + public Input? EncryptionConfigurationKeyArn { get; set; } + + [Input("encryptionConfigurationKeyType")] + public Input? EncryptionConfigurationKeyType { get; set; } + /// - /// <p>A friendly name for a streaming image resource.</p> + /// A friendly name for a streaming image resource. /// [Input("name")] public Input? Name { get; set; } /// - /// <p>The studioId. </p> + /// The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. /// [Input("studioId", required: true)] public Input StudioId { get; set; } = null!; diff --git a/sdk/dotnet/NimbleStudio/Studio.cs b/sdk/dotnet/NimbleStudio/Studio.cs index 688646c377..96835a1ebe 100644 --- a/sdk/dotnet/NimbleStudio/Studio.cs +++ b/sdk/dotnet/NimbleStudio/Studio.cs @@ -10,31 +10,31 @@ namespace Pulumi.AwsNative.NimbleStudio { /// - /// Represents a studio that contains other Nimble Studio resources + /// Resource Type definition for AWS::NimbleStudio::Studio /// [AwsNativeResourceType("aws-native:nimblestudio:Studio")] public partial class Studio : global::Pulumi.CustomResource { /// - /// <p>The IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.</p> + /// The IAM role that studio admins assume when logging in to the Nimble Studio portal. /// [Output("adminRoleArn")] public Output AdminRoleArn { get; private set; } = null!; /// - /// <p>A friendly name for the studio.</p> + /// A friendly name for the studio. /// [Output("displayName")] public Output DisplayName { get; private set; } = null!; /// - /// <p>The Amazon Web Services Region where the studio resource is located.</p> + /// The AWS Region where the studio resource is located. For example, `us-west-2` . /// [Output("homeRegion")] public Output HomeRegion { get; private set; } = null!; /// - /// <p>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.</p> + /// 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. /// [Output("ssoClientId")] public Output SsoClientId { get; private set; } = null!; @@ -52,13 +52,13 @@ public partial class Studio : global::Pulumi.CustomResource public Output StudioId { get; private set; } = null!; /// - /// <p>The studio name that is used in the URL of the Nimble Studio portal when accessed by Nimble Studio users.</p> + /// The name of the studio, as included in the URL when accessing it in the Nimble Studio portal. /// [Output("studioName")] public Output StudioName { get; private set; } = null!; /// - /// <p>The address of the web page for the studio.</p> + /// The unique identifier for the studio resource. /// [Output("studioUrl")] public Output StudioUrl { get; private set; } = null!; @@ -72,7 +72,7 @@ public partial class Studio : global::Pulumi.CustomResource public Output?> Tags { get; private set; } = null!; /// - /// <p>The IAM role that Studio Users will assume when logging in to the Nimble Studio portal.</p> + /// The IAM role that studio users assume when logging in to the Nimble Studio portal. /// [Output("userRoleArn")] public Output UserRoleArn { get; private set; } = null!; @@ -128,13 +128,13 @@ public static Studio Get(string name, Input id, CustomResourceOptions? o public sealed class StudioArgs : global::Pulumi.ResourceArgs { /// - /// <p>The IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.</p> + /// The IAM role that studio admins assume when logging in to the Nimble Studio portal. /// [Input("adminRoleArn", required: true)] public Input AdminRoleArn { get; set; } = null!; /// - /// <p>A friendly name for the studio.</p> + /// A friendly name for the studio. /// [Input("displayName", required: true)] public Input DisplayName { get; set; } = null!; @@ -146,7 +146,7 @@ public sealed class StudioArgs : global::Pulumi.ResourceArgs public Input? StudioEncryptionConfiguration { get; set; } /// - /// <p>The studio name that is used in the URL of the Nimble Studio portal when accessed by Nimble Studio users.</p> + /// The name of the studio, as included in the URL when accessing it in the Nimble Studio portal. /// [Input("studioName")] public Input? StudioName { get; set; } @@ -166,7 +166,7 @@ public InputMap Tags } /// - /// <p>The IAM role that Studio Users will assume when logging in to the Nimble Studio portal.</p> + /// The IAM role that studio users assume when logging in to the Nimble Studio portal. /// [Input("userRoleArn", required: true)] public Input UserRoleArn { get; set; } = null!; diff --git a/sdk/dotnet/NimbleStudio/StudioComponent.cs b/sdk/dotnet/NimbleStudio/StudioComponent.cs index 4c4fd454f4..9303e9be04 100644 --- a/sdk/dotnet/NimbleStudio/StudioComponent.cs +++ b/sdk/dotnet/NimbleStudio/StudioComponent.cs @@ -10,7 +10,7 @@ namespace Pulumi.AwsNative.NimbleStudio { /// - /// Represents a studio component that connects a non-Nimble Studio resource in your account to your studio + /// Resource Type definition for AWS::NimbleStudio::StudioComponent /// [AwsNativeResourceType("aws-native:nimblestudio:StudioComponent")] public partial class StudioComponent : global::Pulumi.CustomResource @@ -19,50 +19,38 @@ public partial class StudioComponent : global::Pulumi.CustomResource /// The configuration of the studio component, based on component type. /// [Output("configuration")] - public Output Configuration { get; private set; } = null!; + public Output Configuration { get; private set; } = null!; /// - /// <p>The description.</p> + /// A human-readable description for the studio component resource. /// [Output("description")] public Output Description { get; private set; } = null!; /// - /// <p>The EC2 security groups that control access to the studio component.</p> + /// The EC2 security groups that control access to the studio component. /// [Output("ec2SecurityGroupIds")] public Output> Ec2SecurityGroupIds { get; private set; } = null!; /// - /// <p>Initialization scripts for studio components.</p> + /// Initialization scripts for studio components. /// [Output("initializationScripts")] public Output> InitializationScripts { get; private set; } = null!; /// - /// <p>The name for the studio component.</p> + /// A friendly name for the studio component resource. /// [Output("name")] public Output Name { get; private set; } = null!; /// - /// An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running. - /// - [Output("runtimeRoleArn")] - public Output RuntimeRoleArn { get; private set; } = null!; - - /// - /// <p>Parameters for the studio component scripts.</p> + /// Parameters for the studio component scripts. /// [Output("scriptParameters")] public Output> ScriptParameters { get; private set; } = null!; - /// - /// 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. - /// - [Output("secureInitializationRoleArn")] - public Output SecureInitializationRoleArn { get; private set; } = null!; - /// /// The unique identifier for the studio component resource. /// @@ -70,7 +58,7 @@ public partial class StudioComponent : global::Pulumi.CustomResource public Output StudioComponentId { get; private set; } = null!; /// - /// <p>The studio ID. </p> + /// The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. /// [Output("studioId")] public Output StudioId { get; private set; } = null!; @@ -79,7 +67,7 @@ public partial class StudioComponent : global::Pulumi.CustomResource /// The specific subtype of a studio component. /// [Output("subtype")] - public Output Subtype { get; private set; } = null!; + public Output Subtype { get; private set; } = null!; /// /// An array of key-value pairs to apply to this resource. @@ -93,7 +81,7 @@ public partial class StudioComponent : global::Pulumi.CustomResource /// The type of the studio component. /// [Output("type")] - public Output Type { get; private set; } = null!; + public Output Type { get; private set; } = null!; /// @@ -150,10 +138,10 @@ public sealed class StudioComponentArgs : global::Pulumi.ResourceArgs /// The configuration of the studio component, based on component type. /// [Input("configuration")] - public object? Configuration { get; set; } + public Input? Configuration { get; set; } /// - /// <p>The description.</p> + /// A human-readable description for the studio component resource. /// [Input("description")] public Input? Description { get; set; } @@ -162,7 +150,7 @@ public sealed class StudioComponentArgs : global::Pulumi.ResourceArgs private InputList? _ec2SecurityGroupIds; /// - /// <p>The EC2 security groups that control access to the studio component.</p> + /// The EC2 security groups that control access to the studio component. /// public InputList Ec2SecurityGroupIds { @@ -174,7 +162,7 @@ public InputList Ec2SecurityGroupIds private InputList? _initializationScripts; /// - /// <p>Initialization scripts for studio components.</p> + /// Initialization scripts for studio components. /// public InputList InitializationScripts { @@ -183,22 +171,16 @@ public InputList InitializationS } /// - /// <p>The name for the studio component.</p> + /// A friendly name for the studio component resource. /// [Input("name")] public Input? Name { get; set; } - /// - /// An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running. - /// - [Input("runtimeRoleArn")] - public Input? RuntimeRoleArn { get; set; } - [Input("scriptParameters")] private InputList? _scriptParameters; /// - /// <p>Parameters for the studio component scripts.</p> + /// Parameters for the studio component scripts. /// public InputList ScriptParameters { @@ -207,13 +189,7 @@ public InputList ScriptParame } /// - /// 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. - /// - [Input("secureInitializationRoleArn")] - public Input? SecureInitializationRoleArn { get; set; } - - /// - /// <p>The studio ID. </p> + /// The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. /// [Input("studioId", required: true)] public Input StudioId { get; set; } = null!; @@ -222,7 +198,7 @@ public InputList ScriptParame /// The specific subtype of a studio component. /// [Input("subtype")] - public Input? Subtype { get; set; } + public Input? Subtype { get; set; } [Input("tags")] private InputMap? _tags; @@ -242,7 +218,7 @@ public InputMap Tags /// The type of the studio component. /// [Input("type", required: true)] - public Input Type { get; set; } = null!; + public Input Type { get; set; } = null!; public StudioComponentArgs() { diff --git a/sdk/dotnet/QuickSight/Enums.cs b/sdk/dotnet/QuickSight/Enums.cs index ab2beb191c..2c34793457 100644 --- a/sdk/dotnet/QuickSight/Enums.cs +++ b/sdk/dotnet/QuickSight/Enums.cs @@ -1183,6 +1183,7 @@ private AnalysisLayoutElementType(string value) public static AnalysisLayoutElementType FilterControl { get; } = new AnalysisLayoutElementType("FILTER_CONTROL"); public static AnalysisLayoutElementType ParameterControl { get; } = new AnalysisLayoutElementType("PARAMETER_CONTROL"); public static AnalysisLayoutElementType TextBox { get; } = new AnalysisLayoutElementType("TEXT_BOX"); + public static AnalysisLayoutElementType Image { get; } = new AnalysisLayoutElementType("IMAGE"); public static bool operator ==(AnalysisLayoutElementType left, AnalysisLayoutElementType right) => left.Equals(right); public static bool operator !=(AnalysisLayoutElementType left, AnalysisLayoutElementType right) => !left.Equals(right); @@ -4681,6 +4682,7 @@ private DashboardLayoutElementType(string value) public static DashboardLayoutElementType FilterControl { get; } = new DashboardLayoutElementType("FILTER_CONTROL"); public static DashboardLayoutElementType ParameterControl { get; } = new DashboardLayoutElementType("PARAMETER_CONTROL"); public static DashboardLayoutElementType TextBox { get; } = new DashboardLayoutElementType("TEXT_BOX"); + public static DashboardLayoutElementType Image { get; } = new DashboardLayoutElementType("IMAGE"); public static bool operator ==(DashboardLayoutElementType left, DashboardLayoutElementType right) => left.Equals(right); public static bool operator !=(DashboardLayoutElementType left, DashboardLayoutElementType right) => !left.Equals(right); @@ -7452,6 +7454,35 @@ private DataSetTimeGranularity(string value) public override string ToString() => _value; } + [EnumType] + public readonly struct DataSourceAuthenticationType : IEquatable + { + private readonly string _value; + + private DataSourceAuthenticationType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static DataSourceAuthenticationType Password { get; } = new DataSourceAuthenticationType("PASSWORD"); + public static DataSourceAuthenticationType Token { get; } = new DataSourceAuthenticationType("TOKEN"); + public static DataSourceAuthenticationType X509 { get; } = new DataSourceAuthenticationType("X509"); + + public static bool operator ==(DataSourceAuthenticationType left, DataSourceAuthenticationType right) => left.Equals(right); + public static bool operator !=(DataSourceAuthenticationType left, DataSourceAuthenticationType right) => !left.Equals(right); + + public static explicit operator string(DataSourceAuthenticationType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is DataSourceAuthenticationType other && Equals(other); + public bool Equals(DataSourceAuthenticationType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + [EnumType] public readonly struct DataSourceErrorInfoType : IEquatable { @@ -8943,6 +8974,7 @@ private TemplateLayoutElementType(string value) public static TemplateLayoutElementType FilterControl { get; } = new TemplateLayoutElementType("FILTER_CONTROL"); public static TemplateLayoutElementType ParameterControl { get; } = new TemplateLayoutElementType("PARAMETER_CONTROL"); public static TemplateLayoutElementType TextBox { get; } = new TemplateLayoutElementType("TEXT_BOX"); + public static TemplateLayoutElementType Image { get; } = new TemplateLayoutElementType("IMAGE"); public static bool operator ==(TemplateLayoutElementType left, TemplateLayoutElementType right) => left.Equals(right); public static bool operator !=(TemplateLayoutElementType left, TemplateLayoutElementType right) => !left.Equals(right); diff --git a/sdk/dotnet/QuickSight/Inputs/DataSourceOAuthParametersArgs.cs b/sdk/dotnet/QuickSight/Inputs/DataSourceOAuthParametersArgs.cs new file mode 100644 index 0000000000..c92611af37 --- /dev/null +++ b/sdk/dotnet/QuickSight/Inputs/DataSourceOAuthParametersArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.QuickSight.Inputs +{ + + public sealed class DataSourceOAuthParametersArgs : global::Pulumi.ResourceArgs + { + [Input("identityProviderResourceUri")] + public Input? IdentityProviderResourceUri { get; set; } + + [Input("identityProviderVpcConnectionProperties")] + public Input? IdentityProviderVpcConnectionProperties { get; set; } + + [Input("oAuthScope")] + public Input? OAuthScope { get; set; } + + [Input("tokenProviderUrl", required: true)] + public Input TokenProviderUrl { get; set; } = null!; + + public DataSourceOAuthParametersArgs() + { + } + public static new DataSourceOAuthParametersArgs Empty => new DataSourceOAuthParametersArgs(); + } +} diff --git a/sdk/dotnet/QuickSight/Inputs/DataSourceSnowflakeParametersArgs.cs b/sdk/dotnet/QuickSight/Inputs/DataSourceSnowflakeParametersArgs.cs index 1a6626fe4a..f6ca648d6a 100644 --- a/sdk/dotnet/QuickSight/Inputs/DataSourceSnowflakeParametersArgs.cs +++ b/sdk/dotnet/QuickSight/Inputs/DataSourceSnowflakeParametersArgs.cs @@ -15,18 +15,27 @@ namespace Pulumi.AwsNative.QuickSight.Inputs /// public sealed class DataSourceSnowflakeParametersArgs : global::Pulumi.ResourceArgs { + [Input("authenticationType")] + public Input? AuthenticationType { get; set; } + /// /// <p>Database.</p> /// [Input("database", required: true)] public Input Database { get; set; } = null!; + [Input("databaseAccessControlRole")] + public Input? DatabaseAccessControlRole { get; set; } + /// /// <p>Host.</p> /// [Input("host", required: true)] public Input Host { get; set; } = null!; + [Input("oAuthParameters")] + public Input? OAuthParameters { get; set; } + /// /// <p>Warehouse.</p> /// diff --git a/sdk/dotnet/QuickSight/Inputs/DataSourceStarburstParametersArgs.cs b/sdk/dotnet/QuickSight/Inputs/DataSourceStarburstParametersArgs.cs index a1d60e117a..64399255e6 100644 --- a/sdk/dotnet/QuickSight/Inputs/DataSourceStarburstParametersArgs.cs +++ b/sdk/dotnet/QuickSight/Inputs/DataSourceStarburstParametersArgs.cs @@ -15,18 +15,27 @@ namespace Pulumi.AwsNative.QuickSight.Inputs /// public sealed class DataSourceStarburstParametersArgs : global::Pulumi.ResourceArgs { + [Input("authenticationType")] + public Input? AuthenticationType { get; set; } + /// /// <p>The catalog name for the Starburst data source.</p> /// [Input("catalog", required: true)] public Input Catalog { get; set; } = null!; + [Input("databaseAccessControlRole")] + public Input? DatabaseAccessControlRole { get; set; } + /// /// <p>The host name of the Starburst data source.</p> /// [Input("host", required: true)] public Input Host { get; set; } = null!; + [Input("oAuthParameters")] + public Input? OAuthParameters { get; set; } + /// /// <p>The port for the Starburst data source.</p> /// diff --git a/sdk/dotnet/QuickSight/Outputs/DataSourceOAuthParameters.cs b/sdk/dotnet/QuickSight/Outputs/DataSourceOAuthParameters.cs new file mode 100644 index 0000000000..e1744db92b --- /dev/null +++ b/sdk/dotnet/QuickSight/Outputs/DataSourceOAuthParameters.cs @@ -0,0 +1,37 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.QuickSight.Outputs +{ + + [OutputType] + public sealed class DataSourceOAuthParameters + { + public readonly string? IdentityProviderResourceUri; + public readonly Outputs.DataSourceVpcConnectionProperties? IdentityProviderVpcConnectionProperties; + public readonly string? OAuthScope; + public readonly string TokenProviderUrl; + + [OutputConstructor] + private DataSourceOAuthParameters( + string? identityProviderResourceUri, + + Outputs.DataSourceVpcConnectionProperties? identityProviderVpcConnectionProperties, + + string? oAuthScope, + + string tokenProviderUrl) + { + IdentityProviderResourceUri = identityProviderResourceUri; + IdentityProviderVpcConnectionProperties = identityProviderVpcConnectionProperties; + OAuthScope = oAuthScope; + TokenProviderUrl = tokenProviderUrl; + } + } +} diff --git a/sdk/dotnet/QuickSight/Outputs/DataSourceSnowflakeParameters.cs b/sdk/dotnet/QuickSight/Outputs/DataSourceSnowflakeParameters.cs index cdd28353f6..03d06bd034 100644 --- a/sdk/dotnet/QuickSight/Outputs/DataSourceSnowflakeParameters.cs +++ b/sdk/dotnet/QuickSight/Outputs/DataSourceSnowflakeParameters.cs @@ -16,14 +16,17 @@ namespace Pulumi.AwsNative.QuickSight.Outputs [OutputType] public sealed class DataSourceSnowflakeParameters { + public readonly Pulumi.AwsNative.QuickSight.DataSourceAuthenticationType? AuthenticationType; /// /// <p>Database.</p> /// public readonly string Database; + public readonly string? DatabaseAccessControlRole; /// /// <p>Host.</p> /// public readonly string Host; + public readonly Outputs.DataSourceOAuthParameters? OAuthParameters; /// /// <p>Warehouse.</p> /// @@ -31,14 +34,23 @@ public sealed class DataSourceSnowflakeParameters [OutputConstructor] private DataSourceSnowflakeParameters( + Pulumi.AwsNative.QuickSight.DataSourceAuthenticationType? authenticationType, + string database, + string? databaseAccessControlRole, + string host, + Outputs.DataSourceOAuthParameters? oAuthParameters, + string warehouse) { + AuthenticationType = authenticationType; Database = database; + DatabaseAccessControlRole = databaseAccessControlRole; Host = host; + OAuthParameters = oAuthParameters; Warehouse = warehouse; } } diff --git a/sdk/dotnet/QuickSight/Outputs/DataSourceStarburstParameters.cs b/sdk/dotnet/QuickSight/Outputs/DataSourceStarburstParameters.cs index 6b5868d015..2a56642a56 100644 --- a/sdk/dotnet/QuickSight/Outputs/DataSourceStarburstParameters.cs +++ b/sdk/dotnet/QuickSight/Outputs/DataSourceStarburstParameters.cs @@ -16,14 +16,17 @@ namespace Pulumi.AwsNative.QuickSight.Outputs [OutputType] public sealed class DataSourceStarburstParameters { + public readonly Pulumi.AwsNative.QuickSight.DataSourceAuthenticationType? AuthenticationType; /// /// <p>The catalog name for the Starburst data source.</p> /// public readonly string Catalog; + public readonly string? DatabaseAccessControlRole; /// /// <p>The host name of the Starburst data source.</p> /// public readonly string Host; + public readonly Outputs.DataSourceOAuthParameters? OAuthParameters; /// /// <p>The port for the Starburst data source.</p> /// @@ -35,16 +38,25 @@ public sealed class DataSourceStarburstParameters [OutputConstructor] private DataSourceStarburstParameters( + Pulumi.AwsNative.QuickSight.DataSourceAuthenticationType? authenticationType, + string catalog, + string? databaseAccessControlRole, + string host, + Outputs.DataSourceOAuthParameters? oAuthParameters, + double port, Pulumi.AwsNative.QuickSight.DataSourceStarburstProductType? productType) { + AuthenticationType = authenticationType; Catalog = catalog; + DatabaseAccessControlRole = databaseAccessControlRole; Host = host; + OAuthParameters = oAuthParameters; Port = port; ProductType = productType; } diff --git a/sdk/dotnet/Rds/DbCluster.cs b/sdk/dotnet/Rds/DbCluster.cs index e3ce99328d..598de331a4 100644 --- a/sdk/dotnet/Rds/DbCluster.cs +++ b/sdk/dotnet/Rds/DbCluster.cs @@ -81,6 +81,12 @@ public partial class DbCluster : global::Pulumi.CustomResource [Output("backupRetentionPeriod")] public Output BackupRetentionPeriod { get; private set; } = null!; + /// + /// 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. + /// + [Output("clusterScalabilityType")] + public Output ClusterScalabilityType { get; private set; } = null!; + /// /// 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. /// Valid for: Aurora DB clusters and Multi-AZ DB clusters @@ -671,6 +677,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? ReplaceOnChanges = { "availabilityZones[*]", + "clusterScalabilityType", "databaseName", "dbClusterIdentifier", "dbSubnetGroupName", @@ -770,6 +777,12 @@ public InputList AvailabilityZones [Input("backupRetentionPeriod")] public Input? BackupRetentionPeriod { get; set; } + /// + /// 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. + /// + [Input("clusterScalabilityType")] + public Input? ClusterScalabilityType { get; set; } + /// /// 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. /// Valid for: Aurora DB clusters and Multi-AZ DB clusters diff --git a/sdk/dotnet/Rds/DbShardGroup.cs b/sdk/dotnet/Rds/DbShardGroup.cs new file mode 100644 index 0000000000..108fb997ac --- /dev/null +++ b/sdk/dotnet/Rds/DbShardGroup.cs @@ -0,0 +1,176 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Rds +{ + /// + /// The AWS::RDS::DBShardGroup resource creates an Amazon Aurora Limitless DB Shard Group. + /// + [AwsNativeResourceType("aws-native:rds:DbShardGroup")] + public partial class DbShardGroup : global::Pulumi.CustomResource + { + /// + /// Specifies whether to create standby instances for the DB shard group. + /// + [Output("computeRedundancy")] + public Output ComputeRedundancy { get; private set; } = null!; + + /// + /// The name of the primary DB cluster for the DB shard group. + /// + [Output("dbClusterIdentifier")] + public Output DbClusterIdentifier { get; private set; } = null!; + + /// + /// The name of the DB shard group. + /// + [Output("dbShardGroupIdentifier")] + public Output DbShardGroupIdentifier { get; private set; } = null!; + + /// + /// The Amazon Web Services Region-unique, immutable identifier for the DB shard group. + /// + [Output("dbShardGroupResourceId")] + public Output DbShardGroupResourceId { get; private set; } = null!; + + /// + /// The connection endpoint for the DB shard group. + /// + [Output("endpoint")] + public Output Endpoint { get; private set; } = null!; + + /// + /// The maximum capacity of the DB shard group in Aurora capacity units (ACUs). + /// + [Output("maxAcu")] + public Output MaxAcu { get; private set; } = null!; + + /// + /// The minimum capacity of the DB shard group in Aurora capacity units (ACUs). + /// + [Output("minAcu")] + public Output MinAcu { get; private set; } = null!; + + /// + /// Indicates whether the DB shard group is publicly accessible. + /// + [Output("publiclyAccessible")] + public Output PubliclyAccessible { get; private set; } = null!; + + /// + /// An array of key-value pairs to apply to this resource. + /// + [Output("tags")] + public Output> Tags { get; private set; } = null!; + + + /// + /// Create a DbShardGroup resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public DbShardGroup(string name, DbShardGroupArgs args, CustomResourceOptions? options = null) + : base("aws-native:rds:DbShardGroup", name, args ?? new DbShardGroupArgs(), MakeResourceOptions(options, "")) + { + } + + private DbShardGroup(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:rds:DbShardGroup", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "dbClusterIdentifier", + "dbShardGroupIdentifier", + "publiclyAccessible", + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing DbShardGroup resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static DbShardGroup Get(string name, Input id, CustomResourceOptions? options = null) + { + return new DbShardGroup(name, id, options); + } + } + + public sealed class DbShardGroupArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies whether to create standby instances for the DB shard group. + /// + [Input("computeRedundancy")] + public Input? ComputeRedundancy { get; set; } + + /// + /// The name of the primary DB cluster for the DB shard group. + /// + [Input("dbClusterIdentifier", required: true)] + public Input DbClusterIdentifier { get; set; } = null!; + + /// + /// The name of the DB shard group. + /// + [Input("dbShardGroupIdentifier")] + public Input? DbShardGroupIdentifier { get; set; } + + /// + /// The maximum capacity of the DB shard group in Aurora capacity units (ACUs). + /// + [Input("maxAcu", required: true)] + public Input MaxAcu { get; set; } = null!; + + /// + /// The minimum capacity of the DB shard group in Aurora capacity units (ACUs). + /// + [Input("minAcu")] + public Input? MinAcu { get; set; } + + /// + /// Indicates whether the DB shard group is publicly accessible. + /// + [Input("publiclyAccessible")] + public Input? PubliclyAccessible { get; set; } + + [Input("tags")] + private InputList? _tags; + + /// + /// An array of key-value pairs to apply to this resource. + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + public DbShardGroupArgs() + { + } + public static new DbShardGroupArgs Empty => new DbShardGroupArgs(); + } +} diff --git a/sdk/dotnet/Rds/GetDbShardGroup.cs b/sdk/dotnet/Rds/GetDbShardGroup.cs new file mode 100644 index 0000000000..0735567385 --- /dev/null +++ b/sdk/dotnet/Rds/GetDbShardGroup.cs @@ -0,0 +1,100 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Rds +{ + public static class GetDbShardGroup + { + /// + /// The AWS::RDS::DBShardGroup resource creates an Amazon Aurora Limitless DB Shard Group. + /// + public static Task InvokeAsync(GetDbShardGroupArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:rds:getDbShardGroup", args ?? new GetDbShardGroupArgs(), options.WithDefaults()); + + /// + /// The AWS::RDS::DBShardGroup resource creates an Amazon Aurora Limitless DB Shard Group. + /// + public static Output Invoke(GetDbShardGroupInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:rds:getDbShardGroup", args ?? new GetDbShardGroupInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetDbShardGroupArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the DB shard group. + /// + [Input("dbShardGroupIdentifier", required: true)] + public string DbShardGroupIdentifier { get; set; } = null!; + + public GetDbShardGroupArgs() + { + } + public static new GetDbShardGroupArgs Empty => new GetDbShardGroupArgs(); + } + + public sealed class GetDbShardGroupInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The name of the DB shard group. + /// + [Input("dbShardGroupIdentifier", required: true)] + public Input DbShardGroupIdentifier { get; set; } = null!; + + public GetDbShardGroupInvokeArgs() + { + } + public static new GetDbShardGroupInvokeArgs Empty => new GetDbShardGroupInvokeArgs(); + } + + + [OutputType] + public sealed class GetDbShardGroupResult + { + /// + /// Specifies whether to create standby instances for the DB shard group. + /// + public readonly int? ComputeRedundancy; + /// + /// The Amazon Web Services Region-unique, immutable identifier for the DB shard group. + /// + public readonly string? DbShardGroupResourceId; + /// + /// The connection endpoint for the DB shard group. + /// + public readonly string? Endpoint; + /// + /// The maximum capacity of the DB shard group in Aurora capacity units (ACUs). + /// + public readonly double? MaxAcu; + /// + /// An array of key-value pairs to apply to this resource. + /// + public readonly ImmutableArray Tags; + + [OutputConstructor] + private GetDbShardGroupResult( + int? computeRedundancy, + + string? dbShardGroupResourceId, + + string? endpoint, + + double? maxAcu, + + ImmutableArray tags) + { + ComputeRedundancy = computeRedundancy; + DbShardGroupResourceId = dbShardGroupResourceId; + Endpoint = endpoint; + MaxAcu = maxAcu; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/Transfer/Enums.cs b/sdk/dotnet/Transfer/Enums.cs index 78dbc62caf..f11f77257b 100644 --- a/sdk/dotnet/Transfer/Enums.cs +++ b/sdk/dotnet/Transfer/Enums.cs @@ -591,6 +591,62 @@ private ServerTlsSessionResumptionMode(string value) public override string ToString() => _value; } + [EnumType] + public readonly struct UserHomeDirectoryType : IEquatable + { + private readonly string _value; + + private UserHomeDirectoryType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static UserHomeDirectoryType Path { get; } = new UserHomeDirectoryType("PATH"); + public static UserHomeDirectoryType Logical { get; } = new UserHomeDirectoryType("LOGICAL"); + + public static bool operator ==(UserHomeDirectoryType left, UserHomeDirectoryType right) => left.Equals(right); + public static bool operator !=(UserHomeDirectoryType left, UserHomeDirectoryType right) => !left.Equals(right); + + public static explicit operator string(UserHomeDirectoryType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is UserHomeDirectoryType other && Equals(other); + public bool Equals(UserHomeDirectoryType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + [EnumType] + public readonly struct UserMapType : IEquatable + { + private readonly string _value; + + private UserMapType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static UserMapType File { get; } = new UserMapType("FILE"); + public static UserMapType Directory { get; } = new UserMapType("DIRECTORY"); + + public static bool operator ==(UserMapType left, UserMapType right) => left.Equals(right); + public static bool operator !=(UserMapType left, UserMapType right) => !left.Equals(right); + + public static explicit operator string(UserMapType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is UserMapType other && Equals(other); + public bool Equals(UserMapType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// A flag that indicates whether or not to overwrite an existing file of the same name. The default is FALSE. /// diff --git a/sdk/dotnet/Transfer/GetUser.cs b/sdk/dotnet/Transfer/GetUser.cs new file mode 100644 index 0000000000..ab16efe1e2 --- /dev/null +++ b/sdk/dotnet/Transfer/GetUser.cs @@ -0,0 +1,156 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Transfer +{ + public static class GetUser + { + /// + /// Definition of AWS::Transfer::User Resource Type + /// + public static Task InvokeAsync(GetUserArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:transfer:getUser", args ?? new GetUserArgs(), options.WithDefaults()); + + /// + /// Definition of AWS::Transfer::User Resource Type + /// + public static Output Invoke(GetUserInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:transfer:getUser", args ?? new GetUserInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetUserArgs : global::Pulumi.InvokeArgs + { + /// + /// The Amazon Resource Name associated with the user, in the form `arn:aws:transfer:region: *account-id* :user/ *server-id* / *username*` . + /// + /// An example of a user ARN is: `arn:aws:transfer:us-east-1:123456789012:user/user1` . + /// + [Input("arn", required: true)] + public string Arn { get; set; } = null!; + + public GetUserArgs() + { + } + public static new GetUserArgs Empty => new GetUserArgs(); + } + + public sealed class GetUserInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The Amazon Resource Name associated with the user, in the form `arn:aws:transfer:region: *account-id* :user/ *server-id* / *username*` . + /// + /// An example of a user ARN is: `arn:aws:transfer:us-east-1:123456789012:user/user1` . + /// + [Input("arn", required: true)] + public Input Arn { get; set; } = null!; + + public GetUserInvokeArgs() + { + } + public static new GetUserInvokeArgs Empty => new GetUserInvokeArgs(); + } + + + [OutputType] + public sealed class GetUserResult + { + /// + /// The Amazon Resource Name associated with the user, in the form `arn:aws:transfer:region: *account-id* :user/ *server-id* / *username*` . + /// + /// An example of a user ARN is: `arn:aws:transfer:us-east-1:123456789012:user/user1` . + /// + public readonly string? Arn; + /// + /// The landing directory (folder) for a user when they log in to the server using the client. + /// + /// A `HomeDirectory` example is `/bucket_name/home/mydirectory` . + /// + /// > The `HomeDirectory` parameter is only used if `HomeDirectoryType` is set to `PATH` . + /// + public readonly string? HomeDirectory; + /// + /// 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* . + /// + /// The following is an `Entry` and `Target` pair example. + /// + /// `[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]` + /// + /// In 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. + /// + /// The following is an `Entry` and `Target` pair example for `chroot` . + /// + /// `[ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ]` + /// + public readonly ImmutableArray HomeDirectoryMappings; + /// + /// 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. + /// + /// > 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. + /// + public readonly Pulumi.AwsNative.Transfer.UserHomeDirectoryType? HomeDirectoryType; + /// + /// 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}` . + /// + /// > 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. + /// > + /// > For an example of a session policy, see [Example session policy](https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html) . + /// > + /// > For more information, see [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) in the *AWS Security Token Service API Reference* . + /// + public readonly string? Policy; + /// + /// 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. + /// + public readonly Outputs.UserPosixProfile? PosixProfile; + /// + /// 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. + /// + public readonly string? Role; + /// + /// This represents the SSH User Public Keys for CloudFormation resource + /// + public readonly ImmutableArray SshPublicKeys; + /// + /// Key-value pairs that can be used to group and search for users. Tags are metadata attached to users for any purpose. + /// + public readonly ImmutableArray Tags; + + [OutputConstructor] + private GetUserResult( + string? arn, + + string? homeDirectory, + + ImmutableArray homeDirectoryMappings, + + Pulumi.AwsNative.Transfer.UserHomeDirectoryType? homeDirectoryType, + + string? policy, + + Outputs.UserPosixProfile? posixProfile, + + string? role, + + ImmutableArray sshPublicKeys, + + ImmutableArray tags) + { + Arn = arn; + HomeDirectory = homeDirectory; + HomeDirectoryMappings = homeDirectoryMappings; + HomeDirectoryType = homeDirectoryType; + Policy = policy; + PosixProfile = posixProfile; + Role = role; + SshPublicKeys = sshPublicKeys; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/Transfer/Inputs/UserHomeDirectoryMapEntryArgs.cs b/sdk/dotnet/Transfer/Inputs/UserHomeDirectoryMapEntryArgs.cs new file mode 100644 index 0000000000..d91b519d15 --- /dev/null +++ b/sdk/dotnet/Transfer/Inputs/UserHomeDirectoryMapEntryArgs.cs @@ -0,0 +1,40 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Transfer.Inputs +{ + + public sealed class UserHomeDirectoryMapEntryArgs : global::Pulumi.ResourceArgs + { + /// + /// Represents an entry for `HomeDirectoryMappings` . + /// + [Input("entry", required: true)] + public Input Entry { get; set; } = null!; + + /// + /// Represents the map target that is used in a `HomeDirectoryMapEntry` . + /// + [Input("target", required: true)] + public Input Target { get; set; } = null!; + + /// + /// 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. + /// + /// > 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. + /// + [Input("type")] + public Input? Type { get; set; } + + public UserHomeDirectoryMapEntryArgs() + { + } + public static new UserHomeDirectoryMapEntryArgs Empty => new UserHomeDirectoryMapEntryArgs(); + } +} diff --git a/sdk/dotnet/Transfer/Inputs/UserPosixProfileArgs.cs b/sdk/dotnet/Transfer/Inputs/UserPosixProfileArgs.cs new file mode 100644 index 0000000000..980fc82818 --- /dev/null +++ b/sdk/dotnet/Transfer/Inputs/UserPosixProfileArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Transfer.Inputs +{ + + public sealed class UserPosixProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// The POSIX group ID used for all EFS operations by this user. + /// + [Input("gid", required: true)] + public Input Gid { get; set; } = null!; + + [Input("secondaryGids")] + private InputList? _secondaryGids; + + /// + /// The secondary POSIX group IDs used for all EFS operations by this user. + /// + public InputList SecondaryGids + { + get => _secondaryGids ?? (_secondaryGids = new InputList()); + set => _secondaryGids = value; + } + + /// + /// The POSIX user ID used for all EFS operations by this user. + /// + [Input("uid", required: true)] + public Input Uid { get; set; } = null!; + + public UserPosixProfileArgs() + { + } + public static new UserPosixProfileArgs Empty => new UserPosixProfileArgs(); + } +} diff --git a/sdk/dotnet/Transfer/Outputs/UserHomeDirectoryMapEntry.cs b/sdk/dotnet/Transfer/Outputs/UserHomeDirectoryMapEntry.cs new file mode 100644 index 0000000000..2a028c83c4 --- /dev/null +++ b/sdk/dotnet/Transfer/Outputs/UserHomeDirectoryMapEntry.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Transfer.Outputs +{ + + [OutputType] + public sealed class UserHomeDirectoryMapEntry + { + /// + /// Represents an entry for `HomeDirectoryMappings` . + /// + public readonly string Entry; + /// + /// Represents the map target that is used in a `HomeDirectoryMapEntry` . + /// + public readonly string Target; + /// + /// 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. + /// + /// > 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. + /// + public readonly Pulumi.AwsNative.Transfer.UserMapType? Type; + + [OutputConstructor] + private UserHomeDirectoryMapEntry( + string entry, + + string target, + + Pulumi.AwsNative.Transfer.UserMapType? type) + { + Entry = entry; + Target = target; + Type = type; + } + } +} diff --git a/sdk/dotnet/Transfer/Outputs/UserPosixProfile.cs b/sdk/dotnet/Transfer/Outputs/UserPosixProfile.cs new file mode 100644 index 0000000000..27f864678d --- /dev/null +++ b/sdk/dotnet/Transfer/Outputs/UserPosixProfile.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Transfer.Outputs +{ + + [OutputType] + public sealed class UserPosixProfile + { + /// + /// The POSIX group ID used for all EFS operations by this user. + /// + public readonly double Gid; + /// + /// The secondary POSIX group IDs used for all EFS operations by this user. + /// + public readonly ImmutableArray SecondaryGids; + /// + /// The POSIX user ID used for all EFS operations by this user. + /// + public readonly double Uid; + + [OutputConstructor] + private UserPosixProfile( + double gid, + + ImmutableArray secondaryGids, + + double uid) + { + Gid = gid; + SecondaryGids = secondaryGids; + Uid = uid; + } + } +} diff --git a/sdk/dotnet/Transfer/User.cs b/sdk/dotnet/Transfer/User.cs new file mode 100644 index 0000000000..89cfd03ec6 --- /dev/null +++ b/sdk/dotnet/Transfer/User.cs @@ -0,0 +1,263 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Transfer +{ + /// + /// Definition of AWS::Transfer::User Resource Type + /// + [AwsNativeResourceType("aws-native:transfer:User")] + public partial class User : global::Pulumi.CustomResource + { + /// + /// The Amazon Resource Name associated with the user, in the form `arn:aws:transfer:region: *account-id* :user/ *server-id* / *username*` . + /// + /// An example of a user ARN is: `arn:aws:transfer:us-east-1:123456789012:user/user1` . + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// The landing directory (folder) for a user when they log in to the server using the client. + /// + /// A `HomeDirectory` example is `/bucket_name/home/mydirectory` . + /// + /// > The `HomeDirectory` parameter is only used if `HomeDirectoryType` is set to `PATH` . + /// + [Output("homeDirectory")] + public Output HomeDirectory { get; private set; } = null!; + + /// + /// 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* . + /// + /// The following is an `Entry` and `Target` pair example. + /// + /// `[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]` + /// + /// In 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. + /// + /// The following is an `Entry` and `Target` pair example for `chroot` . + /// + /// `[ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ]` + /// + [Output("homeDirectoryMappings")] + public Output> HomeDirectoryMappings { get; private set; } = null!; + + /// + /// 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. + /// + /// > 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. + /// + [Output("homeDirectoryType")] + public Output HomeDirectoryType { get; private set; } = null!; + + /// + /// 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}` . + /// + /// > 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. + /// > + /// > For an example of a session policy, see [Example session policy](https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html) . + /// > + /// > For more information, see [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) in the *AWS Security Token Service API Reference* . + /// + [Output("policy")] + public Output Policy { get; private set; } = null!; + + /// + /// 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. + /// + [Output("posixProfile")] + public Output PosixProfile { get; private set; } = null!; + + /// + /// 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. + /// + [Output("role")] + public Output Role { get; private set; } = null!; + + /// + /// A system-assigned unique identifier for a server instance. This is the specific server that you added your user to. + /// + [Output("serverId")] + public Output ServerId { get; private set; } = null!; + + /// + /// This represents the SSH User Public Keys for CloudFormation resource + /// + [Output("sshPublicKeys")] + public Output> SshPublicKeys { get; private set; } = null!; + + /// + /// Key-value pairs that can be used to group and search for users. Tags are metadata attached to users for any purpose. + /// + [Output("tags")] + public Output> Tags { get; private set; } = null!; + + /// + /// 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. + /// + [Output("userName")] + public Output UserName { get; private set; } = null!; + + + /// + /// Create a User resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public User(string name, UserArgs args, CustomResourceOptions? options = null) + : base("aws-native:transfer:User", name, args ?? new UserArgs(), MakeResourceOptions(options, "")) + { + } + + private User(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:transfer:User", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "serverId", + "userName", + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing User resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static User Get(string name, Input id, CustomResourceOptions? options = null) + { + return new User(name, id, options); + } + } + + public sealed class UserArgs : global::Pulumi.ResourceArgs + { + /// + /// The landing directory (folder) for a user when they log in to the server using the client. + /// + /// A `HomeDirectory` example is `/bucket_name/home/mydirectory` . + /// + /// > The `HomeDirectory` parameter is only used if `HomeDirectoryType` is set to `PATH` . + /// + [Input("homeDirectory")] + public Input? HomeDirectory { get; set; } + + [Input("homeDirectoryMappings")] + private InputList? _homeDirectoryMappings; + + /// + /// 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* . + /// + /// The following is an `Entry` and `Target` pair example. + /// + /// `[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]` + /// + /// In 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. + /// + /// The following is an `Entry` and `Target` pair example for `chroot` . + /// + /// `[ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ]` + /// + public InputList HomeDirectoryMappings + { + get => _homeDirectoryMappings ?? (_homeDirectoryMappings = new InputList()); + set => _homeDirectoryMappings = value; + } + + /// + /// 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. + /// + /// > 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. + /// + [Input("homeDirectoryType")] + public Input? HomeDirectoryType { get; set; } + + /// + /// 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}` . + /// + /// > 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. + /// > + /// > For an example of a session policy, see [Example session policy](https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html) . + /// > + /// > For more information, see [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) in the *AWS Security Token Service API Reference* . + /// + [Input("policy")] + public Input? Policy { get; set; } + + /// + /// 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. + /// + [Input("posixProfile")] + public Input? PosixProfile { get; set; } + + /// + /// 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. + /// + [Input("role", required: true)] + public Input Role { get; set; } = null!; + + /// + /// A system-assigned unique identifier for a server instance. This is the specific server that you added your user to. + /// + [Input("serverId", required: true)] + public Input ServerId { get; set; } = null!; + + [Input("sshPublicKeys")] + private InputList? _sshPublicKeys; + + /// + /// This represents the SSH User Public Keys for CloudFormation resource + /// + public InputList SshPublicKeys + { + get => _sshPublicKeys ?? (_sshPublicKeys = new InputList()); + set => _sshPublicKeys = value; + } + + [Input("tags")] + private InputList? _tags; + + /// + /// Key-value pairs that can be used to group and search for users. Tags are metadata attached to users for any purpose. + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + /// + /// 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. + /// + [Input("userName")] + public Input? UserName { get; set; } + + public UserArgs() + { + } + public static new UserArgs Empty => new UserArgs(); + } +} diff --git a/sdk/dotnet/Wisdom/AiAgent.cs b/sdk/dotnet/Wisdom/AiAgent.cs index a1069878f5..4653dedcff 100644 --- a/sdk/dotnet/Wisdom/AiAgent.cs +++ b/sdk/dotnet/Wisdom/AiAgent.cs @@ -15,30 +15,57 @@ namespace Pulumi.AwsNative.Wisdom [AwsNativeResourceType("aws-native:wisdom:AiAgent")] public partial class AiAgent : global::Pulumi.CustomResource { + /// + /// The Amazon Resource Name (ARN) of the AI agent. + /// [Output("aiAgentArn")] public Output AiAgentArn { get; private set; } = null!; + /// + /// The identifier of the AI Agent. + /// [Output("aiAgentId")] public Output AiAgentId { get; private set; } = null!; + /// + /// The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant. + /// [Output("assistantArn")] public Output AssistantArn { get; private set; } = null!; + /// + /// The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. + /// [Output("assistantId")] public Output AssistantId { get; private set; } = null!; + /// + /// Configuration for the AI Agent. + /// [Output("configuration")] public Output> Configuration { get; private set; } = null!; + /// + /// The description of the AI Agent. + /// [Output("description")] public Output Description { get; private set; } = null!; + /// + /// The name of the AI Agent. + /// [Output("name")] public Output Name { get; private set; } = null!; + /// + /// The tags used to organize, track, or control access for this resource. + /// [Output("tags")] public Output?> Tags { get; private set; } = null!; + /// + /// The type of the AI Agent. + /// [Output("type")] public Output Type { get; private set; } = null!; @@ -94,26 +121,45 @@ public static AiAgent Get(string name, Input id, CustomResourceOptions? public sealed class AiAgentArgs : global::Pulumi.ResourceArgs { + /// + /// The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. + /// [Input("assistantId", required: true)] public Input AssistantId { get; set; } = null!; + /// + /// Configuration for the AI Agent. + /// [Input("configuration", required: true)] public InputUnion Configuration { get; set; } = null!; + /// + /// The description of the AI Agent. + /// [Input("description")] public Input? Description { get; set; } + /// + /// The name of the AI Agent. + /// [Input("name")] public Input? Name { get; set; } [Input("tags")] private InputMap? _tags; + + /// + /// The tags used to organize, track, or control access for this resource. + /// public InputMap Tags { get => _tags ?? (_tags = new InputMap()); set => _tags = value; } + /// + /// The type of the AI Agent. + /// [Input("type", required: true)] public Input Type { get; set; } = null!; diff --git a/sdk/dotnet/Wisdom/AiAgentVersion.cs b/sdk/dotnet/Wisdom/AiAgentVersion.cs new file mode 100644 index 0000000000..d9aef3d3a7 --- /dev/null +++ b/sdk/dotnet/Wisdom/AiAgentVersion.cs @@ -0,0 +1,107 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Wisdom +{ + /// + /// Definition of AWS::Wisdom::AIAgentVersion Resource Type + /// + [AwsNativeResourceType("aws-native:wisdom:AiAgentVersion")] + public partial class AiAgentVersion : global::Pulumi.CustomResource + { + [Output("aiAgentArn")] + public Output AiAgentArn { get; private set; } = null!; + + [Output("aiAgentId")] + public Output AiAgentId { get; private set; } = null!; + + [Output("aiAgentVersionId")] + public Output AiAgentVersionId { get; private set; } = null!; + + [Output("assistantArn")] + public Output AssistantArn { get; private set; } = null!; + + [Output("assistantId")] + public Output AssistantId { get; private set; } = null!; + + [Output("modifiedTimeSeconds")] + public Output ModifiedTimeSeconds { get; private set; } = null!; + + /// + /// The version number for this AI Agent version. + /// + [Output("versionNumber")] + public Output VersionNumber { get; private set; } = null!; + + + /// + /// Create a AiAgentVersion resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public AiAgentVersion(string name, AiAgentVersionArgs args, CustomResourceOptions? options = null) + : base("aws-native:wisdom:AiAgentVersion", name, args ?? new AiAgentVersionArgs(), MakeResourceOptions(options, "")) + { + } + + private AiAgentVersion(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:wisdom:AiAgentVersion", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "aiAgentId", + "assistantId", + "modifiedTimeSeconds", + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing AiAgentVersion resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static AiAgentVersion Get(string name, Input id, CustomResourceOptions? options = null) + { + return new AiAgentVersion(name, id, options); + } + } + + public sealed class AiAgentVersionArgs : global::Pulumi.ResourceArgs + { + [Input("aiAgentId", required: true)] + public Input AiAgentId { get; set; } = null!; + + [Input("assistantId", required: true)] + public Input AssistantId { get; set; } = null!; + + [Input("modifiedTimeSeconds")] + public Input? ModifiedTimeSeconds { get; set; } + + public AiAgentVersionArgs() + { + } + public static new AiAgentVersionArgs Empty => new AiAgentVersionArgs(); + } +} diff --git a/sdk/dotnet/Wisdom/AiPromptVersion.cs b/sdk/dotnet/Wisdom/AiPromptVersion.cs index ccdb2ff5cf..7b57aa17f3 100644 --- a/sdk/dotnet/Wisdom/AiPromptVersion.cs +++ b/sdk/dotnet/Wisdom/AiPromptVersion.cs @@ -33,6 +33,9 @@ public partial class AiPromptVersion : global::Pulumi.CustomResource [Output("modifiedTimeSeconds")] public Output ModifiedTimeSeconds { get; private set; } = null!; + /// + /// The version number for this AI Prompt version. + /// [Output("versionNumber")] public Output VersionNumber { get; private set; } = null!; diff --git a/sdk/dotnet/Wisdom/GetAiAgent.cs b/sdk/dotnet/Wisdom/GetAiAgent.cs index bddb017bdf..18a7c32ab3 100644 --- a/sdk/dotnet/Wisdom/GetAiAgent.cs +++ b/sdk/dotnet/Wisdom/GetAiAgent.cs @@ -27,9 +27,15 @@ public static Output Invoke(GetAiAgentInvokeArgs args, InvokeO public sealed class GetAiAgentArgs : global::Pulumi.InvokeArgs { + /// + /// The identifier of the AI Agent. + /// [Input("aiAgentId", required: true)] public string AiAgentId { get; set; } = null!; + /// + /// The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. + /// [Input("assistantId", required: true)] public string AssistantId { get; set; } = null!; @@ -41,9 +47,15 @@ public GetAiAgentArgs() public sealed class GetAiAgentInvokeArgs : global::Pulumi.InvokeArgs { + /// + /// The identifier of the AI Agent. + /// [Input("aiAgentId", required: true)] public Input AiAgentId { get; set; } = null!; + /// + /// The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. + /// [Input("assistantId", required: true)] public Input AssistantId { get; set; } = null!; @@ -57,10 +69,25 @@ public GetAiAgentInvokeArgs() [OutputType] public sealed class GetAiAgentResult { + /// + /// The Amazon Resource Name (ARN) of the AI agent. + /// public readonly string? AiAgentArn; + /// + /// The identifier of the AI Agent. + /// public readonly string? AiAgentId; + /// + /// The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant. + /// public readonly string? AssistantArn; + /// + /// Configuration for the AI Agent. + /// public readonly Union? Configuration; + /// + /// The description of the AI Agent. + /// public readonly string? Description; [OutputConstructor] diff --git a/sdk/dotnet/Wisdom/GetAiAgentVersion.cs b/sdk/dotnet/Wisdom/GetAiAgentVersion.cs new file mode 100644 index 0000000000..7e828f159a --- /dev/null +++ b/sdk/dotnet/Wisdom/GetAiAgentVersion.cs @@ -0,0 +1,96 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Wisdom +{ + public static class GetAiAgentVersion + { + /// + /// Definition of AWS::Wisdom::AIAgentVersion Resource Type + /// + public static Task InvokeAsync(GetAiAgentVersionArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:wisdom:getAiAgentVersion", args ?? new GetAiAgentVersionArgs(), options.WithDefaults()); + + /// + /// Definition of AWS::Wisdom::AIAgentVersion Resource Type + /// + public static Output Invoke(GetAiAgentVersionInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:wisdom:getAiAgentVersion", args ?? new GetAiAgentVersionInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetAiAgentVersionArgs : global::Pulumi.InvokeArgs + { + [Input("aiAgentId", required: true)] + public string AiAgentId { get; set; } = null!; + + [Input("assistantId", required: true)] + public string AssistantId { get; set; } = null!; + + /// + /// The version number for this AI Agent version. + /// + [Input("versionNumber", required: true)] + public double VersionNumber { get; set; } + + public GetAiAgentVersionArgs() + { + } + public static new GetAiAgentVersionArgs Empty => new GetAiAgentVersionArgs(); + } + + public sealed class GetAiAgentVersionInvokeArgs : global::Pulumi.InvokeArgs + { + [Input("aiAgentId", required: true)] + public Input AiAgentId { get; set; } = null!; + + [Input("assistantId", required: true)] + public Input AssistantId { get; set; } = null!; + + /// + /// The version number for this AI Agent version. + /// + [Input("versionNumber", required: true)] + public Input VersionNumber { get; set; } = null!; + + public GetAiAgentVersionInvokeArgs() + { + } + public static new GetAiAgentVersionInvokeArgs Empty => new GetAiAgentVersionInvokeArgs(); + } + + + [OutputType] + public sealed class GetAiAgentVersionResult + { + public readonly string? AiAgentArn; + public readonly string? AiAgentVersionId; + public readonly string? AssistantArn; + /// + /// The version number for this AI Agent version. + /// + public readonly double? VersionNumber; + + [OutputConstructor] + private GetAiAgentVersionResult( + string? aiAgentArn, + + string? aiAgentVersionId, + + string? assistantArn, + + double? versionNumber) + { + AiAgentArn = aiAgentArn; + AiAgentVersionId = aiAgentVersionId; + AssistantArn = assistantArn; + VersionNumber = versionNumber; + } + } +} diff --git a/sdk/dotnet/Wisdom/GetAiPromptVersion.cs b/sdk/dotnet/Wisdom/GetAiPromptVersion.cs index 6a21ead718..9361cd43a5 100644 --- a/sdk/dotnet/Wisdom/GetAiPromptVersion.cs +++ b/sdk/dotnet/Wisdom/GetAiPromptVersion.cs @@ -33,6 +33,9 @@ public sealed class GetAiPromptVersionArgs : global::Pulumi.InvokeArgs [Input("assistantId", required: true)] public string AssistantId { get; set; } = null!; + /// + /// The version number for this AI Prompt version. + /// [Input("versionNumber", required: true)] public double VersionNumber { get; set; } @@ -50,6 +53,9 @@ public sealed class GetAiPromptVersionInvokeArgs : global::Pulumi.InvokeArgs [Input("assistantId", required: true)] public Input AssistantId { get; set; } = null!; + /// + /// The version number for this AI Prompt version. + /// [Input("versionNumber", required: true)] public Input VersionNumber { get; set; } = null!; @@ -66,6 +72,9 @@ public sealed class GetAiPromptVersionResult public readonly string? AiPromptArn; public readonly string? AiPromptVersionId; public readonly string? AssistantArn; + /// + /// The version number for this AI Prompt version. + /// public readonly double? VersionNumber; [OutputConstructor] diff --git a/sdk/go/aws/appsync/api.go b/sdk/go/aws/appsync/api.go index 934beb10d1..746d7048ca 100644 --- a/sdk/go/aws/appsync/api.go +++ b/sdk/go/aws/appsync/api.go @@ -19,16 +19,17 @@ type Api struct { // The Amazon Resource Name (ARN) of the AppSync Api ApiArn pulumi.StringOutput `pulumi:"apiArn"` // The unique identifier for the AppSync Api generated by the service - ApiId pulumi.StringOutput `pulumi:"apiId"` - Dns pulumi.StringMapOutput `pulumi:"dns"` + ApiId pulumi.StringOutput `pulumi:"apiId"` + Dns ApiDnsMapOutput `pulumi:"dns"` + // Describes the authorization configuration for connections, message publishing, message subscriptions, and logging for an Event API. EventConfig ApiEventConfigPtrOutput `pulumi:"eventConfig"` - // The API name. + // The name of the `Api` . Name pulumi.StringOutput `pulumi:"name"` // The owner contact information for an API resource. // // This field accepts any string input with a length of 0 - 256 characters. OwnerContact pulumi.StringPtrOutput `pulumi:"ownerContact"` - // The tags. + // A set of tags (key-value pairs) for this API. Tags aws.TagArrayOutput `pulumi:"tags"` } @@ -72,27 +73,29 @@ func (ApiState) ElementType() reflect.Type { } type apiArgs struct { + // Describes the authorization configuration for connections, message publishing, message subscriptions, and logging for an Event API. EventConfig *ApiEventConfig `pulumi:"eventConfig"` - // The API name. + // The name of the `Api` . Name *string `pulumi:"name"` // The owner contact information for an API resource. // // This field accepts any string input with a length of 0 - 256 characters. OwnerContact *string `pulumi:"ownerContact"` - // The tags. + // A set of tags (key-value pairs) for this API. Tags []aws.Tag `pulumi:"tags"` } // The set of arguments for constructing a Api resource. type ApiArgs struct { + // Describes the authorization configuration for connections, message publishing, message subscriptions, and logging for an Event API. EventConfig ApiEventConfigPtrInput - // The API name. + // The name of the `Api` . Name pulumi.StringPtrInput // The owner contact information for an API resource. // // This field accepts any string input with a length of 0 - 256 characters. OwnerContact pulumi.StringPtrInput - // The tags. + // A set of tags (key-value pairs) for this API. Tags aws.TagArrayInput } @@ -143,15 +146,16 @@ func (o ApiOutput) ApiId() pulumi.StringOutput { return o.ApplyT(func(v *Api) pulumi.StringOutput { return v.ApiId }).(pulumi.StringOutput) } -func (o ApiOutput) Dns() pulumi.StringMapOutput { - return o.ApplyT(func(v *Api) pulumi.StringMapOutput { return v.Dns }).(pulumi.StringMapOutput) +func (o ApiOutput) Dns() ApiDnsMapOutput { + return o.ApplyT(func(v *Api) ApiDnsMapOutput { return v.Dns }).(ApiDnsMapOutput) } +// Describes the authorization configuration for connections, message publishing, message subscriptions, and logging for an Event API. func (o ApiOutput) EventConfig() ApiEventConfigPtrOutput { return o.ApplyT(func(v *Api) ApiEventConfigPtrOutput { return v.EventConfig }).(ApiEventConfigPtrOutput) } -// The API name. +// The name of the `Api` . func (o ApiOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *Api) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } @@ -163,7 +167,7 @@ func (o ApiOutput) OwnerContact() pulumi.StringPtrOutput { return o.ApplyT(func(v *Api) pulumi.StringPtrOutput { return v.OwnerContact }).(pulumi.StringPtrOutput) } -// The tags. +// A set of tags (key-value pairs) for this API. func (o ApiOutput) Tags() aws.TagArrayOutput { return o.ApplyT(func(v *Api) aws.TagArrayOutput { return v.Tags }).(aws.TagArrayOutput) } diff --git a/sdk/go/aws/appsync/channelNamespace.go b/sdk/go/aws/appsync/channelNamespace.go index fd92dde7e2..ec9f1f40d5 100644 --- a/sdk/go/aws/appsync/channelNamespace.go +++ b/sdk/go/aws/appsync/channelNamespace.go @@ -18,17 +18,21 @@ type ChannelNamespace struct { pulumi.CustomResourceState // AppSync Api Id that this Channel Namespace belongs to. - ApiId pulumi.StringOutput `pulumi:"apiId"` - ChannelNamespaceArn pulumi.StringOutput `pulumi:"channelNamespaceArn"` - CodeHandlers pulumi.StringPtrOutput `pulumi:"codeHandlers"` + ApiId pulumi.StringOutput `pulumi:"apiId"` + // The Amazon Resource Name (ARN) of the channel namespace. + ChannelNamespaceArn pulumi.StringOutput `pulumi:"channelNamespaceArn"` + // The event handler functions that run custom business logic to process published events and subscribe requests. + CodeHandlers pulumi.StringPtrOutput `pulumi:"codeHandlers"` // The Amazon S3 endpoint where the code is located. CodeS3Location pulumi.StringPtrOutput `pulumi:"codeS3Location"` - Name pulumi.StringOutput `pulumi:"name"` + // The name of the channel namespace. This name must be unique within the `Api` . + Name pulumi.StringOutput `pulumi:"name"` // List of AuthModes supported for Publish operations. PublishAuthModes ChannelNamespaceAuthModeArrayOutput `pulumi:"publishAuthModes"` // List of AuthModes supported for Subscribe operations. SubscribeAuthModes ChannelNamespaceAuthModeArrayOutput `pulumi:"subscribeAuthModes"` - Tags aws.TagArrayOutput `pulumi:"tags"` + // A set of tags (key-value pairs) for this channel namespace. + Tags aws.TagArrayOutput `pulumi:"tags"` } // NewChannelNamespace registers a new resource with the given unique name, arguments, and options. @@ -80,31 +84,37 @@ func (ChannelNamespaceState) ElementType() reflect.Type { type channelNamespaceArgs struct { // AppSync Api Id that this Channel Namespace belongs to. - ApiId string `pulumi:"apiId"` + ApiId string `pulumi:"apiId"` + // The event handler functions that run custom business logic to process published events and subscribe requests. CodeHandlers *string `pulumi:"codeHandlers"` // The Amazon S3 endpoint where the code is located. CodeS3Location *string `pulumi:"codeS3Location"` - Name *string `pulumi:"name"` + // The name of the channel namespace. This name must be unique within the `Api` . + Name *string `pulumi:"name"` // List of AuthModes supported for Publish operations. PublishAuthModes []ChannelNamespaceAuthMode `pulumi:"publishAuthModes"` // List of AuthModes supported for Subscribe operations. SubscribeAuthModes []ChannelNamespaceAuthMode `pulumi:"subscribeAuthModes"` - Tags []aws.Tag `pulumi:"tags"` + // A set of tags (key-value pairs) for this channel namespace. + Tags []aws.Tag `pulumi:"tags"` } // The set of arguments for constructing a ChannelNamespace resource. type ChannelNamespaceArgs struct { // AppSync Api Id that this Channel Namespace belongs to. - ApiId pulumi.StringInput + ApiId pulumi.StringInput + // The event handler functions that run custom business logic to process published events and subscribe requests. CodeHandlers pulumi.StringPtrInput // The Amazon S3 endpoint where the code is located. CodeS3Location pulumi.StringPtrInput - Name pulumi.StringPtrInput + // The name of the channel namespace. This name must be unique within the `Api` . + Name pulumi.StringPtrInput // List of AuthModes supported for Publish operations. PublishAuthModes ChannelNamespaceAuthModeArrayInput // List of AuthModes supported for Subscribe operations. SubscribeAuthModes ChannelNamespaceAuthModeArrayInput - Tags aws.TagArrayInput + // A set of tags (key-value pairs) for this channel namespace. + Tags aws.TagArrayInput } func (ChannelNamespaceArgs) ElementType() reflect.Type { @@ -149,10 +159,12 @@ func (o ChannelNamespaceOutput) ApiId() pulumi.StringOutput { return o.ApplyT(func(v *ChannelNamespace) pulumi.StringOutput { return v.ApiId }).(pulumi.StringOutput) } +// The Amazon Resource Name (ARN) of the channel namespace. func (o ChannelNamespaceOutput) ChannelNamespaceArn() pulumi.StringOutput { return o.ApplyT(func(v *ChannelNamespace) pulumi.StringOutput { return v.ChannelNamespaceArn }).(pulumi.StringOutput) } +// The event handler functions that run custom business logic to process published events and subscribe requests. func (o ChannelNamespaceOutput) CodeHandlers() pulumi.StringPtrOutput { return o.ApplyT(func(v *ChannelNamespace) pulumi.StringPtrOutput { return v.CodeHandlers }).(pulumi.StringPtrOutput) } @@ -162,6 +174,7 @@ func (o ChannelNamespaceOutput) CodeS3Location() pulumi.StringPtrOutput { return o.ApplyT(func(v *ChannelNamespace) pulumi.StringPtrOutput { return v.CodeS3Location }).(pulumi.StringPtrOutput) } +// The name of the channel namespace. This name must be unique within the `Api` . func (o ChannelNamespaceOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *ChannelNamespace) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } @@ -176,6 +189,7 @@ func (o ChannelNamespaceOutput) SubscribeAuthModes() ChannelNamespaceAuthModeArr return o.ApplyT(func(v *ChannelNamespace) ChannelNamespaceAuthModeArrayOutput { return v.SubscribeAuthModes }).(ChannelNamespaceAuthModeArrayOutput) } +// A set of tags (key-value pairs) for this channel namespace. func (o ChannelNamespaceOutput) Tags() aws.TagArrayOutput { return o.ApplyT(func(v *ChannelNamespace) aws.TagArrayOutput { return v.Tags }).(aws.TagArrayOutput) } diff --git a/sdk/go/aws/appsync/getApi.go b/sdk/go/aws/appsync/getApi.go index c60dd630cf..721dfadf95 100644 --- a/sdk/go/aws/appsync/getApi.go +++ b/sdk/go/aws/appsync/getApi.go @@ -32,16 +32,17 @@ type LookupApiResult struct { // The Amazon Resource Name (ARN) of the AppSync Api ApiArn *string `pulumi:"apiArn"` // The unique identifier for the AppSync Api generated by the service - ApiId *string `pulumi:"apiId"` - Dns map[string]string `pulumi:"dns"` - EventConfig *ApiEventConfig `pulumi:"eventConfig"` - // The API name. + ApiId *string `pulumi:"apiId"` + Dns *ApiDnsMap `pulumi:"dns"` + // Describes the authorization configuration for connections, message publishing, message subscriptions, and logging for an Event API. + EventConfig *ApiEventConfig `pulumi:"eventConfig"` + // The name of the `Api` . Name *string `pulumi:"name"` // The owner contact information for an API resource. // // This field accepts any string input with a length of 0 - 256 characters. OwnerContact *string `pulumi:"ownerContact"` - // The tags. + // A set of tags (key-value pairs) for this API. Tags []aws.Tag `pulumi:"tags"` } @@ -97,15 +98,16 @@ func (o LookupApiResultOutput) ApiId() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupApiResult) *string { return v.ApiId }).(pulumi.StringPtrOutput) } -func (o LookupApiResultOutput) Dns() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupApiResult) map[string]string { return v.Dns }).(pulumi.StringMapOutput) +func (o LookupApiResultOutput) Dns() ApiDnsMapPtrOutput { + return o.ApplyT(func(v LookupApiResult) *ApiDnsMap { return v.Dns }).(ApiDnsMapPtrOutput) } +// Describes the authorization configuration for connections, message publishing, message subscriptions, and logging for an Event API. func (o LookupApiResultOutput) EventConfig() ApiEventConfigPtrOutput { return o.ApplyT(func(v LookupApiResult) *ApiEventConfig { return v.EventConfig }).(ApiEventConfigPtrOutput) } -// The API name. +// The name of the `Api` . func (o LookupApiResultOutput) Name() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupApiResult) *string { return v.Name }).(pulumi.StringPtrOutput) } @@ -117,7 +119,7 @@ func (o LookupApiResultOutput) OwnerContact() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupApiResult) *string { return v.OwnerContact }).(pulumi.StringPtrOutput) } -// The tags. +// A set of tags (key-value pairs) for this API. func (o LookupApiResultOutput) Tags() aws.TagArrayOutput { return o.ApplyT(func(v LookupApiResult) []aws.Tag { return v.Tags }).(aws.TagArrayOutput) } diff --git a/sdk/go/aws/appsync/getChannelNamespace.go b/sdk/go/aws/appsync/getChannelNamespace.go index 68c86366c4..9ec0074831 100644 --- a/sdk/go/aws/appsync/getChannelNamespace.go +++ b/sdk/go/aws/appsync/getChannelNamespace.go @@ -24,17 +24,21 @@ func LookupChannelNamespace(ctx *pulumi.Context, args *LookupChannelNamespaceArg } type LookupChannelNamespaceArgs struct { + // The Amazon Resource Name (ARN) of the channel namespace. ChannelNamespaceArn string `pulumi:"channelNamespaceArn"` } type LookupChannelNamespaceResult struct { + // The Amazon Resource Name (ARN) of the channel namespace. ChannelNamespaceArn *string `pulumi:"channelNamespaceArn"` - CodeHandlers *string `pulumi:"codeHandlers"` + // The event handler functions that run custom business logic to process published events and subscribe requests. + CodeHandlers *string `pulumi:"codeHandlers"` // List of AuthModes supported for Publish operations. PublishAuthModes []ChannelNamespaceAuthMode `pulumi:"publishAuthModes"` // List of AuthModes supported for Subscribe operations. SubscribeAuthModes []ChannelNamespaceAuthMode `pulumi:"subscribeAuthModes"` - Tags []aws.Tag `pulumi:"tags"` + // A set of tags (key-value pairs) for this channel namespace. + Tags []aws.Tag `pulumi:"tags"` } func LookupChannelNamespaceOutput(ctx *pulumi.Context, args LookupChannelNamespaceOutputArgs, opts ...pulumi.InvokeOption) LookupChannelNamespaceResultOutput { @@ -57,6 +61,7 @@ func LookupChannelNamespaceOutput(ctx *pulumi.Context, args LookupChannelNamespa } type LookupChannelNamespaceOutputArgs struct { + // The Amazon Resource Name (ARN) of the channel namespace. ChannelNamespaceArn pulumi.StringInput `pulumi:"channelNamespaceArn"` } @@ -78,10 +83,12 @@ func (o LookupChannelNamespaceResultOutput) ToLookupChannelNamespaceResultOutput return o } +// The Amazon Resource Name (ARN) of the channel namespace. func (o LookupChannelNamespaceResultOutput) ChannelNamespaceArn() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupChannelNamespaceResult) *string { return v.ChannelNamespaceArn }).(pulumi.StringPtrOutput) } +// The event handler functions that run custom business logic to process published events and subscribe requests. func (o LookupChannelNamespaceResultOutput) CodeHandlers() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupChannelNamespaceResult) *string { return v.CodeHandlers }).(pulumi.StringPtrOutput) } @@ -96,6 +103,7 @@ func (o LookupChannelNamespaceResultOutput) SubscribeAuthModes() ChannelNamespac return o.ApplyT(func(v LookupChannelNamespaceResult) []ChannelNamespaceAuthMode { return v.SubscribeAuthModes }).(ChannelNamespaceAuthModeArrayOutput) } +// A set of tags (key-value pairs) for this channel namespace. func (o LookupChannelNamespaceResultOutput) Tags() aws.TagArrayOutput { return o.ApplyT(func(v LookupChannelNamespaceResult) []aws.Tag { return v.Tags }).(aws.TagArrayOutput) } diff --git a/sdk/go/aws/appsync/pulumiTypes.go b/sdk/go/aws/appsync/pulumiTypes.go index c358dfe124..f5399ee960 100644 --- a/sdk/go/aws/appsync/pulumiTypes.go +++ b/sdk/go/aws/appsync/pulumiTypes.go @@ -391,13 +391,95 @@ func (o ApiCognitoConfigPtrOutput) UserPoolId() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +// A map of DNS names for the AppSync API. +type ApiDnsMap struct { + // The domain name of the Api's HTTP endpoint. + Http *string `pulumi:"http"` + // The domain name of the Api's real-time endpoint. + Realtime *string `pulumi:"realtime"` +} + +// A map of DNS names for the AppSync API. +type ApiDnsMapOutput struct{ *pulumi.OutputState } + +func (ApiDnsMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ApiDnsMap)(nil)).Elem() +} + +func (o ApiDnsMapOutput) ToApiDnsMapOutput() ApiDnsMapOutput { + return o +} + +func (o ApiDnsMapOutput) ToApiDnsMapOutputWithContext(ctx context.Context) ApiDnsMapOutput { + return o +} + +// The domain name of the Api's HTTP endpoint. +func (o ApiDnsMapOutput) Http() pulumi.StringPtrOutput { + return o.ApplyT(func(v ApiDnsMap) *string { return v.Http }).(pulumi.StringPtrOutput) +} + +// The domain name of the Api's real-time endpoint. +func (o ApiDnsMapOutput) Realtime() pulumi.StringPtrOutput { + return o.ApplyT(func(v ApiDnsMap) *string { return v.Realtime }).(pulumi.StringPtrOutput) +} + +type ApiDnsMapPtrOutput struct{ *pulumi.OutputState } + +func (ApiDnsMapPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ApiDnsMap)(nil)).Elem() +} + +func (o ApiDnsMapPtrOutput) ToApiDnsMapPtrOutput() ApiDnsMapPtrOutput { + return o +} + +func (o ApiDnsMapPtrOutput) ToApiDnsMapPtrOutputWithContext(ctx context.Context) ApiDnsMapPtrOutput { + return o +} + +func (o ApiDnsMapPtrOutput) Elem() ApiDnsMapOutput { + return o.ApplyT(func(v *ApiDnsMap) ApiDnsMap { + if v != nil { + return *v + } + var ret ApiDnsMap + return ret + }).(ApiDnsMapOutput) +} + +// The domain name of the Api's HTTP endpoint. +func (o ApiDnsMapPtrOutput) Http() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ApiDnsMap) *string { + if v == nil { + return nil + } + return v.Http + }).(pulumi.StringPtrOutput) +} + +// The domain name of the Api's real-time endpoint. +func (o ApiDnsMapPtrOutput) Realtime() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ApiDnsMap) *string { + if v == nil { + return nil + } + return v.Realtime + }).(pulumi.StringPtrOutput) +} + // The configuration for an Event Api type ApiEventConfig struct { - AuthProviders []ApiAuthProvider `pulumi:"authProviders"` - ConnectionAuthModes []ApiAuthMode `pulumi:"connectionAuthModes"` - DefaultPublishAuthModes []ApiAuthMode `pulumi:"defaultPublishAuthModes"` - DefaultSubscribeAuthModes []ApiAuthMode `pulumi:"defaultSubscribeAuthModes"` - LogConfig *ApiEventLogConfig `pulumi:"logConfig"` + // A list of authorization providers. + AuthProviders []ApiAuthProvider `pulumi:"authProviders"` + // A list of valid authorization modes for the Event API connections. + ConnectionAuthModes []ApiAuthMode `pulumi:"connectionAuthModes"` + // A list of valid authorization modes for the Event API publishing. + DefaultPublishAuthModes []ApiAuthMode `pulumi:"defaultPublishAuthModes"` + // A list of valid authorization modes for the Event API subscriptions. + DefaultSubscribeAuthModes []ApiAuthMode `pulumi:"defaultSubscribeAuthModes"` + // The CloudWatch Logs configuration for the Event API. + LogConfig *ApiEventLogConfig `pulumi:"logConfig"` } // ApiEventConfigInput is an input type that accepts ApiEventConfigArgs and ApiEventConfigOutput values. @@ -413,11 +495,16 @@ type ApiEventConfigInput interface { // The configuration for an Event Api type ApiEventConfigArgs struct { - AuthProviders ApiAuthProviderArrayInput `pulumi:"authProviders"` - ConnectionAuthModes ApiAuthModeArrayInput `pulumi:"connectionAuthModes"` - DefaultPublishAuthModes ApiAuthModeArrayInput `pulumi:"defaultPublishAuthModes"` - DefaultSubscribeAuthModes ApiAuthModeArrayInput `pulumi:"defaultSubscribeAuthModes"` - LogConfig ApiEventLogConfigPtrInput `pulumi:"logConfig"` + // A list of authorization providers. + AuthProviders ApiAuthProviderArrayInput `pulumi:"authProviders"` + // A list of valid authorization modes for the Event API connections. + ConnectionAuthModes ApiAuthModeArrayInput `pulumi:"connectionAuthModes"` + // A list of valid authorization modes for the Event API publishing. + DefaultPublishAuthModes ApiAuthModeArrayInput `pulumi:"defaultPublishAuthModes"` + // A list of valid authorization modes for the Event API subscriptions. + DefaultSubscribeAuthModes ApiAuthModeArrayInput `pulumi:"defaultSubscribeAuthModes"` + // The CloudWatch Logs configuration for the Event API. + LogConfig ApiEventLogConfigPtrInput `pulumi:"logConfig"` } func (ApiEventConfigArgs) ElementType() reflect.Type { @@ -498,22 +585,27 @@ func (o ApiEventConfigOutput) ToApiEventConfigPtrOutputWithContext(ctx context.C }).(ApiEventConfigPtrOutput) } +// A list of authorization providers. func (o ApiEventConfigOutput) AuthProviders() ApiAuthProviderArrayOutput { return o.ApplyT(func(v ApiEventConfig) []ApiAuthProvider { return v.AuthProviders }).(ApiAuthProviderArrayOutput) } +// A list of valid authorization modes for the Event API connections. func (o ApiEventConfigOutput) ConnectionAuthModes() ApiAuthModeArrayOutput { return o.ApplyT(func(v ApiEventConfig) []ApiAuthMode { return v.ConnectionAuthModes }).(ApiAuthModeArrayOutput) } +// A list of valid authorization modes for the Event API publishing. func (o ApiEventConfigOutput) DefaultPublishAuthModes() ApiAuthModeArrayOutput { return o.ApplyT(func(v ApiEventConfig) []ApiAuthMode { return v.DefaultPublishAuthModes }).(ApiAuthModeArrayOutput) } +// A list of valid authorization modes for the Event API subscriptions. func (o ApiEventConfigOutput) DefaultSubscribeAuthModes() ApiAuthModeArrayOutput { return o.ApplyT(func(v ApiEventConfig) []ApiAuthMode { return v.DefaultSubscribeAuthModes }).(ApiAuthModeArrayOutput) } +// The CloudWatch Logs configuration for the Event API. func (o ApiEventConfigOutput) LogConfig() ApiEventLogConfigPtrOutput { return o.ApplyT(func(v ApiEventConfig) *ApiEventLogConfig { return v.LogConfig }).(ApiEventLogConfigPtrOutput) } @@ -542,6 +634,7 @@ func (o ApiEventConfigPtrOutput) Elem() ApiEventConfigOutput { }).(ApiEventConfigOutput) } +// A list of authorization providers. func (o ApiEventConfigPtrOutput) AuthProviders() ApiAuthProviderArrayOutput { return o.ApplyT(func(v *ApiEventConfig) []ApiAuthProvider { if v == nil { @@ -551,6 +644,7 @@ func (o ApiEventConfigPtrOutput) AuthProviders() ApiAuthProviderArrayOutput { }).(ApiAuthProviderArrayOutput) } +// A list of valid authorization modes for the Event API connections. func (o ApiEventConfigPtrOutput) ConnectionAuthModes() ApiAuthModeArrayOutput { return o.ApplyT(func(v *ApiEventConfig) []ApiAuthMode { if v == nil { @@ -560,6 +654,7 @@ func (o ApiEventConfigPtrOutput) ConnectionAuthModes() ApiAuthModeArrayOutput { }).(ApiAuthModeArrayOutput) } +// A list of valid authorization modes for the Event API publishing. func (o ApiEventConfigPtrOutput) DefaultPublishAuthModes() ApiAuthModeArrayOutput { return o.ApplyT(func(v *ApiEventConfig) []ApiAuthMode { if v == nil { @@ -569,6 +664,7 @@ func (o ApiEventConfigPtrOutput) DefaultPublishAuthModes() ApiAuthModeArrayOutpu }).(ApiAuthModeArrayOutput) } +// A list of valid authorization modes for the Event API subscriptions. func (o ApiEventConfigPtrOutput) DefaultSubscribeAuthModes() ApiAuthModeArrayOutput { return o.ApplyT(func(v *ApiEventConfig) []ApiAuthMode { if v == nil { @@ -578,6 +674,7 @@ func (o ApiEventConfigPtrOutput) DefaultSubscribeAuthModes() ApiAuthModeArrayOut }).(ApiAuthModeArrayOutput) } +// The CloudWatch Logs configuration for the Event API. func (o ApiEventConfigPtrOutput) LogConfig() ApiEventLogConfigPtrOutput { return o.ApplyT(func(v *ApiEventConfig) *ApiEventLogConfig { if v == nil { @@ -589,8 +686,10 @@ func (o ApiEventConfigPtrOutput) LogConfig() ApiEventLogConfigPtrOutput { // The log config for the AppSync API. type ApiEventLogConfig struct { - CloudWatchLogsRoleArn string `pulumi:"cloudWatchLogsRoleArn"` - LogLevel ApiEventLogLevel `pulumi:"logLevel"` + // The IAM service role that AWS AppSync assumes to publish CloudWatch Logs in your account. + CloudWatchLogsRoleArn string `pulumi:"cloudWatchLogsRoleArn"` + // The type of information to log for the Event API. + LogLevel ApiEventLogLevel `pulumi:"logLevel"` } // ApiEventLogConfigInput is an input type that accepts ApiEventLogConfigArgs and ApiEventLogConfigOutput values. @@ -606,8 +705,10 @@ type ApiEventLogConfigInput interface { // The log config for the AppSync API. type ApiEventLogConfigArgs struct { - CloudWatchLogsRoleArn pulumi.StringInput `pulumi:"cloudWatchLogsRoleArn"` - LogLevel ApiEventLogLevelInput `pulumi:"logLevel"` + // The IAM service role that AWS AppSync assumes to publish CloudWatch Logs in your account. + CloudWatchLogsRoleArn pulumi.StringInput `pulumi:"cloudWatchLogsRoleArn"` + // The type of information to log for the Event API. + LogLevel ApiEventLogLevelInput `pulumi:"logLevel"` } func (ApiEventLogConfigArgs) ElementType() reflect.Type { @@ -688,10 +789,12 @@ func (o ApiEventLogConfigOutput) ToApiEventLogConfigPtrOutputWithContext(ctx con }).(ApiEventLogConfigPtrOutput) } +// The IAM service role that AWS AppSync assumes to publish CloudWatch Logs in your account. func (o ApiEventLogConfigOutput) CloudWatchLogsRoleArn() pulumi.StringOutput { return o.ApplyT(func(v ApiEventLogConfig) string { return v.CloudWatchLogsRoleArn }).(pulumi.StringOutput) } +// The type of information to log for the Event API. func (o ApiEventLogConfigOutput) LogLevel() ApiEventLogLevelOutput { return o.ApplyT(func(v ApiEventLogConfig) ApiEventLogLevel { return v.LogLevel }).(ApiEventLogLevelOutput) } @@ -720,6 +823,7 @@ func (o ApiEventLogConfigPtrOutput) Elem() ApiEventLogConfigOutput { }).(ApiEventLogConfigOutput) } +// The IAM service role that AWS AppSync assumes to publish CloudWatch Logs in your account. func (o ApiEventLogConfigPtrOutput) CloudWatchLogsRoleArn() pulumi.StringPtrOutput { return o.ApplyT(func(v *ApiEventLogConfig) *string { if v == nil { @@ -729,6 +833,7 @@ func (o ApiEventLogConfigPtrOutput) CloudWatchLogsRoleArn() pulumi.StringPtrOutp }).(pulumi.StringPtrOutput) } +// The type of information to log for the Event API. func (o ApiEventLogConfigPtrOutput) LogLevel() ApiEventLogLevelPtrOutput { return o.ApplyT(func(v *ApiEventLogConfig) *ApiEventLogLevel { if v == nil { @@ -5749,6 +5854,8 @@ func init() { pulumi.RegisterOutputType(ApiAuthProviderArrayOutput{}) pulumi.RegisterOutputType(ApiCognitoConfigOutput{}) pulumi.RegisterOutputType(ApiCognitoConfigPtrOutput{}) + pulumi.RegisterOutputType(ApiDnsMapOutput{}) + pulumi.RegisterOutputType(ApiDnsMapPtrOutput{}) pulumi.RegisterOutputType(ApiEventConfigOutput{}) pulumi.RegisterOutputType(ApiEventConfigPtrOutput{}) pulumi.RegisterOutputType(ApiEventLogConfigOutput{}) diff --git a/sdk/go/aws/aps/getScraper.go b/sdk/go/aws/aps/getScraper.go index 87cc3c6801..e21de96247 100644 --- a/sdk/go/aws/aps/getScraper.go +++ b/sdk/go/aws/aps/getScraper.go @@ -29,10 +29,16 @@ type LookupScraperArgs struct { } type LookupScraperResult struct { + // Scraper alias. + Alias *string `pulumi:"alias"` // Scraper ARN. Arn *string `pulumi:"arn"` + // The Amazon Managed Service for Prometheus workspace the scraper sends metrics to. + Destination *ScraperDestination `pulumi:"destination"` // IAM role ARN for the scraper. RoleArn *string `pulumi:"roleArn"` + // The configuration in use by the scraper. + ScrapeConfiguration *ScraperScrapeConfiguration `pulumi:"scrapeConfiguration"` // Required to identify a specific scraper. ScraperId *string `pulumi:"scraperId"` // An array of key-value pairs to apply to this resource. @@ -81,16 +87,31 @@ func (o LookupScraperResultOutput) ToLookupScraperResultOutputWithContext(ctx co return o } +// Scraper alias. +func (o LookupScraperResultOutput) Alias() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupScraperResult) *string { return v.Alias }).(pulumi.StringPtrOutput) +} + // Scraper ARN. func (o LookupScraperResultOutput) Arn() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupScraperResult) *string { return v.Arn }).(pulumi.StringPtrOutput) } +// The Amazon Managed Service for Prometheus workspace the scraper sends metrics to. +func (o LookupScraperResultOutput) Destination() ScraperDestinationPtrOutput { + return o.ApplyT(func(v LookupScraperResult) *ScraperDestination { return v.Destination }).(ScraperDestinationPtrOutput) +} + // IAM role ARN for the scraper. func (o LookupScraperResultOutput) RoleArn() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupScraperResult) *string { return v.RoleArn }).(pulumi.StringPtrOutput) } +// The configuration in use by the scraper. +func (o LookupScraperResultOutput) ScrapeConfiguration() ScraperScrapeConfigurationPtrOutput { + return o.ApplyT(func(v LookupScraperResult) *ScraperScrapeConfiguration { return v.ScrapeConfiguration }).(ScraperScrapeConfigurationPtrOutput) +} + // Required to identify a specific scraper. func (o LookupScraperResultOutput) ScraperId() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupScraperResult) *string { return v.ScraperId }).(pulumi.StringPtrOutput) diff --git a/sdk/go/aws/aps/pulumiTypes.go b/sdk/go/aws/aps/pulumiTypes.go index eabbede283..b63d93ed06 100644 --- a/sdk/go/aws/aps/pulumiTypes.go +++ b/sdk/go/aws/aps/pulumiTypes.go @@ -76,6 +76,40 @@ func (o ScraperDestinationOutput) AmpConfiguration() ScraperDestinationAmpConfig return o.ApplyT(func(v ScraperDestination) *ScraperDestinationAmpConfigurationProperties { return v.AmpConfiguration }).(ScraperDestinationAmpConfigurationPropertiesPtrOutput) } +type ScraperDestinationPtrOutput struct{ *pulumi.OutputState } + +func (ScraperDestinationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ScraperDestination)(nil)).Elem() +} + +func (o ScraperDestinationPtrOutput) ToScraperDestinationPtrOutput() ScraperDestinationPtrOutput { + return o +} + +func (o ScraperDestinationPtrOutput) ToScraperDestinationPtrOutputWithContext(ctx context.Context) ScraperDestinationPtrOutput { + return o +} + +func (o ScraperDestinationPtrOutput) Elem() ScraperDestinationOutput { + return o.ApplyT(func(v *ScraperDestination) ScraperDestination { + if v != nil { + return *v + } + var ret ScraperDestination + return ret + }).(ScraperDestinationOutput) +} + +// Configuration for Amazon Managed Prometheus metrics destination +func (o ScraperDestinationPtrOutput) AmpConfiguration() ScraperDestinationAmpConfigurationPropertiesPtrOutput { + return o.ApplyT(func(v *ScraperDestination) *ScraperDestinationAmpConfigurationProperties { + if v == nil { + return nil + } + return v.AmpConfiguration + }).(ScraperDestinationAmpConfigurationPropertiesPtrOutput) +} + // Configuration for Amazon Managed Prometheus metrics destination type ScraperDestinationAmpConfigurationProperties struct { // ARN of an Amazon Managed Prometheus workspace @@ -271,6 +305,40 @@ func (o ScraperScrapeConfigurationOutput) ConfigurationBlob() pulumi.StringPtrOu return o.ApplyT(func(v ScraperScrapeConfiguration) *string { return v.ConfigurationBlob }).(pulumi.StringPtrOutput) } +type ScraperScrapeConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (ScraperScrapeConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ScraperScrapeConfiguration)(nil)).Elem() +} + +func (o ScraperScrapeConfigurationPtrOutput) ToScraperScrapeConfigurationPtrOutput() ScraperScrapeConfigurationPtrOutput { + return o +} + +func (o ScraperScrapeConfigurationPtrOutput) ToScraperScrapeConfigurationPtrOutputWithContext(ctx context.Context) ScraperScrapeConfigurationPtrOutput { + return o +} + +func (o ScraperScrapeConfigurationPtrOutput) Elem() ScraperScrapeConfigurationOutput { + return o.ApplyT(func(v *ScraperScrapeConfiguration) ScraperScrapeConfiguration { + if v != nil { + return *v + } + var ret ScraperScrapeConfiguration + return ret + }).(ScraperScrapeConfigurationOutput) +} + +// Prometheus compatible scrape configuration in base64 encoded blob format +func (o ScraperScrapeConfigurationPtrOutput) ConfigurationBlob() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ScraperScrapeConfiguration) *string { + if v == nil { + return nil + } + return v.ConfigurationBlob + }).(pulumi.StringPtrOutput) +} + // Scraper metrics source type ScraperSource struct { // Configuration for EKS metrics source @@ -671,9 +739,11 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*WorkspaceLoggingConfigurationInput)(nil)).Elem(), WorkspaceLoggingConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WorkspaceLoggingConfigurationPtrInput)(nil)).Elem(), WorkspaceLoggingConfigurationArgs{}) pulumi.RegisterOutputType(ScraperDestinationOutput{}) + pulumi.RegisterOutputType(ScraperDestinationPtrOutput{}) pulumi.RegisterOutputType(ScraperDestinationAmpConfigurationPropertiesOutput{}) pulumi.RegisterOutputType(ScraperDestinationAmpConfigurationPropertiesPtrOutput{}) pulumi.RegisterOutputType(ScraperScrapeConfigurationOutput{}) + pulumi.RegisterOutputType(ScraperScrapeConfigurationPtrOutput{}) pulumi.RegisterOutputType(ScraperSourceOutput{}) pulumi.RegisterOutputType(ScraperSourceEksConfigurationPropertiesOutput{}) pulumi.RegisterOutputType(ScraperSourceEksConfigurationPropertiesPtrOutput{}) diff --git a/sdk/go/aws/aps/scraper.go b/sdk/go/aws/aps/scraper.go index 7a831d7f86..cdfc3fbabd 100644 --- a/sdk/go/aws/aps/scraper.go +++ b/sdk/go/aws/aps/scraper.go @@ -52,9 +52,6 @@ func NewScraper(ctx *pulumi.Context, return nil, errors.New("invalid value for required argument 'Source'") } replaceOnChanges := pulumi.ReplaceOnChanges([]string{ - "alias", - "destination", - "scrapeConfiguration", "source", }) opts = append(opts, replaceOnChanges) diff --git a/sdk/go/aws/bedrock/applicationInferenceProfile.go b/sdk/go/aws/bedrock/applicationInferenceProfile.go index 2cd3c94ae8..48914665e4 100644 --- a/sdk/go/aws/bedrock/applicationInferenceProfile.go +++ b/sdk/go/aws/bedrock/applicationInferenceProfile.go @@ -19,18 +19,27 @@ type ApplicationInferenceProfile struct { // Time Stamp CreatedAt pulumi.StringOutput `pulumi:"createdAt"` // Description of the inference profile - Description pulumi.StringPtrOutput `pulumi:"description"` - InferenceProfileArn pulumi.StringOutput `pulumi:"inferenceProfileArn"` - InferenceProfileId pulumi.StringOutput `pulumi:"inferenceProfileId"` + Description pulumi.StringPtrOutput `pulumi:"description"` + // The Amazon Resource Name (ARN) of the inference profile. + InferenceProfileArn pulumi.StringOutput `pulumi:"inferenceProfileArn"` + // The unique identifier of the inference profile. + InferenceProfileId pulumi.StringOutput `pulumi:"inferenceProfileId"` // Inference profile identifier. Supports both system-defined inference profile ids, and inference profile ARNs. - InferenceProfileIdentifier pulumi.StringOutput `pulumi:"inferenceProfileIdentifier"` - InferenceProfileName pulumi.StringOutput `pulumi:"inferenceProfileName"` - ModelSource ApplicationInferenceProfileInferenceProfileModelSourcePropertiesPtrOutput `pulumi:"modelSource"` + InferenceProfileIdentifier pulumi.StringOutput `pulumi:"inferenceProfileIdentifier"` + // The name of the inference profile. + InferenceProfileName pulumi.StringOutput `pulumi:"inferenceProfileName"` + // Contains configurations for the inference profile to copy as the resource. + ModelSource ApplicationInferenceProfileInferenceProfileModelSourcePropertiesPtrOutput `pulumi:"modelSource"` // List of model configuration Models ApplicationInferenceProfileInferenceProfileModelArrayOutput `pulumi:"models"` - Status ApplicationInferenceProfileInferenceProfileStatusOutput `pulumi:"status"` + // The status of the inference profile. `ACTIVE` means that the inference profile is ready to be used. + Status ApplicationInferenceProfileInferenceProfileStatusOutput `pulumi:"status"` // List of Tags - Tags aws.TagArrayOutput `pulumi:"tags"` + Tags aws.TagArrayOutput `pulumi:"tags"` + // The type of the inference profile. The following types are possible: + // + // - `SYSTEM_DEFINED` – The inference profile is defined by Amazon Bedrock. You can route inference requests across regions with these inference profiles. + // - `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. Type ApplicationInferenceProfileInferenceProfileTypeOutput `pulumi:"type"` // Time Stamp UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` @@ -83,9 +92,11 @@ func (ApplicationInferenceProfileState) ElementType() reflect.Type { type applicationInferenceProfileArgs struct { // Description of the inference profile - Description *string `pulumi:"description"` - InferenceProfileName *string `pulumi:"inferenceProfileName"` - ModelSource *ApplicationInferenceProfileInferenceProfileModelSourceProperties `pulumi:"modelSource"` + Description *string `pulumi:"description"` + // The name of the inference profile. + InferenceProfileName *string `pulumi:"inferenceProfileName"` + // Contains configurations for the inference profile to copy as the resource. + ModelSource *ApplicationInferenceProfileInferenceProfileModelSourceProperties `pulumi:"modelSource"` // List of Tags Tags []aws.Tag `pulumi:"tags"` } @@ -93,9 +104,11 @@ type applicationInferenceProfileArgs struct { // The set of arguments for constructing a ApplicationInferenceProfile resource. type ApplicationInferenceProfileArgs struct { // Description of the inference profile - Description pulumi.StringPtrInput + Description pulumi.StringPtrInput + // The name of the inference profile. InferenceProfileName pulumi.StringPtrInput - ModelSource ApplicationInferenceProfileInferenceProfileModelSourcePropertiesPtrInput + // Contains configurations for the inference profile to copy as the resource. + ModelSource ApplicationInferenceProfileInferenceProfileModelSourcePropertiesPtrInput // List of Tags Tags aws.TagArrayInput } @@ -147,10 +160,12 @@ func (o ApplicationInferenceProfileOutput) Description() pulumi.StringPtrOutput return o.ApplyT(func(v *ApplicationInferenceProfile) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) } +// The Amazon Resource Name (ARN) of the inference profile. func (o ApplicationInferenceProfileOutput) InferenceProfileArn() pulumi.StringOutput { return o.ApplyT(func(v *ApplicationInferenceProfile) pulumi.StringOutput { return v.InferenceProfileArn }).(pulumi.StringOutput) } +// The unique identifier of the inference profile. func (o ApplicationInferenceProfileOutput) InferenceProfileId() pulumi.StringOutput { return o.ApplyT(func(v *ApplicationInferenceProfile) pulumi.StringOutput { return v.InferenceProfileId }).(pulumi.StringOutput) } @@ -160,10 +175,12 @@ func (o ApplicationInferenceProfileOutput) InferenceProfileIdentifier() pulumi.S return o.ApplyT(func(v *ApplicationInferenceProfile) pulumi.StringOutput { return v.InferenceProfileIdentifier }).(pulumi.StringOutput) } +// The name of the inference profile. func (o ApplicationInferenceProfileOutput) InferenceProfileName() pulumi.StringOutput { return o.ApplyT(func(v *ApplicationInferenceProfile) pulumi.StringOutput { return v.InferenceProfileName }).(pulumi.StringOutput) } +// Contains configurations for the inference profile to copy as the resource. func (o ApplicationInferenceProfileOutput) ModelSource() ApplicationInferenceProfileInferenceProfileModelSourcePropertiesPtrOutput { return o.ApplyT(func(v *ApplicationInferenceProfile) ApplicationInferenceProfileInferenceProfileModelSourcePropertiesPtrOutput { return v.ModelSource @@ -177,6 +194,7 @@ func (o ApplicationInferenceProfileOutput) Models() ApplicationInferenceProfileI }).(ApplicationInferenceProfileInferenceProfileModelArrayOutput) } +// The status of the inference profile. `ACTIVE` means that the inference profile is ready to be used. func (o ApplicationInferenceProfileOutput) Status() ApplicationInferenceProfileInferenceProfileStatusOutput { return o.ApplyT(func(v *ApplicationInferenceProfile) ApplicationInferenceProfileInferenceProfileStatusOutput { return v.Status @@ -188,6 +206,10 @@ func (o ApplicationInferenceProfileOutput) Tags() aws.TagArrayOutput { return o.ApplyT(func(v *ApplicationInferenceProfile) aws.TagArrayOutput { return v.Tags }).(aws.TagArrayOutput) } +// The type of the inference profile. The following types are possible: +// +// - `SYSTEM_DEFINED` – The inference profile is defined by Amazon Bedrock. You can route inference requests across regions with these inference profiles. +// - `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. func (o ApplicationInferenceProfileOutput) Type() ApplicationInferenceProfileInferenceProfileTypeOutput { return o.ApplyT(func(v *ApplicationInferenceProfile) ApplicationInferenceProfileInferenceProfileTypeOutput { return v.Type diff --git a/sdk/go/aws/bedrock/getApplicationInferenceProfile.go b/sdk/go/aws/bedrock/getApplicationInferenceProfile.go index c1b929d9de..ffbc5ceecd 100644 --- a/sdk/go/aws/bedrock/getApplicationInferenceProfile.go +++ b/sdk/go/aws/bedrock/getApplicationInferenceProfile.go @@ -30,16 +30,23 @@ type LookupApplicationInferenceProfileArgs struct { type LookupApplicationInferenceProfileResult struct { // Time Stamp - CreatedAt *string `pulumi:"createdAt"` + CreatedAt *string `pulumi:"createdAt"` + // The Amazon Resource Name (ARN) of the inference profile. InferenceProfileArn *string `pulumi:"inferenceProfileArn"` - InferenceProfileId *string `pulumi:"inferenceProfileId"` + // The unique identifier of the inference profile. + InferenceProfileId *string `pulumi:"inferenceProfileId"` // Inference profile identifier. Supports both system-defined inference profile ids, and inference profile ARNs. InferenceProfileIdentifier *string `pulumi:"inferenceProfileIdentifier"` // List of model configuration Models []ApplicationInferenceProfileInferenceProfileModel `pulumi:"models"` + // The status of the inference profile. `ACTIVE` means that the inference profile is ready to be used. Status *ApplicationInferenceProfileInferenceProfileStatus `pulumi:"status"` // List of Tags - Tags []aws.Tag `pulumi:"tags"` + Tags []aws.Tag `pulumi:"tags"` + // The type of the inference profile. The following types are possible: + // + // - `SYSTEM_DEFINED` – The inference profile is defined by Amazon Bedrock. You can route inference requests across regions with these inference profiles. + // - `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. Type *ApplicationInferenceProfileInferenceProfileType `pulumi:"type"` // Time Stamp UpdatedAt *string `pulumi:"updatedAt"` @@ -92,10 +99,12 @@ func (o LookupApplicationInferenceProfileResultOutput) CreatedAt() pulumi.String return o.ApplyT(func(v LookupApplicationInferenceProfileResult) *string { return v.CreatedAt }).(pulumi.StringPtrOutput) } +// The Amazon Resource Name (ARN) of the inference profile. func (o LookupApplicationInferenceProfileResultOutput) InferenceProfileArn() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupApplicationInferenceProfileResult) *string { return v.InferenceProfileArn }).(pulumi.StringPtrOutput) } +// The unique identifier of the inference profile. func (o LookupApplicationInferenceProfileResultOutput) InferenceProfileId() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupApplicationInferenceProfileResult) *string { return v.InferenceProfileId }).(pulumi.StringPtrOutput) } @@ -112,6 +121,7 @@ func (o LookupApplicationInferenceProfileResultOutput) Models() ApplicationInfer }).(ApplicationInferenceProfileInferenceProfileModelArrayOutput) } +// The status of the inference profile. `ACTIVE` means that the inference profile is ready to be used. func (o LookupApplicationInferenceProfileResultOutput) Status() ApplicationInferenceProfileInferenceProfileStatusPtrOutput { return o.ApplyT(func(v LookupApplicationInferenceProfileResult) *ApplicationInferenceProfileInferenceProfileStatus { return v.Status @@ -123,6 +133,10 @@ func (o LookupApplicationInferenceProfileResultOutput) Tags() aws.TagArrayOutput return o.ApplyT(func(v LookupApplicationInferenceProfileResult) []aws.Tag { return v.Tags }).(aws.TagArrayOutput) } +// The type of the inference profile. The following types are possible: +// +// - `SYSTEM_DEFINED` – The inference profile is defined by Amazon Bedrock. You can route inference requests across regions with these inference profiles. +// - `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. func (o LookupApplicationInferenceProfileResultOutput) Type() ApplicationInferenceProfileInferenceProfileTypePtrOutput { return o.ApplyT(func(v LookupApplicationInferenceProfileResult) *ApplicationInferenceProfileInferenceProfileType { return v.Type diff --git a/sdk/go/aws/bedrock/promptVersion.go b/sdk/go/aws/bedrock/promptVersion.go index 2903354a77..c18066ad44 100644 --- a/sdk/go/aws/bedrock/promptVersion.go +++ b/sdk/go/aws/bedrock/promptVersion.go @@ -31,8 +31,9 @@ type PromptVersion struct { // ARN of a prompt resource possibly with a version PromptArn pulumi.StringOutput `pulumi:"promptArn"` // Identifier for a Prompt - PromptId pulumi.StringOutput `pulumi:"promptId"` - Tags pulumi.StringMapOutput `pulumi:"tags"` + PromptId pulumi.StringOutput `pulumi:"promptId"` + // A map of tags attached to the prompt version and their values. + Tags pulumi.StringMapOutput `pulumi:"tags"` // Time Stamp. UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` // List of prompt variants @@ -93,8 +94,9 @@ type promptVersionArgs struct { // Description for a prompt version resource. Description *string `pulumi:"description"` // ARN of a prompt resource possibly with a version - PromptArn string `pulumi:"promptArn"` - Tags map[string]string `pulumi:"tags"` + PromptArn string `pulumi:"promptArn"` + // A map of tags attached to the prompt version and their values. + Tags map[string]string `pulumi:"tags"` } // The set of arguments for constructing a PromptVersion resource. @@ -103,7 +105,8 @@ type PromptVersionArgs struct { Description pulumi.StringPtrInput // ARN of a prompt resource possibly with a version PromptArn pulumi.StringInput - Tags pulumi.StringMapInput + // A map of tags attached to the prompt version and their values. + Tags pulumi.StringMapInput } func (PromptVersionArgs) ElementType() reflect.Type { @@ -183,6 +186,7 @@ func (o PromptVersionOutput) PromptId() pulumi.StringOutput { return o.ApplyT(func(v *PromptVersion) pulumi.StringOutput { return v.PromptId }).(pulumi.StringOutput) } +// A map of tags attached to the prompt version and their values. func (o PromptVersionOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *PromptVersion) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) } diff --git a/sdk/go/aws/codebuild/fleet.go b/sdk/go/aws/codebuild/fleet.go index c791559f89..c7af7be18a 100644 --- a/sdk/go/aws/codebuild/fleet.go +++ b/sdk/go/aws/codebuild/fleet.go @@ -22,31 +22,40 @@ type Fleet struct { BaseCapacity pulumi.IntPtrOutput `pulumi:"baseCapacity"` // Information about the compute resources the compute fleet uses. Available values include: // - // - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. - // - `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds. - // - `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type. - // - `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type. - // - `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. + // - `ATTRIBUTE_BASED_COMPUTE` : Specify the amount of vCPUs, memory, disk space, and the type of machine. + // + // > 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* . + // - `BUILD_GENERAL1_SMALL` : Use up to 4 GiB memory and 2 vCPUs for builds. + // - `BUILD_GENERAL1_MEDIUM` : Use up to 8 GiB memory and 4 vCPUs for builds. + // - `BUILD_GENERAL1_LARGE` : Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type. + // - `BUILD_GENERAL1_XLARGE` : Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type. + // - `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. + // - `BUILD_LAMBDA_1GB` : Use up to 1 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + // - `BUILD_LAMBDA_2GB` : Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + // - `BUILD_LAMBDA_4GB` : Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + // - `BUILD_LAMBDA_8GB` : Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + // - `BUILD_LAMBDA_10GB` : Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . // // If you use `BUILD_GENERAL1_SMALL` : // - // - For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds. - // - 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. - // - For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds. + // - For environment type `LINUX_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs for builds. + // - 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. + // - For environment type `ARM_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs on ARM-based processors for builds. // // If you use `BUILD_GENERAL1_LARGE` : // - // - For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds. - // - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. - // - For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds. + // - For environment type `LINUX_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs for builds. + // - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. + // - For environment type `ARM_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds. // - // For more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.* + // For 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.* ComputeType FleetComputeTypePtrOutput `pulumi:"computeType"` // The environment type of the compute fleet. // // - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). // - The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai). // - 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). + // - 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). // - 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). // - 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). // @@ -117,31 +126,40 @@ type fleetArgs struct { BaseCapacity *int `pulumi:"baseCapacity"` // Information about the compute resources the compute fleet uses. Available values include: // - // - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. - // - `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds. - // - `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type. - // - `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type. - // - `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. + // - `ATTRIBUTE_BASED_COMPUTE` : Specify the amount of vCPUs, memory, disk space, and the type of machine. + // + // > 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* . + // - `BUILD_GENERAL1_SMALL` : Use up to 4 GiB memory and 2 vCPUs for builds. + // - `BUILD_GENERAL1_MEDIUM` : Use up to 8 GiB memory and 4 vCPUs for builds. + // - `BUILD_GENERAL1_LARGE` : Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type. + // - `BUILD_GENERAL1_XLARGE` : Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type. + // - `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. + // - `BUILD_LAMBDA_1GB` : Use up to 1 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + // - `BUILD_LAMBDA_2GB` : Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + // - `BUILD_LAMBDA_4GB` : Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + // - `BUILD_LAMBDA_8GB` : Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + // - `BUILD_LAMBDA_10GB` : Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . // // If you use `BUILD_GENERAL1_SMALL` : // - // - For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds. - // - 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. - // - For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds. + // - For environment type `LINUX_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs for builds. + // - 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. + // - For environment type `ARM_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs on ARM-based processors for builds. // // If you use `BUILD_GENERAL1_LARGE` : // - // - For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds. - // - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. - // - For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds. + // - For environment type `LINUX_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs for builds. + // - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. + // - For environment type `ARM_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds. // - // For more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.* + // For 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.* ComputeType *FleetComputeType `pulumi:"computeType"` // The environment type of the compute fleet. // // - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). // - The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai). // - 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). + // - 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). // - 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). // - 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). // @@ -174,31 +192,40 @@ type FleetArgs struct { BaseCapacity pulumi.IntPtrInput // Information about the compute resources the compute fleet uses. Available values include: // - // - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. - // - `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds. - // - `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type. - // - `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type. - // - `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. + // - `ATTRIBUTE_BASED_COMPUTE` : Specify the amount of vCPUs, memory, disk space, and the type of machine. + // + // > 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* . + // - `BUILD_GENERAL1_SMALL` : Use up to 4 GiB memory and 2 vCPUs for builds. + // - `BUILD_GENERAL1_MEDIUM` : Use up to 8 GiB memory and 4 vCPUs for builds. + // - `BUILD_GENERAL1_LARGE` : Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type. + // - `BUILD_GENERAL1_XLARGE` : Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type. + // - `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. + // - `BUILD_LAMBDA_1GB` : Use up to 1 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + // - `BUILD_LAMBDA_2GB` : Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + // - `BUILD_LAMBDA_4GB` : Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + // - `BUILD_LAMBDA_8GB` : Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + // - `BUILD_LAMBDA_10GB` : Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . // // If you use `BUILD_GENERAL1_SMALL` : // - // - For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds. - // - 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. - // - For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds. + // - For environment type `LINUX_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs for builds. + // - 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. + // - For environment type `ARM_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs on ARM-based processors for builds. // // If you use `BUILD_GENERAL1_LARGE` : // - // - For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds. - // - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. - // - For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds. + // - For environment type `LINUX_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs for builds. + // - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. + // - For environment type `ARM_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds. // - // For more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.* + // For 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.* ComputeType FleetComputeTypePtrInput // The environment type of the compute fleet. // // - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). // - The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai). // - 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). + // - 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). // - 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). // - 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). // @@ -274,25 +301,33 @@ func (o FleetOutput) BaseCapacity() pulumi.IntPtrOutput { // Information about the compute resources the compute fleet uses. Available values include: // -// - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. -// - `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds. -// - `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type. -// - `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type. -// - `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. +// - `ATTRIBUTE_BASED_COMPUTE` : Specify the amount of vCPUs, memory, disk space, and the type of machine. +// +// > 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* . +// - `BUILD_GENERAL1_SMALL` : Use up to 4 GiB memory and 2 vCPUs for builds. +// - `BUILD_GENERAL1_MEDIUM` : Use up to 8 GiB memory and 4 vCPUs for builds. +// - `BUILD_GENERAL1_LARGE` : Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type. +// - `BUILD_GENERAL1_XLARGE` : Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type. +// - `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. +// - `BUILD_LAMBDA_1GB` : Use up to 1 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . +// - `BUILD_LAMBDA_2GB` : Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . +// - `BUILD_LAMBDA_4GB` : Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . +// - `BUILD_LAMBDA_8GB` : Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . +// - `BUILD_LAMBDA_10GB` : Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . // // If you use `BUILD_GENERAL1_SMALL` : // -// - For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds. -// - 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. -// - For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds. +// - For environment type `LINUX_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs for builds. +// - 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. +// - For environment type `ARM_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs on ARM-based processors for builds. // // If you use `BUILD_GENERAL1_LARGE` : // -// - For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds. -// - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. -// - For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds. +// - For environment type `LINUX_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs for builds. +// - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. +// - For environment type `ARM_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds. // -// For more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.* +// For 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.* func (o FleetOutput) ComputeType() FleetComputeTypePtrOutput { return o.ApplyT(func(v *Fleet) FleetComputeTypePtrOutput { return v.ComputeType }).(FleetComputeTypePtrOutput) } @@ -302,6 +337,7 @@ func (o FleetOutput) ComputeType() FleetComputeTypePtrOutput { // - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). // - The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai). // - 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). +// - 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). // - 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). // - 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). // diff --git a/sdk/go/aws/codebuild/getFleet.go b/sdk/go/aws/codebuild/getFleet.go index 8722bde4f5..2d64a219dc 100644 --- a/sdk/go/aws/codebuild/getFleet.go +++ b/sdk/go/aws/codebuild/getFleet.go @@ -35,31 +35,40 @@ type LookupFleetResult struct { BaseCapacity *int `pulumi:"baseCapacity"` // Information about the compute resources the compute fleet uses. Available values include: // - // - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. - // - `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds. - // - `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type. - // - `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type. - // - `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. + // - `ATTRIBUTE_BASED_COMPUTE` : Specify the amount of vCPUs, memory, disk space, and the type of machine. + // + // > 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* . + // - `BUILD_GENERAL1_SMALL` : Use up to 4 GiB memory and 2 vCPUs for builds. + // - `BUILD_GENERAL1_MEDIUM` : Use up to 8 GiB memory and 4 vCPUs for builds. + // - `BUILD_GENERAL1_LARGE` : Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type. + // - `BUILD_GENERAL1_XLARGE` : Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type. + // - `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. + // - `BUILD_LAMBDA_1GB` : Use up to 1 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + // - `BUILD_LAMBDA_2GB` : Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + // - `BUILD_LAMBDA_4GB` : Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + // - `BUILD_LAMBDA_8GB` : Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + // - `BUILD_LAMBDA_10GB` : Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . // // If you use `BUILD_GENERAL1_SMALL` : // - // - For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds. - // - 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. - // - For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds. + // - For environment type `LINUX_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs for builds. + // - 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. + // - For environment type `ARM_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs on ARM-based processors for builds. // // If you use `BUILD_GENERAL1_LARGE` : // - // - For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds. - // - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. - // - For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds. + // - For environment type `LINUX_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs for builds. + // - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. + // - For environment type `ARM_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds. // - // For more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.* + // For 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.* ComputeType *FleetComputeType `pulumi:"computeType"` // The environment type of the compute fleet. // // - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). // - The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai). // - 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). + // - 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). // - 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). // - 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). // @@ -140,25 +149,33 @@ func (o LookupFleetResultOutput) BaseCapacity() pulumi.IntPtrOutput { // Information about the compute resources the compute fleet uses. Available values include: // -// - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. -// - `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds. -// - `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type. -// - `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type. -// - `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. +// - `ATTRIBUTE_BASED_COMPUTE` : Specify the amount of vCPUs, memory, disk space, and the type of machine. +// +// > 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* . +// - `BUILD_GENERAL1_SMALL` : Use up to 4 GiB memory and 2 vCPUs for builds. +// - `BUILD_GENERAL1_MEDIUM` : Use up to 8 GiB memory and 4 vCPUs for builds. +// - `BUILD_GENERAL1_LARGE` : Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type. +// - `BUILD_GENERAL1_XLARGE` : Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type. +// - `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. +// - `BUILD_LAMBDA_1GB` : Use up to 1 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . +// - `BUILD_LAMBDA_2GB` : Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . +// - `BUILD_LAMBDA_4GB` : Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . +// - `BUILD_LAMBDA_8GB` : Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . +// - `BUILD_LAMBDA_10GB` : Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . // // If you use `BUILD_GENERAL1_SMALL` : // -// - For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds. -// - 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. -// - For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds. +// - For environment type `LINUX_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs for builds. +// - 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. +// - For environment type `ARM_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs on ARM-based processors for builds. // // If you use `BUILD_GENERAL1_LARGE` : // -// - For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds. -// - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. -// - For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds. +// - For environment type `LINUX_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs for builds. +// - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. +// - For environment type `ARM_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds. // -// For more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.* +// For 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.* func (o LookupFleetResultOutput) ComputeType() FleetComputeTypePtrOutput { return o.ApplyT(func(v LookupFleetResult) *FleetComputeType { return v.ComputeType }).(FleetComputeTypePtrOutput) } @@ -168,6 +185,7 @@ func (o LookupFleetResultOutput) ComputeType() FleetComputeTypePtrOutput { // - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). // - The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai). // - 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). +// - 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). // - 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). // - 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). // diff --git a/sdk/go/aws/codebuild/pulumiEnums.go b/sdk/go/aws/codebuild/pulumiEnums.go index 46a50fe5a3..93ff369d02 100644 --- a/sdk/go/aws/codebuild/pulumiEnums.go +++ b/sdk/go/aws/codebuild/pulumiEnums.go @@ -12,25 +12,33 @@ import ( // Information about the compute resources the compute fleet uses. Available values include: // -// - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. -// - `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds. -// - `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type. -// - `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type. -// - `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. +// - `ATTRIBUTE_BASED_COMPUTE` : Specify the amount of vCPUs, memory, disk space, and the type of machine. +// +// > 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* . +// - `BUILD_GENERAL1_SMALL` : Use up to 4 GiB memory and 2 vCPUs for builds. +// - `BUILD_GENERAL1_MEDIUM` : Use up to 8 GiB memory and 4 vCPUs for builds. +// - `BUILD_GENERAL1_LARGE` : Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type. +// - `BUILD_GENERAL1_XLARGE` : Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type. +// - `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. +// - `BUILD_LAMBDA_1GB` : Use up to 1 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . +// - `BUILD_LAMBDA_2GB` : Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . +// - `BUILD_LAMBDA_4GB` : Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . +// - `BUILD_LAMBDA_8GB` : Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . +// - `BUILD_LAMBDA_10GB` : Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . // // If you use `BUILD_GENERAL1_SMALL` : // -// - For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds. -// - 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. -// - For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds. +// - For environment type `LINUX_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs for builds. +// - 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. +// - For environment type `ARM_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs on ARM-based processors for builds. // // If you use `BUILD_GENERAL1_LARGE` : // -// - For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds. -// - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. -// - For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds. +// - For environment type `LINUX_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs for builds. +// - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. +// - For environment type `ARM_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds. // -// For more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.* +// For 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 FleetComputeType string const ( @@ -207,6 +215,7 @@ func (in *fleetComputeTypePtr) ToFleetComputeTypePtrOutputWithContext(ctx contex // - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). // - The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai). // - 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). +// - 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). // - 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). // - 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). // diff --git a/sdk/go/aws/datasync/pulumiEnums.go b/sdk/go/aws/datasync/pulumiEnums.go index bf6b52e5c0..1e833315dd 100644 --- a/sdk/go/aws/datasync/pulumiEnums.go +++ b/sdk/go/aws/datasync/pulumiEnums.go @@ -3210,6 +3210,172 @@ func (in *taskManifestConfigFormatPtr) ToTaskManifestConfigFormatPtrOutputWithCo return pulumi.ToOutputWithContext(ctx, in).(TaskManifestConfigFormatPtrOutput) } +// Specifies the task mode for the task. +type TaskMode string + +const ( + TaskModeBasic = TaskMode("BASIC") + TaskModeEnhanced = TaskMode("ENHANCED") +) + +func (TaskMode) ElementType() reflect.Type { + return reflect.TypeOf((*TaskMode)(nil)).Elem() +} + +func (e TaskMode) ToTaskModeOutput() TaskModeOutput { + return pulumi.ToOutput(e).(TaskModeOutput) +} + +func (e TaskMode) ToTaskModeOutputWithContext(ctx context.Context) TaskModeOutput { + return pulumi.ToOutputWithContext(ctx, e).(TaskModeOutput) +} + +func (e TaskMode) ToTaskModePtrOutput() TaskModePtrOutput { + return e.ToTaskModePtrOutputWithContext(context.Background()) +} + +func (e TaskMode) ToTaskModePtrOutputWithContext(ctx context.Context) TaskModePtrOutput { + return TaskMode(e).ToTaskModeOutputWithContext(ctx).ToTaskModePtrOutputWithContext(ctx) +} + +func (e TaskMode) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e TaskMode) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e TaskMode) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e TaskMode) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type TaskModeOutput struct{ *pulumi.OutputState } + +func (TaskModeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TaskMode)(nil)).Elem() +} + +func (o TaskModeOutput) ToTaskModeOutput() TaskModeOutput { + return o +} + +func (o TaskModeOutput) ToTaskModeOutputWithContext(ctx context.Context) TaskModeOutput { + return o +} + +func (o TaskModeOutput) ToTaskModePtrOutput() TaskModePtrOutput { + return o.ToTaskModePtrOutputWithContext(context.Background()) +} + +func (o TaskModeOutput) ToTaskModePtrOutputWithContext(ctx context.Context) TaskModePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v TaskMode) *TaskMode { + return &v + }).(TaskModePtrOutput) +} + +func (o TaskModeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o TaskModeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e TaskMode) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o TaskModeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o TaskModeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e TaskMode) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type TaskModePtrOutput struct{ *pulumi.OutputState } + +func (TaskModePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TaskMode)(nil)).Elem() +} + +func (o TaskModePtrOutput) ToTaskModePtrOutput() TaskModePtrOutput { + return o +} + +func (o TaskModePtrOutput) ToTaskModePtrOutputWithContext(ctx context.Context) TaskModePtrOutput { + return o +} + +func (o TaskModePtrOutput) Elem() TaskModeOutput { + return o.ApplyT(func(v *TaskMode) TaskMode { + if v != nil { + return *v + } + var ret TaskMode + return ret + }).(TaskModeOutput) +} + +func (o TaskModePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o TaskModePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *TaskMode) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// TaskModeInput is an input type that accepts values of the TaskMode enum +// A concrete instance of `TaskModeInput` can be one of the following: +// +// TaskModeBasic +// TaskModeEnhanced +type TaskModeInput interface { + pulumi.Input + + ToTaskModeOutput() TaskModeOutput + ToTaskModeOutputWithContext(context.Context) TaskModeOutput +} + +var taskModePtrType = reflect.TypeOf((**TaskMode)(nil)).Elem() + +type TaskModePtrInput interface { + pulumi.Input + + ToTaskModePtrOutput() TaskModePtrOutput + ToTaskModePtrOutputWithContext(context.Context) TaskModePtrOutput +} + +type taskModePtr string + +func TaskModePtr(v string) TaskModePtrInput { + return (*taskModePtr)(&v) +} + +func (*taskModePtr) ElementType() reflect.Type { + return taskModePtrType +} + +func (in *taskModePtr) ToTaskModePtrOutput() TaskModePtrOutput { + return pulumi.ToOutput(in).(TaskModePtrOutput) +} + +func (in *taskModePtr) ToTaskModePtrOutputWithContext(ctx context.Context) TaskModePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(TaskModePtrOutput) +} + // A file metadata value that shows the last time a file was accessed (that is, when the file was read or written to). type TaskOptionsAtime string @@ -7007,6 +7173,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*TaskManifestConfigActionPtrInput)(nil)).Elem(), TaskManifestConfigAction("TRANSFER")) pulumi.RegisterInputType(reflect.TypeOf((*TaskManifestConfigFormatInput)(nil)).Elem(), TaskManifestConfigFormat("CSV")) pulumi.RegisterInputType(reflect.TypeOf((*TaskManifestConfigFormatPtrInput)(nil)).Elem(), TaskManifestConfigFormat("CSV")) + pulumi.RegisterInputType(reflect.TypeOf((*TaskModeInput)(nil)).Elem(), TaskMode("BASIC")) + pulumi.RegisterInputType(reflect.TypeOf((*TaskModePtrInput)(nil)).Elem(), TaskMode("BASIC")) pulumi.RegisterInputType(reflect.TypeOf((*TaskOptionsAtimeInput)(nil)).Elem(), TaskOptionsAtime("NONE")) pulumi.RegisterInputType(reflect.TypeOf((*TaskOptionsAtimePtrInput)(nil)).Elem(), TaskOptionsAtime("NONE")) pulumi.RegisterInputType(reflect.TypeOf((*TaskOptionsGidInput)(nil)).Elem(), TaskOptionsGid("NONE")) @@ -7091,6 +7259,8 @@ func init() { pulumi.RegisterOutputType(TaskManifestConfigActionPtrOutput{}) pulumi.RegisterOutputType(TaskManifestConfigFormatOutput{}) pulumi.RegisterOutputType(TaskManifestConfigFormatPtrOutput{}) + pulumi.RegisterOutputType(TaskModeOutput{}) + pulumi.RegisterOutputType(TaskModePtrOutput{}) pulumi.RegisterOutputType(TaskOptionsAtimeOutput{}) pulumi.RegisterOutputType(TaskOptionsAtimePtrOutput{}) pulumi.RegisterOutputType(TaskOptionsGidOutput{}) diff --git a/sdk/go/aws/datasync/task.go b/sdk/go/aws/datasync/task.go index 164c658a1e..bc37d95987 100644 --- a/sdk/go/aws/datasync/task.go +++ b/sdk/go/aws/datasync/task.go @@ -99,6 +99,8 @@ type Task struct { Tags aws.TagArrayOutput `pulumi:"tags"` // The ARN of the task. TaskArn pulumi.StringOutput `pulumi:"taskArn"` + // Specifies the task mode for the task. + TaskMode TaskModePtrOutput `pulumi:"taskMode"` // 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) . // // When 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. @@ -121,6 +123,7 @@ func NewTask(ctx *pulumi.Context, replaceOnChanges := pulumi.ReplaceOnChanges([]string{ "destinationLocationArn", "sourceLocationArn", + "taskMode", }) opts = append(opts, replaceOnChanges) opts = internal.PkgResourceDefaultOpts(opts) @@ -176,6 +179,8 @@ type taskArgs struct { SourceLocationArn string `pulumi:"sourceLocationArn"` // An array of key-value pairs to apply to this resource. Tags []aws.Tag `pulumi:"tags"` + // Specifies the task mode for the task. + TaskMode *TaskMode `pulumi:"taskMode"` // 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) . // // When 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. @@ -204,6 +209,8 @@ type TaskArgs struct { SourceLocationArn pulumi.StringInput // An array of key-value pairs to apply to this resource. Tags aws.TagArrayInput + // Specifies the task mode for the task. + TaskMode TaskModePtrInput // 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) . // // When 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. @@ -317,6 +324,11 @@ func (o TaskOutput) TaskArn() pulumi.StringOutput { return o.ApplyT(func(v *Task) pulumi.StringOutput { return v.TaskArn }).(pulumi.StringOutput) } +// Specifies the task mode for the task. +func (o TaskOutput) TaskMode() TaskModePtrOutput { + return o.ApplyT(func(v *Task) TaskModePtrOutput { return v.TaskMode }).(TaskModePtrOutput) +} + // 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) . // // When 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. diff --git a/sdk/go/aws/ec2/eip.go b/sdk/go/aws/ec2/eip.go index 401da31716..ea9a5a978f 100644 --- a/sdk/go/aws/ec2/eip.go +++ b/sdk/go/aws/ec2/eip.go @@ -19,7 +19,7 @@ import ( type Eip struct { pulumi.CustomResourceState - // Describes an Elastic IP address, or a carrier IP address. + // An Elastic IP address or a carrier IP address in a Wavelength Zone. Address pulumi.StringPtrOutput `pulumi:"address"` // The ID that AWS assigns to represent the allocation of the address for use with Amazon VPC. This is returned only for VPC elastic IP addresses. For example, `eipalloc-5723d13e` . AllocationId pulumi.StringOutput `pulumi:"allocationId"` @@ -29,6 +29,7 @@ type Eip struct { // The ID of the instance. // Updates to the ``InstanceId`` property may require *some interruptions*. Updates on an EIP reassociates the address on its associated resource. InstanceId pulumi.StringPtrOutput `pulumi:"instanceId"` + // 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* . IpamPoolId pulumi.StringPtrOutput `pulumi:"ipamPoolId"` // A unique set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises IP addresses. Use this parameter to limit the IP address to this location. IP addresses cannot move between network border groups. // Use [DescribeAvailabilityZones](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html) to view the network border groups. @@ -93,7 +94,7 @@ func (EipState) ElementType() reflect.Type { } type eipArgs struct { - // Describes an Elastic IP address, or a carrier IP address. + // An Elastic IP address or a carrier IP address in a Wavelength Zone. Address *string `pulumi:"address"` // The network (``vpc``). // If you define an Elastic IP address and associate it with a VPC that is defined in the same template, you must declare a dependency on the VPC-gateway attachment by using the [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) on this resource. @@ -101,6 +102,7 @@ type eipArgs struct { // The ID of the instance. // Updates to the ``InstanceId`` property may require *some interruptions*. Updates on an EIP reassociates the address on its associated resource. InstanceId *string `pulumi:"instanceId"` + // 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* . IpamPoolId *string `pulumi:"ipamPoolId"` // A unique set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises IP addresses. Use this parameter to limit the IP address to this location. IP addresses cannot move between network border groups. // Use [DescribeAvailabilityZones](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html) to view the network border groups. @@ -117,7 +119,7 @@ type eipArgs struct { // The set of arguments for constructing a Eip resource. type EipArgs struct { - // Describes an Elastic IP address, or a carrier IP address. + // An Elastic IP address or a carrier IP address in a Wavelength Zone. Address pulumi.StringPtrInput // The network (``vpc``). // If you define an Elastic IP address and associate it with a VPC that is defined in the same template, you must declare a dependency on the VPC-gateway attachment by using the [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) on this resource. @@ -125,6 +127,7 @@ type EipArgs struct { // The ID of the instance. // Updates to the ``InstanceId`` property may require *some interruptions*. Updates on an EIP reassociates the address on its associated resource. InstanceId pulumi.StringPtrInput + // 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* . IpamPoolId pulumi.StringPtrInput // A unique set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises IP addresses. Use this parameter to limit the IP address to this location. IP addresses cannot move between network border groups. // Use [DescribeAvailabilityZones](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html) to view the network border groups. @@ -176,7 +179,7 @@ func (o EipOutput) ToEipOutputWithContext(ctx context.Context) EipOutput { return o } -// Describes an Elastic IP address, or a carrier IP address. +// An Elastic IP address or a carrier IP address in a Wavelength Zone. func (o EipOutput) Address() pulumi.StringPtrOutput { return o.ApplyT(func(v *Eip) pulumi.StringPtrOutput { return v.Address }).(pulumi.StringPtrOutput) } @@ -200,6 +203,7 @@ func (o EipOutput) InstanceId() pulumi.StringPtrOutput { return o.ApplyT(func(v *Eip) pulumi.StringPtrOutput { return v.InstanceId }).(pulumi.StringPtrOutput) } +// 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* . func (o EipOutput) IpamPoolId() pulumi.StringPtrOutput { return o.ApplyT(func(v *Eip) pulumi.StringPtrOutput { return v.IpamPoolId }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/aws/ec2/getSecurityGroupVpcAssociation.go b/sdk/go/aws/ec2/getSecurityGroupVpcAssociation.go new file mode 100644 index 0000000000..747028db24 --- /dev/null +++ b/sdk/go/aws/ec2/getSecurityGroupVpcAssociation.go @@ -0,0 +1,102 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ec2 + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource type definition for the AWS::EC2::SecurityGroupVpcAssociation resource +func LookupSecurityGroupVpcAssociation(ctx *pulumi.Context, args *LookupSecurityGroupVpcAssociationArgs, opts ...pulumi.InvokeOption) (*LookupSecurityGroupVpcAssociationResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupSecurityGroupVpcAssociationResult + err := ctx.Invoke("aws-native:ec2:getSecurityGroupVpcAssociation", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupSecurityGroupVpcAssociationArgs struct { + // The group ID of the specified security group. + GroupId string `pulumi:"groupId"` + // The ID of the VPC in the security group vpc association. + VpcId string `pulumi:"vpcId"` +} + +type LookupSecurityGroupVpcAssociationResult struct { + // The state of the security group vpc association. + State *SecurityGroupVpcAssociationStateEnum `pulumi:"state"` + // The reason for the state of the security group vpc association. + StateReason *string `pulumi:"stateReason"` + // The owner of the VPC in the security group vpc association. + VpcOwnerId *string `pulumi:"vpcOwnerId"` +} + +func LookupSecurityGroupVpcAssociationOutput(ctx *pulumi.Context, args LookupSecurityGroupVpcAssociationOutputArgs, opts ...pulumi.InvokeOption) LookupSecurityGroupVpcAssociationResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupSecurityGroupVpcAssociationResultOutput, error) { + args := v.(LookupSecurityGroupVpcAssociationArgs) + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupSecurityGroupVpcAssociationResult + secret, err := ctx.InvokePackageRaw("aws-native:ec2:getSecurityGroupVpcAssociation", args, &rv, "", opts...) + if err != nil { + return LookupSecurityGroupVpcAssociationResultOutput{}, err + } + + output := pulumi.ToOutput(rv).(LookupSecurityGroupVpcAssociationResultOutput) + if secret { + return pulumi.ToSecret(output).(LookupSecurityGroupVpcAssociationResultOutput), nil + } + return output, nil + }).(LookupSecurityGroupVpcAssociationResultOutput) +} + +type LookupSecurityGroupVpcAssociationOutputArgs struct { + // The group ID of the specified security group. + GroupId pulumi.StringInput `pulumi:"groupId"` + // The ID of the VPC in the security group vpc association. + VpcId pulumi.StringInput `pulumi:"vpcId"` +} + +func (LookupSecurityGroupVpcAssociationOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupSecurityGroupVpcAssociationArgs)(nil)).Elem() +} + +type LookupSecurityGroupVpcAssociationResultOutput struct{ *pulumi.OutputState } + +func (LookupSecurityGroupVpcAssociationResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupSecurityGroupVpcAssociationResult)(nil)).Elem() +} + +func (o LookupSecurityGroupVpcAssociationResultOutput) ToLookupSecurityGroupVpcAssociationResultOutput() LookupSecurityGroupVpcAssociationResultOutput { + return o +} + +func (o LookupSecurityGroupVpcAssociationResultOutput) ToLookupSecurityGroupVpcAssociationResultOutputWithContext(ctx context.Context) LookupSecurityGroupVpcAssociationResultOutput { + return o +} + +// The state of the security group vpc association. +func (o LookupSecurityGroupVpcAssociationResultOutput) State() SecurityGroupVpcAssociationStateEnumPtrOutput { + return o.ApplyT(func(v LookupSecurityGroupVpcAssociationResult) *SecurityGroupVpcAssociationStateEnum { return v.State }).(SecurityGroupVpcAssociationStateEnumPtrOutput) +} + +// The reason for the state of the security group vpc association. +func (o LookupSecurityGroupVpcAssociationResultOutput) StateReason() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupSecurityGroupVpcAssociationResult) *string { return v.StateReason }).(pulumi.StringPtrOutput) +} + +// The owner of the VPC in the security group vpc association. +func (o LookupSecurityGroupVpcAssociationResultOutput) VpcOwnerId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupSecurityGroupVpcAssociationResult) *string { return v.VpcOwnerId }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupSecurityGroupVpcAssociationResultOutput{}) +} diff --git a/sdk/go/aws/ec2/init.go b/sdk/go/aws/ec2/init.go index 94b22109cb..60acb41945 100644 --- a/sdk/go/aws/ec2/init.go +++ b/sdk/go/aws/ec2/init.go @@ -111,6 +111,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &SecurityGroupEgress{} case "aws-native:ec2:SecurityGroupIngress": r = &SecurityGroupIngress{} + case "aws-native:ec2:SecurityGroupVpcAssociation": + r = &SecurityGroupVpcAssociation{} case "aws-native:ec2:SnapshotBlockPublicAccess": r = &SnapshotBlockPublicAccess{} case "aws-native:ec2:SpotFleet": diff --git a/sdk/go/aws/ec2/launchTemplate.go b/sdk/go/aws/ec2/launchTemplate.go index c539695716..0156de971b 100644 --- a/sdk/go/aws/ec2/launchTemplate.go +++ b/sdk/go/aws/ec2/launchTemplate.go @@ -36,7 +36,7 @@ type LaunchTemplate struct { // A name for the launch template. LaunchTemplateName pulumi.StringPtrOutput `pulumi:"launchTemplateName"` // The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``. - // 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). + // 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). TagSpecifications LaunchTemplateTagSpecificationArrayOutput `pulumi:"tagSpecifications"` // A description for the first version of the launch template. VersionDescription pulumi.StringPtrOutput `pulumi:"versionDescription"` @@ -94,7 +94,7 @@ type launchTemplateArgs struct { // A name for the launch template. LaunchTemplateName *string `pulumi:"launchTemplateName"` // The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``. - // 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). + // 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). TagSpecifications []LaunchTemplateTagSpecification `pulumi:"tagSpecifications"` // A description for the first version of the launch template. VersionDescription *string `pulumi:"versionDescription"` @@ -107,7 +107,7 @@ type LaunchTemplateArgs struct { // A name for the launch template. LaunchTemplateName pulumi.StringPtrInput // The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``. - // 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). + // 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). TagSpecifications LaunchTemplateTagSpecificationArrayInput // A description for the first version of the launch template. VersionDescription pulumi.StringPtrInput @@ -179,7 +179,7 @@ func (o LaunchTemplateOutput) LaunchTemplateName() pulumi.StringPtrOutput { // The tags to apply to the launch template on creation. To tag the launch template, the resource type must be “launch-template“. // -// 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). +// 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). func (o LaunchTemplateOutput) TagSpecifications() LaunchTemplateTagSpecificationArrayOutput { return o.ApplyT(func(v *LaunchTemplate) LaunchTemplateTagSpecificationArrayOutput { return v.TagSpecifications }).(LaunchTemplateTagSpecificationArrayOutput) } diff --git a/sdk/go/aws/ec2/pulumiEnums.go b/sdk/go/aws/ec2/pulumiEnums.go index 016f142229..48a1f2c511 100644 --- a/sdk/go/aws/ec2/pulumiEnums.go +++ b/sdk/go/aws/ec2/pulumiEnums.go @@ -6876,6 +6876,100 @@ func (in *prefixListAddressFamilyPtr) ToPrefixListAddressFamilyPtrOutputWithCont return pulumi.ToOutputWithContext(ctx, in).(PrefixListAddressFamilyPtrOutput) } +type SecurityGroupVpcAssociationStateEnum string + +const ( + SecurityGroupVpcAssociationStateEnumAssociating = SecurityGroupVpcAssociationStateEnum("associating") + SecurityGroupVpcAssociationStateEnumAssociated = SecurityGroupVpcAssociationStateEnum("associated") + SecurityGroupVpcAssociationStateEnumAssociationFailed = SecurityGroupVpcAssociationStateEnum("association-failed") + SecurityGroupVpcAssociationStateEnumDisassociating = SecurityGroupVpcAssociationStateEnum("disassociating") + SecurityGroupVpcAssociationStateEnumDisassociated = SecurityGroupVpcAssociationStateEnum("disassociated") + SecurityGroupVpcAssociationStateEnumDisassociationFailed = SecurityGroupVpcAssociationStateEnum("disassociation-failed") +) + +type SecurityGroupVpcAssociationStateEnumOutput struct{ *pulumi.OutputState } + +func (SecurityGroupVpcAssociationStateEnumOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityGroupVpcAssociationStateEnum)(nil)).Elem() +} + +func (o SecurityGroupVpcAssociationStateEnumOutput) ToSecurityGroupVpcAssociationStateEnumOutput() SecurityGroupVpcAssociationStateEnumOutput { + return o +} + +func (o SecurityGroupVpcAssociationStateEnumOutput) ToSecurityGroupVpcAssociationStateEnumOutputWithContext(ctx context.Context) SecurityGroupVpcAssociationStateEnumOutput { + return o +} + +func (o SecurityGroupVpcAssociationStateEnumOutput) ToSecurityGroupVpcAssociationStateEnumPtrOutput() SecurityGroupVpcAssociationStateEnumPtrOutput { + return o.ToSecurityGroupVpcAssociationStateEnumPtrOutputWithContext(context.Background()) +} + +func (o SecurityGroupVpcAssociationStateEnumOutput) ToSecurityGroupVpcAssociationStateEnumPtrOutputWithContext(ctx context.Context) SecurityGroupVpcAssociationStateEnumPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SecurityGroupVpcAssociationStateEnum) *SecurityGroupVpcAssociationStateEnum { + return &v + }).(SecurityGroupVpcAssociationStateEnumPtrOutput) +} + +func (o SecurityGroupVpcAssociationStateEnumOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o SecurityGroupVpcAssociationStateEnumOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e SecurityGroupVpcAssociationStateEnum) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o SecurityGroupVpcAssociationStateEnumOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o SecurityGroupVpcAssociationStateEnumOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e SecurityGroupVpcAssociationStateEnum) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type SecurityGroupVpcAssociationStateEnumPtrOutput struct{ *pulumi.OutputState } + +func (SecurityGroupVpcAssociationStateEnumPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SecurityGroupVpcAssociationStateEnum)(nil)).Elem() +} + +func (o SecurityGroupVpcAssociationStateEnumPtrOutput) ToSecurityGroupVpcAssociationStateEnumPtrOutput() SecurityGroupVpcAssociationStateEnumPtrOutput { + return o +} + +func (o SecurityGroupVpcAssociationStateEnumPtrOutput) ToSecurityGroupVpcAssociationStateEnumPtrOutputWithContext(ctx context.Context) SecurityGroupVpcAssociationStateEnumPtrOutput { + return o +} + +func (o SecurityGroupVpcAssociationStateEnumPtrOutput) Elem() SecurityGroupVpcAssociationStateEnumOutput { + return o.ApplyT(func(v *SecurityGroupVpcAssociationStateEnum) SecurityGroupVpcAssociationStateEnum { + if v != nil { + return *v + } + var ret SecurityGroupVpcAssociationStateEnum + return ret + }).(SecurityGroupVpcAssociationStateEnumOutput) +} + +func (o SecurityGroupVpcAssociationStateEnumPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o SecurityGroupVpcAssociationStateEnumPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *SecurityGroupVpcAssociationStateEnum) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + // The state of EBS Snapshot Block Public Access. type SnapshotBlockPublicAccessStateEnum string @@ -12230,6 +12324,8 @@ func init() { pulumi.RegisterOutputType(NetworkInsightsPathProtocolPtrOutput{}) pulumi.RegisterOutputType(PrefixListAddressFamilyOutput{}) pulumi.RegisterOutputType(PrefixListAddressFamilyPtrOutput{}) + pulumi.RegisterOutputType(SecurityGroupVpcAssociationStateEnumOutput{}) + pulumi.RegisterOutputType(SecurityGroupVpcAssociationStateEnumPtrOutput{}) pulumi.RegisterOutputType(SnapshotBlockPublicAccessStateEnumOutput{}) pulumi.RegisterOutputType(SnapshotBlockPublicAccessStateEnumPtrOutput{}) pulumi.RegisterOutputType(SpotFleetEbsBlockDeviceVolumeTypeOutput{}) diff --git a/sdk/go/aws/ec2/pulumiTypes.go b/sdk/go/aws/ec2/pulumiTypes.go index c307e26dc3..33c7de06c2 100644 --- a/sdk/go/aws/ec2/pulumiTypes.go +++ b/sdk/go/aws/ec2/pulumiTypes.go @@ -10355,7 +10355,8 @@ type LaunchTemplateData struct { // Deprecated. // Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances. ElasticGpuSpecifications []LaunchTemplateElasticGpuSpecification `pulumi:"elasticGpuSpecifications"` - // 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. + // Amazon Elastic Inference is no longer available. + // 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. // You cannot specify accelerators from different generations in the same request. // 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. ElasticInferenceAccelerators []LaunchTemplateElasticInferenceAccelerator `pulumi:"elasticInferenceAccelerators"` @@ -10389,7 +10390,7 @@ type LaunchTemplateData struct { // // If you specify ``InstanceRequirements``, you can't specify ``InstanceType``. // 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``. - // 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*. + // 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*. InstanceRequirements *LaunchTemplateInstanceRequirements `pulumi:"instanceRequirements"` // The instance type. For more information, see [Amazon EC2 instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide*. // If you specify ``InstanceType``, you can't specify ``InstanceRequirements``. @@ -10423,8 +10424,7 @@ type LaunchTemplateData struct { // The names of the security groups. For a nondefault VPC, you must use security group IDs instead. // If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter. SecurityGroups []string `pulumi:"securityGroups"` - // The tags to apply to the resources that are created during instance launch. - // To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html). + // The tags to apply to resources that are created during instance launch. // 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). TagSpecifications []TagSpecification `pulumi:"tagSpecifications"` // The user data to make available to the instance. You must provide base64-encoded text. User data is limited to 16 KB. For more information, see [Run commands on your Amazon EC2 instance at launch](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) in the *Amazon EC2 User Guide*. @@ -10464,7 +10464,8 @@ type LaunchTemplateDataArgs struct { // Deprecated. // Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances. ElasticGpuSpecifications LaunchTemplateElasticGpuSpecificationArrayInput `pulumi:"elasticGpuSpecifications"` - // 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. + // Amazon Elastic Inference is no longer available. + // 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. // You cannot specify accelerators from different generations in the same request. // 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. ElasticInferenceAccelerators LaunchTemplateElasticInferenceAcceleratorArrayInput `pulumi:"elasticInferenceAccelerators"` @@ -10498,7 +10499,7 @@ type LaunchTemplateDataArgs struct { // // If you specify ``InstanceRequirements``, you can't specify ``InstanceType``. // 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``. - // 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*. + // 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*. InstanceRequirements LaunchTemplateInstanceRequirementsPtrInput `pulumi:"instanceRequirements"` // The instance type. For more information, see [Amazon EC2 instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide*. // If you specify ``InstanceType``, you can't specify ``InstanceRequirements``. @@ -10532,8 +10533,7 @@ type LaunchTemplateDataArgs struct { // The names of the security groups. For a nondefault VPC, you must use security group IDs instead. // If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter. SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` - // The tags to apply to the resources that are created during instance launch. - // To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html). + // The tags to apply to resources that are created during instance launch. // 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). TagSpecifications TagSpecificationArrayInput `pulumi:"tagSpecifications"` // The user data to make available to the instance. You must provide base64-encoded text. User data is limited to 16 KB. For more information, see [Run commands on your Amazon EC2 instance at launch](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) in the *Amazon EC2 User Guide*. @@ -10614,8 +10614,9 @@ func (o LaunchTemplateDataOutput) ElasticGpuSpecifications() LaunchTemplateElast return o.ApplyT(func(v LaunchTemplateData) []LaunchTemplateElasticGpuSpecification { return v.ElasticGpuSpecifications }).(LaunchTemplateElasticGpuSpecificationArrayOutput) } -// 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. +// Amazon Elastic Inference is no longer available. // +// 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. // You cannot specify accelerators from different generations in the same request. // 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. func (o LaunchTemplateDataOutput) ElasticInferenceAccelerators() LaunchTemplateElasticInferenceAcceleratorArrayOutput { @@ -10676,7 +10677,7 @@ func (o LaunchTemplateDataOutput) InstanceMarketOptions() LaunchTemplateInstance // // If you specify ``InstanceRequirements``, you can't specify ``InstanceType``. // 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``. -// 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*. +// 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*. func (o LaunchTemplateDataOutput) InstanceRequirements() LaunchTemplateInstanceRequirementsPtrOutput { return o.ApplyT(func(v LaunchTemplateData) *LaunchTemplateInstanceRequirements { return v.InstanceRequirements }).(LaunchTemplateInstanceRequirementsPtrOutput) } @@ -10758,9 +10759,8 @@ func (o LaunchTemplateDataOutput) SecurityGroups() pulumi.StringArrayOutput { return o.ApplyT(func(v LaunchTemplateData) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) } -// The tags to apply to the resources that are created during instance launch. +// The tags to apply to resources that are created during instance launch. // -// To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html). // 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). func (o LaunchTemplateDataOutput) TagSpecifications() TagSpecificationArrayOutput { return o.ApplyT(func(v LaunchTemplateData) []TagSpecification { return v.TagSpecifications }).(TagSpecificationArrayOutput) @@ -10790,7 +10790,7 @@ type LaunchTemplateEbs struct { // For ``io2`` volumes, you can achieve up to 256,000 IOPS on [instances built on the Nitro System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). On other instances, you can achieve performance up to 32,000 IOPS. // This parameter is supported for ``io1``, ``io2``, and ``gp3`` volumes only. Iops *int `pulumi:"iops"` - // The ARN of the symmetric KMSlong (KMS) CMK used for encryption. + // Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption. KmsKeyId *string `pulumi:"kmsKeyId"` // The ID of the snapshot. SnapshotId *string `pulumi:"snapshotId"` @@ -10836,7 +10836,7 @@ type LaunchTemplateEbsArgs struct { // For ``io2`` volumes, you can achieve up to 256,000 IOPS on [instances built on the Nitro System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). On other instances, you can achieve performance up to 32,000 IOPS. // This parameter is supported for ``io1``, ``io2``, and ``gp3`` volumes only. Iops pulumi.IntPtrInput `pulumi:"iops"` - // The ARN of the symmetric KMSlong (KMS) CMK used for encryption. + // Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption. KmsKeyId pulumi.StringPtrInput `pulumi:"kmsKeyId"` // The ID of the snapshot. SnapshotId pulumi.StringPtrInput `pulumi:"snapshotId"` @@ -10957,7 +10957,7 @@ func (o LaunchTemplateEbsOutput) Iops() pulumi.IntPtrOutput { return o.ApplyT(func(v LaunchTemplateEbs) *int { return v.Iops }).(pulumi.IntPtrOutput) } -// The ARN of the symmetric KMSlong (KMS) CMK used for encryption. +// Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption. func (o LaunchTemplateEbsOutput) KmsKeyId() pulumi.StringPtrOutput { return o.ApplyT(func(v LaunchTemplateEbs) *string { return v.KmsKeyId }).(pulumi.StringPtrOutput) } @@ -11051,7 +11051,7 @@ func (o LaunchTemplateEbsPtrOutput) Iops() pulumi.IntPtrOutput { }).(pulumi.IntPtrOutput) } -// The ARN of the symmetric KMSlong (KMS) CMK used for encryption. +// Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption. func (o LaunchTemplateEbsPtrOutput) KmsKeyId() pulumi.StringPtrOutput { return o.ApplyT(func(v *LaunchTemplateEbs) *string { if v == nil { @@ -12278,7 +12278,7 @@ func (o LaunchTemplateInstanceMarketOptionsPtrOutput) SpotOptions() LaunchTempla // // If you specify ``InstanceRequirements``, you can't specify ``InstanceType``. // 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``. -// 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*. +// 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*. type LaunchTemplateInstanceRequirements struct { // The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) on an instance. // To exclude accelerator-enabled instance types, set ``Max`` to ``0``. @@ -12315,7 +12315,6 @@ type LaunchTemplateInstanceRequirements struct { // The accelerator types that must be on the instance type. // + For instance types with GPU accelerators, specify ``gpu``. // + For instance types with FPGA accelerators, specify ``fpga``. - // + For instance types with inference accelerators, specify ``inference``. // // Default: Any accelerator type AcceleratorTypes []string `pulumi:"acceleratorTypes"` @@ -12436,7 +12435,7 @@ type LaunchTemplateInstanceRequirementsInput interface { // // If you specify ``InstanceRequirements``, you can't specify ``InstanceType``. // 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``. -// 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*. +// 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*. type LaunchTemplateInstanceRequirementsArgs struct { // The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) on an instance. // To exclude accelerator-enabled instance types, set ``Max`` to ``0``. @@ -12473,7 +12472,6 @@ type LaunchTemplateInstanceRequirementsArgs struct { // The accelerator types that must be on the instance type. // + For instance types with GPU accelerators, specify ``gpu``. // + For instance types with FPGA accelerators, specify ``fpga``. - // + For instance types with inference accelerators, specify ``inference``. // // Default: Any accelerator type AcceleratorTypes pulumi.StringArrayInput `pulumi:"acceleratorTypes"` @@ -12636,7 +12634,7 @@ func (i *launchTemplateInstanceRequirementsPtrType) ToLaunchTemplateInstanceRequ // // If you specify ``InstanceRequirements``, you can't specify ``InstanceType``. // 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``. -// 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*. +// 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*. type LaunchTemplateInstanceRequirementsOutput struct{ *pulumi.OutputState } func (LaunchTemplateInstanceRequirementsOutput) ElementType() reflect.Type { @@ -12732,8 +12730,6 @@ func (o LaunchTemplateInstanceRequirementsOutput) AcceleratorTotalMemoryMiB() La // // - For instance types with FPGA accelerators, specify “fpga“. // -// - For instance types with inference accelerators, specify “inference“. -// // Default: Any accelerator type func (o LaunchTemplateInstanceRequirementsOutput) AcceleratorTypes() pulumi.StringArrayOutput { return o.ApplyT(func(v LaunchTemplateInstanceRequirements) []string { return v.AcceleratorTypes }).(pulumi.StringArrayOutput) @@ -13039,8 +13035,6 @@ func (o LaunchTemplateInstanceRequirementsPtrOutput) AcceleratorTotalMemoryMiB() // // - For instance types with FPGA accelerators, specify “fpga“. // -// - For instance types with inference accelerators, specify “inference“. -// // Default: Any accelerator type func (o LaunchTemplateInstanceRequirementsPtrOutput) AcceleratorTypes() pulumi.StringArrayOutput { return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) []string { @@ -14808,9 +14802,10 @@ type LaunchTemplateNetworkInterface struct { EnaSrdSpecification *LaunchTemplateEnaSrdSpecification `pulumi:"enaSrdSpecification"` // The IDs of one or more security groups. Groups []string `pulumi:"groups"` - // 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*. + // 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*. // If you are not creating an EFA, specify ``interface`` or omit this parameter. - // Valid values: ``interface`` | ``efa`` + // If you specify ``efa-only``, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses. + // Valid values: ``interface`` | ``efa`` | ``efa-only`` InterfaceType *string `pulumi:"interfaceType"` // The number of IPv4 prefixes to be automatically assigned to the network interface. You cannot use this option if you use the ``Ipv4Prefix`` option. Ipv4PrefixCount *int `pulumi:"ipv4PrefixCount"` @@ -14873,9 +14868,10 @@ type LaunchTemplateNetworkInterfaceArgs struct { EnaSrdSpecification LaunchTemplateEnaSrdSpecificationPtrInput `pulumi:"enaSrdSpecification"` // The IDs of one or more security groups. Groups pulumi.StringArrayInput `pulumi:"groups"` - // 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*. + // 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*. // If you are not creating an EFA, specify ``interface`` or omit this parameter. - // Valid values: ``interface`` | ``efa`` + // If you specify ``efa-only``, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses. + // Valid values: ``interface`` | ``efa`` | ``efa-only`` InterfaceType pulumi.StringPtrInput `pulumi:"interfaceType"` // The number of IPv4 prefixes to be automatically assigned to the network interface. You cannot use this option if you use the ``Ipv4Prefix`` option. Ipv4PrefixCount pulumi.IntPtrInput `pulumi:"ipv4PrefixCount"` @@ -15007,10 +15003,11 @@ func (o LaunchTemplateNetworkInterfaceOutput) Groups() pulumi.StringArrayOutput return o.ApplyT(func(v LaunchTemplateNetworkInterface) []string { return v.Groups }).(pulumi.StringArrayOutput) } -// 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*. +// 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*. // // If you are not creating an EFA, specify ``interface`` or omit this parameter. -// Valid values: ``interface`` | ``efa`` +// If you specify ``efa-only``, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses. +// Valid values: ``interface`` | ``efa`` | ``efa-only`` func (o LaunchTemplateNetworkInterfaceOutput) InterfaceType() pulumi.StringPtrOutput { return o.ApplyT(func(v LaunchTemplateNetworkInterface) *string { return v.InterfaceType }).(pulumi.StringPtrOutput) } @@ -16215,7 +16212,8 @@ func (o LaunchTemplateTagArrayOutput) Index(i pulumi.IntInput) LaunchTemplateTag // Specifies the tags to apply to the launch template during creation. // -// ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html). +// 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). +// ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html). type LaunchTemplateTagSpecification struct { // The type of resource. To tag a launch template, ``ResourceType`` must be ``launch-template``. ResourceType *string `pulumi:"resourceType"` @@ -16236,7 +16234,8 @@ type LaunchTemplateTagSpecificationInput interface { // Specifies the tags to apply to the launch template during creation. // -// ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html). +// 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). +// ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html). type LaunchTemplateTagSpecificationArgs struct { // The type of resource. To tag a launch template, ``ResourceType`` must be ``launch-template``. ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` @@ -16283,7 +16282,8 @@ func (i LaunchTemplateTagSpecificationArray) ToLaunchTemplateTagSpecificationArr // Specifies the tags to apply to the launch template during creation. // -// ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html). +// 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). +// ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html). type LaunchTemplateTagSpecificationOutput struct{ *pulumi.OutputState } func (LaunchTemplateTagSpecificationOutput) ElementType() reflect.Type { @@ -28387,7 +28387,7 @@ type SubnetTag struct { Value string `pulumi:"value"` } -// Specifies the tags to apply to a resource when the resource is created for the launch template. +// Specifies the tags to apply to resources that are created during instance launch. // // ``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). type TagSpecification struct { @@ -28409,7 +28409,7 @@ type TagSpecificationInput interface { ToTagSpecificationOutputWithContext(context.Context) TagSpecificationOutput } -// Specifies the tags to apply to a resource when the resource is created for the launch template. +// Specifies the tags to apply to resources that are created during instance launch. // // ``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). type TagSpecificationArgs struct { @@ -28457,7 +28457,7 @@ func (i TagSpecificationArray) ToTagSpecificationArrayOutputWithContext(ctx cont return pulumi.ToOutputWithContext(ctx, i).(TagSpecificationArrayOutput) } -// Specifies the tags to apply to a resource when the resource is created for the launch template. +// Specifies the tags to apply to resources that are created during instance launch. // // ``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). type TagSpecificationOutput struct{ *pulumi.OutputState } diff --git a/sdk/go/aws/ec2/securityGroupVpcAssociation.go b/sdk/go/aws/ec2/securityGroupVpcAssociation.go new file mode 100644 index 0000000000..ea2b055dff --- /dev/null +++ b/sdk/go/aws/ec2/securityGroupVpcAssociation.go @@ -0,0 +1,161 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ec2 + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource type definition for the AWS::EC2::SecurityGroupVpcAssociation resource +type SecurityGroupVpcAssociation struct { + pulumi.CustomResourceState + + // The group ID of the specified security group. + GroupId pulumi.StringOutput `pulumi:"groupId"` + // The state of the security group vpc association. + State SecurityGroupVpcAssociationStateEnumOutput `pulumi:"state"` + // The reason for the state of the security group vpc association. + StateReason pulumi.StringOutput `pulumi:"stateReason"` + // The ID of the VPC in the security group vpc association. + VpcId pulumi.StringOutput `pulumi:"vpcId"` + // The owner of the VPC in the security group vpc association. + VpcOwnerId pulumi.StringOutput `pulumi:"vpcOwnerId"` +} + +// NewSecurityGroupVpcAssociation registers a new resource with the given unique name, arguments, and options. +func NewSecurityGroupVpcAssociation(ctx *pulumi.Context, + name string, args *SecurityGroupVpcAssociationArgs, opts ...pulumi.ResourceOption) (*SecurityGroupVpcAssociation, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.GroupId == nil { + return nil, errors.New("invalid value for required argument 'GroupId'") + } + if args.VpcId == nil { + return nil, errors.New("invalid value for required argument 'VpcId'") + } + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "groupId", + "vpcId", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource SecurityGroupVpcAssociation + err := ctx.RegisterResource("aws-native:ec2:SecurityGroupVpcAssociation", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetSecurityGroupVpcAssociation gets an existing SecurityGroupVpcAssociation resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetSecurityGroupVpcAssociation(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *SecurityGroupVpcAssociationState, opts ...pulumi.ResourceOption) (*SecurityGroupVpcAssociation, error) { + var resource SecurityGroupVpcAssociation + err := ctx.ReadResource("aws-native:ec2:SecurityGroupVpcAssociation", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering SecurityGroupVpcAssociation resources. +type securityGroupVpcAssociationState struct { +} + +type SecurityGroupVpcAssociationState struct { +} + +func (SecurityGroupVpcAssociationState) ElementType() reflect.Type { + return reflect.TypeOf((*securityGroupVpcAssociationState)(nil)).Elem() +} + +type securityGroupVpcAssociationArgs struct { + // The group ID of the specified security group. + GroupId string `pulumi:"groupId"` + // The ID of the VPC in the security group vpc association. + VpcId string `pulumi:"vpcId"` +} + +// The set of arguments for constructing a SecurityGroupVpcAssociation resource. +type SecurityGroupVpcAssociationArgs struct { + // The group ID of the specified security group. + GroupId pulumi.StringInput + // The ID of the VPC in the security group vpc association. + VpcId pulumi.StringInput +} + +func (SecurityGroupVpcAssociationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*securityGroupVpcAssociationArgs)(nil)).Elem() +} + +type SecurityGroupVpcAssociationInput interface { + pulumi.Input + + ToSecurityGroupVpcAssociationOutput() SecurityGroupVpcAssociationOutput + ToSecurityGroupVpcAssociationOutputWithContext(ctx context.Context) SecurityGroupVpcAssociationOutput +} + +func (*SecurityGroupVpcAssociation) ElementType() reflect.Type { + return reflect.TypeOf((**SecurityGroupVpcAssociation)(nil)).Elem() +} + +func (i *SecurityGroupVpcAssociation) ToSecurityGroupVpcAssociationOutput() SecurityGroupVpcAssociationOutput { + return i.ToSecurityGroupVpcAssociationOutputWithContext(context.Background()) +} + +func (i *SecurityGroupVpcAssociation) ToSecurityGroupVpcAssociationOutputWithContext(ctx context.Context) SecurityGroupVpcAssociationOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityGroupVpcAssociationOutput) +} + +type SecurityGroupVpcAssociationOutput struct{ *pulumi.OutputState } + +func (SecurityGroupVpcAssociationOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SecurityGroupVpcAssociation)(nil)).Elem() +} + +func (o SecurityGroupVpcAssociationOutput) ToSecurityGroupVpcAssociationOutput() SecurityGroupVpcAssociationOutput { + return o +} + +func (o SecurityGroupVpcAssociationOutput) ToSecurityGroupVpcAssociationOutputWithContext(ctx context.Context) SecurityGroupVpcAssociationOutput { + return o +} + +// The group ID of the specified security group. +func (o SecurityGroupVpcAssociationOutput) GroupId() pulumi.StringOutput { + return o.ApplyT(func(v *SecurityGroupVpcAssociation) pulumi.StringOutput { return v.GroupId }).(pulumi.StringOutput) +} + +// The state of the security group vpc association. +func (o SecurityGroupVpcAssociationOutput) State() SecurityGroupVpcAssociationStateEnumOutput { + return o.ApplyT(func(v *SecurityGroupVpcAssociation) SecurityGroupVpcAssociationStateEnumOutput { return v.State }).(SecurityGroupVpcAssociationStateEnumOutput) +} + +// The reason for the state of the security group vpc association. +func (o SecurityGroupVpcAssociationOutput) StateReason() pulumi.StringOutput { + return o.ApplyT(func(v *SecurityGroupVpcAssociation) pulumi.StringOutput { return v.StateReason }).(pulumi.StringOutput) +} + +// The ID of the VPC in the security group vpc association. +func (o SecurityGroupVpcAssociationOutput) VpcId() pulumi.StringOutput { + return o.ApplyT(func(v *SecurityGroupVpcAssociation) pulumi.StringOutput { return v.VpcId }).(pulumi.StringOutput) +} + +// The owner of the VPC in the security group vpc association. +func (o SecurityGroupVpcAssociationOutput) VpcOwnerId() pulumi.StringOutput { + return o.ApplyT(func(v *SecurityGroupVpcAssociation) pulumi.StringOutput { return v.VpcOwnerId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*SecurityGroupVpcAssociationInput)(nil)).Elem(), &SecurityGroupVpcAssociation{}) + pulumi.RegisterOutputType(SecurityGroupVpcAssociationOutput{}) +} diff --git a/sdk/go/aws/ecs/getService.go b/sdk/go/aws/ecs/getService.go index 32e1abe3a8..7587539c72 100644 --- a/sdk/go/aws/ecs/getService.go +++ b/sdk/go/aws/ecs/getService.go @@ -38,7 +38,7 @@ type LookupServiceResult struct { // If a ``capacityProviderStrategy`` is specified, the ``launchType`` parameter must be omitted. If no ``capacityProviderStrategy`` or ``launchType`` is specified, the ``defaultCapacityProviderStrategy`` for the cluster is used. // A capacity provider strategy may contain a maximum of 6 capacity providers. CapacityProviderStrategy []ServiceCapacityProviderStrategyItem `pulumi:"capacityProviderStrategy"` - // Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks. + // Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods. DeploymentConfiguration *ServiceDeploymentConfiguration `pulumi:"deploymentConfiguration"` // The number of instantiations of the specified task definition to place and keep running in your service. // For new services, if a desired count is not specified, a default value of ``1`` is used. When using the ``DAEMON`` scheduling strategy, the desired count is not required. @@ -142,7 +142,7 @@ func (o LookupServiceResultOutput) CapacityProviderStrategy() ServiceCapacityPro return o.ApplyT(func(v LookupServiceResult) []ServiceCapacityProviderStrategyItem { return v.CapacityProviderStrategy }).(ServiceCapacityProviderStrategyItemArrayOutput) } -// Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks. +// Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods. func (o LookupServiceResultOutput) DeploymentConfiguration() ServiceDeploymentConfigurationPtrOutput { return o.ApplyT(func(v LookupServiceResult) *ServiceDeploymentConfiguration { return v.DeploymentConfiguration }).(ServiceDeploymentConfigurationPtrOutput) } diff --git a/sdk/go/aws/ecs/pulumiTypes.go b/sdk/go/aws/ecs/pulumiTypes.go index cef48bc4c7..1b2fab1a14 100644 --- a/sdk/go/aws/ecs/pulumiTypes.go +++ b/sdk/go/aws/ecs/pulumiTypes.go @@ -243,7 +243,7 @@ type CapacityProviderManagedScaling struct { InstanceWarmupPeriod *int `pulumi:"instanceWarmupPeriod"` // The maximum number of Amazon EC2 instances that Amazon ECS will scale out at one time. If this parameter is omitted, the default value of `10000` is used. MaximumScalingStepSize *int `pulumi:"maximumScalingStepSize"` - // 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. + // 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. // // When 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. // @@ -272,7 +272,7 @@ type CapacityProviderManagedScalingArgs struct { InstanceWarmupPeriod pulumi.IntPtrInput `pulumi:"instanceWarmupPeriod"` // The maximum number of Amazon EC2 instances that Amazon ECS will scale out at one time. If this parameter is omitted, the default value of `10000` is used. MaximumScalingStepSize pulumi.IntPtrInput `pulumi:"maximumScalingStepSize"` - // 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. + // 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. // // When 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. // @@ -372,7 +372,7 @@ func (o CapacityProviderManagedScalingOutput) MaximumScalingStepSize() pulumi.In return o.ApplyT(func(v CapacityProviderManagedScaling) *int { return v.MaximumScalingStepSize }).(pulumi.IntPtrOutput) } -// 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. +// 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. // // When 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. // @@ -435,7 +435,7 @@ func (o CapacityProviderManagedScalingPtrOutput) MaximumScalingStepSize() pulumi }).(pulumi.IntPtrOutput) } -// 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. +// 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. // // When 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. // @@ -3286,7 +3286,7 @@ func (o ServiceDeploymentCircuitBreakerPtrOutput) Rollback() pulumi.BoolPtrOutpu }).(pulumi.BoolPtrOutput) } -// Optional deployment parameters that control how many tasks run during a deployment and the ordering of stopping and starting tasks. +// Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods. type ServiceDeploymentConfiguration struct { // Information about the CloudWatch alarms. Alarms *ServiceDeploymentAlarms `pulumi:"alarms"` @@ -3327,7 +3327,7 @@ type ServiceDeploymentConfigurationInput interface { ToServiceDeploymentConfigurationOutputWithContext(context.Context) ServiceDeploymentConfigurationOutput } -// Optional deployment parameters that control how many tasks run during a deployment and the ordering of stopping and starting tasks. +// Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods. type ServiceDeploymentConfigurationArgs struct { // Information about the CloudWatch alarms. Alarms ServiceDeploymentAlarmsPtrInput `pulumi:"alarms"` @@ -3410,7 +3410,7 @@ func (i *serviceDeploymentConfigurationPtrType) ToServiceDeploymentConfiguration return pulumi.ToOutputWithContext(ctx, i).(ServiceDeploymentConfigurationPtrOutput) } -// Optional deployment parameters that control how many tasks run during a deployment and the ordering of stopping and starting tasks. +// Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods. type ServiceDeploymentConfigurationOutput struct{ *pulumi.OutputState } func (ServiceDeploymentConfigurationOutput) ElementType() reflect.Type { @@ -3844,7 +3844,7 @@ type ServiceLoadBalancer struct { ContainerName *string `pulumi:"containerName"` // The port on the container to associate with the load balancer. This port must correspond to a ``containerPort`` in the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they're launched on must allow ingress traffic on the ``hostPort`` of the port mapping. ContainerPort *int `pulumi:"containerPort"` - // The name of the load balancer to associate with the Amazon ECS service or task set. + // The name of the load balancer to associate with the service or task set. // If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted. LoadBalancerName *string `pulumi:"loadBalancerName"` // The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or task set. @@ -3876,7 +3876,7 @@ type ServiceLoadBalancerArgs struct { ContainerName pulumi.StringPtrInput `pulumi:"containerName"` // The port on the container to associate with the load balancer. This port must correspond to a ``containerPort`` in the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they're launched on must allow ingress traffic on the ``hostPort`` of the port mapping. ContainerPort pulumi.IntPtrInput `pulumi:"containerPort"` - // The name of the load balancer to associate with the Amazon ECS service or task set. + // The name of the load balancer to associate with the service or task set. // If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted. LoadBalancerName pulumi.StringPtrInput `pulumi:"loadBalancerName"` // The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or task set. @@ -3954,7 +3954,7 @@ func (o ServiceLoadBalancerOutput) ContainerPort() pulumi.IntPtrOutput { return o.ApplyT(func(v ServiceLoadBalancer) *int { return v.ContainerPort }).(pulumi.IntPtrOutput) } -// The name of the load balancer to associate with the Amazon ECS service or task set. +// The name of the load balancer to associate with the service or task set. // // If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted. func (o ServiceLoadBalancerOutput) LoadBalancerName() pulumi.StringPtrOutput { @@ -4256,15 +4256,16 @@ func (o ServiceLogConfigurationPtrOutput) SecretOptions() ServiceSecretArrayOutp }).(ServiceSecretArrayOutput) } -// 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. +// 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*. // // Many of these parameters map 1:1 with the Amazon EBS ``CreateVolume`` API request parameters. type ServiceManagedEbsVolumeConfiguration struct { // Indicates whether the volume should be encrypted. If no value is specified, encryption is turned on by default. This parameter maps 1:1 with the ``Encrypted`` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference*. Encrypted *bool `pulumi:"encrypted"` - // 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. - // The available filesystem types are + // 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. + // The available Linux filesystem types are // ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default. + // The available Windows filesystem types are ``NTFS``. FilesystemType *string `pulumi:"filesystemType"` // The number of I/O operations per second (IOPS). For ``gp3``, ``io1``, and ``io2`` volumes, this represents the number of IOPS that are provisioned for the volume. For ``gp2`` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. // The following are the supported values for each volume type. @@ -4316,15 +4317,16 @@ type ServiceManagedEbsVolumeConfigurationInput interface { ToServiceManagedEbsVolumeConfigurationOutputWithContext(context.Context) ServiceManagedEbsVolumeConfigurationOutput } -// 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. +// 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*. // // Many of these parameters map 1:1 with the Amazon EBS ``CreateVolume`` API request parameters. type ServiceManagedEbsVolumeConfigurationArgs struct { // Indicates whether the volume should be encrypted. If no value is specified, encryption is turned on by default. This parameter maps 1:1 with the ``Encrypted`` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference*. Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` - // 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. - // The available filesystem types are + // 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. + // The available Linux filesystem types are // ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default. + // The available Windows filesystem types are ``NTFS``. FilesystemType pulumi.StringPtrInput `pulumi:"filesystemType"` // The number of I/O operations per second (IOPS). For ``gp3``, ``io1``, and ``io2`` volumes, this represents the number of IOPS that are provisioned for the volume. For ``gp2`` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. // The following are the supported values for each volume type. @@ -4418,7 +4420,7 @@ func (i *serviceManagedEbsVolumeConfigurationPtrType) ToServiceManagedEbsVolumeC return pulumi.ToOutputWithContext(ctx, i).(ServiceManagedEbsVolumeConfigurationPtrOutput) } -// 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. +// 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*. // // Many of these parameters map 1:1 with the Amazon EBS ``CreateVolume`` API request parameters. type ServiceManagedEbsVolumeConfigurationOutput struct{ *pulumi.OutputState } @@ -4450,10 +4452,11 @@ func (o ServiceManagedEbsVolumeConfigurationOutput) Encrypted() pulumi.BoolPtrOu return o.ApplyT(func(v ServiceManagedEbsVolumeConfiguration) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) } -// 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. +// 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. // -// The available filesystem types are +// The available Linux filesystem types are // ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default. +// The available Windows filesystem types are ``NTFS``. func (o ServiceManagedEbsVolumeConfigurationOutput) FilesystemType() pulumi.StringPtrOutput { return o.ApplyT(func(v ServiceManagedEbsVolumeConfiguration) *string { return v.FilesystemType }).(pulumi.StringPtrOutput) } @@ -4558,10 +4561,11 @@ func (o ServiceManagedEbsVolumeConfigurationPtrOutput) Encrypted() pulumi.BoolPt }).(pulumi.BoolPtrOutput) } -// 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. +// 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. // -// The available filesystem types are +// The available Linux filesystem types are // ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default. +// The available Windows filesystem types are ``NTFS``. func (o ServiceManagedEbsVolumeConfigurationPtrOutput) FilesystemType() pulumi.StringPtrOutput { return o.ApplyT(func(v *ServiceManagedEbsVolumeConfiguration) *string { if v == nil { diff --git a/sdk/go/aws/ecs/service.go b/sdk/go/aws/ecs/service.go index 46f0b1e001..613de98b71 100644 --- a/sdk/go/aws/ecs/service.go +++ b/sdk/go/aws/ecs/service.go @@ -25,7 +25,7 @@ type Service struct { CapacityProviderStrategy ServiceCapacityProviderStrategyItemArrayOutput `pulumi:"capacityProviderStrategy"` // The short name or full Amazon Resource Name (ARN) of the cluster that you run your service on. If you do not specify a cluster, the default cluster is assumed. Cluster pulumi.StringPtrOutput `pulumi:"cluster"` - // Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks. + // Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods. DeploymentConfiguration ServiceDeploymentConfigurationPtrOutput `pulumi:"deploymentConfiguration"` // The deployment controller to use for the service. If no deployment controller is specified, the default value of ``ECS`` is used. DeploymentController ServiceDeploymentControllerPtrOutput `pulumi:"deploymentController"` @@ -154,7 +154,7 @@ type serviceArgs struct { CapacityProviderStrategy []ServiceCapacityProviderStrategyItem `pulumi:"capacityProviderStrategy"` // The short name or full Amazon Resource Name (ARN) of the cluster that you run your service on. If you do not specify a cluster, the default cluster is assumed. Cluster *string `pulumi:"cluster"` - // Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks. + // Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods. DeploymentConfiguration *ServiceDeploymentConfiguration `pulumi:"deploymentConfiguration"` // The deployment controller to use for the service. If no deployment controller is specified, the default value of ``ECS`` is used. DeploymentController *ServiceDeploymentController `pulumi:"deploymentController"` @@ -232,7 +232,7 @@ type ServiceArgs struct { CapacityProviderStrategy ServiceCapacityProviderStrategyItemArrayInput // The short name or full Amazon Resource Name (ARN) of the cluster that you run your service on. If you do not specify a cluster, the default cluster is assumed. Cluster pulumi.StringPtrInput - // Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks. + // Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods. DeploymentConfiguration ServiceDeploymentConfigurationPtrInput // The deployment controller to use for the service. If no deployment controller is specified, the default value of ``ECS`` is used. DeploymentController ServiceDeploymentControllerPtrInput @@ -352,7 +352,7 @@ func (o ServiceOutput) Cluster() pulumi.StringPtrOutput { return o.ApplyT(func(v *Service) pulumi.StringPtrOutput { return v.Cluster }).(pulumi.StringPtrOutput) } -// Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks. +// Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods. func (o ServiceOutput) DeploymentConfiguration() ServiceDeploymentConfigurationPtrOutput { return o.ApplyT(func(v *Service) ServiceDeploymentConfigurationPtrOutput { return v.DeploymentConfiguration }).(ServiceDeploymentConfigurationPtrOutput) } diff --git a/sdk/go/aws/elasticloadbalancingv2/getLoadBalancer.go b/sdk/go/aws/elasticloadbalancingv2/getLoadBalancer.go index 277f688d43..9e2fce2e22 100644 --- a/sdk/go/aws/elasticloadbalancingv2/getLoadBalancer.go +++ b/sdk/go/aws/elasticloadbalancingv2/getLoadBalancer.go @@ -32,7 +32,8 @@ type LookupLoadBalancerResult struct { // The ID of the Amazon Route 53 hosted zone associated with the load balancer. For example, `Z2P70J7EXAMPLE` . CanonicalHostedZoneId *string `pulumi:"canonicalHostedZoneId"` // The DNS name for the load balancer. For example, `my-load-balancer-424835706.us-west-2.elb.amazonaws.com` . - DnsName *string `pulumi:"dnsName"` + DnsName *string `pulumi:"dnsName"` + EnablePrefixForIpv6SourceNat *string `pulumi:"enablePrefixForIpv6SourceNat"` // Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through privatelink. EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic *string `pulumi:"enforceSecurityGroupInboundRulesOnPrivateLinkTraffic"` // Note: Internal load balancers must use the ``ipv4`` IP address type. @@ -121,6 +122,10 @@ func (o LookupLoadBalancerResultOutput) DnsName() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupLoadBalancerResult) *string { return v.DnsName }).(pulumi.StringPtrOutput) } +func (o LookupLoadBalancerResultOutput) EnablePrefixForIpv6SourceNat() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupLoadBalancerResult) *string { return v.EnablePrefixForIpv6SourceNat }).(pulumi.StringPtrOutput) +} + // Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through privatelink. func (o LookupLoadBalancerResultOutput) EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupLoadBalancerResult) *string { diff --git a/sdk/go/aws/elasticloadbalancingv2/loadBalancer.go b/sdk/go/aws/elasticloadbalancingv2/loadBalancer.go index 326ce04be7..6783715133 100644 --- a/sdk/go/aws/elasticloadbalancingv2/loadBalancer.go +++ b/sdk/go/aws/elasticloadbalancingv2/loadBalancer.go @@ -19,7 +19,8 @@ type LoadBalancer struct { // The ID of the Amazon Route 53 hosted zone associated with the load balancer. For example, `Z2P70J7EXAMPLE` . CanonicalHostedZoneId pulumi.StringOutput `pulumi:"canonicalHostedZoneId"` // The DNS name for the load balancer. For example, `my-load-balancer-424835706.us-west-2.elb.amazonaws.com` . - DnsName pulumi.StringOutput `pulumi:"dnsName"` + DnsName pulumi.StringOutput `pulumi:"dnsName"` + EnablePrefixForIpv6SourceNat pulumi.StringPtrOutput `pulumi:"enablePrefixForIpv6SourceNat"` // Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through privatelink. EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic pulumi.StringPtrOutput `pulumi:"enforceSecurityGroupInboundRulesOnPrivateLinkTraffic"` // Note: Internal load balancers must use the ``ipv4`` IP address type. @@ -112,6 +113,7 @@ func (LoadBalancerState) ElementType() reflect.Type { } type loadBalancerArgs struct { + EnablePrefixForIpv6SourceNat *string `pulumi:"enablePrefixForIpv6SourceNat"` // Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through privatelink. EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic *string `pulumi:"enforceSecurityGroupInboundRulesOnPrivateLinkTraffic"` // Note: Internal load balancers must use the ``ipv4`` IP address type. @@ -154,6 +156,7 @@ type loadBalancerArgs struct { // The set of arguments for constructing a LoadBalancer resource. type LoadBalancerArgs struct { + EnablePrefixForIpv6SourceNat pulumi.StringPtrInput // Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through privatelink. EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic pulumi.StringPtrInput // Note: Internal load balancers must use the ``ipv4`` IP address type. @@ -241,6 +244,10 @@ func (o LoadBalancerOutput) DnsName() pulumi.StringOutput { return o.ApplyT(func(v *LoadBalancer) pulumi.StringOutput { return v.DnsName }).(pulumi.StringOutput) } +func (o LoadBalancerOutput) EnablePrefixForIpv6SourceNat() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LoadBalancer) pulumi.StringPtrOutput { return v.EnablePrefixForIpv6SourceNat }).(pulumi.StringPtrOutput) +} + // Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through privatelink. func (o LoadBalancerOutput) EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic() pulumi.StringPtrOutput { return o.ApplyT(func(v *LoadBalancer) pulumi.StringPtrOutput { diff --git a/sdk/go/aws/elasticloadbalancingv2/pulumiTypes.go b/sdk/go/aws/elasticloadbalancingv2/pulumiTypes.go index fa15e3205b..76e65b3eac 100644 --- a/sdk/go/aws/elasticloadbalancingv2/pulumiTypes.go +++ b/sdk/go/aws/elasticloadbalancingv2/pulumiTypes.go @@ -5095,6 +5095,7 @@ type LoadBalancerAttribute struct { // // The following attributes are supported by only Network Load Balancers: // + ``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. + // + ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false``. The default is ``false``. Key *string `pulumi:"key"` // The value of the attribute. Value *string `pulumi:"value"` @@ -5145,6 +5146,7 @@ type LoadBalancerAttributeArgs struct { // // The following attributes are supported by only Network Load Balancers: // + ``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. + // + ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false``. The default is ``false``. Key pulumi.StringPtrInput `pulumi:"key"` // The value of the attribute. Value pulumi.StringPtrInput `pulumi:"value"` @@ -5235,6 +5237,7 @@ func (o LoadBalancerAttributeOutput) ToLoadBalancerAttributeOutputWithContext(ct // // The following attributes are supported by only Network Load Balancers: // + ``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. +// + ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false``. The default is ``false``. func (o LoadBalancerAttributeOutput) Key() pulumi.StringPtrOutput { return o.ApplyT(func(v LoadBalancerAttribute) *string { return v.Key }).(pulumi.StringPtrOutput) } @@ -5271,7 +5274,8 @@ type LoadBalancerSubnetMapping struct { // [Network Load Balancers] The IPv6 address. IPv6Address *string `pulumi:"iPv6Address"` // [Network Load Balancers] The private IPv4 address for an internal load balancer. - PrivateIPv4Address *string `pulumi:"privateIPv4Address"` + PrivateIPv4Address *string `pulumi:"privateIPv4Address"` + SourceNatIpv6Prefix *string `pulumi:"sourceNatIpv6Prefix"` // The ID of the subnet. SubnetId string `pulumi:"subnetId"` } @@ -5294,7 +5298,8 @@ type LoadBalancerSubnetMappingArgs struct { // [Network Load Balancers] The IPv6 address. IPv6Address pulumi.StringPtrInput `pulumi:"iPv6Address"` // [Network Load Balancers] The private IPv4 address for an internal load balancer. - PrivateIPv4Address pulumi.StringPtrInput `pulumi:"privateIPv4Address"` + PrivateIPv4Address pulumi.StringPtrInput `pulumi:"privateIPv4Address"` + SourceNatIpv6Prefix pulumi.StringPtrInput `pulumi:"sourceNatIpv6Prefix"` // The ID of the subnet. SubnetId pulumi.StringInput `pulumi:"subnetId"` } @@ -5366,6 +5371,10 @@ func (o LoadBalancerSubnetMappingOutput) PrivateIPv4Address() pulumi.StringPtrOu return o.ApplyT(func(v LoadBalancerSubnetMapping) *string { return v.PrivateIPv4Address }).(pulumi.StringPtrOutput) } +func (o LoadBalancerSubnetMappingOutput) SourceNatIpv6Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v LoadBalancerSubnetMapping) *string { return v.SourceNatIpv6Prefix }).(pulumi.StringPtrOutput) +} + // The ID of the subnet. func (o LoadBalancerSubnetMappingOutput) SubnetId() pulumi.StringOutput { return o.ApplyT(func(v LoadBalancerSubnetMapping) string { return v.SubnetId }).(pulumi.StringOutput) diff --git a/sdk/go/aws/gamelift/fleet.go b/sdk/go/aws/gamelift/fleet.go index 69b2d90ce8..0eeb7dba08 100644 --- a/sdk/go/aws/gamelift/fleet.go +++ b/sdk/go/aws/gamelift/fleet.go @@ -25,7 +25,7 @@ type Fleet struct { CertificateConfiguration FleetCertificateConfigurationPtrOutput `pulumi:"certificateConfiguration"` // ComputeType to differentiate EC2 hardware managed by GameLift and Anywhere hardware managed by the customer. ComputeType FleetComputeTypePtrOutput `pulumi:"computeType"` - // *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* + // *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* // // Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . // @@ -151,7 +151,7 @@ type fleetArgs struct { CertificateConfiguration *FleetCertificateConfiguration `pulumi:"certificateConfiguration"` // ComputeType to differentiate EC2 hardware managed by GameLift and Anywhere hardware managed by the customer. ComputeType *FleetComputeType `pulumi:"computeType"` - // *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* + // *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* // // Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . // @@ -219,7 +219,7 @@ type FleetArgs struct { CertificateConfiguration FleetCertificateConfigurationPtrInput // ComputeType to differentiate EC2 hardware managed by GameLift and Anywhere hardware managed by the customer. ComputeType FleetComputeTypePtrInput - // *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* + // *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* // // Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . // @@ -337,7 +337,7 @@ func (o FleetOutput) ComputeType() FleetComputeTypePtrOutput { return o.ApplyT(func(v *Fleet) FleetComputeTypePtrOutput { return v.ComputeType }).(FleetComputeTypePtrOutput) } -// *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* +// *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* // // Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . // diff --git a/sdk/go/aws/gamelift/pulumiTypes.go b/sdk/go/aws/gamelift/pulumiTypes.go index 3a3c0b9efe..e3ce84955f 100644 --- a/sdk/go/aws/gamelift/pulumiTypes.go +++ b/sdk/go/aws/gamelift/pulumiTypes.go @@ -2551,7 +2551,7 @@ func (o FleetLocationCapacityPtrOutput) MinSize() pulumi.IntPtrOutput { type FleetLocationConfiguration struct { // An AWS Region code, such as `us-west-2` . For a list of supported Regions and Local Zones, see [Amazon GameLift service locations](https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-regions.html) for managed hosting. Location string `pulumi:"location"` - // 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. + // 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. // // *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) LocationCapacity *FleetLocationCapacity `pulumi:"locationCapacity"` @@ -2572,7 +2572,7 @@ type FleetLocationConfigurationInput interface { type FleetLocationConfigurationArgs struct { // An AWS Region code, such as `us-west-2` . For a list of supported Regions and Local Zones, see [Amazon GameLift service locations](https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-regions.html) for managed hosting. Location pulumi.StringInput `pulumi:"location"` - // 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. + // 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. // // *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) LocationCapacity FleetLocationCapacityPtrInput `pulumi:"locationCapacity"` @@ -2635,7 +2635,7 @@ func (o FleetLocationConfigurationOutput) Location() pulumi.StringOutput { return o.ApplyT(func(v FleetLocationConfiguration) string { return v.Location }).(pulumi.StringOutput) } -// 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. +// 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. // // *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) func (o FleetLocationConfigurationOutput) LocationCapacity() FleetLocationCapacityPtrOutput { diff --git a/sdk/go/aws/logs/delivery.go b/sdk/go/aws/logs/delivery.go index a1e1e1a38d..c9e1e94774 100644 --- a/sdk/go/aws/logs/delivery.go +++ b/sdk/go/aws/logs/delivery.go @@ -31,6 +31,14 @@ type Delivery struct { DeliveryId pulumi.StringOutput `pulumi:"deliveryId"` // The name of the delivery source that is associated with this delivery. DeliverySourceName pulumi.StringOutput `pulumi:"deliverySourceName"` + // The field delimiter to use between record fields when the final output format of a delivery is in Plain , W3C , or Raw format. + FieldDelimiter pulumi.StringPtrOutput `pulumi:"fieldDelimiter"` + // 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. + RecordFields pulumi.StringArrayOutput `pulumi:"recordFields"` + // This parameter causes the S3 objects that contain delivered logs to use a prefix structure that allows for integration with Apache Hive. + S3EnableHiveCompatiblePath pulumi.BoolPtrOutput `pulumi:"s3EnableHiveCompatiblePath"` + // 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. + S3SuffixPath pulumi.StringPtrOutput `pulumi:"s3SuffixPath"` // The tags that have been assigned to this delivery. Tags aws.TagArrayOutput `pulumi:"tags"` } @@ -90,6 +98,14 @@ type deliveryArgs struct { DeliveryDestinationArn string `pulumi:"deliveryDestinationArn"` // The name of the delivery source that is associated with this delivery. DeliverySourceName string `pulumi:"deliverySourceName"` + // The field delimiter to use between record fields when the final output format of a delivery is in Plain , W3C , or Raw format. + FieldDelimiter *string `pulumi:"fieldDelimiter"` + // 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. + RecordFields []string `pulumi:"recordFields"` + // This parameter causes the S3 objects that contain delivered logs to use a prefix structure that allows for integration with Apache Hive. + S3EnableHiveCompatiblePath *bool `pulumi:"s3EnableHiveCompatiblePath"` + // 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. + S3SuffixPath *string `pulumi:"s3SuffixPath"` // The tags that have been assigned to this delivery. Tags []aws.Tag `pulumi:"tags"` } @@ -100,6 +116,14 @@ type DeliveryArgs struct { DeliveryDestinationArn pulumi.StringInput // The name of the delivery source that is associated with this delivery. DeliverySourceName pulumi.StringInput + // The field delimiter to use between record fields when the final output format of a delivery is in Plain , W3C , or Raw format. + FieldDelimiter pulumi.StringPtrInput + // 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. + RecordFields pulumi.StringArrayInput + // This parameter causes the S3 objects that contain delivered logs to use a prefix structure that allows for integration with Apache Hive. + S3EnableHiveCompatiblePath pulumi.BoolPtrInput + // 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. + S3SuffixPath pulumi.StringPtrInput // The tags that have been assigned to this delivery. Tags aws.TagArrayInput } @@ -166,6 +190,26 @@ func (o DeliveryOutput) DeliverySourceName() pulumi.StringOutput { return o.ApplyT(func(v *Delivery) pulumi.StringOutput { return v.DeliverySourceName }).(pulumi.StringOutput) } +// The field delimiter to use between record fields when the final output format of a delivery is in Plain , W3C , or Raw format. +func (o DeliveryOutput) FieldDelimiter() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Delivery) pulumi.StringPtrOutput { return v.FieldDelimiter }).(pulumi.StringPtrOutput) +} + +// 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. +func (o DeliveryOutput) RecordFields() pulumi.StringArrayOutput { + return o.ApplyT(func(v *Delivery) pulumi.StringArrayOutput { return v.RecordFields }).(pulumi.StringArrayOutput) +} + +// This parameter causes the S3 objects that contain delivered logs to use a prefix structure that allows for integration with Apache Hive. +func (o DeliveryOutput) S3EnableHiveCompatiblePath() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Delivery) pulumi.BoolPtrOutput { return v.S3EnableHiveCompatiblePath }).(pulumi.BoolPtrOutput) +} + +// 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. +func (o DeliveryOutput) S3SuffixPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Delivery) pulumi.StringPtrOutput { return v.S3SuffixPath }).(pulumi.StringPtrOutput) +} + // The tags that have been assigned to this delivery. func (o DeliveryOutput) Tags() aws.TagArrayOutput { return o.ApplyT(func(v *Delivery) aws.TagArrayOutput { return v.Tags }).(aws.TagArrayOutput) diff --git a/sdk/go/aws/logs/deliveryDestination.go b/sdk/go/aws/logs/deliveryDestination.go index 72fec22da0..ca36b6c227 100644 --- a/sdk/go/aws/logs/deliveryDestination.go +++ b/sdk/go/aws/logs/deliveryDestination.go @@ -32,6 +32,8 @@ type DeliveryDestination struct { DestinationResourceArn pulumi.StringPtrOutput `pulumi:"destinationResourceArn"` // The name of this delivery destination. Name pulumi.StringOutput `pulumi:"name"` + // The format of the logs that are sent to this delivery destination. + OutputFormat pulumi.StringPtrOutput `pulumi:"outputFormat"` // The tags that have been assigned to this delivery destination. Tags aws.TagArrayOutput `pulumi:"tags"` } @@ -46,6 +48,7 @@ func NewDeliveryDestination(ctx *pulumi.Context, replaceOnChanges := pulumi.ReplaceOnChanges([]string{ "destinationResourceArn", "name", + "outputFormat", }) opts = append(opts, replaceOnChanges) opts = internal.PkgResourceDefaultOpts(opts) @@ -91,6 +94,8 @@ type deliveryDestinationArgs struct { DestinationResourceArn *string `pulumi:"destinationResourceArn"` // The name of this delivery destination. Name *string `pulumi:"name"` + // The format of the logs that are sent to this delivery destination. + OutputFormat *string `pulumi:"outputFormat"` // The tags that have been assigned to this delivery destination. Tags []aws.Tag `pulumi:"tags"` } @@ -107,6 +112,8 @@ type DeliveryDestinationArgs struct { DestinationResourceArn pulumi.StringPtrInput // The name of this delivery destination. Name pulumi.StringPtrInput + // The format of the logs that are sent to this delivery destination. + OutputFormat pulumi.StringPtrInput // The tags that have been assigned to this delivery destination. Tags aws.TagArrayInput } @@ -179,6 +186,11 @@ func (o DeliveryDestinationOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *DeliveryDestination) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } +// The format of the logs that are sent to this delivery destination. +func (o DeliveryDestinationOutput) OutputFormat() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DeliveryDestination) pulumi.StringPtrOutput { return v.OutputFormat }).(pulumi.StringPtrOutput) +} + // The tags that have been assigned to this delivery destination. func (o DeliveryDestinationOutput) Tags() aws.TagArrayOutput { return o.ApplyT(func(v *DeliveryDestination) aws.TagArrayOutput { return v.Tags }).(aws.TagArrayOutput) diff --git a/sdk/go/aws/logs/getDelivery.go b/sdk/go/aws/logs/getDelivery.go index 9d9dc80231..00565cffca 100644 --- a/sdk/go/aws/logs/getDelivery.go +++ b/sdk/go/aws/logs/getDelivery.go @@ -39,6 +39,14 @@ type LookupDeliveryResult struct { DeliveryDestinationType *string `pulumi:"deliveryDestinationType"` // The unique ID that identifies this delivery in your account. DeliveryId *string `pulumi:"deliveryId"` + // The field delimiter to use between record fields when the final output format of a delivery is in Plain , W3C , or Raw format. + FieldDelimiter *string `pulumi:"fieldDelimiter"` + // 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. + RecordFields []string `pulumi:"recordFields"` + // This parameter causes the S3 objects that contain delivered logs to use a prefix structure that allows for integration with Apache Hive. + S3EnableHiveCompatiblePath *bool `pulumi:"s3EnableHiveCompatiblePath"` + // 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. + S3SuffixPath *string `pulumi:"s3SuffixPath"` // The tags that have been assigned to this delivery. Tags []aws.Tag `pulumi:"tags"` } @@ -100,6 +108,26 @@ func (o LookupDeliveryResultOutput) DeliveryId() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupDeliveryResult) *string { return v.DeliveryId }).(pulumi.StringPtrOutput) } +// The field delimiter to use between record fields when the final output format of a delivery is in Plain , W3C , or Raw format. +func (o LookupDeliveryResultOutput) FieldDelimiter() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupDeliveryResult) *string { return v.FieldDelimiter }).(pulumi.StringPtrOutput) +} + +// 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. +func (o LookupDeliveryResultOutput) RecordFields() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupDeliveryResult) []string { return v.RecordFields }).(pulumi.StringArrayOutput) +} + +// This parameter causes the S3 objects that contain delivered logs to use a prefix structure that allows for integration with Apache Hive. +func (o LookupDeliveryResultOutput) S3EnableHiveCompatiblePath() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LookupDeliveryResult) *bool { return v.S3EnableHiveCompatiblePath }).(pulumi.BoolPtrOutput) +} + +// 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. +func (o LookupDeliveryResultOutput) S3SuffixPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupDeliveryResult) *string { return v.S3SuffixPath }).(pulumi.StringPtrOutput) +} + // The tags that have been assigned to this delivery. func (o LookupDeliveryResultOutput) Tags() aws.TagArrayOutput { return o.ApplyT(func(v LookupDeliveryResult) []aws.Tag { return v.Tags }).(aws.TagArrayOutput) diff --git a/sdk/go/aws/nimblestudio/getLaunchProfile.go b/sdk/go/aws/nimblestudio/getLaunchProfile.go index f3da282499..558c553db7 100644 --- a/sdk/go/aws/nimblestudio/getLaunchProfile.go +++ b/sdk/go/aws/nimblestudio/getLaunchProfile.go @@ -11,7 +11,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// Represents a launch profile which delegates access to a collection of studio components to studio users +// Resource Type definition for AWS::NimbleStudio::LaunchProfile func LookupLaunchProfile(ctx *pulumi.Context, args *LookupLaunchProfileArgs, opts ...pulumi.InvokeOption) (*LookupLaunchProfileResult, error) { opts = internal.PkgInvokeDefaultOpts(opts) var rv LookupLaunchProfileResult @@ -25,24 +25,20 @@ func LookupLaunchProfile(ctx *pulumi.Context, args *LookupLaunchProfileArgs, opt type LookupLaunchProfileArgs struct { // The unique identifier for the launch profile resource. LaunchProfileId string `pulumi:"launchProfileId"` - //

The studio ID.

- StudioId string `pulumi:"studioId"` } type LookupLaunchProfileResult struct { - //

The description.

+ // A human-readable description of the launch profile. Description *string `pulumi:"description"` // The unique identifier for the launch profile resource. LaunchProfileId *string `pulumi:"launchProfileId"` - //

The version number of the protocol that is used by the launch profile. The only valid - // version is "2021-03-31".

+ // The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31". LaunchProfileProtocolVersions []string `pulumi:"launchProfileProtocolVersions"` - //

The name for the launch profile.

+ // A friendly name for the launch profile. Name *string `pulumi:"name"` // A configuration for a streaming session. StreamConfiguration *LaunchProfileStreamConfiguration `pulumi:"streamConfiguration"` - //

Unique identifiers for a collection of studio components that can be used with this - // launch profile.

+ // Unique identifiers for a collection of studio components that can be used with this launch profile. StudioComponentIds []string `pulumi:"studioComponentIds"` } @@ -68,8 +64,6 @@ func LookupLaunchProfileOutput(ctx *pulumi.Context, args LookupLaunchProfileOutp type LookupLaunchProfileOutputArgs struct { // The unique identifier for the launch profile resource. LaunchProfileId pulumi.StringInput `pulumi:"launchProfileId"` - //

The studio ID.

- StudioId pulumi.StringInput `pulumi:"studioId"` } func (LookupLaunchProfileOutputArgs) ElementType() reflect.Type { @@ -90,7 +84,7 @@ func (o LookupLaunchProfileResultOutput) ToLookupLaunchProfileResultOutputWithCo return o } -//

The description.

+// A human-readable description of the launch profile. func (o LookupLaunchProfileResultOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupLaunchProfileResult) *string { return v.Description }).(pulumi.StringPtrOutput) } @@ -100,14 +94,12 @@ func (o LookupLaunchProfileResultOutput) LaunchProfileId() pulumi.StringPtrOutpu return o.ApplyT(func(v LookupLaunchProfileResult) *string { return v.LaunchProfileId }).(pulumi.StringPtrOutput) } -//

The version number of the protocol that is used by the launch profile. The only valid -// -// version is "2021-03-31".

+// The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31". func (o LookupLaunchProfileResultOutput) LaunchProfileProtocolVersions() pulumi.StringArrayOutput { return o.ApplyT(func(v LookupLaunchProfileResult) []string { return v.LaunchProfileProtocolVersions }).(pulumi.StringArrayOutput) } -//

The name for the launch profile.

+// A friendly name for the launch profile. func (o LookupLaunchProfileResultOutput) Name() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupLaunchProfileResult) *string { return v.Name }).(pulumi.StringPtrOutput) } @@ -117,9 +109,7 @@ func (o LookupLaunchProfileResultOutput) StreamConfiguration() LaunchProfileStre return o.ApplyT(func(v LookupLaunchProfileResult) *LaunchProfileStreamConfiguration { return v.StreamConfiguration }).(LaunchProfileStreamConfigurationPtrOutput) } -//

Unique identifiers for a collection of studio components that can be used with this -// -// launch profile.

+// Unique identifiers for a collection of studio components that can be used with this launch profile. func (o LookupLaunchProfileResultOutput) StudioComponentIds() pulumi.StringArrayOutput { return o.ApplyT(func(v LookupLaunchProfileResult) []string { return v.StudioComponentIds }).(pulumi.StringArrayOutput) } diff --git a/sdk/go/aws/nimblestudio/getStreamingImage.go b/sdk/go/aws/nimblestudio/getStreamingImage.go index 2c1a021b3d..f66c474d7b 100644 --- a/sdk/go/aws/nimblestudio/getStreamingImage.go +++ b/sdk/go/aws/nimblestudio/getStreamingImage.go @@ -11,7 +11,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// Represents a streaming session machine image that can be used to launch a streaming session +// Resource Type definition for AWS::NimbleStudio::StreamingImage func LookupStreamingImage(ctx *pulumi.Context, args *LookupStreamingImageArgs, opts ...pulumi.InvokeOption) (*LookupStreamingImageResult, error) { opts = internal.PkgInvokeDefaultOpts(opts) var rv LookupStreamingImageResult @@ -25,21 +25,21 @@ func LookupStreamingImage(ctx *pulumi.Context, args *LookupStreamingImageArgs, o type LookupStreamingImageArgs struct { // The unique identifier for the streaming image resource. StreamingImageId string `pulumi:"streamingImageId"` - //

The studioId.

- StudioId string `pulumi:"studioId"` } type LookupStreamingImageResult struct { - //

A human-readable description of the streaming image.

- Description *string `pulumi:"description"` - EncryptionConfiguration *StreamingImageEncryptionConfiguration `pulumi:"encryptionConfiguration"` - //

The list of EULAs that must be accepted before a Streaming Session can be started using this streaming image.

+ // A human-readable description of the streaming image. + Description *string `pulumi:"description"` + EncryptionConfiguration *StreamingImageEncryptionConfiguration `pulumi:"encryptionConfiguration"` + EncryptionConfigurationKeyArn *string `pulumi:"encryptionConfigurationKeyArn"` + EncryptionConfigurationKeyType *string `pulumi:"encryptionConfigurationKeyType"` + // The list of IDs of EULAs that must be accepted before a streaming session can be started using this streaming image. EulaIds []string `pulumi:"eulaIds"` - //

A friendly name for a streaming image resource.

+ // A friendly name for a streaming image resource. Name *string `pulumi:"name"` - //

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.

+ // The owner of the streaming image, either the studioId that contains the streaming image or 'amazon' for images that are provided by . Owner *string `pulumi:"owner"` - //

The platform of the streaming image, either WINDOWS or LINUX.

+ // The platform of the streaming image, either WINDOWS or LINUX. Platform *string `pulumi:"platform"` // The unique identifier for the streaming image resource. StreamingImageId *string `pulumi:"streamingImageId"` @@ -67,8 +67,6 @@ func LookupStreamingImageOutput(ctx *pulumi.Context, args LookupStreamingImageOu type LookupStreamingImageOutputArgs struct { // The unique identifier for the streaming image resource. StreamingImageId pulumi.StringInput `pulumi:"streamingImageId"` - //

The studioId.

- StudioId pulumi.StringInput `pulumi:"studioId"` } func (LookupStreamingImageOutputArgs) ElementType() reflect.Type { @@ -89,7 +87,7 @@ func (o LookupStreamingImageResultOutput) ToLookupStreamingImageResultOutputWith return o } -//

A human-readable description of the streaming image.

+// A human-readable description of the streaming image. func (o LookupStreamingImageResultOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupStreamingImageResult) *string { return v.Description }).(pulumi.StringPtrOutput) } @@ -100,22 +98,30 @@ func (o LookupStreamingImageResultOutput) EncryptionConfiguration() StreamingIma }).(StreamingImageEncryptionConfigurationPtrOutput) } -//

The list of EULAs that must be accepted before a Streaming Session can be started using this streaming image.

+func (o LookupStreamingImageResultOutput) EncryptionConfigurationKeyArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupStreamingImageResult) *string { return v.EncryptionConfigurationKeyArn }).(pulumi.StringPtrOutput) +} + +func (o LookupStreamingImageResultOutput) EncryptionConfigurationKeyType() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupStreamingImageResult) *string { return v.EncryptionConfigurationKeyType }).(pulumi.StringPtrOutput) +} + +// The list of IDs of EULAs that must be accepted before a streaming session can be started using this streaming image. func (o LookupStreamingImageResultOutput) EulaIds() pulumi.StringArrayOutput { return o.ApplyT(func(v LookupStreamingImageResult) []string { return v.EulaIds }).(pulumi.StringArrayOutput) } -//

A friendly name for a streaming image resource.

+// A friendly name for a streaming image resource. func (o LookupStreamingImageResultOutput) Name() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupStreamingImageResult) *string { return v.Name }).(pulumi.StringPtrOutput) } -//

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.

+// The owner of the streaming image, either the studioId that contains the streaming image or 'amazon' for images that are provided by . func (o LookupStreamingImageResultOutput) Owner() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupStreamingImageResult) *string { return v.Owner }).(pulumi.StringPtrOutput) } -//

The platform of the streaming image, either WINDOWS or LINUX.

+// The platform of the streaming image, either WINDOWS or LINUX. func (o LookupStreamingImageResultOutput) Platform() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupStreamingImageResult) *string { return v.Platform }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/aws/nimblestudio/getStudio.go b/sdk/go/aws/nimblestudio/getStudio.go index 724438a833..88380a7038 100644 --- a/sdk/go/aws/nimblestudio/getStudio.go +++ b/sdk/go/aws/nimblestudio/getStudio.go @@ -11,7 +11,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// Represents a studio that contains other Nimble Studio resources +// Resource Type definition for AWS::NimbleStudio::Studio func LookupStudio(ctx *pulumi.Context, args *LookupStudioArgs, opts ...pulumi.InvokeOption) (*LookupStudioResult, error) { opts = internal.PkgInvokeDefaultOpts(opts) var rv LookupStudioResult @@ -28,21 +28,21 @@ type LookupStudioArgs struct { } type LookupStudioResult struct { - //

The IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.

+ // The IAM role that studio admins assume when logging in to the Nimble Studio portal. AdminRoleArn *string `pulumi:"adminRoleArn"` - //

A friendly name for the studio.

+ // A friendly name for the studio. DisplayName *string `pulumi:"displayName"` - //

The Amazon Web Services Region where the studio resource is located.

+ // The AWS Region where the studio resource is located. For example, `us-west-2` . HomeRegion *string `pulumi:"homeRegion"` - //

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.

+ // 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. SsoClientId *string `pulumi:"ssoClientId"` // Configuration of the encryption method that is used for the studio. StudioEncryptionConfiguration *StudioEncryptionConfiguration `pulumi:"studioEncryptionConfiguration"` // The unique identifier for the studio resource. StudioId *string `pulumi:"studioId"` - //

The address of the web page for the studio.

+ // The unique identifier for the studio resource. StudioUrl *string `pulumi:"studioUrl"` - //

The IAM role that Studio Users will assume when logging in to the Nimble Studio portal.

+ // The IAM role that studio users assume when logging in to the Nimble Studio portal. UserRoleArn *string `pulumi:"userRoleArn"` } @@ -88,22 +88,22 @@ func (o LookupStudioResultOutput) ToLookupStudioResultOutputWithContext(ctx cont return o } -//

The IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.

+// The IAM role that studio admins assume when logging in to the Nimble Studio portal. func (o LookupStudioResultOutput) AdminRoleArn() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupStudioResult) *string { return v.AdminRoleArn }).(pulumi.StringPtrOutput) } -//

A friendly name for the studio.

+// A friendly name for the studio. func (o LookupStudioResultOutput) DisplayName() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupStudioResult) *string { return v.DisplayName }).(pulumi.StringPtrOutput) } -//

The Amazon Web Services Region where the studio resource is located.

+// The AWS Region where the studio resource is located. For example, `us-west-2` . func (o LookupStudioResultOutput) HomeRegion() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupStudioResult) *string { return v.HomeRegion }).(pulumi.StringPtrOutput) } -//

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.

+// 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. func (o LookupStudioResultOutput) SsoClientId() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupStudioResult) *string { return v.SsoClientId }).(pulumi.StringPtrOutput) } @@ -118,12 +118,12 @@ func (o LookupStudioResultOutput) StudioId() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupStudioResult) *string { return v.StudioId }).(pulumi.StringPtrOutput) } -//

The address of the web page for the studio.

+// The unique identifier for the studio resource. func (o LookupStudioResultOutput) StudioUrl() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupStudioResult) *string { return v.StudioUrl }).(pulumi.StringPtrOutput) } -//

The IAM role that Studio Users will assume when logging in to the Nimble Studio portal.

+// The IAM role that studio users assume when logging in to the Nimble Studio portal. func (o LookupStudioResultOutput) UserRoleArn() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupStudioResult) *string { return v.UserRoleArn }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/aws/nimblestudio/getStudioComponent.go b/sdk/go/aws/nimblestudio/getStudioComponent.go index fe77d143fe..52d6b7e997 100644 --- a/sdk/go/aws/nimblestudio/getStudioComponent.go +++ b/sdk/go/aws/nimblestudio/getStudioComponent.go @@ -11,7 +11,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// Represents a studio component that connects a non-Nimble Studio resource in your account to your studio +// Resource Type definition for AWS::NimbleStudio::StudioComponent func LookupStudioComponent(ctx *pulumi.Context, args *LookupStudioComponentArgs, opts ...pulumi.InvokeOption) (*LookupStudioComponentResult, error) { opts = internal.PkgInvokeDefaultOpts(opts) var rv LookupStudioComponentResult @@ -25,31 +25,25 @@ func LookupStudioComponent(ctx *pulumi.Context, args *LookupStudioComponentArgs, type LookupStudioComponentArgs struct { // The unique identifier for the studio component resource. StudioComponentId string `pulumi:"studioComponentId"` - //

The studio ID.

- StudioId string `pulumi:"studioId"` } type LookupStudioComponentResult struct { // The configuration of the studio component, based on component type. - Configuration interface{} `pulumi:"configuration"` - //

The description.

+ Configuration *StudioComponentConfiguration `pulumi:"configuration"` + // A human-readable description for the studio component resource. Description *string `pulumi:"description"` - //

The EC2 security groups that control access to the studio component.

+ // The EC2 security groups that control access to the studio component. Ec2SecurityGroupIds []string `pulumi:"ec2SecurityGroupIds"` - //

Initialization scripts for studio components.

+ // Initialization scripts for studio components. InitializationScripts []StudioComponentInitializationScript `pulumi:"initializationScripts"` - //

The name for the studio component.

+ // A friendly name for the studio component resource. Name *string `pulumi:"name"` - // An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running. - RuntimeRoleArn *string `pulumi:"runtimeRoleArn"` - //

Parameters for the studio component scripts.

+ // Parameters for the studio component scripts. ScriptParameters []StudioComponentScriptParameterKeyValue `pulumi:"scriptParameters"` - // 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. - SecureInitializationRoleArn *string `pulumi:"secureInitializationRoleArn"` // The unique identifier for the studio component resource. StudioComponentId *string `pulumi:"studioComponentId"` // The type of the studio component. - Type *StudioComponentType `pulumi:"type"` + Type *string `pulumi:"type"` } func LookupStudioComponentOutput(ctx *pulumi.Context, args LookupStudioComponentOutputArgs, opts ...pulumi.InvokeOption) LookupStudioComponentResultOutput { @@ -74,8 +68,6 @@ func LookupStudioComponentOutput(ctx *pulumi.Context, args LookupStudioComponent type LookupStudioComponentOutputArgs struct { // The unique identifier for the studio component resource. StudioComponentId pulumi.StringInput `pulumi:"studioComponentId"` - //

The studio ID.

- StudioId pulumi.StringInput `pulumi:"studioId"` } func (LookupStudioComponentOutputArgs) ElementType() reflect.Type { @@ -97,57 +89,47 @@ func (o LookupStudioComponentResultOutput) ToLookupStudioComponentResultOutputWi } // The configuration of the studio component, based on component type. -func (o LookupStudioComponentResultOutput) Configuration() pulumi.AnyOutput { - return o.ApplyT(func(v LookupStudioComponentResult) interface{} { return v.Configuration }).(pulumi.AnyOutput) +func (o LookupStudioComponentResultOutput) Configuration() StudioComponentConfigurationPtrOutput { + return o.ApplyT(func(v LookupStudioComponentResult) *StudioComponentConfiguration { return v.Configuration }).(StudioComponentConfigurationPtrOutput) } -//

The description.

+// A human-readable description for the studio component resource. func (o LookupStudioComponentResultOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupStudioComponentResult) *string { return v.Description }).(pulumi.StringPtrOutput) } -//

The EC2 security groups that control access to the studio component.

+// The EC2 security groups that control access to the studio component. func (o LookupStudioComponentResultOutput) Ec2SecurityGroupIds() pulumi.StringArrayOutput { return o.ApplyT(func(v LookupStudioComponentResult) []string { return v.Ec2SecurityGroupIds }).(pulumi.StringArrayOutput) } -//

Initialization scripts for studio components.

+// Initialization scripts for studio components. func (o LookupStudioComponentResultOutput) InitializationScripts() StudioComponentInitializationScriptArrayOutput { return o.ApplyT(func(v LookupStudioComponentResult) []StudioComponentInitializationScript { return v.InitializationScripts }).(StudioComponentInitializationScriptArrayOutput) } -//

The name for the studio component.

+// A friendly name for the studio component resource. func (o LookupStudioComponentResultOutput) Name() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupStudioComponentResult) *string { return v.Name }).(pulumi.StringPtrOutput) } -// An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running. -func (o LookupStudioComponentResultOutput) RuntimeRoleArn() pulumi.StringPtrOutput { - return o.ApplyT(func(v LookupStudioComponentResult) *string { return v.RuntimeRoleArn }).(pulumi.StringPtrOutput) -} - -//

Parameters for the studio component scripts.

+// Parameters for the studio component scripts. func (o LookupStudioComponentResultOutput) ScriptParameters() StudioComponentScriptParameterKeyValueArrayOutput { return o.ApplyT(func(v LookupStudioComponentResult) []StudioComponentScriptParameterKeyValue { return v.ScriptParameters }).(StudioComponentScriptParameterKeyValueArrayOutput) } -// 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. -func (o LookupStudioComponentResultOutput) SecureInitializationRoleArn() pulumi.StringPtrOutput { - return o.ApplyT(func(v LookupStudioComponentResult) *string { return v.SecureInitializationRoleArn }).(pulumi.StringPtrOutput) -} - // The unique identifier for the studio component resource. func (o LookupStudioComponentResultOutput) StudioComponentId() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupStudioComponentResult) *string { return v.StudioComponentId }).(pulumi.StringPtrOutput) } // The type of the studio component. -func (o LookupStudioComponentResultOutput) Type() StudioComponentTypePtrOutput { - return o.ApplyT(func(v LookupStudioComponentResult) *StudioComponentType { return v.Type }).(StudioComponentTypePtrOutput) +func (o LookupStudioComponentResultOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupStudioComponentResult) *string { return v.Type }).(pulumi.StringPtrOutput) } func init() { diff --git a/sdk/go/aws/nimblestudio/launchProfile.go b/sdk/go/aws/nimblestudio/launchProfile.go index 9de67243c4..61104249e4 100644 --- a/sdk/go/aws/nimblestudio/launchProfile.go +++ b/sdk/go/aws/nimblestudio/launchProfile.go @@ -12,28 +12,25 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// Represents a launch profile which delegates access to a collection of studio components to studio users +// Resource Type definition for AWS::NimbleStudio::LaunchProfile type LaunchProfile struct { pulumi.CustomResourceState - //

The description.

+ // A human-readable description of the launch profile. Description pulumi.StringPtrOutput `pulumi:"description"` - //

Specifies the IDs of the EC2 subnets where streaming sessions will be accessible from. - // These subnets must support the specified instance types.

+ // Unique identifiers for a collection of EC2 subnets. Ec2SubnetIds pulumi.StringArrayOutput `pulumi:"ec2SubnetIds"` // The unique identifier for the launch profile resource. LaunchProfileId pulumi.StringOutput `pulumi:"launchProfileId"` - //

The version number of the protocol that is used by the launch profile. The only valid - // version is "2021-03-31".

+ // The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31". LaunchProfileProtocolVersions pulumi.StringArrayOutput `pulumi:"launchProfileProtocolVersions"` - //

The name for the launch profile.

+ // A friendly name for the launch profile. Name pulumi.StringOutput `pulumi:"name"` // A configuration for a streaming session. StreamConfiguration LaunchProfileStreamConfigurationOutput `pulumi:"streamConfiguration"` - //

Unique identifiers for a collection of studio components that can be used with this - // launch profile.

+ // Unique identifiers for a collection of studio components that can be used with this launch profile. StudioComponentIds pulumi.StringArrayOutput `pulumi:"studioComponentIds"` - //

The studio ID.

+ // The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. StudioId pulumi.StringOutput `pulumi:"studioId"` // An array of key-value pairs to apply to this resource. // @@ -102,22 +99,19 @@ func (LaunchProfileState) ElementType() reflect.Type { } type launchProfileArgs struct { - //

The description.

+ // A human-readable description of the launch profile. Description *string `pulumi:"description"` - //

Specifies the IDs of the EC2 subnets where streaming sessions will be accessible from. - // These subnets must support the specified instance types.

+ // Unique identifiers for a collection of EC2 subnets. Ec2SubnetIds []string `pulumi:"ec2SubnetIds"` - //

The version number of the protocol that is used by the launch profile. The only valid - // version is "2021-03-31".

+ // The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31". LaunchProfileProtocolVersions []string `pulumi:"launchProfileProtocolVersions"` - //

The name for the launch profile.

+ // A friendly name for the launch profile. Name *string `pulumi:"name"` // A configuration for a streaming session. StreamConfiguration LaunchProfileStreamConfiguration `pulumi:"streamConfiguration"` - //

Unique identifiers for a collection of studio components that can be used with this - // launch profile.

+ // Unique identifiers for a collection of studio components that can be used with this launch profile. StudioComponentIds []string `pulumi:"studioComponentIds"` - //

The studio ID.

+ // The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. StudioId string `pulumi:"studioId"` // An array of key-value pairs to apply to this resource. // @@ -127,22 +121,19 @@ type launchProfileArgs struct { // The set of arguments for constructing a LaunchProfile resource. type LaunchProfileArgs struct { - //

The description.

+ // A human-readable description of the launch profile. Description pulumi.StringPtrInput - //

Specifies the IDs of the EC2 subnets where streaming sessions will be accessible from. - // These subnets must support the specified instance types.

+ // Unique identifiers for a collection of EC2 subnets. Ec2SubnetIds pulumi.StringArrayInput - //

The version number of the protocol that is used by the launch profile. The only valid - // version is "2021-03-31".

+ // The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31". LaunchProfileProtocolVersions pulumi.StringArrayInput - //

The name for the launch profile.

+ // A friendly name for the launch profile. Name pulumi.StringPtrInput // A configuration for a streaming session. StreamConfiguration LaunchProfileStreamConfigurationInput - //

Unique identifiers for a collection of studio components that can be used with this - // launch profile.

+ // Unique identifiers for a collection of studio components that can be used with this launch profile. StudioComponentIds pulumi.StringArrayInput - //

The studio ID.

+ // The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. StudioId pulumi.StringInput // An array of key-value pairs to apply to this resource. // @@ -187,14 +178,12 @@ func (o LaunchProfileOutput) ToLaunchProfileOutputWithContext(ctx context.Contex return o } -//

The description.

+// A human-readable description of the launch profile. func (o LaunchProfileOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v *LaunchProfile) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) } -//

Specifies the IDs of the EC2 subnets where streaming sessions will be accessible from. -// -// These subnets must support the specified instance types.

+// Unique identifiers for a collection of EC2 subnets. func (o LaunchProfileOutput) Ec2SubnetIds() pulumi.StringArrayOutput { return o.ApplyT(func(v *LaunchProfile) pulumi.StringArrayOutput { return v.Ec2SubnetIds }).(pulumi.StringArrayOutput) } @@ -204,14 +193,12 @@ func (o LaunchProfileOutput) LaunchProfileId() pulumi.StringOutput { return o.ApplyT(func(v *LaunchProfile) pulumi.StringOutput { return v.LaunchProfileId }).(pulumi.StringOutput) } -//

The version number of the protocol that is used by the launch profile. The only valid -// -// version is "2021-03-31".

+// The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31". func (o LaunchProfileOutput) LaunchProfileProtocolVersions() pulumi.StringArrayOutput { return o.ApplyT(func(v *LaunchProfile) pulumi.StringArrayOutput { return v.LaunchProfileProtocolVersions }).(pulumi.StringArrayOutput) } -//

The name for the launch profile.

+// A friendly name for the launch profile. func (o LaunchProfileOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *LaunchProfile) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } @@ -221,14 +208,12 @@ func (o LaunchProfileOutput) StreamConfiguration() LaunchProfileStreamConfigurat return o.ApplyT(func(v *LaunchProfile) LaunchProfileStreamConfigurationOutput { return v.StreamConfiguration }).(LaunchProfileStreamConfigurationOutput) } -//

Unique identifiers for a collection of studio components that can be used with this -// -// launch profile.

+// Unique identifiers for a collection of studio components that can be used with this launch profile. func (o LaunchProfileOutput) StudioComponentIds() pulumi.StringArrayOutput { return o.ApplyT(func(v *LaunchProfile) pulumi.StringArrayOutput { return v.StudioComponentIds }).(pulumi.StringArrayOutput) } -//

The studio ID.

+// The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. func (o LaunchProfileOutput) StudioId() pulumi.StringOutput { return o.ApplyT(func(v *LaunchProfile) pulumi.StringOutput { return v.StudioId }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/nimblestudio/pulumiEnums.go b/sdk/go/aws/nimblestudio/pulumiEnums.go deleted file mode 100644 index 71fedbad00..0000000000 --- a/sdk/go/aws/nimblestudio/pulumiEnums.go +++ /dev/null @@ -1,2090 +0,0 @@ -// Code generated by pulumi-language-go DO NOT EDIT. -// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** - -package nimblestudio - -import ( - "context" - "reflect" - - "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -) - -type LaunchProfileAutomaticTerminationMode string - -const ( - LaunchProfileAutomaticTerminationModeDeactivated = LaunchProfileAutomaticTerminationMode("DEACTIVATED") - LaunchProfileAutomaticTerminationModeActivated = LaunchProfileAutomaticTerminationMode("ACTIVATED") -) - -func (LaunchProfileAutomaticTerminationMode) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchProfileAutomaticTerminationMode)(nil)).Elem() -} - -func (e LaunchProfileAutomaticTerminationMode) ToLaunchProfileAutomaticTerminationModeOutput() LaunchProfileAutomaticTerminationModeOutput { - return pulumi.ToOutput(e).(LaunchProfileAutomaticTerminationModeOutput) -} - -func (e LaunchProfileAutomaticTerminationMode) ToLaunchProfileAutomaticTerminationModeOutputWithContext(ctx context.Context) LaunchProfileAutomaticTerminationModeOutput { - return pulumi.ToOutputWithContext(ctx, e).(LaunchProfileAutomaticTerminationModeOutput) -} - -func (e LaunchProfileAutomaticTerminationMode) ToLaunchProfileAutomaticTerminationModePtrOutput() LaunchProfileAutomaticTerminationModePtrOutput { - return e.ToLaunchProfileAutomaticTerminationModePtrOutputWithContext(context.Background()) -} - -func (e LaunchProfileAutomaticTerminationMode) ToLaunchProfileAutomaticTerminationModePtrOutputWithContext(ctx context.Context) LaunchProfileAutomaticTerminationModePtrOutput { - return LaunchProfileAutomaticTerminationMode(e).ToLaunchProfileAutomaticTerminationModeOutputWithContext(ctx).ToLaunchProfileAutomaticTerminationModePtrOutputWithContext(ctx) -} - -func (e LaunchProfileAutomaticTerminationMode) ToStringOutput() pulumi.StringOutput { - return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) -} - -func (e LaunchProfileAutomaticTerminationMode) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { - return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) -} - -func (e LaunchProfileAutomaticTerminationMode) ToStringPtrOutput() pulumi.StringPtrOutput { - return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) -} - -func (e LaunchProfileAutomaticTerminationMode) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) -} - -type LaunchProfileAutomaticTerminationModeOutput struct{ *pulumi.OutputState } - -func (LaunchProfileAutomaticTerminationModeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchProfileAutomaticTerminationMode)(nil)).Elem() -} - -func (o LaunchProfileAutomaticTerminationModeOutput) ToLaunchProfileAutomaticTerminationModeOutput() LaunchProfileAutomaticTerminationModeOutput { - return o -} - -func (o LaunchProfileAutomaticTerminationModeOutput) ToLaunchProfileAutomaticTerminationModeOutputWithContext(ctx context.Context) LaunchProfileAutomaticTerminationModeOutput { - return o -} - -func (o LaunchProfileAutomaticTerminationModeOutput) ToLaunchProfileAutomaticTerminationModePtrOutput() LaunchProfileAutomaticTerminationModePtrOutput { - return o.ToLaunchProfileAutomaticTerminationModePtrOutputWithContext(context.Background()) -} - -func (o LaunchProfileAutomaticTerminationModeOutput) ToLaunchProfileAutomaticTerminationModePtrOutputWithContext(ctx context.Context) LaunchProfileAutomaticTerminationModePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchProfileAutomaticTerminationMode) *LaunchProfileAutomaticTerminationMode { - return &v - }).(LaunchProfileAutomaticTerminationModePtrOutput) -} - -func (o LaunchProfileAutomaticTerminationModeOutput) ToStringOutput() pulumi.StringOutput { - return o.ToStringOutputWithContext(context.Background()) -} - -func (o LaunchProfileAutomaticTerminationModeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e LaunchProfileAutomaticTerminationMode) string { - return string(e) - }).(pulumi.StringOutput) -} - -func (o LaunchProfileAutomaticTerminationModeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { - return o.ToStringPtrOutputWithContext(context.Background()) -} - -func (o LaunchProfileAutomaticTerminationModeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e LaunchProfileAutomaticTerminationMode) *string { - v := string(e) - return &v - }).(pulumi.StringPtrOutput) -} - -type LaunchProfileAutomaticTerminationModePtrOutput struct{ *pulumi.OutputState } - -func (LaunchProfileAutomaticTerminationModePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchProfileAutomaticTerminationMode)(nil)).Elem() -} - -func (o LaunchProfileAutomaticTerminationModePtrOutput) ToLaunchProfileAutomaticTerminationModePtrOutput() LaunchProfileAutomaticTerminationModePtrOutput { - return o -} - -func (o LaunchProfileAutomaticTerminationModePtrOutput) ToLaunchProfileAutomaticTerminationModePtrOutputWithContext(ctx context.Context) LaunchProfileAutomaticTerminationModePtrOutput { - return o -} - -func (o LaunchProfileAutomaticTerminationModePtrOutput) Elem() LaunchProfileAutomaticTerminationModeOutput { - return o.ApplyT(func(v *LaunchProfileAutomaticTerminationMode) LaunchProfileAutomaticTerminationMode { - if v != nil { - return *v - } - var ret LaunchProfileAutomaticTerminationMode - return ret - }).(LaunchProfileAutomaticTerminationModeOutput) -} - -func (o LaunchProfileAutomaticTerminationModePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { - return o.ToStringPtrOutputWithContext(context.Background()) -} - -func (o LaunchProfileAutomaticTerminationModePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e *LaunchProfileAutomaticTerminationMode) *string { - if e == nil { - return nil - } - v := string(*e) - return &v - }).(pulumi.StringPtrOutput) -} - -// LaunchProfileAutomaticTerminationModeInput is an input type that accepts values of the LaunchProfileAutomaticTerminationMode enum -// A concrete instance of `LaunchProfileAutomaticTerminationModeInput` can be one of the following: -// -// LaunchProfileAutomaticTerminationModeDeactivated -// LaunchProfileAutomaticTerminationModeActivated -type LaunchProfileAutomaticTerminationModeInput interface { - pulumi.Input - - ToLaunchProfileAutomaticTerminationModeOutput() LaunchProfileAutomaticTerminationModeOutput - ToLaunchProfileAutomaticTerminationModeOutputWithContext(context.Context) LaunchProfileAutomaticTerminationModeOutput -} - -var launchProfileAutomaticTerminationModePtrType = reflect.TypeOf((**LaunchProfileAutomaticTerminationMode)(nil)).Elem() - -type LaunchProfileAutomaticTerminationModePtrInput interface { - pulumi.Input - - ToLaunchProfileAutomaticTerminationModePtrOutput() LaunchProfileAutomaticTerminationModePtrOutput - ToLaunchProfileAutomaticTerminationModePtrOutputWithContext(context.Context) LaunchProfileAutomaticTerminationModePtrOutput -} - -type launchProfileAutomaticTerminationModePtr string - -func LaunchProfileAutomaticTerminationModePtr(v string) LaunchProfileAutomaticTerminationModePtrInput { - return (*launchProfileAutomaticTerminationModePtr)(&v) -} - -func (*launchProfileAutomaticTerminationModePtr) ElementType() reflect.Type { - return launchProfileAutomaticTerminationModePtrType -} - -func (in *launchProfileAutomaticTerminationModePtr) ToLaunchProfileAutomaticTerminationModePtrOutput() LaunchProfileAutomaticTerminationModePtrOutput { - return pulumi.ToOutput(in).(LaunchProfileAutomaticTerminationModePtrOutput) -} - -func (in *launchProfileAutomaticTerminationModePtr) ToLaunchProfileAutomaticTerminationModePtrOutputWithContext(ctx context.Context) LaunchProfileAutomaticTerminationModePtrOutput { - return pulumi.ToOutputWithContext(ctx, in).(LaunchProfileAutomaticTerminationModePtrOutput) -} - -type LaunchProfileSessionBackupMode string - -const ( - LaunchProfileSessionBackupModeAutomatic = LaunchProfileSessionBackupMode("AUTOMATIC") - LaunchProfileSessionBackupModeDeactivated = LaunchProfileSessionBackupMode("DEACTIVATED") -) - -func (LaunchProfileSessionBackupMode) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchProfileSessionBackupMode)(nil)).Elem() -} - -func (e LaunchProfileSessionBackupMode) ToLaunchProfileSessionBackupModeOutput() LaunchProfileSessionBackupModeOutput { - return pulumi.ToOutput(e).(LaunchProfileSessionBackupModeOutput) -} - -func (e LaunchProfileSessionBackupMode) ToLaunchProfileSessionBackupModeOutputWithContext(ctx context.Context) LaunchProfileSessionBackupModeOutput { - return pulumi.ToOutputWithContext(ctx, e).(LaunchProfileSessionBackupModeOutput) -} - -func (e LaunchProfileSessionBackupMode) ToLaunchProfileSessionBackupModePtrOutput() LaunchProfileSessionBackupModePtrOutput { - return e.ToLaunchProfileSessionBackupModePtrOutputWithContext(context.Background()) -} - -func (e LaunchProfileSessionBackupMode) ToLaunchProfileSessionBackupModePtrOutputWithContext(ctx context.Context) LaunchProfileSessionBackupModePtrOutput { - return LaunchProfileSessionBackupMode(e).ToLaunchProfileSessionBackupModeOutputWithContext(ctx).ToLaunchProfileSessionBackupModePtrOutputWithContext(ctx) -} - -func (e LaunchProfileSessionBackupMode) ToStringOutput() pulumi.StringOutput { - return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) -} - -func (e LaunchProfileSessionBackupMode) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { - return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) -} - -func (e LaunchProfileSessionBackupMode) ToStringPtrOutput() pulumi.StringPtrOutput { - return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) -} - -func (e LaunchProfileSessionBackupMode) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) -} - -type LaunchProfileSessionBackupModeOutput struct{ *pulumi.OutputState } - -func (LaunchProfileSessionBackupModeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchProfileSessionBackupMode)(nil)).Elem() -} - -func (o LaunchProfileSessionBackupModeOutput) ToLaunchProfileSessionBackupModeOutput() LaunchProfileSessionBackupModeOutput { - return o -} - -func (o LaunchProfileSessionBackupModeOutput) ToLaunchProfileSessionBackupModeOutputWithContext(ctx context.Context) LaunchProfileSessionBackupModeOutput { - return o -} - -func (o LaunchProfileSessionBackupModeOutput) ToLaunchProfileSessionBackupModePtrOutput() LaunchProfileSessionBackupModePtrOutput { - return o.ToLaunchProfileSessionBackupModePtrOutputWithContext(context.Background()) -} - -func (o LaunchProfileSessionBackupModeOutput) ToLaunchProfileSessionBackupModePtrOutputWithContext(ctx context.Context) LaunchProfileSessionBackupModePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchProfileSessionBackupMode) *LaunchProfileSessionBackupMode { - return &v - }).(LaunchProfileSessionBackupModePtrOutput) -} - -func (o LaunchProfileSessionBackupModeOutput) ToStringOutput() pulumi.StringOutput { - return o.ToStringOutputWithContext(context.Background()) -} - -func (o LaunchProfileSessionBackupModeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e LaunchProfileSessionBackupMode) string { - return string(e) - }).(pulumi.StringOutput) -} - -func (o LaunchProfileSessionBackupModeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { - return o.ToStringPtrOutputWithContext(context.Background()) -} - -func (o LaunchProfileSessionBackupModeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e LaunchProfileSessionBackupMode) *string { - v := string(e) - return &v - }).(pulumi.StringPtrOutput) -} - -type LaunchProfileSessionBackupModePtrOutput struct{ *pulumi.OutputState } - -func (LaunchProfileSessionBackupModePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchProfileSessionBackupMode)(nil)).Elem() -} - -func (o LaunchProfileSessionBackupModePtrOutput) ToLaunchProfileSessionBackupModePtrOutput() LaunchProfileSessionBackupModePtrOutput { - return o -} - -func (o LaunchProfileSessionBackupModePtrOutput) ToLaunchProfileSessionBackupModePtrOutputWithContext(ctx context.Context) LaunchProfileSessionBackupModePtrOutput { - return o -} - -func (o LaunchProfileSessionBackupModePtrOutput) Elem() LaunchProfileSessionBackupModeOutput { - return o.ApplyT(func(v *LaunchProfileSessionBackupMode) LaunchProfileSessionBackupMode { - if v != nil { - return *v - } - var ret LaunchProfileSessionBackupMode - return ret - }).(LaunchProfileSessionBackupModeOutput) -} - -func (o LaunchProfileSessionBackupModePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { - return o.ToStringPtrOutputWithContext(context.Background()) -} - -func (o LaunchProfileSessionBackupModePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e *LaunchProfileSessionBackupMode) *string { - if e == nil { - return nil - } - v := string(*e) - return &v - }).(pulumi.StringPtrOutput) -} - -// LaunchProfileSessionBackupModeInput is an input type that accepts values of the LaunchProfileSessionBackupMode enum -// A concrete instance of `LaunchProfileSessionBackupModeInput` can be one of the following: -// -// LaunchProfileSessionBackupModeAutomatic -// LaunchProfileSessionBackupModeDeactivated -type LaunchProfileSessionBackupModeInput interface { - pulumi.Input - - ToLaunchProfileSessionBackupModeOutput() LaunchProfileSessionBackupModeOutput - ToLaunchProfileSessionBackupModeOutputWithContext(context.Context) LaunchProfileSessionBackupModeOutput -} - -var launchProfileSessionBackupModePtrType = reflect.TypeOf((**LaunchProfileSessionBackupMode)(nil)).Elem() - -type LaunchProfileSessionBackupModePtrInput interface { - pulumi.Input - - ToLaunchProfileSessionBackupModePtrOutput() LaunchProfileSessionBackupModePtrOutput - ToLaunchProfileSessionBackupModePtrOutputWithContext(context.Context) LaunchProfileSessionBackupModePtrOutput -} - -type launchProfileSessionBackupModePtr string - -func LaunchProfileSessionBackupModePtr(v string) LaunchProfileSessionBackupModePtrInput { - return (*launchProfileSessionBackupModePtr)(&v) -} - -func (*launchProfileSessionBackupModePtr) ElementType() reflect.Type { - return launchProfileSessionBackupModePtrType -} - -func (in *launchProfileSessionBackupModePtr) ToLaunchProfileSessionBackupModePtrOutput() LaunchProfileSessionBackupModePtrOutput { - return pulumi.ToOutput(in).(LaunchProfileSessionBackupModePtrOutput) -} - -func (in *launchProfileSessionBackupModePtr) ToLaunchProfileSessionBackupModePtrOutputWithContext(ctx context.Context) LaunchProfileSessionBackupModePtrOutput { - return pulumi.ToOutputWithContext(ctx, in).(LaunchProfileSessionBackupModePtrOutput) -} - -type LaunchProfileSessionPersistenceMode string - -const ( - LaunchProfileSessionPersistenceModeDeactivated = LaunchProfileSessionPersistenceMode("DEACTIVATED") - LaunchProfileSessionPersistenceModeActivated = LaunchProfileSessionPersistenceMode("ACTIVATED") -) - -func (LaunchProfileSessionPersistenceMode) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchProfileSessionPersistenceMode)(nil)).Elem() -} - -func (e LaunchProfileSessionPersistenceMode) ToLaunchProfileSessionPersistenceModeOutput() LaunchProfileSessionPersistenceModeOutput { - return pulumi.ToOutput(e).(LaunchProfileSessionPersistenceModeOutput) -} - -func (e LaunchProfileSessionPersistenceMode) ToLaunchProfileSessionPersistenceModeOutputWithContext(ctx context.Context) LaunchProfileSessionPersistenceModeOutput { - return pulumi.ToOutputWithContext(ctx, e).(LaunchProfileSessionPersistenceModeOutput) -} - -func (e LaunchProfileSessionPersistenceMode) ToLaunchProfileSessionPersistenceModePtrOutput() LaunchProfileSessionPersistenceModePtrOutput { - return e.ToLaunchProfileSessionPersistenceModePtrOutputWithContext(context.Background()) -} - -func (e LaunchProfileSessionPersistenceMode) ToLaunchProfileSessionPersistenceModePtrOutputWithContext(ctx context.Context) LaunchProfileSessionPersistenceModePtrOutput { - return LaunchProfileSessionPersistenceMode(e).ToLaunchProfileSessionPersistenceModeOutputWithContext(ctx).ToLaunchProfileSessionPersistenceModePtrOutputWithContext(ctx) -} - -func (e LaunchProfileSessionPersistenceMode) ToStringOutput() pulumi.StringOutput { - return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) -} - -func (e LaunchProfileSessionPersistenceMode) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { - return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) -} - -func (e LaunchProfileSessionPersistenceMode) ToStringPtrOutput() pulumi.StringPtrOutput { - return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) -} - -func (e LaunchProfileSessionPersistenceMode) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) -} - -type LaunchProfileSessionPersistenceModeOutput struct{ *pulumi.OutputState } - -func (LaunchProfileSessionPersistenceModeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchProfileSessionPersistenceMode)(nil)).Elem() -} - -func (o LaunchProfileSessionPersistenceModeOutput) ToLaunchProfileSessionPersistenceModeOutput() LaunchProfileSessionPersistenceModeOutput { - return o -} - -func (o LaunchProfileSessionPersistenceModeOutput) ToLaunchProfileSessionPersistenceModeOutputWithContext(ctx context.Context) LaunchProfileSessionPersistenceModeOutput { - return o -} - -func (o LaunchProfileSessionPersistenceModeOutput) ToLaunchProfileSessionPersistenceModePtrOutput() LaunchProfileSessionPersistenceModePtrOutput { - return o.ToLaunchProfileSessionPersistenceModePtrOutputWithContext(context.Background()) -} - -func (o LaunchProfileSessionPersistenceModeOutput) ToLaunchProfileSessionPersistenceModePtrOutputWithContext(ctx context.Context) LaunchProfileSessionPersistenceModePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchProfileSessionPersistenceMode) *LaunchProfileSessionPersistenceMode { - return &v - }).(LaunchProfileSessionPersistenceModePtrOutput) -} - -func (o LaunchProfileSessionPersistenceModeOutput) ToStringOutput() pulumi.StringOutput { - return o.ToStringOutputWithContext(context.Background()) -} - -func (o LaunchProfileSessionPersistenceModeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e LaunchProfileSessionPersistenceMode) string { - return string(e) - }).(pulumi.StringOutput) -} - -func (o LaunchProfileSessionPersistenceModeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { - return o.ToStringPtrOutputWithContext(context.Background()) -} - -func (o LaunchProfileSessionPersistenceModeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e LaunchProfileSessionPersistenceMode) *string { - v := string(e) - return &v - }).(pulumi.StringPtrOutput) -} - -type LaunchProfileSessionPersistenceModePtrOutput struct{ *pulumi.OutputState } - -func (LaunchProfileSessionPersistenceModePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchProfileSessionPersistenceMode)(nil)).Elem() -} - -func (o LaunchProfileSessionPersistenceModePtrOutput) ToLaunchProfileSessionPersistenceModePtrOutput() LaunchProfileSessionPersistenceModePtrOutput { - return o -} - -func (o LaunchProfileSessionPersistenceModePtrOutput) ToLaunchProfileSessionPersistenceModePtrOutputWithContext(ctx context.Context) LaunchProfileSessionPersistenceModePtrOutput { - return o -} - -func (o LaunchProfileSessionPersistenceModePtrOutput) Elem() LaunchProfileSessionPersistenceModeOutput { - return o.ApplyT(func(v *LaunchProfileSessionPersistenceMode) LaunchProfileSessionPersistenceMode { - if v != nil { - return *v - } - var ret LaunchProfileSessionPersistenceMode - return ret - }).(LaunchProfileSessionPersistenceModeOutput) -} - -func (o LaunchProfileSessionPersistenceModePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { - return o.ToStringPtrOutputWithContext(context.Background()) -} - -func (o LaunchProfileSessionPersistenceModePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e *LaunchProfileSessionPersistenceMode) *string { - if e == nil { - return nil - } - v := string(*e) - return &v - }).(pulumi.StringPtrOutput) -} - -// LaunchProfileSessionPersistenceModeInput is an input type that accepts values of the LaunchProfileSessionPersistenceMode enum -// A concrete instance of `LaunchProfileSessionPersistenceModeInput` can be one of the following: -// -// LaunchProfileSessionPersistenceModeDeactivated -// LaunchProfileSessionPersistenceModeActivated -type LaunchProfileSessionPersistenceModeInput interface { - pulumi.Input - - ToLaunchProfileSessionPersistenceModeOutput() LaunchProfileSessionPersistenceModeOutput - ToLaunchProfileSessionPersistenceModeOutputWithContext(context.Context) LaunchProfileSessionPersistenceModeOutput -} - -var launchProfileSessionPersistenceModePtrType = reflect.TypeOf((**LaunchProfileSessionPersistenceMode)(nil)).Elem() - -type LaunchProfileSessionPersistenceModePtrInput interface { - pulumi.Input - - ToLaunchProfileSessionPersistenceModePtrOutput() LaunchProfileSessionPersistenceModePtrOutput - ToLaunchProfileSessionPersistenceModePtrOutputWithContext(context.Context) LaunchProfileSessionPersistenceModePtrOutput -} - -type launchProfileSessionPersistenceModePtr string - -func LaunchProfileSessionPersistenceModePtr(v string) LaunchProfileSessionPersistenceModePtrInput { - return (*launchProfileSessionPersistenceModePtr)(&v) -} - -func (*launchProfileSessionPersistenceModePtr) ElementType() reflect.Type { - return launchProfileSessionPersistenceModePtrType -} - -func (in *launchProfileSessionPersistenceModePtr) ToLaunchProfileSessionPersistenceModePtrOutput() LaunchProfileSessionPersistenceModePtrOutput { - return pulumi.ToOutput(in).(LaunchProfileSessionPersistenceModePtrOutput) -} - -func (in *launchProfileSessionPersistenceModePtr) ToLaunchProfileSessionPersistenceModePtrOutputWithContext(ctx context.Context) LaunchProfileSessionPersistenceModePtrOutput { - return pulumi.ToOutputWithContext(ctx, in).(LaunchProfileSessionPersistenceModePtrOutput) -} - -type LaunchProfileStreamingClipboardMode string - -const ( - LaunchProfileStreamingClipboardModeEnabled = LaunchProfileStreamingClipboardMode("ENABLED") - LaunchProfileStreamingClipboardModeDisabled = LaunchProfileStreamingClipboardMode("DISABLED") -) - -func (LaunchProfileStreamingClipboardMode) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchProfileStreamingClipboardMode)(nil)).Elem() -} - -func (e LaunchProfileStreamingClipboardMode) ToLaunchProfileStreamingClipboardModeOutput() LaunchProfileStreamingClipboardModeOutput { - return pulumi.ToOutput(e).(LaunchProfileStreamingClipboardModeOutput) -} - -func (e LaunchProfileStreamingClipboardMode) ToLaunchProfileStreamingClipboardModeOutputWithContext(ctx context.Context) LaunchProfileStreamingClipboardModeOutput { - return pulumi.ToOutputWithContext(ctx, e).(LaunchProfileStreamingClipboardModeOutput) -} - -func (e LaunchProfileStreamingClipboardMode) ToLaunchProfileStreamingClipboardModePtrOutput() LaunchProfileStreamingClipboardModePtrOutput { - return e.ToLaunchProfileStreamingClipboardModePtrOutputWithContext(context.Background()) -} - -func (e LaunchProfileStreamingClipboardMode) ToLaunchProfileStreamingClipboardModePtrOutputWithContext(ctx context.Context) LaunchProfileStreamingClipboardModePtrOutput { - return LaunchProfileStreamingClipboardMode(e).ToLaunchProfileStreamingClipboardModeOutputWithContext(ctx).ToLaunchProfileStreamingClipboardModePtrOutputWithContext(ctx) -} - -func (e LaunchProfileStreamingClipboardMode) ToStringOutput() pulumi.StringOutput { - return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) -} - -func (e LaunchProfileStreamingClipboardMode) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { - return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) -} - -func (e LaunchProfileStreamingClipboardMode) ToStringPtrOutput() pulumi.StringPtrOutput { - return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) -} - -func (e LaunchProfileStreamingClipboardMode) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) -} - -type LaunchProfileStreamingClipboardModeOutput struct{ *pulumi.OutputState } - -func (LaunchProfileStreamingClipboardModeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchProfileStreamingClipboardMode)(nil)).Elem() -} - -func (o LaunchProfileStreamingClipboardModeOutput) ToLaunchProfileStreamingClipboardModeOutput() LaunchProfileStreamingClipboardModeOutput { - return o -} - -func (o LaunchProfileStreamingClipboardModeOutput) ToLaunchProfileStreamingClipboardModeOutputWithContext(ctx context.Context) LaunchProfileStreamingClipboardModeOutput { - return o -} - -func (o LaunchProfileStreamingClipboardModeOutput) ToLaunchProfileStreamingClipboardModePtrOutput() LaunchProfileStreamingClipboardModePtrOutput { - return o.ToLaunchProfileStreamingClipboardModePtrOutputWithContext(context.Background()) -} - -func (o LaunchProfileStreamingClipboardModeOutput) ToLaunchProfileStreamingClipboardModePtrOutputWithContext(ctx context.Context) LaunchProfileStreamingClipboardModePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchProfileStreamingClipboardMode) *LaunchProfileStreamingClipboardMode { - return &v - }).(LaunchProfileStreamingClipboardModePtrOutput) -} - -func (o LaunchProfileStreamingClipboardModeOutput) ToStringOutput() pulumi.StringOutput { - return o.ToStringOutputWithContext(context.Background()) -} - -func (o LaunchProfileStreamingClipboardModeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e LaunchProfileStreamingClipboardMode) string { - return string(e) - }).(pulumi.StringOutput) -} - -func (o LaunchProfileStreamingClipboardModeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { - return o.ToStringPtrOutputWithContext(context.Background()) -} - -func (o LaunchProfileStreamingClipboardModeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e LaunchProfileStreamingClipboardMode) *string { - v := string(e) - return &v - }).(pulumi.StringPtrOutput) -} - -type LaunchProfileStreamingClipboardModePtrOutput struct{ *pulumi.OutputState } - -func (LaunchProfileStreamingClipboardModePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchProfileStreamingClipboardMode)(nil)).Elem() -} - -func (o LaunchProfileStreamingClipboardModePtrOutput) ToLaunchProfileStreamingClipboardModePtrOutput() LaunchProfileStreamingClipboardModePtrOutput { - return o -} - -func (o LaunchProfileStreamingClipboardModePtrOutput) ToLaunchProfileStreamingClipboardModePtrOutputWithContext(ctx context.Context) LaunchProfileStreamingClipboardModePtrOutput { - return o -} - -func (o LaunchProfileStreamingClipboardModePtrOutput) Elem() LaunchProfileStreamingClipboardModeOutput { - return o.ApplyT(func(v *LaunchProfileStreamingClipboardMode) LaunchProfileStreamingClipboardMode { - if v != nil { - return *v - } - var ret LaunchProfileStreamingClipboardMode - return ret - }).(LaunchProfileStreamingClipboardModeOutput) -} - -func (o LaunchProfileStreamingClipboardModePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { - return o.ToStringPtrOutputWithContext(context.Background()) -} - -func (o LaunchProfileStreamingClipboardModePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e *LaunchProfileStreamingClipboardMode) *string { - if e == nil { - return nil - } - v := string(*e) - return &v - }).(pulumi.StringPtrOutput) -} - -// LaunchProfileStreamingClipboardModeInput is an input type that accepts values of the LaunchProfileStreamingClipboardMode enum -// A concrete instance of `LaunchProfileStreamingClipboardModeInput` can be one of the following: -// -// LaunchProfileStreamingClipboardModeEnabled -// LaunchProfileStreamingClipboardModeDisabled -type LaunchProfileStreamingClipboardModeInput interface { - pulumi.Input - - ToLaunchProfileStreamingClipboardModeOutput() LaunchProfileStreamingClipboardModeOutput - ToLaunchProfileStreamingClipboardModeOutputWithContext(context.Context) LaunchProfileStreamingClipboardModeOutput -} - -var launchProfileStreamingClipboardModePtrType = reflect.TypeOf((**LaunchProfileStreamingClipboardMode)(nil)).Elem() - -type LaunchProfileStreamingClipboardModePtrInput interface { - pulumi.Input - - ToLaunchProfileStreamingClipboardModePtrOutput() LaunchProfileStreamingClipboardModePtrOutput - ToLaunchProfileStreamingClipboardModePtrOutputWithContext(context.Context) LaunchProfileStreamingClipboardModePtrOutput -} - -type launchProfileStreamingClipboardModePtr string - -func LaunchProfileStreamingClipboardModePtr(v string) LaunchProfileStreamingClipboardModePtrInput { - return (*launchProfileStreamingClipboardModePtr)(&v) -} - -func (*launchProfileStreamingClipboardModePtr) ElementType() reflect.Type { - return launchProfileStreamingClipboardModePtrType -} - -func (in *launchProfileStreamingClipboardModePtr) ToLaunchProfileStreamingClipboardModePtrOutput() LaunchProfileStreamingClipboardModePtrOutput { - return pulumi.ToOutput(in).(LaunchProfileStreamingClipboardModePtrOutput) -} - -func (in *launchProfileStreamingClipboardModePtr) ToLaunchProfileStreamingClipboardModePtrOutputWithContext(ctx context.Context) LaunchProfileStreamingClipboardModePtrOutput { - return pulumi.ToOutputWithContext(ctx, in).(LaunchProfileStreamingClipboardModePtrOutput) -} - -type LaunchProfileStreamingInstanceType string - -const ( - LaunchProfileStreamingInstanceTypeG4dnXlarge = LaunchProfileStreamingInstanceType("g4dn.xlarge") - LaunchProfileStreamingInstanceTypeG4dn2xlarge = LaunchProfileStreamingInstanceType("g4dn.2xlarge") - LaunchProfileStreamingInstanceTypeG4dn4xlarge = LaunchProfileStreamingInstanceType("g4dn.4xlarge") - LaunchProfileStreamingInstanceTypeG4dn8xlarge = LaunchProfileStreamingInstanceType("g4dn.8xlarge") - LaunchProfileStreamingInstanceTypeG4dn12xlarge = LaunchProfileStreamingInstanceType("g4dn.12xlarge") - LaunchProfileStreamingInstanceTypeG4dn16xlarge = LaunchProfileStreamingInstanceType("g4dn.16xlarge") - LaunchProfileStreamingInstanceTypeG34xlarge = LaunchProfileStreamingInstanceType("g3.4xlarge") - LaunchProfileStreamingInstanceTypeG3sXlarge = LaunchProfileStreamingInstanceType("g3s.xlarge") - LaunchProfileStreamingInstanceTypeG5Xlarge = LaunchProfileStreamingInstanceType("g5.xlarge") - LaunchProfileStreamingInstanceTypeG52xlarge = LaunchProfileStreamingInstanceType("g5.2xlarge") - LaunchProfileStreamingInstanceTypeG54xlarge = LaunchProfileStreamingInstanceType("g5.4xlarge") - LaunchProfileStreamingInstanceTypeG58xlarge = LaunchProfileStreamingInstanceType("g5.8xlarge") - LaunchProfileStreamingInstanceTypeG516xlarge = LaunchProfileStreamingInstanceType("g5.16xlarge") -) - -func (LaunchProfileStreamingInstanceType) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchProfileStreamingInstanceType)(nil)).Elem() -} - -func (e LaunchProfileStreamingInstanceType) ToLaunchProfileStreamingInstanceTypeOutput() LaunchProfileStreamingInstanceTypeOutput { - return pulumi.ToOutput(e).(LaunchProfileStreamingInstanceTypeOutput) -} - -func (e LaunchProfileStreamingInstanceType) ToLaunchProfileStreamingInstanceTypeOutputWithContext(ctx context.Context) LaunchProfileStreamingInstanceTypeOutput { - return pulumi.ToOutputWithContext(ctx, e).(LaunchProfileStreamingInstanceTypeOutput) -} - -func (e LaunchProfileStreamingInstanceType) ToLaunchProfileStreamingInstanceTypePtrOutput() LaunchProfileStreamingInstanceTypePtrOutput { - return e.ToLaunchProfileStreamingInstanceTypePtrOutputWithContext(context.Background()) -} - -func (e LaunchProfileStreamingInstanceType) ToLaunchProfileStreamingInstanceTypePtrOutputWithContext(ctx context.Context) LaunchProfileStreamingInstanceTypePtrOutput { - return LaunchProfileStreamingInstanceType(e).ToLaunchProfileStreamingInstanceTypeOutputWithContext(ctx).ToLaunchProfileStreamingInstanceTypePtrOutputWithContext(ctx) -} - -func (e LaunchProfileStreamingInstanceType) ToStringOutput() pulumi.StringOutput { - return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) -} - -func (e LaunchProfileStreamingInstanceType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { - return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) -} - -func (e LaunchProfileStreamingInstanceType) ToStringPtrOutput() pulumi.StringPtrOutput { - return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) -} - -func (e LaunchProfileStreamingInstanceType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) -} - -type LaunchProfileStreamingInstanceTypeOutput struct{ *pulumi.OutputState } - -func (LaunchProfileStreamingInstanceTypeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchProfileStreamingInstanceType)(nil)).Elem() -} - -func (o LaunchProfileStreamingInstanceTypeOutput) ToLaunchProfileStreamingInstanceTypeOutput() LaunchProfileStreamingInstanceTypeOutput { - return o -} - -func (o LaunchProfileStreamingInstanceTypeOutput) ToLaunchProfileStreamingInstanceTypeOutputWithContext(ctx context.Context) LaunchProfileStreamingInstanceTypeOutput { - return o -} - -func (o LaunchProfileStreamingInstanceTypeOutput) ToLaunchProfileStreamingInstanceTypePtrOutput() LaunchProfileStreamingInstanceTypePtrOutput { - return o.ToLaunchProfileStreamingInstanceTypePtrOutputWithContext(context.Background()) -} - -func (o LaunchProfileStreamingInstanceTypeOutput) ToLaunchProfileStreamingInstanceTypePtrOutputWithContext(ctx context.Context) LaunchProfileStreamingInstanceTypePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchProfileStreamingInstanceType) *LaunchProfileStreamingInstanceType { - return &v - }).(LaunchProfileStreamingInstanceTypePtrOutput) -} - -func (o LaunchProfileStreamingInstanceTypeOutput) ToStringOutput() pulumi.StringOutput { - return o.ToStringOutputWithContext(context.Background()) -} - -func (o LaunchProfileStreamingInstanceTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e LaunchProfileStreamingInstanceType) string { - return string(e) - }).(pulumi.StringOutput) -} - -func (o LaunchProfileStreamingInstanceTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { - return o.ToStringPtrOutputWithContext(context.Background()) -} - -func (o LaunchProfileStreamingInstanceTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e LaunchProfileStreamingInstanceType) *string { - v := string(e) - return &v - }).(pulumi.StringPtrOutput) -} - -type LaunchProfileStreamingInstanceTypePtrOutput struct{ *pulumi.OutputState } - -func (LaunchProfileStreamingInstanceTypePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchProfileStreamingInstanceType)(nil)).Elem() -} - -func (o LaunchProfileStreamingInstanceTypePtrOutput) ToLaunchProfileStreamingInstanceTypePtrOutput() LaunchProfileStreamingInstanceTypePtrOutput { - return o -} - -func (o LaunchProfileStreamingInstanceTypePtrOutput) ToLaunchProfileStreamingInstanceTypePtrOutputWithContext(ctx context.Context) LaunchProfileStreamingInstanceTypePtrOutput { - return o -} - -func (o LaunchProfileStreamingInstanceTypePtrOutput) Elem() LaunchProfileStreamingInstanceTypeOutput { - return o.ApplyT(func(v *LaunchProfileStreamingInstanceType) LaunchProfileStreamingInstanceType { - if v != nil { - return *v - } - var ret LaunchProfileStreamingInstanceType - return ret - }).(LaunchProfileStreamingInstanceTypeOutput) -} - -func (o LaunchProfileStreamingInstanceTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { - return o.ToStringPtrOutputWithContext(context.Background()) -} - -func (o LaunchProfileStreamingInstanceTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e *LaunchProfileStreamingInstanceType) *string { - if e == nil { - return nil - } - v := string(*e) - return &v - }).(pulumi.StringPtrOutput) -} - -// LaunchProfileStreamingInstanceTypeInput is an input type that accepts values of the LaunchProfileStreamingInstanceType enum -// A concrete instance of `LaunchProfileStreamingInstanceTypeInput` can be one of the following: -// -// LaunchProfileStreamingInstanceTypeG4dnXlarge -// LaunchProfileStreamingInstanceTypeG4dn2xlarge -// LaunchProfileStreamingInstanceTypeG4dn4xlarge -// LaunchProfileStreamingInstanceTypeG4dn8xlarge -// LaunchProfileStreamingInstanceTypeG4dn12xlarge -// LaunchProfileStreamingInstanceTypeG4dn16xlarge -// LaunchProfileStreamingInstanceTypeG34xlarge -// LaunchProfileStreamingInstanceTypeG3sXlarge -// LaunchProfileStreamingInstanceTypeG5Xlarge -// LaunchProfileStreamingInstanceTypeG52xlarge -// LaunchProfileStreamingInstanceTypeG54xlarge -// LaunchProfileStreamingInstanceTypeG58xlarge -// LaunchProfileStreamingInstanceTypeG516xlarge -type LaunchProfileStreamingInstanceTypeInput interface { - pulumi.Input - - ToLaunchProfileStreamingInstanceTypeOutput() LaunchProfileStreamingInstanceTypeOutput - ToLaunchProfileStreamingInstanceTypeOutputWithContext(context.Context) LaunchProfileStreamingInstanceTypeOutput -} - -var launchProfileStreamingInstanceTypePtrType = reflect.TypeOf((**LaunchProfileStreamingInstanceType)(nil)).Elem() - -type LaunchProfileStreamingInstanceTypePtrInput interface { - pulumi.Input - - ToLaunchProfileStreamingInstanceTypePtrOutput() LaunchProfileStreamingInstanceTypePtrOutput - ToLaunchProfileStreamingInstanceTypePtrOutputWithContext(context.Context) LaunchProfileStreamingInstanceTypePtrOutput -} - -type launchProfileStreamingInstanceTypePtr string - -func LaunchProfileStreamingInstanceTypePtr(v string) LaunchProfileStreamingInstanceTypePtrInput { - return (*launchProfileStreamingInstanceTypePtr)(&v) -} - -func (*launchProfileStreamingInstanceTypePtr) ElementType() reflect.Type { - return launchProfileStreamingInstanceTypePtrType -} - -func (in *launchProfileStreamingInstanceTypePtr) ToLaunchProfileStreamingInstanceTypePtrOutput() LaunchProfileStreamingInstanceTypePtrOutput { - return pulumi.ToOutput(in).(LaunchProfileStreamingInstanceTypePtrOutput) -} - -func (in *launchProfileStreamingInstanceTypePtr) ToLaunchProfileStreamingInstanceTypePtrOutputWithContext(ctx context.Context) LaunchProfileStreamingInstanceTypePtrOutput { - return pulumi.ToOutputWithContext(ctx, in).(LaunchProfileStreamingInstanceTypePtrOutput) -} - -// LaunchProfileStreamingInstanceTypeArrayInput is an input type that accepts LaunchProfileStreamingInstanceTypeArray and LaunchProfileStreamingInstanceTypeArrayOutput values. -// You can construct a concrete instance of `LaunchProfileStreamingInstanceTypeArrayInput` via: -// -// LaunchProfileStreamingInstanceTypeArray{ LaunchProfileStreamingInstanceTypeArgs{...} } -type LaunchProfileStreamingInstanceTypeArrayInput interface { - pulumi.Input - - ToLaunchProfileStreamingInstanceTypeArrayOutput() LaunchProfileStreamingInstanceTypeArrayOutput - ToLaunchProfileStreamingInstanceTypeArrayOutputWithContext(context.Context) LaunchProfileStreamingInstanceTypeArrayOutput -} - -type LaunchProfileStreamingInstanceTypeArray []LaunchProfileStreamingInstanceType - -func (LaunchProfileStreamingInstanceTypeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]LaunchProfileStreamingInstanceType)(nil)).Elem() -} - -func (i LaunchProfileStreamingInstanceTypeArray) ToLaunchProfileStreamingInstanceTypeArrayOutput() LaunchProfileStreamingInstanceTypeArrayOutput { - return i.ToLaunchProfileStreamingInstanceTypeArrayOutputWithContext(context.Background()) -} - -func (i LaunchProfileStreamingInstanceTypeArray) ToLaunchProfileStreamingInstanceTypeArrayOutputWithContext(ctx context.Context) LaunchProfileStreamingInstanceTypeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchProfileStreamingInstanceTypeArrayOutput) -} - -type LaunchProfileStreamingInstanceTypeArrayOutput struct{ *pulumi.OutputState } - -func (LaunchProfileStreamingInstanceTypeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]LaunchProfileStreamingInstanceType)(nil)).Elem() -} - -func (o LaunchProfileStreamingInstanceTypeArrayOutput) ToLaunchProfileStreamingInstanceTypeArrayOutput() LaunchProfileStreamingInstanceTypeArrayOutput { - return o -} - -func (o LaunchProfileStreamingInstanceTypeArrayOutput) ToLaunchProfileStreamingInstanceTypeArrayOutputWithContext(ctx context.Context) LaunchProfileStreamingInstanceTypeArrayOutput { - return o -} - -func (o LaunchProfileStreamingInstanceTypeArrayOutput) Index(i pulumi.IntInput) LaunchProfileStreamingInstanceTypeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) LaunchProfileStreamingInstanceType { - return vs[0].([]LaunchProfileStreamingInstanceType)[vs[1].(int)] - }).(LaunchProfileStreamingInstanceTypeOutput) -} - -type LaunchProfileStreamingSessionStorageMode string - -const ( - LaunchProfileStreamingSessionStorageModeUpload = LaunchProfileStreamingSessionStorageMode("UPLOAD") -) - -func (LaunchProfileStreamingSessionStorageMode) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchProfileStreamingSessionStorageMode)(nil)).Elem() -} - -func (e LaunchProfileStreamingSessionStorageMode) ToLaunchProfileStreamingSessionStorageModeOutput() LaunchProfileStreamingSessionStorageModeOutput { - return pulumi.ToOutput(e).(LaunchProfileStreamingSessionStorageModeOutput) -} - -func (e LaunchProfileStreamingSessionStorageMode) ToLaunchProfileStreamingSessionStorageModeOutputWithContext(ctx context.Context) LaunchProfileStreamingSessionStorageModeOutput { - return pulumi.ToOutputWithContext(ctx, e).(LaunchProfileStreamingSessionStorageModeOutput) -} - -func (e LaunchProfileStreamingSessionStorageMode) ToLaunchProfileStreamingSessionStorageModePtrOutput() LaunchProfileStreamingSessionStorageModePtrOutput { - return e.ToLaunchProfileStreamingSessionStorageModePtrOutputWithContext(context.Background()) -} - -func (e LaunchProfileStreamingSessionStorageMode) ToLaunchProfileStreamingSessionStorageModePtrOutputWithContext(ctx context.Context) LaunchProfileStreamingSessionStorageModePtrOutput { - return LaunchProfileStreamingSessionStorageMode(e).ToLaunchProfileStreamingSessionStorageModeOutputWithContext(ctx).ToLaunchProfileStreamingSessionStorageModePtrOutputWithContext(ctx) -} - -func (e LaunchProfileStreamingSessionStorageMode) ToStringOutput() pulumi.StringOutput { - return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) -} - -func (e LaunchProfileStreamingSessionStorageMode) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { - return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) -} - -func (e LaunchProfileStreamingSessionStorageMode) ToStringPtrOutput() pulumi.StringPtrOutput { - return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) -} - -func (e LaunchProfileStreamingSessionStorageMode) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) -} - -type LaunchProfileStreamingSessionStorageModeOutput struct{ *pulumi.OutputState } - -func (LaunchProfileStreamingSessionStorageModeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchProfileStreamingSessionStorageMode)(nil)).Elem() -} - -func (o LaunchProfileStreamingSessionStorageModeOutput) ToLaunchProfileStreamingSessionStorageModeOutput() LaunchProfileStreamingSessionStorageModeOutput { - return o -} - -func (o LaunchProfileStreamingSessionStorageModeOutput) ToLaunchProfileStreamingSessionStorageModeOutputWithContext(ctx context.Context) LaunchProfileStreamingSessionStorageModeOutput { - return o -} - -func (o LaunchProfileStreamingSessionStorageModeOutput) ToLaunchProfileStreamingSessionStorageModePtrOutput() LaunchProfileStreamingSessionStorageModePtrOutput { - return o.ToLaunchProfileStreamingSessionStorageModePtrOutputWithContext(context.Background()) -} - -func (o LaunchProfileStreamingSessionStorageModeOutput) ToLaunchProfileStreamingSessionStorageModePtrOutputWithContext(ctx context.Context) LaunchProfileStreamingSessionStorageModePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchProfileStreamingSessionStorageMode) *LaunchProfileStreamingSessionStorageMode { - return &v - }).(LaunchProfileStreamingSessionStorageModePtrOutput) -} - -func (o LaunchProfileStreamingSessionStorageModeOutput) ToStringOutput() pulumi.StringOutput { - return o.ToStringOutputWithContext(context.Background()) -} - -func (o LaunchProfileStreamingSessionStorageModeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e LaunchProfileStreamingSessionStorageMode) string { - return string(e) - }).(pulumi.StringOutput) -} - -func (o LaunchProfileStreamingSessionStorageModeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { - return o.ToStringPtrOutputWithContext(context.Background()) -} - -func (o LaunchProfileStreamingSessionStorageModeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e LaunchProfileStreamingSessionStorageMode) *string { - v := string(e) - return &v - }).(pulumi.StringPtrOutput) -} - -type LaunchProfileStreamingSessionStorageModePtrOutput struct{ *pulumi.OutputState } - -func (LaunchProfileStreamingSessionStorageModePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchProfileStreamingSessionStorageMode)(nil)).Elem() -} - -func (o LaunchProfileStreamingSessionStorageModePtrOutput) ToLaunchProfileStreamingSessionStorageModePtrOutput() LaunchProfileStreamingSessionStorageModePtrOutput { - return o -} - -func (o LaunchProfileStreamingSessionStorageModePtrOutput) ToLaunchProfileStreamingSessionStorageModePtrOutputWithContext(ctx context.Context) LaunchProfileStreamingSessionStorageModePtrOutput { - return o -} - -func (o LaunchProfileStreamingSessionStorageModePtrOutput) Elem() LaunchProfileStreamingSessionStorageModeOutput { - return o.ApplyT(func(v *LaunchProfileStreamingSessionStorageMode) LaunchProfileStreamingSessionStorageMode { - if v != nil { - return *v - } - var ret LaunchProfileStreamingSessionStorageMode - return ret - }).(LaunchProfileStreamingSessionStorageModeOutput) -} - -func (o LaunchProfileStreamingSessionStorageModePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { - return o.ToStringPtrOutputWithContext(context.Background()) -} - -func (o LaunchProfileStreamingSessionStorageModePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e *LaunchProfileStreamingSessionStorageMode) *string { - if e == nil { - return nil - } - v := string(*e) - return &v - }).(pulumi.StringPtrOutput) -} - -// LaunchProfileStreamingSessionStorageModeInput is an input type that accepts values of the LaunchProfileStreamingSessionStorageMode enum -// A concrete instance of `LaunchProfileStreamingSessionStorageModeInput` can be one of the following: -// -// LaunchProfileStreamingSessionStorageModeUpload -type LaunchProfileStreamingSessionStorageModeInput interface { - pulumi.Input - - ToLaunchProfileStreamingSessionStorageModeOutput() LaunchProfileStreamingSessionStorageModeOutput - ToLaunchProfileStreamingSessionStorageModeOutputWithContext(context.Context) LaunchProfileStreamingSessionStorageModeOutput -} - -var launchProfileStreamingSessionStorageModePtrType = reflect.TypeOf((**LaunchProfileStreamingSessionStorageMode)(nil)).Elem() - -type LaunchProfileStreamingSessionStorageModePtrInput interface { - pulumi.Input - - ToLaunchProfileStreamingSessionStorageModePtrOutput() LaunchProfileStreamingSessionStorageModePtrOutput - ToLaunchProfileStreamingSessionStorageModePtrOutputWithContext(context.Context) LaunchProfileStreamingSessionStorageModePtrOutput -} - -type launchProfileStreamingSessionStorageModePtr string - -func LaunchProfileStreamingSessionStorageModePtr(v string) LaunchProfileStreamingSessionStorageModePtrInput { - return (*launchProfileStreamingSessionStorageModePtr)(&v) -} - -func (*launchProfileStreamingSessionStorageModePtr) ElementType() reflect.Type { - return launchProfileStreamingSessionStorageModePtrType -} - -func (in *launchProfileStreamingSessionStorageModePtr) ToLaunchProfileStreamingSessionStorageModePtrOutput() LaunchProfileStreamingSessionStorageModePtrOutput { - return pulumi.ToOutput(in).(LaunchProfileStreamingSessionStorageModePtrOutput) -} - -func (in *launchProfileStreamingSessionStorageModePtr) ToLaunchProfileStreamingSessionStorageModePtrOutputWithContext(ctx context.Context) LaunchProfileStreamingSessionStorageModePtrOutput { - return pulumi.ToOutputWithContext(ctx, in).(LaunchProfileStreamingSessionStorageModePtrOutput) -} - -// LaunchProfileStreamingSessionStorageModeArrayInput is an input type that accepts LaunchProfileStreamingSessionStorageModeArray and LaunchProfileStreamingSessionStorageModeArrayOutput values. -// You can construct a concrete instance of `LaunchProfileStreamingSessionStorageModeArrayInput` via: -// -// LaunchProfileStreamingSessionStorageModeArray{ LaunchProfileStreamingSessionStorageModeArgs{...} } -type LaunchProfileStreamingSessionStorageModeArrayInput interface { - pulumi.Input - - ToLaunchProfileStreamingSessionStorageModeArrayOutput() LaunchProfileStreamingSessionStorageModeArrayOutput - ToLaunchProfileStreamingSessionStorageModeArrayOutputWithContext(context.Context) LaunchProfileStreamingSessionStorageModeArrayOutput -} - -type LaunchProfileStreamingSessionStorageModeArray []LaunchProfileStreamingSessionStorageMode - -func (LaunchProfileStreamingSessionStorageModeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]LaunchProfileStreamingSessionStorageMode)(nil)).Elem() -} - -func (i LaunchProfileStreamingSessionStorageModeArray) ToLaunchProfileStreamingSessionStorageModeArrayOutput() LaunchProfileStreamingSessionStorageModeArrayOutput { - return i.ToLaunchProfileStreamingSessionStorageModeArrayOutputWithContext(context.Background()) -} - -func (i LaunchProfileStreamingSessionStorageModeArray) ToLaunchProfileStreamingSessionStorageModeArrayOutputWithContext(ctx context.Context) LaunchProfileStreamingSessionStorageModeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchProfileStreamingSessionStorageModeArrayOutput) -} - -type LaunchProfileStreamingSessionStorageModeArrayOutput struct{ *pulumi.OutputState } - -func (LaunchProfileStreamingSessionStorageModeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]LaunchProfileStreamingSessionStorageMode)(nil)).Elem() -} - -func (o LaunchProfileStreamingSessionStorageModeArrayOutput) ToLaunchProfileStreamingSessionStorageModeArrayOutput() LaunchProfileStreamingSessionStorageModeArrayOutput { - return o -} - -func (o LaunchProfileStreamingSessionStorageModeArrayOutput) ToLaunchProfileStreamingSessionStorageModeArrayOutputWithContext(ctx context.Context) LaunchProfileStreamingSessionStorageModeArrayOutput { - return o -} - -func (o LaunchProfileStreamingSessionStorageModeArrayOutput) Index(i pulumi.IntInput) LaunchProfileStreamingSessionStorageModeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) LaunchProfileStreamingSessionStorageMode { - return vs[0].([]LaunchProfileStreamingSessionStorageMode)[vs[1].(int)] - }).(LaunchProfileStreamingSessionStorageModeOutput) -} - -//

-type StreamingImageEncryptionConfigurationKeyType string - -const ( - StreamingImageEncryptionConfigurationKeyTypeCustomerManagedKey = StreamingImageEncryptionConfigurationKeyType("CUSTOMER_MANAGED_KEY") -) - -type StreamingImageEncryptionConfigurationKeyTypeOutput struct{ *pulumi.OutputState } - -func (StreamingImageEncryptionConfigurationKeyTypeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*StreamingImageEncryptionConfigurationKeyType)(nil)).Elem() -} - -func (o StreamingImageEncryptionConfigurationKeyTypeOutput) ToStreamingImageEncryptionConfigurationKeyTypeOutput() StreamingImageEncryptionConfigurationKeyTypeOutput { - return o -} - -func (o StreamingImageEncryptionConfigurationKeyTypeOutput) ToStreamingImageEncryptionConfigurationKeyTypeOutputWithContext(ctx context.Context) StreamingImageEncryptionConfigurationKeyTypeOutput { - return o -} - -func (o StreamingImageEncryptionConfigurationKeyTypeOutput) ToStreamingImageEncryptionConfigurationKeyTypePtrOutput() StreamingImageEncryptionConfigurationKeyTypePtrOutput { - return o.ToStreamingImageEncryptionConfigurationKeyTypePtrOutputWithContext(context.Background()) -} - -func (o StreamingImageEncryptionConfigurationKeyTypeOutput) ToStreamingImageEncryptionConfigurationKeyTypePtrOutputWithContext(ctx context.Context) StreamingImageEncryptionConfigurationKeyTypePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v StreamingImageEncryptionConfigurationKeyType) *StreamingImageEncryptionConfigurationKeyType { - return &v - }).(StreamingImageEncryptionConfigurationKeyTypePtrOutput) -} - -func (o StreamingImageEncryptionConfigurationKeyTypeOutput) ToStringOutput() pulumi.StringOutput { - return o.ToStringOutputWithContext(context.Background()) -} - -func (o StreamingImageEncryptionConfigurationKeyTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e StreamingImageEncryptionConfigurationKeyType) string { - return string(e) - }).(pulumi.StringOutput) -} - -func (o StreamingImageEncryptionConfigurationKeyTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { - return o.ToStringPtrOutputWithContext(context.Background()) -} - -func (o StreamingImageEncryptionConfigurationKeyTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e StreamingImageEncryptionConfigurationKeyType) *string { - v := string(e) - return &v - }).(pulumi.StringPtrOutput) -} - -type StreamingImageEncryptionConfigurationKeyTypePtrOutput struct{ *pulumi.OutputState } - -func (StreamingImageEncryptionConfigurationKeyTypePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**StreamingImageEncryptionConfigurationKeyType)(nil)).Elem() -} - -func (o StreamingImageEncryptionConfigurationKeyTypePtrOutput) ToStreamingImageEncryptionConfigurationKeyTypePtrOutput() StreamingImageEncryptionConfigurationKeyTypePtrOutput { - return o -} - -func (o StreamingImageEncryptionConfigurationKeyTypePtrOutput) ToStreamingImageEncryptionConfigurationKeyTypePtrOutputWithContext(ctx context.Context) StreamingImageEncryptionConfigurationKeyTypePtrOutput { - return o -} - -func (o StreamingImageEncryptionConfigurationKeyTypePtrOutput) Elem() StreamingImageEncryptionConfigurationKeyTypeOutput { - return o.ApplyT(func(v *StreamingImageEncryptionConfigurationKeyType) StreamingImageEncryptionConfigurationKeyType { - if v != nil { - return *v - } - var ret StreamingImageEncryptionConfigurationKeyType - return ret - }).(StreamingImageEncryptionConfigurationKeyTypeOutput) -} - -func (o StreamingImageEncryptionConfigurationKeyTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { - return o.ToStringPtrOutputWithContext(context.Background()) -} - -func (o StreamingImageEncryptionConfigurationKeyTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e *StreamingImageEncryptionConfigurationKeyType) *string { - if e == nil { - return nil - } - v := string(*e) - return &v - }).(pulumi.StringPtrOutput) -} - -type StudioComponentInitializationScriptRunContext string - -const ( - StudioComponentInitializationScriptRunContextSystemInitialization = StudioComponentInitializationScriptRunContext("SYSTEM_INITIALIZATION") - StudioComponentInitializationScriptRunContextUserInitialization = StudioComponentInitializationScriptRunContext("USER_INITIALIZATION") -) - -func (StudioComponentInitializationScriptRunContext) ElementType() reflect.Type { - return reflect.TypeOf((*StudioComponentInitializationScriptRunContext)(nil)).Elem() -} - -func (e StudioComponentInitializationScriptRunContext) ToStudioComponentInitializationScriptRunContextOutput() StudioComponentInitializationScriptRunContextOutput { - return pulumi.ToOutput(e).(StudioComponentInitializationScriptRunContextOutput) -} - -func (e StudioComponentInitializationScriptRunContext) ToStudioComponentInitializationScriptRunContextOutputWithContext(ctx context.Context) StudioComponentInitializationScriptRunContextOutput { - return pulumi.ToOutputWithContext(ctx, e).(StudioComponentInitializationScriptRunContextOutput) -} - -func (e StudioComponentInitializationScriptRunContext) ToStudioComponentInitializationScriptRunContextPtrOutput() StudioComponentInitializationScriptRunContextPtrOutput { - return e.ToStudioComponentInitializationScriptRunContextPtrOutputWithContext(context.Background()) -} - -func (e StudioComponentInitializationScriptRunContext) ToStudioComponentInitializationScriptRunContextPtrOutputWithContext(ctx context.Context) StudioComponentInitializationScriptRunContextPtrOutput { - return StudioComponentInitializationScriptRunContext(e).ToStudioComponentInitializationScriptRunContextOutputWithContext(ctx).ToStudioComponentInitializationScriptRunContextPtrOutputWithContext(ctx) -} - -func (e StudioComponentInitializationScriptRunContext) ToStringOutput() pulumi.StringOutput { - return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) -} - -func (e StudioComponentInitializationScriptRunContext) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { - return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) -} - -func (e StudioComponentInitializationScriptRunContext) ToStringPtrOutput() pulumi.StringPtrOutput { - return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) -} - -func (e StudioComponentInitializationScriptRunContext) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) -} - -type StudioComponentInitializationScriptRunContextOutput struct{ *pulumi.OutputState } - -func (StudioComponentInitializationScriptRunContextOutput) ElementType() reflect.Type { - return reflect.TypeOf((*StudioComponentInitializationScriptRunContext)(nil)).Elem() -} - -func (o StudioComponentInitializationScriptRunContextOutput) ToStudioComponentInitializationScriptRunContextOutput() StudioComponentInitializationScriptRunContextOutput { - return o -} - -func (o StudioComponentInitializationScriptRunContextOutput) ToStudioComponentInitializationScriptRunContextOutputWithContext(ctx context.Context) StudioComponentInitializationScriptRunContextOutput { - return o -} - -func (o StudioComponentInitializationScriptRunContextOutput) ToStudioComponentInitializationScriptRunContextPtrOutput() StudioComponentInitializationScriptRunContextPtrOutput { - return o.ToStudioComponentInitializationScriptRunContextPtrOutputWithContext(context.Background()) -} - -func (o StudioComponentInitializationScriptRunContextOutput) ToStudioComponentInitializationScriptRunContextPtrOutputWithContext(ctx context.Context) StudioComponentInitializationScriptRunContextPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v StudioComponentInitializationScriptRunContext) *StudioComponentInitializationScriptRunContext { - return &v - }).(StudioComponentInitializationScriptRunContextPtrOutput) -} - -func (o StudioComponentInitializationScriptRunContextOutput) ToStringOutput() pulumi.StringOutput { - return o.ToStringOutputWithContext(context.Background()) -} - -func (o StudioComponentInitializationScriptRunContextOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e StudioComponentInitializationScriptRunContext) string { - return string(e) - }).(pulumi.StringOutput) -} - -func (o StudioComponentInitializationScriptRunContextOutput) ToStringPtrOutput() pulumi.StringPtrOutput { - return o.ToStringPtrOutputWithContext(context.Background()) -} - -func (o StudioComponentInitializationScriptRunContextOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e StudioComponentInitializationScriptRunContext) *string { - v := string(e) - return &v - }).(pulumi.StringPtrOutput) -} - -type StudioComponentInitializationScriptRunContextPtrOutput struct{ *pulumi.OutputState } - -func (StudioComponentInitializationScriptRunContextPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**StudioComponentInitializationScriptRunContext)(nil)).Elem() -} - -func (o StudioComponentInitializationScriptRunContextPtrOutput) ToStudioComponentInitializationScriptRunContextPtrOutput() StudioComponentInitializationScriptRunContextPtrOutput { - return o -} - -func (o StudioComponentInitializationScriptRunContextPtrOutput) ToStudioComponentInitializationScriptRunContextPtrOutputWithContext(ctx context.Context) StudioComponentInitializationScriptRunContextPtrOutput { - return o -} - -func (o StudioComponentInitializationScriptRunContextPtrOutput) Elem() StudioComponentInitializationScriptRunContextOutput { - return o.ApplyT(func(v *StudioComponentInitializationScriptRunContext) StudioComponentInitializationScriptRunContext { - if v != nil { - return *v - } - var ret StudioComponentInitializationScriptRunContext - return ret - }).(StudioComponentInitializationScriptRunContextOutput) -} - -func (o StudioComponentInitializationScriptRunContextPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { - return o.ToStringPtrOutputWithContext(context.Background()) -} - -func (o StudioComponentInitializationScriptRunContextPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e *StudioComponentInitializationScriptRunContext) *string { - if e == nil { - return nil - } - v := string(*e) - return &v - }).(pulumi.StringPtrOutput) -} - -// StudioComponentInitializationScriptRunContextInput is an input type that accepts values of the StudioComponentInitializationScriptRunContext enum -// A concrete instance of `StudioComponentInitializationScriptRunContextInput` can be one of the following: -// -// StudioComponentInitializationScriptRunContextSystemInitialization -// StudioComponentInitializationScriptRunContextUserInitialization -type StudioComponentInitializationScriptRunContextInput interface { - pulumi.Input - - ToStudioComponentInitializationScriptRunContextOutput() StudioComponentInitializationScriptRunContextOutput - ToStudioComponentInitializationScriptRunContextOutputWithContext(context.Context) StudioComponentInitializationScriptRunContextOutput -} - -var studioComponentInitializationScriptRunContextPtrType = reflect.TypeOf((**StudioComponentInitializationScriptRunContext)(nil)).Elem() - -type StudioComponentInitializationScriptRunContextPtrInput interface { - pulumi.Input - - ToStudioComponentInitializationScriptRunContextPtrOutput() StudioComponentInitializationScriptRunContextPtrOutput - ToStudioComponentInitializationScriptRunContextPtrOutputWithContext(context.Context) StudioComponentInitializationScriptRunContextPtrOutput -} - -type studioComponentInitializationScriptRunContextPtr string - -func StudioComponentInitializationScriptRunContextPtr(v string) StudioComponentInitializationScriptRunContextPtrInput { - return (*studioComponentInitializationScriptRunContextPtr)(&v) -} - -func (*studioComponentInitializationScriptRunContextPtr) ElementType() reflect.Type { - return studioComponentInitializationScriptRunContextPtrType -} - -func (in *studioComponentInitializationScriptRunContextPtr) ToStudioComponentInitializationScriptRunContextPtrOutput() StudioComponentInitializationScriptRunContextPtrOutput { - return pulumi.ToOutput(in).(StudioComponentInitializationScriptRunContextPtrOutput) -} - -func (in *studioComponentInitializationScriptRunContextPtr) ToStudioComponentInitializationScriptRunContextPtrOutputWithContext(ctx context.Context) StudioComponentInitializationScriptRunContextPtrOutput { - return pulumi.ToOutputWithContext(ctx, in).(StudioComponentInitializationScriptRunContextPtrOutput) -} - -type StudioComponentLaunchProfilePlatform string - -const ( - StudioComponentLaunchProfilePlatformLinux = StudioComponentLaunchProfilePlatform("LINUX") - StudioComponentLaunchProfilePlatformWindows = StudioComponentLaunchProfilePlatform("WINDOWS") -) - -func (StudioComponentLaunchProfilePlatform) ElementType() reflect.Type { - return reflect.TypeOf((*StudioComponentLaunchProfilePlatform)(nil)).Elem() -} - -func (e StudioComponentLaunchProfilePlatform) ToStudioComponentLaunchProfilePlatformOutput() StudioComponentLaunchProfilePlatformOutput { - return pulumi.ToOutput(e).(StudioComponentLaunchProfilePlatformOutput) -} - -func (e StudioComponentLaunchProfilePlatform) ToStudioComponentLaunchProfilePlatformOutputWithContext(ctx context.Context) StudioComponentLaunchProfilePlatformOutput { - return pulumi.ToOutputWithContext(ctx, e).(StudioComponentLaunchProfilePlatformOutput) -} - -func (e StudioComponentLaunchProfilePlatform) ToStudioComponentLaunchProfilePlatformPtrOutput() StudioComponentLaunchProfilePlatformPtrOutput { - return e.ToStudioComponentLaunchProfilePlatformPtrOutputWithContext(context.Background()) -} - -func (e StudioComponentLaunchProfilePlatform) ToStudioComponentLaunchProfilePlatformPtrOutputWithContext(ctx context.Context) StudioComponentLaunchProfilePlatformPtrOutput { - return StudioComponentLaunchProfilePlatform(e).ToStudioComponentLaunchProfilePlatformOutputWithContext(ctx).ToStudioComponentLaunchProfilePlatformPtrOutputWithContext(ctx) -} - -func (e StudioComponentLaunchProfilePlatform) ToStringOutput() pulumi.StringOutput { - return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) -} - -func (e StudioComponentLaunchProfilePlatform) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { - return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) -} - -func (e StudioComponentLaunchProfilePlatform) ToStringPtrOutput() pulumi.StringPtrOutput { - return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) -} - -func (e StudioComponentLaunchProfilePlatform) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) -} - -type StudioComponentLaunchProfilePlatformOutput struct{ *pulumi.OutputState } - -func (StudioComponentLaunchProfilePlatformOutput) ElementType() reflect.Type { - return reflect.TypeOf((*StudioComponentLaunchProfilePlatform)(nil)).Elem() -} - -func (o StudioComponentLaunchProfilePlatformOutput) ToStudioComponentLaunchProfilePlatformOutput() StudioComponentLaunchProfilePlatformOutput { - return o -} - -func (o StudioComponentLaunchProfilePlatformOutput) ToStudioComponentLaunchProfilePlatformOutputWithContext(ctx context.Context) StudioComponentLaunchProfilePlatformOutput { - return o -} - -func (o StudioComponentLaunchProfilePlatformOutput) ToStudioComponentLaunchProfilePlatformPtrOutput() StudioComponentLaunchProfilePlatformPtrOutput { - return o.ToStudioComponentLaunchProfilePlatformPtrOutputWithContext(context.Background()) -} - -func (o StudioComponentLaunchProfilePlatformOutput) ToStudioComponentLaunchProfilePlatformPtrOutputWithContext(ctx context.Context) StudioComponentLaunchProfilePlatformPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v StudioComponentLaunchProfilePlatform) *StudioComponentLaunchProfilePlatform { - return &v - }).(StudioComponentLaunchProfilePlatformPtrOutput) -} - -func (o StudioComponentLaunchProfilePlatformOutput) ToStringOutput() pulumi.StringOutput { - return o.ToStringOutputWithContext(context.Background()) -} - -func (o StudioComponentLaunchProfilePlatformOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e StudioComponentLaunchProfilePlatform) string { - return string(e) - }).(pulumi.StringOutput) -} - -func (o StudioComponentLaunchProfilePlatformOutput) ToStringPtrOutput() pulumi.StringPtrOutput { - return o.ToStringPtrOutputWithContext(context.Background()) -} - -func (o StudioComponentLaunchProfilePlatformOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e StudioComponentLaunchProfilePlatform) *string { - v := string(e) - return &v - }).(pulumi.StringPtrOutput) -} - -type StudioComponentLaunchProfilePlatformPtrOutput struct{ *pulumi.OutputState } - -func (StudioComponentLaunchProfilePlatformPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**StudioComponentLaunchProfilePlatform)(nil)).Elem() -} - -func (o StudioComponentLaunchProfilePlatformPtrOutput) ToStudioComponentLaunchProfilePlatformPtrOutput() StudioComponentLaunchProfilePlatformPtrOutput { - return o -} - -func (o StudioComponentLaunchProfilePlatformPtrOutput) ToStudioComponentLaunchProfilePlatformPtrOutputWithContext(ctx context.Context) StudioComponentLaunchProfilePlatformPtrOutput { - return o -} - -func (o StudioComponentLaunchProfilePlatformPtrOutput) Elem() StudioComponentLaunchProfilePlatformOutput { - return o.ApplyT(func(v *StudioComponentLaunchProfilePlatform) StudioComponentLaunchProfilePlatform { - if v != nil { - return *v - } - var ret StudioComponentLaunchProfilePlatform - return ret - }).(StudioComponentLaunchProfilePlatformOutput) -} - -func (o StudioComponentLaunchProfilePlatformPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { - return o.ToStringPtrOutputWithContext(context.Background()) -} - -func (o StudioComponentLaunchProfilePlatformPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e *StudioComponentLaunchProfilePlatform) *string { - if e == nil { - return nil - } - v := string(*e) - return &v - }).(pulumi.StringPtrOutput) -} - -// StudioComponentLaunchProfilePlatformInput is an input type that accepts values of the StudioComponentLaunchProfilePlatform enum -// A concrete instance of `StudioComponentLaunchProfilePlatformInput` can be one of the following: -// -// StudioComponentLaunchProfilePlatformLinux -// StudioComponentLaunchProfilePlatformWindows -type StudioComponentLaunchProfilePlatformInput interface { - pulumi.Input - - ToStudioComponentLaunchProfilePlatformOutput() StudioComponentLaunchProfilePlatformOutput - ToStudioComponentLaunchProfilePlatformOutputWithContext(context.Context) StudioComponentLaunchProfilePlatformOutput -} - -var studioComponentLaunchProfilePlatformPtrType = reflect.TypeOf((**StudioComponentLaunchProfilePlatform)(nil)).Elem() - -type StudioComponentLaunchProfilePlatformPtrInput interface { - pulumi.Input - - ToStudioComponentLaunchProfilePlatformPtrOutput() StudioComponentLaunchProfilePlatformPtrOutput - ToStudioComponentLaunchProfilePlatformPtrOutputWithContext(context.Context) StudioComponentLaunchProfilePlatformPtrOutput -} - -type studioComponentLaunchProfilePlatformPtr string - -func StudioComponentLaunchProfilePlatformPtr(v string) StudioComponentLaunchProfilePlatformPtrInput { - return (*studioComponentLaunchProfilePlatformPtr)(&v) -} - -func (*studioComponentLaunchProfilePlatformPtr) ElementType() reflect.Type { - return studioComponentLaunchProfilePlatformPtrType -} - -func (in *studioComponentLaunchProfilePlatformPtr) ToStudioComponentLaunchProfilePlatformPtrOutput() StudioComponentLaunchProfilePlatformPtrOutput { - return pulumi.ToOutput(in).(StudioComponentLaunchProfilePlatformPtrOutput) -} - -func (in *studioComponentLaunchProfilePlatformPtr) ToStudioComponentLaunchProfilePlatformPtrOutputWithContext(ctx context.Context) StudioComponentLaunchProfilePlatformPtrOutput { - return pulumi.ToOutputWithContext(ctx, in).(StudioComponentLaunchProfilePlatformPtrOutput) -} - -type StudioComponentSubtype string - -const ( - StudioComponentSubtypeAwsManagedMicrosoftAd = StudioComponentSubtype("AWS_MANAGED_MICROSOFT_AD") - StudioComponentSubtypeAmazonFsxForWindows = StudioComponentSubtype("AMAZON_FSX_FOR_WINDOWS") - StudioComponentSubtypeAmazonFsxForLustre = StudioComponentSubtype("AMAZON_FSX_FOR_LUSTRE") - StudioComponentSubtypeCustom = StudioComponentSubtype("CUSTOM") -) - -func (StudioComponentSubtype) ElementType() reflect.Type { - return reflect.TypeOf((*StudioComponentSubtype)(nil)).Elem() -} - -func (e StudioComponentSubtype) ToStudioComponentSubtypeOutput() StudioComponentSubtypeOutput { - return pulumi.ToOutput(e).(StudioComponentSubtypeOutput) -} - -func (e StudioComponentSubtype) ToStudioComponentSubtypeOutputWithContext(ctx context.Context) StudioComponentSubtypeOutput { - return pulumi.ToOutputWithContext(ctx, e).(StudioComponentSubtypeOutput) -} - -func (e StudioComponentSubtype) ToStudioComponentSubtypePtrOutput() StudioComponentSubtypePtrOutput { - return e.ToStudioComponentSubtypePtrOutputWithContext(context.Background()) -} - -func (e StudioComponentSubtype) ToStudioComponentSubtypePtrOutputWithContext(ctx context.Context) StudioComponentSubtypePtrOutput { - return StudioComponentSubtype(e).ToStudioComponentSubtypeOutputWithContext(ctx).ToStudioComponentSubtypePtrOutputWithContext(ctx) -} - -func (e StudioComponentSubtype) ToStringOutput() pulumi.StringOutput { - return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) -} - -func (e StudioComponentSubtype) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { - return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) -} - -func (e StudioComponentSubtype) ToStringPtrOutput() pulumi.StringPtrOutput { - return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) -} - -func (e StudioComponentSubtype) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) -} - -type StudioComponentSubtypeOutput struct{ *pulumi.OutputState } - -func (StudioComponentSubtypeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*StudioComponentSubtype)(nil)).Elem() -} - -func (o StudioComponentSubtypeOutput) ToStudioComponentSubtypeOutput() StudioComponentSubtypeOutput { - return o -} - -func (o StudioComponentSubtypeOutput) ToStudioComponentSubtypeOutputWithContext(ctx context.Context) StudioComponentSubtypeOutput { - return o -} - -func (o StudioComponentSubtypeOutput) ToStudioComponentSubtypePtrOutput() StudioComponentSubtypePtrOutput { - return o.ToStudioComponentSubtypePtrOutputWithContext(context.Background()) -} - -func (o StudioComponentSubtypeOutput) ToStudioComponentSubtypePtrOutputWithContext(ctx context.Context) StudioComponentSubtypePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v StudioComponentSubtype) *StudioComponentSubtype { - return &v - }).(StudioComponentSubtypePtrOutput) -} - -func (o StudioComponentSubtypeOutput) ToStringOutput() pulumi.StringOutput { - return o.ToStringOutputWithContext(context.Background()) -} - -func (o StudioComponentSubtypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e StudioComponentSubtype) string { - return string(e) - }).(pulumi.StringOutput) -} - -func (o StudioComponentSubtypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { - return o.ToStringPtrOutputWithContext(context.Background()) -} - -func (o StudioComponentSubtypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e StudioComponentSubtype) *string { - v := string(e) - return &v - }).(pulumi.StringPtrOutput) -} - -type StudioComponentSubtypePtrOutput struct{ *pulumi.OutputState } - -func (StudioComponentSubtypePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**StudioComponentSubtype)(nil)).Elem() -} - -func (o StudioComponentSubtypePtrOutput) ToStudioComponentSubtypePtrOutput() StudioComponentSubtypePtrOutput { - return o -} - -func (o StudioComponentSubtypePtrOutput) ToStudioComponentSubtypePtrOutputWithContext(ctx context.Context) StudioComponentSubtypePtrOutput { - return o -} - -func (o StudioComponentSubtypePtrOutput) Elem() StudioComponentSubtypeOutput { - return o.ApplyT(func(v *StudioComponentSubtype) StudioComponentSubtype { - if v != nil { - return *v - } - var ret StudioComponentSubtype - return ret - }).(StudioComponentSubtypeOutput) -} - -func (o StudioComponentSubtypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { - return o.ToStringPtrOutputWithContext(context.Background()) -} - -func (o StudioComponentSubtypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e *StudioComponentSubtype) *string { - if e == nil { - return nil - } - v := string(*e) - return &v - }).(pulumi.StringPtrOutput) -} - -// StudioComponentSubtypeInput is an input type that accepts values of the StudioComponentSubtype enum -// A concrete instance of `StudioComponentSubtypeInput` can be one of the following: -// -// StudioComponentSubtypeAwsManagedMicrosoftAd -// StudioComponentSubtypeAmazonFsxForWindows -// StudioComponentSubtypeAmazonFsxForLustre -// StudioComponentSubtypeCustom -type StudioComponentSubtypeInput interface { - pulumi.Input - - ToStudioComponentSubtypeOutput() StudioComponentSubtypeOutput - ToStudioComponentSubtypeOutputWithContext(context.Context) StudioComponentSubtypeOutput -} - -var studioComponentSubtypePtrType = reflect.TypeOf((**StudioComponentSubtype)(nil)).Elem() - -type StudioComponentSubtypePtrInput interface { - pulumi.Input - - ToStudioComponentSubtypePtrOutput() StudioComponentSubtypePtrOutput - ToStudioComponentSubtypePtrOutputWithContext(context.Context) StudioComponentSubtypePtrOutput -} - -type studioComponentSubtypePtr string - -func StudioComponentSubtypePtr(v string) StudioComponentSubtypePtrInput { - return (*studioComponentSubtypePtr)(&v) -} - -func (*studioComponentSubtypePtr) ElementType() reflect.Type { - return studioComponentSubtypePtrType -} - -func (in *studioComponentSubtypePtr) ToStudioComponentSubtypePtrOutput() StudioComponentSubtypePtrOutput { - return pulumi.ToOutput(in).(StudioComponentSubtypePtrOutput) -} - -func (in *studioComponentSubtypePtr) ToStudioComponentSubtypePtrOutputWithContext(ctx context.Context) StudioComponentSubtypePtrOutput { - return pulumi.ToOutputWithContext(ctx, in).(StudioComponentSubtypePtrOutput) -} - -type StudioComponentType string - -const ( - StudioComponentTypeActiveDirectory = StudioComponentType("ACTIVE_DIRECTORY") - StudioComponentTypeSharedFileSystem = StudioComponentType("SHARED_FILE_SYSTEM") - StudioComponentTypeComputeFarm = StudioComponentType("COMPUTE_FARM") - StudioComponentTypeLicenseService = StudioComponentType("LICENSE_SERVICE") - StudioComponentTypeCustom = StudioComponentType("CUSTOM") -) - -func (StudioComponentType) ElementType() reflect.Type { - return reflect.TypeOf((*StudioComponentType)(nil)).Elem() -} - -func (e StudioComponentType) ToStudioComponentTypeOutput() StudioComponentTypeOutput { - return pulumi.ToOutput(e).(StudioComponentTypeOutput) -} - -func (e StudioComponentType) ToStudioComponentTypeOutputWithContext(ctx context.Context) StudioComponentTypeOutput { - return pulumi.ToOutputWithContext(ctx, e).(StudioComponentTypeOutput) -} - -func (e StudioComponentType) ToStudioComponentTypePtrOutput() StudioComponentTypePtrOutput { - return e.ToStudioComponentTypePtrOutputWithContext(context.Background()) -} - -func (e StudioComponentType) ToStudioComponentTypePtrOutputWithContext(ctx context.Context) StudioComponentTypePtrOutput { - return StudioComponentType(e).ToStudioComponentTypeOutputWithContext(ctx).ToStudioComponentTypePtrOutputWithContext(ctx) -} - -func (e StudioComponentType) ToStringOutput() pulumi.StringOutput { - return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) -} - -func (e StudioComponentType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { - return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) -} - -func (e StudioComponentType) ToStringPtrOutput() pulumi.StringPtrOutput { - return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) -} - -func (e StudioComponentType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) -} - -type StudioComponentTypeOutput struct{ *pulumi.OutputState } - -func (StudioComponentTypeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*StudioComponentType)(nil)).Elem() -} - -func (o StudioComponentTypeOutput) ToStudioComponentTypeOutput() StudioComponentTypeOutput { - return o -} - -func (o StudioComponentTypeOutput) ToStudioComponentTypeOutputWithContext(ctx context.Context) StudioComponentTypeOutput { - return o -} - -func (o StudioComponentTypeOutput) ToStudioComponentTypePtrOutput() StudioComponentTypePtrOutput { - return o.ToStudioComponentTypePtrOutputWithContext(context.Background()) -} - -func (o StudioComponentTypeOutput) ToStudioComponentTypePtrOutputWithContext(ctx context.Context) StudioComponentTypePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v StudioComponentType) *StudioComponentType { - return &v - }).(StudioComponentTypePtrOutput) -} - -func (o StudioComponentTypeOutput) ToStringOutput() pulumi.StringOutput { - return o.ToStringOutputWithContext(context.Background()) -} - -func (o StudioComponentTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e StudioComponentType) string { - return string(e) - }).(pulumi.StringOutput) -} - -func (o StudioComponentTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { - return o.ToStringPtrOutputWithContext(context.Background()) -} - -func (o StudioComponentTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e StudioComponentType) *string { - v := string(e) - return &v - }).(pulumi.StringPtrOutput) -} - -type StudioComponentTypePtrOutput struct{ *pulumi.OutputState } - -func (StudioComponentTypePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**StudioComponentType)(nil)).Elem() -} - -func (o StudioComponentTypePtrOutput) ToStudioComponentTypePtrOutput() StudioComponentTypePtrOutput { - return o -} - -func (o StudioComponentTypePtrOutput) ToStudioComponentTypePtrOutputWithContext(ctx context.Context) StudioComponentTypePtrOutput { - return o -} - -func (o StudioComponentTypePtrOutput) Elem() StudioComponentTypeOutput { - return o.ApplyT(func(v *StudioComponentType) StudioComponentType { - if v != nil { - return *v - } - var ret StudioComponentType - return ret - }).(StudioComponentTypeOutput) -} - -func (o StudioComponentTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { - return o.ToStringPtrOutputWithContext(context.Background()) -} - -func (o StudioComponentTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e *StudioComponentType) *string { - if e == nil { - return nil - } - v := string(*e) - return &v - }).(pulumi.StringPtrOutput) -} - -// StudioComponentTypeInput is an input type that accepts values of the StudioComponentType enum -// A concrete instance of `StudioComponentTypeInput` can be one of the following: -// -// StudioComponentTypeActiveDirectory -// StudioComponentTypeSharedFileSystem -// StudioComponentTypeComputeFarm -// StudioComponentTypeLicenseService -// StudioComponentTypeCustom -type StudioComponentTypeInput interface { - pulumi.Input - - ToStudioComponentTypeOutput() StudioComponentTypeOutput - ToStudioComponentTypeOutputWithContext(context.Context) StudioComponentTypeOutput -} - -var studioComponentTypePtrType = reflect.TypeOf((**StudioComponentType)(nil)).Elem() - -type StudioComponentTypePtrInput interface { - pulumi.Input - - ToStudioComponentTypePtrOutput() StudioComponentTypePtrOutput - ToStudioComponentTypePtrOutputWithContext(context.Context) StudioComponentTypePtrOutput -} - -type studioComponentTypePtr string - -func StudioComponentTypePtr(v string) StudioComponentTypePtrInput { - return (*studioComponentTypePtr)(&v) -} - -func (*studioComponentTypePtr) ElementType() reflect.Type { - return studioComponentTypePtrType -} - -func (in *studioComponentTypePtr) ToStudioComponentTypePtrOutput() StudioComponentTypePtrOutput { - return pulumi.ToOutput(in).(StudioComponentTypePtrOutput) -} - -func (in *studioComponentTypePtr) ToStudioComponentTypePtrOutputWithContext(ctx context.Context) StudioComponentTypePtrOutput { - return pulumi.ToOutputWithContext(ctx, in).(StudioComponentTypePtrOutput) -} - -//

The type of KMS key that is used to encrypt studio data.

-type StudioEncryptionConfigurationKeyType string - -const ( - StudioEncryptionConfigurationKeyTypeAwsOwnedKey = StudioEncryptionConfigurationKeyType("AWS_OWNED_KEY") - StudioEncryptionConfigurationKeyTypeCustomerManagedKey = StudioEncryptionConfigurationKeyType("CUSTOMER_MANAGED_KEY") -) - -func (StudioEncryptionConfigurationKeyType) ElementType() reflect.Type { - return reflect.TypeOf((*StudioEncryptionConfigurationKeyType)(nil)).Elem() -} - -func (e StudioEncryptionConfigurationKeyType) ToStudioEncryptionConfigurationKeyTypeOutput() StudioEncryptionConfigurationKeyTypeOutput { - return pulumi.ToOutput(e).(StudioEncryptionConfigurationKeyTypeOutput) -} - -func (e StudioEncryptionConfigurationKeyType) ToStudioEncryptionConfigurationKeyTypeOutputWithContext(ctx context.Context) StudioEncryptionConfigurationKeyTypeOutput { - return pulumi.ToOutputWithContext(ctx, e).(StudioEncryptionConfigurationKeyTypeOutput) -} - -func (e StudioEncryptionConfigurationKeyType) ToStudioEncryptionConfigurationKeyTypePtrOutput() StudioEncryptionConfigurationKeyTypePtrOutput { - return e.ToStudioEncryptionConfigurationKeyTypePtrOutputWithContext(context.Background()) -} - -func (e StudioEncryptionConfigurationKeyType) ToStudioEncryptionConfigurationKeyTypePtrOutputWithContext(ctx context.Context) StudioEncryptionConfigurationKeyTypePtrOutput { - return StudioEncryptionConfigurationKeyType(e).ToStudioEncryptionConfigurationKeyTypeOutputWithContext(ctx).ToStudioEncryptionConfigurationKeyTypePtrOutputWithContext(ctx) -} - -func (e StudioEncryptionConfigurationKeyType) ToStringOutput() pulumi.StringOutput { - return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) -} - -func (e StudioEncryptionConfigurationKeyType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { - return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) -} - -func (e StudioEncryptionConfigurationKeyType) ToStringPtrOutput() pulumi.StringPtrOutput { - return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) -} - -func (e StudioEncryptionConfigurationKeyType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) -} - -type StudioEncryptionConfigurationKeyTypeOutput struct{ *pulumi.OutputState } - -func (StudioEncryptionConfigurationKeyTypeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*StudioEncryptionConfigurationKeyType)(nil)).Elem() -} - -func (o StudioEncryptionConfigurationKeyTypeOutput) ToStudioEncryptionConfigurationKeyTypeOutput() StudioEncryptionConfigurationKeyTypeOutput { - return o -} - -func (o StudioEncryptionConfigurationKeyTypeOutput) ToStudioEncryptionConfigurationKeyTypeOutputWithContext(ctx context.Context) StudioEncryptionConfigurationKeyTypeOutput { - return o -} - -func (o StudioEncryptionConfigurationKeyTypeOutput) ToStudioEncryptionConfigurationKeyTypePtrOutput() StudioEncryptionConfigurationKeyTypePtrOutput { - return o.ToStudioEncryptionConfigurationKeyTypePtrOutputWithContext(context.Background()) -} - -func (o StudioEncryptionConfigurationKeyTypeOutput) ToStudioEncryptionConfigurationKeyTypePtrOutputWithContext(ctx context.Context) StudioEncryptionConfigurationKeyTypePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v StudioEncryptionConfigurationKeyType) *StudioEncryptionConfigurationKeyType { - return &v - }).(StudioEncryptionConfigurationKeyTypePtrOutput) -} - -func (o StudioEncryptionConfigurationKeyTypeOutput) ToStringOutput() pulumi.StringOutput { - return o.ToStringOutputWithContext(context.Background()) -} - -func (o StudioEncryptionConfigurationKeyTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e StudioEncryptionConfigurationKeyType) string { - return string(e) - }).(pulumi.StringOutput) -} - -func (o StudioEncryptionConfigurationKeyTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { - return o.ToStringPtrOutputWithContext(context.Background()) -} - -func (o StudioEncryptionConfigurationKeyTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e StudioEncryptionConfigurationKeyType) *string { - v := string(e) - return &v - }).(pulumi.StringPtrOutput) -} - -type StudioEncryptionConfigurationKeyTypePtrOutput struct{ *pulumi.OutputState } - -func (StudioEncryptionConfigurationKeyTypePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**StudioEncryptionConfigurationKeyType)(nil)).Elem() -} - -func (o StudioEncryptionConfigurationKeyTypePtrOutput) ToStudioEncryptionConfigurationKeyTypePtrOutput() StudioEncryptionConfigurationKeyTypePtrOutput { - return o -} - -func (o StudioEncryptionConfigurationKeyTypePtrOutput) ToStudioEncryptionConfigurationKeyTypePtrOutputWithContext(ctx context.Context) StudioEncryptionConfigurationKeyTypePtrOutput { - return o -} - -func (o StudioEncryptionConfigurationKeyTypePtrOutput) Elem() StudioEncryptionConfigurationKeyTypeOutput { - return o.ApplyT(func(v *StudioEncryptionConfigurationKeyType) StudioEncryptionConfigurationKeyType { - if v != nil { - return *v - } - var ret StudioEncryptionConfigurationKeyType - return ret - }).(StudioEncryptionConfigurationKeyTypeOutput) -} - -func (o StudioEncryptionConfigurationKeyTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { - return o.ToStringPtrOutputWithContext(context.Background()) -} - -func (o StudioEncryptionConfigurationKeyTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e *StudioEncryptionConfigurationKeyType) *string { - if e == nil { - return nil - } - v := string(*e) - return &v - }).(pulumi.StringPtrOutput) -} - -// StudioEncryptionConfigurationKeyTypeInput is an input type that accepts values of the StudioEncryptionConfigurationKeyType enum -// A concrete instance of `StudioEncryptionConfigurationKeyTypeInput` can be one of the following: -// -// StudioEncryptionConfigurationKeyTypeAwsOwnedKey -// StudioEncryptionConfigurationKeyTypeCustomerManagedKey -type StudioEncryptionConfigurationKeyTypeInput interface { - pulumi.Input - - ToStudioEncryptionConfigurationKeyTypeOutput() StudioEncryptionConfigurationKeyTypeOutput - ToStudioEncryptionConfigurationKeyTypeOutputWithContext(context.Context) StudioEncryptionConfigurationKeyTypeOutput -} - -var studioEncryptionConfigurationKeyTypePtrType = reflect.TypeOf((**StudioEncryptionConfigurationKeyType)(nil)).Elem() - -type StudioEncryptionConfigurationKeyTypePtrInput interface { - pulumi.Input - - ToStudioEncryptionConfigurationKeyTypePtrOutput() StudioEncryptionConfigurationKeyTypePtrOutput - ToStudioEncryptionConfigurationKeyTypePtrOutputWithContext(context.Context) StudioEncryptionConfigurationKeyTypePtrOutput -} - -type studioEncryptionConfigurationKeyTypePtr string - -func StudioEncryptionConfigurationKeyTypePtr(v string) StudioEncryptionConfigurationKeyTypePtrInput { - return (*studioEncryptionConfigurationKeyTypePtr)(&v) -} - -func (*studioEncryptionConfigurationKeyTypePtr) ElementType() reflect.Type { - return studioEncryptionConfigurationKeyTypePtrType -} - -func (in *studioEncryptionConfigurationKeyTypePtr) ToStudioEncryptionConfigurationKeyTypePtrOutput() StudioEncryptionConfigurationKeyTypePtrOutput { - return pulumi.ToOutput(in).(StudioEncryptionConfigurationKeyTypePtrOutput) -} - -func (in *studioEncryptionConfigurationKeyTypePtr) ToStudioEncryptionConfigurationKeyTypePtrOutputWithContext(ctx context.Context) StudioEncryptionConfigurationKeyTypePtrOutput { - return pulumi.ToOutputWithContext(ctx, in).(StudioEncryptionConfigurationKeyTypePtrOutput) -} - -func init() { - pulumi.RegisterInputType(reflect.TypeOf((*LaunchProfileAutomaticTerminationModeInput)(nil)).Elem(), LaunchProfileAutomaticTerminationMode("DEACTIVATED")) - pulumi.RegisterInputType(reflect.TypeOf((*LaunchProfileAutomaticTerminationModePtrInput)(nil)).Elem(), LaunchProfileAutomaticTerminationMode("DEACTIVATED")) - pulumi.RegisterInputType(reflect.TypeOf((*LaunchProfileSessionBackupModeInput)(nil)).Elem(), LaunchProfileSessionBackupMode("AUTOMATIC")) - pulumi.RegisterInputType(reflect.TypeOf((*LaunchProfileSessionBackupModePtrInput)(nil)).Elem(), LaunchProfileSessionBackupMode("AUTOMATIC")) - pulumi.RegisterInputType(reflect.TypeOf((*LaunchProfileSessionPersistenceModeInput)(nil)).Elem(), LaunchProfileSessionPersistenceMode("DEACTIVATED")) - pulumi.RegisterInputType(reflect.TypeOf((*LaunchProfileSessionPersistenceModePtrInput)(nil)).Elem(), LaunchProfileSessionPersistenceMode("DEACTIVATED")) - pulumi.RegisterInputType(reflect.TypeOf((*LaunchProfileStreamingClipboardModeInput)(nil)).Elem(), LaunchProfileStreamingClipboardMode("ENABLED")) - pulumi.RegisterInputType(reflect.TypeOf((*LaunchProfileStreamingClipboardModePtrInput)(nil)).Elem(), LaunchProfileStreamingClipboardMode("ENABLED")) - pulumi.RegisterInputType(reflect.TypeOf((*LaunchProfileStreamingInstanceTypeInput)(nil)).Elem(), LaunchProfileStreamingInstanceType("g4dn.xlarge")) - pulumi.RegisterInputType(reflect.TypeOf((*LaunchProfileStreamingInstanceTypePtrInput)(nil)).Elem(), LaunchProfileStreamingInstanceType("g4dn.xlarge")) - pulumi.RegisterInputType(reflect.TypeOf((*LaunchProfileStreamingInstanceTypeArrayInput)(nil)).Elem(), LaunchProfileStreamingInstanceTypeArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*LaunchProfileStreamingSessionStorageModeInput)(nil)).Elem(), LaunchProfileStreamingSessionStorageMode("UPLOAD")) - pulumi.RegisterInputType(reflect.TypeOf((*LaunchProfileStreamingSessionStorageModePtrInput)(nil)).Elem(), LaunchProfileStreamingSessionStorageMode("UPLOAD")) - pulumi.RegisterInputType(reflect.TypeOf((*LaunchProfileStreamingSessionStorageModeArrayInput)(nil)).Elem(), LaunchProfileStreamingSessionStorageModeArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*StudioComponentInitializationScriptRunContextInput)(nil)).Elem(), StudioComponentInitializationScriptRunContext("SYSTEM_INITIALIZATION")) - pulumi.RegisterInputType(reflect.TypeOf((*StudioComponentInitializationScriptRunContextPtrInput)(nil)).Elem(), StudioComponentInitializationScriptRunContext("SYSTEM_INITIALIZATION")) - pulumi.RegisterInputType(reflect.TypeOf((*StudioComponentLaunchProfilePlatformInput)(nil)).Elem(), StudioComponentLaunchProfilePlatform("LINUX")) - pulumi.RegisterInputType(reflect.TypeOf((*StudioComponentLaunchProfilePlatformPtrInput)(nil)).Elem(), StudioComponentLaunchProfilePlatform("LINUX")) - pulumi.RegisterInputType(reflect.TypeOf((*StudioComponentSubtypeInput)(nil)).Elem(), StudioComponentSubtype("AWS_MANAGED_MICROSOFT_AD")) - pulumi.RegisterInputType(reflect.TypeOf((*StudioComponentSubtypePtrInput)(nil)).Elem(), StudioComponentSubtype("AWS_MANAGED_MICROSOFT_AD")) - pulumi.RegisterInputType(reflect.TypeOf((*StudioComponentTypeInput)(nil)).Elem(), StudioComponentType("ACTIVE_DIRECTORY")) - pulumi.RegisterInputType(reflect.TypeOf((*StudioComponentTypePtrInput)(nil)).Elem(), StudioComponentType("ACTIVE_DIRECTORY")) - pulumi.RegisterInputType(reflect.TypeOf((*StudioEncryptionConfigurationKeyTypeInput)(nil)).Elem(), StudioEncryptionConfigurationKeyType("AWS_OWNED_KEY")) - pulumi.RegisterInputType(reflect.TypeOf((*StudioEncryptionConfigurationKeyTypePtrInput)(nil)).Elem(), StudioEncryptionConfigurationKeyType("AWS_OWNED_KEY")) - pulumi.RegisterOutputType(LaunchProfileAutomaticTerminationModeOutput{}) - pulumi.RegisterOutputType(LaunchProfileAutomaticTerminationModePtrOutput{}) - pulumi.RegisterOutputType(LaunchProfileSessionBackupModeOutput{}) - pulumi.RegisterOutputType(LaunchProfileSessionBackupModePtrOutput{}) - pulumi.RegisterOutputType(LaunchProfileSessionPersistenceModeOutput{}) - pulumi.RegisterOutputType(LaunchProfileSessionPersistenceModePtrOutput{}) - pulumi.RegisterOutputType(LaunchProfileStreamingClipboardModeOutput{}) - pulumi.RegisterOutputType(LaunchProfileStreamingClipboardModePtrOutput{}) - pulumi.RegisterOutputType(LaunchProfileStreamingInstanceTypeOutput{}) - pulumi.RegisterOutputType(LaunchProfileStreamingInstanceTypePtrOutput{}) - pulumi.RegisterOutputType(LaunchProfileStreamingInstanceTypeArrayOutput{}) - pulumi.RegisterOutputType(LaunchProfileStreamingSessionStorageModeOutput{}) - pulumi.RegisterOutputType(LaunchProfileStreamingSessionStorageModePtrOutput{}) - pulumi.RegisterOutputType(LaunchProfileStreamingSessionStorageModeArrayOutput{}) - pulumi.RegisterOutputType(StreamingImageEncryptionConfigurationKeyTypeOutput{}) - pulumi.RegisterOutputType(StreamingImageEncryptionConfigurationKeyTypePtrOutput{}) - pulumi.RegisterOutputType(StudioComponentInitializationScriptRunContextOutput{}) - pulumi.RegisterOutputType(StudioComponentInitializationScriptRunContextPtrOutput{}) - pulumi.RegisterOutputType(StudioComponentLaunchProfilePlatformOutput{}) - pulumi.RegisterOutputType(StudioComponentLaunchProfilePlatformPtrOutput{}) - pulumi.RegisterOutputType(StudioComponentSubtypeOutput{}) - pulumi.RegisterOutputType(StudioComponentSubtypePtrOutput{}) - pulumi.RegisterOutputType(StudioComponentTypeOutput{}) - pulumi.RegisterOutputType(StudioComponentTypePtrOutput{}) - pulumi.RegisterOutputType(StudioEncryptionConfigurationKeyTypeOutput{}) - pulumi.RegisterOutputType(StudioEncryptionConfigurationKeyTypePtrOutput{}) -} diff --git a/sdk/go/aws/nimblestudio/pulumiTypes.go b/sdk/go/aws/nimblestudio/pulumiTypes.go index 8f42f3c6bd..fe00995711 100644 --- a/sdk/go/aws/nimblestudio/pulumiTypes.go +++ b/sdk/go/aws/nimblestudio/pulumiTypes.go @@ -13,7 +13,6 @@ import ( var _ = internal.GetEnvOrDefault -//

A configuration for a streaming session.

type LaunchProfileStreamConfiguration struct { // Indicates if a streaming session created from this launch profile should be terminated automatically or retained without termination after being in a `STOPPED` state. // @@ -21,42 +20,28 @@ type LaunchProfileStreamConfiguration struct { // - When `DEACTIVATED` , the streaming session can remain in the `STOPPED` state indefinitely. // // This parameter is only allowed when `sessionPersistenceMode` is `ACTIVATED` . When allowed, the default value for this parameter is `DEACTIVATED` . - AutomaticTerminationMode *LaunchProfileAutomaticTerminationMode `pulumi:"automaticTerminationMode"` + AutomaticTerminationMode *string `pulumi:"automaticTerminationMode"` // Allows or deactivates the use of the system clipboard to copy and paste between the streaming session and streaming client. - ClipboardMode LaunchProfileStreamingClipboardMode `pulumi:"clipboardMode"` - //

The EC2 instance types that users can select from when launching a streaming session - // with this launch profile.

- Ec2InstanceTypes []LaunchProfileStreamingInstanceType `pulumi:"ec2InstanceTypes"` - //

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.

+ ClipboardMode string `pulumi:"clipboardMode"` + // The EC2 instance types that users can select from when launching a streaming session with this launch profile. + Ec2InstanceTypes []string `pulumi:"ec2InstanceTypes"` + // 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. MaxSessionLengthInMinutes *float64 `pulumi:"maxSessionLengthInMinutes"` - //

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.

- //

This field is allowed only when sessionPersistenceMode is - // ACTIVATED and automaticTerminationMode is - // ACTIVATED.

- //

If 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).

- //

If 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).

+ // 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. + // + // This field is allowed only when `sessionPersistenceMode` is `ACTIVATED` and `automaticTerminationMode` is `ACTIVATED` . + // + // If 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` ). + // + // If 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). MaxStoppedSessionLengthInMinutes *float64 `pulumi:"maxStoppedSessionLengthInMinutes"` // Information about the streaming session backup. SessionBackup *LaunchProfileStreamConfigurationSessionBackup `pulumi:"sessionBackup"` // Determine if a streaming session created from this launch profile can configure persistent storage. This means that `volumeConfiguration` and `automaticTerminationMode` are configured. - SessionPersistenceMode *LaunchProfileSessionPersistenceMode `pulumi:"sessionPersistenceMode"` + SessionPersistenceMode *string `pulumi:"sessionPersistenceMode"` // The upload storage for a streaming session. SessionStorage *LaunchProfileStreamConfigurationSessionStorage `pulumi:"sessionStorage"` - //

The streaming images that users can select from when launching a streaming session - // with this launch profile.

+ // The streaming images that users can select from when launching a streaming session with this launch profile. StreamingImageIds []string `pulumi:"streamingImageIds"` // Custom volume configuration for the root volumes that are attached to streaming sessions. // @@ -75,7 +60,6 @@ type LaunchProfileStreamConfigurationInput interface { ToLaunchProfileStreamConfigurationOutputWithContext(context.Context) LaunchProfileStreamConfigurationOutput } -//

A configuration for a streaming session.

type LaunchProfileStreamConfigurationArgs struct { // Indicates if a streaming session created from this launch profile should be terminated automatically or retained without termination after being in a `STOPPED` state. // @@ -83,42 +67,28 @@ type LaunchProfileStreamConfigurationArgs struct { // - When `DEACTIVATED` , the streaming session can remain in the `STOPPED` state indefinitely. // // This parameter is only allowed when `sessionPersistenceMode` is `ACTIVATED` . When allowed, the default value for this parameter is `DEACTIVATED` . - AutomaticTerminationMode LaunchProfileAutomaticTerminationModePtrInput `pulumi:"automaticTerminationMode"` + AutomaticTerminationMode pulumi.StringPtrInput `pulumi:"automaticTerminationMode"` // Allows or deactivates the use of the system clipboard to copy and paste between the streaming session and streaming client. - ClipboardMode LaunchProfileStreamingClipboardModeInput `pulumi:"clipboardMode"` - //

The EC2 instance types that users can select from when launching a streaming session - // with this launch profile.

- Ec2InstanceTypes LaunchProfileStreamingInstanceTypeArrayInput `pulumi:"ec2InstanceTypes"` - //

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.

+ ClipboardMode pulumi.StringInput `pulumi:"clipboardMode"` + // The EC2 instance types that users can select from when launching a streaming session with this launch profile. + Ec2InstanceTypes pulumi.StringArrayInput `pulumi:"ec2InstanceTypes"` + // 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. MaxSessionLengthInMinutes pulumi.Float64PtrInput `pulumi:"maxSessionLengthInMinutes"` - //

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.

- //

This field is allowed only when sessionPersistenceMode is - // ACTIVATED and automaticTerminationMode is - // ACTIVATED.

- //

If 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).

- //

If 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).

+ // 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. + // + // This field is allowed only when `sessionPersistenceMode` is `ACTIVATED` and `automaticTerminationMode` is `ACTIVATED` . + // + // If 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` ). + // + // If 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). MaxStoppedSessionLengthInMinutes pulumi.Float64PtrInput `pulumi:"maxStoppedSessionLengthInMinutes"` // Information about the streaming session backup. SessionBackup LaunchProfileStreamConfigurationSessionBackupPtrInput `pulumi:"sessionBackup"` // Determine if a streaming session created from this launch profile can configure persistent storage. This means that `volumeConfiguration` and `automaticTerminationMode` are configured. - SessionPersistenceMode LaunchProfileSessionPersistenceModePtrInput `pulumi:"sessionPersistenceMode"` + SessionPersistenceMode pulumi.StringPtrInput `pulumi:"sessionPersistenceMode"` // The upload storage for a streaming session. SessionStorage LaunchProfileStreamConfigurationSessionStoragePtrInput `pulumi:"sessionStorage"` - //

The streaming images that users can select from when launching a streaming session - // with this launch profile.

+ // The streaming images that users can select from when launching a streaming session with this launch profile. StreamingImageIds pulumi.StringArrayInput `pulumi:"streamingImageIds"` // Custom volume configuration for the root volumes that are attached to streaming sessions. // @@ -138,7 +108,6 @@ func (i LaunchProfileStreamConfigurationArgs) ToLaunchProfileStreamConfiguration return pulumi.ToOutputWithContext(ctx, i).(LaunchProfileStreamConfigurationOutput) } -//

A configuration for a streaming session.

type LaunchProfileStreamConfigurationOutput struct{ *pulumi.OutputState } func (LaunchProfileStreamConfigurationOutput) ElementType() reflect.Type { @@ -159,52 +128,32 @@ func (o LaunchProfileStreamConfigurationOutput) ToLaunchProfileStreamConfigurati // - When `DEACTIVATED` , the streaming session can remain in the `STOPPED` state indefinitely. // // This parameter is only allowed when `sessionPersistenceMode` is `ACTIVATED` . When allowed, the default value for this parameter is `DEACTIVATED` . -func (o LaunchProfileStreamConfigurationOutput) AutomaticTerminationMode() LaunchProfileAutomaticTerminationModePtrOutput { - return o.ApplyT(func(v LaunchProfileStreamConfiguration) *LaunchProfileAutomaticTerminationMode { - return v.AutomaticTerminationMode - }).(LaunchProfileAutomaticTerminationModePtrOutput) +func (o LaunchProfileStreamConfigurationOutput) AutomaticTerminationMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchProfileStreamConfiguration) *string { return v.AutomaticTerminationMode }).(pulumi.StringPtrOutput) } // Allows or deactivates the use of the system clipboard to copy and paste between the streaming session and streaming client. -func (o LaunchProfileStreamConfigurationOutput) ClipboardMode() LaunchProfileStreamingClipboardModeOutput { - return o.ApplyT(func(v LaunchProfileStreamConfiguration) LaunchProfileStreamingClipboardMode { return v.ClipboardMode }).(LaunchProfileStreamingClipboardModeOutput) +func (o LaunchProfileStreamConfigurationOutput) ClipboardMode() pulumi.StringOutput { + return o.ApplyT(func(v LaunchProfileStreamConfiguration) string { return v.ClipboardMode }).(pulumi.StringOutput) } -//

The EC2 instance types that users can select from when launching a streaming session -// -// with this launch profile.

-func (o LaunchProfileStreamConfigurationOutput) Ec2InstanceTypes() LaunchProfileStreamingInstanceTypeArrayOutput { - return o.ApplyT(func(v LaunchProfileStreamConfiguration) []LaunchProfileStreamingInstanceType { - return v.Ec2InstanceTypes - }).(LaunchProfileStreamingInstanceTypeArrayOutput) +// The EC2 instance types that users can select from when launching a streaming session with this launch profile. +func (o LaunchProfileStreamConfigurationOutput) Ec2InstanceTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v LaunchProfileStreamConfiguration) []string { return v.Ec2InstanceTypes }).(pulumi.StringArrayOutput) } -//

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.

+// 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. func (o LaunchProfileStreamConfigurationOutput) MaxSessionLengthInMinutes() pulumi.Float64PtrOutput { return o.ApplyT(func(v LaunchProfileStreamConfiguration) *float64 { return v.MaxSessionLengthInMinutes }).(pulumi.Float64PtrOutput) } -//

Integer that determines if you can start and stop your sessions and how long a session +// 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. // -// can stay in the STOPPED state. The default value is 0. The maximum value is -// 5760.

-//

This field is allowed only when sessionPersistenceMode is -// ACTIVATED and automaticTerminationMode is -// ACTIVATED.

-//

If 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).

-//

If 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).

+// This field is allowed only when `sessionPersistenceMode` is `ACTIVATED` and `automaticTerminationMode` is `ACTIVATED` . +// +// If 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` ). +// +// If 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). func (o LaunchProfileStreamConfigurationOutput) MaxStoppedSessionLengthInMinutes() pulumi.Float64PtrOutput { return o.ApplyT(func(v LaunchProfileStreamConfiguration) *float64 { return v.MaxStoppedSessionLengthInMinutes }).(pulumi.Float64PtrOutput) } @@ -217,10 +166,8 @@ func (o LaunchProfileStreamConfigurationOutput) SessionBackup() LaunchProfileStr } // Determine if a streaming session created from this launch profile can configure persistent storage. This means that `volumeConfiguration` and `automaticTerminationMode` are configured. -func (o LaunchProfileStreamConfigurationOutput) SessionPersistenceMode() LaunchProfileSessionPersistenceModePtrOutput { - return o.ApplyT(func(v LaunchProfileStreamConfiguration) *LaunchProfileSessionPersistenceMode { - return v.SessionPersistenceMode - }).(LaunchProfileSessionPersistenceModePtrOutput) +func (o LaunchProfileStreamConfigurationOutput) SessionPersistenceMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchProfileStreamConfiguration) *string { return v.SessionPersistenceMode }).(pulumi.StringPtrOutput) } // The upload storage for a streaming session. @@ -230,9 +177,7 @@ func (o LaunchProfileStreamConfigurationOutput) SessionStorage() LaunchProfileSt }).(LaunchProfileStreamConfigurationSessionStoragePtrOutput) } -//

The streaming images that users can select from when launching a streaming session -// -// with this launch profile.

+// The streaming images that users can select from when launching a streaming session with this launch profile. func (o LaunchProfileStreamConfigurationOutput) StreamingImageIds() pulumi.StringArrayOutput { return o.ApplyT(func(v LaunchProfileStreamConfiguration) []string { return v.StreamingImageIds }).(pulumi.StringArrayOutput) } @@ -276,42 +221,36 @@ func (o LaunchProfileStreamConfigurationPtrOutput) Elem() LaunchProfileStreamCon // - When `DEACTIVATED` , the streaming session can remain in the `STOPPED` state indefinitely. // // This parameter is only allowed when `sessionPersistenceMode` is `ACTIVATED` . When allowed, the default value for this parameter is `DEACTIVATED` . -func (o LaunchProfileStreamConfigurationPtrOutput) AutomaticTerminationMode() LaunchProfileAutomaticTerminationModePtrOutput { - return o.ApplyT(func(v *LaunchProfileStreamConfiguration) *LaunchProfileAutomaticTerminationMode { +func (o LaunchProfileStreamConfigurationPtrOutput) AutomaticTerminationMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchProfileStreamConfiguration) *string { if v == nil { return nil } return v.AutomaticTerminationMode - }).(LaunchProfileAutomaticTerminationModePtrOutput) + }).(pulumi.StringPtrOutput) } // Allows or deactivates the use of the system clipboard to copy and paste between the streaming session and streaming client. -func (o LaunchProfileStreamConfigurationPtrOutput) ClipboardMode() LaunchProfileStreamingClipboardModePtrOutput { - return o.ApplyT(func(v *LaunchProfileStreamConfiguration) *LaunchProfileStreamingClipboardMode { +func (o LaunchProfileStreamConfigurationPtrOutput) ClipboardMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchProfileStreamConfiguration) *string { if v == nil { return nil } return &v.ClipboardMode - }).(LaunchProfileStreamingClipboardModePtrOutput) + }).(pulumi.StringPtrOutput) } -//

The EC2 instance types that users can select from when launching a streaming session -// -// with this launch profile.

-func (o LaunchProfileStreamConfigurationPtrOutput) Ec2InstanceTypes() LaunchProfileStreamingInstanceTypeArrayOutput { - return o.ApplyT(func(v *LaunchProfileStreamConfiguration) []LaunchProfileStreamingInstanceType { +// The EC2 instance types that users can select from when launching a streaming session with this launch profile. +func (o LaunchProfileStreamConfigurationPtrOutput) Ec2InstanceTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *LaunchProfileStreamConfiguration) []string { if v == nil { return nil } return v.Ec2InstanceTypes - }).(LaunchProfileStreamingInstanceTypeArrayOutput) + }).(pulumi.StringArrayOutput) } -//

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.

+// 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. func (o LaunchProfileStreamConfigurationPtrOutput) MaxSessionLengthInMinutes() pulumi.Float64PtrOutput { return o.ApplyT(func(v *LaunchProfileStreamConfiguration) *float64 { if v == nil { @@ -321,23 +260,13 @@ func (o LaunchProfileStreamConfigurationPtrOutput) MaxSessionLengthInMinutes() p }).(pulumi.Float64PtrOutput) } -//

Integer that determines if you can start and stop your sessions and how long a session +// 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. +// +// This field is allowed only when `sessionPersistenceMode` is `ACTIVATED` and `automaticTerminationMode` is `ACTIVATED` . +// +// If 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` ). // -// can stay in the STOPPED state. The default value is 0. The maximum value is -// 5760.

-//

This field is allowed only when sessionPersistenceMode is -// ACTIVATED and automaticTerminationMode is -// ACTIVATED.

-//

If 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).

-//

If 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).

+// If 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). func (o LaunchProfileStreamConfigurationPtrOutput) MaxStoppedSessionLengthInMinutes() pulumi.Float64PtrOutput { return o.ApplyT(func(v *LaunchProfileStreamConfiguration) *float64 { if v == nil { @@ -358,13 +287,13 @@ func (o LaunchProfileStreamConfigurationPtrOutput) SessionBackup() LaunchProfile } // Determine if a streaming session created from this launch profile can configure persistent storage. This means that `volumeConfiguration` and `automaticTerminationMode` are configured. -func (o LaunchProfileStreamConfigurationPtrOutput) SessionPersistenceMode() LaunchProfileSessionPersistenceModePtrOutput { - return o.ApplyT(func(v *LaunchProfileStreamConfiguration) *LaunchProfileSessionPersistenceMode { +func (o LaunchProfileStreamConfigurationPtrOutput) SessionPersistenceMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchProfileStreamConfiguration) *string { if v == nil { return nil } return v.SessionPersistenceMode - }).(LaunchProfileSessionPersistenceModePtrOutput) + }).(pulumi.StringPtrOutput) } // The upload storage for a streaming session. @@ -377,9 +306,7 @@ func (o LaunchProfileStreamConfigurationPtrOutput) SessionStorage() LaunchProfil }).(LaunchProfileStreamConfigurationSessionStoragePtrOutput) } -//

The streaming images that users can select from when launching a streaming session -// -// with this launch profile.

+// The streaming images that users can select from when launching a streaming session with this launch profile. func (o LaunchProfileStreamConfigurationPtrOutput) StreamingImageIds() pulumi.StringArrayOutput { return o.ApplyT(func(v *LaunchProfileStreamConfiguration) []string { if v == nil { @@ -401,17 +328,13 @@ func (o LaunchProfileStreamConfigurationPtrOutput) VolumeConfiguration() LaunchP }).(LaunchProfileVolumeConfigurationPtrOutput) } -//

Configures how streaming sessions are backed up when launched from this launch -// -// profile.

type LaunchProfileStreamConfigurationSessionBackup struct { - //

The maximum number of backups that each streaming session created from this launch - // profile can have.

+ // The maximum number of backups that each streaming session created from this launch profile can have. MaxBackupsToRetain *float64 `pulumi:"maxBackupsToRetain"` // Specifies how artists sessions are backed up. // // Configures 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` . - Mode *LaunchProfileSessionBackupMode `pulumi:"mode"` + Mode *string `pulumi:"mode"` } // LaunchProfileStreamConfigurationSessionBackupInput is an input type that accepts LaunchProfileStreamConfigurationSessionBackupArgs and LaunchProfileStreamConfigurationSessionBackupOutput values. @@ -425,17 +348,13 @@ type LaunchProfileStreamConfigurationSessionBackupInput interface { ToLaunchProfileStreamConfigurationSessionBackupOutputWithContext(context.Context) LaunchProfileStreamConfigurationSessionBackupOutput } -//

Configures how streaming sessions are backed up when launched from this launch -// -// profile.

type LaunchProfileStreamConfigurationSessionBackupArgs struct { - //

The maximum number of backups that each streaming session created from this launch - // profile can have.

+ // The maximum number of backups that each streaming session created from this launch profile can have. MaxBackupsToRetain pulumi.Float64PtrInput `pulumi:"maxBackupsToRetain"` // Specifies how artists sessions are backed up. // // Configures 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` . - Mode LaunchProfileSessionBackupModePtrInput `pulumi:"mode"` + Mode pulumi.StringPtrInput `pulumi:"mode"` } func (LaunchProfileStreamConfigurationSessionBackupArgs) ElementType() reflect.Type { @@ -491,9 +410,6 @@ func (i *launchProfileStreamConfigurationSessionBackupPtrType) ToLaunchProfileSt return pulumi.ToOutputWithContext(ctx, i).(LaunchProfileStreamConfigurationSessionBackupPtrOutput) } -//

Configures how streaming sessions are backed up when launched from this launch -// -// profile.

type LaunchProfileStreamConfigurationSessionBackupOutput struct{ *pulumi.OutputState } func (LaunchProfileStreamConfigurationSessionBackupOutput) ElementType() reflect.Type { @@ -518,9 +434,7 @@ func (o LaunchProfileStreamConfigurationSessionBackupOutput) ToLaunchProfileStre }).(LaunchProfileStreamConfigurationSessionBackupPtrOutput) } -//

The maximum number of backups that each streaming session created from this launch -// -// profile can have.

+// The maximum number of backups that each streaming session created from this launch profile can have. func (o LaunchProfileStreamConfigurationSessionBackupOutput) MaxBackupsToRetain() pulumi.Float64PtrOutput { return o.ApplyT(func(v LaunchProfileStreamConfigurationSessionBackup) *float64 { return v.MaxBackupsToRetain }).(pulumi.Float64PtrOutput) } @@ -528,8 +442,8 @@ func (o LaunchProfileStreamConfigurationSessionBackupOutput) MaxBackupsToRetain( // Specifies how artists sessions are backed up. // // Configures 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` . -func (o LaunchProfileStreamConfigurationSessionBackupOutput) Mode() LaunchProfileSessionBackupModePtrOutput { - return o.ApplyT(func(v LaunchProfileStreamConfigurationSessionBackup) *LaunchProfileSessionBackupMode { return v.Mode }).(LaunchProfileSessionBackupModePtrOutput) +func (o LaunchProfileStreamConfigurationSessionBackupOutput) Mode() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchProfileStreamConfigurationSessionBackup) *string { return v.Mode }).(pulumi.StringPtrOutput) } type LaunchProfileStreamConfigurationSessionBackupPtrOutput struct{ *pulumi.OutputState } @@ -556,9 +470,7 @@ func (o LaunchProfileStreamConfigurationSessionBackupPtrOutput) Elem() LaunchPro }).(LaunchProfileStreamConfigurationSessionBackupOutput) } -//

The maximum number of backups that each streaming session created from this launch -// -// profile can have.

+// The maximum number of backups that each streaming session created from this launch profile can have. func (o LaunchProfileStreamConfigurationSessionBackupPtrOutput) MaxBackupsToRetain() pulumi.Float64PtrOutput { return o.ApplyT(func(v *LaunchProfileStreamConfigurationSessionBackup) *float64 { if v == nil { @@ -571,20 +483,18 @@ func (o LaunchProfileStreamConfigurationSessionBackupPtrOutput) MaxBackupsToReta // Specifies how artists sessions are backed up. // // Configures 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` . -func (o LaunchProfileStreamConfigurationSessionBackupPtrOutput) Mode() LaunchProfileSessionBackupModePtrOutput { - return o.ApplyT(func(v *LaunchProfileStreamConfigurationSessionBackup) *LaunchProfileSessionBackupMode { +func (o LaunchProfileStreamConfigurationSessionBackupPtrOutput) Mode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchProfileStreamConfigurationSessionBackup) *string { if v == nil { return nil } return v.Mode - }).(LaunchProfileSessionBackupModePtrOutput) + }).(pulumi.StringPtrOutput) } -//

The configuration for a streaming session’s upload storage.

type LaunchProfileStreamConfigurationSessionStorage struct { - //

Allows artists to upload files to their workstations. The only valid option is - // UPLOAD.

- Mode []LaunchProfileStreamingSessionStorageMode `pulumi:"mode"` + // Allows artists to upload files to their workstations. The only valid option is `UPLOAD` . + Mode []string `pulumi:"mode"` // The configuration for the upload storage root of the streaming session. Root *LaunchProfileStreamingSessionStorageRoot `pulumi:"root"` } @@ -600,11 +510,9 @@ type LaunchProfileStreamConfigurationSessionStorageInput interface { ToLaunchProfileStreamConfigurationSessionStorageOutputWithContext(context.Context) LaunchProfileStreamConfigurationSessionStorageOutput } -//

The configuration for a streaming session’s upload storage.

type LaunchProfileStreamConfigurationSessionStorageArgs struct { - //

Allows artists to upload files to their workstations. The only valid option is - // UPLOAD.

- Mode LaunchProfileStreamingSessionStorageModeArrayInput `pulumi:"mode"` + // Allows artists to upload files to their workstations. The only valid option is `UPLOAD` . + Mode pulumi.StringArrayInput `pulumi:"mode"` // The configuration for the upload storage root of the streaming session. Root LaunchProfileStreamingSessionStorageRootPtrInput `pulumi:"root"` } @@ -662,7 +570,6 @@ func (i *launchProfileStreamConfigurationSessionStoragePtrType) ToLaunchProfileS return pulumi.ToOutputWithContext(ctx, i).(LaunchProfileStreamConfigurationSessionStoragePtrOutput) } -//

The configuration for a streaming session’s upload storage.

type LaunchProfileStreamConfigurationSessionStorageOutput struct{ *pulumi.OutputState } func (LaunchProfileStreamConfigurationSessionStorageOutput) ElementType() reflect.Type { @@ -687,13 +594,9 @@ func (o LaunchProfileStreamConfigurationSessionStorageOutput) ToLaunchProfileStr }).(LaunchProfileStreamConfigurationSessionStoragePtrOutput) } -//

Allows artists to upload files to their workstations. The only valid option is -// -// UPLOAD.

-func (o LaunchProfileStreamConfigurationSessionStorageOutput) Mode() LaunchProfileStreamingSessionStorageModeArrayOutput { - return o.ApplyT(func(v LaunchProfileStreamConfigurationSessionStorage) []LaunchProfileStreamingSessionStorageMode { - return v.Mode - }).(LaunchProfileStreamingSessionStorageModeArrayOutput) +// Allows artists to upload files to their workstations. The only valid option is `UPLOAD` . +func (o LaunchProfileStreamConfigurationSessionStorageOutput) Mode() pulumi.StringArrayOutput { + return o.ApplyT(func(v LaunchProfileStreamConfigurationSessionStorage) []string { return v.Mode }).(pulumi.StringArrayOutput) } // The configuration for the upload storage root of the streaming session. @@ -727,16 +630,14 @@ func (o LaunchProfileStreamConfigurationSessionStoragePtrOutput) Elem() LaunchPr }).(LaunchProfileStreamConfigurationSessionStorageOutput) } -//

Allows artists to upload files to their workstations. The only valid option is -// -// UPLOAD.

-func (o LaunchProfileStreamConfigurationSessionStoragePtrOutput) Mode() LaunchProfileStreamingSessionStorageModeArrayOutput { - return o.ApplyT(func(v *LaunchProfileStreamConfigurationSessionStorage) []LaunchProfileStreamingSessionStorageMode { +// Allows artists to upload files to their workstations. The only valid option is `UPLOAD` . +func (o LaunchProfileStreamConfigurationSessionStoragePtrOutput) Mode() pulumi.StringArrayOutput { + return o.ApplyT(func(v *LaunchProfileStreamConfigurationSessionStorage) []string { if v == nil { return nil } return v.Mode - }).(LaunchProfileStreamingSessionStorageModeArrayOutput) + }).(pulumi.StringArrayOutput) } // The configuration for the upload storage root of the streaming session. @@ -749,13 +650,10 @@ func (o LaunchProfileStreamConfigurationSessionStoragePtrOutput) Root() LaunchPr }).(LaunchProfileStreamingSessionStorageRootPtrOutput) } -//

The upload storage root location (folder) on streaming workstations where files are -// -// uploaded.

type LaunchProfileStreamingSessionStorageRoot struct { - //

The folder path in Linux workstations where files are uploaded.

+ // The folder path in Linux workstations where files are uploaded. Linux *string `pulumi:"linux"` - //

The folder path in Windows workstations where files are uploaded.

+ // The folder path in Windows workstations where files are uploaded. Windows *string `pulumi:"windows"` } @@ -770,13 +668,10 @@ type LaunchProfileStreamingSessionStorageRootInput interface { ToLaunchProfileStreamingSessionStorageRootOutputWithContext(context.Context) LaunchProfileStreamingSessionStorageRootOutput } -//

The upload storage root location (folder) on streaming workstations where files are -// -// uploaded.

type LaunchProfileStreamingSessionStorageRootArgs struct { - //

The folder path in Linux workstations where files are uploaded.

+ // The folder path in Linux workstations where files are uploaded. Linux pulumi.StringPtrInput `pulumi:"linux"` - //

The folder path in Windows workstations where files are uploaded.

+ // The folder path in Windows workstations where files are uploaded. Windows pulumi.StringPtrInput `pulumi:"windows"` } @@ -833,9 +728,6 @@ func (i *launchProfileStreamingSessionStorageRootPtrType) ToLaunchProfileStreami return pulumi.ToOutputWithContext(ctx, i).(LaunchProfileStreamingSessionStorageRootPtrOutput) } -//

The upload storage root location (folder) on streaming workstations where files are -// -// uploaded.

type LaunchProfileStreamingSessionStorageRootOutput struct{ *pulumi.OutputState } func (LaunchProfileStreamingSessionStorageRootOutput) ElementType() reflect.Type { @@ -860,12 +752,12 @@ func (o LaunchProfileStreamingSessionStorageRootOutput) ToLaunchProfileStreaming }).(LaunchProfileStreamingSessionStorageRootPtrOutput) } -//

The folder path in Linux workstations where files are uploaded.

+// The folder path in Linux workstations where files are uploaded. func (o LaunchProfileStreamingSessionStorageRootOutput) Linux() pulumi.StringPtrOutput { return o.ApplyT(func(v LaunchProfileStreamingSessionStorageRoot) *string { return v.Linux }).(pulumi.StringPtrOutput) } -//

The folder path in Windows workstations where files are uploaded.

+// The folder path in Windows workstations where files are uploaded. func (o LaunchProfileStreamingSessionStorageRootOutput) Windows() pulumi.StringPtrOutput { return o.ApplyT(func(v LaunchProfileStreamingSessionStorageRoot) *string { return v.Windows }).(pulumi.StringPtrOutput) } @@ -894,7 +786,7 @@ func (o LaunchProfileStreamingSessionStorageRootPtrOutput) Elem() LaunchProfileS }).(LaunchProfileStreamingSessionStorageRootOutput) } -//

The folder path in Linux workstations where files are uploaded.

+// The folder path in Linux workstations where files are uploaded. func (o LaunchProfileStreamingSessionStorageRootPtrOutput) Linux() pulumi.StringPtrOutput { return o.ApplyT(func(v *LaunchProfileStreamingSessionStorageRoot) *string { if v == nil { @@ -904,7 +796,7 @@ func (o LaunchProfileStreamingSessionStorageRootPtrOutput) Linux() pulumi.String }).(pulumi.StringPtrOutput) } -//

The folder path in Windows workstations where files are uploaded.

+// The folder path in Windows workstations where files are uploaded. func (o LaunchProfileStreamingSessionStorageRootPtrOutput) Windows() pulumi.StringPtrOutput { return o.ApplyT(func(v *LaunchProfileStreamingSessionStorageRoot) *string { if v == nil { @@ -914,20 +806,12 @@ func (o LaunchProfileStreamingSessionStorageRootPtrOutput) Windows() pulumi.Stri }).(pulumi.StringPtrOutput) } -//

Custom volume configuration for the root volumes that are attached to streaming -// -// sessions.

-//

This parameter is only allowed when sessionPersistenceMode is -// ACTIVATED.

type LaunchProfileVolumeConfiguration struct { - //

The number of I/O operations per second for the root volume that is attached to - // streaming session.

+ // The number of I/O operations per second for the root volume that is attached to streaming session. Iops *float64 `pulumi:"iops"` - //

The size of the root volume that is attached to the streaming session. The root volume - // size is measured in GiBs.

+ // The size of the root volume that is attached to the streaming session. The root volume size is measured in GiBs. Size *float64 `pulumi:"size"` - //

The throughput to provision for the root volume that is attached to the streaming - // session. The throughput is measured in MiB/s.

+ // The throughput to provision for the root volume that is attached to the streaming session. The throughput is measured in MiB/s. Throughput *float64 `pulumi:"throughput"` } @@ -942,20 +826,12 @@ type LaunchProfileVolumeConfigurationInput interface { ToLaunchProfileVolumeConfigurationOutputWithContext(context.Context) LaunchProfileVolumeConfigurationOutput } -//

Custom volume configuration for the root volumes that are attached to streaming -// -// sessions.

-//

This parameter is only allowed when sessionPersistenceMode is -// ACTIVATED.

type LaunchProfileVolumeConfigurationArgs struct { - //

The number of I/O operations per second for the root volume that is attached to - // streaming session.

+ // The number of I/O operations per second for the root volume that is attached to streaming session. Iops pulumi.Float64PtrInput `pulumi:"iops"` - //

The size of the root volume that is attached to the streaming session. The root volume - // size is measured in GiBs.

+ // The size of the root volume that is attached to the streaming session. The root volume size is measured in GiBs. Size pulumi.Float64PtrInput `pulumi:"size"` - //

The throughput to provision for the root volume that is attached to the streaming - // session. The throughput is measured in MiB/s.

+ // The throughput to provision for the root volume that is attached to the streaming session. The throughput is measured in MiB/s. Throughput pulumi.Float64PtrInput `pulumi:"throughput"` } @@ -1012,11 +888,6 @@ func (i *launchProfileVolumeConfigurationPtrType) ToLaunchProfileVolumeConfigura return pulumi.ToOutputWithContext(ctx, i).(LaunchProfileVolumeConfigurationPtrOutput) } -//

Custom volume configuration for the root volumes that are attached to streaming -// -// sessions.

-//

This parameter is only allowed when sessionPersistenceMode is -// ACTIVATED.

type LaunchProfileVolumeConfigurationOutput struct{ *pulumi.OutputState } func (LaunchProfileVolumeConfigurationOutput) ElementType() reflect.Type { @@ -1041,23 +912,17 @@ func (o LaunchProfileVolumeConfigurationOutput) ToLaunchProfileVolumeConfigurati }).(LaunchProfileVolumeConfigurationPtrOutput) } -//

The number of I/O operations per second for the root volume that is attached to -// -// streaming session.

+// The number of I/O operations per second for the root volume that is attached to streaming session. func (o LaunchProfileVolumeConfigurationOutput) Iops() pulumi.Float64PtrOutput { return o.ApplyT(func(v LaunchProfileVolumeConfiguration) *float64 { return v.Iops }).(pulumi.Float64PtrOutput) } -//

The size of the root volume that is attached to the streaming session. The root volume -// -// size is measured in GiBs.

+// The size of the root volume that is attached to the streaming session. The root volume size is measured in GiBs. func (o LaunchProfileVolumeConfigurationOutput) Size() pulumi.Float64PtrOutput { return o.ApplyT(func(v LaunchProfileVolumeConfiguration) *float64 { return v.Size }).(pulumi.Float64PtrOutput) } -//

The throughput to provision for the root volume that is attached to the streaming -// -// session. The throughput is measured in MiB/s.

+// The throughput to provision for the root volume that is attached to the streaming session. The throughput is measured in MiB/s. func (o LaunchProfileVolumeConfigurationOutput) Throughput() pulumi.Float64PtrOutput { return o.ApplyT(func(v LaunchProfileVolumeConfiguration) *float64 { return v.Throughput }).(pulumi.Float64PtrOutput) } @@ -1086,9 +951,7 @@ func (o LaunchProfileVolumeConfigurationPtrOutput) Elem() LaunchProfileVolumeCon }).(LaunchProfileVolumeConfigurationOutput) } -//

The number of I/O operations per second for the root volume that is attached to -// -// streaming session.

+// The number of I/O operations per second for the root volume that is attached to streaming session. func (o LaunchProfileVolumeConfigurationPtrOutput) Iops() pulumi.Float64PtrOutput { return o.ApplyT(func(v *LaunchProfileVolumeConfiguration) *float64 { if v == nil { @@ -1098,9 +961,7 @@ func (o LaunchProfileVolumeConfigurationPtrOutput) Iops() pulumi.Float64PtrOutpu }).(pulumi.Float64PtrOutput) } -//

The size of the root volume that is attached to the streaming session. The root volume -// -// size is measured in GiBs.

+// The size of the root volume that is attached to the streaming session. The root volume size is measured in GiBs. func (o LaunchProfileVolumeConfigurationPtrOutput) Size() pulumi.Float64PtrOutput { return o.ApplyT(func(v *LaunchProfileVolumeConfiguration) *float64 { if v == nil { @@ -1110,9 +971,7 @@ func (o LaunchProfileVolumeConfigurationPtrOutput) Size() pulumi.Float64PtrOutpu }).(pulumi.Float64PtrOutput) } -//

The throughput to provision for the root volume that is attached to the streaming -// -// session. The throughput is measured in MiB/s.

+// The throughput to provision for the root volume that is attached to the streaming session. The throughput is measured in MiB/s. func (o LaunchProfileVolumeConfigurationPtrOutput) Throughput() pulumi.Float64PtrOutput { return o.ApplyT(func(v *LaunchProfileVolumeConfiguration) *float64 { if v == nil { @@ -1122,15 +981,13 @@ func (o LaunchProfileVolumeConfigurationPtrOutput) Throughput() pulumi.Float64Pt }).(pulumi.Float64PtrOutput) } -//

TODO

type StreamingImageEncryptionConfiguration struct { - //

The ARN for a KMS key that is used to encrypt studio data.

+ // The ARN for a KMS key that is used to encrypt studio data. KeyArn *string `pulumi:"keyArn"` // The type of KMS key that is used to encrypt studio data. - KeyType StreamingImageEncryptionConfigurationKeyType `pulumi:"keyType"` + KeyType string `pulumi:"keyType"` } -//

TODO

type StreamingImageEncryptionConfigurationOutput struct{ *pulumi.OutputState } func (StreamingImageEncryptionConfigurationOutput) ElementType() reflect.Type { @@ -1145,16 +1002,14 @@ func (o StreamingImageEncryptionConfigurationOutput) ToStreamingImageEncryptionC return o } -//

The ARN for a KMS key that is used to encrypt studio data.

+// The ARN for a KMS key that is used to encrypt studio data. func (o StreamingImageEncryptionConfigurationOutput) KeyArn() pulumi.StringPtrOutput { return o.ApplyT(func(v StreamingImageEncryptionConfiguration) *string { return v.KeyArn }).(pulumi.StringPtrOutput) } // The type of KMS key that is used to encrypt studio data. -func (o StreamingImageEncryptionConfigurationOutput) KeyType() StreamingImageEncryptionConfigurationKeyTypeOutput { - return o.ApplyT(func(v StreamingImageEncryptionConfiguration) StreamingImageEncryptionConfigurationKeyType { - return v.KeyType - }).(StreamingImageEncryptionConfigurationKeyTypeOutput) +func (o StreamingImageEncryptionConfigurationOutput) KeyType() pulumi.StringOutput { + return o.ApplyT(func(v StreamingImageEncryptionConfiguration) string { return v.KeyType }).(pulumi.StringOutput) } type StreamingImageEncryptionConfigurationPtrOutput struct{ *pulumi.OutputState } @@ -1181,7 +1036,7 @@ func (o StreamingImageEncryptionConfigurationPtrOutput) Elem() StreamingImageEnc }).(StreamingImageEncryptionConfigurationOutput) } -//

The ARN for a KMS key that is used to encrypt studio data.

+// The ARN for a KMS key that is used to encrypt studio data. func (o StreamingImageEncryptionConfigurationPtrOutput) KeyArn() pulumi.StringPtrOutput { return o.ApplyT(func(v *StreamingImageEncryptionConfiguration) *string { if v == nil { @@ -1192,22 +1047,19 @@ func (o StreamingImageEncryptionConfigurationPtrOutput) KeyArn() pulumi.StringPt } // The type of KMS key that is used to encrypt studio data. -func (o StreamingImageEncryptionConfigurationPtrOutput) KeyType() StreamingImageEncryptionConfigurationKeyTypePtrOutput { - return o.ApplyT(func(v *StreamingImageEncryptionConfiguration) *StreamingImageEncryptionConfigurationKeyType { +func (o StreamingImageEncryptionConfigurationPtrOutput) KeyType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *StreamingImageEncryptionConfiguration) *string { if v == nil { return nil } return &v.KeyType - }).(StreamingImageEncryptionConfigurationKeyTypePtrOutput) + }).(pulumi.StringPtrOutput) } -//

An LDAP attribute of an Active Directory computer account, in the form of a name:value -// -// pair.

type StudioComponentActiveDirectoryComputerAttribute struct { - //

The name for the LDAP attribute.

+ // The name for the LDAP attribute. Name *string `pulumi:"name"` - //

The value for the LDAP attribute.

+ // The value for the LDAP attribute. Value *string `pulumi:"value"` } @@ -1222,13 +1074,10 @@ type StudioComponentActiveDirectoryComputerAttributeInput interface { ToStudioComponentActiveDirectoryComputerAttributeOutputWithContext(context.Context) StudioComponentActiveDirectoryComputerAttributeOutput } -//

An LDAP attribute of an Active Directory computer account, in the form of a name:value -// -// pair.

type StudioComponentActiveDirectoryComputerAttributeArgs struct { - //

The name for the LDAP attribute.

+ // The name for the LDAP attribute. Name pulumi.StringPtrInput `pulumi:"name"` - //

The value for the LDAP attribute.

+ // The value for the LDAP attribute. Value pulumi.StringPtrInput `pulumi:"value"` } @@ -1269,9 +1118,6 @@ func (i StudioComponentActiveDirectoryComputerAttributeArray) ToStudioComponentA return pulumi.ToOutputWithContext(ctx, i).(StudioComponentActiveDirectoryComputerAttributeArrayOutput) } -//

An LDAP attribute of an Active Directory computer account, in the form of a name:value -// -// pair.

type StudioComponentActiveDirectoryComputerAttributeOutput struct{ *pulumi.OutputState } func (StudioComponentActiveDirectoryComputerAttributeOutput) ElementType() reflect.Type { @@ -1286,12 +1132,12 @@ func (o StudioComponentActiveDirectoryComputerAttributeOutput) ToStudioComponent return o } -//

The name for the LDAP attribute.

+// The name for the LDAP attribute. func (o StudioComponentActiveDirectoryComputerAttributeOutput) Name() pulumi.StringPtrOutput { return o.ApplyT(func(v StudioComponentActiveDirectoryComputerAttribute) *string { return v.Name }).(pulumi.StringPtrOutput) } -//

The value for the LDAP attribute.

+// The value for the LDAP attribute. func (o StudioComponentActiveDirectoryComputerAttributeOutput) Value() pulumi.StringPtrOutput { return o.ApplyT(func(v StudioComponentActiveDirectoryComputerAttribute) *string { return v.Value }).(pulumi.StringPtrOutput) } @@ -1316,17 +1162,12 @@ func (o StudioComponentActiveDirectoryComputerAttributeArrayOutput) Index(i pulu }).(StudioComponentActiveDirectoryComputerAttributeOutput) } -//

The configuration for a Microsoft Active Directory (Microsoft AD) studio -// -// resource.

type StudioComponentActiveDirectoryConfiguration struct { - //

A collection of custom attributes for an Active Directory computer.

+ // A collection of custom attributes for an Active Directory computer. ComputerAttributes []StudioComponentActiveDirectoryComputerAttribute `pulumi:"computerAttributes"` - //

The directory ID of the Directory Service for Microsoft Active Directory to access - // using this studio component.

+ // The directory ID of the AWS Directory Service for Microsoft Active Directory to access using this studio component. DirectoryId *string `pulumi:"directoryId"` - //

The distinguished name (DN) and organizational unit (OU) of an Active Directory - // computer.

+ // The distinguished name (DN) and organizational unit (OU) of an Active Directory computer. OrganizationalUnitDistinguishedName *string `pulumi:"organizationalUnitDistinguishedName"` } @@ -1341,17 +1182,12 @@ type StudioComponentActiveDirectoryConfigurationInput interface { ToStudioComponentActiveDirectoryConfigurationOutputWithContext(context.Context) StudioComponentActiveDirectoryConfigurationOutput } -//

The configuration for a Microsoft Active Directory (Microsoft AD) studio -// -// resource.

type StudioComponentActiveDirectoryConfigurationArgs struct { - //

A collection of custom attributes for an Active Directory computer.

+ // A collection of custom attributes for an Active Directory computer. ComputerAttributes StudioComponentActiveDirectoryComputerAttributeArrayInput `pulumi:"computerAttributes"` - //

The directory ID of the Directory Service for Microsoft Active Directory to access - // using this studio component.

+ // The directory ID of the AWS Directory Service for Microsoft Active Directory to access using this studio component. DirectoryId pulumi.StringPtrInput `pulumi:"directoryId"` - //

The distinguished name (DN) and organizational unit (OU) of an Active Directory - // computer.

+ // The distinguished name (DN) and organizational unit (OU) of an Active Directory computer. OrganizationalUnitDistinguishedName pulumi.StringPtrInput `pulumi:"organizationalUnitDistinguishedName"` } @@ -1408,9 +1244,6 @@ func (i *studioComponentActiveDirectoryConfigurationPtrType) ToStudioComponentAc return pulumi.ToOutputWithContext(ctx, i).(StudioComponentActiveDirectoryConfigurationPtrOutput) } -//

The configuration for a Microsoft Active Directory (Microsoft AD) studio -// -// resource.

type StudioComponentActiveDirectoryConfigurationOutput struct{ *pulumi.OutputState } func (StudioComponentActiveDirectoryConfigurationOutput) ElementType() reflect.Type { @@ -1435,23 +1268,19 @@ func (o StudioComponentActiveDirectoryConfigurationOutput) ToStudioComponentActi }).(StudioComponentActiveDirectoryConfigurationPtrOutput) } -//

A collection of custom attributes for an Active Directory computer.

+// A collection of custom attributes for an Active Directory computer. func (o StudioComponentActiveDirectoryConfigurationOutput) ComputerAttributes() StudioComponentActiveDirectoryComputerAttributeArrayOutput { return o.ApplyT(func(v StudioComponentActiveDirectoryConfiguration) []StudioComponentActiveDirectoryComputerAttribute { return v.ComputerAttributes }).(StudioComponentActiveDirectoryComputerAttributeArrayOutput) } -//

The directory ID of the Directory Service for Microsoft Active Directory to access -// -// using this studio component.

+// The directory ID of the AWS Directory Service for Microsoft Active Directory to access using this studio component. func (o StudioComponentActiveDirectoryConfigurationOutput) DirectoryId() pulumi.StringPtrOutput { return o.ApplyT(func(v StudioComponentActiveDirectoryConfiguration) *string { return v.DirectoryId }).(pulumi.StringPtrOutput) } -//

The distinguished name (DN) and organizational unit (OU) of an Active Directory -// -// computer.

+// The distinguished name (DN) and organizational unit (OU) of an Active Directory computer. func (o StudioComponentActiveDirectoryConfigurationOutput) OrganizationalUnitDistinguishedName() pulumi.StringPtrOutput { return o.ApplyT(func(v StudioComponentActiveDirectoryConfiguration) *string { return v.OrganizationalUnitDistinguishedName @@ -1482,7 +1311,7 @@ func (o StudioComponentActiveDirectoryConfigurationPtrOutput) Elem() StudioCompo }).(StudioComponentActiveDirectoryConfigurationOutput) } -//

A collection of custom attributes for an Active Directory computer.

+// A collection of custom attributes for an Active Directory computer. func (o StudioComponentActiveDirectoryConfigurationPtrOutput) ComputerAttributes() StudioComponentActiveDirectoryComputerAttributeArrayOutput { return o.ApplyT(func(v *StudioComponentActiveDirectoryConfiguration) []StudioComponentActiveDirectoryComputerAttribute { if v == nil { @@ -1492,9 +1321,7 @@ func (o StudioComponentActiveDirectoryConfigurationPtrOutput) ComputerAttributes }).(StudioComponentActiveDirectoryComputerAttributeArrayOutput) } -//

The directory ID of the Directory Service for Microsoft Active Directory to access -// -// using this studio component.

+// The directory ID of the AWS Directory Service for Microsoft Active Directory to access using this studio component. func (o StudioComponentActiveDirectoryConfigurationPtrOutput) DirectoryId() pulumi.StringPtrOutput { return o.ApplyT(func(v *StudioComponentActiveDirectoryConfiguration) *string { if v == nil { @@ -1504,9 +1331,7 @@ func (o StudioComponentActiveDirectoryConfigurationPtrOutput) DirectoryId() pulu }).(pulumi.StringPtrOutput) } -//

The distinguished name (DN) and organizational unit (OU) of an Active Directory -// -// computer.

+// The distinguished name (DN) and organizational unit (OU) of an Active Directory computer. func (o StudioComponentActiveDirectoryConfigurationPtrOutput) OrganizationalUnitDistinguishedName() pulumi.StringPtrOutput { return o.ApplyT(func(v *StudioComponentActiveDirectoryConfiguration) *string { if v == nil { @@ -1516,13 +1341,10 @@ func (o StudioComponentActiveDirectoryConfigurationPtrOutput) OrganizationalUnit }).(pulumi.StringPtrOutput) } -//

The configuration for a render farm that is associated with a studio resource.

type StudioComponentComputeFarmConfiguration struct { - //

The name of an Active Directory user that is used on ComputeFarm worker - // instances.

+ // The name of an Active Directory user that is used on ComputeFarm worker instances. ActiveDirectoryUser *string `pulumi:"activeDirectoryUser"` - //

The endpoint of the ComputeFarm that is accessed by the studio component - // resource.

+ // The endpoint of the ComputeFarm that is accessed by the studio component resource. Endpoint *string `pulumi:"endpoint"` } @@ -1537,13 +1359,10 @@ type StudioComponentComputeFarmConfigurationInput interface { ToStudioComponentComputeFarmConfigurationOutputWithContext(context.Context) StudioComponentComputeFarmConfigurationOutput } -//

The configuration for a render farm that is associated with a studio resource.

type StudioComponentComputeFarmConfigurationArgs struct { - //

The name of an Active Directory user that is used on ComputeFarm worker - // instances.

+ // The name of an Active Directory user that is used on ComputeFarm worker instances. ActiveDirectoryUser pulumi.StringPtrInput `pulumi:"activeDirectoryUser"` - //

The endpoint of the ComputeFarm that is accessed by the studio component - // resource.

+ // The endpoint of the ComputeFarm that is accessed by the studio component resource. Endpoint pulumi.StringPtrInput `pulumi:"endpoint"` } @@ -1600,7 +1419,6 @@ func (i *studioComponentComputeFarmConfigurationPtrType) ToStudioComponentComput return pulumi.ToOutputWithContext(ctx, i).(StudioComponentComputeFarmConfigurationPtrOutput) } -//

The configuration for a render farm that is associated with a studio resource.

type StudioComponentComputeFarmConfigurationOutput struct{ *pulumi.OutputState } func (StudioComponentComputeFarmConfigurationOutput) ElementType() reflect.Type { @@ -1625,16 +1443,12 @@ func (o StudioComponentComputeFarmConfigurationOutput) ToStudioComponentComputeF }).(StudioComponentComputeFarmConfigurationPtrOutput) } -//

The name of an Active Directory user that is used on ComputeFarm worker -// -// instances.

+// The name of an Active Directory user that is used on ComputeFarm worker instances. func (o StudioComponentComputeFarmConfigurationOutput) ActiveDirectoryUser() pulumi.StringPtrOutput { return o.ApplyT(func(v StudioComponentComputeFarmConfiguration) *string { return v.ActiveDirectoryUser }).(pulumi.StringPtrOutput) } -//

The endpoint of the ComputeFarm that is accessed by the studio component -// -// resource.

+// The endpoint of the ComputeFarm that is accessed by the studio component resource. func (o StudioComponentComputeFarmConfigurationOutput) Endpoint() pulumi.StringPtrOutput { return o.ApplyT(func(v StudioComponentComputeFarmConfiguration) *string { return v.Endpoint }).(pulumi.StringPtrOutput) } @@ -1663,9 +1477,7 @@ func (o StudioComponentComputeFarmConfigurationPtrOutput) Elem() StudioComponent }).(StudioComponentComputeFarmConfigurationOutput) } -//

The name of an Active Directory user that is used on ComputeFarm worker -// -// instances.

+// The name of an Active Directory user that is used on ComputeFarm worker instances. func (o StudioComponentComputeFarmConfigurationPtrOutput) ActiveDirectoryUser() pulumi.StringPtrOutput { return o.ApplyT(func(v *StudioComponentComputeFarmConfiguration) *string { if v == nil { @@ -1675,9 +1487,7 @@ func (o StudioComponentComputeFarmConfigurationPtrOutput) ActiveDirectoryUser() }).(pulumi.StringPtrOutput) } -//

The endpoint of the ComputeFarm that is accessed by the studio component -// -// resource.

+// The endpoint of the ComputeFarm that is accessed by the studio component resource. func (o StudioComponentComputeFarmConfigurationPtrOutput) Endpoint() pulumi.StringPtrOutput { return o.ApplyT(func(v *StudioComponentComputeFarmConfiguration) *string { if v == nil { @@ -1687,568 +1497,216 @@ func (o StudioComponentComputeFarmConfigurationPtrOutput) Endpoint() pulumi.Stri }).(pulumi.StringPtrOutput) } -//

The configuration of the studio component, based on component type.

-type StudioComponentConfiguration0Properties struct { - ActiveDirectoryConfiguration StudioComponentActiveDirectoryConfiguration `pulumi:"activeDirectoryConfiguration"` +type StudioComponentConfiguration struct { + // The configuration for a AWS Directory Service for Microsoft Active Directory studio resource. + ActiveDirectoryConfiguration *StudioComponentActiveDirectoryConfiguration `pulumi:"activeDirectoryConfiguration"` + // The configuration for a render farm that is associated with a studio resource. + ComputeFarmConfiguration *StudioComponentComputeFarmConfiguration `pulumi:"computeFarmConfiguration"` + // The configuration for a license service that is associated with a studio resource. + LicenseServiceConfiguration *StudioComponentLicenseServiceConfiguration `pulumi:"licenseServiceConfiguration"` + // The configuration for a shared file storage system that is associated with a studio resource. + SharedFileSystemConfiguration *StudioComponentSharedFileSystemConfiguration `pulumi:"sharedFileSystemConfiguration"` } -// StudioComponentConfiguration0PropertiesInput is an input type that accepts StudioComponentConfiguration0PropertiesArgs and StudioComponentConfiguration0PropertiesOutput values. -// You can construct a concrete instance of `StudioComponentConfiguration0PropertiesInput` via: +// StudioComponentConfigurationInput is an input type that accepts StudioComponentConfigurationArgs and StudioComponentConfigurationOutput values. +// You can construct a concrete instance of `StudioComponentConfigurationInput` via: // -// StudioComponentConfiguration0PropertiesArgs{...} -type StudioComponentConfiguration0PropertiesInput interface { +// StudioComponentConfigurationArgs{...} +type StudioComponentConfigurationInput interface { pulumi.Input - ToStudioComponentConfiguration0PropertiesOutput() StudioComponentConfiguration0PropertiesOutput - ToStudioComponentConfiguration0PropertiesOutputWithContext(context.Context) StudioComponentConfiguration0PropertiesOutput + ToStudioComponentConfigurationOutput() StudioComponentConfigurationOutput + ToStudioComponentConfigurationOutputWithContext(context.Context) StudioComponentConfigurationOutput } -//

The configuration of the studio component, based on component type.

-type StudioComponentConfiguration0PropertiesArgs struct { - ActiveDirectoryConfiguration StudioComponentActiveDirectoryConfigurationInput `pulumi:"activeDirectoryConfiguration"` +type StudioComponentConfigurationArgs struct { + // The configuration for a AWS Directory Service for Microsoft Active Directory studio resource. + ActiveDirectoryConfiguration StudioComponentActiveDirectoryConfigurationPtrInput `pulumi:"activeDirectoryConfiguration"` + // The configuration for a render farm that is associated with a studio resource. + ComputeFarmConfiguration StudioComponentComputeFarmConfigurationPtrInput `pulumi:"computeFarmConfiguration"` + // The configuration for a license service that is associated with a studio resource. + LicenseServiceConfiguration StudioComponentLicenseServiceConfigurationPtrInput `pulumi:"licenseServiceConfiguration"` + // The configuration for a shared file storage system that is associated with a studio resource. + SharedFileSystemConfiguration StudioComponentSharedFileSystemConfigurationPtrInput `pulumi:"sharedFileSystemConfiguration"` } -func (StudioComponentConfiguration0PropertiesArgs) ElementType() reflect.Type { - return reflect.TypeOf((*StudioComponentConfiguration0Properties)(nil)).Elem() +func (StudioComponentConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StudioComponentConfiguration)(nil)).Elem() } -func (i StudioComponentConfiguration0PropertiesArgs) ToStudioComponentConfiguration0PropertiesOutput() StudioComponentConfiguration0PropertiesOutput { - return i.ToStudioComponentConfiguration0PropertiesOutputWithContext(context.Background()) +func (i StudioComponentConfigurationArgs) ToStudioComponentConfigurationOutput() StudioComponentConfigurationOutput { + return i.ToStudioComponentConfigurationOutputWithContext(context.Background()) } -func (i StudioComponentConfiguration0PropertiesArgs) ToStudioComponentConfiguration0PropertiesOutputWithContext(ctx context.Context) StudioComponentConfiguration0PropertiesOutput { - return pulumi.ToOutputWithContext(ctx, i).(StudioComponentConfiguration0PropertiesOutput) +func (i StudioComponentConfigurationArgs) ToStudioComponentConfigurationOutputWithContext(ctx context.Context) StudioComponentConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(StudioComponentConfigurationOutput) } -func (i StudioComponentConfiguration0PropertiesArgs) ToStudioComponentConfiguration0PropertiesPtrOutput() StudioComponentConfiguration0PropertiesPtrOutput { - return i.ToStudioComponentConfiguration0PropertiesPtrOutputWithContext(context.Background()) +func (i StudioComponentConfigurationArgs) ToStudioComponentConfigurationPtrOutput() StudioComponentConfigurationPtrOutput { + return i.ToStudioComponentConfigurationPtrOutputWithContext(context.Background()) } -func (i StudioComponentConfiguration0PropertiesArgs) ToStudioComponentConfiguration0PropertiesPtrOutputWithContext(ctx context.Context) StudioComponentConfiguration0PropertiesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(StudioComponentConfiguration0PropertiesOutput).ToStudioComponentConfiguration0PropertiesPtrOutputWithContext(ctx) +func (i StudioComponentConfigurationArgs) ToStudioComponentConfigurationPtrOutputWithContext(ctx context.Context) StudioComponentConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StudioComponentConfigurationOutput).ToStudioComponentConfigurationPtrOutputWithContext(ctx) } -// StudioComponentConfiguration0PropertiesPtrInput is an input type that accepts StudioComponentConfiguration0PropertiesArgs, StudioComponentConfiguration0PropertiesPtr and StudioComponentConfiguration0PropertiesPtrOutput values. -// You can construct a concrete instance of `StudioComponentConfiguration0PropertiesPtrInput` via: +// StudioComponentConfigurationPtrInput is an input type that accepts StudioComponentConfigurationArgs, StudioComponentConfigurationPtr and StudioComponentConfigurationPtrOutput values. +// You can construct a concrete instance of `StudioComponentConfigurationPtrInput` via: // -// StudioComponentConfiguration0PropertiesArgs{...} +// StudioComponentConfigurationArgs{...} // // or: // // nil -type StudioComponentConfiguration0PropertiesPtrInput interface { +type StudioComponentConfigurationPtrInput interface { pulumi.Input - ToStudioComponentConfiguration0PropertiesPtrOutput() StudioComponentConfiguration0PropertiesPtrOutput - ToStudioComponentConfiguration0PropertiesPtrOutputWithContext(context.Context) StudioComponentConfiguration0PropertiesPtrOutput + ToStudioComponentConfigurationPtrOutput() StudioComponentConfigurationPtrOutput + ToStudioComponentConfigurationPtrOutputWithContext(context.Context) StudioComponentConfigurationPtrOutput } -type studioComponentConfiguration0PropertiesPtrType StudioComponentConfiguration0PropertiesArgs +type studioComponentConfigurationPtrType StudioComponentConfigurationArgs -func StudioComponentConfiguration0PropertiesPtr(v *StudioComponentConfiguration0PropertiesArgs) StudioComponentConfiguration0PropertiesPtrInput { - return (*studioComponentConfiguration0PropertiesPtrType)(v) +func StudioComponentConfigurationPtr(v *StudioComponentConfigurationArgs) StudioComponentConfigurationPtrInput { + return (*studioComponentConfigurationPtrType)(v) } -func (*studioComponentConfiguration0PropertiesPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**StudioComponentConfiguration0Properties)(nil)).Elem() +func (*studioComponentConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**StudioComponentConfiguration)(nil)).Elem() } -func (i *studioComponentConfiguration0PropertiesPtrType) ToStudioComponentConfiguration0PropertiesPtrOutput() StudioComponentConfiguration0PropertiesPtrOutput { - return i.ToStudioComponentConfiguration0PropertiesPtrOutputWithContext(context.Background()) +func (i *studioComponentConfigurationPtrType) ToStudioComponentConfigurationPtrOutput() StudioComponentConfigurationPtrOutput { + return i.ToStudioComponentConfigurationPtrOutputWithContext(context.Background()) } -func (i *studioComponentConfiguration0PropertiesPtrType) ToStudioComponentConfiguration0PropertiesPtrOutputWithContext(ctx context.Context) StudioComponentConfiguration0PropertiesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(StudioComponentConfiguration0PropertiesPtrOutput) +func (i *studioComponentConfigurationPtrType) ToStudioComponentConfigurationPtrOutputWithContext(ctx context.Context) StudioComponentConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(StudioComponentConfigurationPtrOutput) } -//

The configuration of the studio component, based on component type.

-type StudioComponentConfiguration0PropertiesOutput struct{ *pulumi.OutputState } +type StudioComponentConfigurationOutput struct{ *pulumi.OutputState } -func (StudioComponentConfiguration0PropertiesOutput) ElementType() reflect.Type { - return reflect.TypeOf((*StudioComponentConfiguration0Properties)(nil)).Elem() +func (StudioComponentConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StudioComponentConfiguration)(nil)).Elem() } -func (o StudioComponentConfiguration0PropertiesOutput) ToStudioComponentConfiguration0PropertiesOutput() StudioComponentConfiguration0PropertiesOutput { +func (o StudioComponentConfigurationOutput) ToStudioComponentConfigurationOutput() StudioComponentConfigurationOutput { return o } -func (o StudioComponentConfiguration0PropertiesOutput) ToStudioComponentConfiguration0PropertiesOutputWithContext(ctx context.Context) StudioComponentConfiguration0PropertiesOutput { +func (o StudioComponentConfigurationOutput) ToStudioComponentConfigurationOutputWithContext(ctx context.Context) StudioComponentConfigurationOutput { return o } -func (o StudioComponentConfiguration0PropertiesOutput) ToStudioComponentConfiguration0PropertiesPtrOutput() StudioComponentConfiguration0PropertiesPtrOutput { - return o.ToStudioComponentConfiguration0PropertiesPtrOutputWithContext(context.Background()) +func (o StudioComponentConfigurationOutput) ToStudioComponentConfigurationPtrOutput() StudioComponentConfigurationPtrOutput { + return o.ToStudioComponentConfigurationPtrOutputWithContext(context.Background()) } -func (o StudioComponentConfiguration0PropertiesOutput) ToStudioComponentConfiguration0PropertiesPtrOutputWithContext(ctx context.Context) StudioComponentConfiguration0PropertiesPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v StudioComponentConfiguration0Properties) *StudioComponentConfiguration0Properties { +func (o StudioComponentConfigurationOutput) ToStudioComponentConfigurationPtrOutputWithContext(ctx context.Context) StudioComponentConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StudioComponentConfiguration) *StudioComponentConfiguration { return &v - }).(StudioComponentConfiguration0PropertiesPtrOutput) + }).(StudioComponentConfigurationPtrOutput) } -func (o StudioComponentConfiguration0PropertiesOutput) ActiveDirectoryConfiguration() StudioComponentActiveDirectoryConfigurationOutput { - return o.ApplyT(func(v StudioComponentConfiguration0Properties) StudioComponentActiveDirectoryConfiguration { +// The configuration for a AWS Directory Service for Microsoft Active Directory studio resource. +func (o StudioComponentConfigurationOutput) ActiveDirectoryConfiguration() StudioComponentActiveDirectoryConfigurationPtrOutput { + return o.ApplyT(func(v StudioComponentConfiguration) *StudioComponentActiveDirectoryConfiguration { return v.ActiveDirectoryConfiguration - }).(StudioComponentActiveDirectoryConfigurationOutput) -} - -type StudioComponentConfiguration0PropertiesPtrOutput struct{ *pulumi.OutputState } - -func (StudioComponentConfiguration0PropertiesPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**StudioComponentConfiguration0Properties)(nil)).Elem() -} - -func (o StudioComponentConfiguration0PropertiesPtrOutput) ToStudioComponentConfiguration0PropertiesPtrOutput() StudioComponentConfiguration0PropertiesPtrOutput { - return o -} - -func (o StudioComponentConfiguration0PropertiesPtrOutput) ToStudioComponentConfiguration0PropertiesPtrOutputWithContext(ctx context.Context) StudioComponentConfiguration0PropertiesPtrOutput { - return o -} - -func (o StudioComponentConfiguration0PropertiesPtrOutput) Elem() StudioComponentConfiguration0PropertiesOutput { - return o.ApplyT(func(v *StudioComponentConfiguration0Properties) StudioComponentConfiguration0Properties { - if v != nil { - return *v - } - var ret StudioComponentConfiguration0Properties - return ret - }).(StudioComponentConfiguration0PropertiesOutput) -} - -func (o StudioComponentConfiguration0PropertiesPtrOutput) ActiveDirectoryConfiguration() StudioComponentActiveDirectoryConfigurationPtrOutput { - return o.ApplyT(func(v *StudioComponentConfiguration0Properties) *StudioComponentActiveDirectoryConfiguration { - if v == nil { - return nil - } - return &v.ActiveDirectoryConfiguration }).(StudioComponentActiveDirectoryConfigurationPtrOutput) } -//

The configuration of the studio component, based on component type.

-type StudioComponentConfiguration1Properties struct { - ComputeFarmConfiguration StudioComponentComputeFarmConfiguration `pulumi:"computeFarmConfiguration"` -} - -// StudioComponentConfiguration1PropertiesInput is an input type that accepts StudioComponentConfiguration1PropertiesArgs and StudioComponentConfiguration1PropertiesOutput values. -// You can construct a concrete instance of `StudioComponentConfiguration1PropertiesInput` via: -// -// StudioComponentConfiguration1PropertiesArgs{...} -type StudioComponentConfiguration1PropertiesInput interface { - pulumi.Input - - ToStudioComponentConfiguration1PropertiesOutput() StudioComponentConfiguration1PropertiesOutput - ToStudioComponentConfiguration1PropertiesOutputWithContext(context.Context) StudioComponentConfiguration1PropertiesOutput -} - -//

The configuration of the studio component, based on component type.

-type StudioComponentConfiguration1PropertiesArgs struct { - ComputeFarmConfiguration StudioComponentComputeFarmConfigurationInput `pulumi:"computeFarmConfiguration"` -} - -func (StudioComponentConfiguration1PropertiesArgs) ElementType() reflect.Type { - return reflect.TypeOf((*StudioComponentConfiguration1Properties)(nil)).Elem() -} - -func (i StudioComponentConfiguration1PropertiesArgs) ToStudioComponentConfiguration1PropertiesOutput() StudioComponentConfiguration1PropertiesOutput { - return i.ToStudioComponentConfiguration1PropertiesOutputWithContext(context.Background()) -} - -func (i StudioComponentConfiguration1PropertiesArgs) ToStudioComponentConfiguration1PropertiesOutputWithContext(ctx context.Context) StudioComponentConfiguration1PropertiesOutput { - return pulumi.ToOutputWithContext(ctx, i).(StudioComponentConfiguration1PropertiesOutput) -} - -func (i StudioComponentConfiguration1PropertiesArgs) ToStudioComponentConfiguration1PropertiesPtrOutput() StudioComponentConfiguration1PropertiesPtrOutput { - return i.ToStudioComponentConfiguration1PropertiesPtrOutputWithContext(context.Background()) -} - -func (i StudioComponentConfiguration1PropertiesArgs) ToStudioComponentConfiguration1PropertiesPtrOutputWithContext(ctx context.Context) StudioComponentConfiguration1PropertiesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(StudioComponentConfiguration1PropertiesOutput).ToStudioComponentConfiguration1PropertiesPtrOutputWithContext(ctx) -} - -// StudioComponentConfiguration1PropertiesPtrInput is an input type that accepts StudioComponentConfiguration1PropertiesArgs, StudioComponentConfiguration1PropertiesPtr and StudioComponentConfiguration1PropertiesPtrOutput values. -// You can construct a concrete instance of `StudioComponentConfiguration1PropertiesPtrInput` via: -// -// StudioComponentConfiguration1PropertiesArgs{...} -// -// or: -// -// nil -type StudioComponentConfiguration1PropertiesPtrInput interface { - pulumi.Input - - ToStudioComponentConfiguration1PropertiesPtrOutput() StudioComponentConfiguration1PropertiesPtrOutput - ToStudioComponentConfiguration1PropertiesPtrOutputWithContext(context.Context) StudioComponentConfiguration1PropertiesPtrOutput -} - -type studioComponentConfiguration1PropertiesPtrType StudioComponentConfiguration1PropertiesArgs - -func StudioComponentConfiguration1PropertiesPtr(v *StudioComponentConfiguration1PropertiesArgs) StudioComponentConfiguration1PropertiesPtrInput { - return (*studioComponentConfiguration1PropertiesPtrType)(v) -} - -func (*studioComponentConfiguration1PropertiesPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**StudioComponentConfiguration1Properties)(nil)).Elem() -} - -func (i *studioComponentConfiguration1PropertiesPtrType) ToStudioComponentConfiguration1PropertiesPtrOutput() StudioComponentConfiguration1PropertiesPtrOutput { - return i.ToStudioComponentConfiguration1PropertiesPtrOutputWithContext(context.Background()) -} - -func (i *studioComponentConfiguration1PropertiesPtrType) ToStudioComponentConfiguration1PropertiesPtrOutputWithContext(ctx context.Context) StudioComponentConfiguration1PropertiesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(StudioComponentConfiguration1PropertiesPtrOutput) -} - -//

The configuration of the studio component, based on component type.

-type StudioComponentConfiguration1PropertiesOutput struct{ *pulumi.OutputState } - -func (StudioComponentConfiguration1PropertiesOutput) ElementType() reflect.Type { - return reflect.TypeOf((*StudioComponentConfiguration1Properties)(nil)).Elem() -} - -func (o StudioComponentConfiguration1PropertiesOutput) ToStudioComponentConfiguration1PropertiesOutput() StudioComponentConfiguration1PropertiesOutput { - return o -} - -func (o StudioComponentConfiguration1PropertiesOutput) ToStudioComponentConfiguration1PropertiesOutputWithContext(ctx context.Context) StudioComponentConfiguration1PropertiesOutput { - return o -} - -func (o StudioComponentConfiguration1PropertiesOutput) ToStudioComponentConfiguration1PropertiesPtrOutput() StudioComponentConfiguration1PropertiesPtrOutput { - return o.ToStudioComponentConfiguration1PropertiesPtrOutputWithContext(context.Background()) +// The configuration for a render farm that is associated with a studio resource. +func (o StudioComponentConfigurationOutput) ComputeFarmConfiguration() StudioComponentComputeFarmConfigurationPtrOutput { + return o.ApplyT(func(v StudioComponentConfiguration) *StudioComponentComputeFarmConfiguration { + return v.ComputeFarmConfiguration + }).(StudioComponentComputeFarmConfigurationPtrOutput) } -func (o StudioComponentConfiguration1PropertiesOutput) ToStudioComponentConfiguration1PropertiesPtrOutputWithContext(ctx context.Context) StudioComponentConfiguration1PropertiesPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v StudioComponentConfiguration1Properties) *StudioComponentConfiguration1Properties { - return &v - }).(StudioComponentConfiguration1PropertiesPtrOutput) +// The configuration for a license service that is associated with a studio resource. +func (o StudioComponentConfigurationOutput) LicenseServiceConfiguration() StudioComponentLicenseServiceConfigurationPtrOutput { + return o.ApplyT(func(v StudioComponentConfiguration) *StudioComponentLicenseServiceConfiguration { + return v.LicenseServiceConfiguration + }).(StudioComponentLicenseServiceConfigurationPtrOutput) } -func (o StudioComponentConfiguration1PropertiesOutput) ComputeFarmConfiguration() StudioComponentComputeFarmConfigurationOutput { - return o.ApplyT(func(v StudioComponentConfiguration1Properties) StudioComponentComputeFarmConfiguration { - return v.ComputeFarmConfiguration - }).(StudioComponentComputeFarmConfigurationOutput) +// The configuration for a shared file storage system that is associated with a studio resource. +func (o StudioComponentConfigurationOutput) SharedFileSystemConfiguration() StudioComponentSharedFileSystemConfigurationPtrOutput { + return o.ApplyT(func(v StudioComponentConfiguration) *StudioComponentSharedFileSystemConfiguration { + return v.SharedFileSystemConfiguration + }).(StudioComponentSharedFileSystemConfigurationPtrOutput) } -type StudioComponentConfiguration1PropertiesPtrOutput struct{ *pulumi.OutputState } +type StudioComponentConfigurationPtrOutput struct{ *pulumi.OutputState } -func (StudioComponentConfiguration1PropertiesPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**StudioComponentConfiguration1Properties)(nil)).Elem() +func (StudioComponentConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StudioComponentConfiguration)(nil)).Elem() } -func (o StudioComponentConfiguration1PropertiesPtrOutput) ToStudioComponentConfiguration1PropertiesPtrOutput() StudioComponentConfiguration1PropertiesPtrOutput { +func (o StudioComponentConfigurationPtrOutput) ToStudioComponentConfigurationPtrOutput() StudioComponentConfigurationPtrOutput { return o } -func (o StudioComponentConfiguration1PropertiesPtrOutput) ToStudioComponentConfiguration1PropertiesPtrOutputWithContext(ctx context.Context) StudioComponentConfiguration1PropertiesPtrOutput { +func (o StudioComponentConfigurationPtrOutput) ToStudioComponentConfigurationPtrOutputWithContext(ctx context.Context) StudioComponentConfigurationPtrOutput { return o } -func (o StudioComponentConfiguration1PropertiesPtrOutput) Elem() StudioComponentConfiguration1PropertiesOutput { - return o.ApplyT(func(v *StudioComponentConfiguration1Properties) StudioComponentConfiguration1Properties { +func (o StudioComponentConfigurationPtrOutput) Elem() StudioComponentConfigurationOutput { + return o.ApplyT(func(v *StudioComponentConfiguration) StudioComponentConfiguration { if v != nil { return *v } - var ret StudioComponentConfiguration1Properties + var ret StudioComponentConfiguration return ret - }).(StudioComponentConfiguration1PropertiesOutput) + }).(StudioComponentConfigurationOutput) } -func (o StudioComponentConfiguration1PropertiesPtrOutput) ComputeFarmConfiguration() StudioComponentComputeFarmConfigurationPtrOutput { - return o.ApplyT(func(v *StudioComponentConfiguration1Properties) *StudioComponentComputeFarmConfiguration { +// The configuration for a AWS Directory Service for Microsoft Active Directory studio resource. +func (o StudioComponentConfigurationPtrOutput) ActiveDirectoryConfiguration() StudioComponentActiveDirectoryConfigurationPtrOutput { + return o.ApplyT(func(v *StudioComponentConfiguration) *StudioComponentActiveDirectoryConfiguration { if v == nil { return nil } - return &v.ComputeFarmConfiguration - }).(StudioComponentComputeFarmConfigurationPtrOutput) -} - -//

The configuration of the studio component, based on component type.

-type StudioComponentConfiguration2Properties struct { - LicenseServiceConfiguration StudioComponentLicenseServiceConfiguration `pulumi:"licenseServiceConfiguration"` -} - -// StudioComponentConfiguration2PropertiesInput is an input type that accepts StudioComponentConfiguration2PropertiesArgs and StudioComponentConfiguration2PropertiesOutput values. -// You can construct a concrete instance of `StudioComponentConfiguration2PropertiesInput` via: -// -// StudioComponentConfiguration2PropertiesArgs{...} -type StudioComponentConfiguration2PropertiesInput interface { - pulumi.Input - - ToStudioComponentConfiguration2PropertiesOutput() StudioComponentConfiguration2PropertiesOutput - ToStudioComponentConfiguration2PropertiesOutputWithContext(context.Context) StudioComponentConfiguration2PropertiesOutput -} - -//

The configuration of the studio component, based on component type.

-type StudioComponentConfiguration2PropertiesArgs struct { - LicenseServiceConfiguration StudioComponentLicenseServiceConfigurationInput `pulumi:"licenseServiceConfiguration"` -} - -func (StudioComponentConfiguration2PropertiesArgs) ElementType() reflect.Type { - return reflect.TypeOf((*StudioComponentConfiguration2Properties)(nil)).Elem() -} - -func (i StudioComponentConfiguration2PropertiesArgs) ToStudioComponentConfiguration2PropertiesOutput() StudioComponentConfiguration2PropertiesOutput { - return i.ToStudioComponentConfiguration2PropertiesOutputWithContext(context.Background()) -} - -func (i StudioComponentConfiguration2PropertiesArgs) ToStudioComponentConfiguration2PropertiesOutputWithContext(ctx context.Context) StudioComponentConfiguration2PropertiesOutput { - return pulumi.ToOutputWithContext(ctx, i).(StudioComponentConfiguration2PropertiesOutput) -} - -func (i StudioComponentConfiguration2PropertiesArgs) ToStudioComponentConfiguration2PropertiesPtrOutput() StudioComponentConfiguration2PropertiesPtrOutput { - return i.ToStudioComponentConfiguration2PropertiesPtrOutputWithContext(context.Background()) -} - -func (i StudioComponentConfiguration2PropertiesArgs) ToStudioComponentConfiguration2PropertiesPtrOutputWithContext(ctx context.Context) StudioComponentConfiguration2PropertiesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(StudioComponentConfiguration2PropertiesOutput).ToStudioComponentConfiguration2PropertiesPtrOutputWithContext(ctx) -} - -// StudioComponentConfiguration2PropertiesPtrInput is an input type that accepts StudioComponentConfiguration2PropertiesArgs, StudioComponentConfiguration2PropertiesPtr and StudioComponentConfiguration2PropertiesPtrOutput values. -// You can construct a concrete instance of `StudioComponentConfiguration2PropertiesPtrInput` via: -// -// StudioComponentConfiguration2PropertiesArgs{...} -// -// or: -// -// nil -type StudioComponentConfiguration2PropertiesPtrInput interface { - pulumi.Input - - ToStudioComponentConfiguration2PropertiesPtrOutput() StudioComponentConfiguration2PropertiesPtrOutput - ToStudioComponentConfiguration2PropertiesPtrOutputWithContext(context.Context) StudioComponentConfiguration2PropertiesPtrOutput -} - -type studioComponentConfiguration2PropertiesPtrType StudioComponentConfiguration2PropertiesArgs - -func StudioComponentConfiguration2PropertiesPtr(v *StudioComponentConfiguration2PropertiesArgs) StudioComponentConfiguration2PropertiesPtrInput { - return (*studioComponentConfiguration2PropertiesPtrType)(v) -} - -func (*studioComponentConfiguration2PropertiesPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**StudioComponentConfiguration2Properties)(nil)).Elem() -} - -func (i *studioComponentConfiguration2PropertiesPtrType) ToStudioComponentConfiguration2PropertiesPtrOutput() StudioComponentConfiguration2PropertiesPtrOutput { - return i.ToStudioComponentConfiguration2PropertiesPtrOutputWithContext(context.Background()) -} - -func (i *studioComponentConfiguration2PropertiesPtrType) ToStudioComponentConfiguration2PropertiesPtrOutputWithContext(ctx context.Context) StudioComponentConfiguration2PropertiesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(StudioComponentConfiguration2PropertiesPtrOutput) -} - -//

The configuration of the studio component, based on component type.

-type StudioComponentConfiguration2PropertiesOutput struct{ *pulumi.OutputState } - -func (StudioComponentConfiguration2PropertiesOutput) ElementType() reflect.Type { - return reflect.TypeOf((*StudioComponentConfiguration2Properties)(nil)).Elem() -} - -func (o StudioComponentConfiguration2PropertiesOutput) ToStudioComponentConfiguration2PropertiesOutput() StudioComponentConfiguration2PropertiesOutput { - return o -} - -func (o StudioComponentConfiguration2PropertiesOutput) ToStudioComponentConfiguration2PropertiesOutputWithContext(ctx context.Context) StudioComponentConfiguration2PropertiesOutput { - return o -} - -func (o StudioComponentConfiguration2PropertiesOutput) ToStudioComponentConfiguration2PropertiesPtrOutput() StudioComponentConfiguration2PropertiesPtrOutput { - return o.ToStudioComponentConfiguration2PropertiesPtrOutputWithContext(context.Background()) -} - -func (o StudioComponentConfiguration2PropertiesOutput) ToStudioComponentConfiguration2PropertiesPtrOutputWithContext(ctx context.Context) StudioComponentConfiguration2PropertiesPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v StudioComponentConfiguration2Properties) *StudioComponentConfiguration2Properties { - return &v - }).(StudioComponentConfiguration2PropertiesPtrOutput) -} - -func (o StudioComponentConfiguration2PropertiesOutput) LicenseServiceConfiguration() StudioComponentLicenseServiceConfigurationOutput { - return o.ApplyT(func(v StudioComponentConfiguration2Properties) StudioComponentLicenseServiceConfiguration { - return v.LicenseServiceConfiguration - }).(StudioComponentLicenseServiceConfigurationOutput) -} - -type StudioComponentConfiguration2PropertiesPtrOutput struct{ *pulumi.OutputState } - -func (StudioComponentConfiguration2PropertiesPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**StudioComponentConfiguration2Properties)(nil)).Elem() -} - -func (o StudioComponentConfiguration2PropertiesPtrOutput) ToStudioComponentConfiguration2PropertiesPtrOutput() StudioComponentConfiguration2PropertiesPtrOutput { - return o -} - -func (o StudioComponentConfiguration2PropertiesPtrOutput) ToStudioComponentConfiguration2PropertiesPtrOutputWithContext(ctx context.Context) StudioComponentConfiguration2PropertiesPtrOutput { - return o + return v.ActiveDirectoryConfiguration + }).(StudioComponentActiveDirectoryConfigurationPtrOutput) } -func (o StudioComponentConfiguration2PropertiesPtrOutput) Elem() StudioComponentConfiguration2PropertiesOutput { - return o.ApplyT(func(v *StudioComponentConfiguration2Properties) StudioComponentConfiguration2Properties { - if v != nil { - return *v +// The configuration for a render farm that is associated with a studio resource. +func (o StudioComponentConfigurationPtrOutput) ComputeFarmConfiguration() StudioComponentComputeFarmConfigurationPtrOutput { + return o.ApplyT(func(v *StudioComponentConfiguration) *StudioComponentComputeFarmConfiguration { + if v == nil { + return nil } - var ret StudioComponentConfiguration2Properties - return ret - }).(StudioComponentConfiguration2PropertiesOutput) + return v.ComputeFarmConfiguration + }).(StudioComponentComputeFarmConfigurationPtrOutput) } -func (o StudioComponentConfiguration2PropertiesPtrOutput) LicenseServiceConfiguration() StudioComponentLicenseServiceConfigurationPtrOutput { - return o.ApplyT(func(v *StudioComponentConfiguration2Properties) *StudioComponentLicenseServiceConfiguration { +// The configuration for a license service that is associated with a studio resource. +func (o StudioComponentConfigurationPtrOutput) LicenseServiceConfiguration() StudioComponentLicenseServiceConfigurationPtrOutput { + return o.ApplyT(func(v *StudioComponentConfiguration) *StudioComponentLicenseServiceConfiguration { if v == nil { return nil } - return &v.LicenseServiceConfiguration + return v.LicenseServiceConfiguration }).(StudioComponentLicenseServiceConfigurationPtrOutput) } -//

The configuration of the studio component, based on component type.

-type StudioComponentConfiguration3Properties struct { - SharedFileSystemConfiguration StudioComponentSharedFileSystemConfiguration `pulumi:"sharedFileSystemConfiguration"` -} - -// StudioComponentConfiguration3PropertiesInput is an input type that accepts StudioComponentConfiguration3PropertiesArgs and StudioComponentConfiguration3PropertiesOutput values. -// You can construct a concrete instance of `StudioComponentConfiguration3PropertiesInput` via: -// -// StudioComponentConfiguration3PropertiesArgs{...} -type StudioComponentConfiguration3PropertiesInput interface { - pulumi.Input - - ToStudioComponentConfiguration3PropertiesOutput() StudioComponentConfiguration3PropertiesOutput - ToStudioComponentConfiguration3PropertiesOutputWithContext(context.Context) StudioComponentConfiguration3PropertiesOutput -} - -//

The configuration of the studio component, based on component type.

-type StudioComponentConfiguration3PropertiesArgs struct { - SharedFileSystemConfiguration StudioComponentSharedFileSystemConfigurationInput `pulumi:"sharedFileSystemConfiguration"` -} - -func (StudioComponentConfiguration3PropertiesArgs) ElementType() reflect.Type { - return reflect.TypeOf((*StudioComponentConfiguration3Properties)(nil)).Elem() -} - -func (i StudioComponentConfiguration3PropertiesArgs) ToStudioComponentConfiguration3PropertiesOutput() StudioComponentConfiguration3PropertiesOutput { - return i.ToStudioComponentConfiguration3PropertiesOutputWithContext(context.Background()) -} - -func (i StudioComponentConfiguration3PropertiesArgs) ToStudioComponentConfiguration3PropertiesOutputWithContext(ctx context.Context) StudioComponentConfiguration3PropertiesOutput { - return pulumi.ToOutputWithContext(ctx, i).(StudioComponentConfiguration3PropertiesOutput) -} - -func (i StudioComponentConfiguration3PropertiesArgs) ToStudioComponentConfiguration3PropertiesPtrOutput() StudioComponentConfiguration3PropertiesPtrOutput { - return i.ToStudioComponentConfiguration3PropertiesPtrOutputWithContext(context.Background()) -} - -func (i StudioComponentConfiguration3PropertiesArgs) ToStudioComponentConfiguration3PropertiesPtrOutputWithContext(ctx context.Context) StudioComponentConfiguration3PropertiesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(StudioComponentConfiguration3PropertiesOutput).ToStudioComponentConfiguration3PropertiesPtrOutputWithContext(ctx) -} - -// StudioComponentConfiguration3PropertiesPtrInput is an input type that accepts StudioComponentConfiguration3PropertiesArgs, StudioComponentConfiguration3PropertiesPtr and StudioComponentConfiguration3PropertiesPtrOutput values. -// You can construct a concrete instance of `StudioComponentConfiguration3PropertiesPtrInput` via: -// -// StudioComponentConfiguration3PropertiesArgs{...} -// -// or: -// -// nil -type StudioComponentConfiguration3PropertiesPtrInput interface { - pulumi.Input - - ToStudioComponentConfiguration3PropertiesPtrOutput() StudioComponentConfiguration3PropertiesPtrOutput - ToStudioComponentConfiguration3PropertiesPtrOutputWithContext(context.Context) StudioComponentConfiguration3PropertiesPtrOutput -} - -type studioComponentConfiguration3PropertiesPtrType StudioComponentConfiguration3PropertiesArgs - -func StudioComponentConfiguration3PropertiesPtr(v *StudioComponentConfiguration3PropertiesArgs) StudioComponentConfiguration3PropertiesPtrInput { - return (*studioComponentConfiguration3PropertiesPtrType)(v) -} - -func (*studioComponentConfiguration3PropertiesPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**StudioComponentConfiguration3Properties)(nil)).Elem() -} - -func (i *studioComponentConfiguration3PropertiesPtrType) ToStudioComponentConfiguration3PropertiesPtrOutput() StudioComponentConfiguration3PropertiesPtrOutput { - return i.ToStudioComponentConfiguration3PropertiesPtrOutputWithContext(context.Background()) -} - -func (i *studioComponentConfiguration3PropertiesPtrType) ToStudioComponentConfiguration3PropertiesPtrOutputWithContext(ctx context.Context) StudioComponentConfiguration3PropertiesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(StudioComponentConfiguration3PropertiesPtrOutput) -} - -//

The configuration of the studio component, based on component type.

-type StudioComponentConfiguration3PropertiesOutput struct{ *pulumi.OutputState } - -func (StudioComponentConfiguration3PropertiesOutput) ElementType() reflect.Type { - return reflect.TypeOf((*StudioComponentConfiguration3Properties)(nil)).Elem() -} - -func (o StudioComponentConfiguration3PropertiesOutput) ToStudioComponentConfiguration3PropertiesOutput() StudioComponentConfiguration3PropertiesOutput { - return o -} - -func (o StudioComponentConfiguration3PropertiesOutput) ToStudioComponentConfiguration3PropertiesOutputWithContext(ctx context.Context) StudioComponentConfiguration3PropertiesOutput { - return o -} - -func (o StudioComponentConfiguration3PropertiesOutput) ToStudioComponentConfiguration3PropertiesPtrOutput() StudioComponentConfiguration3PropertiesPtrOutput { - return o.ToStudioComponentConfiguration3PropertiesPtrOutputWithContext(context.Background()) -} - -func (o StudioComponentConfiguration3PropertiesOutput) ToStudioComponentConfiguration3PropertiesPtrOutputWithContext(ctx context.Context) StudioComponentConfiguration3PropertiesPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v StudioComponentConfiguration3Properties) *StudioComponentConfiguration3Properties { - return &v - }).(StudioComponentConfiguration3PropertiesPtrOutput) -} - -func (o StudioComponentConfiguration3PropertiesOutput) SharedFileSystemConfiguration() StudioComponentSharedFileSystemConfigurationOutput { - return o.ApplyT(func(v StudioComponentConfiguration3Properties) StudioComponentSharedFileSystemConfiguration { - return v.SharedFileSystemConfiguration - }).(StudioComponentSharedFileSystemConfigurationOutput) -} - -type StudioComponentConfiguration3PropertiesPtrOutput struct{ *pulumi.OutputState } - -func (StudioComponentConfiguration3PropertiesPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**StudioComponentConfiguration3Properties)(nil)).Elem() -} - -func (o StudioComponentConfiguration3PropertiesPtrOutput) ToStudioComponentConfiguration3PropertiesPtrOutput() StudioComponentConfiguration3PropertiesPtrOutput { - return o -} - -func (o StudioComponentConfiguration3PropertiesPtrOutput) ToStudioComponentConfiguration3PropertiesPtrOutputWithContext(ctx context.Context) StudioComponentConfiguration3PropertiesPtrOutput { - return o -} - -func (o StudioComponentConfiguration3PropertiesPtrOutput) Elem() StudioComponentConfiguration3PropertiesOutput { - return o.ApplyT(func(v *StudioComponentConfiguration3Properties) StudioComponentConfiguration3Properties { - if v != nil { - return *v - } - var ret StudioComponentConfiguration3Properties - return ret - }).(StudioComponentConfiguration3PropertiesOutput) -} - -func (o StudioComponentConfiguration3PropertiesPtrOutput) SharedFileSystemConfiguration() StudioComponentSharedFileSystemConfigurationPtrOutput { - return o.ApplyT(func(v *StudioComponentConfiguration3Properties) *StudioComponentSharedFileSystemConfiguration { +// The configuration for a shared file storage system that is associated with a studio resource. +func (o StudioComponentConfigurationPtrOutput) SharedFileSystemConfiguration() StudioComponentSharedFileSystemConfigurationPtrOutput { + return o.ApplyT(func(v *StudioComponentConfiguration) *StudioComponentSharedFileSystemConfiguration { if v == nil { return nil } - return &v.SharedFileSystemConfiguration + return v.SharedFileSystemConfiguration }).(StudioComponentSharedFileSystemConfigurationPtrOutput) } -//

Initialization scripts for studio components.

type StudioComponentInitializationScript struct { - //

The version number of the protocol that is used by the launch profile. The only valid - // version is "2021-03-31".

+ // The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31". LaunchProfileProtocolVersion *string `pulumi:"launchProfileProtocolVersion"` // The platform of the initialization script, either Windows or Linux. - Platform *StudioComponentLaunchProfilePlatform `pulumi:"platform"` + Platform *string `pulumi:"platform"` // The method to use when running the initialization script. - RunContext *StudioComponentInitializationScriptRunContext `pulumi:"runContext"` - //

The initialization script.

+ RunContext *string `pulumi:"runContext"` + // The initialization script. Script *string `pulumi:"script"` } @@ -2263,16 +1721,14 @@ type StudioComponentInitializationScriptInput interface { ToStudioComponentInitializationScriptOutputWithContext(context.Context) StudioComponentInitializationScriptOutput } -//

Initialization scripts for studio components.

type StudioComponentInitializationScriptArgs struct { - //

The version number of the protocol that is used by the launch profile. The only valid - // version is "2021-03-31".

+ // The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31". LaunchProfileProtocolVersion pulumi.StringPtrInput `pulumi:"launchProfileProtocolVersion"` // The platform of the initialization script, either Windows or Linux. - Platform StudioComponentLaunchProfilePlatformPtrInput `pulumi:"platform"` + Platform pulumi.StringPtrInput `pulumi:"platform"` // The method to use when running the initialization script. - RunContext StudioComponentInitializationScriptRunContextPtrInput `pulumi:"runContext"` - //

The initialization script.

+ RunContext pulumi.StringPtrInput `pulumi:"runContext"` + // The initialization script. Script pulumi.StringPtrInput `pulumi:"script"` } @@ -2313,7 +1769,6 @@ func (i StudioComponentInitializationScriptArray) ToStudioComponentInitializatio return pulumi.ToOutputWithContext(ctx, i).(StudioComponentInitializationScriptArrayOutput) } -//

Initialization scripts for studio components.

type StudioComponentInitializationScriptOutput struct{ *pulumi.OutputState } func (StudioComponentInitializationScriptOutput) ElementType() reflect.Type { @@ -2328,26 +1783,22 @@ func (o StudioComponentInitializationScriptOutput) ToStudioComponentInitializati return o } -//

The version number of the protocol that is used by the launch profile. The only valid -// -// version is "2021-03-31".

+// The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31". func (o StudioComponentInitializationScriptOutput) LaunchProfileProtocolVersion() pulumi.StringPtrOutput { return o.ApplyT(func(v StudioComponentInitializationScript) *string { return v.LaunchProfileProtocolVersion }).(pulumi.StringPtrOutput) } // The platform of the initialization script, either Windows or Linux. -func (o StudioComponentInitializationScriptOutput) Platform() StudioComponentLaunchProfilePlatformPtrOutput { - return o.ApplyT(func(v StudioComponentInitializationScript) *StudioComponentLaunchProfilePlatform { return v.Platform }).(StudioComponentLaunchProfilePlatformPtrOutput) +func (o StudioComponentInitializationScriptOutput) Platform() pulumi.StringPtrOutput { + return o.ApplyT(func(v StudioComponentInitializationScript) *string { return v.Platform }).(pulumi.StringPtrOutput) } // The method to use when running the initialization script. -func (o StudioComponentInitializationScriptOutput) RunContext() StudioComponentInitializationScriptRunContextPtrOutput { - return o.ApplyT(func(v StudioComponentInitializationScript) *StudioComponentInitializationScriptRunContext { - return v.RunContext - }).(StudioComponentInitializationScriptRunContextPtrOutput) +func (o StudioComponentInitializationScriptOutput) RunContext() pulumi.StringPtrOutput { + return o.ApplyT(func(v StudioComponentInitializationScript) *string { return v.RunContext }).(pulumi.StringPtrOutput) } -//

The initialization script.

+// The initialization script. func (o StudioComponentInitializationScriptOutput) Script() pulumi.StringPtrOutput { return o.ApplyT(func(v StudioComponentInitializationScript) *string { return v.Script }).(pulumi.StringPtrOutput) } @@ -2372,12 +1823,8 @@ func (o StudioComponentInitializationScriptArrayOutput) Index(i pulumi.IntInput) }).(StudioComponentInitializationScriptOutput) } -//

The configuration for a license service that is associated with a studio -// -// resource.

type StudioComponentLicenseServiceConfiguration struct { - //

The endpoint of the license service that is accessed by the studio component - // resource.

+ // The endpoint of the license service that is accessed by the studio component resource. Endpoint *string `pulumi:"endpoint"` } @@ -2392,12 +1839,8 @@ type StudioComponentLicenseServiceConfigurationInput interface { ToStudioComponentLicenseServiceConfigurationOutputWithContext(context.Context) StudioComponentLicenseServiceConfigurationOutput } -//

The configuration for a license service that is associated with a studio -// -// resource.

type StudioComponentLicenseServiceConfigurationArgs struct { - //

The endpoint of the license service that is accessed by the studio component - // resource.

+ // The endpoint of the license service that is accessed by the studio component resource. Endpoint pulumi.StringPtrInput `pulumi:"endpoint"` } @@ -2454,9 +1897,6 @@ func (i *studioComponentLicenseServiceConfigurationPtrType) ToStudioComponentLic return pulumi.ToOutputWithContext(ctx, i).(StudioComponentLicenseServiceConfigurationPtrOutput) } -//

The configuration for a license service that is associated with a studio -// -// resource.

type StudioComponentLicenseServiceConfigurationOutput struct{ *pulumi.OutputState } func (StudioComponentLicenseServiceConfigurationOutput) ElementType() reflect.Type { @@ -2481,9 +1921,7 @@ func (o StudioComponentLicenseServiceConfigurationOutput) ToStudioComponentLicen }).(StudioComponentLicenseServiceConfigurationPtrOutput) } -//

The endpoint of the license service that is accessed by the studio component -// -// resource.

+// The endpoint of the license service that is accessed by the studio component resource. func (o StudioComponentLicenseServiceConfigurationOutput) Endpoint() pulumi.StringPtrOutput { return o.ApplyT(func(v StudioComponentLicenseServiceConfiguration) *string { return v.Endpoint }).(pulumi.StringPtrOutput) } @@ -2512,9 +1950,7 @@ func (o StudioComponentLicenseServiceConfigurationPtrOutput) Elem() StudioCompon }).(StudioComponentLicenseServiceConfigurationOutput) } -//

The endpoint of the license service that is accessed by the studio component -// -// resource.

+// The endpoint of the license service that is accessed by the studio component resource. func (o StudioComponentLicenseServiceConfigurationPtrOutput) Endpoint() pulumi.StringPtrOutput { return o.ApplyT(func(v *StudioComponentLicenseServiceConfiguration) *string { if v == nil { @@ -2524,11 +1960,10 @@ func (o StudioComponentLicenseServiceConfigurationPtrOutput) Endpoint() pulumi.S }).(pulumi.StringPtrOutput) } -//

A parameter for a studio component script, in the form of a key:value pair.

type StudioComponentScriptParameterKeyValue struct { - //

A script parameter key.

+ // A script parameter key. Key *string `pulumi:"key"` - //

A script parameter value.

+ // A script parameter value. Value *string `pulumi:"value"` } @@ -2543,11 +1978,10 @@ type StudioComponentScriptParameterKeyValueInput interface { ToStudioComponentScriptParameterKeyValueOutputWithContext(context.Context) StudioComponentScriptParameterKeyValueOutput } -//

A parameter for a studio component script, in the form of a key:value pair.

type StudioComponentScriptParameterKeyValueArgs struct { - //

A script parameter key.

+ // A script parameter key. Key pulumi.StringPtrInput `pulumi:"key"` - //

A script parameter value.

+ // A script parameter value. Value pulumi.StringPtrInput `pulumi:"value"` } @@ -2588,7 +2022,6 @@ func (i StudioComponentScriptParameterKeyValueArray) ToStudioComponentScriptPara return pulumi.ToOutputWithContext(ctx, i).(StudioComponentScriptParameterKeyValueArrayOutput) } -//

A parameter for a studio component script, in the form of a key:value pair.

type StudioComponentScriptParameterKeyValueOutput struct{ *pulumi.OutputState } func (StudioComponentScriptParameterKeyValueOutput) ElementType() reflect.Type { @@ -2603,12 +2036,12 @@ func (o StudioComponentScriptParameterKeyValueOutput) ToStudioComponentScriptPar return o } -//

A script parameter key.

+// A script parameter key. func (o StudioComponentScriptParameterKeyValueOutput) Key() pulumi.StringPtrOutput { return o.ApplyT(func(v StudioComponentScriptParameterKeyValue) *string { return v.Key }).(pulumi.StringPtrOutput) } -//

A script parameter value.

+// A script parameter value. func (o StudioComponentScriptParameterKeyValueOutput) Value() pulumi.StringPtrOutput { return o.ApplyT(func(v StudioComponentScriptParameterKeyValue) *string { return v.Value }).(pulumi.StringPtrOutput) } @@ -2633,20 +2066,16 @@ func (o StudioComponentScriptParameterKeyValueArrayOutput) Index(i pulumi.IntInp }).(StudioComponentScriptParameterKeyValueOutput) } -//

The configuration for a shared file storage system that is associated with a studio -// -// resource.

type StudioComponentSharedFileSystemConfiguration struct { - //

The endpoint of the shared file system that is accessed by the studio component - // resource.

+ // The endpoint of the shared file system that is accessed by the studio component resource. Endpoint *string `pulumi:"endpoint"` - //

The unique identifier for a file system.

+ // The unique identifier for a file system. FileSystemId *string `pulumi:"fileSystemId"` - //

The mount location for a shared file system on a Linux virtual workstation.

+ // The mount location for a shared file system on a Linux virtual workstation. LinuxMountPoint *string `pulumi:"linuxMountPoint"` - //

The name of the file share.

+ // The name of the file share. ShareName *string `pulumi:"shareName"` - //

The mount location for a shared file system on a Windows virtual workstation.

+ // The mount location for a shared file system on a Windows virtual workstation. WindowsMountDrive *string `pulumi:"windowsMountDrive"` } @@ -2661,20 +2090,16 @@ type StudioComponentSharedFileSystemConfigurationInput interface { ToStudioComponentSharedFileSystemConfigurationOutputWithContext(context.Context) StudioComponentSharedFileSystemConfigurationOutput } -//

The configuration for a shared file storage system that is associated with a studio -// -// resource.

type StudioComponentSharedFileSystemConfigurationArgs struct { - //

The endpoint of the shared file system that is accessed by the studio component - // resource.

+ // The endpoint of the shared file system that is accessed by the studio component resource. Endpoint pulumi.StringPtrInput `pulumi:"endpoint"` - //

The unique identifier for a file system.

+ // The unique identifier for a file system. FileSystemId pulumi.StringPtrInput `pulumi:"fileSystemId"` - //

The mount location for a shared file system on a Linux virtual workstation.

+ // The mount location for a shared file system on a Linux virtual workstation. LinuxMountPoint pulumi.StringPtrInput `pulumi:"linuxMountPoint"` - //

The name of the file share.

+ // The name of the file share. ShareName pulumi.StringPtrInput `pulumi:"shareName"` - //

The mount location for a shared file system on a Windows virtual workstation.

+ // The mount location for a shared file system on a Windows virtual workstation. WindowsMountDrive pulumi.StringPtrInput `pulumi:"windowsMountDrive"` } @@ -2731,9 +2156,6 @@ func (i *studioComponentSharedFileSystemConfigurationPtrType) ToStudioComponentS return pulumi.ToOutputWithContext(ctx, i).(StudioComponentSharedFileSystemConfigurationPtrOutput) } -//

The configuration for a shared file storage system that is associated with a studio -// -// resource.

type StudioComponentSharedFileSystemConfigurationOutput struct{ *pulumi.OutputState } func (StudioComponentSharedFileSystemConfigurationOutput) ElementType() reflect.Type { @@ -2758,29 +2180,27 @@ func (o StudioComponentSharedFileSystemConfigurationOutput) ToStudioComponentSha }).(StudioComponentSharedFileSystemConfigurationPtrOutput) } -//

The endpoint of the shared file system that is accessed by the studio component -// -// resource.

+// The endpoint of the shared file system that is accessed by the studio component resource. func (o StudioComponentSharedFileSystemConfigurationOutput) Endpoint() pulumi.StringPtrOutput { return o.ApplyT(func(v StudioComponentSharedFileSystemConfiguration) *string { return v.Endpoint }).(pulumi.StringPtrOutput) } -//

The unique identifier for a file system.

+// The unique identifier for a file system. func (o StudioComponentSharedFileSystemConfigurationOutput) FileSystemId() pulumi.StringPtrOutput { return o.ApplyT(func(v StudioComponentSharedFileSystemConfiguration) *string { return v.FileSystemId }).(pulumi.StringPtrOutput) } -//

The mount location for a shared file system on a Linux virtual workstation.

+// The mount location for a shared file system on a Linux virtual workstation. func (o StudioComponentSharedFileSystemConfigurationOutput) LinuxMountPoint() pulumi.StringPtrOutput { return o.ApplyT(func(v StudioComponentSharedFileSystemConfiguration) *string { return v.LinuxMountPoint }).(pulumi.StringPtrOutput) } -//

The name of the file share.

+// The name of the file share. func (o StudioComponentSharedFileSystemConfigurationOutput) ShareName() pulumi.StringPtrOutput { return o.ApplyT(func(v StudioComponentSharedFileSystemConfiguration) *string { return v.ShareName }).(pulumi.StringPtrOutput) } -//

The mount location for a shared file system on a Windows virtual workstation.

+// The mount location for a shared file system on a Windows virtual workstation. func (o StudioComponentSharedFileSystemConfigurationOutput) WindowsMountDrive() pulumi.StringPtrOutput { return o.ApplyT(func(v StudioComponentSharedFileSystemConfiguration) *string { return v.WindowsMountDrive }).(pulumi.StringPtrOutput) } @@ -2809,9 +2229,7 @@ func (o StudioComponentSharedFileSystemConfigurationPtrOutput) Elem() StudioComp }).(StudioComponentSharedFileSystemConfigurationOutput) } -//

The endpoint of the shared file system that is accessed by the studio component -// -// resource.

+// The endpoint of the shared file system that is accessed by the studio component resource. func (o StudioComponentSharedFileSystemConfigurationPtrOutput) Endpoint() pulumi.StringPtrOutput { return o.ApplyT(func(v *StudioComponentSharedFileSystemConfiguration) *string { if v == nil { @@ -2821,7 +2239,7 @@ func (o StudioComponentSharedFileSystemConfigurationPtrOutput) Endpoint() pulumi }).(pulumi.StringPtrOutput) } -//

The unique identifier for a file system.

+// The unique identifier for a file system. func (o StudioComponentSharedFileSystemConfigurationPtrOutput) FileSystemId() pulumi.StringPtrOutput { return o.ApplyT(func(v *StudioComponentSharedFileSystemConfiguration) *string { if v == nil { @@ -2831,7 +2249,7 @@ func (o StudioComponentSharedFileSystemConfigurationPtrOutput) FileSystemId() pu }).(pulumi.StringPtrOutput) } -//

The mount location for a shared file system on a Linux virtual workstation.

+// The mount location for a shared file system on a Linux virtual workstation. func (o StudioComponentSharedFileSystemConfigurationPtrOutput) LinuxMountPoint() pulumi.StringPtrOutput { return o.ApplyT(func(v *StudioComponentSharedFileSystemConfiguration) *string { if v == nil { @@ -2841,7 +2259,7 @@ func (o StudioComponentSharedFileSystemConfigurationPtrOutput) LinuxMountPoint() }).(pulumi.StringPtrOutput) } -//

The name of the file share.

+// The name of the file share. func (o StudioComponentSharedFileSystemConfigurationPtrOutput) ShareName() pulumi.StringPtrOutput { return o.ApplyT(func(v *StudioComponentSharedFileSystemConfiguration) *string { if v == nil { @@ -2851,7 +2269,7 @@ func (o StudioComponentSharedFileSystemConfigurationPtrOutput) ShareName() pulum }).(pulumi.StringPtrOutput) } -//

The mount location for a shared file system on a Windows virtual workstation.

+// The mount location for a shared file system on a Windows virtual workstation. func (o StudioComponentSharedFileSystemConfigurationPtrOutput) WindowsMountDrive() pulumi.StringPtrOutput { return o.ApplyT(func(v *StudioComponentSharedFileSystemConfiguration) *string { if v == nil { @@ -2861,12 +2279,11 @@ func (o StudioComponentSharedFileSystemConfigurationPtrOutput) WindowsMountDrive }).(pulumi.StringPtrOutput) } -//

Configuration of the encryption method that is used for the studio.

type StudioEncryptionConfiguration struct { - //

The ARN for a KMS key that is used to encrypt studio data.

+ // The ARN for a KMS key that is used to encrypt studio data. KeyArn *string `pulumi:"keyArn"` // The type of KMS key that is used to encrypt studio data. - KeyType StudioEncryptionConfigurationKeyType `pulumi:"keyType"` + KeyType string `pulumi:"keyType"` } // StudioEncryptionConfigurationInput is an input type that accepts StudioEncryptionConfigurationArgs and StudioEncryptionConfigurationOutput values. @@ -2880,12 +2297,11 @@ type StudioEncryptionConfigurationInput interface { ToStudioEncryptionConfigurationOutputWithContext(context.Context) StudioEncryptionConfigurationOutput } -//

Configuration of the encryption method that is used for the studio.

type StudioEncryptionConfigurationArgs struct { - //

The ARN for a KMS key that is used to encrypt studio data.

+ // The ARN for a KMS key that is used to encrypt studio data. KeyArn pulumi.StringPtrInput `pulumi:"keyArn"` // The type of KMS key that is used to encrypt studio data. - KeyType StudioEncryptionConfigurationKeyTypeInput `pulumi:"keyType"` + KeyType pulumi.StringInput `pulumi:"keyType"` } func (StudioEncryptionConfigurationArgs) ElementType() reflect.Type { @@ -2941,7 +2357,6 @@ func (i *studioEncryptionConfigurationPtrType) ToStudioEncryptionConfigurationPt return pulumi.ToOutputWithContext(ctx, i).(StudioEncryptionConfigurationPtrOutput) } -//

Configuration of the encryption method that is used for the studio.

type StudioEncryptionConfigurationOutput struct{ *pulumi.OutputState } func (StudioEncryptionConfigurationOutput) ElementType() reflect.Type { @@ -2966,14 +2381,14 @@ func (o StudioEncryptionConfigurationOutput) ToStudioEncryptionConfigurationPtrO }).(StudioEncryptionConfigurationPtrOutput) } -//

The ARN for a KMS key that is used to encrypt studio data.

+// The ARN for a KMS key that is used to encrypt studio data. func (o StudioEncryptionConfigurationOutput) KeyArn() pulumi.StringPtrOutput { return o.ApplyT(func(v StudioEncryptionConfiguration) *string { return v.KeyArn }).(pulumi.StringPtrOutput) } // The type of KMS key that is used to encrypt studio data. -func (o StudioEncryptionConfigurationOutput) KeyType() StudioEncryptionConfigurationKeyTypeOutput { - return o.ApplyT(func(v StudioEncryptionConfiguration) StudioEncryptionConfigurationKeyType { return v.KeyType }).(StudioEncryptionConfigurationKeyTypeOutput) +func (o StudioEncryptionConfigurationOutput) KeyType() pulumi.StringOutput { + return o.ApplyT(func(v StudioEncryptionConfiguration) string { return v.KeyType }).(pulumi.StringOutput) } type StudioEncryptionConfigurationPtrOutput struct{ *pulumi.OutputState } @@ -3000,7 +2415,7 @@ func (o StudioEncryptionConfigurationPtrOutput) Elem() StudioEncryptionConfigura }).(StudioEncryptionConfigurationOutput) } -//

The ARN for a KMS key that is used to encrypt studio data.

+// The ARN for a KMS key that is used to encrypt studio data. func (o StudioEncryptionConfigurationPtrOutput) KeyArn() pulumi.StringPtrOutput { return o.ApplyT(func(v *StudioEncryptionConfiguration) *string { if v == nil { @@ -3011,13 +2426,13 @@ func (o StudioEncryptionConfigurationPtrOutput) KeyArn() pulumi.StringPtrOutput } // The type of KMS key that is used to encrypt studio data. -func (o StudioEncryptionConfigurationPtrOutput) KeyType() StudioEncryptionConfigurationKeyTypePtrOutput { - return o.ApplyT(func(v *StudioEncryptionConfiguration) *StudioEncryptionConfigurationKeyType { +func (o StudioEncryptionConfigurationPtrOutput) KeyType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *StudioEncryptionConfiguration) *string { if v == nil { return nil } return &v.KeyType - }).(StudioEncryptionConfigurationKeyTypePtrOutput) + }).(pulumi.StringPtrOutput) } func init() { @@ -3036,14 +2451,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*StudioComponentActiveDirectoryConfigurationPtrInput)(nil)).Elem(), StudioComponentActiveDirectoryConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*StudioComponentComputeFarmConfigurationInput)(nil)).Elem(), StudioComponentComputeFarmConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*StudioComponentComputeFarmConfigurationPtrInput)(nil)).Elem(), StudioComponentComputeFarmConfigurationArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*StudioComponentConfiguration0PropertiesInput)(nil)).Elem(), StudioComponentConfiguration0PropertiesArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*StudioComponentConfiguration0PropertiesPtrInput)(nil)).Elem(), StudioComponentConfiguration0PropertiesArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*StudioComponentConfiguration1PropertiesInput)(nil)).Elem(), StudioComponentConfiguration1PropertiesArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*StudioComponentConfiguration1PropertiesPtrInput)(nil)).Elem(), StudioComponentConfiguration1PropertiesArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*StudioComponentConfiguration2PropertiesInput)(nil)).Elem(), StudioComponentConfiguration2PropertiesArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*StudioComponentConfiguration2PropertiesPtrInput)(nil)).Elem(), StudioComponentConfiguration2PropertiesArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*StudioComponentConfiguration3PropertiesInput)(nil)).Elem(), StudioComponentConfiguration3PropertiesArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*StudioComponentConfiguration3PropertiesPtrInput)(nil)).Elem(), StudioComponentConfiguration3PropertiesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StudioComponentConfigurationInput)(nil)).Elem(), StudioComponentConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StudioComponentConfigurationPtrInput)(nil)).Elem(), StudioComponentConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*StudioComponentInitializationScriptInput)(nil)).Elem(), StudioComponentInitializationScriptArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*StudioComponentInitializationScriptArrayInput)(nil)).Elem(), StudioComponentInitializationScriptArray{}) pulumi.RegisterInputType(reflect.TypeOf((*StudioComponentLicenseServiceConfigurationInput)(nil)).Elem(), StudioComponentLicenseServiceConfigurationArgs{}) @@ -3072,14 +2481,8 @@ func init() { pulumi.RegisterOutputType(StudioComponentActiveDirectoryConfigurationPtrOutput{}) pulumi.RegisterOutputType(StudioComponentComputeFarmConfigurationOutput{}) pulumi.RegisterOutputType(StudioComponentComputeFarmConfigurationPtrOutput{}) - pulumi.RegisterOutputType(StudioComponentConfiguration0PropertiesOutput{}) - pulumi.RegisterOutputType(StudioComponentConfiguration0PropertiesPtrOutput{}) - pulumi.RegisterOutputType(StudioComponentConfiguration1PropertiesOutput{}) - pulumi.RegisterOutputType(StudioComponentConfiguration1PropertiesPtrOutput{}) - pulumi.RegisterOutputType(StudioComponentConfiguration2PropertiesOutput{}) - pulumi.RegisterOutputType(StudioComponentConfiguration2PropertiesPtrOutput{}) - pulumi.RegisterOutputType(StudioComponentConfiguration3PropertiesOutput{}) - pulumi.RegisterOutputType(StudioComponentConfiguration3PropertiesPtrOutput{}) + pulumi.RegisterOutputType(StudioComponentConfigurationOutput{}) + pulumi.RegisterOutputType(StudioComponentConfigurationPtrOutput{}) pulumi.RegisterOutputType(StudioComponentInitializationScriptOutput{}) pulumi.RegisterOutputType(StudioComponentInitializationScriptArrayOutput{}) pulumi.RegisterOutputType(StudioComponentLicenseServiceConfigurationOutput{}) diff --git a/sdk/go/aws/nimblestudio/streamingImage.go b/sdk/go/aws/nimblestudio/streamingImage.go index 218d1ff2a9..9cc30dafc3 100644 --- a/sdk/go/aws/nimblestudio/streamingImage.go +++ b/sdk/go/aws/nimblestudio/streamingImage.go @@ -12,26 +12,28 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// Represents a streaming session machine image that can be used to launch a streaming session +// Resource Type definition for AWS::NimbleStudio::StreamingImage type StreamingImage struct { pulumi.CustomResourceState - //

A human-readable description of the streaming image.

+ // A human-readable description of the streaming image. Description pulumi.StringPtrOutput `pulumi:"description"` - //

The ID of an EC2 machine image with which to create this streaming image.

- Ec2ImageId pulumi.StringOutput `pulumi:"ec2ImageId"` - EncryptionConfiguration StreamingImageEncryptionConfigurationOutput `pulumi:"encryptionConfiguration"` - //

The list of EULAs that must be accepted before a Streaming Session can be started using this streaming image.

+ // The ID of an EC2 machine image with which to create the streaming image. + Ec2ImageId pulumi.StringOutput `pulumi:"ec2ImageId"` + EncryptionConfiguration StreamingImageEncryptionConfigurationOutput `pulumi:"encryptionConfiguration"` + EncryptionConfigurationKeyArn pulumi.StringPtrOutput `pulumi:"encryptionConfigurationKeyArn"` + EncryptionConfigurationKeyType pulumi.StringPtrOutput `pulumi:"encryptionConfigurationKeyType"` + // The list of IDs of EULAs that must be accepted before a streaming session can be started using this streaming image. EulaIds pulumi.StringArrayOutput `pulumi:"eulaIds"` - //

A friendly name for a streaming image resource.

+ // A friendly name for a streaming image resource. Name pulumi.StringOutput `pulumi:"name"` - //

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.

+ // The owner of the streaming image, either the studioId that contains the streaming image or 'amazon' for images that are provided by . Owner pulumi.StringOutput `pulumi:"owner"` - //

The platform of the streaming image, either WINDOWS or LINUX.

+ // The platform of the streaming image, either WINDOWS or LINUX. Platform pulumi.StringOutput `pulumi:"platform"` // The unique identifier for the streaming image resource. StreamingImageId pulumi.StringOutput `pulumi:"streamingImageId"` - //

The studioId.

+ // The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. StudioId pulumi.StringOutput `pulumi:"studioId"` // An array of key-value pairs to apply to this resource. // @@ -91,13 +93,15 @@ func (StreamingImageState) ElementType() reflect.Type { } type streamingImageArgs struct { - //

A human-readable description of the streaming image.

+ // A human-readable description of the streaming image. Description *string `pulumi:"description"` - //

The ID of an EC2 machine image with which to create this streaming image.

- Ec2ImageId string `pulumi:"ec2ImageId"` - //

A friendly name for a streaming image resource.

+ // The ID of an EC2 machine image with which to create the streaming image. + Ec2ImageId string `pulumi:"ec2ImageId"` + EncryptionConfigurationKeyArn *string `pulumi:"encryptionConfigurationKeyArn"` + EncryptionConfigurationKeyType *string `pulumi:"encryptionConfigurationKeyType"` + // A friendly name for a streaming image resource. Name *string `pulumi:"name"` - //

The studioId.

+ // The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. StudioId string `pulumi:"studioId"` // An array of key-value pairs to apply to this resource. // @@ -107,13 +111,15 @@ type streamingImageArgs struct { // The set of arguments for constructing a StreamingImage resource. type StreamingImageArgs struct { - //

A human-readable description of the streaming image.

+ // A human-readable description of the streaming image. Description pulumi.StringPtrInput - //

The ID of an EC2 machine image with which to create this streaming image.

- Ec2ImageId pulumi.StringInput - //

A friendly name for a streaming image resource.

+ // The ID of an EC2 machine image with which to create the streaming image. + Ec2ImageId pulumi.StringInput + EncryptionConfigurationKeyArn pulumi.StringPtrInput + EncryptionConfigurationKeyType pulumi.StringPtrInput + // A friendly name for a streaming image resource. Name pulumi.StringPtrInput - //

The studioId.

+ // The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. StudioId pulumi.StringInput // An array of key-value pairs to apply to this resource. // @@ -158,12 +164,12 @@ func (o StreamingImageOutput) ToStreamingImageOutputWithContext(ctx context.Cont return o } -//

A human-readable description of the streaming image.

+// A human-readable description of the streaming image. func (o StreamingImageOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v *StreamingImage) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) } -//

The ID of an EC2 machine image with which to create this streaming image.

+// The ID of an EC2 machine image with which to create the streaming image. func (o StreamingImageOutput) Ec2ImageId() pulumi.StringOutput { return o.ApplyT(func(v *StreamingImage) pulumi.StringOutput { return v.Ec2ImageId }).(pulumi.StringOutput) } @@ -172,22 +178,30 @@ func (o StreamingImageOutput) EncryptionConfiguration() StreamingImageEncryption return o.ApplyT(func(v *StreamingImage) StreamingImageEncryptionConfigurationOutput { return v.EncryptionConfiguration }).(StreamingImageEncryptionConfigurationOutput) } -//

The list of EULAs that must be accepted before a Streaming Session can be started using this streaming image.

+func (o StreamingImageOutput) EncryptionConfigurationKeyArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *StreamingImage) pulumi.StringPtrOutput { return v.EncryptionConfigurationKeyArn }).(pulumi.StringPtrOutput) +} + +func (o StreamingImageOutput) EncryptionConfigurationKeyType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *StreamingImage) pulumi.StringPtrOutput { return v.EncryptionConfigurationKeyType }).(pulumi.StringPtrOutput) +} + +// The list of IDs of EULAs that must be accepted before a streaming session can be started using this streaming image. func (o StreamingImageOutput) EulaIds() pulumi.StringArrayOutput { return o.ApplyT(func(v *StreamingImage) pulumi.StringArrayOutput { return v.EulaIds }).(pulumi.StringArrayOutput) } -//

A friendly name for a streaming image resource.

+// A friendly name for a streaming image resource. func (o StreamingImageOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *StreamingImage) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } -//

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.

+// The owner of the streaming image, either the studioId that contains the streaming image or 'amazon' for images that are provided by . func (o StreamingImageOutput) Owner() pulumi.StringOutput { return o.ApplyT(func(v *StreamingImage) pulumi.StringOutput { return v.Owner }).(pulumi.StringOutput) } -//

The platform of the streaming image, either WINDOWS or LINUX.

+// The platform of the streaming image, either WINDOWS or LINUX. func (o StreamingImageOutput) Platform() pulumi.StringOutput { return o.ApplyT(func(v *StreamingImage) pulumi.StringOutput { return v.Platform }).(pulumi.StringOutput) } @@ -197,7 +211,7 @@ func (o StreamingImageOutput) StreamingImageId() pulumi.StringOutput { return o.ApplyT(func(v *StreamingImage) pulumi.StringOutput { return v.StreamingImageId }).(pulumi.StringOutput) } -//

The studioId.

+// The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. func (o StreamingImageOutput) StudioId() pulumi.StringOutput { return o.ApplyT(func(v *StreamingImage) pulumi.StringOutput { return v.StudioId }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/nimblestudio/studio.go b/sdk/go/aws/nimblestudio/studio.go index 939747281f..c75979780b 100644 --- a/sdk/go/aws/nimblestudio/studio.go +++ b/sdk/go/aws/nimblestudio/studio.go @@ -12,31 +12,31 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// Represents a studio that contains other Nimble Studio resources +// Resource Type definition for AWS::NimbleStudio::Studio type Studio struct { pulumi.CustomResourceState - //

The IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.

+ // The IAM role that studio admins assume when logging in to the Nimble Studio portal. AdminRoleArn pulumi.StringOutput `pulumi:"adminRoleArn"` - //

A friendly name for the studio.

+ // A friendly name for the studio. DisplayName pulumi.StringOutput `pulumi:"displayName"` - //

The Amazon Web Services Region where the studio resource is located.

+ // The AWS Region where the studio resource is located. For example, `us-west-2` . HomeRegion pulumi.StringOutput `pulumi:"homeRegion"` - //

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.

+ // 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. SsoClientId pulumi.StringOutput `pulumi:"ssoClientId"` // Configuration of the encryption method that is used for the studio. StudioEncryptionConfiguration StudioEncryptionConfigurationPtrOutput `pulumi:"studioEncryptionConfiguration"` // The unique identifier for the studio resource. StudioId pulumi.StringOutput `pulumi:"studioId"` - //

The studio name that is used in the URL of the Nimble Studio portal when accessed by Nimble Studio users.

+ // The name of the studio, as included in the URL when accessing it in the Nimble Studio portal. StudioName pulumi.StringOutput `pulumi:"studioName"` - //

The address of the web page for the studio.

+ // The unique identifier for the studio resource. StudioUrl pulumi.StringOutput `pulumi:"studioUrl"` // An array of key-value pairs to apply to this resource. // // For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . Tags pulumi.StringMapOutput `pulumi:"tags"` - //

The IAM role that Studio Users will assume when logging in to the Nimble Studio portal.

+ // The IAM role that studio users assume when logging in to the Nimble Studio portal. UserRoleArn pulumi.StringOutput `pulumi:"userRoleArn"` } @@ -94,37 +94,37 @@ func (StudioState) ElementType() reflect.Type { } type studioArgs struct { - //

The IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.

+ // The IAM role that studio admins assume when logging in to the Nimble Studio portal. AdminRoleArn string `pulumi:"adminRoleArn"` - //

A friendly name for the studio.

+ // A friendly name for the studio. DisplayName string `pulumi:"displayName"` // Configuration of the encryption method that is used for the studio. StudioEncryptionConfiguration *StudioEncryptionConfiguration `pulumi:"studioEncryptionConfiguration"` - //

The studio name that is used in the URL of the Nimble Studio portal when accessed by Nimble Studio users.

+ // The name of the studio, as included in the URL when accessing it in the Nimble Studio portal. StudioName *string `pulumi:"studioName"` // An array of key-value pairs to apply to this resource. // // For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . Tags map[string]string `pulumi:"tags"` - //

The IAM role that Studio Users will assume when logging in to the Nimble Studio portal.

+ // The IAM role that studio users assume when logging in to the Nimble Studio portal. UserRoleArn string `pulumi:"userRoleArn"` } // The set of arguments for constructing a Studio resource. type StudioArgs struct { - //

The IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.

+ // The IAM role that studio admins assume when logging in to the Nimble Studio portal. AdminRoleArn pulumi.StringInput - //

A friendly name for the studio.

+ // A friendly name for the studio. DisplayName pulumi.StringInput // Configuration of the encryption method that is used for the studio. StudioEncryptionConfiguration StudioEncryptionConfigurationPtrInput - //

The studio name that is used in the URL of the Nimble Studio portal when accessed by Nimble Studio users.

+ // The name of the studio, as included in the URL when accessing it in the Nimble Studio portal. StudioName pulumi.StringPtrInput // An array of key-value pairs to apply to this resource. // // For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . Tags pulumi.StringMapInput - //

The IAM role that Studio Users will assume when logging in to the Nimble Studio portal.

+ // The IAM role that studio users assume when logging in to the Nimble Studio portal. UserRoleArn pulumi.StringInput } @@ -165,22 +165,22 @@ func (o StudioOutput) ToStudioOutputWithContext(ctx context.Context) StudioOutpu return o } -//

The IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.

+// The IAM role that studio admins assume when logging in to the Nimble Studio portal. func (o StudioOutput) AdminRoleArn() pulumi.StringOutput { return o.ApplyT(func(v *Studio) pulumi.StringOutput { return v.AdminRoleArn }).(pulumi.StringOutput) } -//

A friendly name for the studio.

+// A friendly name for the studio. func (o StudioOutput) DisplayName() pulumi.StringOutput { return o.ApplyT(func(v *Studio) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput) } -//

The Amazon Web Services Region where the studio resource is located.

+// The AWS Region where the studio resource is located. For example, `us-west-2` . func (o StudioOutput) HomeRegion() pulumi.StringOutput { return o.ApplyT(func(v *Studio) pulumi.StringOutput { return v.HomeRegion }).(pulumi.StringOutput) } -//

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.

+// 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. func (o StudioOutput) SsoClientId() pulumi.StringOutput { return o.ApplyT(func(v *Studio) pulumi.StringOutput { return v.SsoClientId }).(pulumi.StringOutput) } @@ -195,12 +195,12 @@ func (o StudioOutput) StudioId() pulumi.StringOutput { return o.ApplyT(func(v *Studio) pulumi.StringOutput { return v.StudioId }).(pulumi.StringOutput) } -//

The studio name that is used in the URL of the Nimble Studio portal when accessed by Nimble Studio users.

+// The name of the studio, as included in the URL when accessing it in the Nimble Studio portal. func (o StudioOutput) StudioName() pulumi.StringOutput { return o.ApplyT(func(v *Studio) pulumi.StringOutput { return v.StudioName }).(pulumi.StringOutput) } -//

The address of the web page for the studio.

+// The unique identifier for the studio resource. func (o StudioOutput) StudioUrl() pulumi.StringOutput { return o.ApplyT(func(v *Studio) pulumi.StringOutput { return v.StudioUrl }).(pulumi.StringOutput) } @@ -212,7 +212,7 @@ func (o StudioOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *Studio) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) } -//

The IAM role that Studio Users will assume when logging in to the Nimble Studio portal.

+// The IAM role that studio users assume when logging in to the Nimble Studio portal. func (o StudioOutput) UserRoleArn() pulumi.StringOutput { return o.ApplyT(func(v *Studio) pulumi.StringOutput { return v.UserRoleArn }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/nimblestudio/studioComponent.go b/sdk/go/aws/nimblestudio/studioComponent.go index 298ce318bb..1d62ddbe64 100644 --- a/sdk/go/aws/nimblestudio/studioComponent.go +++ b/sdk/go/aws/nimblestudio/studioComponent.go @@ -12,38 +12,34 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// Represents a studio component that connects a non-Nimble Studio resource in your account to your studio +// Resource Type definition for AWS::NimbleStudio::StudioComponent type StudioComponent struct { pulumi.CustomResourceState // The configuration of the studio component, based on component type. - Configuration pulumi.AnyOutput `pulumi:"configuration"` - //

The description.

+ Configuration StudioComponentConfigurationPtrOutput `pulumi:"configuration"` + // A human-readable description for the studio component resource. Description pulumi.StringPtrOutput `pulumi:"description"` - //

The EC2 security groups that control access to the studio component.

+ // The EC2 security groups that control access to the studio component. Ec2SecurityGroupIds pulumi.StringArrayOutput `pulumi:"ec2SecurityGroupIds"` - //

Initialization scripts for studio components.

+ // Initialization scripts for studio components. InitializationScripts StudioComponentInitializationScriptArrayOutput `pulumi:"initializationScripts"` - //

The name for the studio component.

+ // A friendly name for the studio component resource. Name pulumi.StringOutput `pulumi:"name"` - // An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running. - RuntimeRoleArn pulumi.StringPtrOutput `pulumi:"runtimeRoleArn"` - //

Parameters for the studio component scripts.

+ // Parameters for the studio component scripts. ScriptParameters StudioComponentScriptParameterKeyValueArrayOutput `pulumi:"scriptParameters"` - // 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. - SecureInitializationRoleArn pulumi.StringPtrOutput `pulumi:"secureInitializationRoleArn"` // The unique identifier for the studio component resource. StudioComponentId pulumi.StringOutput `pulumi:"studioComponentId"` - //

The studio ID.

+ // The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. StudioId pulumi.StringOutput `pulumi:"studioId"` // The specific subtype of a studio component. - Subtype StudioComponentSubtypePtrOutput `pulumi:"subtype"` + Subtype pulumi.StringPtrOutput `pulumi:"subtype"` // An array of key-value pairs to apply to this resource. // // For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . Tags pulumi.StringMapOutput `pulumi:"tags"` // The type of the studio component. - Type StudioComponentTypeOutput `pulumi:"type"` + Type pulumi.StringOutput `pulumi:"type"` } // NewStudioComponent registers a new resource with the given unique name, arguments, and options. @@ -99,61 +95,53 @@ func (StudioComponentState) ElementType() reflect.Type { type studioComponentArgs struct { // The configuration of the studio component, based on component type. - Configuration interface{} `pulumi:"configuration"` - //

The description.

+ Configuration *StudioComponentConfiguration `pulumi:"configuration"` + // A human-readable description for the studio component resource. Description *string `pulumi:"description"` - //

The EC2 security groups that control access to the studio component.

+ // The EC2 security groups that control access to the studio component. Ec2SecurityGroupIds []string `pulumi:"ec2SecurityGroupIds"` - //

Initialization scripts for studio components.

+ // Initialization scripts for studio components. InitializationScripts []StudioComponentInitializationScript `pulumi:"initializationScripts"` - //

The name for the studio component.

+ // A friendly name for the studio component resource. Name *string `pulumi:"name"` - // An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running. - RuntimeRoleArn *string `pulumi:"runtimeRoleArn"` - //

Parameters for the studio component scripts.

+ // Parameters for the studio component scripts. ScriptParameters []StudioComponentScriptParameterKeyValue `pulumi:"scriptParameters"` - // 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. - SecureInitializationRoleArn *string `pulumi:"secureInitializationRoleArn"` - //

The studio ID.

+ // The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. StudioId string `pulumi:"studioId"` // The specific subtype of a studio component. - Subtype *StudioComponentSubtype `pulumi:"subtype"` + Subtype *string `pulumi:"subtype"` // An array of key-value pairs to apply to this resource. // // For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . Tags map[string]string `pulumi:"tags"` // The type of the studio component. - Type StudioComponentType `pulumi:"type"` + Type string `pulumi:"type"` } // The set of arguments for constructing a StudioComponent resource. type StudioComponentArgs struct { // The configuration of the studio component, based on component type. - Configuration pulumi.Input - //

The description.

+ Configuration StudioComponentConfigurationPtrInput + // A human-readable description for the studio component resource. Description pulumi.StringPtrInput - //

The EC2 security groups that control access to the studio component.

+ // The EC2 security groups that control access to the studio component. Ec2SecurityGroupIds pulumi.StringArrayInput - //

Initialization scripts for studio components.

+ // Initialization scripts for studio components. InitializationScripts StudioComponentInitializationScriptArrayInput - //

The name for the studio component.

+ // A friendly name for the studio component resource. Name pulumi.StringPtrInput - // An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running. - RuntimeRoleArn pulumi.StringPtrInput - //

Parameters for the studio component scripts.

+ // Parameters for the studio component scripts. ScriptParameters StudioComponentScriptParameterKeyValueArrayInput - // 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. - SecureInitializationRoleArn pulumi.StringPtrInput - //

The studio ID.

+ // The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. StudioId pulumi.StringInput // The specific subtype of a studio component. - Subtype StudioComponentSubtypePtrInput + Subtype pulumi.StringPtrInput // An array of key-value pairs to apply to this resource. // // For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . Tags pulumi.StringMapInput // The type of the studio component. - Type StudioComponentTypeInput + Type pulumi.StringInput } func (StudioComponentArgs) ElementType() reflect.Type { @@ -194,60 +182,50 @@ func (o StudioComponentOutput) ToStudioComponentOutputWithContext(ctx context.Co } // The configuration of the studio component, based on component type. -func (o StudioComponentOutput) Configuration() pulumi.AnyOutput { - return o.ApplyT(func(v *StudioComponent) pulumi.AnyOutput { return v.Configuration }).(pulumi.AnyOutput) +func (o StudioComponentOutput) Configuration() StudioComponentConfigurationPtrOutput { + return o.ApplyT(func(v *StudioComponent) StudioComponentConfigurationPtrOutput { return v.Configuration }).(StudioComponentConfigurationPtrOutput) } -//

The description.

+// A human-readable description for the studio component resource. func (o StudioComponentOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v *StudioComponent) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) } -//

The EC2 security groups that control access to the studio component.

+// The EC2 security groups that control access to the studio component. func (o StudioComponentOutput) Ec2SecurityGroupIds() pulumi.StringArrayOutput { return o.ApplyT(func(v *StudioComponent) pulumi.StringArrayOutput { return v.Ec2SecurityGroupIds }).(pulumi.StringArrayOutput) } -//

Initialization scripts for studio components.

+// Initialization scripts for studio components. func (o StudioComponentOutput) InitializationScripts() StudioComponentInitializationScriptArrayOutput { return o.ApplyT(func(v *StudioComponent) StudioComponentInitializationScriptArrayOutput { return v.InitializationScripts }).(StudioComponentInitializationScriptArrayOutput) } -//

The name for the studio component.

+// A friendly name for the studio component resource. func (o StudioComponentOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *StudioComponent) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } -// An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running. -func (o StudioComponentOutput) RuntimeRoleArn() pulumi.StringPtrOutput { - return o.ApplyT(func(v *StudioComponent) pulumi.StringPtrOutput { return v.RuntimeRoleArn }).(pulumi.StringPtrOutput) -} - -//

Parameters for the studio component scripts.

+// Parameters for the studio component scripts. func (o StudioComponentOutput) ScriptParameters() StudioComponentScriptParameterKeyValueArrayOutput { return o.ApplyT(func(v *StudioComponent) StudioComponentScriptParameterKeyValueArrayOutput { return v.ScriptParameters }).(StudioComponentScriptParameterKeyValueArrayOutput) } -// 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. -func (o StudioComponentOutput) SecureInitializationRoleArn() pulumi.StringPtrOutput { - return o.ApplyT(func(v *StudioComponent) pulumi.StringPtrOutput { return v.SecureInitializationRoleArn }).(pulumi.StringPtrOutput) -} - // The unique identifier for the studio component resource. func (o StudioComponentOutput) StudioComponentId() pulumi.StringOutput { return o.ApplyT(func(v *StudioComponent) pulumi.StringOutput { return v.StudioComponentId }).(pulumi.StringOutput) } -//

The studio ID.

+// The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. func (o StudioComponentOutput) StudioId() pulumi.StringOutput { return o.ApplyT(func(v *StudioComponent) pulumi.StringOutput { return v.StudioId }).(pulumi.StringOutput) } // The specific subtype of a studio component. -func (o StudioComponentOutput) Subtype() StudioComponentSubtypePtrOutput { - return o.ApplyT(func(v *StudioComponent) StudioComponentSubtypePtrOutput { return v.Subtype }).(StudioComponentSubtypePtrOutput) +func (o StudioComponentOutput) Subtype() pulumi.StringPtrOutput { + return o.ApplyT(func(v *StudioComponent) pulumi.StringPtrOutput { return v.Subtype }).(pulumi.StringPtrOutput) } // An array of key-value pairs to apply to this resource. @@ -258,8 +236,8 @@ func (o StudioComponentOutput) Tags() pulumi.StringMapOutput { } // The type of the studio component. -func (o StudioComponentOutput) Type() StudioComponentTypeOutput { - return o.ApplyT(func(v *StudioComponent) StudioComponentTypeOutput { return v.Type }).(StudioComponentTypeOutput) +func (o StudioComponentOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v *StudioComponent) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) } func init() { diff --git a/sdk/go/aws/quicksight/pulumiEnums.go b/sdk/go/aws/quicksight/pulumiEnums.go index e0a2cfa31c..8d9b49e59c 100644 --- a/sdk/go/aws/quicksight/pulumiEnums.go +++ b/sdk/go/aws/quicksight/pulumiEnums.go @@ -6592,6 +6592,7 @@ const ( AnalysisLayoutElementTypeFilterControl = AnalysisLayoutElementType("FILTER_CONTROL") AnalysisLayoutElementTypeParameterControl = AnalysisLayoutElementType("PARAMETER_CONTROL") AnalysisLayoutElementTypeTextBox = AnalysisLayoutElementType("TEXT_BOX") + AnalysisLayoutElementTypeImage = AnalysisLayoutElementType("IMAGE") ) func (AnalysisLayoutElementType) ElementType() reflect.Type { @@ -6720,6 +6721,7 @@ func (o AnalysisLayoutElementTypePtrOutput) ToStringPtrOutputWithContext(ctx con // AnalysisLayoutElementTypeFilterControl // AnalysisLayoutElementTypeParameterControl // AnalysisLayoutElementTypeTextBox +// AnalysisLayoutElementTypeImage type AnalysisLayoutElementTypeInput interface { pulumi.Input @@ -26585,6 +26587,7 @@ const ( DashboardLayoutElementTypeFilterControl = DashboardLayoutElementType("FILTER_CONTROL") DashboardLayoutElementTypeParameterControl = DashboardLayoutElementType("PARAMETER_CONTROL") DashboardLayoutElementTypeTextBox = DashboardLayoutElementType("TEXT_BOX") + DashboardLayoutElementTypeImage = DashboardLayoutElementType("IMAGE") ) func (DashboardLayoutElementType) ElementType() reflect.Type { @@ -26713,6 +26716,7 @@ func (o DashboardLayoutElementTypePtrOutput) ToStringPtrOutputWithContext(ctx co // DashboardLayoutElementTypeFilterControl // DashboardLayoutElementTypeParameterControl // DashboardLayoutElementTypeTextBox +// DashboardLayoutElementTypeImage type DashboardLayoutElementTypeInput interface { pulumi.Input @@ -42577,6 +42581,173 @@ func (in *dataSetTimeGranularityPtr) ToDataSetTimeGranularityPtrOutputWithContex return pulumi.ToOutputWithContext(ctx, in).(DataSetTimeGranularityPtrOutput) } +type DataSourceAuthenticationType string + +const ( + DataSourceAuthenticationTypePassword = DataSourceAuthenticationType("PASSWORD") + DataSourceAuthenticationTypeToken = DataSourceAuthenticationType("TOKEN") + DataSourceAuthenticationTypeX509 = DataSourceAuthenticationType("X509") +) + +func (DataSourceAuthenticationType) ElementType() reflect.Type { + return reflect.TypeOf((*DataSourceAuthenticationType)(nil)).Elem() +} + +func (e DataSourceAuthenticationType) ToDataSourceAuthenticationTypeOutput() DataSourceAuthenticationTypeOutput { + return pulumi.ToOutput(e).(DataSourceAuthenticationTypeOutput) +} + +func (e DataSourceAuthenticationType) ToDataSourceAuthenticationTypeOutputWithContext(ctx context.Context) DataSourceAuthenticationTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(DataSourceAuthenticationTypeOutput) +} + +func (e DataSourceAuthenticationType) ToDataSourceAuthenticationTypePtrOutput() DataSourceAuthenticationTypePtrOutput { + return e.ToDataSourceAuthenticationTypePtrOutputWithContext(context.Background()) +} + +func (e DataSourceAuthenticationType) ToDataSourceAuthenticationTypePtrOutputWithContext(ctx context.Context) DataSourceAuthenticationTypePtrOutput { + return DataSourceAuthenticationType(e).ToDataSourceAuthenticationTypeOutputWithContext(ctx).ToDataSourceAuthenticationTypePtrOutputWithContext(ctx) +} + +func (e DataSourceAuthenticationType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e DataSourceAuthenticationType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e DataSourceAuthenticationType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e DataSourceAuthenticationType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type DataSourceAuthenticationTypeOutput struct{ *pulumi.OutputState } + +func (DataSourceAuthenticationTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DataSourceAuthenticationType)(nil)).Elem() +} + +func (o DataSourceAuthenticationTypeOutput) ToDataSourceAuthenticationTypeOutput() DataSourceAuthenticationTypeOutput { + return o +} + +func (o DataSourceAuthenticationTypeOutput) ToDataSourceAuthenticationTypeOutputWithContext(ctx context.Context) DataSourceAuthenticationTypeOutput { + return o +} + +func (o DataSourceAuthenticationTypeOutput) ToDataSourceAuthenticationTypePtrOutput() DataSourceAuthenticationTypePtrOutput { + return o.ToDataSourceAuthenticationTypePtrOutputWithContext(context.Background()) +} + +func (o DataSourceAuthenticationTypeOutput) ToDataSourceAuthenticationTypePtrOutputWithContext(ctx context.Context) DataSourceAuthenticationTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DataSourceAuthenticationType) *DataSourceAuthenticationType { + return &v + }).(DataSourceAuthenticationTypePtrOutput) +} + +func (o DataSourceAuthenticationTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o DataSourceAuthenticationTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e DataSourceAuthenticationType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o DataSourceAuthenticationTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o DataSourceAuthenticationTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e DataSourceAuthenticationType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type DataSourceAuthenticationTypePtrOutput struct{ *pulumi.OutputState } + +func (DataSourceAuthenticationTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DataSourceAuthenticationType)(nil)).Elem() +} + +func (o DataSourceAuthenticationTypePtrOutput) ToDataSourceAuthenticationTypePtrOutput() DataSourceAuthenticationTypePtrOutput { + return o +} + +func (o DataSourceAuthenticationTypePtrOutput) ToDataSourceAuthenticationTypePtrOutputWithContext(ctx context.Context) DataSourceAuthenticationTypePtrOutput { + return o +} + +func (o DataSourceAuthenticationTypePtrOutput) Elem() DataSourceAuthenticationTypeOutput { + return o.ApplyT(func(v *DataSourceAuthenticationType) DataSourceAuthenticationType { + if v != nil { + return *v + } + var ret DataSourceAuthenticationType + return ret + }).(DataSourceAuthenticationTypeOutput) +} + +func (o DataSourceAuthenticationTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o DataSourceAuthenticationTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *DataSourceAuthenticationType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// DataSourceAuthenticationTypeInput is an input type that accepts values of the DataSourceAuthenticationType enum +// A concrete instance of `DataSourceAuthenticationTypeInput` can be one of the following: +// +// DataSourceAuthenticationTypePassword +// DataSourceAuthenticationTypeToken +// DataSourceAuthenticationTypeX509 +type DataSourceAuthenticationTypeInput interface { + pulumi.Input + + ToDataSourceAuthenticationTypeOutput() DataSourceAuthenticationTypeOutput + ToDataSourceAuthenticationTypeOutputWithContext(context.Context) DataSourceAuthenticationTypeOutput +} + +var dataSourceAuthenticationTypePtrType = reflect.TypeOf((**DataSourceAuthenticationType)(nil)).Elem() + +type DataSourceAuthenticationTypePtrInput interface { + pulumi.Input + + ToDataSourceAuthenticationTypePtrOutput() DataSourceAuthenticationTypePtrOutput + ToDataSourceAuthenticationTypePtrOutputWithContext(context.Context) DataSourceAuthenticationTypePtrOutput +} + +type dataSourceAuthenticationTypePtr string + +func DataSourceAuthenticationTypePtr(v string) DataSourceAuthenticationTypePtrInput { + return (*dataSourceAuthenticationTypePtr)(&v) +} + +func (*dataSourceAuthenticationTypePtr) ElementType() reflect.Type { + return dataSourceAuthenticationTypePtrType +} + +func (in *dataSourceAuthenticationTypePtr) ToDataSourceAuthenticationTypePtrOutput() DataSourceAuthenticationTypePtrOutput { + return pulumi.ToOutput(in).(DataSourceAuthenticationTypePtrOutput) +} + +func (in *dataSourceAuthenticationTypePtr) ToDataSourceAuthenticationTypePtrOutputWithContext(ctx context.Context) DataSourceAuthenticationTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(DataSourceAuthenticationTypePtrOutput) +} + type DataSourceErrorInfoType string const ( @@ -50603,6 +50774,7 @@ const ( TemplateLayoutElementTypeFilterControl = TemplateLayoutElementType("FILTER_CONTROL") TemplateLayoutElementTypeParameterControl = TemplateLayoutElementType("PARAMETER_CONTROL") TemplateLayoutElementTypeTextBox = TemplateLayoutElementType("TEXT_BOX") + TemplateLayoutElementTypeImage = TemplateLayoutElementType("IMAGE") ) func (TemplateLayoutElementType) ElementType() reflect.Type { @@ -50731,6 +50903,7 @@ func (o TemplateLayoutElementTypePtrOutput) ToStringPtrOutputWithContext(ctx con // TemplateLayoutElementTypeFilterControl // TemplateLayoutElementTypeParameterControl // TemplateLayoutElementTypeTextBox +// TemplateLayoutElementTypeImage type TemplateLayoutElementTypeInput interface { pulumi.Input @@ -68472,6 +68645,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*DataSetTextQualifierPtrInput)(nil)).Elem(), DataSetTextQualifier("DOUBLE_QUOTE")) pulumi.RegisterInputType(reflect.TypeOf((*DataSetTimeGranularityInput)(nil)).Elem(), DataSetTimeGranularity("YEAR")) pulumi.RegisterInputType(reflect.TypeOf((*DataSetTimeGranularityPtrInput)(nil)).Elem(), DataSetTimeGranularity("YEAR")) + pulumi.RegisterInputType(reflect.TypeOf((*DataSourceAuthenticationTypeInput)(nil)).Elem(), DataSourceAuthenticationType("PASSWORD")) + pulumi.RegisterInputType(reflect.TypeOf((*DataSourceAuthenticationTypePtrInput)(nil)).Elem(), DataSourceAuthenticationType("PASSWORD")) pulumi.RegisterInputType(reflect.TypeOf((*DataSourceErrorInfoTypeInput)(nil)).Elem(), DataSourceErrorInfoType("ACCESS_DENIED")) pulumi.RegisterInputType(reflect.TypeOf((*DataSourceErrorInfoTypePtrInput)(nil)).Elem(), DataSourceErrorInfoType("ACCESS_DENIED")) pulumi.RegisterInputType(reflect.TypeOf((*DataSourceStarburstProductTypeInput)(nil)).Elem(), DataSourceStarburstProductType("GALAXY")) @@ -69276,6 +69451,8 @@ func init() { pulumi.RegisterOutputType(DataSetTextQualifierPtrOutput{}) pulumi.RegisterOutputType(DataSetTimeGranularityOutput{}) pulumi.RegisterOutputType(DataSetTimeGranularityPtrOutput{}) + pulumi.RegisterOutputType(DataSourceAuthenticationTypeOutput{}) + pulumi.RegisterOutputType(DataSourceAuthenticationTypePtrOutput{}) pulumi.RegisterOutputType(DataSourceErrorInfoTypeOutput{}) pulumi.RegisterOutputType(DataSourceErrorInfoTypePtrOutput{}) pulumi.RegisterOutputType(DataSourceResourceStatusOutput{}) diff --git a/sdk/go/aws/quicksight/pulumiTypes2.go b/sdk/go/aws/quicksight/pulumiTypes2.go index 7647f2e3ca..97ee3a7373 100644 --- a/sdk/go/aws/quicksight/pulumiTypes2.go +++ b/sdk/go/aws/quicksight/pulumiTypes2.go @@ -9446,6 +9446,186 @@ func (o DataSourceMySqlParametersPtrOutput) Port() pulumi.Float64PtrOutput { }).(pulumi.Float64PtrOutput) } +type DataSourceOAuthParameters struct { + IdentityProviderResourceUri *string `pulumi:"identityProviderResourceUri"` + IdentityProviderVpcConnectionProperties *DataSourceVpcConnectionProperties `pulumi:"identityProviderVpcConnectionProperties"` + OAuthScope *string `pulumi:"oAuthScope"` + TokenProviderUrl string `pulumi:"tokenProviderUrl"` +} + +// DataSourceOAuthParametersInput is an input type that accepts DataSourceOAuthParametersArgs and DataSourceOAuthParametersOutput values. +// You can construct a concrete instance of `DataSourceOAuthParametersInput` via: +// +// DataSourceOAuthParametersArgs{...} +type DataSourceOAuthParametersInput interface { + pulumi.Input + + ToDataSourceOAuthParametersOutput() DataSourceOAuthParametersOutput + ToDataSourceOAuthParametersOutputWithContext(context.Context) DataSourceOAuthParametersOutput +} + +type DataSourceOAuthParametersArgs struct { + IdentityProviderResourceUri pulumi.StringPtrInput `pulumi:"identityProviderResourceUri"` + IdentityProviderVpcConnectionProperties DataSourceVpcConnectionPropertiesPtrInput `pulumi:"identityProviderVpcConnectionProperties"` + OAuthScope pulumi.StringPtrInput `pulumi:"oAuthScope"` + TokenProviderUrl pulumi.StringInput `pulumi:"tokenProviderUrl"` +} + +func (DataSourceOAuthParametersArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DataSourceOAuthParameters)(nil)).Elem() +} + +func (i DataSourceOAuthParametersArgs) ToDataSourceOAuthParametersOutput() DataSourceOAuthParametersOutput { + return i.ToDataSourceOAuthParametersOutputWithContext(context.Background()) +} + +func (i DataSourceOAuthParametersArgs) ToDataSourceOAuthParametersOutputWithContext(ctx context.Context) DataSourceOAuthParametersOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceOAuthParametersOutput) +} + +func (i DataSourceOAuthParametersArgs) ToDataSourceOAuthParametersPtrOutput() DataSourceOAuthParametersPtrOutput { + return i.ToDataSourceOAuthParametersPtrOutputWithContext(context.Background()) +} + +func (i DataSourceOAuthParametersArgs) ToDataSourceOAuthParametersPtrOutputWithContext(ctx context.Context) DataSourceOAuthParametersPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceOAuthParametersOutput).ToDataSourceOAuthParametersPtrOutputWithContext(ctx) +} + +// DataSourceOAuthParametersPtrInput is an input type that accepts DataSourceOAuthParametersArgs, DataSourceOAuthParametersPtr and DataSourceOAuthParametersPtrOutput values. +// You can construct a concrete instance of `DataSourceOAuthParametersPtrInput` via: +// +// DataSourceOAuthParametersArgs{...} +// +// or: +// +// nil +type DataSourceOAuthParametersPtrInput interface { + pulumi.Input + + ToDataSourceOAuthParametersPtrOutput() DataSourceOAuthParametersPtrOutput + ToDataSourceOAuthParametersPtrOutputWithContext(context.Context) DataSourceOAuthParametersPtrOutput +} + +type dataSourceOAuthParametersPtrType DataSourceOAuthParametersArgs + +func DataSourceOAuthParametersPtr(v *DataSourceOAuthParametersArgs) DataSourceOAuthParametersPtrInput { + return (*dataSourceOAuthParametersPtrType)(v) +} + +func (*dataSourceOAuthParametersPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DataSourceOAuthParameters)(nil)).Elem() +} + +func (i *dataSourceOAuthParametersPtrType) ToDataSourceOAuthParametersPtrOutput() DataSourceOAuthParametersPtrOutput { + return i.ToDataSourceOAuthParametersPtrOutputWithContext(context.Background()) +} + +func (i *dataSourceOAuthParametersPtrType) ToDataSourceOAuthParametersPtrOutputWithContext(ctx context.Context) DataSourceOAuthParametersPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSourceOAuthParametersPtrOutput) +} + +type DataSourceOAuthParametersOutput struct{ *pulumi.OutputState } + +func (DataSourceOAuthParametersOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DataSourceOAuthParameters)(nil)).Elem() +} + +func (o DataSourceOAuthParametersOutput) ToDataSourceOAuthParametersOutput() DataSourceOAuthParametersOutput { + return o +} + +func (o DataSourceOAuthParametersOutput) ToDataSourceOAuthParametersOutputWithContext(ctx context.Context) DataSourceOAuthParametersOutput { + return o +} + +func (o DataSourceOAuthParametersOutput) ToDataSourceOAuthParametersPtrOutput() DataSourceOAuthParametersPtrOutput { + return o.ToDataSourceOAuthParametersPtrOutputWithContext(context.Background()) +} + +func (o DataSourceOAuthParametersOutput) ToDataSourceOAuthParametersPtrOutputWithContext(ctx context.Context) DataSourceOAuthParametersPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DataSourceOAuthParameters) *DataSourceOAuthParameters { + return &v + }).(DataSourceOAuthParametersPtrOutput) +} + +func (o DataSourceOAuthParametersOutput) IdentityProviderResourceUri() pulumi.StringPtrOutput { + return o.ApplyT(func(v DataSourceOAuthParameters) *string { return v.IdentityProviderResourceUri }).(pulumi.StringPtrOutput) +} + +func (o DataSourceOAuthParametersOutput) IdentityProviderVpcConnectionProperties() DataSourceVpcConnectionPropertiesPtrOutput { + return o.ApplyT(func(v DataSourceOAuthParameters) *DataSourceVpcConnectionProperties { + return v.IdentityProviderVpcConnectionProperties + }).(DataSourceVpcConnectionPropertiesPtrOutput) +} + +func (o DataSourceOAuthParametersOutput) OAuthScope() pulumi.StringPtrOutput { + return o.ApplyT(func(v DataSourceOAuthParameters) *string { return v.OAuthScope }).(pulumi.StringPtrOutput) +} + +func (o DataSourceOAuthParametersOutput) TokenProviderUrl() pulumi.StringOutput { + return o.ApplyT(func(v DataSourceOAuthParameters) string { return v.TokenProviderUrl }).(pulumi.StringOutput) +} + +type DataSourceOAuthParametersPtrOutput struct{ *pulumi.OutputState } + +func (DataSourceOAuthParametersPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DataSourceOAuthParameters)(nil)).Elem() +} + +func (o DataSourceOAuthParametersPtrOutput) ToDataSourceOAuthParametersPtrOutput() DataSourceOAuthParametersPtrOutput { + return o +} + +func (o DataSourceOAuthParametersPtrOutput) ToDataSourceOAuthParametersPtrOutputWithContext(ctx context.Context) DataSourceOAuthParametersPtrOutput { + return o +} + +func (o DataSourceOAuthParametersPtrOutput) Elem() DataSourceOAuthParametersOutput { + return o.ApplyT(func(v *DataSourceOAuthParameters) DataSourceOAuthParameters { + if v != nil { + return *v + } + var ret DataSourceOAuthParameters + return ret + }).(DataSourceOAuthParametersOutput) +} + +func (o DataSourceOAuthParametersPtrOutput) IdentityProviderResourceUri() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataSourceOAuthParameters) *string { + if v == nil { + return nil + } + return v.IdentityProviderResourceUri + }).(pulumi.StringPtrOutput) +} + +func (o DataSourceOAuthParametersPtrOutput) IdentityProviderVpcConnectionProperties() DataSourceVpcConnectionPropertiesPtrOutput { + return o.ApplyT(func(v *DataSourceOAuthParameters) *DataSourceVpcConnectionProperties { + if v == nil { + return nil + } + return v.IdentityProviderVpcConnectionProperties + }).(DataSourceVpcConnectionPropertiesPtrOutput) +} + +func (o DataSourceOAuthParametersPtrOutput) OAuthScope() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataSourceOAuthParameters) *string { + if v == nil { + return nil + } + return v.OAuthScope + }).(pulumi.StringPtrOutput) +} + +func (o DataSourceOAuthParametersPtrOutput) TokenProviderUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataSourceOAuthParameters) *string { + if v == nil { + return nil + } + return &v.TokenProviderUrl + }).(pulumi.StringPtrOutput) +} + //

The parameters for Oracle.

type DataSourceOracleParameters struct { //

The database.

@@ -11482,10 +11662,13 @@ func (o DataSourceS3ParametersPtrOutput) RoleArn() pulumi.StringPtrOutput { //

The parameters for Snowflake.

type DataSourceSnowflakeParameters struct { + AuthenticationType *DataSourceAuthenticationType `pulumi:"authenticationType"` //

Database.

- Database string `pulumi:"database"` + Database string `pulumi:"database"` + DatabaseAccessControlRole *string `pulumi:"databaseAccessControlRole"` //

Host.

- Host string `pulumi:"host"` + Host string `pulumi:"host"` + OAuthParameters *DataSourceOAuthParameters `pulumi:"oAuthParameters"` //

Warehouse.

Warehouse string `pulumi:"warehouse"` } @@ -11503,10 +11686,13 @@ type DataSourceSnowflakeParametersInput interface { //

The parameters for Snowflake.

type DataSourceSnowflakeParametersArgs struct { + AuthenticationType DataSourceAuthenticationTypePtrInput `pulumi:"authenticationType"` //

Database.

- Database pulumi.StringInput `pulumi:"database"` + Database pulumi.StringInput `pulumi:"database"` + DatabaseAccessControlRole pulumi.StringPtrInput `pulumi:"databaseAccessControlRole"` //

Host.

- Host pulumi.StringInput `pulumi:"host"` + Host pulumi.StringInput `pulumi:"host"` + OAuthParameters DataSourceOAuthParametersPtrInput `pulumi:"oAuthParameters"` //

Warehouse.

Warehouse pulumi.StringInput `pulumi:"warehouse"` } @@ -11589,16 +11775,28 @@ func (o DataSourceSnowflakeParametersOutput) ToDataSourceSnowflakeParametersPtrO }).(DataSourceSnowflakeParametersPtrOutput) } +func (o DataSourceSnowflakeParametersOutput) AuthenticationType() DataSourceAuthenticationTypePtrOutput { + return o.ApplyT(func(v DataSourceSnowflakeParameters) *DataSourceAuthenticationType { return v.AuthenticationType }).(DataSourceAuthenticationTypePtrOutput) +} + //

Database.

func (o DataSourceSnowflakeParametersOutput) Database() pulumi.StringOutput { return o.ApplyT(func(v DataSourceSnowflakeParameters) string { return v.Database }).(pulumi.StringOutput) } +func (o DataSourceSnowflakeParametersOutput) DatabaseAccessControlRole() pulumi.StringPtrOutput { + return o.ApplyT(func(v DataSourceSnowflakeParameters) *string { return v.DatabaseAccessControlRole }).(pulumi.StringPtrOutput) +} + //

Host.

func (o DataSourceSnowflakeParametersOutput) Host() pulumi.StringOutput { return o.ApplyT(func(v DataSourceSnowflakeParameters) string { return v.Host }).(pulumi.StringOutput) } +func (o DataSourceSnowflakeParametersOutput) OAuthParameters() DataSourceOAuthParametersPtrOutput { + return o.ApplyT(func(v DataSourceSnowflakeParameters) *DataSourceOAuthParameters { return v.OAuthParameters }).(DataSourceOAuthParametersPtrOutput) +} + //

Warehouse.

func (o DataSourceSnowflakeParametersOutput) Warehouse() pulumi.StringOutput { return o.ApplyT(func(v DataSourceSnowflakeParameters) string { return v.Warehouse }).(pulumi.StringOutput) @@ -11628,6 +11826,15 @@ func (o DataSourceSnowflakeParametersPtrOutput) Elem() DataSourceSnowflakeParame }).(DataSourceSnowflakeParametersOutput) } +func (o DataSourceSnowflakeParametersPtrOutput) AuthenticationType() DataSourceAuthenticationTypePtrOutput { + return o.ApplyT(func(v *DataSourceSnowflakeParameters) *DataSourceAuthenticationType { + if v == nil { + return nil + } + return v.AuthenticationType + }).(DataSourceAuthenticationTypePtrOutput) +} + //

Database.

func (o DataSourceSnowflakeParametersPtrOutput) Database() pulumi.StringPtrOutput { return o.ApplyT(func(v *DataSourceSnowflakeParameters) *string { @@ -11638,6 +11845,15 @@ func (o DataSourceSnowflakeParametersPtrOutput) Database() pulumi.StringPtrOutpu }).(pulumi.StringPtrOutput) } +func (o DataSourceSnowflakeParametersPtrOutput) DatabaseAccessControlRole() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataSourceSnowflakeParameters) *string { + if v == nil { + return nil + } + return v.DatabaseAccessControlRole + }).(pulumi.StringPtrOutput) +} + //

Host.

func (o DataSourceSnowflakeParametersPtrOutput) Host() pulumi.StringPtrOutput { return o.ApplyT(func(v *DataSourceSnowflakeParameters) *string { @@ -11648,6 +11864,15 @@ func (o DataSourceSnowflakeParametersPtrOutput) Host() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +func (o DataSourceSnowflakeParametersPtrOutput) OAuthParameters() DataSourceOAuthParametersPtrOutput { + return o.ApplyT(func(v *DataSourceSnowflakeParameters) *DataSourceOAuthParameters { + if v == nil { + return nil + } + return v.OAuthParameters + }).(DataSourceOAuthParametersPtrOutput) +} + //

Warehouse.

func (o DataSourceSnowflakeParametersPtrOutput) Warehouse() pulumi.StringPtrOutput { return o.ApplyT(func(v *DataSourceSnowflakeParameters) *string { @@ -12143,10 +12368,13 @@ func (o DataSourceSslPropertiesPtrOutput) DisableSsl() pulumi.BoolPtrOutput { //

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

type DataSourceStarburstParameters struct { + AuthenticationType *DataSourceAuthenticationType `pulumi:"authenticationType"` //

The catalog name for the Starburst data source.

- Catalog string `pulumi:"catalog"` + Catalog string `pulumi:"catalog"` + DatabaseAccessControlRole *string `pulumi:"databaseAccessControlRole"` //

The host name of the Starburst data source.

- Host string `pulumi:"host"` + Host string `pulumi:"host"` + OAuthParameters *DataSourceOAuthParameters `pulumi:"oAuthParameters"` //

The port for the Starburst data source.

Port float64 `pulumi:"port"` // The product type for the Starburst data source. @@ -12166,10 +12394,13 @@ type DataSourceStarburstParametersInput interface { //

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

type DataSourceStarburstParametersArgs struct { + AuthenticationType DataSourceAuthenticationTypePtrInput `pulumi:"authenticationType"` //

The catalog name for the Starburst data source.

- Catalog pulumi.StringInput `pulumi:"catalog"` + Catalog pulumi.StringInput `pulumi:"catalog"` + DatabaseAccessControlRole pulumi.StringPtrInput `pulumi:"databaseAccessControlRole"` //

The host name of the Starburst data source.

- Host pulumi.StringInput `pulumi:"host"` + Host pulumi.StringInput `pulumi:"host"` + OAuthParameters DataSourceOAuthParametersPtrInput `pulumi:"oAuthParameters"` //

The port for the Starburst data source.

Port pulumi.Float64Input `pulumi:"port"` // The product type for the Starburst data source. @@ -12254,16 +12485,28 @@ func (o DataSourceStarburstParametersOutput) ToDataSourceStarburstParametersPtrO }).(DataSourceStarburstParametersPtrOutput) } +func (o DataSourceStarburstParametersOutput) AuthenticationType() DataSourceAuthenticationTypePtrOutput { + return o.ApplyT(func(v DataSourceStarburstParameters) *DataSourceAuthenticationType { return v.AuthenticationType }).(DataSourceAuthenticationTypePtrOutput) +} + //

The catalog name for the Starburst data source.

func (o DataSourceStarburstParametersOutput) Catalog() pulumi.StringOutput { return o.ApplyT(func(v DataSourceStarburstParameters) string { return v.Catalog }).(pulumi.StringOutput) } +func (o DataSourceStarburstParametersOutput) DatabaseAccessControlRole() pulumi.StringPtrOutput { + return o.ApplyT(func(v DataSourceStarburstParameters) *string { return v.DatabaseAccessControlRole }).(pulumi.StringPtrOutput) +} + //

The host name of the Starburst data source.

func (o DataSourceStarburstParametersOutput) Host() pulumi.StringOutput { return o.ApplyT(func(v DataSourceStarburstParameters) string { return v.Host }).(pulumi.StringOutput) } +func (o DataSourceStarburstParametersOutput) OAuthParameters() DataSourceOAuthParametersPtrOutput { + return o.ApplyT(func(v DataSourceStarburstParameters) *DataSourceOAuthParameters { return v.OAuthParameters }).(DataSourceOAuthParametersPtrOutput) +} + //

The port for the Starburst data source.

func (o DataSourceStarburstParametersOutput) Port() pulumi.Float64Output { return o.ApplyT(func(v DataSourceStarburstParameters) float64 { return v.Port }).(pulumi.Float64Output) @@ -12298,6 +12541,15 @@ func (o DataSourceStarburstParametersPtrOutput) Elem() DataSourceStarburstParame }).(DataSourceStarburstParametersOutput) } +func (o DataSourceStarburstParametersPtrOutput) AuthenticationType() DataSourceAuthenticationTypePtrOutput { + return o.ApplyT(func(v *DataSourceStarburstParameters) *DataSourceAuthenticationType { + if v == nil { + return nil + } + return v.AuthenticationType + }).(DataSourceAuthenticationTypePtrOutput) +} + //

The catalog name for the Starburst data source.

func (o DataSourceStarburstParametersPtrOutput) Catalog() pulumi.StringPtrOutput { return o.ApplyT(func(v *DataSourceStarburstParameters) *string { @@ -12308,6 +12560,15 @@ func (o DataSourceStarburstParametersPtrOutput) Catalog() pulumi.StringPtrOutput }).(pulumi.StringPtrOutput) } +func (o DataSourceStarburstParametersPtrOutput) DatabaseAccessControlRole() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataSourceStarburstParameters) *string { + if v == nil { + return nil + } + return v.DatabaseAccessControlRole + }).(pulumi.StringPtrOutput) +} + //

The host name of the Starburst data source.

func (o DataSourceStarburstParametersPtrOutput) Host() pulumi.StringPtrOutput { return o.ApplyT(func(v *DataSourceStarburstParameters) *string { @@ -12318,6 +12579,15 @@ func (o DataSourceStarburstParametersPtrOutput) Host() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +func (o DataSourceStarburstParametersPtrOutput) OAuthParameters() DataSourceOAuthParametersPtrOutput { + return o.ApplyT(func(v *DataSourceStarburstParameters) *DataSourceOAuthParameters { + if v == nil { + return nil + } + return v.OAuthParameters + }).(DataSourceOAuthParametersPtrOutput) +} + //

The port for the Starburst data source.

func (o DataSourceStarburstParametersPtrOutput) Port() pulumi.Float64PtrOutput { return o.ApplyT(func(v *DataSourceStarburstParameters) *float64 { @@ -85662,114 +85932,6 @@ func (o TemplateTableConditionalFormattingPtrOutput) ConditionalFormattingOption }).(TemplateTableConditionalFormattingOptionArrayOutput) } -type TemplateTableConditionalFormattingOption struct { - // The cell conditional formatting option for a table. - Cell *TemplateTableCellConditionalFormatting `pulumi:"cell"` - // The row conditional formatting option for a table. - Row *TemplateTableRowConditionalFormatting `pulumi:"row"` -} - -// TemplateTableConditionalFormattingOptionInput is an input type that accepts TemplateTableConditionalFormattingOptionArgs and TemplateTableConditionalFormattingOptionOutput values. -// You can construct a concrete instance of `TemplateTableConditionalFormattingOptionInput` via: -// -// TemplateTableConditionalFormattingOptionArgs{...} -type TemplateTableConditionalFormattingOptionInput interface { - pulumi.Input - - ToTemplateTableConditionalFormattingOptionOutput() TemplateTableConditionalFormattingOptionOutput - ToTemplateTableConditionalFormattingOptionOutputWithContext(context.Context) TemplateTableConditionalFormattingOptionOutput -} - -type TemplateTableConditionalFormattingOptionArgs struct { - // The cell conditional formatting option for a table. - Cell TemplateTableCellConditionalFormattingPtrInput `pulumi:"cell"` - // The row conditional formatting option for a table. - Row TemplateTableRowConditionalFormattingPtrInput `pulumi:"row"` -} - -func (TemplateTableConditionalFormattingOptionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*TemplateTableConditionalFormattingOption)(nil)).Elem() -} - -func (i TemplateTableConditionalFormattingOptionArgs) ToTemplateTableConditionalFormattingOptionOutput() TemplateTableConditionalFormattingOptionOutput { - return i.ToTemplateTableConditionalFormattingOptionOutputWithContext(context.Background()) -} - -func (i TemplateTableConditionalFormattingOptionArgs) ToTemplateTableConditionalFormattingOptionOutputWithContext(ctx context.Context) TemplateTableConditionalFormattingOptionOutput { - return pulumi.ToOutputWithContext(ctx, i).(TemplateTableConditionalFormattingOptionOutput) -} - -// TemplateTableConditionalFormattingOptionArrayInput is an input type that accepts TemplateTableConditionalFormattingOptionArray and TemplateTableConditionalFormattingOptionArrayOutput values. -// You can construct a concrete instance of `TemplateTableConditionalFormattingOptionArrayInput` via: -// -// TemplateTableConditionalFormattingOptionArray{ TemplateTableConditionalFormattingOptionArgs{...} } -type TemplateTableConditionalFormattingOptionArrayInput interface { - pulumi.Input - - ToTemplateTableConditionalFormattingOptionArrayOutput() TemplateTableConditionalFormattingOptionArrayOutput - ToTemplateTableConditionalFormattingOptionArrayOutputWithContext(context.Context) TemplateTableConditionalFormattingOptionArrayOutput -} - -type TemplateTableConditionalFormattingOptionArray []TemplateTableConditionalFormattingOptionInput - -func (TemplateTableConditionalFormattingOptionArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]TemplateTableConditionalFormattingOption)(nil)).Elem() -} - -func (i TemplateTableConditionalFormattingOptionArray) ToTemplateTableConditionalFormattingOptionArrayOutput() TemplateTableConditionalFormattingOptionArrayOutput { - return i.ToTemplateTableConditionalFormattingOptionArrayOutputWithContext(context.Background()) -} - -func (i TemplateTableConditionalFormattingOptionArray) ToTemplateTableConditionalFormattingOptionArrayOutputWithContext(ctx context.Context) TemplateTableConditionalFormattingOptionArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(TemplateTableConditionalFormattingOptionArrayOutput) -} - -type TemplateTableConditionalFormattingOptionOutput struct{ *pulumi.OutputState } - -func (TemplateTableConditionalFormattingOptionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*TemplateTableConditionalFormattingOption)(nil)).Elem() -} - -func (o TemplateTableConditionalFormattingOptionOutput) ToTemplateTableConditionalFormattingOptionOutput() TemplateTableConditionalFormattingOptionOutput { - return o -} - -func (o TemplateTableConditionalFormattingOptionOutput) ToTemplateTableConditionalFormattingOptionOutputWithContext(ctx context.Context) TemplateTableConditionalFormattingOptionOutput { - return o -} - -// The cell conditional formatting option for a table. -func (o TemplateTableConditionalFormattingOptionOutput) Cell() TemplateTableCellConditionalFormattingPtrOutput { - return o.ApplyT(func(v TemplateTableConditionalFormattingOption) *TemplateTableCellConditionalFormatting { - return v.Cell - }).(TemplateTableCellConditionalFormattingPtrOutput) -} - -// The row conditional formatting option for a table. -func (o TemplateTableConditionalFormattingOptionOutput) Row() TemplateTableRowConditionalFormattingPtrOutput { - return o.ApplyT(func(v TemplateTableConditionalFormattingOption) *TemplateTableRowConditionalFormatting { return v.Row }).(TemplateTableRowConditionalFormattingPtrOutput) -} - -type TemplateTableConditionalFormattingOptionArrayOutput struct{ *pulumi.OutputState } - -func (TemplateTableConditionalFormattingOptionArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]TemplateTableConditionalFormattingOption)(nil)).Elem() -} - -func (o TemplateTableConditionalFormattingOptionArrayOutput) ToTemplateTableConditionalFormattingOptionArrayOutput() TemplateTableConditionalFormattingOptionArrayOutput { - return o -} - -func (o TemplateTableConditionalFormattingOptionArrayOutput) ToTemplateTableConditionalFormattingOptionArrayOutputWithContext(ctx context.Context) TemplateTableConditionalFormattingOptionArrayOutput { - return o -} - -func (o TemplateTableConditionalFormattingOptionArrayOutput) Index(i pulumi.IntInput) TemplateTableConditionalFormattingOptionOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) TemplateTableConditionalFormattingOption { - return vs[0].([]TemplateTableConditionalFormattingOption)[vs[1].(int)] - }).(TemplateTableConditionalFormattingOptionOutput) -} - func init() { pulumi.RegisterInputType(reflect.TypeOf((*DataSetColumnDescriptionInput)(nil)).Elem(), DataSetColumnDescriptionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DataSetColumnDescriptionPtrInput)(nil)).Elem(), DataSetColumnDescriptionArgs{}) @@ -85885,6 +86047,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*DataSourceMariaDbParametersPtrInput)(nil)).Elem(), DataSourceMariaDbParametersArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DataSourceMySqlParametersInput)(nil)).Elem(), DataSourceMySqlParametersArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DataSourceMySqlParametersPtrInput)(nil)).Elem(), DataSourceMySqlParametersArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DataSourceOAuthParametersInput)(nil)).Elem(), DataSourceOAuthParametersArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DataSourceOAuthParametersPtrInput)(nil)).Elem(), DataSourceOAuthParametersArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DataSourceOracleParametersInput)(nil)).Elem(), DataSourceOracleParametersArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DataSourceOracleParametersPtrInput)(nil)).Elem(), DataSourceOracleParametersArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DataSourceParametersInput)(nil)).Elem(), DataSourceParametersArgs{}) @@ -86751,8 +86915,6 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*TemplateTableCellStylePtrInput)(nil)).Elem(), TemplateTableCellStyleArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TemplateTableConditionalFormattingInput)(nil)).Elem(), TemplateTableConditionalFormattingArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TemplateTableConditionalFormattingPtrInput)(nil)).Elem(), TemplateTableConditionalFormattingArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*TemplateTableConditionalFormattingOptionInput)(nil)).Elem(), TemplateTableConditionalFormattingOptionArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*TemplateTableConditionalFormattingOptionArrayInput)(nil)).Elem(), TemplateTableConditionalFormattingOptionArray{}) pulumi.RegisterOutputType(DataSetColumnDescriptionOutput{}) pulumi.RegisterOutputType(DataSetColumnDescriptionPtrOutput{}) pulumi.RegisterOutputType(DataSetColumnGroupOutput{}) @@ -86869,6 +87031,8 @@ func init() { pulumi.RegisterOutputType(DataSourceMariaDbParametersPtrOutput{}) pulumi.RegisterOutputType(DataSourceMySqlParametersOutput{}) pulumi.RegisterOutputType(DataSourceMySqlParametersPtrOutput{}) + pulumi.RegisterOutputType(DataSourceOAuthParametersOutput{}) + pulumi.RegisterOutputType(DataSourceOAuthParametersPtrOutput{}) pulumi.RegisterOutputType(DataSourceOracleParametersOutput{}) pulumi.RegisterOutputType(DataSourceOracleParametersPtrOutput{}) pulumi.RegisterOutputType(DataSourceParametersOutput{}) @@ -87741,6 +87905,4 @@ func init() { pulumi.RegisterOutputType(TemplateTableCellStylePtrOutput{}) pulumi.RegisterOutputType(TemplateTableConditionalFormattingOutput{}) pulumi.RegisterOutputType(TemplateTableConditionalFormattingPtrOutput{}) - pulumi.RegisterOutputType(TemplateTableConditionalFormattingOptionOutput{}) - pulumi.RegisterOutputType(TemplateTableConditionalFormattingOptionArrayOutput{}) } diff --git a/sdk/go/aws/quicksight/pulumiTypes3.go b/sdk/go/aws/quicksight/pulumiTypes3.go index b911510a24..4041918839 100644 --- a/sdk/go/aws/quicksight/pulumiTypes3.go +++ b/sdk/go/aws/quicksight/pulumiTypes3.go @@ -13,6 +13,114 @@ import ( var _ = internal.GetEnvOrDefault +type TemplateTableConditionalFormattingOption struct { + // The cell conditional formatting option for a table. + Cell *TemplateTableCellConditionalFormatting `pulumi:"cell"` + // The row conditional formatting option for a table. + Row *TemplateTableRowConditionalFormatting `pulumi:"row"` +} + +// TemplateTableConditionalFormattingOptionInput is an input type that accepts TemplateTableConditionalFormattingOptionArgs and TemplateTableConditionalFormattingOptionOutput values. +// You can construct a concrete instance of `TemplateTableConditionalFormattingOptionInput` via: +// +// TemplateTableConditionalFormattingOptionArgs{...} +type TemplateTableConditionalFormattingOptionInput interface { + pulumi.Input + + ToTemplateTableConditionalFormattingOptionOutput() TemplateTableConditionalFormattingOptionOutput + ToTemplateTableConditionalFormattingOptionOutputWithContext(context.Context) TemplateTableConditionalFormattingOptionOutput +} + +type TemplateTableConditionalFormattingOptionArgs struct { + // The cell conditional formatting option for a table. + Cell TemplateTableCellConditionalFormattingPtrInput `pulumi:"cell"` + // The row conditional formatting option for a table. + Row TemplateTableRowConditionalFormattingPtrInput `pulumi:"row"` +} + +func (TemplateTableConditionalFormattingOptionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TemplateTableConditionalFormattingOption)(nil)).Elem() +} + +func (i TemplateTableConditionalFormattingOptionArgs) ToTemplateTableConditionalFormattingOptionOutput() TemplateTableConditionalFormattingOptionOutput { + return i.ToTemplateTableConditionalFormattingOptionOutputWithContext(context.Background()) +} + +func (i TemplateTableConditionalFormattingOptionArgs) ToTemplateTableConditionalFormattingOptionOutputWithContext(ctx context.Context) TemplateTableConditionalFormattingOptionOutput { + return pulumi.ToOutputWithContext(ctx, i).(TemplateTableConditionalFormattingOptionOutput) +} + +// TemplateTableConditionalFormattingOptionArrayInput is an input type that accepts TemplateTableConditionalFormattingOptionArray and TemplateTableConditionalFormattingOptionArrayOutput values. +// You can construct a concrete instance of `TemplateTableConditionalFormattingOptionArrayInput` via: +// +// TemplateTableConditionalFormattingOptionArray{ TemplateTableConditionalFormattingOptionArgs{...} } +type TemplateTableConditionalFormattingOptionArrayInput interface { + pulumi.Input + + ToTemplateTableConditionalFormattingOptionArrayOutput() TemplateTableConditionalFormattingOptionArrayOutput + ToTemplateTableConditionalFormattingOptionArrayOutputWithContext(context.Context) TemplateTableConditionalFormattingOptionArrayOutput +} + +type TemplateTableConditionalFormattingOptionArray []TemplateTableConditionalFormattingOptionInput + +func (TemplateTableConditionalFormattingOptionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]TemplateTableConditionalFormattingOption)(nil)).Elem() +} + +func (i TemplateTableConditionalFormattingOptionArray) ToTemplateTableConditionalFormattingOptionArrayOutput() TemplateTableConditionalFormattingOptionArrayOutput { + return i.ToTemplateTableConditionalFormattingOptionArrayOutputWithContext(context.Background()) +} + +func (i TemplateTableConditionalFormattingOptionArray) ToTemplateTableConditionalFormattingOptionArrayOutputWithContext(ctx context.Context) TemplateTableConditionalFormattingOptionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(TemplateTableConditionalFormattingOptionArrayOutput) +} + +type TemplateTableConditionalFormattingOptionOutput struct{ *pulumi.OutputState } + +func (TemplateTableConditionalFormattingOptionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TemplateTableConditionalFormattingOption)(nil)).Elem() +} + +func (o TemplateTableConditionalFormattingOptionOutput) ToTemplateTableConditionalFormattingOptionOutput() TemplateTableConditionalFormattingOptionOutput { + return o +} + +func (o TemplateTableConditionalFormattingOptionOutput) ToTemplateTableConditionalFormattingOptionOutputWithContext(ctx context.Context) TemplateTableConditionalFormattingOptionOutput { + return o +} + +// The cell conditional formatting option for a table. +func (o TemplateTableConditionalFormattingOptionOutput) Cell() TemplateTableCellConditionalFormattingPtrOutput { + return o.ApplyT(func(v TemplateTableConditionalFormattingOption) *TemplateTableCellConditionalFormatting { + return v.Cell + }).(TemplateTableCellConditionalFormattingPtrOutput) +} + +// The row conditional formatting option for a table. +func (o TemplateTableConditionalFormattingOptionOutput) Row() TemplateTableRowConditionalFormattingPtrOutput { + return o.ApplyT(func(v TemplateTableConditionalFormattingOption) *TemplateTableRowConditionalFormatting { return v.Row }).(TemplateTableRowConditionalFormattingPtrOutput) +} + +type TemplateTableConditionalFormattingOptionArrayOutput struct{ *pulumi.OutputState } + +func (TemplateTableConditionalFormattingOptionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]TemplateTableConditionalFormattingOption)(nil)).Elem() +} + +func (o TemplateTableConditionalFormattingOptionArrayOutput) ToTemplateTableConditionalFormattingOptionArrayOutput() TemplateTableConditionalFormattingOptionArrayOutput { + return o +} + +func (o TemplateTableConditionalFormattingOptionArrayOutput) ToTemplateTableConditionalFormattingOptionArrayOutputWithContext(ctx context.Context) TemplateTableConditionalFormattingOptionArrayOutput { + return o +} + +func (o TemplateTableConditionalFormattingOptionArrayOutput) Index(i pulumi.IntInput) TemplateTableConditionalFormattingOptionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) TemplateTableConditionalFormattingOption { + return vs[0].([]TemplateTableConditionalFormattingOption)[vs[1].(int)] + }).(TemplateTableConditionalFormattingOptionOutput) +} + type TemplateTableConfiguration struct { // The field options for a table visual. FieldOptions *TemplateTableFieldOptions `pulumi:"fieldOptions"` @@ -20299,6 +20407,8 @@ type VpcConnectionTag struct { } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*TemplateTableConditionalFormattingOptionInput)(nil)).Elem(), TemplateTableConditionalFormattingOptionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TemplateTableConditionalFormattingOptionArrayInput)(nil)).Elem(), TemplateTableConditionalFormattingOptionArray{}) pulumi.RegisterInputType(reflect.TypeOf((*TemplateTableConfigurationInput)(nil)).Elem(), TemplateTableConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TemplateTableConfigurationPtrInput)(nil)).Elem(), TemplateTableConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TemplateTableFieldCustomIconContentInput)(nil)).Elem(), TemplateTableFieldCustomIconContentArgs{}) @@ -20517,6 +20627,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*TopicSemanticTypePtrInput)(nil)).Elem(), TopicSemanticTypeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TopicSingularFilterConstantInput)(nil)).Elem(), TopicSingularFilterConstantArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TopicSingularFilterConstantPtrInput)(nil)).Elem(), TopicSingularFilterConstantArgs{}) + pulumi.RegisterOutputType(TemplateTableConditionalFormattingOptionOutput{}) + pulumi.RegisterOutputType(TemplateTableConditionalFormattingOptionArrayOutput{}) pulumi.RegisterOutputType(TemplateTableConfigurationOutput{}) pulumi.RegisterOutputType(TemplateTableConfigurationPtrOutput{}) pulumi.RegisterOutputType(TemplateTableFieldCustomIconContentOutput{}) diff --git a/sdk/go/aws/rds/dbCluster.go b/sdk/go/aws/rds/dbCluster.go index 332edc4061..4c410ae1b6 100644 --- a/sdk/go/aws/rds/dbCluster.go +++ b/sdk/go/aws/rds/dbCluster.go @@ -59,6 +59,8 @@ type DbCluster struct { // // Valid for: Aurora DB clusters and Multi-AZ DB clusters BackupRetentionPeriod pulumi.IntPtrOutput `pulumi:"backupRetentionPeriod"` + // 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. + ClusterScalabilityType pulumi.StringPtrOutput `pulumi:"clusterScalabilityType"` // 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. // Valid for: Aurora DB clusters and Multi-AZ DB clusters CopyTagsToSnapshot pulumi.BoolPtrOutput `pulumi:"copyTagsToSnapshot"` @@ -415,6 +417,7 @@ func NewDbCluster(ctx *pulumi.Context, replaceOnChanges := pulumi.ReplaceOnChanges([]string{ "availabilityZones[*]", + "clusterScalabilityType", "databaseName", "dbClusterIdentifier", "dbSubnetGroupName", @@ -490,6 +493,8 @@ type dbClusterArgs struct { // // Valid for: Aurora DB clusters and Multi-AZ DB clusters BackupRetentionPeriod *int `pulumi:"backupRetentionPeriod"` + // 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. + ClusterScalabilityType *string `pulumi:"clusterScalabilityType"` // 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. // Valid for: Aurora DB clusters and Multi-AZ DB clusters CopyTagsToSnapshot *bool `pulumi:"copyTagsToSnapshot"` @@ -856,6 +861,8 @@ type DbClusterArgs struct { // // Valid for: Aurora DB clusters and Multi-AZ DB clusters BackupRetentionPeriod pulumi.IntPtrInput + // 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. + ClusterScalabilityType pulumi.StringPtrInput // 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. // Valid for: Aurora DB clusters and Multi-AZ DB clusters CopyTagsToSnapshot pulumi.BoolPtrInput @@ -1281,6 +1288,11 @@ func (o DbClusterOutput) BackupRetentionPeriod() pulumi.IntPtrOutput { return o.ApplyT(func(v *DbCluster) pulumi.IntPtrOutput { return v.BackupRetentionPeriod }).(pulumi.IntPtrOutput) } +// 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. +func (o DbClusterOutput) ClusterScalabilityType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DbCluster) pulumi.StringPtrOutput { return v.ClusterScalabilityType }).(pulumi.StringPtrOutput) +} + // 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. // // Valid for: Aurora DB clusters and Multi-AZ DB clusters diff --git a/sdk/go/aws/rds/dbShardGroup.go b/sdk/go/aws/rds/dbShardGroup.go new file mode 100644 index 0000000000..3e76877bd4 --- /dev/null +++ b/sdk/go/aws/rds/dbShardGroup.go @@ -0,0 +1,211 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rds + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The AWS::RDS::DBShardGroup resource creates an Amazon Aurora Limitless DB Shard Group. +type DbShardGroup struct { + pulumi.CustomResourceState + + // Specifies whether to create standby instances for the DB shard group. + ComputeRedundancy pulumi.IntPtrOutput `pulumi:"computeRedundancy"` + // The name of the primary DB cluster for the DB shard group. + DbClusterIdentifier pulumi.StringOutput `pulumi:"dbClusterIdentifier"` + // The name of the DB shard group. + DbShardGroupIdentifier pulumi.StringPtrOutput `pulumi:"dbShardGroupIdentifier"` + // The Amazon Web Services Region-unique, immutable identifier for the DB shard group. + DbShardGroupResourceId pulumi.StringOutput `pulumi:"dbShardGroupResourceId"` + // The connection endpoint for the DB shard group. + Endpoint pulumi.StringOutput `pulumi:"endpoint"` + // The maximum capacity of the DB shard group in Aurora capacity units (ACUs). + MaxAcu pulumi.Float64Output `pulumi:"maxAcu"` + // The minimum capacity of the DB shard group in Aurora capacity units (ACUs). + MinAcu pulumi.Float64PtrOutput `pulumi:"minAcu"` + // Indicates whether the DB shard group is publicly accessible. + PubliclyAccessible pulumi.BoolPtrOutput `pulumi:"publiclyAccessible"` + // An array of key-value pairs to apply to this resource. + Tags aws.TagArrayOutput `pulumi:"tags"` +} + +// NewDbShardGroup registers a new resource with the given unique name, arguments, and options. +func NewDbShardGroup(ctx *pulumi.Context, + name string, args *DbShardGroupArgs, opts ...pulumi.ResourceOption) (*DbShardGroup, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.DbClusterIdentifier == nil { + return nil, errors.New("invalid value for required argument 'DbClusterIdentifier'") + } + if args.MaxAcu == nil { + return nil, errors.New("invalid value for required argument 'MaxAcu'") + } + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "dbClusterIdentifier", + "dbShardGroupIdentifier", + "publiclyAccessible", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource DbShardGroup + err := ctx.RegisterResource("aws-native:rds:DbShardGroup", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDbShardGroup gets an existing DbShardGroup resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetDbShardGroup(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DbShardGroupState, opts ...pulumi.ResourceOption) (*DbShardGroup, error) { + var resource DbShardGroup + err := ctx.ReadResource("aws-native:rds:DbShardGroup", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering DbShardGroup resources. +type dbShardGroupState struct { +} + +type DbShardGroupState struct { +} + +func (DbShardGroupState) ElementType() reflect.Type { + return reflect.TypeOf((*dbShardGroupState)(nil)).Elem() +} + +type dbShardGroupArgs struct { + // Specifies whether to create standby instances for the DB shard group. + ComputeRedundancy *int `pulumi:"computeRedundancy"` + // The name of the primary DB cluster for the DB shard group. + DbClusterIdentifier string `pulumi:"dbClusterIdentifier"` + // The name of the DB shard group. + DbShardGroupIdentifier *string `pulumi:"dbShardGroupIdentifier"` + // The maximum capacity of the DB shard group in Aurora capacity units (ACUs). + MaxAcu float64 `pulumi:"maxAcu"` + // The minimum capacity of the DB shard group in Aurora capacity units (ACUs). + MinAcu *float64 `pulumi:"minAcu"` + // Indicates whether the DB shard group is publicly accessible. + PubliclyAccessible *bool `pulumi:"publiclyAccessible"` + // An array of key-value pairs to apply to this resource. + Tags []aws.Tag `pulumi:"tags"` +} + +// The set of arguments for constructing a DbShardGroup resource. +type DbShardGroupArgs struct { + // Specifies whether to create standby instances for the DB shard group. + ComputeRedundancy pulumi.IntPtrInput + // The name of the primary DB cluster for the DB shard group. + DbClusterIdentifier pulumi.StringInput + // The name of the DB shard group. + DbShardGroupIdentifier pulumi.StringPtrInput + // The maximum capacity of the DB shard group in Aurora capacity units (ACUs). + MaxAcu pulumi.Float64Input + // The minimum capacity of the DB shard group in Aurora capacity units (ACUs). + MinAcu pulumi.Float64PtrInput + // Indicates whether the DB shard group is publicly accessible. + PubliclyAccessible pulumi.BoolPtrInput + // An array of key-value pairs to apply to this resource. + Tags aws.TagArrayInput +} + +func (DbShardGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*dbShardGroupArgs)(nil)).Elem() +} + +type DbShardGroupInput interface { + pulumi.Input + + ToDbShardGroupOutput() DbShardGroupOutput + ToDbShardGroupOutputWithContext(ctx context.Context) DbShardGroupOutput +} + +func (*DbShardGroup) ElementType() reflect.Type { + return reflect.TypeOf((**DbShardGroup)(nil)).Elem() +} + +func (i *DbShardGroup) ToDbShardGroupOutput() DbShardGroupOutput { + return i.ToDbShardGroupOutputWithContext(context.Background()) +} + +func (i *DbShardGroup) ToDbShardGroupOutputWithContext(ctx context.Context) DbShardGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(DbShardGroupOutput) +} + +type DbShardGroupOutput struct{ *pulumi.OutputState } + +func (DbShardGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DbShardGroup)(nil)).Elem() +} + +func (o DbShardGroupOutput) ToDbShardGroupOutput() DbShardGroupOutput { + return o +} + +func (o DbShardGroupOutput) ToDbShardGroupOutputWithContext(ctx context.Context) DbShardGroupOutput { + return o +} + +// Specifies whether to create standby instances for the DB shard group. +func (o DbShardGroupOutput) ComputeRedundancy() pulumi.IntPtrOutput { + return o.ApplyT(func(v *DbShardGroup) pulumi.IntPtrOutput { return v.ComputeRedundancy }).(pulumi.IntPtrOutput) +} + +// The name of the primary DB cluster for the DB shard group. +func (o DbShardGroupOutput) DbClusterIdentifier() pulumi.StringOutput { + return o.ApplyT(func(v *DbShardGroup) pulumi.StringOutput { return v.DbClusterIdentifier }).(pulumi.StringOutput) +} + +// The name of the DB shard group. +func (o DbShardGroupOutput) DbShardGroupIdentifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DbShardGroup) pulumi.StringPtrOutput { return v.DbShardGroupIdentifier }).(pulumi.StringPtrOutput) +} + +// The Amazon Web Services Region-unique, immutable identifier for the DB shard group. +func (o DbShardGroupOutput) DbShardGroupResourceId() pulumi.StringOutput { + return o.ApplyT(func(v *DbShardGroup) pulumi.StringOutput { return v.DbShardGroupResourceId }).(pulumi.StringOutput) +} + +// The connection endpoint for the DB shard group. +func (o DbShardGroupOutput) Endpoint() pulumi.StringOutput { + return o.ApplyT(func(v *DbShardGroup) pulumi.StringOutput { return v.Endpoint }).(pulumi.StringOutput) +} + +// The maximum capacity of the DB shard group in Aurora capacity units (ACUs). +func (o DbShardGroupOutput) MaxAcu() pulumi.Float64Output { + return o.ApplyT(func(v *DbShardGroup) pulumi.Float64Output { return v.MaxAcu }).(pulumi.Float64Output) +} + +// The minimum capacity of the DB shard group in Aurora capacity units (ACUs). +func (o DbShardGroupOutput) MinAcu() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *DbShardGroup) pulumi.Float64PtrOutput { return v.MinAcu }).(pulumi.Float64PtrOutput) +} + +// Indicates whether the DB shard group is publicly accessible. +func (o DbShardGroupOutput) PubliclyAccessible() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *DbShardGroup) pulumi.BoolPtrOutput { return v.PubliclyAccessible }).(pulumi.BoolPtrOutput) +} + +// An array of key-value pairs to apply to this resource. +func (o DbShardGroupOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v *DbShardGroup) aws.TagArrayOutput { return v.Tags }).(aws.TagArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DbShardGroupInput)(nil)).Elem(), &DbShardGroup{}) + pulumi.RegisterOutputType(DbShardGroupOutput{}) +} diff --git a/sdk/go/aws/rds/getDbShardGroup.go b/sdk/go/aws/rds/getDbShardGroup.go new file mode 100644 index 0000000000..82fe1bc24e --- /dev/null +++ b/sdk/go/aws/rds/getDbShardGroup.go @@ -0,0 +1,113 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rds + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The AWS::RDS::DBShardGroup resource creates an Amazon Aurora Limitless DB Shard Group. +func LookupDbShardGroup(ctx *pulumi.Context, args *LookupDbShardGroupArgs, opts ...pulumi.InvokeOption) (*LookupDbShardGroupResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupDbShardGroupResult + err := ctx.Invoke("aws-native:rds:getDbShardGroup", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupDbShardGroupArgs struct { + // The name of the DB shard group. + DbShardGroupIdentifier string `pulumi:"dbShardGroupIdentifier"` +} + +type LookupDbShardGroupResult struct { + // Specifies whether to create standby instances for the DB shard group. + ComputeRedundancy *int `pulumi:"computeRedundancy"` + // The Amazon Web Services Region-unique, immutable identifier for the DB shard group. + DbShardGroupResourceId *string `pulumi:"dbShardGroupResourceId"` + // The connection endpoint for the DB shard group. + Endpoint *string `pulumi:"endpoint"` + // The maximum capacity of the DB shard group in Aurora capacity units (ACUs). + MaxAcu *float64 `pulumi:"maxAcu"` + // An array of key-value pairs to apply to this resource. + Tags []aws.Tag `pulumi:"tags"` +} + +func LookupDbShardGroupOutput(ctx *pulumi.Context, args LookupDbShardGroupOutputArgs, opts ...pulumi.InvokeOption) LookupDbShardGroupResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupDbShardGroupResultOutput, error) { + args := v.(LookupDbShardGroupArgs) + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupDbShardGroupResult + secret, err := ctx.InvokePackageRaw("aws-native:rds:getDbShardGroup", args, &rv, "", opts...) + if err != nil { + return LookupDbShardGroupResultOutput{}, err + } + + output := pulumi.ToOutput(rv).(LookupDbShardGroupResultOutput) + if secret { + return pulumi.ToSecret(output).(LookupDbShardGroupResultOutput), nil + } + return output, nil + }).(LookupDbShardGroupResultOutput) +} + +type LookupDbShardGroupOutputArgs struct { + // The name of the DB shard group. + DbShardGroupIdentifier pulumi.StringInput `pulumi:"dbShardGroupIdentifier"` +} + +func (LookupDbShardGroupOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupDbShardGroupArgs)(nil)).Elem() +} + +type LookupDbShardGroupResultOutput struct{ *pulumi.OutputState } + +func (LookupDbShardGroupResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupDbShardGroupResult)(nil)).Elem() +} + +func (o LookupDbShardGroupResultOutput) ToLookupDbShardGroupResultOutput() LookupDbShardGroupResultOutput { + return o +} + +func (o LookupDbShardGroupResultOutput) ToLookupDbShardGroupResultOutputWithContext(ctx context.Context) LookupDbShardGroupResultOutput { + return o +} + +// Specifies whether to create standby instances for the DB shard group. +func (o LookupDbShardGroupResultOutput) ComputeRedundancy() pulumi.IntPtrOutput { + return o.ApplyT(func(v LookupDbShardGroupResult) *int { return v.ComputeRedundancy }).(pulumi.IntPtrOutput) +} + +// The Amazon Web Services Region-unique, immutable identifier for the DB shard group. +func (o LookupDbShardGroupResultOutput) DbShardGroupResourceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupDbShardGroupResult) *string { return v.DbShardGroupResourceId }).(pulumi.StringPtrOutput) +} + +// The connection endpoint for the DB shard group. +func (o LookupDbShardGroupResultOutput) Endpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupDbShardGroupResult) *string { return v.Endpoint }).(pulumi.StringPtrOutput) +} + +// The maximum capacity of the DB shard group in Aurora capacity units (ACUs). +func (o LookupDbShardGroupResultOutput) MaxAcu() pulumi.Float64PtrOutput { + return o.ApplyT(func(v LookupDbShardGroupResult) *float64 { return v.MaxAcu }).(pulumi.Float64PtrOutput) +} + +// An array of key-value pairs to apply to this resource. +func (o LookupDbShardGroupResultOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v LookupDbShardGroupResult) []aws.Tag { return v.Tags }).(aws.TagArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupDbShardGroupResultOutput{}) +} diff --git a/sdk/go/aws/rds/init.go b/sdk/go/aws/rds/init.go index 5bb2ed1845..10af4c35a9 100644 --- a/sdk/go/aws/rds/init.go +++ b/sdk/go/aws/rds/init.go @@ -37,6 +37,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &DbProxyEndpoint{} case "aws-native:rds:DbProxyTargetGroup": r = &DbProxyTargetGroup{} + case "aws-native:rds:DbShardGroup": + r = &DbShardGroup{} case "aws-native:rds:DbSubnetGroup": r = &DbSubnetGroup{} case "aws-native:rds:EventSubscription": diff --git a/sdk/go/aws/rds/pulumiTypes.go b/sdk/go/aws/rds/pulumiTypes.go index 585fe9d4e8..2dcd8f4057 100644 --- a/sdk/go/aws/rds/pulumiTypes.go +++ b/sdk/go/aws/rds/pulumiTypes.go @@ -2170,6 +2170,14 @@ func (o DbProxyTargetGroupConnectionPoolConfigurationInfoFormatPtrOutput) Sessio }).(pulumi.StringArrayOutput) } +// A key-value pair to associate with a resource. +type DbShardGroupTag struct { + // The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. + Key string `pulumi:"key"` + // The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. + Value *string `pulumi:"value"` +} + // Metadata assigned to an Amazon RDS resource consisting of a key-value pair. // // 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*. diff --git a/sdk/go/aws/transfer/getUser.go b/sdk/go/aws/transfer/getUser.go new file mode 100644 index 0000000000..a1bd0ff773 --- /dev/null +++ b/sdk/go/aws/transfer/getUser.go @@ -0,0 +1,193 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package transfer + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Definition of AWS::Transfer::User Resource Type +func LookupUser(ctx *pulumi.Context, args *LookupUserArgs, opts ...pulumi.InvokeOption) (*LookupUserResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupUserResult + err := ctx.Invoke("aws-native:transfer:getUser", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupUserArgs struct { + // The Amazon Resource Name associated with the user, in the form `arn:aws:transfer:region: *account-id* :user/ *server-id* / *username*` . + // + // An example of a user ARN is: `arn:aws:transfer:us-east-1:123456789012:user/user1` . + Arn string `pulumi:"arn"` +} + +type LookupUserResult struct { + // The Amazon Resource Name associated with the user, in the form `arn:aws:transfer:region: *account-id* :user/ *server-id* / *username*` . + // + // An example of a user ARN is: `arn:aws:transfer:us-east-1:123456789012:user/user1` . + Arn *string `pulumi:"arn"` + // The landing directory (folder) for a user when they log in to the server using the client. + // + // A `HomeDirectory` example is `/bucket_name/home/mydirectory` . + // + // > The `HomeDirectory` parameter is only used if `HomeDirectoryType` is set to `PATH` . + HomeDirectory *string `pulumi:"homeDirectory"` + // 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* . + // + // The following is an `Entry` and `Target` pair example. + // + // `[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]` + // + // In 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. + // + // The following is an `Entry` and `Target` pair example for `chroot` . + // + // `[ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ]` + HomeDirectoryMappings []UserHomeDirectoryMapEntry `pulumi:"homeDirectoryMappings"` + // 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. + // + // > 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. + HomeDirectoryType *UserHomeDirectoryType `pulumi:"homeDirectoryType"` + // 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}` . + // + // > 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. + // > + // > For an example of a session policy, see [Example session policy](https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html) . + // > + // > For more information, see [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) in the *AWS Security Token Service API Reference* . + Policy *string `pulumi:"policy"` + // 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. + PosixProfile *UserPosixProfile `pulumi:"posixProfile"` + // 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. + Role *string `pulumi:"role"` + // This represents the SSH User Public Keys for CloudFormation resource + SshPublicKeys []string `pulumi:"sshPublicKeys"` + // Key-value pairs that can be used to group and search for users. Tags are metadata attached to users for any purpose. + Tags []aws.Tag `pulumi:"tags"` +} + +func LookupUserOutput(ctx *pulumi.Context, args LookupUserOutputArgs, opts ...pulumi.InvokeOption) LookupUserResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupUserResultOutput, error) { + args := v.(LookupUserArgs) + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupUserResult + secret, err := ctx.InvokePackageRaw("aws-native:transfer:getUser", args, &rv, "", opts...) + if err != nil { + return LookupUserResultOutput{}, err + } + + output := pulumi.ToOutput(rv).(LookupUserResultOutput) + if secret { + return pulumi.ToSecret(output).(LookupUserResultOutput), nil + } + return output, nil + }).(LookupUserResultOutput) +} + +type LookupUserOutputArgs struct { + // The Amazon Resource Name associated with the user, in the form `arn:aws:transfer:region: *account-id* :user/ *server-id* / *username*` . + // + // An example of a user ARN is: `arn:aws:transfer:us-east-1:123456789012:user/user1` . + Arn pulumi.StringInput `pulumi:"arn"` +} + +func (LookupUserOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupUserArgs)(nil)).Elem() +} + +type LookupUserResultOutput struct{ *pulumi.OutputState } + +func (LookupUserResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupUserResult)(nil)).Elem() +} + +func (o LookupUserResultOutput) ToLookupUserResultOutput() LookupUserResultOutput { + return o +} + +func (o LookupUserResultOutput) ToLookupUserResultOutputWithContext(ctx context.Context) LookupUserResultOutput { + return o +} + +// The Amazon Resource Name associated with the user, in the form `arn:aws:transfer:region: *account-id* :user/ *server-id* / *username*` . +// +// An example of a user ARN is: `arn:aws:transfer:us-east-1:123456789012:user/user1` . +func (o LookupUserResultOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupUserResult) *string { return v.Arn }).(pulumi.StringPtrOutput) +} + +// The landing directory (folder) for a user when they log in to the server using the client. +// +// A `HomeDirectory` example is `/bucket_name/home/mydirectory` . +// +// > The `HomeDirectory` parameter is only used if `HomeDirectoryType` is set to `PATH` . +func (o LookupUserResultOutput) HomeDirectory() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupUserResult) *string { return v.HomeDirectory }).(pulumi.StringPtrOutput) +} + +// 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* . +// +// The following is an `Entry` and `Target` pair example. +// +// `[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]` +// +// In 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. +// +// The following is an `Entry` and `Target` pair example for `chroot` . +// +// `[ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ]` +func (o LookupUserResultOutput) HomeDirectoryMappings() UserHomeDirectoryMapEntryArrayOutput { + return o.ApplyT(func(v LookupUserResult) []UserHomeDirectoryMapEntry { return v.HomeDirectoryMappings }).(UserHomeDirectoryMapEntryArrayOutput) +} + +// 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. +// +// > 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. +func (o LookupUserResultOutput) HomeDirectoryType() UserHomeDirectoryTypePtrOutput { + return o.ApplyT(func(v LookupUserResult) *UserHomeDirectoryType { return v.HomeDirectoryType }).(UserHomeDirectoryTypePtrOutput) +} + +// 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}` . +// +// > 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. +// > +// > For an example of a session policy, see [Example session policy](https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html) . +// > +// > For more information, see [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) in the *AWS Security Token Service API Reference* . +func (o LookupUserResultOutput) Policy() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupUserResult) *string { return v.Policy }).(pulumi.StringPtrOutput) +} + +// 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. +func (o LookupUserResultOutput) PosixProfile() UserPosixProfilePtrOutput { + return o.ApplyT(func(v LookupUserResult) *UserPosixProfile { return v.PosixProfile }).(UserPosixProfilePtrOutput) +} + +// 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. +func (o LookupUserResultOutput) Role() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupUserResult) *string { return v.Role }).(pulumi.StringPtrOutput) +} + +// This represents the SSH User Public Keys for CloudFormation resource +func (o LookupUserResultOutput) SshPublicKeys() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupUserResult) []string { return v.SshPublicKeys }).(pulumi.StringArrayOutput) +} + +// Key-value pairs that can be used to group and search for users. Tags are metadata attached to users for any purpose. +func (o LookupUserResultOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v LookupUserResult) []aws.Tag { return v.Tags }).(aws.TagArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupUserResultOutput{}) +} diff --git a/sdk/go/aws/transfer/init.go b/sdk/go/aws/transfer/init.go index 16b4e39492..8894dd4def 100644 --- a/sdk/go/aws/transfer/init.go +++ b/sdk/go/aws/transfer/init.go @@ -31,6 +31,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &Profile{} case "aws-native:transfer:Server": r = &Server{} + case "aws-native:transfer:User": + r = &User{} case "aws-native:transfer:Workflow": r = &Workflow{} default: diff --git a/sdk/go/aws/transfer/pulumiEnums.go b/sdk/go/aws/transfer/pulumiEnums.go index a8080e2e1b..772f5d2901 100644 --- a/sdk/go/aws/transfer/pulumiEnums.go +++ b/sdk/go/aws/transfer/pulumiEnums.go @@ -3133,6 +3133,336 @@ func (in *serverTlsSessionResumptionModePtr) ToServerTlsSessionResumptionModePtr return pulumi.ToOutputWithContext(ctx, in).(ServerTlsSessionResumptionModePtrOutput) } +type UserHomeDirectoryType string + +const ( + UserHomeDirectoryTypePath = UserHomeDirectoryType("PATH") + UserHomeDirectoryTypeLogical = UserHomeDirectoryType("LOGICAL") +) + +func (UserHomeDirectoryType) ElementType() reflect.Type { + return reflect.TypeOf((*UserHomeDirectoryType)(nil)).Elem() +} + +func (e UserHomeDirectoryType) ToUserHomeDirectoryTypeOutput() UserHomeDirectoryTypeOutput { + return pulumi.ToOutput(e).(UserHomeDirectoryTypeOutput) +} + +func (e UserHomeDirectoryType) ToUserHomeDirectoryTypeOutputWithContext(ctx context.Context) UserHomeDirectoryTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(UserHomeDirectoryTypeOutput) +} + +func (e UserHomeDirectoryType) ToUserHomeDirectoryTypePtrOutput() UserHomeDirectoryTypePtrOutput { + return e.ToUserHomeDirectoryTypePtrOutputWithContext(context.Background()) +} + +func (e UserHomeDirectoryType) ToUserHomeDirectoryTypePtrOutputWithContext(ctx context.Context) UserHomeDirectoryTypePtrOutput { + return UserHomeDirectoryType(e).ToUserHomeDirectoryTypeOutputWithContext(ctx).ToUserHomeDirectoryTypePtrOutputWithContext(ctx) +} + +func (e UserHomeDirectoryType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e UserHomeDirectoryType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e UserHomeDirectoryType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e UserHomeDirectoryType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type UserHomeDirectoryTypeOutput struct{ *pulumi.OutputState } + +func (UserHomeDirectoryTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*UserHomeDirectoryType)(nil)).Elem() +} + +func (o UserHomeDirectoryTypeOutput) ToUserHomeDirectoryTypeOutput() UserHomeDirectoryTypeOutput { + return o +} + +func (o UserHomeDirectoryTypeOutput) ToUserHomeDirectoryTypeOutputWithContext(ctx context.Context) UserHomeDirectoryTypeOutput { + return o +} + +func (o UserHomeDirectoryTypeOutput) ToUserHomeDirectoryTypePtrOutput() UserHomeDirectoryTypePtrOutput { + return o.ToUserHomeDirectoryTypePtrOutputWithContext(context.Background()) +} + +func (o UserHomeDirectoryTypeOutput) ToUserHomeDirectoryTypePtrOutputWithContext(ctx context.Context) UserHomeDirectoryTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v UserHomeDirectoryType) *UserHomeDirectoryType { + return &v + }).(UserHomeDirectoryTypePtrOutput) +} + +func (o UserHomeDirectoryTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o UserHomeDirectoryTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e UserHomeDirectoryType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o UserHomeDirectoryTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o UserHomeDirectoryTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e UserHomeDirectoryType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type UserHomeDirectoryTypePtrOutput struct{ *pulumi.OutputState } + +func (UserHomeDirectoryTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**UserHomeDirectoryType)(nil)).Elem() +} + +func (o UserHomeDirectoryTypePtrOutput) ToUserHomeDirectoryTypePtrOutput() UserHomeDirectoryTypePtrOutput { + return o +} + +func (o UserHomeDirectoryTypePtrOutput) ToUserHomeDirectoryTypePtrOutputWithContext(ctx context.Context) UserHomeDirectoryTypePtrOutput { + return o +} + +func (o UserHomeDirectoryTypePtrOutput) Elem() UserHomeDirectoryTypeOutput { + return o.ApplyT(func(v *UserHomeDirectoryType) UserHomeDirectoryType { + if v != nil { + return *v + } + var ret UserHomeDirectoryType + return ret + }).(UserHomeDirectoryTypeOutput) +} + +func (o UserHomeDirectoryTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o UserHomeDirectoryTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *UserHomeDirectoryType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// UserHomeDirectoryTypeInput is an input type that accepts values of the UserHomeDirectoryType enum +// A concrete instance of `UserHomeDirectoryTypeInput` can be one of the following: +// +// UserHomeDirectoryTypePath +// UserHomeDirectoryTypeLogical +type UserHomeDirectoryTypeInput interface { + pulumi.Input + + ToUserHomeDirectoryTypeOutput() UserHomeDirectoryTypeOutput + ToUserHomeDirectoryTypeOutputWithContext(context.Context) UserHomeDirectoryTypeOutput +} + +var userHomeDirectoryTypePtrType = reflect.TypeOf((**UserHomeDirectoryType)(nil)).Elem() + +type UserHomeDirectoryTypePtrInput interface { + pulumi.Input + + ToUserHomeDirectoryTypePtrOutput() UserHomeDirectoryTypePtrOutput + ToUserHomeDirectoryTypePtrOutputWithContext(context.Context) UserHomeDirectoryTypePtrOutput +} + +type userHomeDirectoryTypePtr string + +func UserHomeDirectoryTypePtr(v string) UserHomeDirectoryTypePtrInput { + return (*userHomeDirectoryTypePtr)(&v) +} + +func (*userHomeDirectoryTypePtr) ElementType() reflect.Type { + return userHomeDirectoryTypePtrType +} + +func (in *userHomeDirectoryTypePtr) ToUserHomeDirectoryTypePtrOutput() UserHomeDirectoryTypePtrOutput { + return pulumi.ToOutput(in).(UserHomeDirectoryTypePtrOutput) +} + +func (in *userHomeDirectoryTypePtr) ToUserHomeDirectoryTypePtrOutputWithContext(ctx context.Context) UserHomeDirectoryTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(UserHomeDirectoryTypePtrOutput) +} + +type UserMapType string + +const ( + UserMapTypeFile = UserMapType("FILE") + UserMapTypeDirectory = UserMapType("DIRECTORY") +) + +func (UserMapType) ElementType() reflect.Type { + return reflect.TypeOf((*UserMapType)(nil)).Elem() +} + +func (e UserMapType) ToUserMapTypeOutput() UserMapTypeOutput { + return pulumi.ToOutput(e).(UserMapTypeOutput) +} + +func (e UserMapType) ToUserMapTypeOutputWithContext(ctx context.Context) UserMapTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(UserMapTypeOutput) +} + +func (e UserMapType) ToUserMapTypePtrOutput() UserMapTypePtrOutput { + return e.ToUserMapTypePtrOutputWithContext(context.Background()) +} + +func (e UserMapType) ToUserMapTypePtrOutputWithContext(ctx context.Context) UserMapTypePtrOutput { + return UserMapType(e).ToUserMapTypeOutputWithContext(ctx).ToUserMapTypePtrOutputWithContext(ctx) +} + +func (e UserMapType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e UserMapType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e UserMapType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e UserMapType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type UserMapTypeOutput struct{ *pulumi.OutputState } + +func (UserMapTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*UserMapType)(nil)).Elem() +} + +func (o UserMapTypeOutput) ToUserMapTypeOutput() UserMapTypeOutput { + return o +} + +func (o UserMapTypeOutput) ToUserMapTypeOutputWithContext(ctx context.Context) UserMapTypeOutput { + return o +} + +func (o UserMapTypeOutput) ToUserMapTypePtrOutput() UserMapTypePtrOutput { + return o.ToUserMapTypePtrOutputWithContext(context.Background()) +} + +func (o UserMapTypeOutput) ToUserMapTypePtrOutputWithContext(ctx context.Context) UserMapTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v UserMapType) *UserMapType { + return &v + }).(UserMapTypePtrOutput) +} + +func (o UserMapTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o UserMapTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e UserMapType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o UserMapTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o UserMapTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e UserMapType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type UserMapTypePtrOutput struct{ *pulumi.OutputState } + +func (UserMapTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**UserMapType)(nil)).Elem() +} + +func (o UserMapTypePtrOutput) ToUserMapTypePtrOutput() UserMapTypePtrOutput { + return o +} + +func (o UserMapTypePtrOutput) ToUserMapTypePtrOutputWithContext(ctx context.Context) UserMapTypePtrOutput { + return o +} + +func (o UserMapTypePtrOutput) Elem() UserMapTypeOutput { + return o.ApplyT(func(v *UserMapType) UserMapType { + if v != nil { + return *v + } + var ret UserMapType + return ret + }).(UserMapTypeOutput) +} + +func (o UserMapTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o UserMapTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *UserMapType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// UserMapTypeInput is an input type that accepts values of the UserMapType enum +// A concrete instance of `UserMapTypeInput` can be one of the following: +// +// UserMapTypeFile +// UserMapTypeDirectory +type UserMapTypeInput interface { + pulumi.Input + + ToUserMapTypeOutput() UserMapTypeOutput + ToUserMapTypeOutputWithContext(context.Context) UserMapTypeOutput +} + +var userMapTypePtrType = reflect.TypeOf((**UserMapType)(nil)).Elem() + +type UserMapTypePtrInput interface { + pulumi.Input + + ToUserMapTypePtrOutput() UserMapTypePtrOutput + ToUserMapTypePtrOutputWithContext(context.Context) UserMapTypePtrOutput +} + +type userMapTypePtr string + +func UserMapTypePtr(v string) UserMapTypePtrInput { + return (*userMapTypePtr)(&v) +} + +func (*userMapTypePtr) ElementType() reflect.Type { + return userMapTypePtrType +} + +func (in *userMapTypePtr) ToUserMapTypePtrOutput() UserMapTypePtrOutput { + return pulumi.ToOutput(in).(UserMapTypePtrOutput) +} + +func (in *userMapTypePtr) ToUserMapTypePtrOutputWithContext(ctx context.Context) UserMapTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(UserMapTypePtrOutput) +} + // A flag that indicates whether or not to overwrite an existing file of the same name. The default is FALSE. type WorkflowStepCopyStepDetailsPropertiesOverwriteExisting string @@ -3837,6 +4167,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ServerSftpAuthenticationMethodsPtrInput)(nil)).Elem(), ServerSftpAuthenticationMethods("PASSWORD")) pulumi.RegisterInputType(reflect.TypeOf((*ServerTlsSessionResumptionModeInput)(nil)).Elem(), ServerTlsSessionResumptionMode("DISABLED")) pulumi.RegisterInputType(reflect.TypeOf((*ServerTlsSessionResumptionModePtrInput)(nil)).Elem(), ServerTlsSessionResumptionMode("DISABLED")) + pulumi.RegisterInputType(reflect.TypeOf((*UserHomeDirectoryTypeInput)(nil)).Elem(), UserHomeDirectoryType("PATH")) + pulumi.RegisterInputType(reflect.TypeOf((*UserHomeDirectoryTypePtrInput)(nil)).Elem(), UserHomeDirectoryType("PATH")) + pulumi.RegisterInputType(reflect.TypeOf((*UserMapTypeInput)(nil)).Elem(), UserMapType("FILE")) + pulumi.RegisterInputType(reflect.TypeOf((*UserMapTypePtrInput)(nil)).Elem(), UserMapType("FILE")) pulumi.RegisterInputType(reflect.TypeOf((*WorkflowStepCopyStepDetailsPropertiesOverwriteExistingInput)(nil)).Elem(), WorkflowStepCopyStepDetailsPropertiesOverwriteExisting("TRUE")) pulumi.RegisterInputType(reflect.TypeOf((*WorkflowStepCopyStepDetailsPropertiesOverwriteExistingPtrInput)(nil)).Elem(), WorkflowStepCopyStepDetailsPropertiesOverwriteExisting("TRUE")) pulumi.RegisterInputType(reflect.TypeOf((*WorkflowStepDecryptStepDetailsPropertiesOverwriteExistingInput)(nil)).Elem(), WorkflowStepDecryptStepDetailsPropertiesOverwriteExisting("TRUE")) @@ -3885,6 +4219,10 @@ func init() { pulumi.RegisterOutputType(ServerSftpAuthenticationMethodsPtrOutput{}) pulumi.RegisterOutputType(ServerTlsSessionResumptionModeOutput{}) pulumi.RegisterOutputType(ServerTlsSessionResumptionModePtrOutput{}) + pulumi.RegisterOutputType(UserHomeDirectoryTypeOutput{}) + pulumi.RegisterOutputType(UserHomeDirectoryTypePtrOutput{}) + pulumi.RegisterOutputType(UserMapTypeOutput{}) + pulumi.RegisterOutputType(UserMapTypePtrOutput{}) pulumi.RegisterOutputType(WorkflowStepCopyStepDetailsPropertiesOverwriteExistingOutput{}) pulumi.RegisterOutputType(WorkflowStepCopyStepDetailsPropertiesOverwriteExistingPtrOutput{}) pulumi.RegisterOutputType(WorkflowStepDecryptStepDetailsPropertiesOverwriteExistingOutput{}) diff --git a/sdk/go/aws/transfer/pulumiTypes.go b/sdk/go/aws/transfer/pulumiTypes.go index 54e3950386..fb961a11f8 100644 --- a/sdk/go/aws/transfer/pulumiTypes.go +++ b/sdk/go/aws/transfer/pulumiTypes.go @@ -1774,6 +1774,309 @@ func (o SftpConfigPropertiesPtrOutput) UserSecretId() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +type UserHomeDirectoryMapEntry struct { + // Represents an entry for `HomeDirectoryMappings` . + Entry string `pulumi:"entry"` + // Represents the map target that is used in a `HomeDirectoryMapEntry` . + Target string `pulumi:"target"` + // 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. + // + // > 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 *UserMapType `pulumi:"type"` +} + +// UserHomeDirectoryMapEntryInput is an input type that accepts UserHomeDirectoryMapEntryArgs and UserHomeDirectoryMapEntryOutput values. +// You can construct a concrete instance of `UserHomeDirectoryMapEntryInput` via: +// +// UserHomeDirectoryMapEntryArgs{...} +type UserHomeDirectoryMapEntryInput interface { + pulumi.Input + + ToUserHomeDirectoryMapEntryOutput() UserHomeDirectoryMapEntryOutput + ToUserHomeDirectoryMapEntryOutputWithContext(context.Context) UserHomeDirectoryMapEntryOutput +} + +type UserHomeDirectoryMapEntryArgs struct { + // Represents an entry for `HomeDirectoryMappings` . + Entry pulumi.StringInput `pulumi:"entry"` + // Represents the map target that is used in a `HomeDirectoryMapEntry` . + Target pulumi.StringInput `pulumi:"target"` + // 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. + // + // > 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 UserMapTypePtrInput `pulumi:"type"` +} + +func (UserHomeDirectoryMapEntryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*UserHomeDirectoryMapEntry)(nil)).Elem() +} + +func (i UserHomeDirectoryMapEntryArgs) ToUserHomeDirectoryMapEntryOutput() UserHomeDirectoryMapEntryOutput { + return i.ToUserHomeDirectoryMapEntryOutputWithContext(context.Background()) +} + +func (i UserHomeDirectoryMapEntryArgs) ToUserHomeDirectoryMapEntryOutputWithContext(ctx context.Context) UserHomeDirectoryMapEntryOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserHomeDirectoryMapEntryOutput) +} + +// UserHomeDirectoryMapEntryArrayInput is an input type that accepts UserHomeDirectoryMapEntryArray and UserHomeDirectoryMapEntryArrayOutput values. +// You can construct a concrete instance of `UserHomeDirectoryMapEntryArrayInput` via: +// +// UserHomeDirectoryMapEntryArray{ UserHomeDirectoryMapEntryArgs{...} } +type UserHomeDirectoryMapEntryArrayInput interface { + pulumi.Input + + ToUserHomeDirectoryMapEntryArrayOutput() UserHomeDirectoryMapEntryArrayOutput + ToUserHomeDirectoryMapEntryArrayOutputWithContext(context.Context) UserHomeDirectoryMapEntryArrayOutput +} + +type UserHomeDirectoryMapEntryArray []UserHomeDirectoryMapEntryInput + +func (UserHomeDirectoryMapEntryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]UserHomeDirectoryMapEntry)(nil)).Elem() +} + +func (i UserHomeDirectoryMapEntryArray) ToUserHomeDirectoryMapEntryArrayOutput() UserHomeDirectoryMapEntryArrayOutput { + return i.ToUserHomeDirectoryMapEntryArrayOutputWithContext(context.Background()) +} + +func (i UserHomeDirectoryMapEntryArray) ToUserHomeDirectoryMapEntryArrayOutputWithContext(ctx context.Context) UserHomeDirectoryMapEntryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserHomeDirectoryMapEntryArrayOutput) +} + +type UserHomeDirectoryMapEntryOutput struct{ *pulumi.OutputState } + +func (UserHomeDirectoryMapEntryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*UserHomeDirectoryMapEntry)(nil)).Elem() +} + +func (o UserHomeDirectoryMapEntryOutput) ToUserHomeDirectoryMapEntryOutput() UserHomeDirectoryMapEntryOutput { + return o +} + +func (o UserHomeDirectoryMapEntryOutput) ToUserHomeDirectoryMapEntryOutputWithContext(ctx context.Context) UserHomeDirectoryMapEntryOutput { + return o +} + +// Represents an entry for `HomeDirectoryMappings` . +func (o UserHomeDirectoryMapEntryOutput) Entry() pulumi.StringOutput { + return o.ApplyT(func(v UserHomeDirectoryMapEntry) string { return v.Entry }).(pulumi.StringOutput) +} + +// Represents the map target that is used in a `HomeDirectoryMapEntry` . +func (o UserHomeDirectoryMapEntryOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v UserHomeDirectoryMapEntry) string { return v.Target }).(pulumi.StringOutput) +} + +// 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. +// +// > 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. +func (o UserHomeDirectoryMapEntryOutput) Type() UserMapTypePtrOutput { + return o.ApplyT(func(v UserHomeDirectoryMapEntry) *UserMapType { return v.Type }).(UserMapTypePtrOutput) +} + +type UserHomeDirectoryMapEntryArrayOutput struct{ *pulumi.OutputState } + +func (UserHomeDirectoryMapEntryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]UserHomeDirectoryMapEntry)(nil)).Elem() +} + +func (o UserHomeDirectoryMapEntryArrayOutput) ToUserHomeDirectoryMapEntryArrayOutput() UserHomeDirectoryMapEntryArrayOutput { + return o +} + +func (o UserHomeDirectoryMapEntryArrayOutput) ToUserHomeDirectoryMapEntryArrayOutputWithContext(ctx context.Context) UserHomeDirectoryMapEntryArrayOutput { + return o +} + +func (o UserHomeDirectoryMapEntryArrayOutput) Index(i pulumi.IntInput) UserHomeDirectoryMapEntryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) UserHomeDirectoryMapEntry { + return vs[0].([]UserHomeDirectoryMapEntry)[vs[1].(int)] + }).(UserHomeDirectoryMapEntryOutput) +} + +type UserPosixProfile struct { + // The POSIX group ID used for all EFS operations by this user. + Gid float64 `pulumi:"gid"` + // The secondary POSIX group IDs used for all EFS operations by this user. + SecondaryGids []float64 `pulumi:"secondaryGids"` + // The POSIX user ID used for all EFS operations by this user. + Uid float64 `pulumi:"uid"` +} + +// UserPosixProfileInput is an input type that accepts UserPosixProfileArgs and UserPosixProfileOutput values. +// You can construct a concrete instance of `UserPosixProfileInput` via: +// +// UserPosixProfileArgs{...} +type UserPosixProfileInput interface { + pulumi.Input + + ToUserPosixProfileOutput() UserPosixProfileOutput + ToUserPosixProfileOutputWithContext(context.Context) UserPosixProfileOutput +} + +type UserPosixProfileArgs struct { + // The POSIX group ID used for all EFS operations by this user. + Gid pulumi.Float64Input `pulumi:"gid"` + // The secondary POSIX group IDs used for all EFS operations by this user. + SecondaryGids pulumi.Float64ArrayInput `pulumi:"secondaryGids"` + // The POSIX user ID used for all EFS operations by this user. + Uid pulumi.Float64Input `pulumi:"uid"` +} + +func (UserPosixProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*UserPosixProfile)(nil)).Elem() +} + +func (i UserPosixProfileArgs) ToUserPosixProfileOutput() UserPosixProfileOutput { + return i.ToUserPosixProfileOutputWithContext(context.Background()) +} + +func (i UserPosixProfileArgs) ToUserPosixProfileOutputWithContext(ctx context.Context) UserPosixProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserPosixProfileOutput) +} + +func (i UserPosixProfileArgs) ToUserPosixProfilePtrOutput() UserPosixProfilePtrOutput { + return i.ToUserPosixProfilePtrOutputWithContext(context.Background()) +} + +func (i UserPosixProfileArgs) ToUserPosixProfilePtrOutputWithContext(ctx context.Context) UserPosixProfilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserPosixProfileOutput).ToUserPosixProfilePtrOutputWithContext(ctx) +} + +// UserPosixProfilePtrInput is an input type that accepts UserPosixProfileArgs, UserPosixProfilePtr and UserPosixProfilePtrOutput values. +// You can construct a concrete instance of `UserPosixProfilePtrInput` via: +// +// UserPosixProfileArgs{...} +// +// or: +// +// nil +type UserPosixProfilePtrInput interface { + pulumi.Input + + ToUserPosixProfilePtrOutput() UserPosixProfilePtrOutput + ToUserPosixProfilePtrOutputWithContext(context.Context) UserPosixProfilePtrOutput +} + +type userPosixProfilePtrType UserPosixProfileArgs + +func UserPosixProfilePtr(v *UserPosixProfileArgs) UserPosixProfilePtrInput { + return (*userPosixProfilePtrType)(v) +} + +func (*userPosixProfilePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**UserPosixProfile)(nil)).Elem() +} + +func (i *userPosixProfilePtrType) ToUserPosixProfilePtrOutput() UserPosixProfilePtrOutput { + return i.ToUserPosixProfilePtrOutputWithContext(context.Background()) +} + +func (i *userPosixProfilePtrType) ToUserPosixProfilePtrOutputWithContext(ctx context.Context) UserPosixProfilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserPosixProfilePtrOutput) +} + +type UserPosixProfileOutput struct{ *pulumi.OutputState } + +func (UserPosixProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*UserPosixProfile)(nil)).Elem() +} + +func (o UserPosixProfileOutput) ToUserPosixProfileOutput() UserPosixProfileOutput { + return o +} + +func (o UserPosixProfileOutput) ToUserPosixProfileOutputWithContext(ctx context.Context) UserPosixProfileOutput { + return o +} + +func (o UserPosixProfileOutput) ToUserPosixProfilePtrOutput() UserPosixProfilePtrOutput { + return o.ToUserPosixProfilePtrOutputWithContext(context.Background()) +} + +func (o UserPosixProfileOutput) ToUserPosixProfilePtrOutputWithContext(ctx context.Context) UserPosixProfilePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v UserPosixProfile) *UserPosixProfile { + return &v + }).(UserPosixProfilePtrOutput) +} + +// The POSIX group ID used for all EFS operations by this user. +func (o UserPosixProfileOutput) Gid() pulumi.Float64Output { + return o.ApplyT(func(v UserPosixProfile) float64 { return v.Gid }).(pulumi.Float64Output) +} + +// The secondary POSIX group IDs used for all EFS operations by this user. +func (o UserPosixProfileOutput) SecondaryGids() pulumi.Float64ArrayOutput { + return o.ApplyT(func(v UserPosixProfile) []float64 { return v.SecondaryGids }).(pulumi.Float64ArrayOutput) +} + +// The POSIX user ID used for all EFS operations by this user. +func (o UserPosixProfileOutput) Uid() pulumi.Float64Output { + return o.ApplyT(func(v UserPosixProfile) float64 { return v.Uid }).(pulumi.Float64Output) +} + +type UserPosixProfilePtrOutput struct{ *pulumi.OutputState } + +func (UserPosixProfilePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**UserPosixProfile)(nil)).Elem() +} + +func (o UserPosixProfilePtrOutput) ToUserPosixProfilePtrOutput() UserPosixProfilePtrOutput { + return o +} + +func (o UserPosixProfilePtrOutput) ToUserPosixProfilePtrOutputWithContext(ctx context.Context) UserPosixProfilePtrOutput { + return o +} + +func (o UserPosixProfilePtrOutput) Elem() UserPosixProfileOutput { + return o.ApplyT(func(v *UserPosixProfile) UserPosixProfile { + if v != nil { + return *v + } + var ret UserPosixProfile + return ret + }).(UserPosixProfileOutput) +} + +// The POSIX group ID used for all EFS operations by this user. +func (o UserPosixProfilePtrOutput) Gid() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *UserPosixProfile) *float64 { + if v == nil { + return nil + } + return &v.Gid + }).(pulumi.Float64PtrOutput) +} + +// The secondary POSIX group IDs used for all EFS operations by this user. +func (o UserPosixProfilePtrOutput) SecondaryGids() pulumi.Float64ArrayOutput { + return o.ApplyT(func(v *UserPosixProfile) []float64 { + if v == nil { + return nil + } + return v.SecondaryGids + }).(pulumi.Float64ArrayOutput) +} + +// The POSIX user ID used for all EFS operations by this user. +func (o UserPosixProfilePtrOutput) Uid() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *UserPosixProfile) *float64 { + if v == nil { + return nil + } + return &v.Uid + }).(pulumi.Float64PtrOutput) +} + +type UserTag struct { + // The name assigned to the tag that you create. + Key string `pulumi:"key"` + // Contains one or more values that you assigned to the key name you create. + Value string `pulumi:"value"` +} + // Specifies the details for an EFS file. type WorkflowEfsInputFileLocation struct { // Specifies the EFS filesystem that contains the file. @@ -3608,6 +3911,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ServerWorkflowDetailsPtrInput)(nil)).Elem(), ServerWorkflowDetailsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SftpConfigPropertiesInput)(nil)).Elem(), SftpConfigPropertiesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SftpConfigPropertiesPtrInput)(nil)).Elem(), SftpConfigPropertiesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*UserHomeDirectoryMapEntryInput)(nil)).Elem(), UserHomeDirectoryMapEntryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*UserHomeDirectoryMapEntryArrayInput)(nil)).Elem(), UserHomeDirectoryMapEntryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*UserPosixProfileInput)(nil)).Elem(), UserPosixProfileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*UserPosixProfilePtrInput)(nil)).Elem(), UserPosixProfileArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WorkflowEfsInputFileLocationInput)(nil)).Elem(), WorkflowEfsInputFileLocationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WorkflowEfsInputFileLocationPtrInput)(nil)).Elem(), WorkflowEfsInputFileLocationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WorkflowInputFileLocationInput)(nil)).Elem(), WorkflowInputFileLocationArgs{}) @@ -3646,6 +3953,10 @@ func init() { pulumi.RegisterOutputType(ServerWorkflowDetailsPtrOutput{}) pulumi.RegisterOutputType(SftpConfigPropertiesOutput{}) pulumi.RegisterOutputType(SftpConfigPropertiesPtrOutput{}) + pulumi.RegisterOutputType(UserHomeDirectoryMapEntryOutput{}) + pulumi.RegisterOutputType(UserHomeDirectoryMapEntryArrayOutput{}) + pulumi.RegisterOutputType(UserPosixProfileOutput{}) + pulumi.RegisterOutputType(UserPosixProfilePtrOutput{}) pulumi.RegisterOutputType(WorkflowEfsInputFileLocationOutput{}) pulumi.RegisterOutputType(WorkflowEfsInputFileLocationPtrOutput{}) pulumi.RegisterOutputType(WorkflowInputFileLocationOutput{}) diff --git a/sdk/go/aws/transfer/user.go b/sdk/go/aws/transfer/user.go new file mode 100644 index 0000000000..21b8a7c419 --- /dev/null +++ b/sdk/go/aws/transfer/user.go @@ -0,0 +1,328 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package transfer + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Definition of AWS::Transfer::User Resource Type +type User struct { + pulumi.CustomResourceState + + // The Amazon Resource Name associated with the user, in the form `arn:aws:transfer:region: *account-id* :user/ *server-id* / *username*` . + // + // An example of a user ARN is: `arn:aws:transfer:us-east-1:123456789012:user/user1` . + Arn pulumi.StringOutput `pulumi:"arn"` + // The landing directory (folder) for a user when they log in to the server using the client. + // + // A `HomeDirectory` example is `/bucket_name/home/mydirectory` . + // + // > The `HomeDirectory` parameter is only used if `HomeDirectoryType` is set to `PATH` . + HomeDirectory pulumi.StringPtrOutput `pulumi:"homeDirectory"` + // 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* . + // + // The following is an `Entry` and `Target` pair example. + // + // `[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]` + // + // In 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. + // + // The following is an `Entry` and `Target` pair example for `chroot` . + // + // `[ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ]` + HomeDirectoryMappings UserHomeDirectoryMapEntryArrayOutput `pulumi:"homeDirectoryMappings"` + // 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. + // + // > 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. + HomeDirectoryType UserHomeDirectoryTypePtrOutput `pulumi:"homeDirectoryType"` + // 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}` . + // + // > 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. + // > + // > For an example of a session policy, see [Example session policy](https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html) . + // > + // > For more information, see [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) in the *AWS Security Token Service API Reference* . + Policy pulumi.StringPtrOutput `pulumi:"policy"` + // 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. + PosixProfile UserPosixProfilePtrOutput `pulumi:"posixProfile"` + // 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. + Role pulumi.StringOutput `pulumi:"role"` + // A system-assigned unique identifier for a server instance. This is the specific server that you added your user to. + ServerId pulumi.StringOutput `pulumi:"serverId"` + // This represents the SSH User Public Keys for CloudFormation resource + SshPublicKeys pulumi.StringArrayOutput `pulumi:"sshPublicKeys"` + // Key-value pairs that can be used to group and search for users. Tags are metadata attached to users for any purpose. + Tags aws.TagArrayOutput `pulumi:"tags"` + // 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. + UserName pulumi.StringOutput `pulumi:"userName"` +} + +// NewUser registers a new resource with the given unique name, arguments, and options. +func NewUser(ctx *pulumi.Context, + name string, args *UserArgs, opts ...pulumi.ResourceOption) (*User, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Role == nil { + return nil, errors.New("invalid value for required argument 'Role'") + } + if args.ServerId == nil { + return nil, errors.New("invalid value for required argument 'ServerId'") + } + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "serverId", + "userName", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource User + err := ctx.RegisterResource("aws-native:transfer:User", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetUser gets an existing User resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetUser(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *UserState, opts ...pulumi.ResourceOption) (*User, error) { + var resource User + err := ctx.ReadResource("aws-native:transfer:User", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering User resources. +type userState struct { +} + +type UserState struct { +} + +func (UserState) ElementType() reflect.Type { + return reflect.TypeOf((*userState)(nil)).Elem() +} + +type userArgs struct { + // The landing directory (folder) for a user when they log in to the server using the client. + // + // A `HomeDirectory` example is `/bucket_name/home/mydirectory` . + // + // > The `HomeDirectory` parameter is only used if `HomeDirectoryType` is set to `PATH` . + HomeDirectory *string `pulumi:"homeDirectory"` + // 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* . + // + // The following is an `Entry` and `Target` pair example. + // + // `[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]` + // + // In 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. + // + // The following is an `Entry` and `Target` pair example for `chroot` . + // + // `[ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ]` + HomeDirectoryMappings []UserHomeDirectoryMapEntry `pulumi:"homeDirectoryMappings"` + // 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. + // + // > 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. + HomeDirectoryType *UserHomeDirectoryType `pulumi:"homeDirectoryType"` + // 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}` . + // + // > 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. + // > + // > For an example of a session policy, see [Example session policy](https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html) . + // > + // > For more information, see [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) in the *AWS Security Token Service API Reference* . + Policy *string `pulumi:"policy"` + // 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. + PosixProfile *UserPosixProfile `pulumi:"posixProfile"` + // 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. + Role string `pulumi:"role"` + // A system-assigned unique identifier for a server instance. This is the specific server that you added your user to. + ServerId string `pulumi:"serverId"` + // This represents the SSH User Public Keys for CloudFormation resource + SshPublicKeys []string `pulumi:"sshPublicKeys"` + // Key-value pairs that can be used to group and search for users. Tags are metadata attached to users for any purpose. + Tags []aws.Tag `pulumi:"tags"` + // 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. + UserName *string `pulumi:"userName"` +} + +// The set of arguments for constructing a User resource. +type UserArgs struct { + // The landing directory (folder) for a user when they log in to the server using the client. + // + // A `HomeDirectory` example is `/bucket_name/home/mydirectory` . + // + // > The `HomeDirectory` parameter is only used if `HomeDirectoryType` is set to `PATH` . + HomeDirectory pulumi.StringPtrInput + // 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* . + // + // The following is an `Entry` and `Target` pair example. + // + // `[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]` + // + // In 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. + // + // The following is an `Entry` and `Target` pair example for `chroot` . + // + // `[ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ]` + HomeDirectoryMappings UserHomeDirectoryMapEntryArrayInput + // 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. + // + // > 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. + HomeDirectoryType UserHomeDirectoryTypePtrInput + // 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}` . + // + // > 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. + // > + // > For an example of a session policy, see [Example session policy](https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html) . + // > + // > For more information, see [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) in the *AWS Security Token Service API Reference* . + Policy pulumi.StringPtrInput + // 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. + PosixProfile UserPosixProfilePtrInput + // 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. + Role pulumi.StringInput + // A system-assigned unique identifier for a server instance. This is the specific server that you added your user to. + ServerId pulumi.StringInput + // This represents the SSH User Public Keys for CloudFormation resource + SshPublicKeys pulumi.StringArrayInput + // Key-value pairs that can be used to group and search for users. Tags are metadata attached to users for any purpose. + Tags aws.TagArrayInput + // 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. + UserName pulumi.StringPtrInput +} + +func (UserArgs) ElementType() reflect.Type { + return reflect.TypeOf((*userArgs)(nil)).Elem() +} + +type UserInput interface { + pulumi.Input + + ToUserOutput() UserOutput + ToUserOutputWithContext(ctx context.Context) UserOutput +} + +func (*User) ElementType() reflect.Type { + return reflect.TypeOf((**User)(nil)).Elem() +} + +func (i *User) ToUserOutput() UserOutput { + return i.ToUserOutputWithContext(context.Background()) +} + +func (i *User) ToUserOutputWithContext(ctx context.Context) UserOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserOutput) +} + +type UserOutput struct{ *pulumi.OutputState } + +func (UserOutput) ElementType() reflect.Type { + return reflect.TypeOf((**User)(nil)).Elem() +} + +func (o UserOutput) ToUserOutput() UserOutput { + return o +} + +func (o UserOutput) ToUserOutputWithContext(ctx context.Context) UserOutput { + return o +} + +// The Amazon Resource Name associated with the user, in the form `arn:aws:transfer:region: *account-id* :user/ *server-id* / *username*` . +// +// An example of a user ARN is: `arn:aws:transfer:us-east-1:123456789012:user/user1` . +func (o UserOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *User) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// The landing directory (folder) for a user when they log in to the server using the client. +// +// A `HomeDirectory` example is `/bucket_name/home/mydirectory` . +// +// > The `HomeDirectory` parameter is only used if `HomeDirectoryType` is set to `PATH` . +func (o UserOutput) HomeDirectory() pulumi.StringPtrOutput { + return o.ApplyT(func(v *User) pulumi.StringPtrOutput { return v.HomeDirectory }).(pulumi.StringPtrOutput) +} + +// 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* . +// +// The following is an `Entry` and `Target` pair example. +// +// `[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]` +// +// In 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. +// +// The following is an `Entry` and `Target` pair example for `chroot` . +// +// `[ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ]` +func (o UserOutput) HomeDirectoryMappings() UserHomeDirectoryMapEntryArrayOutput { + return o.ApplyT(func(v *User) UserHomeDirectoryMapEntryArrayOutput { return v.HomeDirectoryMappings }).(UserHomeDirectoryMapEntryArrayOutput) +} + +// 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. +// +// > 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. +func (o UserOutput) HomeDirectoryType() UserHomeDirectoryTypePtrOutput { + return o.ApplyT(func(v *User) UserHomeDirectoryTypePtrOutput { return v.HomeDirectoryType }).(UserHomeDirectoryTypePtrOutput) +} + +// 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}` . +// +// > 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. +// > +// > For an example of a session policy, see [Example session policy](https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html) . +// > +// > For more information, see [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) in the *AWS Security Token Service API Reference* . +func (o UserOutput) Policy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *User) pulumi.StringPtrOutput { return v.Policy }).(pulumi.StringPtrOutput) +} + +// 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. +func (o UserOutput) PosixProfile() UserPosixProfilePtrOutput { + return o.ApplyT(func(v *User) UserPosixProfilePtrOutput { return v.PosixProfile }).(UserPosixProfilePtrOutput) +} + +// 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. +func (o UserOutput) Role() pulumi.StringOutput { + return o.ApplyT(func(v *User) pulumi.StringOutput { return v.Role }).(pulumi.StringOutput) +} + +// A system-assigned unique identifier for a server instance. This is the specific server that you added your user to. +func (o UserOutput) ServerId() pulumi.StringOutput { + return o.ApplyT(func(v *User) pulumi.StringOutput { return v.ServerId }).(pulumi.StringOutput) +} + +// This represents the SSH User Public Keys for CloudFormation resource +func (o UserOutput) SshPublicKeys() pulumi.StringArrayOutput { + return o.ApplyT(func(v *User) pulumi.StringArrayOutput { return v.SshPublicKeys }).(pulumi.StringArrayOutput) +} + +// Key-value pairs that can be used to group and search for users. Tags are metadata attached to users for any purpose. +func (o UserOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v *User) aws.TagArrayOutput { return v.Tags }).(aws.TagArrayOutput) +} + +// 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. +func (o UserOutput) UserName() pulumi.StringOutput { + return o.ApplyT(func(v *User) pulumi.StringOutput { return v.UserName }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*UserInput)(nil)).Elem(), &User{}) + pulumi.RegisterOutputType(UserOutput{}) +} diff --git a/sdk/go/aws/wisdom/aiAgent.go b/sdk/go/aws/wisdom/aiAgent.go index f5efd7d494..8b7789c1a6 100644 --- a/sdk/go/aws/wisdom/aiAgent.go +++ b/sdk/go/aws/wisdom/aiAgent.go @@ -16,15 +16,24 @@ import ( type AiAgent struct { pulumi.CustomResourceState - AiAgentArn pulumi.StringOutput `pulumi:"aiAgentArn"` - AiAgentId pulumi.StringOutput `pulumi:"aiAgentId"` - AssistantArn pulumi.StringOutput `pulumi:"assistantArn"` - AssistantId pulumi.StringOutput `pulumi:"assistantId"` - Configuration pulumi.AnyOutput `pulumi:"configuration"` - Description pulumi.StringPtrOutput `pulumi:"description"` - Name pulumi.StringPtrOutput `pulumi:"name"` - Tags pulumi.StringMapOutput `pulumi:"tags"` - Type AiAgentAiAgentTypeOutput `pulumi:"type"` + // The Amazon Resource Name (ARN) of the AI agent. + AiAgentArn pulumi.StringOutput `pulumi:"aiAgentArn"` + // The identifier of the AI Agent. + AiAgentId pulumi.StringOutput `pulumi:"aiAgentId"` + // The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant. + AssistantArn pulumi.StringOutput `pulumi:"assistantArn"` + // The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. + AssistantId pulumi.StringOutput `pulumi:"assistantId"` + // Configuration for the AI Agent. + Configuration pulumi.AnyOutput `pulumi:"configuration"` + // The description of the AI Agent. + Description pulumi.StringPtrOutput `pulumi:"description"` + // The name of the AI Agent. + Name pulumi.StringPtrOutput `pulumi:"name"` + // The tags used to organize, track, or control access for this resource. + Tags pulumi.StringMapOutput `pulumi:"tags"` + // The type of the AI Agent. + Type AiAgentAiAgentTypeOutput `pulumi:"type"` } // NewAiAgent registers a new resource with the given unique name, arguments, and options. @@ -83,22 +92,34 @@ func (AiAgentState) ElementType() reflect.Type { } type aiAgentArgs struct { - AssistantId string `pulumi:"assistantId"` - Configuration interface{} `pulumi:"configuration"` - Description *string `pulumi:"description"` - Name *string `pulumi:"name"` - Tags map[string]string `pulumi:"tags"` - Type AiAgentAiAgentType `pulumi:"type"` + // The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. + AssistantId string `pulumi:"assistantId"` + // Configuration for the AI Agent. + Configuration interface{} `pulumi:"configuration"` + // The description of the AI Agent. + Description *string `pulumi:"description"` + // The name of the AI Agent. + Name *string `pulumi:"name"` + // The tags used to organize, track, or control access for this resource. + Tags map[string]string `pulumi:"tags"` + // The type of the AI Agent. + Type AiAgentAiAgentType `pulumi:"type"` } // The set of arguments for constructing a AiAgent resource. type AiAgentArgs struct { - AssistantId pulumi.StringInput + // The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. + AssistantId pulumi.StringInput + // Configuration for the AI Agent. Configuration pulumi.Input - Description pulumi.StringPtrInput - Name pulumi.StringPtrInput - Tags pulumi.StringMapInput - Type AiAgentAiAgentTypeInput + // The description of the AI Agent. + Description pulumi.StringPtrInput + // The name of the AI Agent. + Name pulumi.StringPtrInput + // The tags used to organize, track, or control access for this resource. + Tags pulumi.StringMapInput + // The type of the AI Agent. + Type AiAgentAiAgentTypeInput } func (AiAgentArgs) ElementType() reflect.Type { @@ -138,38 +159,47 @@ func (o AiAgentOutput) ToAiAgentOutputWithContext(ctx context.Context) AiAgentOu return o } +// The Amazon Resource Name (ARN) of the AI agent. func (o AiAgentOutput) AiAgentArn() pulumi.StringOutput { return o.ApplyT(func(v *AiAgent) pulumi.StringOutput { return v.AiAgentArn }).(pulumi.StringOutput) } +// The identifier of the AI Agent. func (o AiAgentOutput) AiAgentId() pulumi.StringOutput { return o.ApplyT(func(v *AiAgent) pulumi.StringOutput { return v.AiAgentId }).(pulumi.StringOutput) } +// The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant. func (o AiAgentOutput) AssistantArn() pulumi.StringOutput { return o.ApplyT(func(v *AiAgent) pulumi.StringOutput { return v.AssistantArn }).(pulumi.StringOutput) } +// The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. func (o AiAgentOutput) AssistantId() pulumi.StringOutput { return o.ApplyT(func(v *AiAgent) pulumi.StringOutput { return v.AssistantId }).(pulumi.StringOutput) } +// Configuration for the AI Agent. func (o AiAgentOutput) Configuration() pulumi.AnyOutput { return o.ApplyT(func(v *AiAgent) pulumi.AnyOutput { return v.Configuration }).(pulumi.AnyOutput) } +// The description of the AI Agent. func (o AiAgentOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v *AiAgent) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) } +// The name of the AI Agent. func (o AiAgentOutput) Name() pulumi.StringPtrOutput { return o.ApplyT(func(v *AiAgent) pulumi.StringPtrOutput { return v.Name }).(pulumi.StringPtrOutput) } +// The tags used to organize, track, or control access for this resource. func (o AiAgentOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *AiAgent) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) } +// The type of the AI Agent. func (o AiAgentOutput) Type() AiAgentAiAgentTypeOutput { return o.ApplyT(func(v *AiAgent) AiAgentAiAgentTypeOutput { return v.Type }).(AiAgentAiAgentTypeOutput) } diff --git a/sdk/go/aws/wisdom/aiAgentVersion.go b/sdk/go/aws/wisdom/aiAgentVersion.go new file mode 100644 index 0000000000..262169cd14 --- /dev/null +++ b/sdk/go/aws/wisdom/aiAgentVersion.go @@ -0,0 +1,162 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package wisdom + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Definition of AWS::Wisdom::AIAgentVersion Resource Type +type AiAgentVersion struct { + pulumi.CustomResourceState + + AiAgentArn pulumi.StringOutput `pulumi:"aiAgentArn"` + AiAgentId pulumi.StringOutput `pulumi:"aiAgentId"` + AiAgentVersionId pulumi.StringOutput `pulumi:"aiAgentVersionId"` + AssistantArn pulumi.StringOutput `pulumi:"assistantArn"` + AssistantId pulumi.StringOutput `pulumi:"assistantId"` + ModifiedTimeSeconds pulumi.Float64PtrOutput `pulumi:"modifiedTimeSeconds"` + // The version number for this AI Agent version. + VersionNumber pulumi.Float64Output `pulumi:"versionNumber"` +} + +// NewAiAgentVersion registers a new resource with the given unique name, arguments, and options. +func NewAiAgentVersion(ctx *pulumi.Context, + name string, args *AiAgentVersionArgs, opts ...pulumi.ResourceOption) (*AiAgentVersion, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AiAgentId == nil { + return nil, errors.New("invalid value for required argument 'AiAgentId'") + } + if args.AssistantId == nil { + return nil, errors.New("invalid value for required argument 'AssistantId'") + } + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "aiAgentId", + "assistantId", + "modifiedTimeSeconds", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource AiAgentVersion + err := ctx.RegisterResource("aws-native:wisdom:AiAgentVersion", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAiAgentVersion gets an existing AiAgentVersion resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetAiAgentVersion(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AiAgentVersionState, opts ...pulumi.ResourceOption) (*AiAgentVersion, error) { + var resource AiAgentVersion + err := ctx.ReadResource("aws-native:wisdom:AiAgentVersion", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering AiAgentVersion resources. +type aiAgentVersionState struct { +} + +type AiAgentVersionState struct { +} + +func (AiAgentVersionState) ElementType() reflect.Type { + return reflect.TypeOf((*aiAgentVersionState)(nil)).Elem() +} + +type aiAgentVersionArgs struct { + AiAgentId string `pulumi:"aiAgentId"` + AssistantId string `pulumi:"assistantId"` + ModifiedTimeSeconds *float64 `pulumi:"modifiedTimeSeconds"` +} + +// The set of arguments for constructing a AiAgentVersion resource. +type AiAgentVersionArgs struct { + AiAgentId pulumi.StringInput + AssistantId pulumi.StringInput + ModifiedTimeSeconds pulumi.Float64PtrInput +} + +func (AiAgentVersionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*aiAgentVersionArgs)(nil)).Elem() +} + +type AiAgentVersionInput interface { + pulumi.Input + + ToAiAgentVersionOutput() AiAgentVersionOutput + ToAiAgentVersionOutputWithContext(ctx context.Context) AiAgentVersionOutput +} + +func (*AiAgentVersion) ElementType() reflect.Type { + return reflect.TypeOf((**AiAgentVersion)(nil)).Elem() +} + +func (i *AiAgentVersion) ToAiAgentVersionOutput() AiAgentVersionOutput { + return i.ToAiAgentVersionOutputWithContext(context.Background()) +} + +func (i *AiAgentVersion) ToAiAgentVersionOutputWithContext(ctx context.Context) AiAgentVersionOutput { + return pulumi.ToOutputWithContext(ctx, i).(AiAgentVersionOutput) +} + +type AiAgentVersionOutput struct{ *pulumi.OutputState } + +func (AiAgentVersionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AiAgentVersion)(nil)).Elem() +} + +func (o AiAgentVersionOutput) ToAiAgentVersionOutput() AiAgentVersionOutput { + return o +} + +func (o AiAgentVersionOutput) ToAiAgentVersionOutputWithContext(ctx context.Context) AiAgentVersionOutput { + return o +} + +func (o AiAgentVersionOutput) AiAgentArn() pulumi.StringOutput { + return o.ApplyT(func(v *AiAgentVersion) pulumi.StringOutput { return v.AiAgentArn }).(pulumi.StringOutput) +} + +func (o AiAgentVersionOutput) AiAgentId() pulumi.StringOutput { + return o.ApplyT(func(v *AiAgentVersion) pulumi.StringOutput { return v.AiAgentId }).(pulumi.StringOutput) +} + +func (o AiAgentVersionOutput) AiAgentVersionId() pulumi.StringOutput { + return o.ApplyT(func(v *AiAgentVersion) pulumi.StringOutput { return v.AiAgentVersionId }).(pulumi.StringOutput) +} + +func (o AiAgentVersionOutput) AssistantArn() pulumi.StringOutput { + return o.ApplyT(func(v *AiAgentVersion) pulumi.StringOutput { return v.AssistantArn }).(pulumi.StringOutput) +} + +func (o AiAgentVersionOutput) AssistantId() pulumi.StringOutput { + return o.ApplyT(func(v *AiAgentVersion) pulumi.StringOutput { return v.AssistantId }).(pulumi.StringOutput) +} + +func (o AiAgentVersionOutput) ModifiedTimeSeconds() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *AiAgentVersion) pulumi.Float64PtrOutput { return v.ModifiedTimeSeconds }).(pulumi.Float64PtrOutput) +} + +// The version number for this AI Agent version. +func (o AiAgentVersionOutput) VersionNumber() pulumi.Float64Output { + return o.ApplyT(func(v *AiAgentVersion) pulumi.Float64Output { return v.VersionNumber }).(pulumi.Float64Output) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AiAgentVersionInput)(nil)).Elem(), &AiAgentVersion{}) + pulumi.RegisterOutputType(AiAgentVersionOutput{}) +} diff --git a/sdk/go/aws/wisdom/aiPromptVersion.go b/sdk/go/aws/wisdom/aiPromptVersion.go index fd27094836..349c830a54 100644 --- a/sdk/go/aws/wisdom/aiPromptVersion.go +++ b/sdk/go/aws/wisdom/aiPromptVersion.go @@ -22,7 +22,8 @@ type AiPromptVersion struct { AssistantArn pulumi.StringOutput `pulumi:"assistantArn"` AssistantId pulumi.StringOutput `pulumi:"assistantId"` ModifiedTimeSeconds pulumi.Float64PtrOutput `pulumi:"modifiedTimeSeconds"` - VersionNumber pulumi.Float64Output `pulumi:"versionNumber"` + // The version number for this AI Prompt version. + VersionNumber pulumi.Float64Output `pulumi:"versionNumber"` } // NewAiPromptVersion registers a new resource with the given unique name, arguments, and options. @@ -150,6 +151,7 @@ func (o AiPromptVersionOutput) ModifiedTimeSeconds() pulumi.Float64PtrOutput { return o.ApplyT(func(v *AiPromptVersion) pulumi.Float64PtrOutput { return v.ModifiedTimeSeconds }).(pulumi.Float64PtrOutput) } +// The version number for this AI Prompt version. func (o AiPromptVersionOutput) VersionNumber() pulumi.Float64Output { return o.ApplyT(func(v *AiPromptVersion) pulumi.Float64Output { return v.VersionNumber }).(pulumi.Float64Output) } diff --git a/sdk/go/aws/wisdom/getAiAgent.go b/sdk/go/aws/wisdom/getAiAgent.go index e736a9ad68..e446161dfa 100644 --- a/sdk/go/aws/wisdom/getAiAgent.go +++ b/sdk/go/aws/wisdom/getAiAgent.go @@ -23,16 +23,23 @@ func LookupAiAgent(ctx *pulumi.Context, args *LookupAiAgentArgs, opts ...pulumi. } type LookupAiAgentArgs struct { - AiAgentId string `pulumi:"aiAgentId"` + // The identifier of the AI Agent. + AiAgentId string `pulumi:"aiAgentId"` + // The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. AssistantId string `pulumi:"assistantId"` } type LookupAiAgentResult struct { - AiAgentArn *string `pulumi:"aiAgentArn"` - AiAgentId *string `pulumi:"aiAgentId"` - AssistantArn *string `pulumi:"assistantArn"` + // The Amazon Resource Name (ARN) of the AI agent. + AiAgentArn *string `pulumi:"aiAgentArn"` + // The identifier of the AI Agent. + AiAgentId *string `pulumi:"aiAgentId"` + // The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant. + AssistantArn *string `pulumi:"assistantArn"` + // Configuration for the AI Agent. Configuration interface{} `pulumi:"configuration"` - Description *string `pulumi:"description"` + // The description of the AI Agent. + Description *string `pulumi:"description"` } func LookupAiAgentOutput(ctx *pulumi.Context, args LookupAiAgentOutputArgs, opts ...pulumi.InvokeOption) LookupAiAgentResultOutput { @@ -55,7 +62,9 @@ func LookupAiAgentOutput(ctx *pulumi.Context, args LookupAiAgentOutputArgs, opts } type LookupAiAgentOutputArgs struct { - AiAgentId pulumi.StringInput `pulumi:"aiAgentId"` + // The identifier of the AI Agent. + AiAgentId pulumi.StringInput `pulumi:"aiAgentId"` + // The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. AssistantId pulumi.StringInput `pulumi:"assistantId"` } @@ -77,22 +86,27 @@ func (o LookupAiAgentResultOutput) ToLookupAiAgentResultOutputWithContext(ctx co return o } +// The Amazon Resource Name (ARN) of the AI agent. func (o LookupAiAgentResultOutput) AiAgentArn() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupAiAgentResult) *string { return v.AiAgentArn }).(pulumi.StringPtrOutput) } +// The identifier of the AI Agent. func (o LookupAiAgentResultOutput) AiAgentId() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupAiAgentResult) *string { return v.AiAgentId }).(pulumi.StringPtrOutput) } +// The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant. func (o LookupAiAgentResultOutput) AssistantArn() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupAiAgentResult) *string { return v.AssistantArn }).(pulumi.StringPtrOutput) } +// Configuration for the AI Agent. func (o LookupAiAgentResultOutput) Configuration() pulumi.AnyOutput { return o.ApplyT(func(v LookupAiAgentResult) interface{} { return v.Configuration }).(pulumi.AnyOutput) } +// The description of the AI Agent. func (o LookupAiAgentResultOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupAiAgentResult) *string { return v.Description }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/aws/wisdom/getAiAgentVersion.go b/sdk/go/aws/wisdom/getAiAgentVersion.go new file mode 100644 index 0000000000..c3d34045bd --- /dev/null +++ b/sdk/go/aws/wisdom/getAiAgentVersion.go @@ -0,0 +1,103 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package wisdom + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Definition of AWS::Wisdom::AIAgentVersion Resource Type +func LookupAiAgentVersion(ctx *pulumi.Context, args *LookupAiAgentVersionArgs, opts ...pulumi.InvokeOption) (*LookupAiAgentVersionResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupAiAgentVersionResult + err := ctx.Invoke("aws-native:wisdom:getAiAgentVersion", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupAiAgentVersionArgs struct { + AiAgentId string `pulumi:"aiAgentId"` + AssistantId string `pulumi:"assistantId"` + // The version number for this AI Agent version. + VersionNumber float64 `pulumi:"versionNumber"` +} + +type LookupAiAgentVersionResult struct { + AiAgentArn *string `pulumi:"aiAgentArn"` + AiAgentVersionId *string `pulumi:"aiAgentVersionId"` + AssistantArn *string `pulumi:"assistantArn"` + // The version number for this AI Agent version. + VersionNumber *float64 `pulumi:"versionNumber"` +} + +func LookupAiAgentVersionOutput(ctx *pulumi.Context, args LookupAiAgentVersionOutputArgs, opts ...pulumi.InvokeOption) LookupAiAgentVersionResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupAiAgentVersionResultOutput, error) { + args := v.(LookupAiAgentVersionArgs) + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupAiAgentVersionResult + secret, err := ctx.InvokePackageRaw("aws-native:wisdom:getAiAgentVersion", args, &rv, "", opts...) + if err != nil { + return LookupAiAgentVersionResultOutput{}, err + } + + output := pulumi.ToOutput(rv).(LookupAiAgentVersionResultOutput) + if secret { + return pulumi.ToSecret(output).(LookupAiAgentVersionResultOutput), nil + } + return output, nil + }).(LookupAiAgentVersionResultOutput) +} + +type LookupAiAgentVersionOutputArgs struct { + AiAgentId pulumi.StringInput `pulumi:"aiAgentId"` + AssistantId pulumi.StringInput `pulumi:"assistantId"` + // The version number for this AI Agent version. + VersionNumber pulumi.Float64Input `pulumi:"versionNumber"` +} + +func (LookupAiAgentVersionOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupAiAgentVersionArgs)(nil)).Elem() +} + +type LookupAiAgentVersionResultOutput struct{ *pulumi.OutputState } + +func (LookupAiAgentVersionResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupAiAgentVersionResult)(nil)).Elem() +} + +func (o LookupAiAgentVersionResultOutput) ToLookupAiAgentVersionResultOutput() LookupAiAgentVersionResultOutput { + return o +} + +func (o LookupAiAgentVersionResultOutput) ToLookupAiAgentVersionResultOutputWithContext(ctx context.Context) LookupAiAgentVersionResultOutput { + return o +} + +func (o LookupAiAgentVersionResultOutput) AiAgentArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupAiAgentVersionResult) *string { return v.AiAgentArn }).(pulumi.StringPtrOutput) +} + +func (o LookupAiAgentVersionResultOutput) AiAgentVersionId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupAiAgentVersionResult) *string { return v.AiAgentVersionId }).(pulumi.StringPtrOutput) +} + +func (o LookupAiAgentVersionResultOutput) AssistantArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupAiAgentVersionResult) *string { return v.AssistantArn }).(pulumi.StringPtrOutput) +} + +// The version number for this AI Agent version. +func (o LookupAiAgentVersionResultOutput) VersionNumber() pulumi.Float64PtrOutput { + return o.ApplyT(func(v LookupAiAgentVersionResult) *float64 { return v.VersionNumber }).(pulumi.Float64PtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupAiAgentVersionResultOutput{}) +} diff --git a/sdk/go/aws/wisdom/getAiPromptVersion.go b/sdk/go/aws/wisdom/getAiPromptVersion.go index 8efc42102c..85cfa2c680 100644 --- a/sdk/go/aws/wisdom/getAiPromptVersion.go +++ b/sdk/go/aws/wisdom/getAiPromptVersion.go @@ -23,16 +23,18 @@ func LookupAiPromptVersion(ctx *pulumi.Context, args *LookupAiPromptVersionArgs, } type LookupAiPromptVersionArgs struct { - AiPromptId string `pulumi:"aiPromptId"` - AssistantId string `pulumi:"assistantId"` + AiPromptId string `pulumi:"aiPromptId"` + AssistantId string `pulumi:"assistantId"` + // The version number for this AI Prompt version. VersionNumber float64 `pulumi:"versionNumber"` } type LookupAiPromptVersionResult struct { - AiPromptArn *string `pulumi:"aiPromptArn"` - AiPromptVersionId *string `pulumi:"aiPromptVersionId"` - AssistantArn *string `pulumi:"assistantArn"` - VersionNumber *float64 `pulumi:"versionNumber"` + AiPromptArn *string `pulumi:"aiPromptArn"` + AiPromptVersionId *string `pulumi:"aiPromptVersionId"` + AssistantArn *string `pulumi:"assistantArn"` + // The version number for this AI Prompt version. + VersionNumber *float64 `pulumi:"versionNumber"` } func LookupAiPromptVersionOutput(ctx *pulumi.Context, args LookupAiPromptVersionOutputArgs, opts ...pulumi.InvokeOption) LookupAiPromptVersionResultOutput { @@ -55,8 +57,9 @@ func LookupAiPromptVersionOutput(ctx *pulumi.Context, args LookupAiPromptVersion } type LookupAiPromptVersionOutputArgs struct { - AiPromptId pulumi.StringInput `pulumi:"aiPromptId"` - AssistantId pulumi.StringInput `pulumi:"assistantId"` + AiPromptId pulumi.StringInput `pulumi:"aiPromptId"` + AssistantId pulumi.StringInput `pulumi:"assistantId"` + // The version number for this AI Prompt version. VersionNumber pulumi.Float64Input `pulumi:"versionNumber"` } @@ -90,6 +93,7 @@ func (o LookupAiPromptVersionResultOutput) AssistantArn() pulumi.StringPtrOutput return o.ApplyT(func(v LookupAiPromptVersionResult) *string { return v.AssistantArn }).(pulumi.StringPtrOutput) } +// The version number for this AI Prompt version. func (o LookupAiPromptVersionResultOutput) VersionNumber() pulumi.Float64PtrOutput { return o.ApplyT(func(v LookupAiPromptVersionResult) *float64 { return v.VersionNumber }).(pulumi.Float64PtrOutput) } diff --git a/sdk/go/aws/wisdom/init.go b/sdk/go/aws/wisdom/init.go index ed0075ceb5..5045ebc0d7 100644 --- a/sdk/go/aws/wisdom/init.go +++ b/sdk/go/aws/wisdom/init.go @@ -23,6 +23,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi switch typ { case "aws-native:wisdom:AiAgent": r = &AiAgent{} + case "aws-native:wisdom:AiAgentVersion": + r = &AiAgentVersion{} case "aws-native:wisdom:AiPrompt": r = &AiPrompt{} case "aws-native:wisdom:AiPromptVersion": diff --git a/sdk/nodejs/appsync/api.ts b/sdk/nodejs/appsync/api.ts index 28cdefa037..ea1b47716f 100644 --- a/sdk/nodejs/appsync/api.ts +++ b/sdk/nodejs/appsync/api.ts @@ -45,10 +45,13 @@ export class Api extends pulumi.CustomResource { * The unique identifier for the AppSync Api generated by the service */ public /*out*/ readonly apiId!: pulumi.Output; - public /*out*/ readonly dns!: pulumi.Output<{[key: string]: string}>; + public /*out*/ readonly dns!: pulumi.Output; + /** + * Describes the authorization configuration for connections, message publishing, message subscriptions, and logging for an Event API. + */ public readonly eventConfig!: pulumi.Output; /** - * The API name. + * The name of the `Api` . */ public readonly name!: pulumi.Output; /** @@ -58,7 +61,7 @@ export class Api extends pulumi.CustomResource { */ public readonly ownerContact!: pulumi.Output; /** - * The tags. + * A set of tags (key-value pairs) for this API. */ public readonly tags!: pulumi.Output; @@ -98,9 +101,12 @@ export class Api extends pulumi.CustomResource { * The set of arguments for constructing a Api resource. */ export interface ApiArgs { + /** + * Describes the authorization configuration for connections, message publishing, message subscriptions, and logging for an Event API. + */ eventConfig?: pulumi.Input; /** - * The API name. + * The name of the `Api` . */ name?: pulumi.Input; /** @@ -110,7 +116,7 @@ export interface ApiArgs { */ ownerContact?: pulumi.Input; /** - * The tags. + * A set of tags (key-value pairs) for this API. */ tags?: pulumi.Input[]>; } diff --git a/sdk/nodejs/appsync/channelNamespace.ts b/sdk/nodejs/appsync/channelNamespace.ts index 4dc3bc117c..11d12fffbd 100644 --- a/sdk/nodejs/appsync/channelNamespace.ts +++ b/sdk/nodejs/appsync/channelNamespace.ts @@ -41,12 +41,21 @@ export class ChannelNamespace extends pulumi.CustomResource { * AppSync Api Id that this Channel Namespace belongs to. */ public readonly apiId!: pulumi.Output; + /** + * The Amazon Resource Name (ARN) of the channel namespace. + */ public /*out*/ readonly channelNamespaceArn!: pulumi.Output; + /** + * The event handler functions that run custom business logic to process published events and subscribe requests. + */ public readonly codeHandlers!: pulumi.Output; /** * The Amazon S3 endpoint where the code is located. */ public readonly codeS3Location!: pulumi.Output; + /** + * The name of the channel namespace. This name must be unique within the `Api` . + */ public readonly name!: pulumi.Output; /** * List of AuthModes supported for Publish operations. @@ -56,6 +65,9 @@ export class ChannelNamespace extends pulumi.CustomResource { * List of AuthModes supported for Subscribe operations. */ public readonly subscribeAuthModes!: pulumi.Output; + /** + * A set of tags (key-value pairs) for this channel namespace. + */ public readonly tags!: pulumi.Output; /** @@ -105,11 +117,17 @@ export interface ChannelNamespaceArgs { * AppSync Api Id that this Channel Namespace belongs to. */ apiId: pulumi.Input; + /** + * The event handler functions that run custom business logic to process published events and subscribe requests. + */ codeHandlers?: pulumi.Input; /** * The Amazon S3 endpoint where the code is located. */ codeS3Location?: pulumi.Input; + /** + * The name of the channel namespace. This name must be unique within the `Api` . + */ name?: pulumi.Input; /** * List of AuthModes supported for Publish operations. @@ -119,5 +137,8 @@ export interface ChannelNamespaceArgs { * List of AuthModes supported for Subscribe operations. */ subscribeAuthModes?: pulumi.Input[]>; + /** + * A set of tags (key-value pairs) for this channel namespace. + */ tags?: pulumi.Input[]>; } diff --git a/sdk/nodejs/appsync/getApi.ts b/sdk/nodejs/appsync/getApi.ts index f9da93603a..b70cb6344b 100644 --- a/sdk/nodejs/appsync/getApi.ts +++ b/sdk/nodejs/appsync/getApi.ts @@ -33,10 +33,13 @@ export interface GetApiResult { * The unique identifier for the AppSync Api generated by the service */ readonly apiId?: string; - readonly dns?: {[key: string]: string}; + readonly dns?: outputs.appsync.ApiDnsMap; + /** + * Describes the authorization configuration for connections, message publishing, message subscriptions, and logging for an Event API. + */ readonly eventConfig?: outputs.appsync.ApiEventConfig; /** - * The API name. + * The name of the `Api` . */ readonly name?: string; /** @@ -46,7 +49,7 @@ export interface GetApiResult { */ readonly ownerContact?: string; /** - * The tags. + * A set of tags (key-value pairs) for this API. */ readonly tags?: outputs.Tag[]; } diff --git a/sdk/nodejs/appsync/getChannelNamespace.ts b/sdk/nodejs/appsync/getChannelNamespace.ts index 4eebe69a8d..6a7dd9b952 100644 --- a/sdk/nodejs/appsync/getChannelNamespace.ts +++ b/sdk/nodejs/appsync/getChannelNamespace.ts @@ -18,11 +18,20 @@ export function getChannelNamespace(args: GetChannelNamespaceArgs, opts?: pulumi } export interface GetChannelNamespaceArgs { + /** + * The Amazon Resource Name (ARN) of the channel namespace. + */ channelNamespaceArn: string; } export interface GetChannelNamespaceResult { + /** + * The Amazon Resource Name (ARN) of the channel namespace. + */ readonly channelNamespaceArn?: string; + /** + * The event handler functions that run custom business logic to process published events and subscribe requests. + */ readonly codeHandlers?: string; /** * List of AuthModes supported for Publish operations. @@ -32,6 +41,9 @@ export interface GetChannelNamespaceResult { * List of AuthModes supported for Subscribe operations. */ readonly subscribeAuthModes?: outputs.appsync.ChannelNamespaceAuthMode[]; + /** + * A set of tags (key-value pairs) for this channel namespace. + */ readonly tags?: outputs.Tag[]; } /** @@ -45,5 +57,8 @@ export function getChannelNamespaceOutput(args: GetChannelNamespaceOutputArgs, o } export interface GetChannelNamespaceOutputArgs { + /** + * The Amazon Resource Name (ARN) of the channel namespace. + */ channelNamespaceArn: pulumi.Input; } diff --git a/sdk/nodejs/aps/getScraper.ts b/sdk/nodejs/aps/getScraper.ts index 38475cd107..7b4de07ce6 100644 --- a/sdk/nodejs/aps/getScraper.ts +++ b/sdk/nodejs/aps/getScraper.ts @@ -25,14 +25,26 @@ export interface GetScraperArgs { } export interface GetScraperResult { + /** + * Scraper alias. + */ + readonly alias?: string; /** * Scraper ARN. */ readonly arn?: string; + /** + * The Amazon Managed Service for Prometheus workspace the scraper sends metrics to. + */ + readonly destination?: outputs.aps.ScraperDestination; /** * IAM role ARN for the scraper. */ readonly roleArn?: string; + /** + * The configuration in use by the scraper. + */ + readonly scrapeConfiguration?: outputs.aps.ScraperScrapeConfiguration; /** * Required to identify a specific scraper. */ diff --git a/sdk/nodejs/aps/scraper.ts b/sdk/nodejs/aps/scraper.ts index 55b92d029c..a13cdf6467 100644 --- a/sdk/nodejs/aps/scraper.ts +++ b/sdk/nodejs/aps/scraper.ts @@ -109,7 +109,7 @@ export class Scraper extends pulumi.CustomResource { resourceInputs["tags"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const replaceOnChanges = { replaceOnChanges: ["alias", "destination", "scrapeConfiguration", "source"] }; + const replaceOnChanges = { replaceOnChanges: ["source"] }; opts = pulumi.mergeOptions(opts, replaceOnChanges); super(Scraper.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/bedrock/applicationInferenceProfile.ts b/sdk/nodejs/bedrock/applicationInferenceProfile.ts index c7bf8659a7..ecd118b2c8 100644 --- a/sdk/nodejs/bedrock/applicationInferenceProfile.ts +++ b/sdk/nodejs/bedrock/applicationInferenceProfile.ts @@ -45,23 +45,44 @@ export class ApplicationInferenceProfile extends pulumi.CustomResource { * Description of the inference profile */ public readonly description!: pulumi.Output; + /** + * The Amazon Resource Name (ARN) of the inference profile. + */ public /*out*/ readonly inferenceProfileArn!: pulumi.Output; + /** + * The unique identifier of the inference profile. + */ public /*out*/ readonly inferenceProfileId!: pulumi.Output; /** * Inference profile identifier. Supports both system-defined inference profile ids, and inference profile ARNs. */ public /*out*/ readonly inferenceProfileIdentifier!: pulumi.Output; + /** + * The name of the inference profile. + */ public readonly inferenceProfileName!: pulumi.Output; + /** + * Contains configurations for the inference profile to copy as the resource. + */ public readonly modelSource!: pulumi.Output; /** * List of model configuration */ public /*out*/ readonly models!: pulumi.Output; + /** + * The status of the inference profile. `ACTIVE` means that the inference profile is ready to be used. + */ public /*out*/ readonly status!: pulumi.Output; /** * List of Tags */ public readonly tags!: pulumi.Output; + /** + * The type of the inference profile. The following types are possible: + * + * - `SYSTEM_DEFINED` – The inference profile is defined by Amazon Bedrock. You can route inference requests across regions with these inference profiles. + * - `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. + */ public /*out*/ readonly type!: pulumi.Output; /** * Time Stamp @@ -120,7 +141,13 @@ export interface ApplicationInferenceProfileArgs { * Description of the inference profile */ description?: pulumi.Input; + /** + * The name of the inference profile. + */ inferenceProfileName?: pulumi.Input; + /** + * Contains configurations for the inference profile to copy as the resource. + */ modelSource?: pulumi.Input; /** * List of Tags diff --git a/sdk/nodejs/bedrock/getApplicationInferenceProfile.ts b/sdk/nodejs/bedrock/getApplicationInferenceProfile.ts index c10e62dfdd..44109e6d22 100644 --- a/sdk/nodejs/bedrock/getApplicationInferenceProfile.ts +++ b/sdk/nodejs/bedrock/getApplicationInferenceProfile.ts @@ -29,7 +29,13 @@ export interface GetApplicationInferenceProfileResult { * Time Stamp */ readonly createdAt?: string; + /** + * The Amazon Resource Name (ARN) of the inference profile. + */ readonly inferenceProfileArn?: string; + /** + * The unique identifier of the inference profile. + */ readonly inferenceProfileId?: string; /** * Inference profile identifier. Supports both system-defined inference profile ids, and inference profile ARNs. @@ -39,11 +45,20 @@ export interface GetApplicationInferenceProfileResult { * List of model configuration */ readonly models?: outputs.bedrock.ApplicationInferenceProfileInferenceProfileModel[]; + /** + * The status of the inference profile. `ACTIVE` means that the inference profile is ready to be used. + */ readonly status?: enums.bedrock.ApplicationInferenceProfileInferenceProfileStatus; /** * List of Tags */ readonly tags?: outputs.Tag[]; + /** + * The type of the inference profile. The following types are possible: + * + * - `SYSTEM_DEFINED` – The inference profile is defined by Amazon Bedrock. You can route inference requests across regions with these inference profiles. + * - `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. + */ readonly type?: enums.bedrock.ApplicationInferenceProfileInferenceProfileType; /** * Time Stamp diff --git a/sdk/nodejs/bedrock/promptVersion.ts b/sdk/nodejs/bedrock/promptVersion.ts index cafe06169b..cb8cfef4a8 100644 --- a/sdk/nodejs/bedrock/promptVersion.ts +++ b/sdk/nodejs/bedrock/promptVersion.ts @@ -69,6 +69,9 @@ export class PromptVersion extends pulumi.CustomResource { * Identifier for a Prompt */ public /*out*/ readonly promptId!: pulumi.Output; + /** + * A map of tags attached to the prompt version and their values. + */ public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; /** * Time Stamp. @@ -142,5 +145,8 @@ export interface PromptVersionArgs { * ARN of a prompt resource possibly with a version */ promptArn: pulumi.Input; + /** + * A map of tags attached to the prompt version and their values. + */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; } diff --git a/sdk/nodejs/codebuild/fleet.ts b/sdk/nodejs/codebuild/fleet.ts index 07a637c950..4aed42b19a 100644 --- a/sdk/nodejs/codebuild/fleet.ts +++ b/sdk/nodejs/codebuild/fleet.ts @@ -48,25 +48,33 @@ export class Fleet extends pulumi.CustomResource { /** * Information about the compute resources the compute fleet uses. Available values include: * - * - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. - * - `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds. - * - `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type. - * - `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type. - * - `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. + * - `ATTRIBUTE_BASED_COMPUTE` : Specify the amount of vCPUs, memory, disk space, and the type of machine. + * + * > 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* . + * - `BUILD_GENERAL1_SMALL` : Use up to 4 GiB memory and 2 vCPUs for builds. + * - `BUILD_GENERAL1_MEDIUM` : Use up to 8 GiB memory and 4 vCPUs for builds. + * - `BUILD_GENERAL1_LARGE` : Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type. + * - `BUILD_GENERAL1_XLARGE` : Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type. + * - `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. + * - `BUILD_LAMBDA_1GB` : Use up to 1 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + * - `BUILD_LAMBDA_2GB` : Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + * - `BUILD_LAMBDA_4GB` : Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + * - `BUILD_LAMBDA_8GB` : Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + * - `BUILD_LAMBDA_10GB` : Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . * * If you use `BUILD_GENERAL1_SMALL` : * - * - For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds. - * - 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. - * - For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds. + * - For environment type `LINUX_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs for builds. + * - 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. + * - For environment type `ARM_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs on ARM-based processors for builds. * * If you use `BUILD_GENERAL1_LARGE` : * - * - For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds. - * - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. - * - For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds. + * - For environment type `LINUX_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs for builds. + * - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. + * - For environment type `ARM_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds. * - * For more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.* + * For 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.* */ public readonly computeType!: pulumi.Output; /** @@ -75,6 +83,7 @@ export class Fleet extends pulumi.CustomResource { * - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). * - The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai). * - 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). + * - 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). * - 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). * - 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). * @@ -162,25 +171,33 @@ export interface FleetArgs { /** * Information about the compute resources the compute fleet uses. Available values include: * - * - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. - * - `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds. - * - `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type. - * - `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type. - * - `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. + * - `ATTRIBUTE_BASED_COMPUTE` : Specify the amount of vCPUs, memory, disk space, and the type of machine. + * + * > 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* . + * - `BUILD_GENERAL1_SMALL` : Use up to 4 GiB memory and 2 vCPUs for builds. + * - `BUILD_GENERAL1_MEDIUM` : Use up to 8 GiB memory and 4 vCPUs for builds. + * - `BUILD_GENERAL1_LARGE` : Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type. + * - `BUILD_GENERAL1_XLARGE` : Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type. + * - `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. + * - `BUILD_LAMBDA_1GB` : Use up to 1 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + * - `BUILD_LAMBDA_2GB` : Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + * - `BUILD_LAMBDA_4GB` : Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + * - `BUILD_LAMBDA_8GB` : Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + * - `BUILD_LAMBDA_10GB` : Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . * * If you use `BUILD_GENERAL1_SMALL` : * - * - For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds. - * - 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. - * - For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds. + * - For environment type `LINUX_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs for builds. + * - 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. + * - For environment type `ARM_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs on ARM-based processors for builds. * * If you use `BUILD_GENERAL1_LARGE` : * - * - For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds. - * - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. - * - For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds. + * - For environment type `LINUX_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs for builds. + * - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. + * - For environment type `ARM_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds. * - * For more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.* + * For 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.* */ computeType?: pulumi.Input; /** @@ -189,6 +206,7 @@ export interface FleetArgs { * - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). * - The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai). * - 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). + * - 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). * - 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). * - 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). * diff --git a/sdk/nodejs/codebuild/getFleet.ts b/sdk/nodejs/codebuild/getFleet.ts index 11598e8493..06bbe3a5a9 100644 --- a/sdk/nodejs/codebuild/getFleet.ts +++ b/sdk/nodejs/codebuild/getFleet.ts @@ -36,25 +36,33 @@ export interface GetFleetResult { /** * Information about the compute resources the compute fleet uses. Available values include: * - * - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. - * - `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds. - * - `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type. - * - `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type. - * - `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. + * - `ATTRIBUTE_BASED_COMPUTE` : Specify the amount of vCPUs, memory, disk space, and the type of machine. + * + * > 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* . + * - `BUILD_GENERAL1_SMALL` : Use up to 4 GiB memory and 2 vCPUs for builds. + * - `BUILD_GENERAL1_MEDIUM` : Use up to 8 GiB memory and 4 vCPUs for builds. + * - `BUILD_GENERAL1_LARGE` : Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type. + * - `BUILD_GENERAL1_XLARGE` : Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type. + * - `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. + * - `BUILD_LAMBDA_1GB` : Use up to 1 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + * - `BUILD_LAMBDA_2GB` : Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + * - `BUILD_LAMBDA_4GB` : Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + * - `BUILD_LAMBDA_8GB` : Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + * - `BUILD_LAMBDA_10GB` : Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . * * If you use `BUILD_GENERAL1_SMALL` : * - * - For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds. - * - 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. - * - For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds. + * - For environment type `LINUX_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs for builds. + * - 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. + * - For environment type `ARM_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs on ARM-based processors for builds. * * If you use `BUILD_GENERAL1_LARGE` : * - * - For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds. - * - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. - * - For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds. + * - For environment type `LINUX_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs for builds. + * - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. + * - For environment type `ARM_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds. * - * For more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.* + * For 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.* */ readonly computeType?: enums.codebuild.FleetComputeType; /** @@ -63,6 +71,7 @@ export interface GetFleetResult { * - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). * - The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai). * - 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). + * - 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). * - 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). * - 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). * diff --git a/sdk/nodejs/datasync/task.ts b/sdk/nodejs/datasync/task.ts index 1aa0038b06..c01a2d8f28 100644 --- a/sdk/nodejs/datasync/task.ts +++ b/sdk/nodejs/datasync/task.ts @@ -119,6 +119,10 @@ export class Task extends pulumi.CustomResource { * The ARN of the task. */ public /*out*/ readonly taskArn!: pulumi.Output; + /** + * Specifies the task mode for the task. + */ + public readonly taskMode!: pulumi.Output; /** * 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) . * @@ -153,6 +157,7 @@ export class Task extends pulumi.CustomResource { resourceInputs["schedule"] = args ? args.schedule : undefined; resourceInputs["sourceLocationArn"] = args ? args.sourceLocationArn : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["taskMode"] = args ? args.taskMode : undefined; resourceInputs["taskReportConfig"] = args ? args.taskReportConfig : undefined; resourceInputs["destinationNetworkInterfaceArns"] = undefined /*out*/; resourceInputs["sourceNetworkInterfaceArns"] = undefined /*out*/; @@ -173,10 +178,11 @@ export class Task extends pulumi.CustomResource { resourceInputs["status"] = undefined /*out*/; resourceInputs["tags"] = undefined /*out*/; resourceInputs["taskArn"] = undefined /*out*/; + resourceInputs["taskMode"] = undefined /*out*/; resourceInputs["taskReportConfig"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const replaceOnChanges = { replaceOnChanges: ["destinationLocationArn", "sourceLocationArn"] }; + const replaceOnChanges = { replaceOnChanges: ["destinationLocationArn", "sourceLocationArn", "taskMode"] }; opts = pulumi.mergeOptions(opts, replaceOnChanges); super(Task.__pulumiType, name, resourceInputs, opts); } @@ -226,6 +232,10 @@ export interface TaskArgs { * An array of key-value pairs to apply to this resource. */ tags?: pulumi.Input[]>; + /** + * Specifies the task mode for the task. + */ + taskMode?: pulumi.Input; /** * 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) . * diff --git a/sdk/nodejs/ec2/eip.ts b/sdk/nodejs/ec2/eip.ts index 9f99337c8e..301c0f4da8 100644 --- a/sdk/nodejs/ec2/eip.ts +++ b/sdk/nodejs/ec2/eip.ts @@ -40,7 +40,7 @@ export class Eip extends pulumi.CustomResource { } /** - * Describes an Elastic IP address, or a carrier IP address. + * An Elastic IP address or a carrier IP address in a Wavelength Zone. */ public readonly address!: pulumi.Output; /** @@ -57,6 +57,9 @@ export class Eip extends pulumi.CustomResource { * Updates to the ``InstanceId`` property may require *some interruptions*. Updates on an EIP reassociates the address on its associated resource. */ public readonly instanceId!: pulumi.Output; + /** + * 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* . + */ public readonly ipamPoolId!: pulumi.Output; /** * A unique set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises IP addresses. Use this parameter to limit the IP address to this location. IP addresses cannot move between network border groups. @@ -127,7 +130,7 @@ export class Eip extends pulumi.CustomResource { */ export interface EipArgs { /** - * Describes an Elastic IP address, or a carrier IP address. + * An Elastic IP address or a carrier IP address in a Wavelength Zone. */ address?: pulumi.Input; /** @@ -140,6 +143,9 @@ export interface EipArgs { * Updates to the ``InstanceId`` property may require *some interruptions*. Updates on an EIP reassociates the address on its associated resource. */ instanceId?: pulumi.Input; + /** + * 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* . + */ ipamPoolId?: pulumi.Input; /** * A unique set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises IP addresses. Use this parameter to limit the IP address to this location. IP addresses cannot move between network border groups. diff --git a/sdk/nodejs/ec2/getSecurityGroupVpcAssociation.ts b/sdk/nodejs/ec2/getSecurityGroupVpcAssociation.ts new file mode 100644 index 0000000000..66bf0492d1 --- /dev/null +++ b/sdk/nodejs/ec2/getSecurityGroupVpcAssociation.ts @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Resource type definition for the AWS::EC2::SecurityGroupVpcAssociation resource + */ +export function getSecurityGroupVpcAssociation(args: GetSecurityGroupVpcAssociationArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:ec2:getSecurityGroupVpcAssociation", { + "groupId": args.groupId, + "vpcId": args.vpcId, + }, opts); +} + +export interface GetSecurityGroupVpcAssociationArgs { + /** + * The group ID of the specified security group. + */ + groupId: string; + /** + * The ID of the VPC in the security group vpc association. + */ + vpcId: string; +} + +export interface GetSecurityGroupVpcAssociationResult { + /** + * The state of the security group vpc association. + */ + readonly state?: enums.ec2.SecurityGroupVpcAssociationState; + /** + * The reason for the state of the security group vpc association. + */ + readonly stateReason?: string; + /** + * The owner of the VPC in the security group vpc association. + */ + readonly vpcOwnerId?: string; +} +/** + * Resource type definition for the AWS::EC2::SecurityGroupVpcAssociation resource + */ +export function getSecurityGroupVpcAssociationOutput(args: GetSecurityGroupVpcAssociationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("aws-native:ec2:getSecurityGroupVpcAssociation", { + "groupId": args.groupId, + "vpcId": args.vpcId, + }, opts); +} + +export interface GetSecurityGroupVpcAssociationOutputArgs { + /** + * The group ID of the specified security group. + */ + groupId: pulumi.Input; + /** + * The ID of the VPC in the security group vpc association. + */ + vpcId: pulumi.Input; +} diff --git a/sdk/nodejs/ec2/index.ts b/sdk/nodejs/ec2/index.ts index 2b7cb5ca3a..cef6b71019 100644 --- a/sdk/nodejs/ec2/index.ts +++ b/sdk/nodejs/ec2/index.ts @@ -285,6 +285,11 @@ export const getSecurityGroupIngress: typeof import("./getSecurityGroupIngress") export const getSecurityGroupIngressOutput: typeof import("./getSecurityGroupIngress").getSecurityGroupIngressOutput = null as any; utilities.lazyLoad(exports, ["getSecurityGroupIngress","getSecurityGroupIngressOutput"], () => require("./getSecurityGroupIngress")); +export { GetSecurityGroupVpcAssociationArgs, GetSecurityGroupVpcAssociationResult, GetSecurityGroupVpcAssociationOutputArgs } from "./getSecurityGroupVpcAssociation"; +export const getSecurityGroupVpcAssociation: typeof import("./getSecurityGroupVpcAssociation").getSecurityGroupVpcAssociation = null as any; +export const getSecurityGroupVpcAssociationOutput: typeof import("./getSecurityGroupVpcAssociation").getSecurityGroupVpcAssociationOutput = null as any; +utilities.lazyLoad(exports, ["getSecurityGroupVpcAssociation","getSecurityGroupVpcAssociationOutput"], () => require("./getSecurityGroupVpcAssociation")); + export { GetSnapshotBlockPublicAccessArgs, GetSnapshotBlockPublicAccessResult, GetSnapshotBlockPublicAccessOutputArgs } from "./getSnapshotBlockPublicAccess"; export const getSnapshotBlockPublicAccess: typeof import("./getSnapshotBlockPublicAccess").getSnapshotBlockPublicAccess = null as any; export const getSnapshotBlockPublicAccessOutput: typeof import("./getSnapshotBlockPublicAccess").getSnapshotBlockPublicAccessOutput = null as any; @@ -605,6 +610,11 @@ export type SecurityGroupIngress = import("./securityGroupIngress").SecurityGrou export const SecurityGroupIngress: typeof import("./securityGroupIngress").SecurityGroupIngress = null as any; utilities.lazyLoad(exports, ["SecurityGroupIngress"], () => require("./securityGroupIngress")); +export { SecurityGroupVpcAssociationArgs } from "./securityGroupVpcAssociation"; +export type SecurityGroupVpcAssociation = import("./securityGroupVpcAssociation").SecurityGroupVpcAssociation; +export const SecurityGroupVpcAssociation: typeof import("./securityGroupVpcAssociation").SecurityGroupVpcAssociation = null as any; +utilities.lazyLoad(exports, ["SecurityGroupVpcAssociation"], () => require("./securityGroupVpcAssociation")); + export { SnapshotBlockPublicAccessArgs } from "./snapshotBlockPublicAccess"; export type SnapshotBlockPublicAccess = import("./snapshotBlockPublicAccess").SnapshotBlockPublicAccess; export const SnapshotBlockPublicAccess: typeof import("./snapshotBlockPublicAccess").SnapshotBlockPublicAccess = null as any; @@ -888,6 +898,8 @@ const _module = { return new SecurityGroupEgress(name, undefined, { urn }) case "aws-native:ec2:SecurityGroupIngress": return new SecurityGroupIngress(name, undefined, { urn }) + case "aws-native:ec2:SecurityGroupVpcAssociation": + return new SecurityGroupVpcAssociation(name, undefined, { urn }) case "aws-native:ec2:SnapshotBlockPublicAccess": return new SnapshotBlockPublicAccess(name, undefined, { urn }) case "aws-native:ec2:SpotFleet": diff --git a/sdk/nodejs/ec2/launchTemplate.ts b/sdk/nodejs/ec2/launchTemplate.ts index a0a732adbd..9f8891347c 100644 --- a/sdk/nodejs/ec2/launchTemplate.ts +++ b/sdk/nodejs/ec2/launchTemplate.ts @@ -67,7 +67,7 @@ export class LaunchTemplate extends pulumi.CustomResource { public readonly launchTemplateName!: pulumi.Output; /** * The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``. - * 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). + * 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). */ public readonly tagSpecifications!: pulumi.Output; /** @@ -126,7 +126,7 @@ export interface LaunchTemplateArgs { launchTemplateName?: pulumi.Input; /** * The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``. - * 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). + * 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). */ tagSpecifications?: pulumi.Input[]>; /** diff --git a/sdk/nodejs/ec2/securityGroupVpcAssociation.ts b/sdk/nodejs/ec2/securityGroupVpcAssociation.ts new file mode 100644 index 0000000000..b35b223b7a --- /dev/null +++ b/sdk/nodejs/ec2/securityGroupVpcAssociation.ts @@ -0,0 +1,109 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Resource type definition for the AWS::EC2::SecurityGroupVpcAssociation resource + */ +export class SecurityGroupVpcAssociation extends pulumi.CustomResource { + /** + * Get an existing SecurityGroupVpcAssociation resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): SecurityGroupVpcAssociation { + return new SecurityGroupVpcAssociation(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:ec2:SecurityGroupVpcAssociation'; + + /** + * Returns true if the given object is an instance of SecurityGroupVpcAssociation. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is SecurityGroupVpcAssociation { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === SecurityGroupVpcAssociation.__pulumiType; + } + + /** + * The group ID of the specified security group. + */ + public readonly groupId!: pulumi.Output; + /** + * The state of the security group vpc association. + */ + public /*out*/ readonly state!: pulumi.Output; + /** + * The reason for the state of the security group vpc association. + */ + public /*out*/ readonly stateReason!: pulumi.Output; + /** + * The ID of the VPC in the security group vpc association. + */ + public readonly vpcId!: pulumi.Output; + /** + * The owner of the VPC in the security group vpc association. + */ + public /*out*/ readonly vpcOwnerId!: pulumi.Output; + + /** + * Create a SecurityGroupVpcAssociation resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: SecurityGroupVpcAssociationArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.groupId === undefined) && !opts.urn) { + throw new Error("Missing required property 'groupId'"); + } + if ((!args || args.vpcId === undefined) && !opts.urn) { + throw new Error("Missing required property 'vpcId'"); + } + resourceInputs["groupId"] = args ? args.groupId : undefined; + resourceInputs["vpcId"] = args ? args.vpcId : undefined; + resourceInputs["state"] = undefined /*out*/; + resourceInputs["stateReason"] = undefined /*out*/; + resourceInputs["vpcOwnerId"] = undefined /*out*/; + } else { + resourceInputs["groupId"] = undefined /*out*/; + resourceInputs["state"] = undefined /*out*/; + resourceInputs["stateReason"] = undefined /*out*/; + resourceInputs["vpcId"] = undefined /*out*/; + resourceInputs["vpcOwnerId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["groupId", "vpcId"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(SecurityGroupVpcAssociation.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a SecurityGroupVpcAssociation resource. + */ +export interface SecurityGroupVpcAssociationArgs { + /** + * The group ID of the specified security group. + */ + groupId: pulumi.Input; + /** + * The ID of the VPC in the security group vpc association. + */ + vpcId: pulumi.Input; +} diff --git a/sdk/nodejs/ecs/getService.ts b/sdk/nodejs/ecs/getService.ts index a253446a14..c888057f28 100644 --- a/sdk/nodejs/ecs/getService.ts +++ b/sdk/nodejs/ecs/getService.ts @@ -39,7 +39,7 @@ export interface GetServiceResult { */ readonly capacityProviderStrategy?: outputs.ecs.ServiceCapacityProviderStrategyItem[]; /** - * Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks. + * Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods. */ readonly deploymentConfiguration?: outputs.ecs.ServiceDeploymentConfiguration; /** diff --git a/sdk/nodejs/ecs/service.ts b/sdk/nodejs/ecs/service.ts index 4100716956..3866c5e189 100644 --- a/sdk/nodejs/ecs/service.ts +++ b/sdk/nodejs/ecs/service.ts @@ -50,7 +50,7 @@ export class Service extends pulumi.CustomResource { */ public readonly cluster!: pulumi.Output; /** - * Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks. + * Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods. */ public readonly deploymentConfiguration!: pulumi.Output; /** @@ -253,7 +253,7 @@ export interface ServiceArgs { */ cluster?: pulumi.Input; /** - * Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks. + * Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods. */ deploymentConfiguration?: pulumi.Input; /** diff --git a/sdk/nodejs/elasticloadbalancingv2/getLoadBalancer.ts b/sdk/nodejs/elasticloadbalancingv2/getLoadBalancer.ts index daa4ed9f7f..5d3cc27e91 100644 --- a/sdk/nodejs/elasticloadbalancingv2/getLoadBalancer.ts +++ b/sdk/nodejs/elasticloadbalancingv2/getLoadBalancer.ts @@ -33,6 +33,7 @@ export interface GetLoadBalancerResult { * The DNS name for the load balancer. For example, `my-load-balancer-424835706.us-west-2.elb.amazonaws.com` . */ readonly dnsName?: string; + readonly enablePrefixForIpv6SourceNat?: string; /** * Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through privatelink. */ diff --git a/sdk/nodejs/elasticloadbalancingv2/loadBalancer.ts b/sdk/nodejs/elasticloadbalancingv2/loadBalancer.ts index 5cbc672386..4a17b363d6 100644 --- a/sdk/nodejs/elasticloadbalancingv2/loadBalancer.ts +++ b/sdk/nodejs/elasticloadbalancingv2/loadBalancer.ts @@ -45,6 +45,7 @@ export class LoadBalancer extends pulumi.CustomResource { * The DNS name for the load balancer. For example, `my-load-balancer-424835706.us-west-2.elb.amazonaws.com` . */ public /*out*/ readonly dnsName!: pulumi.Output; + public readonly enablePrefixForIpv6SourceNat!: pulumi.Output; /** * Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through privatelink. */ @@ -127,6 +128,7 @@ export class LoadBalancer extends pulumi.CustomResource { let resourceInputs: pulumi.Inputs = {}; opts = opts || {}; if (!opts.id) { + resourceInputs["enablePrefixForIpv6SourceNat"] = args ? args.enablePrefixForIpv6SourceNat : undefined; resourceInputs["enforceSecurityGroupInboundRulesOnPrivateLinkTraffic"] = args ? args.enforceSecurityGroupInboundRulesOnPrivateLinkTraffic : undefined; resourceInputs["ipAddressType"] = args ? args.ipAddressType : undefined; resourceInputs["loadBalancerAttributes"] = args ? args.loadBalancerAttributes : undefined; @@ -145,6 +147,7 @@ export class LoadBalancer extends pulumi.CustomResource { } else { resourceInputs["canonicalHostedZoneId"] = undefined /*out*/; resourceInputs["dnsName"] = undefined /*out*/; + resourceInputs["enablePrefixForIpv6SourceNat"] = undefined /*out*/; resourceInputs["enforceSecurityGroupInboundRulesOnPrivateLinkTraffic"] = undefined /*out*/; resourceInputs["ipAddressType"] = undefined /*out*/; resourceInputs["loadBalancerArn"] = undefined /*out*/; @@ -170,6 +173,7 @@ export class LoadBalancer extends pulumi.CustomResource { * The set of arguments for constructing a LoadBalancer resource. */ export interface LoadBalancerArgs { + enablePrefixForIpv6SourceNat?: pulumi.Input; /** * Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through privatelink. */ diff --git a/sdk/nodejs/gamelift/fleet.ts b/sdk/nodejs/gamelift/fleet.ts index 3e898a0d4f..479f24d4a4 100644 --- a/sdk/nodejs/gamelift/fleet.ts +++ b/sdk/nodejs/gamelift/fleet.ts @@ -58,7 +58,7 @@ export class Fleet extends pulumi.CustomResource { */ public readonly computeType!: pulumi.Output; /** - * *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* + * *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* * * Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . * @@ -265,7 +265,7 @@ export interface FleetArgs { */ computeType?: pulumi.Input; /** - * *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* + * *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* * * Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . * diff --git a/sdk/nodejs/logs/delivery.ts b/sdk/nodejs/logs/delivery.ts index 0131c08241..b328b7bab0 100644 --- a/sdk/nodejs/logs/delivery.ts +++ b/sdk/nodejs/logs/delivery.ts @@ -61,6 +61,22 @@ export class Delivery extends pulumi.CustomResource { * The name of the delivery source that is associated with this delivery. */ public readonly deliverySourceName!: pulumi.Output; + /** + * The field delimiter to use between record fields when the final output format of a delivery is in Plain , W3C , or Raw format. + */ + public readonly fieldDelimiter!: pulumi.Output; + /** + * 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. + */ + public readonly recordFields!: pulumi.Output; + /** + * This parameter causes the S3 objects that contain delivered logs to use a prefix structure that allows for integration with Apache Hive. + */ + public readonly s3EnableHiveCompatiblePath!: pulumi.Output; + /** + * 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. + */ + public readonly s3SuffixPath!: pulumi.Output; /** * The tags that have been assigned to this delivery. */ @@ -85,6 +101,10 @@ export class Delivery extends pulumi.CustomResource { } resourceInputs["deliveryDestinationArn"] = args ? args.deliveryDestinationArn : undefined; resourceInputs["deliverySourceName"] = args ? args.deliverySourceName : undefined; + resourceInputs["fieldDelimiter"] = args ? args.fieldDelimiter : undefined; + resourceInputs["recordFields"] = args ? args.recordFields : undefined; + resourceInputs["s3EnableHiveCompatiblePath"] = args ? args.s3EnableHiveCompatiblePath : undefined; + resourceInputs["s3SuffixPath"] = args ? args.s3SuffixPath : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["arn"] = undefined /*out*/; resourceInputs["deliveryDestinationType"] = undefined /*out*/; @@ -95,6 +115,10 @@ export class Delivery extends pulumi.CustomResource { resourceInputs["deliveryDestinationType"] = undefined /*out*/; resourceInputs["deliveryId"] = undefined /*out*/; resourceInputs["deliverySourceName"] = undefined /*out*/; + resourceInputs["fieldDelimiter"] = undefined /*out*/; + resourceInputs["recordFields"] = undefined /*out*/; + resourceInputs["s3EnableHiveCompatiblePath"] = undefined /*out*/; + resourceInputs["s3SuffixPath"] = undefined /*out*/; resourceInputs["tags"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -116,6 +140,22 @@ export interface DeliveryArgs { * The name of the delivery source that is associated with this delivery. */ deliverySourceName: pulumi.Input; + /** + * The field delimiter to use between record fields when the final output format of a delivery is in Plain , W3C , or Raw format. + */ + fieldDelimiter?: pulumi.Input; + /** + * 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. + */ + recordFields?: pulumi.Input[]>; + /** + * This parameter causes the S3 objects that contain delivered logs to use a prefix structure that allows for integration with Apache Hive. + */ + s3EnableHiveCompatiblePath?: pulumi.Input; + /** + * 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. + */ + s3SuffixPath?: pulumi.Input; /** * The tags that have been assigned to this delivery. */ diff --git a/sdk/nodejs/logs/deliveryDestination.ts b/sdk/nodejs/logs/deliveryDestination.ts index acd733fdb2..dcd60083ee 100644 --- a/sdk/nodejs/logs/deliveryDestination.ts +++ b/sdk/nodejs/logs/deliveryDestination.ts @@ -63,6 +63,10 @@ export class DeliveryDestination extends pulumi.CustomResource { * The name of this delivery destination. */ public readonly name!: pulumi.Output; + /** + * The format of the logs that are sent to this delivery destination. + */ + public readonly outputFormat!: pulumi.Output; /** * The tags that have been assigned to this delivery destination. */ @@ -82,6 +86,7 @@ export class DeliveryDestination extends pulumi.CustomResource { resourceInputs["deliveryDestinationPolicy"] = args ? args.deliveryDestinationPolicy : undefined; resourceInputs["destinationResourceArn"] = args ? args.destinationResourceArn : undefined; resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["outputFormat"] = args ? args.outputFormat : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["arn"] = undefined /*out*/; resourceInputs["deliveryDestinationType"] = undefined /*out*/; @@ -91,10 +96,11 @@ export class DeliveryDestination extends pulumi.CustomResource { resourceInputs["deliveryDestinationType"] = undefined /*out*/; resourceInputs["destinationResourceArn"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; + resourceInputs["outputFormat"] = undefined /*out*/; resourceInputs["tags"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const replaceOnChanges = { replaceOnChanges: ["destinationResourceArn", "name"] }; + const replaceOnChanges = { replaceOnChanges: ["destinationResourceArn", "name", "outputFormat"] }; opts = pulumi.mergeOptions(opts, replaceOnChanges); super(DeliveryDestination.__pulumiType, name, resourceInputs, opts); } @@ -120,6 +126,10 @@ export interface DeliveryDestinationArgs { * The name of this delivery destination. */ name?: pulumi.Input; + /** + * The format of the logs that are sent to this delivery destination. + */ + outputFormat?: pulumi.Input; /** * The tags that have been assigned to this delivery destination. */ diff --git a/sdk/nodejs/logs/getDelivery.ts b/sdk/nodejs/logs/getDelivery.ts index 824b6c4522..9f9ae3ecc9 100644 --- a/sdk/nodejs/logs/getDelivery.ts +++ b/sdk/nodejs/logs/getDelivery.ts @@ -41,6 +41,22 @@ export interface GetDeliveryResult { * The unique ID that identifies this delivery in your account. */ readonly deliveryId?: string; + /** + * The field delimiter to use between record fields when the final output format of a delivery is in Plain , W3C , or Raw format. + */ + readonly fieldDelimiter?: string; + /** + * 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. + */ + readonly recordFields?: string[]; + /** + * This parameter causes the S3 objects that contain delivered logs to use a prefix structure that allows for integration with Apache Hive. + */ + readonly s3EnableHiveCompatiblePath?: boolean; + /** + * 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. + */ + readonly s3SuffixPath?: string; /** * The tags that have been assigned to this delivery. */ diff --git a/sdk/nodejs/nimblestudio/getLaunchProfile.ts b/sdk/nodejs/nimblestudio/getLaunchProfile.ts index f4c5837acd..0e42adf655 100644 --- a/sdk/nodejs/nimblestudio/getLaunchProfile.ts +++ b/sdk/nodejs/nimblestudio/getLaunchProfile.ts @@ -8,13 +8,12 @@ import * as enums from "../types/enums"; import * as utilities from "../utilities"; /** - * Represents a launch profile which delegates access to a collection of studio components to studio users + * Resource Type definition for AWS::NimbleStudio::LaunchProfile */ export function getLaunchProfile(args: GetLaunchProfileArgs, opts?: pulumi.InvokeOptions): Promise { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("aws-native:nimblestudio:getLaunchProfile", { "launchProfileId": args.launchProfileId, - "studioId": args.studioId, }, opts); } @@ -23,15 +22,11 @@ export interface GetLaunchProfileArgs { * The unique identifier for the launch profile resource. */ launchProfileId: string; - /** - *

The studio ID.

- */ - studioId: string; } export interface GetLaunchProfileResult { /** - *

The description.

+ * A human-readable description of the launch profile. */ readonly description?: string; /** @@ -39,12 +34,11 @@ export interface GetLaunchProfileResult { */ readonly launchProfileId?: string; /** - *

The version number of the protocol that is used by the launch profile. The only valid - * version is "2021-03-31".

+ * The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31". */ readonly launchProfileProtocolVersions?: string[]; /** - *

The name for the launch profile.

+ * A friendly name for the launch profile. */ readonly name?: string; /** @@ -52,19 +46,17 @@ export interface GetLaunchProfileResult { */ readonly streamConfiguration?: outputs.nimblestudio.LaunchProfileStreamConfiguration; /** - *

Unique identifiers for a collection of studio components that can be used with this - * launch profile.

+ * Unique identifiers for a collection of studio components that can be used with this launch profile. */ readonly studioComponentIds?: string[]; } /** - * Represents a launch profile which delegates access to a collection of studio components to studio users + * Resource Type definition for AWS::NimbleStudio::LaunchProfile */ export function getLaunchProfileOutput(args: GetLaunchProfileOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws-native:nimblestudio:getLaunchProfile", { "launchProfileId": args.launchProfileId, - "studioId": args.studioId, }, opts); } @@ -73,8 +65,4 @@ export interface GetLaunchProfileOutputArgs { * The unique identifier for the launch profile resource. */ launchProfileId: pulumi.Input; - /** - *

The studio ID.

- */ - studioId: pulumi.Input; } diff --git a/sdk/nodejs/nimblestudio/getStreamingImage.ts b/sdk/nodejs/nimblestudio/getStreamingImage.ts index e95ec5b3e6..54b6bfe083 100644 --- a/sdk/nodejs/nimblestudio/getStreamingImage.ts +++ b/sdk/nodejs/nimblestudio/getStreamingImage.ts @@ -8,13 +8,12 @@ import * as enums from "../types/enums"; import * as utilities from "../utilities"; /** - * Represents a streaming session machine image that can be used to launch a streaming session + * Resource Type definition for AWS::NimbleStudio::StreamingImage */ export function getStreamingImage(args: GetStreamingImageArgs, opts?: pulumi.InvokeOptions): Promise { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("aws-native:nimblestudio:getStreamingImage", { "streamingImageId": args.streamingImageId, - "studioId": args.studioId, }, opts); } @@ -23,32 +22,30 @@ export interface GetStreamingImageArgs { * The unique identifier for the streaming image resource. */ streamingImageId: string; - /** - *

The studioId.

- */ - studioId: string; } export interface GetStreamingImageResult { /** - *

A human-readable description of the streaming image.

+ * A human-readable description of the streaming image. */ readonly description?: string; readonly encryptionConfiguration?: outputs.nimblestudio.StreamingImageEncryptionConfiguration; + readonly encryptionConfigurationKeyArn?: string; + readonly encryptionConfigurationKeyType?: string; /** - *

The list of EULAs that must be accepted before a Streaming Session can be started using this streaming image.

+ * The list of IDs of EULAs that must be accepted before a streaming session can be started using this streaming image. */ readonly eulaIds?: string[]; /** - *

A friendly name for a streaming image resource.

+ * A friendly name for a streaming image resource. */ readonly name?: string; /** - *

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.

+ * The owner of the streaming image, either the studioId that contains the streaming image or 'amazon' for images that are provided by . */ readonly owner?: string; /** - *

The platform of the streaming image, either WINDOWS or LINUX.

+ * The platform of the streaming image, either WINDOWS or LINUX. */ readonly platform?: string; /** @@ -57,13 +54,12 @@ export interface GetStreamingImageResult { readonly streamingImageId?: string; } /** - * Represents a streaming session machine image that can be used to launch a streaming session + * Resource Type definition for AWS::NimbleStudio::StreamingImage */ export function getStreamingImageOutput(args: GetStreamingImageOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws-native:nimblestudio:getStreamingImage", { "streamingImageId": args.streamingImageId, - "studioId": args.studioId, }, opts); } @@ -72,8 +68,4 @@ export interface GetStreamingImageOutputArgs { * The unique identifier for the streaming image resource. */ streamingImageId: pulumi.Input; - /** - *

The studioId.

- */ - studioId: pulumi.Input; } diff --git a/sdk/nodejs/nimblestudio/getStudio.ts b/sdk/nodejs/nimblestudio/getStudio.ts index f3338cce7f..fb0b2043f4 100644 --- a/sdk/nodejs/nimblestudio/getStudio.ts +++ b/sdk/nodejs/nimblestudio/getStudio.ts @@ -8,7 +8,7 @@ import * as enums from "../types/enums"; import * as utilities from "../utilities"; /** - * Represents a studio that contains other Nimble Studio resources + * Resource Type definition for AWS::NimbleStudio::Studio */ export function getStudio(args: GetStudioArgs, opts?: pulumi.InvokeOptions): Promise { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); @@ -26,19 +26,19 @@ export interface GetStudioArgs { export interface GetStudioResult { /** - *

The IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.

+ * The IAM role that studio admins assume when logging in to the Nimble Studio portal. */ readonly adminRoleArn?: string; /** - *

A friendly name for the studio.

+ * A friendly name for the studio. */ readonly displayName?: string; /** - *

The Amazon Web Services Region where the studio resource is located.

+ * The AWS Region where the studio resource is located. For example, `us-west-2` . */ readonly homeRegion?: string; /** - *

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.

+ * 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. */ readonly ssoClientId?: string; /** @@ -50,16 +50,16 @@ export interface GetStudioResult { */ readonly studioId?: string; /** - *

The address of the web page for the studio.

+ * The unique identifier for the studio resource. */ readonly studioUrl?: string; /** - *

The IAM role that Studio Users will assume when logging in to the Nimble Studio portal.

+ * The IAM role that studio users assume when logging in to the Nimble Studio portal. */ readonly userRoleArn?: string; } /** - * Represents a studio that contains other Nimble Studio resources + * Resource Type definition for AWS::NimbleStudio::Studio */ export function getStudioOutput(args: GetStudioOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); diff --git a/sdk/nodejs/nimblestudio/getStudioComponent.ts b/sdk/nodejs/nimblestudio/getStudioComponent.ts index e893325702..311e6a88bf 100644 --- a/sdk/nodejs/nimblestudio/getStudioComponent.ts +++ b/sdk/nodejs/nimblestudio/getStudioComponent.ts @@ -8,13 +8,12 @@ import * as enums from "../types/enums"; import * as utilities from "../utilities"; /** - * Represents a studio component that connects a non-Nimble Studio resource in your account to your studio + * Resource Type definition for AWS::NimbleStudio::StudioComponent */ export function getStudioComponent(args: GetStudioComponentArgs, opts?: pulumi.InvokeOptions): Promise { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("aws-native:nimblestudio:getStudioComponent", { "studioComponentId": args.studioComponentId, - "studioId": args.studioId, }, opts); } @@ -23,45 +22,33 @@ export interface GetStudioComponentArgs { * The unique identifier for the studio component resource. */ studioComponentId: string; - /** - *

The studio ID.

- */ - studioId: string; } export interface GetStudioComponentResult { /** * The configuration of the studio component, based on component type. */ - readonly configuration?: outputs.nimblestudio.StudioComponentConfiguration0Properties | outputs.nimblestudio.StudioComponentConfiguration1Properties | outputs.nimblestudio.StudioComponentConfiguration2Properties | outputs.nimblestudio.StudioComponentConfiguration3Properties; + readonly configuration?: outputs.nimblestudio.StudioComponentConfiguration; /** - *

The description.

+ * A human-readable description for the studio component resource. */ readonly description?: string; /** - *

The EC2 security groups that control access to the studio component.

+ * The EC2 security groups that control access to the studio component. */ readonly ec2SecurityGroupIds?: string[]; /** - *

Initialization scripts for studio components.

+ * Initialization scripts for studio components. */ readonly initializationScripts?: outputs.nimblestudio.StudioComponentInitializationScript[]; /** - *

The name for the studio component.

+ * A friendly name for the studio component resource. */ readonly name?: string; /** - * An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running. - */ - readonly runtimeRoleArn?: string; - /** - *

Parameters for the studio component scripts.

+ * Parameters for the studio component scripts. */ readonly scriptParameters?: outputs.nimblestudio.StudioComponentScriptParameterKeyValue[]; - /** - * 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. - */ - readonly secureInitializationRoleArn?: string; /** * The unique identifier for the studio component resource. */ @@ -69,16 +56,15 @@ export interface GetStudioComponentResult { /** * The type of the studio component. */ - readonly type?: enums.nimblestudio.StudioComponentType; + readonly type?: string; } /** - * Represents a studio component that connects a non-Nimble Studio resource in your account to your studio + * Resource Type definition for AWS::NimbleStudio::StudioComponent */ export function getStudioComponentOutput(args: GetStudioComponentOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws-native:nimblestudio:getStudioComponent", { "studioComponentId": args.studioComponentId, - "studioId": args.studioId, }, opts); } @@ -87,8 +73,4 @@ export interface GetStudioComponentOutputArgs { * The unique identifier for the studio component resource. */ studioComponentId: pulumi.Input; - /** - *

The studio ID.

- */ - studioId: pulumi.Input; } diff --git a/sdk/nodejs/nimblestudio/index.ts b/sdk/nodejs/nimblestudio/index.ts index bf9b9e1385..842ef9747d 100644 --- a/sdk/nodejs/nimblestudio/index.ts +++ b/sdk/nodejs/nimblestudio/index.ts @@ -46,9 +46,6 @@ export const StudioComponent: typeof import("./studioComponent").StudioComponent utilities.lazyLoad(exports, ["StudioComponent"], () => require("./studioComponent")); -// Export enums: -export * from "../types/enums/nimblestudio"; - const _module = { version: utilities.getVersion(), construct: (name: string, type: string, urn: string): pulumi.Resource => { diff --git a/sdk/nodejs/nimblestudio/launchProfile.ts b/sdk/nodejs/nimblestudio/launchProfile.ts index 72f638441e..4a742aa4c6 100644 --- a/sdk/nodejs/nimblestudio/launchProfile.ts +++ b/sdk/nodejs/nimblestudio/launchProfile.ts @@ -8,7 +8,7 @@ import * as enums from "../types/enums"; import * as utilities from "../utilities"; /** - * Represents a launch profile which delegates access to a collection of studio components to studio users + * Resource Type definition for AWS::NimbleStudio::LaunchProfile */ export class LaunchProfile extends pulumi.CustomResource { /** @@ -38,12 +38,11 @@ export class LaunchProfile extends pulumi.CustomResource { } /** - *

The description.

+ * A human-readable description of the launch profile. */ public readonly description!: pulumi.Output; /** - *

Specifies the IDs of the EC2 subnets where streaming sessions will be accessible from. - * These subnets must support the specified instance types.

+ * Unique identifiers for a collection of EC2 subnets. */ public readonly ec2SubnetIds!: pulumi.Output; /** @@ -51,12 +50,11 @@ export class LaunchProfile extends pulumi.CustomResource { */ public /*out*/ readonly launchProfileId!: pulumi.Output; /** - *

The version number of the protocol that is used by the launch profile. The only valid - * version is "2021-03-31".

+ * The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31". */ public readonly launchProfileProtocolVersions!: pulumi.Output; /** - *

The name for the launch profile.

+ * A friendly name for the launch profile. */ public readonly name!: pulumi.Output; /** @@ -64,12 +62,11 @@ export class LaunchProfile extends pulumi.CustomResource { */ public readonly streamConfiguration!: pulumi.Output; /** - *

Unique identifiers for a collection of studio components that can be used with this - * launch profile.

+ * Unique identifiers for a collection of studio components that can be used with this launch profile. */ public readonly studioComponentIds!: pulumi.Output; /** - *

The studio ID.

+ * The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. */ public readonly studioId!: pulumi.Output; /** @@ -137,21 +134,19 @@ export class LaunchProfile extends pulumi.CustomResource { */ export interface LaunchProfileArgs { /** - *

The description.

+ * A human-readable description of the launch profile. */ description?: pulumi.Input; /** - *

Specifies the IDs of the EC2 subnets where streaming sessions will be accessible from. - * These subnets must support the specified instance types.

+ * Unique identifiers for a collection of EC2 subnets. */ ec2SubnetIds: pulumi.Input[]>; /** - *

The version number of the protocol that is used by the launch profile. The only valid - * version is "2021-03-31".

+ * The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31". */ launchProfileProtocolVersions: pulumi.Input[]>; /** - *

The name for the launch profile.

+ * A friendly name for the launch profile. */ name?: pulumi.Input; /** @@ -159,12 +154,11 @@ export interface LaunchProfileArgs { */ streamConfiguration: pulumi.Input; /** - *

Unique identifiers for a collection of studio components that can be used with this - * launch profile.

+ * Unique identifiers for a collection of studio components that can be used with this launch profile. */ studioComponentIds: pulumi.Input[]>; /** - *

The studio ID.

+ * The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. */ studioId: pulumi.Input; /** diff --git a/sdk/nodejs/nimblestudio/streamingImage.ts b/sdk/nodejs/nimblestudio/streamingImage.ts index aab9f232c1..e5832c1f1f 100644 --- a/sdk/nodejs/nimblestudio/streamingImage.ts +++ b/sdk/nodejs/nimblestudio/streamingImage.ts @@ -8,7 +8,7 @@ import * as enums from "../types/enums"; import * as utilities from "../utilities"; /** - * Represents a streaming session machine image that can be used to launch a streaming session + * Resource Type definition for AWS::NimbleStudio::StreamingImage */ export class StreamingImage extends pulumi.CustomResource { /** @@ -38,28 +38,30 @@ export class StreamingImage extends pulumi.CustomResource { } /** - *

A human-readable description of the streaming image.

+ * A human-readable description of the streaming image. */ public readonly description!: pulumi.Output; /** - *

The ID of an EC2 machine image with which to create this streaming image.

+ * The ID of an EC2 machine image with which to create the streaming image. */ public readonly ec2ImageId!: pulumi.Output; public /*out*/ readonly encryptionConfiguration!: pulumi.Output; + public readonly encryptionConfigurationKeyArn!: pulumi.Output; + public readonly encryptionConfigurationKeyType!: pulumi.Output; /** - *

The list of EULAs that must be accepted before a Streaming Session can be started using this streaming image.

+ * The list of IDs of EULAs that must be accepted before a streaming session can be started using this streaming image. */ public /*out*/ readonly eulaIds!: pulumi.Output; /** - *

A friendly name for a streaming image resource.

+ * A friendly name for a streaming image resource. */ public readonly name!: pulumi.Output; /** - *

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.

+ * The owner of the streaming image, either the studioId that contains the streaming image or 'amazon' for images that are provided by . */ public /*out*/ readonly owner!: pulumi.Output; /** - *

The platform of the streaming image, either WINDOWS or LINUX.

+ * The platform of the streaming image, either WINDOWS or LINUX. */ public /*out*/ readonly platform!: pulumi.Output; /** @@ -67,7 +69,7 @@ export class StreamingImage extends pulumi.CustomResource { */ public /*out*/ readonly streamingImageId!: pulumi.Output; /** - *

The studioId.

+ * The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. */ public readonly studioId!: pulumi.Output; /** @@ -96,6 +98,8 @@ export class StreamingImage extends pulumi.CustomResource { } resourceInputs["description"] = args ? args.description : undefined; resourceInputs["ec2ImageId"] = args ? args.ec2ImageId : undefined; + resourceInputs["encryptionConfigurationKeyArn"] = args ? args.encryptionConfigurationKeyArn : undefined; + resourceInputs["encryptionConfigurationKeyType"] = args ? args.encryptionConfigurationKeyType : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["studioId"] = args ? args.studioId : undefined; resourceInputs["tags"] = args ? args.tags : undefined; @@ -108,6 +112,8 @@ export class StreamingImage extends pulumi.CustomResource { resourceInputs["description"] = undefined /*out*/; resourceInputs["ec2ImageId"] = undefined /*out*/; resourceInputs["encryptionConfiguration"] = undefined /*out*/; + resourceInputs["encryptionConfigurationKeyArn"] = undefined /*out*/; + resourceInputs["encryptionConfigurationKeyType"] = undefined /*out*/; resourceInputs["eulaIds"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; resourceInputs["owner"] = undefined /*out*/; @@ -128,19 +134,21 @@ export class StreamingImage extends pulumi.CustomResource { */ export interface StreamingImageArgs { /** - *

A human-readable description of the streaming image.

+ * A human-readable description of the streaming image. */ description?: pulumi.Input; /** - *

The ID of an EC2 machine image with which to create this streaming image.

+ * The ID of an EC2 machine image with which to create the streaming image. */ ec2ImageId: pulumi.Input; + encryptionConfigurationKeyArn?: pulumi.Input; + encryptionConfigurationKeyType?: pulumi.Input; /** - *

A friendly name for a streaming image resource.

+ * A friendly name for a streaming image resource. */ name?: pulumi.Input; /** - *

The studioId.

+ * The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. */ studioId: pulumi.Input; /** diff --git a/sdk/nodejs/nimblestudio/studio.ts b/sdk/nodejs/nimblestudio/studio.ts index ba65ec66de..ee41aece4a 100644 --- a/sdk/nodejs/nimblestudio/studio.ts +++ b/sdk/nodejs/nimblestudio/studio.ts @@ -8,7 +8,7 @@ import * as enums from "../types/enums"; import * as utilities from "../utilities"; /** - * Represents a studio that contains other Nimble Studio resources + * Resource Type definition for AWS::NimbleStudio::Studio */ export class Studio extends pulumi.CustomResource { /** @@ -38,19 +38,19 @@ export class Studio extends pulumi.CustomResource { } /** - *

The IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.

+ * The IAM role that studio admins assume when logging in to the Nimble Studio portal. */ public readonly adminRoleArn!: pulumi.Output; /** - *

A friendly name for the studio.

+ * A friendly name for the studio. */ public readonly displayName!: pulumi.Output; /** - *

The Amazon Web Services Region where the studio resource is located.

+ * The AWS Region where the studio resource is located. For example, `us-west-2` . */ public /*out*/ readonly homeRegion!: pulumi.Output; /** - *

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.

+ * 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. */ public /*out*/ readonly ssoClientId!: pulumi.Output; /** @@ -62,11 +62,11 @@ export class Studio extends pulumi.CustomResource { */ public /*out*/ readonly studioId!: pulumi.Output; /** - *

The studio name that is used in the URL of the Nimble Studio portal when accessed by Nimble Studio users.

+ * The name of the studio, as included in the URL when accessing it in the Nimble Studio portal. */ public readonly studioName!: pulumi.Output; /** - *

The address of the web page for the studio.

+ * The unique identifier for the studio resource. */ public /*out*/ readonly studioUrl!: pulumi.Output; /** @@ -76,7 +76,7 @@ export class Studio extends pulumi.CustomResource { */ public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; /** - *

The IAM role that Studio Users will assume when logging in to the Nimble Studio portal.

+ * The IAM role that studio users assume when logging in to the Nimble Studio portal. */ public readonly userRoleArn!: pulumi.Output; @@ -134,11 +134,11 @@ export class Studio extends pulumi.CustomResource { */ export interface StudioArgs { /** - *

The IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.

+ * The IAM role that studio admins assume when logging in to the Nimble Studio portal. */ adminRoleArn: pulumi.Input; /** - *

A friendly name for the studio.

+ * A friendly name for the studio. */ displayName: pulumi.Input; /** @@ -146,7 +146,7 @@ export interface StudioArgs { */ studioEncryptionConfiguration?: pulumi.Input; /** - *

The studio name that is used in the URL of the Nimble Studio portal when accessed by Nimble Studio users.

+ * The name of the studio, as included in the URL when accessing it in the Nimble Studio portal. */ studioName?: pulumi.Input; /** @@ -156,7 +156,7 @@ export interface StudioArgs { */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** - *

The IAM role that Studio Users will assume when logging in to the Nimble Studio portal.

+ * The IAM role that studio users assume when logging in to the Nimble Studio portal. */ userRoleArn: pulumi.Input; } diff --git a/sdk/nodejs/nimblestudio/studioComponent.ts b/sdk/nodejs/nimblestudio/studioComponent.ts index cea39f12aa..58795d8d52 100644 --- a/sdk/nodejs/nimblestudio/studioComponent.ts +++ b/sdk/nodejs/nimblestudio/studioComponent.ts @@ -8,7 +8,7 @@ import * as enums from "../types/enums"; import * as utilities from "../utilities"; /** - * Represents a studio component that connects a non-Nimble Studio resource in your account to your studio + * Resource Type definition for AWS::NimbleStudio::StudioComponent */ export class StudioComponent extends pulumi.CustomResource { /** @@ -40,47 +40,39 @@ export class StudioComponent extends pulumi.CustomResource { /** * The configuration of the studio component, based on component type. */ - public readonly configuration!: pulumi.Output; + public readonly configuration!: pulumi.Output; /** - *

The description.

+ * A human-readable description for the studio component resource. */ public readonly description!: pulumi.Output; /** - *

The EC2 security groups that control access to the studio component.

+ * The EC2 security groups that control access to the studio component. */ public readonly ec2SecurityGroupIds!: pulumi.Output; /** - *

Initialization scripts for studio components.

+ * Initialization scripts for studio components. */ public readonly initializationScripts!: pulumi.Output; /** - *

The name for the studio component.

+ * A friendly name for the studio component resource. */ public readonly name!: pulumi.Output; /** - * An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running. - */ - public readonly runtimeRoleArn!: pulumi.Output; - /** - *

Parameters for the studio component scripts.

+ * Parameters for the studio component scripts. */ public readonly scriptParameters!: pulumi.Output; - /** - * 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. - */ - public readonly secureInitializationRoleArn!: pulumi.Output; /** * The unique identifier for the studio component resource. */ public /*out*/ readonly studioComponentId!: pulumi.Output; /** - *

The studio ID.

+ * The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. */ public readonly studioId!: pulumi.Output; /** * The specific subtype of a studio component. */ - public readonly subtype!: pulumi.Output; + public readonly subtype!: pulumi.Output; /** * An array of key-value pairs to apply to this resource. * @@ -90,7 +82,7 @@ export class StudioComponent extends pulumi.CustomResource { /** * The type of the studio component. */ - public readonly type!: pulumi.Output; + public readonly type!: pulumi.Output; /** * Create a StudioComponent resource with the given unique name, arguments, and options. @@ -114,9 +106,7 @@ export class StudioComponent extends pulumi.CustomResource { resourceInputs["ec2SecurityGroupIds"] = args ? args.ec2SecurityGroupIds : undefined; resourceInputs["initializationScripts"] = args ? args.initializationScripts : undefined; resourceInputs["name"] = args ? args.name : undefined; - resourceInputs["runtimeRoleArn"] = args ? args.runtimeRoleArn : undefined; resourceInputs["scriptParameters"] = args ? args.scriptParameters : undefined; - resourceInputs["secureInitializationRoleArn"] = args ? args.secureInitializationRoleArn : undefined; resourceInputs["studioId"] = args ? args.studioId : undefined; resourceInputs["subtype"] = args ? args.subtype : undefined; resourceInputs["tags"] = args ? args.tags : undefined; @@ -128,9 +118,7 @@ export class StudioComponent extends pulumi.CustomResource { resourceInputs["ec2SecurityGroupIds"] = undefined /*out*/; resourceInputs["initializationScripts"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; - resourceInputs["runtimeRoleArn"] = undefined /*out*/; resourceInputs["scriptParameters"] = undefined /*out*/; - resourceInputs["secureInitializationRoleArn"] = undefined /*out*/; resourceInputs["studioComponentId"] = undefined /*out*/; resourceInputs["studioId"] = undefined /*out*/; resourceInputs["subtype"] = undefined /*out*/; @@ -151,43 +139,35 @@ export interface StudioComponentArgs { /** * The configuration of the studio component, based on component type. */ - configuration?: pulumi.Input; + configuration?: pulumi.Input; /** - *

The description.

+ * A human-readable description for the studio component resource. */ description?: pulumi.Input; /** - *

The EC2 security groups that control access to the studio component.

+ * The EC2 security groups that control access to the studio component. */ ec2SecurityGroupIds?: pulumi.Input[]>; /** - *

Initialization scripts for studio components.

+ * Initialization scripts for studio components. */ initializationScripts?: pulumi.Input[]>; /** - *

The name for the studio component.

+ * A friendly name for the studio component resource. */ name?: pulumi.Input; /** - * An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running. - */ - runtimeRoleArn?: pulumi.Input; - /** - *

Parameters for the studio component scripts.

+ * Parameters for the studio component scripts. */ scriptParameters?: pulumi.Input[]>; /** - * 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. - */ - secureInitializationRoleArn?: pulumi.Input; - /** - *

The studio ID.

+ * The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. */ studioId: pulumi.Input; /** * The specific subtype of a studio component. */ - subtype?: pulumi.Input; + subtype?: pulumi.Input; /** * An array of key-value pairs to apply to this resource. * @@ -197,5 +177,5 @@ export interface StudioComponentArgs { /** * The type of the studio component. */ - type: pulumi.Input; + type: pulumi.Input; } diff --git a/sdk/nodejs/rds/dbCluster.ts b/sdk/nodejs/rds/dbCluster.ts index 824b7d2479..3dea698e00 100644 --- a/sdk/nodejs/rds/dbCluster.ts +++ b/sdk/nodejs/rds/dbCluster.ts @@ -91,6 +91,10 @@ export class DbCluster extends pulumi.CustomResource { * Valid for: Aurora DB clusters and Multi-AZ DB clusters */ public readonly backupRetentionPeriod!: pulumi.Output; + /** + * 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. + */ + public readonly clusterScalabilityType!: pulumi.Output; /** * 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. * Valid for: Aurora DB clusters and Multi-AZ DB clusters @@ -563,6 +567,7 @@ export class DbCluster extends pulumi.CustomResource { resourceInputs["availabilityZones"] = args ? args.availabilityZones : undefined; resourceInputs["backtrackWindow"] = args ? args.backtrackWindow : undefined; resourceInputs["backupRetentionPeriod"] = args ? args.backupRetentionPeriod : undefined; + resourceInputs["clusterScalabilityType"] = args ? args.clusterScalabilityType : undefined; resourceInputs["copyTagsToSnapshot"] = args ? args.copyTagsToSnapshot : undefined; resourceInputs["databaseName"] = args ? args.databaseName : undefined; resourceInputs["dbClusterIdentifier"] = args ? args.dbClusterIdentifier : undefined; @@ -625,6 +630,7 @@ export class DbCluster extends pulumi.CustomResource { resourceInputs["availabilityZones"] = undefined /*out*/; resourceInputs["backtrackWindow"] = undefined /*out*/; resourceInputs["backupRetentionPeriod"] = undefined /*out*/; + resourceInputs["clusterScalabilityType"] = undefined /*out*/; resourceInputs["copyTagsToSnapshot"] = undefined /*out*/; resourceInputs["databaseName"] = undefined /*out*/; resourceInputs["dbClusterArn"] = undefined /*out*/; @@ -682,7 +688,7 @@ export class DbCluster extends pulumi.CustomResource { resourceInputs["vpcSecurityGroupIds"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const replaceOnChanges = { replaceOnChanges: ["availabilityZones[*]", "databaseName", "dbClusterIdentifier", "dbSubnetGroupName", "dbSystemId", "engineMode", "kmsKeyId", "publiclyAccessible", "restoreToTime", "restoreType", "snapshotIdentifier", "sourceDbClusterIdentifier", "sourceRegion", "storageEncrypted", "useLatestRestorableTime"] }; + const replaceOnChanges = { replaceOnChanges: ["availabilityZones[*]", "clusterScalabilityType", "databaseName", "dbClusterIdentifier", "dbSubnetGroupName", "dbSystemId", "engineMode", "kmsKeyId", "publiclyAccessible", "restoreToTime", "restoreType", "snapshotIdentifier", "sourceDbClusterIdentifier", "sourceRegion", "storageEncrypted", "useLatestRestorableTime"] }; opts = pulumi.mergeOptions(opts, replaceOnChanges); super(DbCluster.__pulumiType, name, resourceInputs, opts); } @@ -730,6 +736,10 @@ export interface DbClusterArgs { * Valid for: Aurora DB clusters and Multi-AZ DB clusters */ backupRetentionPeriod?: pulumi.Input; + /** + * 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. + */ + clusterScalabilityType?: pulumi.Input; /** * 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. * Valid for: Aurora DB clusters and Multi-AZ DB clusters diff --git a/sdk/nodejs/rds/dbShardGroup.ts b/sdk/nodejs/rds/dbShardGroup.ts new file mode 100644 index 0000000000..7ae0465216 --- /dev/null +++ b/sdk/nodejs/rds/dbShardGroup.ts @@ -0,0 +1,153 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * The AWS::RDS::DBShardGroup resource creates an Amazon Aurora Limitless DB Shard Group. + */ +export class DbShardGroup extends pulumi.CustomResource { + /** + * Get an existing DbShardGroup resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): DbShardGroup { + return new DbShardGroup(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:rds:DbShardGroup'; + + /** + * Returns true if the given object is an instance of DbShardGroup. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is DbShardGroup { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DbShardGroup.__pulumiType; + } + + /** + * Specifies whether to create standby instances for the DB shard group. + */ + public readonly computeRedundancy!: pulumi.Output; + /** + * The name of the primary DB cluster for the DB shard group. + */ + public readonly dbClusterIdentifier!: pulumi.Output; + /** + * The name of the DB shard group. + */ + public readonly dbShardGroupIdentifier!: pulumi.Output; + /** + * The Amazon Web Services Region-unique, immutable identifier for the DB shard group. + */ + public /*out*/ readonly dbShardGroupResourceId!: pulumi.Output; + /** + * The connection endpoint for the DB shard group. + */ + public /*out*/ readonly endpoint!: pulumi.Output; + /** + * The maximum capacity of the DB shard group in Aurora capacity units (ACUs). + */ + public readonly maxAcu!: pulumi.Output; + /** + * The minimum capacity of the DB shard group in Aurora capacity units (ACUs). + */ + public readonly minAcu!: pulumi.Output; + /** + * Indicates whether the DB shard group is publicly accessible. + */ + public readonly publiclyAccessible!: pulumi.Output; + /** + * An array of key-value pairs to apply to this resource. + */ + public readonly tags!: pulumi.Output; + + /** + * Create a DbShardGroup resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: DbShardGroupArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.dbClusterIdentifier === undefined) && !opts.urn) { + throw new Error("Missing required property 'dbClusterIdentifier'"); + } + if ((!args || args.maxAcu === undefined) && !opts.urn) { + throw new Error("Missing required property 'maxAcu'"); + } + resourceInputs["computeRedundancy"] = args ? args.computeRedundancy : undefined; + resourceInputs["dbClusterIdentifier"] = args ? args.dbClusterIdentifier : undefined; + resourceInputs["dbShardGroupIdentifier"] = args ? args.dbShardGroupIdentifier : undefined; + resourceInputs["maxAcu"] = args ? args.maxAcu : undefined; + resourceInputs["minAcu"] = args ? args.minAcu : undefined; + resourceInputs["publiclyAccessible"] = args ? args.publiclyAccessible : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["dbShardGroupResourceId"] = undefined /*out*/; + resourceInputs["endpoint"] = undefined /*out*/; + } else { + resourceInputs["computeRedundancy"] = undefined /*out*/; + resourceInputs["dbClusterIdentifier"] = undefined /*out*/; + resourceInputs["dbShardGroupIdentifier"] = undefined /*out*/; + resourceInputs["dbShardGroupResourceId"] = undefined /*out*/; + resourceInputs["endpoint"] = undefined /*out*/; + resourceInputs["maxAcu"] = undefined /*out*/; + resourceInputs["minAcu"] = undefined /*out*/; + resourceInputs["publiclyAccessible"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["dbClusterIdentifier", "dbShardGroupIdentifier", "publiclyAccessible"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(DbShardGroup.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a DbShardGroup resource. + */ +export interface DbShardGroupArgs { + /** + * Specifies whether to create standby instances for the DB shard group. + */ + computeRedundancy?: pulumi.Input; + /** + * The name of the primary DB cluster for the DB shard group. + */ + dbClusterIdentifier: pulumi.Input; + /** + * The name of the DB shard group. + */ + dbShardGroupIdentifier?: pulumi.Input; + /** + * The maximum capacity of the DB shard group in Aurora capacity units (ACUs). + */ + maxAcu: pulumi.Input; + /** + * The minimum capacity of the DB shard group in Aurora capacity units (ACUs). + */ + minAcu?: pulumi.Input; + /** + * Indicates whether the DB shard group is publicly accessible. + */ + publiclyAccessible?: pulumi.Input; + /** + * An array of key-value pairs to apply to this resource. + */ + tags?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/rds/getDbShardGroup.ts b/sdk/nodejs/rds/getDbShardGroup.ts new file mode 100644 index 0000000000..0ef617670a --- /dev/null +++ b/sdk/nodejs/rds/getDbShardGroup.ts @@ -0,0 +1,64 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * The AWS::RDS::DBShardGroup resource creates an Amazon Aurora Limitless DB Shard Group. + */ +export function getDbShardGroup(args: GetDbShardGroupArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:rds:getDbShardGroup", { + "dbShardGroupIdentifier": args.dbShardGroupIdentifier, + }, opts); +} + +export interface GetDbShardGroupArgs { + /** + * The name of the DB shard group. + */ + dbShardGroupIdentifier: string; +} + +export interface GetDbShardGroupResult { + /** + * Specifies whether to create standby instances for the DB shard group. + */ + readonly computeRedundancy?: number; + /** + * The Amazon Web Services Region-unique, immutable identifier for the DB shard group. + */ + readonly dbShardGroupResourceId?: string; + /** + * The connection endpoint for the DB shard group. + */ + readonly endpoint?: string; + /** + * The maximum capacity of the DB shard group in Aurora capacity units (ACUs). + */ + readonly maxAcu?: number; + /** + * An array of key-value pairs to apply to this resource. + */ + readonly tags?: outputs.Tag[]; +} +/** + * The AWS::RDS::DBShardGroup resource creates an Amazon Aurora Limitless DB Shard Group. + */ +export function getDbShardGroupOutput(args: GetDbShardGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("aws-native:rds:getDbShardGroup", { + "dbShardGroupIdentifier": args.dbShardGroupIdentifier, + }, opts); +} + +export interface GetDbShardGroupOutputArgs { + /** + * The name of the DB shard group. + */ + dbShardGroupIdentifier: pulumi.Input; +} diff --git a/sdk/nodejs/rds/index.ts b/sdk/nodejs/rds/index.ts index 5f0c33869d..41fcc1d7bf 100644 --- a/sdk/nodejs/rds/index.ts +++ b/sdk/nodejs/rds/index.ts @@ -45,6 +45,11 @@ export type DbProxyTargetGroup = import("./dbProxyTargetGroup").DbProxyTargetGro export const DbProxyTargetGroup: typeof import("./dbProxyTargetGroup").DbProxyTargetGroup = null as any; utilities.lazyLoad(exports, ["DbProxyTargetGroup"], () => require("./dbProxyTargetGroup")); +export { DbShardGroupArgs } from "./dbShardGroup"; +export type DbShardGroup = import("./dbShardGroup").DbShardGroup; +export const DbShardGroup: typeof import("./dbShardGroup").DbShardGroup = null as any; +utilities.lazyLoad(exports, ["DbShardGroup"], () => require("./dbShardGroup")); + export { DbSubnetGroupArgs } from "./dbSubnetGroup"; export type DbSubnetGroup = import("./dbSubnetGroup").DbSubnetGroup; export const DbSubnetGroup: typeof import("./dbSubnetGroup").DbSubnetGroup = null as any; @@ -95,6 +100,11 @@ export const getDbProxyTargetGroup: typeof import("./getDbProxyTargetGroup").get export const getDbProxyTargetGroupOutput: typeof import("./getDbProxyTargetGroup").getDbProxyTargetGroupOutput = null as any; utilities.lazyLoad(exports, ["getDbProxyTargetGroup","getDbProxyTargetGroupOutput"], () => require("./getDbProxyTargetGroup")); +export { GetDbShardGroupArgs, GetDbShardGroupResult, GetDbShardGroupOutputArgs } from "./getDbShardGroup"; +export const getDbShardGroup: typeof import("./getDbShardGroup").getDbShardGroup = null as any; +export const getDbShardGroupOutput: typeof import("./getDbShardGroup").getDbShardGroupOutput = null as any; +utilities.lazyLoad(exports, ["getDbShardGroup","getDbShardGroupOutput"], () => require("./getDbShardGroup")); + export { GetDbSubnetGroupArgs, GetDbSubnetGroupResult, GetDbSubnetGroupOutputArgs } from "./getDbSubnetGroup"; export const getDbSubnetGroup: typeof import("./getDbSubnetGroup").getDbSubnetGroup = null as any; export const getDbSubnetGroupOutput: typeof import("./getDbSubnetGroup").getDbSubnetGroupOutput = null as any; @@ -159,6 +169,8 @@ const _module = { return new DbProxyEndpoint(name, undefined, { urn }) case "aws-native:rds:DbProxyTargetGroup": return new DbProxyTargetGroup(name, undefined, { urn }) + case "aws-native:rds:DbShardGroup": + return new DbShardGroup(name, undefined, { urn }) case "aws-native:rds:DbSubnetGroup": return new DbSubnetGroup(name, undefined, { urn }) case "aws-native:rds:EventSubscription": diff --git a/sdk/nodejs/transfer/getUser.ts b/sdk/nodejs/transfer/getUser.ts new file mode 100644 index 0000000000..e5a1bc025e --- /dev/null +++ b/sdk/nodejs/transfer/getUser.ts @@ -0,0 +1,108 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Definition of AWS::Transfer::User Resource Type + */ +export function getUser(args: GetUserArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:transfer:getUser", { + "arn": args.arn, + }, opts); +} + +export interface GetUserArgs { + /** + * The Amazon Resource Name associated with the user, in the form `arn:aws:transfer:region: *account-id* :user/ *server-id* / *username*` . + * + * An example of a user ARN is: `arn:aws:transfer:us-east-1:123456789012:user/user1` . + */ + arn: string; +} + +export interface GetUserResult { + /** + * The Amazon Resource Name associated with the user, in the form `arn:aws:transfer:region: *account-id* :user/ *server-id* / *username*` . + * + * An example of a user ARN is: `arn:aws:transfer:us-east-1:123456789012:user/user1` . + */ + readonly arn?: string; + /** + * The landing directory (folder) for a user when they log in to the server using the client. + * + * A `HomeDirectory` example is `/bucket_name/home/mydirectory` . + * + * > The `HomeDirectory` parameter is only used if `HomeDirectoryType` is set to `PATH` . + */ + readonly homeDirectory?: string; + /** + * 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* . + * + * The following is an `Entry` and `Target` pair example. + * + * `[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]` + * + * In 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. + * + * The following is an `Entry` and `Target` pair example for `chroot` . + * + * `[ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ]` + */ + readonly homeDirectoryMappings?: outputs.transfer.UserHomeDirectoryMapEntry[]; + /** + * 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. + * + * > 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. + */ + readonly homeDirectoryType?: enums.transfer.UserHomeDirectoryType; + /** + * 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}` . + * + * > 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. + * > + * > For an example of a session policy, see [Example session policy](https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html) . + * > + * > For more information, see [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) in the *AWS Security Token Service API Reference* . + */ + readonly policy?: string; + /** + * 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. + */ + readonly posixProfile?: outputs.transfer.UserPosixProfile; + /** + * 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. + */ + readonly role?: string; + /** + * This represents the SSH User Public Keys for CloudFormation resource + */ + readonly sshPublicKeys?: string[]; + /** + * Key-value pairs that can be used to group and search for users. Tags are metadata attached to users for any purpose. + */ + readonly tags?: outputs.Tag[]; +} +/** + * Definition of AWS::Transfer::User Resource Type + */ +export function getUserOutput(args: GetUserOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("aws-native:transfer:getUser", { + "arn": args.arn, + }, opts); +} + +export interface GetUserOutputArgs { + /** + * The Amazon Resource Name associated with the user, in the form `arn:aws:transfer:region: *account-id* :user/ *server-id* / *username*` . + * + * An example of a user ARN is: `arn:aws:transfer:us-east-1:123456789012:user/user1` . + */ + arn: pulumi.Input; +} diff --git a/sdk/nodejs/transfer/index.ts b/sdk/nodejs/transfer/index.ts index 10ae2c4696..f52a021a76 100644 --- a/sdk/nodejs/transfer/index.ts +++ b/sdk/nodejs/transfer/index.ts @@ -45,6 +45,11 @@ export const getServer: typeof import("./getServer").getServer = null as any; export const getServerOutput: typeof import("./getServer").getServerOutput = null as any; utilities.lazyLoad(exports, ["getServer","getServerOutput"], () => require("./getServer")); +export { GetUserArgs, GetUserResult, GetUserOutputArgs } from "./getUser"; +export const getUser: typeof import("./getUser").getUser = null as any; +export const getUserOutput: typeof import("./getUser").getUserOutput = null as any; +utilities.lazyLoad(exports, ["getUser","getUserOutput"], () => require("./getUser")); + export { GetWorkflowArgs, GetWorkflowResult, GetWorkflowOutputArgs } from "./getWorkflow"; export const getWorkflow: typeof import("./getWorkflow").getWorkflow = null as any; export const getWorkflowOutput: typeof import("./getWorkflow").getWorkflowOutput = null as any; @@ -60,6 +65,11 @@ export type Server = import("./server").Server; export const Server: typeof import("./server").Server = null as any; utilities.lazyLoad(exports, ["Server"], () => require("./server")); +export { UserArgs } from "./user"; +export type User = import("./user").User; +export const User: typeof import("./user").User = null as any; +utilities.lazyLoad(exports, ["User"], () => require("./user")); + export { WorkflowArgs } from "./workflow"; export type Workflow = import("./workflow").Workflow; export const Workflow: typeof import("./workflow").Workflow = null as any; @@ -83,6 +93,8 @@ const _module = { return new Profile(name, undefined, { urn }) case "aws-native:transfer:Server": return new Server(name, undefined, { urn }) + case "aws-native:transfer:User": + return new User(name, undefined, { urn }) case "aws-native:transfer:Workflow": return new Workflow(name, undefined, { urn }) default: diff --git a/sdk/nodejs/transfer/user.ts b/sdk/nodejs/transfer/user.ts new file mode 100644 index 0000000000..2979c25974 --- /dev/null +++ b/sdk/nodejs/transfer/user.ts @@ -0,0 +1,223 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Definition of AWS::Transfer::User Resource Type + */ +export class User extends pulumi.CustomResource { + /** + * Get an existing User resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): User { + return new User(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:transfer:User'; + + /** + * Returns true if the given object is an instance of User. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is User { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === User.__pulumiType; + } + + /** + * The Amazon Resource Name associated with the user, in the form `arn:aws:transfer:region: *account-id* :user/ *server-id* / *username*` . + * + * An example of a user ARN is: `arn:aws:transfer:us-east-1:123456789012:user/user1` . + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * The landing directory (folder) for a user when they log in to the server using the client. + * + * A `HomeDirectory` example is `/bucket_name/home/mydirectory` . + * + * > The `HomeDirectory` parameter is only used if `HomeDirectoryType` is set to `PATH` . + */ + public readonly homeDirectory!: pulumi.Output; + /** + * 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* . + * + * The following is an `Entry` and `Target` pair example. + * + * `[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]` + * + * In 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. + * + * The following is an `Entry` and `Target` pair example for `chroot` . + * + * `[ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ]` + */ + public readonly homeDirectoryMappings!: pulumi.Output; + /** + * 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. + * + * > 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. + */ + public readonly homeDirectoryType!: pulumi.Output; + /** + * 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}` . + * + * > 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. + * > + * > For an example of a session policy, see [Example session policy](https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html) . + * > + * > For more information, see [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) in the *AWS Security Token Service API Reference* . + */ + public readonly policy!: pulumi.Output; + /** + * 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. + */ + public readonly posixProfile!: pulumi.Output; + /** + * 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. + */ + public readonly role!: pulumi.Output; + /** + * A system-assigned unique identifier for a server instance. This is the specific server that you added your user to. + */ + public readonly serverId!: pulumi.Output; + /** + * This represents the SSH User Public Keys for CloudFormation resource + */ + public readonly sshPublicKeys!: pulumi.Output; + /** + * Key-value pairs that can be used to group and search for users. Tags are metadata attached to users for any purpose. + */ + public readonly tags!: pulumi.Output; + /** + * 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. + */ + public readonly userName!: pulumi.Output; + + /** + * Create a User resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: UserArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.role === undefined) && !opts.urn) { + throw new Error("Missing required property 'role'"); + } + if ((!args || args.serverId === undefined) && !opts.urn) { + throw new Error("Missing required property 'serverId'"); + } + resourceInputs["homeDirectory"] = args ? args.homeDirectory : undefined; + resourceInputs["homeDirectoryMappings"] = args ? args.homeDirectoryMappings : undefined; + resourceInputs["homeDirectoryType"] = args ? args.homeDirectoryType : undefined; + resourceInputs["policy"] = args ? args.policy : undefined; + resourceInputs["posixProfile"] = args ? args.posixProfile : undefined; + resourceInputs["role"] = args ? args.role : undefined; + resourceInputs["serverId"] = args ? args.serverId : undefined; + resourceInputs["sshPublicKeys"] = args ? args.sshPublicKeys : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["userName"] = args ? args.userName : undefined; + resourceInputs["arn"] = undefined /*out*/; + } else { + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["homeDirectory"] = undefined /*out*/; + resourceInputs["homeDirectoryMappings"] = undefined /*out*/; + resourceInputs["homeDirectoryType"] = undefined /*out*/; + resourceInputs["policy"] = undefined /*out*/; + resourceInputs["posixProfile"] = undefined /*out*/; + resourceInputs["role"] = undefined /*out*/; + resourceInputs["serverId"] = undefined /*out*/; + resourceInputs["sshPublicKeys"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["userName"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["serverId", "userName"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(User.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a User resource. + */ +export interface UserArgs { + /** + * The landing directory (folder) for a user when they log in to the server using the client. + * + * A `HomeDirectory` example is `/bucket_name/home/mydirectory` . + * + * > The `HomeDirectory` parameter is only used if `HomeDirectoryType` is set to `PATH` . + */ + homeDirectory?: pulumi.Input; + /** + * 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* . + * + * The following is an `Entry` and `Target` pair example. + * + * `[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]` + * + * In 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. + * + * The following is an `Entry` and `Target` pair example for `chroot` . + * + * `[ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ]` + */ + homeDirectoryMappings?: pulumi.Input[]>; + /** + * 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. + * + * > 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. + */ + homeDirectoryType?: pulumi.Input; + /** + * 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}` . + * + * > 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. + * > + * > For an example of a session policy, see [Example session policy](https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html) . + * > + * > For more information, see [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) in the *AWS Security Token Service API Reference* . + */ + policy?: pulumi.Input; + /** + * 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. + */ + posixProfile?: pulumi.Input; + /** + * 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. + */ + role: pulumi.Input; + /** + * A system-assigned unique identifier for a server instance. This is the specific server that you added your user to. + */ + serverId: pulumi.Input; + /** + * This represents the SSH User Public Keys for CloudFormation resource + */ + sshPublicKeys?: pulumi.Input[]>; + /** + * Key-value pairs that can be used to group and search for users. Tags are metadata attached to users for any purpose. + */ + tags?: pulumi.Input[]>; + /** + * 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. + */ + userName?: pulumi.Input; +} diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index cc157a77b1..500d58084d 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -748,6 +748,7 @@ "ec2/getSecurityGroup.ts", "ec2/getSecurityGroupEgress.ts", "ec2/getSecurityGroupIngress.ts", + "ec2/getSecurityGroupVpcAssociation.ts", "ec2/getSnapshotBlockPublicAccess.ts", "ec2/getSpotFleet.ts", "ec2/getSubnet.ts", @@ -813,6 +814,7 @@ "ec2/securityGroup.ts", "ec2/securityGroupEgress.ts", "ec2/securityGroupIngress.ts", + "ec2/securityGroupVpcAssociation.ts", "ec2/snapshotBlockPublicAccess.ts", "ec2/spotFleet.ts", "ec2/subnet.ts", @@ -1806,6 +1808,7 @@ "rds/dbProxy.ts", "rds/dbProxyEndpoint.ts", "rds/dbProxyTargetGroup.ts", + "rds/dbShardGroup.ts", "rds/dbSubnetGroup.ts", "rds/eventSubscription.ts", "rds/getCustomDbEngineVersion.ts", @@ -1816,6 +1819,7 @@ "rds/getDbProxy.ts", "rds/getDbProxyEndpoint.ts", "rds/getDbProxyTargetGroup.ts", + "rds/getDbShardGroup.ts", "rds/getDbSubnetGroup.ts", "rds/getEventSubscription.ts", "rds/getGlobalCluster.ts", @@ -2249,10 +2253,12 @@ "transfer/getConnector.ts", "transfer/getProfile.ts", "transfer/getServer.ts", + "transfer/getUser.ts", "transfer/getWorkflow.ts", "transfer/index.ts", "transfer/profile.ts", "transfer/server.ts", + "transfer/user.ts", "transfer/workflow.ts", "types/enums/amplify/index.ts", "types/enums/amplifyuibuilder/index.ts", @@ -2362,7 +2368,6 @@ "types/enums/msk/index.ts", "types/enums/mwaa/index.ts", "types/enums/networkfirewall/index.ts", - "types/enums/nimblestudio/index.ts", "types/enums/oam/index.ts", "types/enums/omics/index.ts", "types/enums/opensearchserverless/index.ts", @@ -2473,11 +2478,13 @@ "wafv2/webAcl.ts", "wafv2/webAclAssociation.ts", "wisdom/aiAgent.ts", + "wisdom/aiAgentVersion.ts", "wisdom/aiPrompt.ts", "wisdom/aiPromptVersion.ts", "wisdom/assistant.ts", "wisdom/assistantAssociation.ts", "wisdom/getAiAgent.ts", + "wisdom/getAiAgentVersion.ts", "wisdom/getAiPrompt.ts", "wisdom/getAiPromptVersion.ts", "wisdom/getAssistant.ts", diff --git a/sdk/nodejs/types/enums/codebuild/index.ts b/sdk/nodejs/types/enums/codebuild/index.ts index 005ad01dc2..53b3906099 100644 --- a/sdk/nodejs/types/enums/codebuild/index.ts +++ b/sdk/nodejs/types/enums/codebuild/index.ts @@ -13,25 +13,33 @@ export const FleetComputeType = { /** * Information about the compute resources the compute fleet uses. Available values include: * - * - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. - * - `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds. - * - `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type. - * - `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type. - * - `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. + * - `ATTRIBUTE_BASED_COMPUTE` : Specify the amount of vCPUs, memory, disk space, and the type of machine. + * + * > 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* . + * - `BUILD_GENERAL1_SMALL` : Use up to 4 GiB memory and 2 vCPUs for builds. + * - `BUILD_GENERAL1_MEDIUM` : Use up to 8 GiB memory and 4 vCPUs for builds. + * - `BUILD_GENERAL1_LARGE` : Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type. + * - `BUILD_GENERAL1_XLARGE` : Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type. + * - `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. + * - `BUILD_LAMBDA_1GB` : Use up to 1 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + * - `BUILD_LAMBDA_2GB` : Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + * - `BUILD_LAMBDA_4GB` : Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + * - `BUILD_LAMBDA_8GB` : Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + * - `BUILD_LAMBDA_10GB` : Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . * * If you use `BUILD_GENERAL1_SMALL` : * - * - For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds. - * - 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. - * - For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds. + * - For environment type `LINUX_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs for builds. + * - 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. + * - For environment type `ARM_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs on ARM-based processors for builds. * * If you use `BUILD_GENERAL1_LARGE` : * - * - For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds. - * - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. - * - For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds. + * - For environment type `LINUX_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs for builds. + * - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. + * - For environment type `ARM_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds. * - * For more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.* + * For 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.* */ export type FleetComputeType = (typeof FleetComputeType)[keyof typeof FleetComputeType]; @@ -50,6 +58,7 @@ export const FleetEnvironmentType = { * - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). * - The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai). * - 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). + * - 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). * - 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). * - 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). * diff --git a/sdk/nodejs/types/enums/datasync/index.ts b/sdk/nodejs/types/enums/datasync/index.ts index 9db14366eb..16532fae7b 100644 --- a/sdk/nodejs/types/enums/datasync/index.ts +++ b/sdk/nodejs/types/enums/datasync/index.ts @@ -218,6 +218,16 @@ export const TaskManifestConfigFormat = { */ export type TaskManifestConfigFormat = (typeof TaskManifestConfigFormat)[keyof typeof TaskManifestConfigFormat]; +export const TaskMode = { + Basic: "BASIC", + Enhanced: "ENHANCED", +} as const; + +/** + * Specifies the task mode for the task. + */ +export type TaskMode = (typeof TaskMode)[keyof typeof TaskMode]; + export const TaskOptionsAtime = { None: "NONE", BestEffort: "BEST_EFFORT", diff --git a/sdk/nodejs/types/enums/ec2/index.ts b/sdk/nodejs/types/enums/ec2/index.ts index 37dc5e4baf..ef87b68836 100644 --- a/sdk/nodejs/types/enums/ec2/index.ts +++ b/sdk/nodejs/types/enums/ec2/index.ts @@ -519,6 +519,17 @@ export const PrefixListAddressFamily = { */ export type PrefixListAddressFamily = (typeof PrefixListAddressFamily)[keyof typeof PrefixListAddressFamily]; +export const SecurityGroupVpcAssociationState = { + Associating: "associating", + Associated: "associated", + AssociationFailed: "association-failed", + Disassociating: "disassociating", + Disassociated: "disassociated", + DisassociationFailed: "disassociation-failed", +} as const; + +export type SecurityGroupVpcAssociationState = (typeof SecurityGroupVpcAssociationState)[keyof typeof SecurityGroupVpcAssociationState]; + export const SnapshotBlockPublicAccessState = { BlockAllSharing: "block-all-sharing", BlockNewSharing: "block-new-sharing", diff --git a/sdk/nodejs/types/enums/index.ts b/sdk/nodejs/types/enums/index.ts index 24d5fdb819..61d140fdfc 100644 --- a/sdk/nodejs/types/enums/index.ts +++ b/sdk/nodejs/types/enums/index.ts @@ -109,7 +109,6 @@ import * as memorydb from "./memorydb"; import * as msk from "./msk"; import * as mwaa from "./mwaa"; import * as networkfirewall from "./networkfirewall"; -import * as nimblestudio from "./nimblestudio"; import * as oam from "./oam"; import * as omics from "./omics"; import * as opensearchserverless from "./opensearchserverless"; @@ -279,7 +278,6 @@ export { msk, mwaa, networkfirewall, - nimblestudio, oam, omics, opensearchserverless, diff --git a/sdk/nodejs/types/enums/nimblestudio/index.ts b/sdk/nodejs/types/enums/nimblestudio/index.ts deleted file mode 100644 index 9e7a40dc62..0000000000 --- a/sdk/nodejs/types/enums/nimblestudio/index.ts +++ /dev/null @@ -1,107 +0,0 @@ -// *** WARNING: this file was generated by pulumi-language-nodejs. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - - -export const LaunchProfileAutomaticTerminationMode = { - Deactivated: "DEACTIVATED", - Activated: "ACTIVATED", -} as const; - -export type LaunchProfileAutomaticTerminationMode = (typeof LaunchProfileAutomaticTerminationMode)[keyof typeof LaunchProfileAutomaticTerminationMode]; - -export const LaunchProfileSessionBackupMode = { - Automatic: "AUTOMATIC", - Deactivated: "DEACTIVATED", -} as const; - -export type LaunchProfileSessionBackupMode = (typeof LaunchProfileSessionBackupMode)[keyof typeof LaunchProfileSessionBackupMode]; - -export const LaunchProfileSessionPersistenceMode = { - Deactivated: "DEACTIVATED", - Activated: "ACTIVATED", -} as const; - -export type LaunchProfileSessionPersistenceMode = (typeof LaunchProfileSessionPersistenceMode)[keyof typeof LaunchProfileSessionPersistenceMode]; - -export const LaunchProfileStreamingClipboardMode = { - Enabled: "ENABLED", - Disabled: "DISABLED", -} as const; - -export type LaunchProfileStreamingClipboardMode = (typeof LaunchProfileStreamingClipboardMode)[keyof typeof LaunchProfileStreamingClipboardMode]; - -export const LaunchProfileStreamingInstanceType = { - G4dnXlarge: "g4dn.xlarge", - G4dn2xlarge: "g4dn.2xlarge", - G4dn4xlarge: "g4dn.4xlarge", - G4dn8xlarge: "g4dn.8xlarge", - G4dn12xlarge: "g4dn.12xlarge", - G4dn16xlarge: "g4dn.16xlarge", - G34xlarge: "g3.4xlarge", - G3sXlarge: "g3s.xlarge", - G5Xlarge: "g5.xlarge", - G52xlarge: "g5.2xlarge", - G54xlarge: "g5.4xlarge", - G58xlarge: "g5.8xlarge", - G516xlarge: "g5.16xlarge", -} as const; - -export type LaunchProfileStreamingInstanceType = (typeof LaunchProfileStreamingInstanceType)[keyof typeof LaunchProfileStreamingInstanceType]; - -export const LaunchProfileStreamingSessionStorageMode = { - Upload: "UPLOAD", -} as const; - -export type LaunchProfileStreamingSessionStorageMode = (typeof LaunchProfileStreamingSessionStorageMode)[keyof typeof LaunchProfileStreamingSessionStorageMode]; - -export const StreamingImageEncryptionConfigurationKeyType = { - CustomerManagedKey: "CUSTOMER_MANAGED_KEY", -} as const; - -/** - *

- */ -export type StreamingImageEncryptionConfigurationKeyType = (typeof StreamingImageEncryptionConfigurationKeyType)[keyof typeof StreamingImageEncryptionConfigurationKeyType]; - -export const StudioComponentInitializationScriptRunContext = { - SystemInitialization: "SYSTEM_INITIALIZATION", - UserInitialization: "USER_INITIALIZATION", -} as const; - -export type StudioComponentInitializationScriptRunContext = (typeof StudioComponentInitializationScriptRunContext)[keyof typeof StudioComponentInitializationScriptRunContext]; - -export const StudioComponentLaunchProfilePlatform = { - Linux: "LINUX", - Windows: "WINDOWS", -} as const; - -export type StudioComponentLaunchProfilePlatform = (typeof StudioComponentLaunchProfilePlatform)[keyof typeof StudioComponentLaunchProfilePlatform]; - -export const StudioComponentSubtype = { - AwsManagedMicrosoftAd: "AWS_MANAGED_MICROSOFT_AD", - AmazonFsxForWindows: "AMAZON_FSX_FOR_WINDOWS", - AmazonFsxForLustre: "AMAZON_FSX_FOR_LUSTRE", - Custom: "CUSTOM", -} as const; - -export type StudioComponentSubtype = (typeof StudioComponentSubtype)[keyof typeof StudioComponentSubtype]; - -export const StudioComponentType = { - ActiveDirectory: "ACTIVE_DIRECTORY", - SharedFileSystem: "SHARED_FILE_SYSTEM", - ComputeFarm: "COMPUTE_FARM", - LicenseService: "LICENSE_SERVICE", - Custom: "CUSTOM", -} as const; - -export type StudioComponentType = (typeof StudioComponentType)[keyof typeof StudioComponentType]; - -export const StudioEncryptionConfigurationKeyType = { - AwsOwnedKey: "AWS_OWNED_KEY", - CustomerManagedKey: "CUSTOMER_MANAGED_KEY", -} as const; - -/** - *

The type of KMS key that is used to encrypt studio data.

- */ -export type StudioEncryptionConfigurationKeyType = (typeof StudioEncryptionConfigurationKeyType)[keyof typeof StudioEncryptionConfigurationKeyType]; diff --git a/sdk/nodejs/types/enums/quicksight/index.ts b/sdk/nodejs/types/enums/quicksight/index.ts index 0f3e7a9745..565f38e259 100644 --- a/sdk/nodejs/types/enums/quicksight/index.ts +++ b/sdk/nodejs/types/enums/quicksight/index.ts @@ -350,6 +350,7 @@ export const AnalysisLayoutElementType = { FilterControl: "FILTER_CONTROL", ParameterControl: "PARAMETER_CONTROL", TextBox: "TEXT_BOX", + Image: "IMAGE", } as const; export type AnalysisLayoutElementType = (typeof AnalysisLayoutElementType)[keyof typeof AnalysisLayoutElementType]; @@ -1328,6 +1329,7 @@ export const DashboardLayoutElementType = { FilterControl: "FILTER_CONTROL", ParameterControl: "PARAMETER_CONTROL", TextBox: "TEXT_BOX", + Image: "IMAGE", } as const; export type DashboardLayoutElementType = (typeof DashboardLayoutElementType)[keyof typeof DashboardLayoutElementType]; @@ -2092,6 +2094,14 @@ export const DataSetTimeGranularity = { export type DataSetTimeGranularity = (typeof DataSetTimeGranularity)[keyof typeof DataSetTimeGranularity]; +export const DataSourceAuthenticationType = { + Password: "PASSWORD", + Token: "TOKEN", + X509: "X509", +} as const; + +export type DataSourceAuthenticationType = (typeof DataSourceAuthenticationType)[keyof typeof DataSourceAuthenticationType]; + export const DataSourceErrorInfoType = { AccessDenied: "ACCESS_DENIED", CopySourceNotFound: "COPY_SOURCE_NOT_FOUND", @@ -2566,6 +2576,7 @@ export const TemplateLayoutElementType = { FilterControl: "FILTER_CONTROL", ParameterControl: "PARAMETER_CONTROL", TextBox: "TEXT_BOX", + Image: "IMAGE", } as const; export type TemplateLayoutElementType = (typeof TemplateLayoutElementType)[keyof typeof TemplateLayoutElementType]; diff --git a/sdk/nodejs/types/enums/transfer/index.ts b/sdk/nodejs/types/enums/transfer/index.ts index f7592dfd65..5cfcfe5bf4 100644 --- a/sdk/nodejs/types/enums/transfer/index.ts +++ b/sdk/nodejs/types/enums/transfer/index.ts @@ -187,6 +187,20 @@ export const ServerTlsSessionResumptionMode = { export type ServerTlsSessionResumptionMode = (typeof ServerTlsSessionResumptionMode)[keyof typeof ServerTlsSessionResumptionMode]; +export const UserHomeDirectoryType = { + Path: "PATH", + Logical: "LOGICAL", +} as const; + +export type UserHomeDirectoryType = (typeof UserHomeDirectoryType)[keyof typeof UserHomeDirectoryType]; + +export const UserMapType = { + File: "FILE", + Directory: "DIRECTORY", +} as const; + +export type UserMapType = (typeof UserMapType)[keyof typeof UserMapType]; + export const WorkflowStepCopyStepDetailsPropertiesOverwriteExisting = { True: "TRUE", False: "FALSE", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 97dfd040dc..53aa5ecc51 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -5473,10 +5473,25 @@ export namespace appsync { * The configuration for an Event Api */ export interface ApiEventConfigArgs { + /** + * A list of authorization providers. + */ authProviders: pulumi.Input[]>; + /** + * A list of valid authorization modes for the Event API connections. + */ connectionAuthModes: pulumi.Input[]>; + /** + * A list of valid authorization modes for the Event API publishing. + */ defaultPublishAuthModes: pulumi.Input[]>; + /** + * A list of valid authorization modes for the Event API subscriptions. + */ defaultSubscribeAuthModes: pulumi.Input[]>; + /** + * The CloudWatch Logs configuration for the Event API. + */ logConfig?: pulumi.Input; } @@ -5484,7 +5499,13 @@ export namespace appsync { * The log config for the AppSync API. */ export interface ApiEventLogConfigArgs { + /** + * The IAM service role that AWS AppSync assumes to publish CloudWatch Logs in your account. + */ cloudWatchLogsRoleArn: pulumi.Input; + /** + * The type of information to log for the Event API. + */ logLevel: pulumi.Input; } @@ -21442,7 +21463,8 @@ export namespace ec2 { */ elasticGpuSpecifications?: pulumi.Input[]>; /** - * 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. + * Amazon Elastic Inference is no longer available. + * 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. * You cannot specify accelerators from different generations in the same request. * 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. */ @@ -21490,7 +21512,7 @@ export namespace ec2 { * * If you specify ``InstanceRequirements``, you can't specify ``InstanceType``. * 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``. - * 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*. + * 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*. */ instanceRequirements?: pulumi.Input; /** @@ -21552,8 +21574,7 @@ export namespace ec2 { */ securityGroups?: pulumi.Input[]>; /** - * The tags to apply to the resources that are created during instance launch. - * To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html). + * The tags to apply to resources that are created during instance launch. * 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). */ tagSpecifications?: pulumi.Input[]>; @@ -21589,7 +21610,7 @@ export namespace ec2 { */ iops?: pulumi.Input; /** - * The ARN of the symmetric KMSlong (KMS) CMK used for encryption. + * Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption. */ kmsKeyId?: pulumi.Input; /** @@ -21732,7 +21753,7 @@ export namespace ec2 { * * If you specify ``InstanceRequirements``, you can't specify ``InstanceType``. * 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``. - * 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*. + * 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*. */ export interface LaunchTemplateInstanceRequirementsArgs { /** @@ -21779,7 +21800,6 @@ export namespace ec2 { * The accelerator types that must be on the instance type. * + For instance types with GPU accelerators, specify ``gpu``. * + For instance types with FPGA accelerators, specify ``fpga``. - * + For instance types with inference accelerators, specify ``inference``. * * Default: Any accelerator type */ @@ -22102,9 +22122,10 @@ export namespace ec2 { */ groups?: pulumi.Input[]>; /** - * 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*. + * 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*. * If you are not creating an EFA, specify ``interface`` or omit this parameter. - * Valid values: ``interface`` | ``efa`` + * If you specify ``efa-only``, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses. + * Valid values: ``interface`` | ``efa`` | ``efa-only`` */ interfaceType?: pulumi.Input; /** @@ -22300,6 +22321,7 @@ export namespace ec2 { /** * Specifies the tags to apply to the launch template during creation. + * 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). * ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html). */ export interface LaunchTemplateTagSpecificationArgs { @@ -23580,7 +23602,7 @@ export namespace ec2 { } /** - * Specifies the tags to apply to a resource when the resource is created for the launch template. + * Specifies the tags to apply to resources that are created during instance launch. * ``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). */ export interface TagSpecificationArgs { @@ -24222,7 +24244,7 @@ export namespace ecs { */ maximumScalingStepSize?: pulumi.Input; /** - * 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. + * 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. * * When 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. * @@ -24569,7 +24591,7 @@ export namespace ecs { } /** - * Optional deployment parameters that control how many tasks run during a deployment and the ordering of stopping and starting tasks. + * Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods. */ export interface ServiceDeploymentConfigurationArgs { /** @@ -24656,7 +24678,7 @@ export namespace ecs { */ containerPort?: pulumi.Input; /** - * The name of the load balancer to associate with the Amazon ECS service or task set. + * The name of the load balancer to associate with the service or task set. * If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted. */ loadBalancerName?: pulumi.Input; @@ -24711,7 +24733,7 @@ export namespace ecs { } /** - * 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. + * 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*. * Many of these parameters map 1:1 with the Amazon EBS ``CreateVolume`` API request parameters. */ export interface ServiceManagedEbsVolumeConfigurationArgs { @@ -24720,9 +24742,10 @@ export namespace ecs { */ encrypted?: pulumi.Input; /** - * 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. - * The available filesystem types are + * 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. + * The available Linux filesystem types are * ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default. + * The available Windows filesystem types are ``NTFS``. */ filesystemType?: pulumi.Input; /** @@ -27425,6 +27448,7 @@ export namespace elasticloadbalancingv2 { * * The following attributes are supported by only Network Load Balancers: * + ``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. + * + ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false``. The default is ``false``. */ key?: pulumi.Input; /** @@ -27449,6 +27473,7 @@ export namespace elasticloadbalancingv2 { * [Network Load Balancers] The private IPv4 address for an internal load balancer. */ privateIPv4Address?: pulumi.Input; + sourceNatIpv6Prefix?: pulumi.Input; /** * The ID of the subnet. */ @@ -30170,7 +30195,7 @@ export namespace gamelift { */ location: pulumi.Input; /** - * 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. + * 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. * * *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) */ @@ -33052,7 +33077,7 @@ export namespace inspector { export namespace inspectorv2 { export interface CisScanConfigurationCisTargetsArgs { accountIds: pulumi.Input[]>; - targetResourceTags?: pulumi.Input<{[key: string]: any}>; + targetResourceTags: pulumi.Input<{[key: string]: any}>; } export interface CisScanConfigurationDailyScheduleArgs { @@ -48215,9 +48240,6 @@ export namespace networkmanager { } export namespace nimblestudio { - /** - *

A configuration for a streaming session.

- */ export interface LaunchProfileStreamConfigurationArgs { /** * Indicates if a streaming session created from this launch profile should be terminated automatically or retained without termination after being in a `STOPPED` state. @@ -48227,40 +48249,27 @@ export namespace nimblestudio { * * This parameter is only allowed when `sessionPersistenceMode` is `ACTIVATED` . When allowed, the default value for this parameter is `DEACTIVATED` . */ - automaticTerminationMode?: pulumi.Input; + automaticTerminationMode?: pulumi.Input; /** * Allows or deactivates the use of the system clipboard to copy and paste between the streaming session and streaming client. */ - clipboardMode: pulumi.Input; + clipboardMode: pulumi.Input; /** - *

The EC2 instance types that users can select from when launching a streaming session - * with this launch profile.

+ * The EC2 instance types that users can select from when launching a streaming session with this launch profile. */ - ec2InstanceTypes: pulumi.Input[]>; + ec2InstanceTypes: pulumi.Input[]>; /** - *

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.

+ * 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. */ maxSessionLengthInMinutes?: pulumi.Input; /** - *

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.

- *

This field is allowed only when sessionPersistenceMode is - * ACTIVATED and automaticTerminationMode is - * ACTIVATED.

- *

If 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).

- *

If 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).

+ * 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. + * + * This field is allowed only when `sessionPersistenceMode` is `ACTIVATED` and `automaticTerminationMode` is `ACTIVATED` . + * + * If 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` ). + * + * If 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). */ maxStoppedSessionLengthInMinutes?: pulumi.Input; /** @@ -48270,14 +48279,13 @@ export namespace nimblestudio { /** * Determine if a streaming session created from this launch profile can configure persistent storage. This means that `volumeConfiguration` and `automaticTerminationMode` are configured. */ - sessionPersistenceMode?: pulumi.Input; + sessionPersistenceMode?: pulumi.Input; /** * The upload storage for a streaming session. */ sessionStorage?: pulumi.Input; /** - *

The streaming images that users can select from when launching a streaming session - * with this launch profile.

+ * The streaming images that users can select from when launching a streaming session with this launch profile. */ streamingImageIds: pulumi.Input[]>; /** @@ -48288,14 +48296,9 @@ export namespace nimblestudio { volumeConfiguration?: pulumi.Input; } - /** - *

Configures how streaming sessions are backed up when launched from this launch - * profile.

- */ export interface LaunchProfileStreamConfigurationSessionBackupArgs { /** - *

The maximum number of backups that each streaming session created from this launch - * profile can have.

+ * The maximum number of backups that each streaming session created from this launch profile can have. */ maxBackupsToRetain?: pulumi.Input; /** @@ -48303,232 +48306,171 @@ export namespace nimblestudio { * * Configures 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` . */ - mode?: pulumi.Input; + mode?: pulumi.Input; } - /** - *

The configuration for a streaming session’s upload storage.

- */ export interface LaunchProfileStreamConfigurationSessionStorageArgs { /** - *

Allows artists to upload files to their workstations. The only valid option is - * UPLOAD.

+ * Allows artists to upload files to their workstations. The only valid option is `UPLOAD` . */ - mode: pulumi.Input[]>; + mode: pulumi.Input[]>; /** * The configuration for the upload storage root of the streaming session. */ root?: pulumi.Input; } - /** - *

The upload storage root location (folder) on streaming workstations where files are - * uploaded.

- */ export interface LaunchProfileStreamingSessionStorageRootArgs { /** - *

The folder path in Linux workstations where files are uploaded.

+ * The folder path in Linux workstations where files are uploaded. */ linux?: pulumi.Input; /** - *

The folder path in Windows workstations where files are uploaded.

+ * The folder path in Windows workstations where files are uploaded. */ windows?: pulumi.Input; } - /** - *

Custom volume configuration for the root volumes that are attached to streaming - * sessions.

- *

This parameter is only allowed when sessionPersistenceMode is - * ACTIVATED.

- */ export interface LaunchProfileVolumeConfigurationArgs { /** - *

The number of I/O operations per second for the root volume that is attached to - * streaming session.

+ * The number of I/O operations per second for the root volume that is attached to streaming session. */ iops?: pulumi.Input; /** - *

The size of the root volume that is attached to the streaming session. The root volume - * size is measured in GiBs.

+ * The size of the root volume that is attached to the streaming session. The root volume size is measured in GiBs. */ size?: pulumi.Input; /** - *

The throughput to provision for the root volume that is attached to the streaming - * session. The throughput is measured in MiB/s.

+ * The throughput to provision for the root volume that is attached to the streaming session. The throughput is measured in MiB/s. */ throughput?: pulumi.Input; } - /** - *

An LDAP attribute of an Active Directory computer account, in the form of a name:value - * pair.

- */ export interface StudioComponentActiveDirectoryComputerAttributeArgs { /** - *

The name for the LDAP attribute.

+ * The name for the LDAP attribute. */ name?: pulumi.Input; /** - *

The value for the LDAP attribute.

+ * The value for the LDAP attribute. */ value?: pulumi.Input; } - /** - *

The configuration for a Microsoft Active Directory (Microsoft AD) studio - * resource.

- */ export interface StudioComponentActiveDirectoryConfigurationArgs { /** - *

A collection of custom attributes for an Active Directory computer.

+ * A collection of custom attributes for an Active Directory computer. */ computerAttributes?: pulumi.Input[]>; /** - *

The directory ID of the Directory Service for Microsoft Active Directory to access - * using this studio component.

+ * The directory ID of the AWS Directory Service for Microsoft Active Directory to access using this studio component. */ directoryId?: pulumi.Input; /** - *

The distinguished name (DN) and organizational unit (OU) of an Active Directory - * computer.

+ * The distinguished name (DN) and organizational unit (OU) of an Active Directory computer. */ organizationalUnitDistinguishedName?: pulumi.Input; } - /** - *

The configuration for a render farm that is associated with a studio resource.

- */ export interface StudioComponentComputeFarmConfigurationArgs { /** - *

The name of an Active Directory user that is used on ComputeFarm worker - * instances.

+ * The name of an Active Directory user that is used on ComputeFarm worker instances. */ activeDirectoryUser?: pulumi.Input; /** - *

The endpoint of the ComputeFarm that is accessed by the studio component - * resource.

+ * The endpoint of the ComputeFarm that is accessed by the studio component resource. */ endpoint?: pulumi.Input; } - /** - *

The configuration of the studio component, based on component type.

- */ - export interface StudioComponentConfiguration0PropertiesArgs { - activeDirectoryConfiguration: pulumi.Input; - } - - /** - *

The configuration of the studio component, based on component type.

- */ - export interface StudioComponentConfiguration1PropertiesArgs { - computeFarmConfiguration: pulumi.Input; - } - - /** - *

The configuration of the studio component, based on component type.

- */ - export interface StudioComponentConfiguration2PropertiesArgs { - licenseServiceConfiguration: pulumi.Input; - } - - /** - *

The configuration of the studio component, based on component type.

- */ - export interface StudioComponentConfiguration3PropertiesArgs { - sharedFileSystemConfiguration: pulumi.Input; + export interface StudioComponentConfigurationArgs { + /** + * The configuration for a AWS Directory Service for Microsoft Active Directory studio resource. + */ + activeDirectoryConfiguration?: pulumi.Input; + /** + * The configuration for a render farm that is associated with a studio resource. + */ + computeFarmConfiguration?: pulumi.Input; + /** + * The configuration for a license service that is associated with a studio resource. + */ + licenseServiceConfiguration?: pulumi.Input; + /** + * The configuration for a shared file storage system that is associated with a studio resource. + */ + sharedFileSystemConfiguration?: pulumi.Input; } - /** - *

Initialization scripts for studio components.

- */ export interface StudioComponentInitializationScriptArgs { /** - *

The version number of the protocol that is used by the launch profile. The only valid - * version is "2021-03-31".

+ * The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31". */ launchProfileProtocolVersion?: pulumi.Input; /** * The platform of the initialization script, either Windows or Linux. */ - platform?: pulumi.Input; + platform?: pulumi.Input; /** * The method to use when running the initialization script. */ - runContext?: pulumi.Input; + runContext?: pulumi.Input; /** - *

The initialization script.

+ * The initialization script. */ script?: pulumi.Input; } - /** - *

The configuration for a license service that is associated with a studio - * resource.

- */ export interface StudioComponentLicenseServiceConfigurationArgs { /** - *

The endpoint of the license service that is accessed by the studio component - * resource.

+ * The endpoint of the license service that is accessed by the studio component resource. */ endpoint?: pulumi.Input; } - /** - *

A parameter for a studio component script, in the form of a key:value pair.

- */ export interface StudioComponentScriptParameterKeyValueArgs { /** - *

A script parameter key.

+ * A script parameter key. */ key?: pulumi.Input; /** - *

A script parameter value.

+ * A script parameter value. */ value?: pulumi.Input; } - /** - *

The configuration for a shared file storage system that is associated with a studio - * resource.

- */ export interface StudioComponentSharedFileSystemConfigurationArgs { /** - *

The endpoint of the shared file system that is accessed by the studio component - * resource.

+ * The endpoint of the shared file system that is accessed by the studio component resource. */ endpoint?: pulumi.Input; /** - *

The unique identifier for a file system.

+ * The unique identifier for a file system. */ fileSystemId?: pulumi.Input; /** - *

The mount location for a shared file system on a Linux virtual workstation.

+ * The mount location for a shared file system on a Linux virtual workstation. */ linuxMountPoint?: pulumi.Input; /** - *

The name of the file share.

+ * The name of the file share. */ shareName?: pulumi.Input; /** - *

The mount location for a shared file system on a Windows virtual workstation.

+ * The mount location for a shared file system on a Windows virtual workstation. */ windowsMountDrive?: pulumi.Input; } - /** - *

Configuration of the encryption method that is used for the studio.

- */ export interface StudioEncryptionConfigurationArgs { /** - *

The ARN for a KMS key that is used to encrypt studio data.

+ * The ARN for a KMS key that is used to encrypt studio data. */ keyArn?: pulumi.Input; /** * The type of KMS key that is used to encrypt studio data. */ - keyType: pulumi.Input; + keyType: pulumi.Input; } } @@ -69069,6 +69011,13 @@ export namespace quicksight { port: pulumi.Input; } + export interface DataSourceOAuthParametersArgs { + identityProviderResourceUri?: pulumi.Input; + identityProviderVpcConnectionProperties?: pulumi.Input; + oAuthScope?: pulumi.Input; + tokenProviderUrl: pulumi.Input; + } + /** *

The parameters for Oracle.

*/ @@ -69330,14 +69279,17 @@ export namespace quicksight { *

The parameters for Snowflake.

*/ export interface DataSourceSnowflakeParametersArgs { + authenticationType?: pulumi.Input; /** *

Database.

*/ database: pulumi.Input; + databaseAccessControlRole?: pulumi.Input; /** *

Host.

*/ host: pulumi.Input; + oAuthParameters?: pulumi.Input; /** *

Warehouse.

*/ @@ -69391,14 +69343,17 @@ export namespace quicksight { *

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

*/ export interface DataSourceStarburstParametersArgs { + authenticationType?: pulumi.Input; /** *

The catalog name for the Starburst data source.

*/ catalog: pulumi.Input; + databaseAccessControlRole?: pulumi.Input; /** *

The host name of the Starburst data source.

*/ host: pulumi.Input; + oAuthParameters?: pulumi.Input; /** *

The port for the Starburst data source.

*/ @@ -90566,6 +90521,38 @@ export namespace transfer { userSecretId?: pulumi.Input; } + export interface UserHomeDirectoryMapEntryArgs { + /** + * Represents an entry for `HomeDirectoryMappings` . + */ + entry: pulumi.Input; + /** + * Represents the map target that is used in a `HomeDirectoryMapEntry` . + */ + target: pulumi.Input; + /** + * 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. + * + * > 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?: pulumi.Input; + } + + export interface UserPosixProfileArgs { + /** + * The POSIX group ID used for all EFS operations by this user. + */ + gid: pulumi.Input; + /** + * The secondary POSIX group IDs used for all EFS operations by this user. + */ + secondaryGids?: pulumi.Input[]>; + /** + * The POSIX user ID used for all EFS operations by this user. + */ + uid: pulumi.Input; + } + /** * Specifies the details for an EFS file. */ diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 6c102b9c83..1938fffd57 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -5394,14 +5394,43 @@ export namespace appsync { userPoolId: string; } + /** + * A map of DNS names for the AppSync API. + */ + export interface ApiDnsMap { + /** + * The domain name of the Api's HTTP endpoint. + */ + http?: string; + /** + * The domain name of the Api's real-time endpoint. + */ + realtime?: string; + } + /** * The configuration for an Event Api */ export interface ApiEventConfig { + /** + * A list of authorization providers. + */ authProviders: outputs.appsync.ApiAuthProvider[]; + /** + * A list of valid authorization modes for the Event API connections. + */ connectionAuthModes: outputs.appsync.ApiAuthMode[]; + /** + * A list of valid authorization modes for the Event API publishing. + */ defaultPublishAuthModes: outputs.appsync.ApiAuthMode[]; + /** + * A list of valid authorization modes for the Event API subscriptions. + */ defaultSubscribeAuthModes: outputs.appsync.ApiAuthMode[]; + /** + * The CloudWatch Logs configuration for the Event API. + */ logConfig?: outputs.appsync.ApiEventLogConfig; } @@ -5409,7 +5438,13 @@ export namespace appsync { * The log config for the AppSync API. */ export interface ApiEventLogConfig { + /** + * The IAM service role that AWS AppSync assumes to publish CloudWatch Logs in your account. + */ cloudWatchLogsRoleArn: string; + /** + * The type of information to log for the Event API. + */ logLevel: enums.appsync.ApiEventLogLevel; } @@ -22242,7 +22277,8 @@ export namespace ec2 { */ elasticGpuSpecifications?: outputs.ec2.LaunchTemplateElasticGpuSpecification[]; /** - * 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. + * Amazon Elastic Inference is no longer available. + * 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. * You cannot specify accelerators from different generations in the same request. * 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. */ @@ -22290,7 +22326,7 @@ export namespace ec2 { * * If you specify ``InstanceRequirements``, you can't specify ``InstanceType``. * 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``. - * 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*. + * 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*. */ instanceRequirements?: outputs.ec2.LaunchTemplateInstanceRequirements; /** @@ -22352,8 +22388,7 @@ export namespace ec2 { */ securityGroups?: string[]; /** - * The tags to apply to the resources that are created during instance launch. - * To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html). + * The tags to apply to resources that are created during instance launch. * 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). */ tagSpecifications?: outputs.ec2.TagSpecification[]; @@ -22389,7 +22424,7 @@ export namespace ec2 { */ iops?: number; /** - * The ARN of the symmetric KMSlong (KMS) CMK used for encryption. + * Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption. */ kmsKeyId?: string; /** @@ -22532,7 +22567,7 @@ export namespace ec2 { * * If you specify ``InstanceRequirements``, you can't specify ``InstanceType``. * 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``. - * 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*. + * 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*. */ export interface LaunchTemplateInstanceRequirements { /** @@ -22579,7 +22614,6 @@ export namespace ec2 { * The accelerator types that must be on the instance type. * + For instance types with GPU accelerators, specify ``gpu``. * + For instance types with FPGA accelerators, specify ``fpga``. - * + For instance types with inference accelerators, specify ``inference``. * * Default: Any accelerator type */ @@ -22902,9 +22936,10 @@ export namespace ec2 { */ groups?: string[]; /** - * 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*. + * 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*. * If you are not creating an EFA, specify ``interface`` or omit this parameter. - * Valid values: ``interface`` | ``efa`` + * If you specify ``efa-only``, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses. + * Valid values: ``interface`` | ``efa`` | ``efa-only`` */ interfaceType?: string; /** @@ -23100,6 +23135,7 @@ export namespace ec2 { /** * Specifies the tags to apply to the launch template during creation. + * 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). * ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html). */ export interface LaunchTemplateTagSpecification { @@ -24911,7 +24947,7 @@ export namespace ec2 { } /** - * Specifies the tags to apply to a resource when the resource is created for the launch template. + * Specifies the tags to apply to resources that are created during instance launch. * ``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). */ export interface TagSpecification { @@ -25564,7 +25600,7 @@ export namespace ecs { */ maximumScalingStepSize?: number; /** - * 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. + * 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. * * When 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. * @@ -25911,7 +25947,7 @@ export namespace ecs { } /** - * Optional deployment parameters that control how many tasks run during a deployment and the ordering of stopping and starting tasks. + * Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods. */ export interface ServiceDeploymentConfiguration { /** @@ -25998,7 +26034,7 @@ export namespace ecs { */ containerPort?: number; /** - * The name of the load balancer to associate with the Amazon ECS service or task set. + * The name of the load balancer to associate with the service or task set. * If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted. */ loadBalancerName?: string; @@ -26053,7 +26089,7 @@ export namespace ecs { } /** - * 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. + * 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*. * Many of these parameters map 1:1 with the Amazon EBS ``CreateVolume`` API request parameters. */ export interface ServiceManagedEbsVolumeConfiguration { @@ -26062,9 +26098,10 @@ export namespace ecs { */ encrypted?: boolean; /** - * 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. - * The available filesystem types are + * 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. + * The available Linux filesystem types are * ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default. + * The available Windows filesystem types are ``NTFS``. */ filesystemType?: string; /** @@ -28769,6 +28806,7 @@ export namespace elasticloadbalancingv2 { * * The following attributes are supported by only Network Load Balancers: * + ``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. + * + ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false``. The default is ``false``. */ key?: string; /** @@ -28793,6 +28831,7 @@ export namespace elasticloadbalancingv2 { * [Network Load Balancers] The private IPv4 address for an internal load balancer. */ privateIPv4Address?: string; + sourceNatIpv6Prefix?: string; /** * The ID of the subnet. */ @@ -31536,7 +31575,7 @@ export namespace gamelift { */ location: string; /** - * 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. + * 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. * * *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) */ @@ -34449,7 +34488,7 @@ export namespace inspector { export namespace inspectorv2 { export interface CisScanConfigurationCisTargets { accountIds: string[]; - targetResourceTags?: {[key: string]: any}; + targetResourceTags: {[key: string]: any}; } export interface CisScanConfigurationDailySchedule { @@ -49870,9 +49909,6 @@ export namespace networkmanager { } export namespace nimblestudio { - /** - *

A configuration for a streaming session.

- */ export interface LaunchProfileStreamConfiguration { /** * Indicates if a streaming session created from this launch profile should be terminated automatically or retained without termination after being in a `STOPPED` state. @@ -49882,40 +49918,27 @@ export namespace nimblestudio { * * This parameter is only allowed when `sessionPersistenceMode` is `ACTIVATED` . When allowed, the default value for this parameter is `DEACTIVATED` . */ - automaticTerminationMode?: enums.nimblestudio.LaunchProfileAutomaticTerminationMode; + automaticTerminationMode?: string; /** * Allows or deactivates the use of the system clipboard to copy and paste between the streaming session and streaming client. */ - clipboardMode: enums.nimblestudio.LaunchProfileStreamingClipboardMode; + clipboardMode: string; /** - *

The EC2 instance types that users can select from when launching a streaming session - * with this launch profile.

+ * The EC2 instance types that users can select from when launching a streaming session with this launch profile. */ - ec2InstanceTypes: enums.nimblestudio.LaunchProfileStreamingInstanceType[]; + ec2InstanceTypes: string[]; /** - *

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.

+ * 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. */ maxSessionLengthInMinutes?: number; /** - *

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.

- *

This field is allowed only when sessionPersistenceMode is - * ACTIVATED and automaticTerminationMode is - * ACTIVATED.

- *

If 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).

- *

If 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).

+ * 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. + * + * This field is allowed only when `sessionPersistenceMode` is `ACTIVATED` and `automaticTerminationMode` is `ACTIVATED` . + * + * If 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` ). + * + * If 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). */ maxStoppedSessionLengthInMinutes?: number; /** @@ -49925,14 +49948,13 @@ export namespace nimblestudio { /** * Determine if a streaming session created from this launch profile can configure persistent storage. This means that `volumeConfiguration` and `automaticTerminationMode` are configured. */ - sessionPersistenceMode?: enums.nimblestudio.LaunchProfileSessionPersistenceMode; + sessionPersistenceMode?: string; /** * The upload storage for a streaming session. */ sessionStorage?: outputs.nimblestudio.LaunchProfileStreamConfigurationSessionStorage; /** - *

The streaming images that users can select from when launching a streaming session - * with this launch profile.

+ * The streaming images that users can select from when launching a streaming session with this launch profile. */ streamingImageIds: string[]; /** @@ -49943,14 +49965,9 @@ export namespace nimblestudio { volumeConfiguration?: outputs.nimblestudio.LaunchProfileVolumeConfiguration; } - /** - *

Configures how streaming sessions are backed up when launched from this launch - * profile.

- */ export interface LaunchProfileStreamConfigurationSessionBackup { /** - *

The maximum number of backups that each streaming session created from this launch - * profile can have.

+ * The maximum number of backups that each streaming session created from this launch profile can have. */ maxBackupsToRetain?: number; /** @@ -49958,246 +49975,182 @@ export namespace nimblestudio { * * Configures 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` . */ - mode?: enums.nimblestudio.LaunchProfileSessionBackupMode; + mode?: string; } - /** - *

The configuration for a streaming session’s upload storage.

- */ export interface LaunchProfileStreamConfigurationSessionStorage { /** - *

Allows artists to upload files to their workstations. The only valid option is - * UPLOAD.

+ * Allows artists to upload files to their workstations. The only valid option is `UPLOAD` . */ - mode: enums.nimblestudio.LaunchProfileStreamingSessionStorageMode[]; + mode: string[]; /** * The configuration for the upload storage root of the streaming session. */ root?: outputs.nimblestudio.LaunchProfileStreamingSessionStorageRoot; } - /** - *

The upload storage root location (folder) on streaming workstations where files are - * uploaded.

- */ export interface LaunchProfileStreamingSessionStorageRoot { /** - *

The folder path in Linux workstations where files are uploaded.

+ * The folder path in Linux workstations where files are uploaded. */ linux?: string; /** - *

The folder path in Windows workstations where files are uploaded.

+ * The folder path in Windows workstations where files are uploaded. */ windows?: string; } - /** - *

Custom volume configuration for the root volumes that are attached to streaming - * sessions.

- *

This parameter is only allowed when sessionPersistenceMode is - * ACTIVATED.

- */ export interface LaunchProfileVolumeConfiguration { /** - *

The number of I/O operations per second for the root volume that is attached to - * streaming session.

+ * The number of I/O operations per second for the root volume that is attached to streaming session. */ iops?: number; /** - *

The size of the root volume that is attached to the streaming session. The root volume - * size is measured in GiBs.

+ * The size of the root volume that is attached to the streaming session. The root volume size is measured in GiBs. */ size?: number; /** - *

The throughput to provision for the root volume that is attached to the streaming - * session. The throughput is measured in MiB/s.

+ * The throughput to provision for the root volume that is attached to the streaming session. The throughput is measured in MiB/s. */ throughput?: number; } - /** - *

TODO

- */ export interface StreamingImageEncryptionConfiguration { /** - *

The ARN for a KMS key that is used to encrypt studio data.

+ * The ARN for a KMS key that is used to encrypt studio data. */ keyArn?: string; /** * The type of KMS key that is used to encrypt studio data. */ - keyType: enums.nimblestudio.StreamingImageEncryptionConfigurationKeyType; + keyType: string; } - /** - *

An LDAP attribute of an Active Directory computer account, in the form of a name:value - * pair.

- */ export interface StudioComponentActiveDirectoryComputerAttribute { /** - *

The name for the LDAP attribute.

+ * The name for the LDAP attribute. */ name?: string; /** - *

The value for the LDAP attribute.

+ * The value for the LDAP attribute. */ value?: string; } - /** - *

The configuration for a Microsoft Active Directory (Microsoft AD) studio - * resource.

- */ export interface StudioComponentActiveDirectoryConfiguration { /** - *

A collection of custom attributes for an Active Directory computer.

+ * A collection of custom attributes for an Active Directory computer. */ computerAttributes?: outputs.nimblestudio.StudioComponentActiveDirectoryComputerAttribute[]; /** - *

The directory ID of the Directory Service for Microsoft Active Directory to access - * using this studio component.

+ * The directory ID of the AWS Directory Service for Microsoft Active Directory to access using this studio component. */ directoryId?: string; /** - *

The distinguished name (DN) and organizational unit (OU) of an Active Directory - * computer.

+ * The distinguished name (DN) and organizational unit (OU) of an Active Directory computer. */ organizationalUnitDistinguishedName?: string; } - /** - *

The configuration for a render farm that is associated with a studio resource.

- */ export interface StudioComponentComputeFarmConfiguration { /** - *

The name of an Active Directory user that is used on ComputeFarm worker - * instances.

+ * The name of an Active Directory user that is used on ComputeFarm worker instances. */ activeDirectoryUser?: string; /** - *

The endpoint of the ComputeFarm that is accessed by the studio component - * resource.

+ * The endpoint of the ComputeFarm that is accessed by the studio component resource. */ endpoint?: string; } - /** - *

The configuration of the studio component, based on component type.

- */ - export interface StudioComponentConfiguration0Properties { - activeDirectoryConfiguration: outputs.nimblestudio.StudioComponentActiveDirectoryConfiguration; - } - - /** - *

The configuration of the studio component, based on component type.

- */ - export interface StudioComponentConfiguration1Properties { - computeFarmConfiguration: outputs.nimblestudio.StudioComponentComputeFarmConfiguration; - } - - /** - *

The configuration of the studio component, based on component type.

- */ - export interface StudioComponentConfiguration2Properties { - licenseServiceConfiguration: outputs.nimblestudio.StudioComponentLicenseServiceConfiguration; - } - - /** - *

The configuration of the studio component, based on component type.

- */ - export interface StudioComponentConfiguration3Properties { - sharedFileSystemConfiguration: outputs.nimblestudio.StudioComponentSharedFileSystemConfiguration; + export interface StudioComponentConfiguration { + /** + * The configuration for a AWS Directory Service for Microsoft Active Directory studio resource. + */ + activeDirectoryConfiguration?: outputs.nimblestudio.StudioComponentActiveDirectoryConfiguration; + /** + * The configuration for a render farm that is associated with a studio resource. + */ + computeFarmConfiguration?: outputs.nimblestudio.StudioComponentComputeFarmConfiguration; + /** + * The configuration for a license service that is associated with a studio resource. + */ + licenseServiceConfiguration?: outputs.nimblestudio.StudioComponentLicenseServiceConfiguration; + /** + * The configuration for a shared file storage system that is associated with a studio resource. + */ + sharedFileSystemConfiguration?: outputs.nimblestudio.StudioComponentSharedFileSystemConfiguration; } - /** - *

Initialization scripts for studio components.

- */ export interface StudioComponentInitializationScript { /** - *

The version number of the protocol that is used by the launch profile. The only valid - * version is "2021-03-31".

+ * The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31". */ launchProfileProtocolVersion?: string; /** * The platform of the initialization script, either Windows or Linux. */ - platform?: enums.nimblestudio.StudioComponentLaunchProfilePlatform; + platform?: string; /** * The method to use when running the initialization script. */ - runContext?: enums.nimblestudio.StudioComponentInitializationScriptRunContext; + runContext?: string; /** - *

The initialization script.

+ * The initialization script. */ script?: string; } - /** - *

The configuration for a license service that is associated with a studio - * resource.

- */ export interface StudioComponentLicenseServiceConfiguration { /** - *

The endpoint of the license service that is accessed by the studio component - * resource.

+ * The endpoint of the license service that is accessed by the studio component resource. */ endpoint?: string; } - /** - *

A parameter for a studio component script, in the form of a key:value pair.

- */ export interface StudioComponentScriptParameterKeyValue { /** - *

A script parameter key.

+ * A script parameter key. */ key?: string; /** - *

A script parameter value.

+ * A script parameter value. */ value?: string; } - /** - *

The configuration for a shared file storage system that is associated with a studio - * resource.

- */ export interface StudioComponentSharedFileSystemConfiguration { /** - *

The endpoint of the shared file system that is accessed by the studio component - * resource.

+ * The endpoint of the shared file system that is accessed by the studio component resource. */ endpoint?: string; /** - *

The unique identifier for a file system.

+ * The unique identifier for a file system. */ fileSystemId?: string; /** - *

The mount location for a shared file system on a Linux virtual workstation.

+ * The mount location for a shared file system on a Linux virtual workstation. */ linuxMountPoint?: string; /** - *

The name of the file share.

+ * The name of the file share. */ shareName?: string; /** - *

The mount location for a shared file system on a Windows virtual workstation.

+ * The mount location for a shared file system on a Windows virtual workstation. */ windowsMountDrive?: string; } - /** - *

Configuration of the encryption method that is used for the studio.

- */ export interface StudioEncryptionConfiguration { /** - *

The ARN for a KMS key that is used to encrypt studio data.

+ * The ARN for a KMS key that is used to encrypt studio data. */ keyArn?: string; /** * The type of KMS key that is used to encrypt studio data. */ - keyType: enums.nimblestudio.StudioEncryptionConfigurationKeyType; + keyType: string; } } @@ -70947,6 +70900,13 @@ export namespace quicksight { port: number; } + export interface DataSourceOAuthParameters { + identityProviderResourceUri?: string; + identityProviderVpcConnectionProperties?: outputs.quicksight.DataSourceVpcConnectionProperties; + oAuthScope?: string; + tokenProviderUrl: string; + } + /** *

The parameters for Oracle.

*/ @@ -71208,14 +71168,17 @@ export namespace quicksight { *

The parameters for Snowflake.

*/ export interface DataSourceSnowflakeParameters { + authenticationType?: enums.quicksight.DataSourceAuthenticationType; /** *

Database.

*/ database: string; + databaseAccessControlRole?: string; /** *

Host.

*/ host: string; + oAuthParameters?: outputs.quicksight.DataSourceOAuthParameters; /** *

Warehouse.

*/ @@ -71269,14 +71232,17 @@ export namespace quicksight { *

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

*/ export interface DataSourceStarburstParameters { + authenticationType?: enums.quicksight.DataSourceAuthenticationType; /** *

The catalog name for the Starburst data source.

*/ catalog: string; + databaseAccessControlRole?: string; /** *

The host name of the Starburst data source.

*/ host: string; + oAuthParameters?: outputs.quicksight.DataSourceOAuthParameters; /** *

The port for the Starburst data source.

*/ @@ -92988,6 +92954,38 @@ export namespace transfer { userSecretId?: string; } + export interface UserHomeDirectoryMapEntry { + /** + * Represents an entry for `HomeDirectoryMappings` . + */ + entry: string; + /** + * Represents the map target that is used in a `HomeDirectoryMapEntry` . + */ + target: string; + /** + * 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. + * + * > 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?: enums.transfer.UserMapType; + } + + export interface UserPosixProfile { + /** + * The POSIX group ID used for all EFS operations by this user. + */ + gid: number; + /** + * The secondary POSIX group IDs used for all EFS operations by this user. + */ + secondaryGids?: number[]; + /** + * The POSIX user ID used for all EFS operations by this user. + */ + uid: number; + } + /** * Specifies the details for an EFS file. */ diff --git a/sdk/nodejs/wisdom/aiAgent.ts b/sdk/nodejs/wisdom/aiAgent.ts index d705129d81..e7807f721c 100644 --- a/sdk/nodejs/wisdom/aiAgent.ts +++ b/sdk/nodejs/wisdom/aiAgent.ts @@ -37,14 +37,41 @@ export class AiAgent extends pulumi.CustomResource { return obj['__pulumiType'] === AiAgent.__pulumiType; } + /** + * The Amazon Resource Name (ARN) of the AI agent. + */ public /*out*/ readonly aiAgentArn!: pulumi.Output; + /** + * The identifier of the AI Agent. + */ public /*out*/ readonly aiAgentId!: pulumi.Output; + /** + * The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant. + */ public /*out*/ readonly assistantArn!: pulumi.Output; + /** + * The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. + */ public readonly assistantId!: pulumi.Output; + /** + * Configuration for the AI Agent. + */ public readonly configuration!: pulumi.Output; + /** + * The description of the AI Agent. + */ public readonly description!: pulumi.Output; + /** + * The name of the AI Agent. + */ public readonly name!: pulumi.Output; + /** + * The tags used to organize, track, or control access for this resource. + */ public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * The type of the AI Agent. + */ public readonly type!: pulumi.Output; /** @@ -98,10 +125,28 @@ export class AiAgent extends pulumi.CustomResource { * The set of arguments for constructing a AiAgent resource. */ export interface AiAgentArgs { + /** + * The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. + */ assistantId: pulumi.Input; + /** + * Configuration for the AI Agent. + */ configuration: pulumi.Input; + /** + * The description of the AI Agent. + */ description?: pulumi.Input; + /** + * The name of the AI Agent. + */ name?: pulumi.Input; + /** + * The tags used to organize, track, or control access for this resource. + */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * The type of the AI Agent. + */ type: pulumi.Input; } diff --git a/sdk/nodejs/wisdom/aiAgentVersion.ts b/sdk/nodejs/wisdom/aiAgentVersion.ts new file mode 100644 index 0000000000..9b48751d40 --- /dev/null +++ b/sdk/nodejs/wisdom/aiAgentVersion.ts @@ -0,0 +1,95 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +/** + * Definition of AWS::Wisdom::AIAgentVersion Resource Type + */ +export class AiAgentVersion extends pulumi.CustomResource { + /** + * Get an existing AiAgentVersion resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): AiAgentVersion { + return new AiAgentVersion(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:wisdom:AiAgentVersion'; + + /** + * Returns true if the given object is an instance of AiAgentVersion. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is AiAgentVersion { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AiAgentVersion.__pulumiType; + } + + public /*out*/ readonly aiAgentArn!: pulumi.Output; + public readonly aiAgentId!: pulumi.Output; + public /*out*/ readonly aiAgentVersionId!: pulumi.Output; + public /*out*/ readonly assistantArn!: pulumi.Output; + public readonly assistantId!: pulumi.Output; + public readonly modifiedTimeSeconds!: pulumi.Output; + /** + * The version number for this AI Agent version. + */ + public /*out*/ readonly versionNumber!: pulumi.Output; + + /** + * Create a AiAgentVersion resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: AiAgentVersionArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.aiAgentId === undefined) && !opts.urn) { + throw new Error("Missing required property 'aiAgentId'"); + } + if ((!args || args.assistantId === undefined) && !opts.urn) { + throw new Error("Missing required property 'assistantId'"); + } + resourceInputs["aiAgentId"] = args ? args.aiAgentId : undefined; + resourceInputs["assistantId"] = args ? args.assistantId : undefined; + resourceInputs["modifiedTimeSeconds"] = args ? args.modifiedTimeSeconds : undefined; + resourceInputs["aiAgentArn"] = undefined /*out*/; + resourceInputs["aiAgentVersionId"] = undefined /*out*/; + resourceInputs["assistantArn"] = undefined /*out*/; + resourceInputs["versionNumber"] = undefined /*out*/; + } else { + resourceInputs["aiAgentArn"] = undefined /*out*/; + resourceInputs["aiAgentId"] = undefined /*out*/; + resourceInputs["aiAgentVersionId"] = undefined /*out*/; + resourceInputs["assistantArn"] = undefined /*out*/; + resourceInputs["assistantId"] = undefined /*out*/; + resourceInputs["modifiedTimeSeconds"] = undefined /*out*/; + resourceInputs["versionNumber"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["aiAgentId", "assistantId", "modifiedTimeSeconds"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(AiAgentVersion.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a AiAgentVersion resource. + */ +export interface AiAgentVersionArgs { + aiAgentId: pulumi.Input; + assistantId: pulumi.Input; + modifiedTimeSeconds?: pulumi.Input; +} diff --git a/sdk/nodejs/wisdom/aiPromptVersion.ts b/sdk/nodejs/wisdom/aiPromptVersion.ts index 8d3e0a27ff..e0f17912bd 100644 --- a/sdk/nodejs/wisdom/aiPromptVersion.ts +++ b/sdk/nodejs/wisdom/aiPromptVersion.ts @@ -40,6 +40,9 @@ export class AiPromptVersion extends pulumi.CustomResource { public /*out*/ readonly assistantArn!: pulumi.Output; public readonly assistantId!: pulumi.Output; public readonly modifiedTimeSeconds!: pulumi.Output; + /** + * The version number for this AI Prompt version. + */ public /*out*/ readonly versionNumber!: pulumi.Output; /** diff --git a/sdk/nodejs/wisdom/getAiAgent.ts b/sdk/nodejs/wisdom/getAiAgent.ts index dc3b0147be..e22d3c0a4a 100644 --- a/sdk/nodejs/wisdom/getAiAgent.ts +++ b/sdk/nodejs/wisdom/getAiAgent.ts @@ -19,15 +19,36 @@ export function getAiAgent(args: GetAiAgentArgs, opts?: pulumi.InvokeOptions): P } export interface GetAiAgentArgs { + /** + * The identifier of the AI Agent. + */ aiAgentId: string; + /** + * The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. + */ assistantId: string; } export interface GetAiAgentResult { + /** + * The Amazon Resource Name (ARN) of the AI agent. + */ readonly aiAgentArn?: string; + /** + * The identifier of the AI Agent. + */ readonly aiAgentId?: string; + /** + * The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant. + */ readonly assistantArn?: string; + /** + * Configuration for the AI Agent. + */ readonly configuration?: outputs.wisdom.AiAgentAiAgentConfiguration0Properties | outputs.wisdom.AiAgentAiAgentConfiguration1Properties; + /** + * The description of the AI Agent. + */ readonly description?: string; } /** @@ -42,6 +63,12 @@ export function getAiAgentOutput(args: GetAiAgentOutputArgs, opts?: pulumi.Invok } export interface GetAiAgentOutputArgs { + /** + * The identifier of the AI Agent. + */ aiAgentId: pulumi.Input; + /** + * The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. + */ assistantId: pulumi.Input; } diff --git a/sdk/nodejs/wisdom/getAiAgentVersion.ts b/sdk/nodejs/wisdom/getAiAgentVersion.ts new file mode 100644 index 0000000000..67dea3e00a --- /dev/null +++ b/sdk/nodejs/wisdom/getAiAgentVersion.ts @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +/** + * Definition of AWS::Wisdom::AIAgentVersion Resource Type + */ +export function getAiAgentVersion(args: GetAiAgentVersionArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:wisdom:getAiAgentVersion", { + "aiAgentId": args.aiAgentId, + "assistantId": args.assistantId, + "versionNumber": args.versionNumber, + }, opts); +} + +export interface GetAiAgentVersionArgs { + aiAgentId: string; + assistantId: string; + /** + * The version number for this AI Agent version. + */ + versionNumber: number; +} + +export interface GetAiAgentVersionResult { + readonly aiAgentArn?: string; + readonly aiAgentVersionId?: string; + readonly assistantArn?: string; + /** + * The version number for this AI Agent version. + */ + readonly versionNumber?: number; +} +/** + * Definition of AWS::Wisdom::AIAgentVersion Resource Type + */ +export function getAiAgentVersionOutput(args: GetAiAgentVersionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("aws-native:wisdom:getAiAgentVersion", { + "aiAgentId": args.aiAgentId, + "assistantId": args.assistantId, + "versionNumber": args.versionNumber, + }, opts); +} + +export interface GetAiAgentVersionOutputArgs { + aiAgentId: pulumi.Input; + assistantId: pulumi.Input; + /** + * The version number for this AI Agent version. + */ + versionNumber: pulumi.Input; +} diff --git a/sdk/nodejs/wisdom/getAiPromptVersion.ts b/sdk/nodejs/wisdom/getAiPromptVersion.ts index a00fd2e1f6..4fe0264d64 100644 --- a/sdk/nodejs/wisdom/getAiPromptVersion.ts +++ b/sdk/nodejs/wisdom/getAiPromptVersion.ts @@ -19,6 +19,9 @@ export function getAiPromptVersion(args: GetAiPromptVersionArgs, opts?: pulumi.I export interface GetAiPromptVersionArgs { aiPromptId: string; assistantId: string; + /** + * The version number for this AI Prompt version. + */ versionNumber: number; } @@ -26,6 +29,9 @@ export interface GetAiPromptVersionResult { readonly aiPromptArn?: string; readonly aiPromptVersionId?: string; readonly assistantArn?: string; + /** + * The version number for this AI Prompt version. + */ readonly versionNumber?: number; } /** @@ -43,5 +49,8 @@ export function getAiPromptVersionOutput(args: GetAiPromptVersionOutputArgs, opt export interface GetAiPromptVersionOutputArgs { aiPromptId: pulumi.Input; assistantId: pulumi.Input; + /** + * The version number for this AI Prompt version. + */ versionNumber: pulumi.Input; } diff --git a/sdk/nodejs/wisdom/index.ts b/sdk/nodejs/wisdom/index.ts index f49922e244..7817eb5e1d 100644 --- a/sdk/nodejs/wisdom/index.ts +++ b/sdk/nodejs/wisdom/index.ts @@ -10,6 +10,11 @@ export type AiAgent = import("./aiAgent").AiAgent; export const AiAgent: typeof import("./aiAgent").AiAgent = null as any; utilities.lazyLoad(exports, ["AiAgent"], () => require("./aiAgent")); +export { AiAgentVersionArgs } from "./aiAgentVersion"; +export type AiAgentVersion = import("./aiAgentVersion").AiAgentVersion; +export const AiAgentVersion: typeof import("./aiAgentVersion").AiAgentVersion = null as any; +utilities.lazyLoad(exports, ["AiAgentVersion"], () => require("./aiAgentVersion")); + export { AiPromptArgs } from "./aiPrompt"; export type AiPrompt = import("./aiPrompt").AiPrompt; export const AiPrompt: typeof import("./aiPrompt").AiPrompt = null as any; @@ -35,6 +40,11 @@ export const getAiAgent: typeof import("./getAiAgent").getAiAgent = null as any; export const getAiAgentOutput: typeof import("./getAiAgent").getAiAgentOutput = null as any; utilities.lazyLoad(exports, ["getAiAgent","getAiAgentOutput"], () => require("./getAiAgent")); +export { GetAiAgentVersionArgs, GetAiAgentVersionResult, GetAiAgentVersionOutputArgs } from "./getAiAgentVersion"; +export const getAiAgentVersion: typeof import("./getAiAgentVersion").getAiAgentVersion = null as any; +export const getAiAgentVersionOutput: typeof import("./getAiAgentVersion").getAiAgentVersionOutput = null as any; +utilities.lazyLoad(exports, ["getAiAgentVersion","getAiAgentVersionOutput"], () => require("./getAiAgentVersion")); + export { GetAiPromptArgs, GetAiPromptResult, GetAiPromptOutputArgs } from "./getAiPrompt"; export const getAiPrompt: typeof import("./getAiPrompt").getAiPrompt = null as any; export const getAiPromptOutput: typeof import("./getAiPrompt").getAiPromptOutput = null as any; @@ -75,6 +85,8 @@ const _module = { switch (type) { case "aws-native:wisdom:AiAgent": return new AiAgent(name, undefined, { urn }) + case "aws-native:wisdom:AiAgentVersion": + return new AiAgentVersion(name, undefined, { urn }) case "aws-native:wisdom:AiPrompt": return new AiPrompt(name, undefined, { urn }) case "aws-native:wisdom:AiPromptVersion": diff --git a/sdk/python/pulumi_aws_native/__init__.py b/sdk/python/pulumi_aws_native/__init__.py index 68642e0a7a..6d18114b4b 100644 --- a/sdk/python/pulumi_aws_native/__init__.py +++ b/sdk/python/pulumi_aws_native/__init__.py @@ -1494,6 +1494,7 @@ "aws-native:ec2:SecurityGroup": "SecurityGroup", "aws-native:ec2:SecurityGroupEgress": "SecurityGroupEgress", "aws-native:ec2:SecurityGroupIngress": "SecurityGroupIngress", + "aws-native:ec2:SecurityGroupVpcAssociation": "SecurityGroupVpcAssociation", "aws-native:ec2:SnapshotBlockPublicAccess": "SnapshotBlockPublicAccess", "aws-native:ec2:SpotFleet": "SpotFleet", "aws-native:ec2:Subnet": "Subnet", @@ -2660,6 +2661,7 @@ "aws-native:rds:DbProxy": "DbProxy", "aws-native:rds:DbProxyEndpoint": "DbProxyEndpoint", "aws-native:rds:DbProxyTargetGroup": "DbProxyTargetGroup", + "aws-native:rds:DbShardGroup": "DbShardGroup", "aws-native:rds:DbSubnetGroup": "DbSubnetGroup", "aws-native:rds:EventSubscription": "EventSubscription", "aws-native:rds:GlobalCluster": "GlobalCluster", @@ -3162,6 +3164,7 @@ "aws-native:transfer:Connector": "Connector", "aws-native:transfer:Profile": "Profile", "aws-native:transfer:Server": "Server", + "aws-native:transfer:User": "User", "aws-native:transfer:Workflow": "Workflow" } }, @@ -3220,6 +3223,7 @@ "fqn": "pulumi_aws_native.wisdom", "classes": { "aws-native:wisdom:AiAgent": "AiAgent", + "aws-native:wisdom:AiAgentVersion": "AiAgentVersion", "aws-native:wisdom:AiPrompt": "AiPrompt", "aws-native:wisdom:AiPromptVersion": "AiPromptVersion", "aws-native:wisdom:Assistant": "Assistant", diff --git a/sdk/python/pulumi_aws_native/appsync/_inputs.py b/sdk/python/pulumi_aws_native/appsync/_inputs.py index 4681317b29..f1cec78943 100644 --- a/sdk/python/pulumi_aws_native/appsync/_inputs.py +++ b/sdk/python/pulumi_aws_native/appsync/_inputs.py @@ -245,10 +245,25 @@ class ApiEventConfigArgsDict(TypedDict): The configuration for an Event Api """ auth_providers: pulumi.Input[Sequence[pulumi.Input['ApiAuthProviderArgsDict']]] + """ + A list of authorization providers. + """ connection_auth_modes: pulumi.Input[Sequence[pulumi.Input['ApiAuthModeArgsDict']]] + """ + A list of valid authorization modes for the Event API connections. + """ default_publish_auth_modes: pulumi.Input[Sequence[pulumi.Input['ApiAuthModeArgsDict']]] + """ + A list of valid authorization modes for the Event API publishing. + """ default_subscribe_auth_modes: pulumi.Input[Sequence[pulumi.Input['ApiAuthModeArgsDict']]] + """ + A list of valid authorization modes for the Event API subscriptions. + """ log_config: NotRequired[pulumi.Input['ApiEventLogConfigArgsDict']] + """ + The CloudWatch Logs configuration for the Event API. + """ elif False: ApiEventConfigArgsDict: TypeAlias = Mapping[str, Any] @@ -262,6 +277,11 @@ def __init__(__self__, *, log_config: Optional[pulumi.Input['ApiEventLogConfigArgs']] = None): """ The configuration for an Event Api + :param pulumi.Input[Sequence[pulumi.Input['ApiAuthProviderArgs']]] auth_providers: A list of authorization providers. + :param pulumi.Input[Sequence[pulumi.Input['ApiAuthModeArgs']]] connection_auth_modes: A list of valid authorization modes for the Event API connections. + :param pulumi.Input[Sequence[pulumi.Input['ApiAuthModeArgs']]] default_publish_auth_modes: A list of valid authorization modes for the Event API publishing. + :param pulumi.Input[Sequence[pulumi.Input['ApiAuthModeArgs']]] default_subscribe_auth_modes: A list of valid authorization modes for the Event API subscriptions. + :param pulumi.Input['ApiEventLogConfigArgs'] log_config: The CloudWatch Logs configuration for the Event API. """ pulumi.set(__self__, "auth_providers", auth_providers) pulumi.set(__self__, "connection_auth_modes", connection_auth_modes) @@ -273,6 +293,9 @@ def __init__(__self__, *, @property @pulumi.getter(name="authProviders") def auth_providers(self) -> pulumi.Input[Sequence[pulumi.Input['ApiAuthProviderArgs']]]: + """ + A list of authorization providers. + """ return pulumi.get(self, "auth_providers") @auth_providers.setter @@ -282,6 +305,9 @@ def auth_providers(self, value: pulumi.Input[Sequence[pulumi.Input['ApiAuthProvi @property @pulumi.getter(name="connectionAuthModes") def connection_auth_modes(self) -> pulumi.Input[Sequence[pulumi.Input['ApiAuthModeArgs']]]: + """ + A list of valid authorization modes for the Event API connections. + """ return pulumi.get(self, "connection_auth_modes") @connection_auth_modes.setter @@ -291,6 +317,9 @@ def connection_auth_modes(self, value: pulumi.Input[Sequence[pulumi.Input['ApiAu @property @pulumi.getter(name="defaultPublishAuthModes") def default_publish_auth_modes(self) -> pulumi.Input[Sequence[pulumi.Input['ApiAuthModeArgs']]]: + """ + A list of valid authorization modes for the Event API publishing. + """ return pulumi.get(self, "default_publish_auth_modes") @default_publish_auth_modes.setter @@ -300,6 +329,9 @@ def default_publish_auth_modes(self, value: pulumi.Input[Sequence[pulumi.Input[' @property @pulumi.getter(name="defaultSubscribeAuthModes") def default_subscribe_auth_modes(self) -> pulumi.Input[Sequence[pulumi.Input['ApiAuthModeArgs']]]: + """ + A list of valid authorization modes for the Event API subscriptions. + """ return pulumi.get(self, "default_subscribe_auth_modes") @default_subscribe_auth_modes.setter @@ -309,6 +341,9 @@ def default_subscribe_auth_modes(self, value: pulumi.Input[Sequence[pulumi.Input @property @pulumi.getter(name="logConfig") def log_config(self) -> Optional[pulumi.Input['ApiEventLogConfigArgs']]: + """ + The CloudWatch Logs configuration for the Event API. + """ return pulumi.get(self, "log_config") @log_config.setter @@ -322,7 +357,13 @@ class ApiEventLogConfigArgsDict(TypedDict): The log config for the AppSync API. """ cloud_watch_logs_role_arn: pulumi.Input[str] + """ + The IAM service role that AWS AppSync assumes to publish CloudWatch Logs in your account. + """ log_level: pulumi.Input['ApiEventLogLevel'] + """ + The type of information to log for the Event API. + """ elif False: ApiEventLogConfigArgsDict: TypeAlias = Mapping[str, Any] @@ -333,6 +374,8 @@ def __init__(__self__, *, log_level: pulumi.Input['ApiEventLogLevel']): """ The log config for the AppSync API. + :param pulumi.Input[str] cloud_watch_logs_role_arn: The IAM service role that AWS AppSync assumes to publish CloudWatch Logs in your account. + :param pulumi.Input['ApiEventLogLevel'] log_level: The type of information to log for the Event API. """ pulumi.set(__self__, "cloud_watch_logs_role_arn", cloud_watch_logs_role_arn) pulumi.set(__self__, "log_level", log_level) @@ -340,6 +383,9 @@ def __init__(__self__, *, @property @pulumi.getter(name="cloudWatchLogsRoleArn") def cloud_watch_logs_role_arn(self) -> pulumi.Input[str]: + """ + The IAM service role that AWS AppSync assumes to publish CloudWatch Logs in your account. + """ return pulumi.get(self, "cloud_watch_logs_role_arn") @cloud_watch_logs_role_arn.setter @@ -349,6 +395,9 @@ def cloud_watch_logs_role_arn(self, value: pulumi.Input[str]): @property @pulumi.getter(name="logLevel") def log_level(self) -> pulumi.Input['ApiEventLogLevel']: + """ + The type of information to log for the Event API. + """ return pulumi.get(self, "log_level") @log_level.setter diff --git a/sdk/python/pulumi_aws_native/appsync/api.py b/sdk/python/pulumi_aws_native/appsync/api.py index 13c9b02710..de8c7cd7f7 100644 --- a/sdk/python/pulumi_aws_native/appsync/api.py +++ b/sdk/python/pulumi_aws_native/appsync/api.py @@ -30,11 +30,12 @@ def __init__(__self__, *, tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None): """ The set of arguments for constructing a Api resource. - :param pulumi.Input[str] name: The API name. + :param pulumi.Input['ApiEventConfigArgs'] event_config: Describes the authorization configuration for connections, message publishing, message subscriptions, and logging for an Event API. + :param pulumi.Input[str] name: The name of the `Api` . :param pulumi.Input[str] owner_contact: The owner contact information for an API resource. This field accepts any string input with a length of 0 - 256 characters. - :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: The tags. + :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: A set of tags (key-value pairs) for this API. """ if event_config is not None: pulumi.set(__self__, "event_config", event_config) @@ -48,6 +49,9 @@ def __init__(__self__, *, @property @pulumi.getter(name="eventConfig") def event_config(self) -> Optional[pulumi.Input['ApiEventConfigArgs']]: + """ + Describes the authorization configuration for connections, message publishing, message subscriptions, and logging for an Event API. + """ return pulumi.get(self, "event_config") @event_config.setter @@ -58,7 +62,7 @@ def event_config(self, value: Optional[pulumi.Input['ApiEventConfigArgs']]): @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - The API name. + The name of the `Api` . """ return pulumi.get(self, "name") @@ -84,7 +88,7 @@ def owner_contact(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]: """ - The tags. + A set of tags (key-value pairs) for this API. """ return pulumi.get(self, "tags") @@ -108,11 +112,12 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] name: The API name. + :param pulumi.Input[Union['ApiEventConfigArgs', 'ApiEventConfigArgsDict']] event_config: Describes the authorization configuration for connections, message publishing, message subscriptions, and logging for an Event API. + :param pulumi.Input[str] name: The name of the `Api` . :param pulumi.Input[str] owner_contact: The owner contact information for an API resource. This field accepts any string input with a length of 0 - 256 characters. - :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]] tags: The tags. + :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]] tags: A set of tags (key-value pairs) for this API. """ ... @overload @@ -207,19 +212,22 @@ def api_id(self) -> pulumi.Output[str]: @property @pulumi.getter - def dns(self) -> pulumi.Output[Mapping[str, str]]: + def dns(self) -> pulumi.Output['outputs.ApiDnsMap']: return pulumi.get(self, "dns") @property @pulumi.getter(name="eventConfig") def event_config(self) -> pulumi.Output[Optional['outputs.ApiEventConfig']]: + """ + Describes the authorization configuration for connections, message publishing, message subscriptions, and logging for an Event API. + """ return pulumi.get(self, "event_config") @property @pulumi.getter def name(self) -> pulumi.Output[str]: """ - The API name. + The name of the `Api` . """ return pulumi.get(self, "name") @@ -237,7 +245,7 @@ def owner_contact(self) -> pulumi.Output[Optional[str]]: @pulumi.getter def tags(self) -> pulumi.Output[Optional[Sequence['_root_outputs.Tag']]]: """ - The tags. + A set of tags (key-value pairs) for this API. """ return pulumi.get(self, "tags") diff --git a/sdk/python/pulumi_aws_native/appsync/channel_namespace.py b/sdk/python/pulumi_aws_native/appsync/channel_namespace.py index 87eb71c55a..b90f2e724a 100644 --- a/sdk/python/pulumi_aws_native/appsync/channel_namespace.py +++ b/sdk/python/pulumi_aws_native/appsync/channel_namespace.py @@ -34,9 +34,12 @@ def __init__(__self__, *, """ The set of arguments for constructing a ChannelNamespace resource. :param pulumi.Input[str] api_id: AppSync Api Id that this Channel Namespace belongs to. + :param pulumi.Input[str] code_handlers: The event handler functions that run custom business logic to process published events and subscribe requests. :param pulumi.Input[str] code_s3_location: The Amazon S3 endpoint where the code is located. + :param pulumi.Input[str] name: The name of the channel namespace. This name must be unique within the `Api` . :param pulumi.Input[Sequence[pulumi.Input['ChannelNamespaceAuthModeArgs']]] publish_auth_modes: List of AuthModes supported for Publish operations. :param pulumi.Input[Sequence[pulumi.Input['ChannelNamespaceAuthModeArgs']]] subscribe_auth_modes: List of AuthModes supported for Subscribe operations. + :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: A set of tags (key-value pairs) for this channel namespace. """ pulumi.set(__self__, "api_id", api_id) if code_handlers is not None: @@ -67,6 +70,9 @@ def api_id(self, value: pulumi.Input[str]): @property @pulumi.getter(name="codeHandlers") def code_handlers(self) -> Optional[pulumi.Input[str]]: + """ + The event handler functions that run custom business logic to process published events and subscribe requests. + """ return pulumi.get(self, "code_handlers") @code_handlers.setter @@ -88,6 +94,9 @@ def code_s3_location(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the channel namespace. This name must be unique within the `Api` . + """ return pulumi.get(self, "name") @name.setter @@ -121,6 +130,9 @@ def subscribe_auth_modes(self, value: Optional[pulumi.Input[Sequence[pulumi.Inpu @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]: + """ + A set of tags (key-value pairs) for this channel namespace. + """ return pulumi.get(self, "tags") @tags.setter @@ -147,9 +159,12 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] api_id: AppSync Api Id that this Channel Namespace belongs to. + :param pulumi.Input[str] code_handlers: The event handler functions that run custom business logic to process published events and subscribe requests. :param pulumi.Input[str] code_s3_location: The Amazon S3 endpoint where the code is located. + :param pulumi.Input[str] name: The name of the channel namespace. This name must be unique within the `Api` . :param pulumi.Input[Sequence[pulumi.Input[Union['ChannelNamespaceAuthModeArgs', 'ChannelNamespaceAuthModeArgsDict']]]] publish_auth_modes: List of AuthModes supported for Publish operations. :param pulumi.Input[Sequence[pulumi.Input[Union['ChannelNamespaceAuthModeArgs', 'ChannelNamespaceAuthModeArgsDict']]]] subscribe_auth_modes: List of AuthModes supported for Subscribe operations. + :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]] tags: A set of tags (key-value pairs) for this channel namespace. """ ... @overload @@ -246,11 +261,17 @@ def api_id(self) -> pulumi.Output[str]: @property @pulumi.getter(name="channelNamespaceArn") def channel_namespace_arn(self) -> pulumi.Output[str]: + """ + The Amazon Resource Name (ARN) of the channel namespace. + """ return pulumi.get(self, "channel_namespace_arn") @property @pulumi.getter(name="codeHandlers") def code_handlers(self) -> pulumi.Output[Optional[str]]: + """ + The event handler functions that run custom business logic to process published events and subscribe requests. + """ return pulumi.get(self, "code_handlers") @property @@ -264,6 +285,9 @@ def code_s3_location(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter def name(self) -> pulumi.Output[str]: + """ + The name of the channel namespace. This name must be unique within the `Api` . + """ return pulumi.get(self, "name") @property @@ -285,5 +309,8 @@ def subscribe_auth_modes(self) -> pulumi.Output[Optional[Sequence['outputs.Chann @property @pulumi.getter def tags(self) -> pulumi.Output[Optional[Sequence['_root_outputs.Tag']]]: + """ + A set of tags (key-value pairs) for this channel namespace. + """ return pulumi.get(self, "tags") diff --git a/sdk/python/pulumi_aws_native/appsync/get_api.py b/sdk/python/pulumi_aws_native/appsync/get_api.py index 292d8d73b0..d0cbbe6498 100644 --- a/sdk/python/pulumi_aws_native/appsync/get_api.py +++ b/sdk/python/pulumi_aws_native/appsync/get_api.py @@ -67,19 +67,22 @@ def api_id(self) -> Optional[str]: @property @pulumi.getter - def dns(self) -> Optional[Mapping[str, str]]: + def dns(self) -> Optional['outputs.ApiDnsMap']: return pulumi.get(self, "dns") @property @pulumi.getter(name="eventConfig") def event_config(self) -> Optional['outputs.ApiEventConfig']: + """ + Describes the authorization configuration for connections, message publishing, message subscriptions, and logging for an Event API. + """ return pulumi.get(self, "event_config") @property @pulumi.getter def name(self) -> Optional[str]: """ - The API name. + The name of the `Api` . """ return pulumi.get(self, "name") @@ -97,7 +100,7 @@ def owner_contact(self) -> Optional[str]: @pulumi.getter def tags(self) -> Optional[Sequence['_root_outputs.Tag']]: """ - The tags. + A set of tags (key-value pairs) for this API. """ return pulumi.get(self, "tags") diff --git a/sdk/python/pulumi_aws_native/appsync/get_channel_namespace.py b/sdk/python/pulumi_aws_native/appsync/get_channel_namespace.py index ade0c8f204..aef56969d8 100644 --- a/sdk/python/pulumi_aws_native/appsync/get_channel_namespace.py +++ b/sdk/python/pulumi_aws_native/appsync/get_channel_namespace.py @@ -46,11 +46,17 @@ def __init__(__self__, channel_namespace_arn=None, code_handlers=None, publish_a @property @pulumi.getter(name="channelNamespaceArn") def channel_namespace_arn(self) -> Optional[str]: + """ + The Amazon Resource Name (ARN) of the channel namespace. + """ return pulumi.get(self, "channel_namespace_arn") @property @pulumi.getter(name="codeHandlers") def code_handlers(self) -> Optional[str]: + """ + The event handler functions that run custom business logic to process published events and subscribe requests. + """ return pulumi.get(self, "code_handlers") @property @@ -72,6 +78,9 @@ def subscribe_auth_modes(self) -> Optional[Sequence['outputs.ChannelNamespaceAut @property @pulumi.getter def tags(self) -> Optional[Sequence['_root_outputs.Tag']]: + """ + A set of tags (key-value pairs) for this channel namespace. + """ return pulumi.get(self, "tags") @@ -92,6 +101,9 @@ def get_channel_namespace(channel_namespace_arn: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetChannelNamespaceResult: """ Resource schema for AppSync ChannelNamespace + + + :param str channel_namespace_arn: The Amazon Resource Name (ARN) of the channel namespace. """ __args__ = dict() __args__['channelNamespaceArn'] = channel_namespace_arn @@ -108,6 +120,9 @@ def get_channel_namespace_output(channel_namespace_arn: Optional[pulumi.Input[st opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetChannelNamespaceResult]: """ Resource schema for AppSync ChannelNamespace + + + :param str channel_namespace_arn: The Amazon Resource Name (ARN) of the channel namespace. """ __args__ = dict() __args__['channelNamespaceArn'] = channel_namespace_arn diff --git a/sdk/python/pulumi_aws_native/appsync/outputs.py b/sdk/python/pulumi_aws_native/appsync/outputs.py index 43208fd64e..f7c49bded3 100644 --- a/sdk/python/pulumi_aws_native/appsync/outputs.py +++ b/sdk/python/pulumi_aws_native/appsync/outputs.py @@ -20,6 +20,7 @@ 'ApiAuthMode', 'ApiAuthProvider', 'ApiCognitoConfig', + 'ApiDnsMap', 'ApiEventConfig', 'ApiEventLogConfig', 'ApiLambdaAuthorizerConfig', @@ -209,6 +210,41 @@ def app_id_client_regex(self) -> Optional[str]: return pulumi.get(self, "app_id_client_regex") +@pulumi.output_type +class ApiDnsMap(dict): + """ + A map of DNS names for the AppSync API. + """ + def __init__(__self__, *, + http: Optional[str] = None, + realtime: Optional[str] = None): + """ + A map of DNS names for the AppSync API. + :param str http: The domain name of the Api's HTTP endpoint. + :param str realtime: The domain name of the Api's real-time endpoint. + """ + if http is not None: + pulumi.set(__self__, "http", http) + if realtime is not None: + pulumi.set(__self__, "realtime", realtime) + + @property + @pulumi.getter + def http(self) -> Optional[str]: + """ + The domain name of the Api's HTTP endpoint. + """ + return pulumi.get(self, "http") + + @property + @pulumi.getter + def realtime(self) -> Optional[str]: + """ + The domain name of the Api's real-time endpoint. + """ + return pulumi.get(self, "realtime") + + @pulumi.output_type class ApiEventConfig(dict): """ @@ -247,6 +283,11 @@ def __init__(__self__, *, log_config: Optional['outputs.ApiEventLogConfig'] = None): """ The configuration for an Event Api + :param Sequence['ApiAuthProvider'] auth_providers: A list of authorization providers. + :param Sequence['ApiAuthMode'] connection_auth_modes: A list of valid authorization modes for the Event API connections. + :param Sequence['ApiAuthMode'] default_publish_auth_modes: A list of valid authorization modes for the Event API publishing. + :param Sequence['ApiAuthMode'] default_subscribe_auth_modes: A list of valid authorization modes for the Event API subscriptions. + :param 'ApiEventLogConfig' log_config: The CloudWatch Logs configuration for the Event API. """ pulumi.set(__self__, "auth_providers", auth_providers) pulumi.set(__self__, "connection_auth_modes", connection_auth_modes) @@ -258,26 +299,41 @@ def __init__(__self__, *, @property @pulumi.getter(name="authProviders") def auth_providers(self) -> Sequence['outputs.ApiAuthProvider']: + """ + A list of authorization providers. + """ return pulumi.get(self, "auth_providers") @property @pulumi.getter(name="connectionAuthModes") def connection_auth_modes(self) -> Sequence['outputs.ApiAuthMode']: + """ + A list of valid authorization modes for the Event API connections. + """ return pulumi.get(self, "connection_auth_modes") @property @pulumi.getter(name="defaultPublishAuthModes") def default_publish_auth_modes(self) -> Sequence['outputs.ApiAuthMode']: + """ + A list of valid authorization modes for the Event API publishing. + """ return pulumi.get(self, "default_publish_auth_modes") @property @pulumi.getter(name="defaultSubscribeAuthModes") def default_subscribe_auth_modes(self) -> Sequence['outputs.ApiAuthMode']: + """ + A list of valid authorization modes for the Event API subscriptions. + """ return pulumi.get(self, "default_subscribe_auth_modes") @property @pulumi.getter(name="logConfig") def log_config(self) -> Optional['outputs.ApiEventLogConfig']: + """ + The CloudWatch Logs configuration for the Event API. + """ return pulumi.get(self, "log_config") @@ -310,6 +366,8 @@ def __init__(__self__, *, log_level: 'ApiEventLogLevel'): """ The log config for the AppSync API. + :param str cloud_watch_logs_role_arn: The IAM service role that AWS AppSync assumes to publish CloudWatch Logs in your account. + :param 'ApiEventLogLevel' log_level: The type of information to log for the Event API. """ pulumi.set(__self__, "cloud_watch_logs_role_arn", cloud_watch_logs_role_arn) pulumi.set(__self__, "log_level", log_level) @@ -317,11 +375,17 @@ def __init__(__self__, *, @property @pulumi.getter(name="cloudWatchLogsRoleArn") def cloud_watch_logs_role_arn(self) -> str: + """ + The IAM service role that AWS AppSync assumes to publish CloudWatch Logs in your account. + """ return pulumi.get(self, "cloud_watch_logs_role_arn") @property @pulumi.getter(name="logLevel") def log_level(self) -> 'ApiEventLogLevel': + """ + The type of information to log for the Event API. + """ return pulumi.get(self, "log_level") diff --git a/sdk/python/pulumi_aws_native/aps/get_scraper.py b/sdk/python/pulumi_aws_native/aps/get_scraper.py index ad79a8fe1b..c7369b3eee 100644 --- a/sdk/python/pulumi_aws_native/aps/get_scraper.py +++ b/sdk/python/pulumi_aws_native/aps/get_scraper.py @@ -13,6 +13,7 @@ else: from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities +from . import outputs from .. import outputs as _root_outputs __all__ = [ @@ -24,13 +25,22 @@ @pulumi.output_type class GetScraperResult: - def __init__(__self__, arn=None, role_arn=None, scraper_id=None, tags=None): + def __init__(__self__, alias=None, arn=None, destination=None, role_arn=None, scrape_configuration=None, scraper_id=None, tags=None): + if alias and not isinstance(alias, str): + raise TypeError("Expected argument 'alias' to be a str") + pulumi.set(__self__, "alias", alias) if arn and not isinstance(arn, str): raise TypeError("Expected argument 'arn' to be a str") pulumi.set(__self__, "arn", arn) + if destination and not isinstance(destination, dict): + raise TypeError("Expected argument 'destination' to be a dict") + pulumi.set(__self__, "destination", destination) if role_arn and not isinstance(role_arn, str): raise TypeError("Expected argument 'role_arn' to be a str") pulumi.set(__self__, "role_arn", role_arn) + if scrape_configuration and not isinstance(scrape_configuration, dict): + raise TypeError("Expected argument 'scrape_configuration' to be a dict") + pulumi.set(__self__, "scrape_configuration", scrape_configuration) if scraper_id and not isinstance(scraper_id, str): raise TypeError("Expected argument 'scraper_id' to be a str") pulumi.set(__self__, "scraper_id", scraper_id) @@ -38,6 +48,14 @@ def __init__(__self__, arn=None, role_arn=None, scraper_id=None, tags=None): raise TypeError("Expected argument 'tags' to be a list") pulumi.set(__self__, "tags", tags) + @property + @pulumi.getter + def alias(self) -> Optional[str]: + """ + Scraper alias. + """ + return pulumi.get(self, "alias") + @property @pulumi.getter def arn(self) -> Optional[str]: @@ -46,6 +64,14 @@ def arn(self) -> Optional[str]: """ return pulumi.get(self, "arn") + @property + @pulumi.getter + def destination(self) -> Optional['outputs.ScraperDestination']: + """ + The Amazon Managed Service for Prometheus workspace the scraper sends metrics to. + """ + return pulumi.get(self, "destination") + @property @pulumi.getter(name="roleArn") def role_arn(self) -> Optional[str]: @@ -54,6 +80,14 @@ def role_arn(self) -> Optional[str]: """ return pulumi.get(self, "role_arn") + @property + @pulumi.getter(name="scrapeConfiguration") + def scrape_configuration(self) -> Optional['outputs.ScraperScrapeConfiguration']: + """ + The configuration in use by the scraper. + """ + return pulumi.get(self, "scrape_configuration") + @property @pulumi.getter(name="scraperId") def scraper_id(self) -> Optional[str]: @@ -77,8 +111,11 @@ def __await__(self): if False: yield self return GetScraperResult( + alias=self.alias, arn=self.arn, + destination=self.destination, role_arn=self.role_arn, + scrape_configuration=self.scrape_configuration, scraper_id=self.scraper_id, tags=self.tags) @@ -97,8 +134,11 @@ def get_scraper(arn: Optional[str] = None, __ret__ = pulumi.runtime.invoke('aws-native:aps:getScraper', __args__, opts=opts, typ=GetScraperResult).value return AwaitableGetScraperResult( + alias=pulumi.get(__ret__, 'alias'), arn=pulumi.get(__ret__, 'arn'), + destination=pulumi.get(__ret__, 'destination'), role_arn=pulumi.get(__ret__, 'role_arn'), + scrape_configuration=pulumi.get(__ret__, 'scrape_configuration'), scraper_id=pulumi.get(__ret__, 'scraper_id'), tags=pulumi.get(__ret__, 'tags')) def get_scraper_output(arn: Optional[pulumi.Input[str]] = None, @@ -114,7 +154,10 @@ def get_scraper_output(arn: Optional[pulumi.Input[str]] = None, opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws-native:aps:getScraper', __args__, opts=opts, typ=GetScraperResult) return __ret__.apply(lambda __response__: GetScraperResult( + alias=pulumi.get(__response__, 'alias'), arn=pulumi.get(__response__, 'arn'), + destination=pulumi.get(__response__, 'destination'), role_arn=pulumi.get(__response__, 'role_arn'), + scrape_configuration=pulumi.get(__response__, 'scrape_configuration'), scraper_id=pulumi.get(__response__, 'scraper_id'), tags=pulumi.get(__response__, 'tags'))) diff --git a/sdk/python/pulumi_aws_native/aps/scraper.py b/sdk/python/pulumi_aws_native/aps/scraper.py index a242f31077..53132559e1 100644 --- a/sdk/python/pulumi_aws_native/aps/scraper.py +++ b/sdk/python/pulumi_aws_native/aps/scraper.py @@ -179,7 +179,7 @@ def _internal_init(__self__, __props__.__dict__["arn"] = None __props__.__dict__["role_arn"] = None __props__.__dict__["scraper_id"] = None - replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["alias", "destination", "scrapeConfiguration", "source"]) + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["source"]) opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) super(Scraper, __self__).__init__( 'aws-native:aps:Scraper', diff --git a/sdk/python/pulumi_aws_native/bedrock/application_inference_profile.py b/sdk/python/pulumi_aws_native/bedrock/application_inference_profile.py index feebfe1850..dbb0d24a68 100644 --- a/sdk/python/pulumi_aws_native/bedrock/application_inference_profile.py +++ b/sdk/python/pulumi_aws_native/bedrock/application_inference_profile.py @@ -31,6 +31,8 @@ def __init__(__self__, *, """ The set of arguments for constructing a ApplicationInferenceProfile resource. :param pulumi.Input[str] description: Description of the inference profile + :param pulumi.Input[str] inference_profile_name: The name of the inference profile. + :param pulumi.Input['ApplicationInferenceProfileInferenceProfileModelSourcePropertiesArgs'] model_source: Contains configurations for the inference profile to copy as the resource. :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: List of Tags """ if description is not None: @@ -57,6 +59,9 @@ def description(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="inferenceProfileName") def inference_profile_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the inference profile. + """ return pulumi.get(self, "inference_profile_name") @inference_profile_name.setter @@ -66,6 +71,9 @@ def inference_profile_name(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="modelSource") def model_source(self) -> Optional[pulumi.Input['ApplicationInferenceProfileInferenceProfileModelSourcePropertiesArgs']]: + """ + Contains configurations for the inference profile to copy as the resource. + """ return pulumi.get(self, "model_source") @model_source.setter @@ -101,6 +109,8 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] description: Description of the inference profile + :param pulumi.Input[str] inference_profile_name: The name of the inference profile. + :param pulumi.Input[Union['ApplicationInferenceProfileInferenceProfileModelSourcePropertiesArgs', 'ApplicationInferenceProfileInferenceProfileModelSourcePropertiesArgsDict']] model_source: Contains configurations for the inference profile to copy as the resource. :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]] tags: List of Tags """ ... @@ -209,11 +219,17 @@ def description(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter(name="inferenceProfileArn") def inference_profile_arn(self) -> pulumi.Output[str]: + """ + The Amazon Resource Name (ARN) of the inference profile. + """ return pulumi.get(self, "inference_profile_arn") @property @pulumi.getter(name="inferenceProfileId") def inference_profile_id(self) -> pulumi.Output[str]: + """ + The unique identifier of the inference profile. + """ return pulumi.get(self, "inference_profile_id") @property @@ -227,11 +243,17 @@ def inference_profile_identifier(self) -> pulumi.Output[str]: @property @pulumi.getter(name="inferenceProfileName") def inference_profile_name(self) -> pulumi.Output[str]: + """ + The name of the inference profile. + """ return pulumi.get(self, "inference_profile_name") @property @pulumi.getter(name="modelSource") def model_source(self) -> pulumi.Output[Optional['outputs.ApplicationInferenceProfileInferenceProfileModelSourceProperties']]: + """ + Contains configurations for the inference profile to copy as the resource. + """ return pulumi.get(self, "model_source") @property @@ -245,6 +267,9 @@ def models(self) -> pulumi.Output[Sequence['outputs.ApplicationInferenceProfileI @property @pulumi.getter def status(self) -> pulumi.Output['ApplicationInferenceProfileInferenceProfileStatus']: + """ + The status of the inference profile. `ACTIVE` means that the inference profile is ready to be used. + """ return pulumi.get(self, "status") @property @@ -258,6 +283,12 @@ def tags(self) -> pulumi.Output[Optional[Sequence['_root_outputs.Tag']]]: @property @pulumi.getter def type(self) -> pulumi.Output['ApplicationInferenceProfileInferenceProfileType']: + """ + The type of the inference profile. The following types are possible: + + - `SYSTEM_DEFINED` – The inference profile is defined by Amazon Bedrock. You can route inference requests across regions with these inference profiles. + - `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. + """ return pulumi.get(self, "type") @property diff --git a/sdk/python/pulumi_aws_native/bedrock/get_application_inference_profile.py b/sdk/python/pulumi_aws_native/bedrock/get_application_inference_profile.py index be8164f11e..6e6280afbf 100644 --- a/sdk/python/pulumi_aws_native/bedrock/get_application_inference_profile.py +++ b/sdk/python/pulumi_aws_native/bedrock/get_application_inference_profile.py @@ -66,11 +66,17 @@ def created_at(self) -> Optional[str]: @property @pulumi.getter(name="inferenceProfileArn") def inference_profile_arn(self) -> Optional[str]: + """ + The Amazon Resource Name (ARN) of the inference profile. + """ return pulumi.get(self, "inference_profile_arn") @property @pulumi.getter(name="inferenceProfileId") def inference_profile_id(self) -> Optional[str]: + """ + The unique identifier of the inference profile. + """ return pulumi.get(self, "inference_profile_id") @property @@ -92,6 +98,9 @@ def models(self) -> Optional[Sequence['outputs.ApplicationInferenceProfileInfere @property @pulumi.getter def status(self) -> Optional['ApplicationInferenceProfileInferenceProfileStatus']: + """ + The status of the inference profile. `ACTIVE` means that the inference profile is ready to be used. + """ return pulumi.get(self, "status") @property @@ -105,6 +114,12 @@ def tags(self) -> Optional[Sequence['_root_outputs.Tag']]: @property @pulumi.getter def type(self) -> Optional['ApplicationInferenceProfileInferenceProfileType']: + """ + The type of the inference profile. The following types are possible: + + - `SYSTEM_DEFINED` – The inference profile is defined by Amazon Bedrock. You can route inference requests across regions with these inference profiles. + - `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. + """ return pulumi.get(self, "type") @property diff --git a/sdk/python/pulumi_aws_native/bedrock/prompt_version.py b/sdk/python/pulumi_aws_native/bedrock/prompt_version.py index 072042f614..7dce59c2eb 100644 --- a/sdk/python/pulumi_aws_native/bedrock/prompt_version.py +++ b/sdk/python/pulumi_aws_native/bedrock/prompt_version.py @@ -28,6 +28,7 @@ def __init__(__self__, *, The set of arguments for constructing a PromptVersion resource. :param pulumi.Input[str] prompt_arn: ARN of a prompt resource possibly with a version :param pulumi.Input[str] description: Description for a prompt version resource. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags attached to the prompt version and their values. """ pulumi.set(__self__, "prompt_arn", prompt_arn) if description is not None: @@ -62,6 +63,9 @@ def description(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags attached to the prompt version and their values. + """ return pulumi.get(self, "tags") @tags.setter @@ -85,6 +89,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] description: Description for a prompt version resource. :param pulumi.Input[str] prompt_arn: ARN of a prompt resource possibly with a version + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags attached to the prompt version and their values. """ ... @overload @@ -241,6 +246,9 @@ def prompt_id(self) -> pulumi.Output[str]: @property @pulumi.getter def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + A map of tags attached to the prompt version and their values. + """ return pulumi.get(self, "tags") @property diff --git a/sdk/python/pulumi_aws_native/codebuild/_enums.py b/sdk/python/pulumi_aws_native/codebuild/_enums.py index 30ccc0b0fb..6a6ce3f053 100644 --- a/sdk/python/pulumi_aws_native/codebuild/_enums.py +++ b/sdk/python/pulumi_aws_native/codebuild/_enums.py @@ -15,25 +15,33 @@ class FleetComputeType(str, Enum): """ Information about the compute resources the compute fleet uses. Available values include: - - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. - - `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds. - - `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type. - - `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type. - - `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. + - `ATTRIBUTE_BASED_COMPUTE` : Specify the amount of vCPUs, memory, disk space, and the type of machine. + + > 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* . + - `BUILD_GENERAL1_SMALL` : Use up to 4 GiB memory and 2 vCPUs for builds. + - `BUILD_GENERAL1_MEDIUM` : Use up to 8 GiB memory and 4 vCPUs for builds. + - `BUILD_GENERAL1_LARGE` : Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type. + - `BUILD_GENERAL1_XLARGE` : Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type. + - `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. + - `BUILD_LAMBDA_1GB` : Use up to 1 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + - `BUILD_LAMBDA_2GB` : Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + - `BUILD_LAMBDA_4GB` : Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + - `BUILD_LAMBDA_8GB` : Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + - `BUILD_LAMBDA_10GB` : Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . If you use `BUILD_GENERAL1_SMALL` : - - For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds. - - 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. - - For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds. + - For environment type `LINUX_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs for builds. + - 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. + - For environment type `ARM_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs on ARM-based processors for builds. If you use `BUILD_GENERAL1_LARGE` : - - For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds. - - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. - - For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds. + - For environment type `LINUX_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs for builds. + - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. + - For environment type `ARM_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds. - For more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.* + For 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.* """ BUILD_GENERAL1_SMALL = "BUILD_GENERAL1_SMALL" BUILD_GENERAL1_MEDIUM = "BUILD_GENERAL1_MEDIUM" @@ -49,6 +57,7 @@ class FleetEnvironmentType(str, Enum): - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). - The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai). - 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). + - 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). - 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). - 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). diff --git a/sdk/python/pulumi_aws_native/codebuild/fleet.py b/sdk/python/pulumi_aws_native/codebuild/fleet.py index 5eb9d9cf33..f0ce47fd6a 100644 --- a/sdk/python/pulumi_aws_native/codebuild/fleet.py +++ b/sdk/python/pulumi_aws_native/codebuild/fleet.py @@ -38,30 +38,39 @@ def __init__(__self__, *, :param pulumi.Input[int] base_capacity: The initial number of machines allocated to the compute fleet, which defines the number of builds that can run in parallel. :param pulumi.Input['FleetComputeType'] compute_type: Information about the compute resources the compute fleet uses. Available values include: - - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. - - `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds. - - `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type. - - `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type. - - `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. + - `ATTRIBUTE_BASED_COMPUTE` : Specify the amount of vCPUs, memory, disk space, and the type of machine. + + > 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* . + - `BUILD_GENERAL1_SMALL` : Use up to 4 GiB memory and 2 vCPUs for builds. + - `BUILD_GENERAL1_MEDIUM` : Use up to 8 GiB memory and 4 vCPUs for builds. + - `BUILD_GENERAL1_LARGE` : Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type. + - `BUILD_GENERAL1_XLARGE` : Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type. + - `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. + - `BUILD_LAMBDA_1GB` : Use up to 1 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + - `BUILD_LAMBDA_2GB` : Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + - `BUILD_LAMBDA_4GB` : Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + - `BUILD_LAMBDA_8GB` : Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + - `BUILD_LAMBDA_10GB` : Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . If you use `BUILD_GENERAL1_SMALL` : - - For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds. - - 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. - - For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds. + - For environment type `LINUX_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs for builds. + - 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. + - For environment type `ARM_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs on ARM-based processors for builds. If you use `BUILD_GENERAL1_LARGE` : - - For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds. - - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. - - For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds. + - For environment type `LINUX_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs for builds. + - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. + - For environment type `ARM_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds. - For more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.* + For 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.* :param pulumi.Input['FleetEnvironmentType'] environment_type: The environment type of the compute fleet. - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). - The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai). - 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). + - 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). - 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). - 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). @@ -117,25 +126,33 @@ def compute_type(self) -> Optional[pulumi.Input['FleetComputeType']]: """ Information about the compute resources the compute fleet uses. Available values include: - - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. - - `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds. - - `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type. - - `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type. - - `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. + - `ATTRIBUTE_BASED_COMPUTE` : Specify the amount of vCPUs, memory, disk space, and the type of machine. + + > 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* . + - `BUILD_GENERAL1_SMALL` : Use up to 4 GiB memory and 2 vCPUs for builds. + - `BUILD_GENERAL1_MEDIUM` : Use up to 8 GiB memory and 4 vCPUs for builds. + - `BUILD_GENERAL1_LARGE` : Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type. + - `BUILD_GENERAL1_XLARGE` : Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type. + - `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. + - `BUILD_LAMBDA_1GB` : Use up to 1 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + - `BUILD_LAMBDA_2GB` : Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + - `BUILD_LAMBDA_4GB` : Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + - `BUILD_LAMBDA_8GB` : Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + - `BUILD_LAMBDA_10GB` : Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . If you use `BUILD_GENERAL1_SMALL` : - - For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds. - - 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. - - For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds. + - For environment type `LINUX_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs for builds. + - 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. + - For environment type `ARM_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs on ARM-based processors for builds. If you use `BUILD_GENERAL1_LARGE` : - - For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds. - - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. - - For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds. + - For environment type `LINUX_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs for builds. + - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. + - For environment type `ARM_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds. - For more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.* + For 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.* """ return pulumi.get(self, "compute_type") @@ -152,6 +169,7 @@ def environment_type(self) -> Optional[pulumi.Input['FleetEnvironmentType']]: - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). - The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai). - 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). + - 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). - 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). - 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). @@ -266,30 +284,39 @@ def __init__(__self__, :param pulumi.Input[int] base_capacity: The initial number of machines allocated to the compute fleet, which defines the number of builds that can run in parallel. :param pulumi.Input['FleetComputeType'] compute_type: Information about the compute resources the compute fleet uses. Available values include: - - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. - - `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds. - - `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type. - - `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type. - - `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. + - `ATTRIBUTE_BASED_COMPUTE` : Specify the amount of vCPUs, memory, disk space, and the type of machine. + + > 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* . + - `BUILD_GENERAL1_SMALL` : Use up to 4 GiB memory and 2 vCPUs for builds. + - `BUILD_GENERAL1_MEDIUM` : Use up to 8 GiB memory and 4 vCPUs for builds. + - `BUILD_GENERAL1_LARGE` : Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type. + - `BUILD_GENERAL1_XLARGE` : Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type. + - `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. + - `BUILD_LAMBDA_1GB` : Use up to 1 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + - `BUILD_LAMBDA_2GB` : Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + - `BUILD_LAMBDA_4GB` : Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + - `BUILD_LAMBDA_8GB` : Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + - `BUILD_LAMBDA_10GB` : Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . If you use `BUILD_GENERAL1_SMALL` : - - For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds. - - 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. - - For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds. + - For environment type `LINUX_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs for builds. + - 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. + - For environment type `ARM_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs on ARM-based processors for builds. If you use `BUILD_GENERAL1_LARGE` : - - For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds. - - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. - - For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds. + - For environment type `LINUX_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs for builds. + - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. + - For environment type `ARM_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds. - For more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.* + For 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.* :param pulumi.Input['FleetEnvironmentType'] environment_type: The environment type of the compute fleet. - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). - The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai). - 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). + - 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). - 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). - 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). @@ -416,25 +443,33 @@ def compute_type(self) -> pulumi.Output[Optional['FleetComputeType']]: """ Information about the compute resources the compute fleet uses. Available values include: - - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. - - `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds. - - `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type. - - `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type. - - `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. + - `ATTRIBUTE_BASED_COMPUTE` : Specify the amount of vCPUs, memory, disk space, and the type of machine. + + > 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* . + - `BUILD_GENERAL1_SMALL` : Use up to 4 GiB memory and 2 vCPUs for builds. + - `BUILD_GENERAL1_MEDIUM` : Use up to 8 GiB memory and 4 vCPUs for builds. + - `BUILD_GENERAL1_LARGE` : Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type. + - `BUILD_GENERAL1_XLARGE` : Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type. + - `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. + - `BUILD_LAMBDA_1GB` : Use up to 1 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + - `BUILD_LAMBDA_2GB` : Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + - `BUILD_LAMBDA_4GB` : Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + - `BUILD_LAMBDA_8GB` : Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + - `BUILD_LAMBDA_10GB` : Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . If you use `BUILD_GENERAL1_SMALL` : - - For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds. - - 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. - - For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds. + - For environment type `LINUX_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs for builds. + - 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. + - For environment type `ARM_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs on ARM-based processors for builds. If you use `BUILD_GENERAL1_LARGE` : - - For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds. - - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. - - For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds. + - For environment type `LINUX_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs for builds. + - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. + - For environment type `ARM_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds. - For more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.* + For 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.* """ return pulumi.get(self, "compute_type") @@ -447,6 +482,7 @@ def environment_type(self) -> pulumi.Output[Optional['FleetEnvironmentType']]: - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). - The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai). - 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). + - 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). - 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). - 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). diff --git a/sdk/python/pulumi_aws_native/codebuild/get_fleet.py b/sdk/python/pulumi_aws_native/codebuild/get_fleet.py index 6c669b0716..ddfafb2b93 100644 --- a/sdk/python/pulumi_aws_native/codebuild/get_fleet.py +++ b/sdk/python/pulumi_aws_native/codebuild/get_fleet.py @@ -80,25 +80,33 @@ def compute_type(self) -> Optional['FleetComputeType']: """ Information about the compute resources the compute fleet uses. Available values include: - - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. - - `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds. - - `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type. - - `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type. - - `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. + - `ATTRIBUTE_BASED_COMPUTE` : Specify the amount of vCPUs, memory, disk space, and the type of machine. + + > 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* . + - `BUILD_GENERAL1_SMALL` : Use up to 4 GiB memory and 2 vCPUs for builds. + - `BUILD_GENERAL1_MEDIUM` : Use up to 8 GiB memory and 4 vCPUs for builds. + - `BUILD_GENERAL1_LARGE` : Use up to 16 GiB memory and 8 vCPUs for builds, depending on your environment type. + - `BUILD_GENERAL1_XLARGE` : Use up to 72 GiB memory and 36 vCPUs for builds, depending on your environment type. + - `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. + - `BUILD_LAMBDA_1GB` : Use up to 1 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + - `BUILD_LAMBDA_2GB` : Use up to 2 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + - `BUILD_LAMBDA_4GB` : Use up to 4 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + - `BUILD_LAMBDA_8GB` : Use up to 8 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . + - `BUILD_LAMBDA_10GB` : Use up to 10 GiB memory for builds. Only available for environment type `LINUX_LAMBDA_CONTAINER` and `ARM_LAMBDA_CONTAINER` . If you use `BUILD_GENERAL1_SMALL` : - - For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds. - - 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. - - For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds. + - For environment type `LINUX_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs for builds. + - 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. + - For environment type `ARM_CONTAINER` , you can use up to 4 GiB memory and 2 vCPUs on ARM-based processors for builds. If you use `BUILD_GENERAL1_LARGE` : - - For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds. - - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. - - For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds. + - For environment type `LINUX_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs for builds. + - For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GiB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. + - For environment type `ARM_CONTAINER` , you can use up to 16 GiB memory and 8 vCPUs on ARM-based processors for builds. - For more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.* + For 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.* """ return pulumi.get(self, "compute_type") @@ -111,6 +119,7 @@ def environment_type(self) -> Optional['FleetEnvironmentType']: - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). - The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai). - 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). + - 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). - 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). - 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). diff --git a/sdk/python/pulumi_aws_native/datasync/_enums.py b/sdk/python/pulumi_aws_native/datasync/_enums.py index 3ff0eaf113..4aec8b32a8 100644 --- a/sdk/python/pulumi_aws_native/datasync/_enums.py +++ b/sdk/python/pulumi_aws_native/datasync/_enums.py @@ -25,6 +25,7 @@ 'TaskFilterRuleFilterType', 'TaskManifestConfigAction', 'TaskManifestConfigFormat', + 'TaskMode', 'TaskOptionsAtime', 'TaskOptionsGid', 'TaskOptionsLogLevel', @@ -227,6 +228,14 @@ class TaskManifestConfigFormat(str, Enum): CSV = "CSV" +class TaskMode(str, Enum): + """ + Specifies the task mode for the task. + """ + BASIC = "BASIC" + ENHANCED = "ENHANCED" + + class TaskOptionsAtime(str, Enum): """ A file metadata value that shows the last time a file was accessed (that is, when the file was read or written to). diff --git a/sdk/python/pulumi_aws_native/datasync/task.py b/sdk/python/pulumi_aws_native/datasync/task.py index 63ada6f24c..76e36f181a 100644 --- a/sdk/python/pulumi_aws_native/datasync/task.py +++ b/sdk/python/pulumi_aws_native/datasync/task.py @@ -34,6 +34,7 @@ def __init__(__self__, *, options: Optional[pulumi.Input['TaskOptionsArgs']] = None, schedule: Optional[pulumi.Input['TaskScheduleArgs']] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None, + task_mode: Optional[pulumi.Input['TaskMode']] = None, task_report_config: Optional[pulumi.Input['TaskReportConfigArgs']] = None): """ The set of arguments for constructing a Task resource. @@ -47,6 +48,7 @@ def __init__(__self__, *, :param pulumi.Input['TaskOptionsArgs'] options: Specifies your task's settings, such as preserving file metadata, verifying data integrity, among other options. :param pulumi.Input['TaskScheduleArgs'] schedule: Specifies a schedule for when you want your task to run. For more information, see [Scheduling your task](https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html) . :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: An array of key-value pairs to apply to this resource. + :param pulumi.Input['TaskMode'] task_mode: Specifies the task mode for the task. :param pulumi.Input['TaskReportConfigArgs'] task_report_config: 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) . When 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. @@ -69,6 +71,8 @@ def __init__(__self__, *, pulumi.set(__self__, "schedule", schedule) if tags is not None: pulumi.set(__self__, "tags", tags) + if task_mode is not None: + pulumi.set(__self__, "task_mode", task_mode) if task_report_config is not None: pulumi.set(__self__, "task_report_config", task_report_config) @@ -192,6 +196,18 @@ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagA def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="taskMode") + def task_mode(self) -> Optional[pulumi.Input['TaskMode']]: + """ + Specifies the task mode for the task. + """ + return pulumi.get(self, "task_mode") + + @task_mode.setter + def task_mode(self, value: Optional[pulumi.Input['TaskMode']]): + pulumi.set(self, "task_mode", value) + @property @pulumi.getter(name="taskReportConfig") def task_report_config(self) -> Optional[pulumi.Input['TaskReportConfigArgs']]: @@ -222,6 +238,7 @@ def __init__(__self__, schedule: Optional[pulumi.Input[Union['TaskScheduleArgs', 'TaskScheduleArgsDict']]] = None, source_location_arn: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, + task_mode: Optional[pulumi.Input['TaskMode']] = None, task_report_config: Optional[pulumi.Input[Union['TaskReportConfigArgs', 'TaskReportConfigArgsDict']]] = None, __props__=None): """ @@ -263,6 +280,7 @@ def __init__(__self__, :param pulumi.Input[Union['TaskScheduleArgs', 'TaskScheduleArgsDict']] schedule: Specifies a schedule for when you want your task to run. For more information, see [Scheduling your task](https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html) . :param pulumi.Input[str] source_location_arn: The ARN of the source location for the task. :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]] tags: An array of key-value pairs to apply to this resource. + :param pulumi.Input['TaskMode'] task_mode: Specifies the task mode for the task. :param pulumi.Input[Union['TaskReportConfigArgs', 'TaskReportConfigArgsDict']] task_report_config: 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) . When 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. @@ -325,6 +343,7 @@ def _internal_init(__self__, schedule: Optional[pulumi.Input[Union['TaskScheduleArgs', 'TaskScheduleArgsDict']]] = None, source_location_arn: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, + task_mode: Optional[pulumi.Input['TaskMode']] = None, task_report_config: Optional[pulumi.Input[Union['TaskReportConfigArgs', 'TaskReportConfigArgsDict']]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -349,12 +368,13 @@ def _internal_init(__self__, raise TypeError("Missing required property 'source_location_arn'") __props__.__dict__["source_location_arn"] = source_location_arn __props__.__dict__["tags"] = tags + __props__.__dict__["task_mode"] = task_mode __props__.__dict__["task_report_config"] = task_report_config __props__.__dict__["destination_network_interface_arns"] = None __props__.__dict__["source_network_interface_arns"] = None __props__.__dict__["status"] = None __props__.__dict__["task_arn"] = None - replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["destinationLocationArn", "sourceLocationArn"]) + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["destinationLocationArn", "sourceLocationArn", "taskMode"]) opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) super(Task, __self__).__init__( 'aws-native:datasync:Task', @@ -392,6 +412,7 @@ def get(resource_name: str, __props__.__dict__["status"] = None __props__.__dict__["tags"] = None __props__.__dict__["task_arn"] = None + __props__.__dict__["task_mode"] = None __props__.__dict__["task_report_config"] = None return Task(resource_name, opts=opts, __props__=__props__) @@ -507,6 +528,14 @@ def task_arn(self) -> pulumi.Output[str]: """ return pulumi.get(self, "task_arn") + @property + @pulumi.getter(name="taskMode") + def task_mode(self) -> pulumi.Output[Optional['TaskMode']]: + """ + Specifies the task mode for the task. + """ + return pulumi.get(self, "task_mode") + @property @pulumi.getter(name="taskReportConfig") def task_report_config(self) -> pulumi.Output[Optional['outputs.TaskReportConfig']]: diff --git a/sdk/python/pulumi_aws_native/ec2/__init__.py b/sdk/python/pulumi_aws_native/ec2/__init__.py index 5a450889d1..5142764a22 100644 --- a/sdk/python/pulumi_aws_native/ec2/__init__.py +++ b/sdk/python/pulumi_aws_native/ec2/__init__.py @@ -62,6 +62,7 @@ from .get_security_group import * from .get_security_group_egress import * from .get_security_group_ingress import * +from .get_security_group_vpc_association import * from .get_snapshot_block_public_access import * from .get_spot_fleet import * from .get_subnet import * @@ -126,6 +127,7 @@ from .security_group import * from .security_group_egress import * from .security_group_ingress import * +from .security_group_vpc_association import * from .snapshot_block_public_access import * from .spot_fleet import * from .subnet import * diff --git a/sdk/python/pulumi_aws_native/ec2/_enums.py b/sdk/python/pulumi_aws_native/ec2/_enums.py index 85d673d638..afb377e4c1 100644 --- a/sdk/python/pulumi_aws_native/ec2/_enums.py +++ b/sdk/python/pulumi_aws_native/ec2/_enums.py @@ -46,6 +46,7 @@ 'NetworkInsightsAnalysisStatus', 'NetworkInsightsPathProtocol', 'PrefixListAddressFamily', + 'SecurityGroupVpcAssociationState', 'SnapshotBlockPublicAccessState', 'SpotFleetEbsBlockDeviceVolumeType', 'SpotFleetInstanceRequirementsRequestAcceleratorManufacturersItem', @@ -512,6 +513,15 @@ class PrefixListAddressFamily(str, Enum): I_PV6 = "IPv6" +class SecurityGroupVpcAssociationState(str, Enum): + ASSOCIATING = "associating" + ASSOCIATED = "associated" + ASSOCIATION_FAILED = "association-failed" + DISASSOCIATING = "disassociating" + DISASSOCIATED = "disassociated" + DISASSOCIATION_FAILED = "disassociation-failed" + + class SnapshotBlockPublicAccessState(str, Enum): """ The state of EBS Snapshot Block Public Access. diff --git a/sdk/python/pulumi_aws_native/ec2/_inputs.py b/sdk/python/pulumi_aws_native/ec2/_inputs.py index b5a88c7497..42a8ff9093 100644 --- a/sdk/python/pulumi_aws_native/ec2/_inputs.py +++ b/sdk/python/pulumi_aws_native/ec2/_inputs.py @@ -5612,7 +5612,8 @@ class LaunchTemplateDataArgsDict(TypedDict): """ elastic_inference_accelerators: NotRequired[pulumi.Input[Sequence[pulumi.Input['LaunchTemplateElasticInferenceAcceleratorArgsDict']]]] """ - 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. + Amazon Elastic Inference is no longer available. + 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. You cannot specify accelerators from different generations in the same request. 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. """ @@ -5660,7 +5661,7 @@ class LaunchTemplateDataArgsDict(TypedDict): If you specify ``InstanceRequirements``, you can't specify ``InstanceType``. 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``. - 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*. + 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*. """ instance_type: NotRequired[pulumi.Input[str]] """ @@ -5722,8 +5723,7 @@ class LaunchTemplateDataArgsDict(TypedDict): """ tag_specifications: NotRequired[pulumi.Input[Sequence[pulumi.Input['TagSpecificationArgsDict']]]] """ - The tags to apply to the resources that are created during instance launch. - To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html). + The tags to apply to resources that are created during instance launch. 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). """ user_data: NotRequired[pulumi.Input[str]] @@ -5780,7 +5780,8 @@ def __init__(__self__, *, :param pulumi.Input[bool] ebs_optimized: Indicates whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance. :param pulumi.Input[Sequence[pulumi.Input['LaunchTemplateElasticGpuSpecificationArgs']]] elastic_gpu_specifications: Deprecated. Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances. - :param pulumi.Input[Sequence[pulumi.Input['LaunchTemplateElasticInferenceAcceleratorArgs']]] elastic_inference_accelerators: 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. + :param pulumi.Input[Sequence[pulumi.Input['LaunchTemplateElasticInferenceAcceleratorArgs']]] elastic_inference_accelerators: Amazon Elastic Inference is no longer available. + 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. You cannot specify accelerators from different generations in the same request. 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. :param pulumi.Input['LaunchTemplateEnclaveOptionsArgs'] enclave_options: Indicates whether the instance is enabled for AWS Nitro Enclaves. For more information, see [What is Nitro Enclaves?](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html) in the *Nitro Enclaves User Guide*. @@ -5807,7 +5808,7 @@ def __init__(__self__, *, If you specify ``InstanceRequirements``, you can't specify ``InstanceType``. 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``. - 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*. + 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*. :param pulumi.Input[str] instance_type: The instance type. For more information, see [Amazon EC2 instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide*. If you specify ``InstanceType``, you can't specify ``InstanceRequirements``. :param pulumi.Input[str] kernel_id: The ID of the kernel. @@ -5827,8 +5828,7 @@ def __init__(__self__, *, If you specify a network interface, you must specify any security groups as part of the network interface instead. :param pulumi.Input[Sequence[pulumi.Input[str]]] security_groups: The names of the security groups. For a nondefault VPC, you must use security group IDs instead. If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter. - :param pulumi.Input[Sequence[pulumi.Input['TagSpecificationArgs']]] tag_specifications: The tags to apply to the resources that are created during instance launch. - To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html). + :param pulumi.Input[Sequence[pulumi.Input['TagSpecificationArgs']]] tag_specifications: The tags to apply to resources that are created during instance launch. 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). :param pulumi.Input[str] user_data: The user data to make available to the instance. You must provide base64-encoded text. User data is limited to 16 KB. For more information, see [Run commands on your Amazon EC2 instance at launch](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) in the *Amazon EC2 User Guide*. If you are creating the launch template for use with BATCH, the user data must be provided in the [MIME multi-part archive format](https://docs.aws.amazon.com/https://cloudinit.readthedocs.io/en/latest/topics/format.html#mime-multi-part-archive). For more information, see [Amazon EC2 user data in launch templates](https://docs.aws.amazon.com/batch/latest/userguide/launch-templates.html) in the *User Guide*. @@ -5997,7 +5997,8 @@ def elastic_gpu_specifications(self, value: Optional[pulumi.Input[Sequence[pulum @pulumi.getter(name="elasticInferenceAccelerators") def elastic_inference_accelerators(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['LaunchTemplateElasticInferenceAcceleratorArgs']]]]: """ - 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. + Amazon Elastic Inference is no longer available. + 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. You cannot specify accelerators from different generations in the same request. 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. """ @@ -6101,7 +6102,7 @@ def instance_requirements(self) -> Optional[pulumi.Input['LaunchTemplateInstance If you specify ``InstanceRequirements``, you can't specify ``InstanceType``. 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``. - 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*. + 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*. """ return pulumi.get(self, "instance_requirements") @@ -6275,8 +6276,7 @@ def security_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str @pulumi.getter(name="tagSpecifications") def tag_specifications(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['TagSpecificationArgs']]]]: """ - The tags to apply to the resources that are created during instance launch. - To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html). + The tags to apply to resources that are created during instance launch. 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). """ return pulumi.get(self, "tag_specifications") @@ -6326,7 +6326,7 @@ class LaunchTemplateEbsArgsDict(TypedDict): """ kms_key_id: NotRequired[pulumi.Input[str]] """ - The ARN of the symmetric KMSlong (KMS) CMK used for encryption. + Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption. """ snapshot_id: NotRequired[pulumi.Input[str]] """ @@ -6377,7 +6377,7 @@ def __init__(__self__, *, For ``io2`` volumes, you can achieve up to 256,000 IOPS on [instances built on the Nitro System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). On other instances, you can achieve performance up to 32,000 IOPS. This parameter is supported for ``io1``, ``io2``, and ``gp3`` volumes only. - :param pulumi.Input[str] kms_key_id: The ARN of the symmetric KMSlong (KMS) CMK used for encryption. + :param pulumi.Input[str] kms_key_id: Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption. :param pulumi.Input[str] snapshot_id: The ID of the snapshot. :param pulumi.Input[int] throughput: The throughput to provision for a ``gp3`` volume, with a maximum of 1,000 MiB/s. Valid Range: Minimum value of 125. Maximum value of 1000. @@ -6453,7 +6453,7 @@ def iops(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="kmsKeyId") def kms_key_id(self) -> Optional[pulumi.Input[str]]: """ - The ARN of the symmetric KMSlong (KMS) CMK used for encryption. + Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption. """ return pulumi.get(self, "kms_key_id") @@ -6918,7 +6918,7 @@ class LaunchTemplateInstanceRequirementsArgsDict(TypedDict): If you specify ``InstanceRequirements``, you can't specify ``InstanceType``. 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``. - 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*. + 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*. """ accelerator_count: NotRequired[pulumi.Input['LaunchTemplateAcceleratorCountArgsDict']] """ @@ -6965,7 +6965,6 @@ class LaunchTemplateInstanceRequirementsArgsDict(TypedDict): The accelerator types that must be on the instance type. + For instance types with GPU accelerators, specify ``gpu``. + For instance types with FPGA accelerators, specify ``fpga``. - + For instance types with inference accelerators, specify ``inference``. Default: Any accelerator type """ @@ -7141,7 +7140,7 @@ def __init__(__self__, *, If you specify ``InstanceRequirements``, you can't specify ``InstanceType``. 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``. - 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*. + 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*. :param pulumi.Input['LaunchTemplateAcceleratorCountArgs'] accelerator_count: The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) on an instance. To exclude accelerator-enabled instance types, set ``Max`` to ``0``. Default: No minimum or maximum limits @@ -7173,7 +7172,6 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] accelerator_types: The accelerator types that must be on the instance type. + For instance types with GPU accelerators, specify ``gpu``. + For instance types with FPGA accelerators, specify ``fpga``. - + For instance types with inference accelerators, specify ``inference``. Default: Any accelerator type :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_instance_types: The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. @@ -7380,7 +7378,6 @@ def accelerator_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]] The accelerator types that must be on the instance type. + For instance types with GPU accelerators, specify ``gpu``. + For instance types with FPGA accelerators, specify ``fpga``. - + For instance types with inference accelerators, specify ``inference``. Default: Any accelerator type """ @@ -8314,9 +8311,10 @@ class LaunchTemplateNetworkInterfaceArgsDict(TypedDict): """ interface_type: NotRequired[pulumi.Input[str]] """ - 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*. + 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*. If you are not creating an EFA, specify ``interface`` or omit this parameter. - Valid values: ``interface`` | ``efa`` + If you specify ``efa-only``, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses. + Valid values: ``interface`` | ``efa`` | ``efa-only`` """ ipv4_prefix_count: NotRequired[pulumi.Input[int]] """ @@ -8411,9 +8409,10 @@ def __init__(__self__, *, :param pulumi.Input[int] device_index: The device index for the network interface attachment. Each network interface requires a device index. If you create a launch template that includes secondary network interfaces but not a primary network interface, then you must add a primary network interface as a launch parameter when you launch an instance from the template. :param pulumi.Input['LaunchTemplateEnaSrdSpecificationArgs'] ena_srd_specification: The ENA Express configuration for the network interface. :param pulumi.Input[Sequence[pulumi.Input[str]]] groups: The IDs of one or more security groups. - :param pulumi.Input[str] interface_type: 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*. + :param pulumi.Input[str] interface_type: 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*. If you are not creating an EFA, specify ``interface`` or omit this parameter. - Valid values: ``interface`` | ``efa`` + If you specify ``efa-only``, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses. + Valid values: ``interface`` | ``efa`` | ``efa-only`` :param pulumi.Input[int] ipv4_prefix_count: The number of IPv4 prefixes to be automatically assigned to the network interface. You cannot use this option if you use the ``Ipv4Prefix`` option. :param pulumi.Input[Sequence[pulumi.Input['LaunchTemplateIpv4PrefixSpecificationArgs']]] ipv4_prefixes: One or more IPv4 prefixes to be assigned to the network interface. You cannot use this option if you use the ``Ipv4PrefixCount`` option. :param pulumi.Input[int] ipv6_address_count: The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. You can't use this option if specifying specific IPv6 addresses. @@ -8575,9 +8574,10 @@ def groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): @pulumi.getter(name="interfaceType") def interface_type(self) -> Optional[pulumi.Input[str]]: """ - 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*. + 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*. If you are not creating an EFA, specify ``interface`` or omit this parameter. - Valid values: ``interface`` | ``efa`` + If you specify ``efa-only``, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses. + Valid values: ``interface`` | ``efa`` | ``efa-only`` """ return pulumi.get(self, "interface_type") @@ -9214,6 +9214,7 @@ def valid_until(self, value: Optional[pulumi.Input[str]]): class LaunchTemplateTagSpecificationArgsDict(TypedDict): """ Specifies the tags to apply to the launch template during creation. + 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). ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html). """ resource_type: NotRequired[pulumi.Input[str]] @@ -9234,6 +9235,7 @@ def __init__(__self__, *, tags: Optional[pulumi.Input[Sequence[pulumi.Input['LaunchTemplateTagArgs']]]] = None): """ Specifies the tags to apply to the launch template during creation. + 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). ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html). :param pulumi.Input[str] resource_type: The type of resource. To tag a launch template, ``ResourceType`` must be ``launch-template``. :param pulumi.Input[Sequence[pulumi.Input['LaunchTemplateTagArgs']]] tags: The tags for the resource. @@ -14852,7 +14854,7 @@ def kms_key_arn(self, value: Optional[pulumi.Input[str]]): if not MYPY: class TagSpecificationArgsDict(TypedDict): """ - Specifies the tags to apply to a resource when the resource is created for the launch template. + Specifies the tags to apply to resources that are created during instance launch. ``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). """ resource_type: NotRequired[pulumi.Input[str]] @@ -14873,7 +14875,7 @@ def __init__(__self__, *, resource_type: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input['LaunchTemplateTagArgs']]]] = None): """ - Specifies the tags to apply to a resource when the resource is created for the launch template. + Specifies the tags to apply to resources that are created during instance launch. ``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). :param pulumi.Input[str] resource_type: The type of resource to tag. You can specify tags for the following resource types only: ``instance`` | ``volume`` | ``network-interface`` | ``spot-instances-request``. If the instance does not include the resource type that you specify, the instance launch fails. For example, not all instance types include a volume. To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html). diff --git a/sdk/python/pulumi_aws_native/ec2/eip.py b/sdk/python/pulumi_aws_native/ec2/eip.py index 62847f538d..c08b7aea35 100644 --- a/sdk/python/pulumi_aws_native/ec2/eip.py +++ b/sdk/python/pulumi_aws_native/ec2/eip.py @@ -31,11 +31,12 @@ def __init__(__self__, *, transfer_address: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a Eip resource. - :param pulumi.Input[str] address: Describes an Elastic IP address, or a carrier IP address. + :param pulumi.Input[str] address: An Elastic IP address or a carrier IP address in a Wavelength Zone. :param pulumi.Input[str] domain: The network (``vpc``). If you define an Elastic IP address and associate it with a VPC that is defined in the same template, you must declare a dependency on the VPC-gateway attachment by using the [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) on this resource. :param pulumi.Input[str] instance_id: The ID of the instance. Updates to the ``InstanceId`` property may require *some interruptions*. Updates on an EIP reassociates the address on its associated resource. + :param pulumi.Input[str] ipam_pool_id: 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* . :param pulumi.Input[str] network_border_group: A unique set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises IP addresses. Use this parameter to limit the IP address to this location. IP addresses cannot move between network border groups. Use [DescribeAvailabilityZones](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html) to view the network border groups. :param pulumi.Input[str] public_ipv4_pool: The ID of an address pool that you own. Use this parameter to let Amazon EC2 select an address from the address pool. @@ -65,7 +66,7 @@ def __init__(__self__, *, @pulumi.getter def address(self) -> Optional[pulumi.Input[str]]: """ - Describes an Elastic IP address, or a carrier IP address. + An Elastic IP address or a carrier IP address in a Wavelength Zone. """ return pulumi.get(self, "address") @@ -102,6 +103,9 @@ def instance_id(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="ipamPoolId") def ipam_pool_id(self) -> Optional[pulumi.Input[str]]: + """ + 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* . + """ return pulumi.get(self, "ipam_pool_id") @ipam_pool_id.setter @@ -181,11 +185,12 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] address: Describes an Elastic IP address, or a carrier IP address. + :param pulumi.Input[str] address: An Elastic IP address or a carrier IP address in a Wavelength Zone. :param pulumi.Input[str] domain: The network (``vpc``). If you define an Elastic IP address and associate it with a VPC that is defined in the same template, you must declare a dependency on the VPC-gateway attachment by using the [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) on this resource. :param pulumi.Input[str] instance_id: The ID of the instance. Updates to the ``InstanceId`` property may require *some interruptions*. Updates on an EIP reassociates the address on its associated resource. + :param pulumi.Input[str] ipam_pool_id: 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* . :param pulumi.Input[str] network_border_group: A unique set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises IP addresses. Use this parameter to limit the IP address to this location. IP addresses cannot move between network border groups. Use [DescribeAvailabilityZones](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html) to view the network border groups. :param pulumi.Input[str] public_ipv4_pool: The ID of an address pool that you own. Use this parameter to let Amazon EC2 select an address from the address pool. @@ -287,7 +292,7 @@ def get(resource_name: str, @pulumi.getter def address(self) -> pulumi.Output[Optional[str]]: """ - Describes an Elastic IP address, or a carrier IP address. + An Elastic IP address or a carrier IP address in a Wavelength Zone. """ return pulumi.get(self, "address") @@ -320,6 +325,9 @@ def instance_id(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter(name="ipamPoolId") def ipam_pool_id(self) -> pulumi.Output[Optional[str]]: + """ + 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* . + """ return pulumi.get(self, "ipam_pool_id") @property diff --git a/sdk/python/pulumi_aws_native/ec2/get_security_group_vpc_association.py b/sdk/python/pulumi_aws_native/ec2/get_security_group_vpc_association.py new file mode 100644 index 0000000000..5d6b42b44d --- /dev/null +++ b/sdk/python/pulumi_aws_native/ec2/get_security_group_vpc_association.py @@ -0,0 +1,112 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from ._enums import * + +__all__ = [ + 'GetSecurityGroupVpcAssociationResult', + 'AwaitableGetSecurityGroupVpcAssociationResult', + 'get_security_group_vpc_association', + 'get_security_group_vpc_association_output', +] + +@pulumi.output_type +class GetSecurityGroupVpcAssociationResult: + def __init__(__self__, state=None, state_reason=None, vpc_owner_id=None): + if state and not isinstance(state, str): + raise TypeError("Expected argument 'state' to be a str") + pulumi.set(__self__, "state", state) + if state_reason and not isinstance(state_reason, str): + raise TypeError("Expected argument 'state_reason' to be a str") + pulumi.set(__self__, "state_reason", state_reason) + if vpc_owner_id and not isinstance(vpc_owner_id, str): + raise TypeError("Expected argument 'vpc_owner_id' to be a str") + pulumi.set(__self__, "vpc_owner_id", vpc_owner_id) + + @property + @pulumi.getter + def state(self) -> Optional['SecurityGroupVpcAssociationState']: + """ + The state of the security group vpc association. + """ + return pulumi.get(self, "state") + + @property + @pulumi.getter(name="stateReason") + def state_reason(self) -> Optional[str]: + """ + The reason for the state of the security group vpc association. + """ + return pulumi.get(self, "state_reason") + + @property + @pulumi.getter(name="vpcOwnerId") + def vpc_owner_id(self) -> Optional[str]: + """ + The owner of the VPC in the security group vpc association. + """ + return pulumi.get(self, "vpc_owner_id") + + +class AwaitableGetSecurityGroupVpcAssociationResult(GetSecurityGroupVpcAssociationResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetSecurityGroupVpcAssociationResult( + state=self.state, + state_reason=self.state_reason, + vpc_owner_id=self.vpc_owner_id) + + +def get_security_group_vpc_association(group_id: Optional[str] = None, + vpc_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSecurityGroupVpcAssociationResult: + """ + Resource type definition for the AWS::EC2::SecurityGroupVpcAssociation resource + + + :param str group_id: The group ID of the specified security group. + :param str vpc_id: The ID of the VPC in the security group vpc association. + """ + __args__ = dict() + __args__['groupId'] = group_id + __args__['vpcId'] = vpc_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:ec2:getSecurityGroupVpcAssociation', __args__, opts=opts, typ=GetSecurityGroupVpcAssociationResult).value + + return AwaitableGetSecurityGroupVpcAssociationResult( + state=pulumi.get(__ret__, 'state'), + state_reason=pulumi.get(__ret__, 'state_reason'), + vpc_owner_id=pulumi.get(__ret__, 'vpc_owner_id')) +def get_security_group_vpc_association_output(group_id: Optional[pulumi.Input[str]] = None, + vpc_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSecurityGroupVpcAssociationResult]: + """ + Resource type definition for the AWS::EC2::SecurityGroupVpcAssociation resource + + + :param str group_id: The group ID of the specified security group. + :param str vpc_id: The ID of the VPC in the security group vpc association. + """ + __args__ = dict() + __args__['groupId'] = group_id + __args__['vpcId'] = vpc_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('aws-native:ec2:getSecurityGroupVpcAssociation', __args__, opts=opts, typ=GetSecurityGroupVpcAssociationResult) + return __ret__.apply(lambda __response__: GetSecurityGroupVpcAssociationResult( + state=pulumi.get(__response__, 'state'), + state_reason=pulumi.get(__response__, 'state_reason'), + vpc_owner_id=pulumi.get(__response__, 'vpc_owner_id'))) diff --git a/sdk/python/pulumi_aws_native/ec2/launch_template.py b/sdk/python/pulumi_aws_native/ec2/launch_template.py index eef1d68d48..8c3ec70739 100644 --- a/sdk/python/pulumi_aws_native/ec2/launch_template.py +++ b/sdk/python/pulumi_aws_native/ec2/launch_template.py @@ -31,7 +31,7 @@ def __init__(__self__, *, :param pulumi.Input['LaunchTemplateDataArgs'] launch_template_data: The information for the launch template. :param pulumi.Input[str] launch_template_name: A name for the launch template. :param pulumi.Input[Sequence[pulumi.Input['LaunchTemplateTagSpecificationArgs']]] tag_specifications: The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``. - 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). + 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). :param pulumi.Input[str] version_description: A description for the first version of the launch template. """ pulumi.set(__self__, "launch_template_data", launch_template_data) @@ -71,7 +71,7 @@ def launch_template_name(self, value: Optional[pulumi.Input[str]]): def tag_specifications(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['LaunchTemplateTagSpecificationArgs']]]]: """ The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``. - 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). + 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). """ return pulumi.get(self, "tag_specifications") @@ -116,7 +116,7 @@ def __init__(__self__, :param pulumi.Input[Union['LaunchTemplateDataArgs', 'LaunchTemplateDataArgsDict']] launch_template_data: The information for the launch template. :param pulumi.Input[str] launch_template_name: A name for the launch template. :param pulumi.Input[Sequence[pulumi.Input[Union['LaunchTemplateTagSpecificationArgs', 'LaunchTemplateTagSpecificationArgsDict']]]] tag_specifications: The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``. - 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). + 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). :param pulumi.Input[str] version_description: A description for the first version of the launch template. """ ... @@ -251,7 +251,7 @@ def launch_template_name(self) -> pulumi.Output[Optional[str]]: def tag_specifications(self) -> pulumi.Output[Optional[Sequence['outputs.LaunchTemplateTagSpecification']]]: """ The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template``. - 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). + 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). """ return pulumi.get(self, "tag_specifications") diff --git a/sdk/python/pulumi_aws_native/ec2/outputs.py b/sdk/python/pulumi_aws_native/ec2/outputs.py index 45a13c2a22..2af53e06df 100644 --- a/sdk/python/pulumi_aws_native/ec2/outputs.py +++ b/sdk/python/pulumi_aws_native/ec2/outputs.py @@ -4357,7 +4357,8 @@ def __init__(__self__, *, :param bool ebs_optimized: Indicates whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance. :param Sequence['LaunchTemplateElasticGpuSpecification'] elastic_gpu_specifications: Deprecated. Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances. - :param Sequence['LaunchTemplateElasticInferenceAccelerator'] elastic_inference_accelerators: 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. + :param Sequence['LaunchTemplateElasticInferenceAccelerator'] elastic_inference_accelerators: Amazon Elastic Inference is no longer available. + 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. You cannot specify accelerators from different generations in the same request. 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. :param 'LaunchTemplateEnclaveOptions' enclave_options: Indicates whether the instance is enabled for AWS Nitro Enclaves. For more information, see [What is Nitro Enclaves?](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html) in the *Nitro Enclaves User Guide*. @@ -4384,7 +4385,7 @@ def __init__(__self__, *, If you specify ``InstanceRequirements``, you can't specify ``InstanceType``. 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``. - 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*. + 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*. :param str instance_type: The instance type. For more information, see [Amazon EC2 instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the *Amazon EC2 User Guide*. If you specify ``InstanceType``, you can't specify ``InstanceRequirements``. :param str kernel_id: The ID of the kernel. @@ -4404,8 +4405,7 @@ def __init__(__self__, *, If you specify a network interface, you must specify any security groups as part of the network interface instead. :param Sequence[str] security_groups: The names of the security groups. For a nondefault VPC, you must use security group IDs instead. If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter. - :param Sequence['TagSpecification'] tag_specifications: The tags to apply to the resources that are created during instance launch. - To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html). + :param Sequence['TagSpecification'] tag_specifications: The tags to apply to resources that are created during instance launch. 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). :param str user_data: The user data to make available to the instance. You must provide base64-encoded text. User data is limited to 16 KB. For more information, see [Run commands on your Amazon EC2 instance at launch](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) in the *Amazon EC2 User Guide*. If you are creating the launch template for use with BATCH, the user data must be provided in the [MIME multi-part archive format](https://docs.aws.amazon.com/https://cloudinit.readthedocs.io/en/latest/topics/format.html#mime-multi-part-archive). For more information, see [Amazon EC2 user data in launch templates](https://docs.aws.amazon.com/batch/latest/userguide/launch-templates.html) in the *User Guide*. @@ -4542,7 +4542,8 @@ def elastic_gpu_specifications(self) -> Optional[Sequence['outputs.LaunchTemplat @pulumi.getter(name="elasticInferenceAccelerators") def elastic_inference_accelerators(self) -> Optional[Sequence['outputs.LaunchTemplateElasticInferenceAccelerator']]: """ - 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. + Amazon Elastic Inference is no longer available. + 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. You cannot specify accelerators from different generations in the same request. 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. """ @@ -4618,7 +4619,7 @@ def instance_requirements(self) -> Optional['outputs.LaunchTemplateInstanceRequi If you specify ``InstanceRequirements``, you can't specify ``InstanceType``. 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``. - 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*. + 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*. """ return pulumi.get(self, "instance_requirements") @@ -4736,8 +4737,7 @@ def security_groups(self) -> Optional[Sequence[str]]: @pulumi.getter(name="tagSpecifications") def tag_specifications(self) -> Optional[Sequence['outputs.TagSpecification']]: """ - The tags to apply to the resources that are created during instance launch. - To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html). + The tags to apply to resources that are created during instance launch. 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). """ return pulumi.get(self, "tag_specifications") @@ -4805,7 +4805,7 @@ def __init__(__self__, *, For ``io2`` volumes, you can achieve up to 256,000 IOPS on [instances built on the Nitro System](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). On other instances, you can achieve performance up to 32,000 IOPS. This parameter is supported for ``io1``, ``io2``, and ``gp3`` volumes only. - :param str kms_key_id: The ARN of the symmetric KMSlong (KMS) CMK used for encryption. + :param str kms_key_id: Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption. :param str snapshot_id: The ID of the snapshot. :param int throughput: The throughput to provision for a ``gp3`` volume, with a maximum of 1,000 MiB/s. Valid Range: Minimum value of 125. Maximum value of 1000. @@ -4869,7 +4869,7 @@ def iops(self) -> Optional[int]: @pulumi.getter(name="kmsKeyId") def kms_key_id(self) -> Optional[str]: """ - The ARN of the symmetric KMSlong (KMS) CMK used for encryption. + Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption. """ return pulumi.get(self, "kms_key_id") @@ -5231,7 +5231,7 @@ class LaunchTemplateInstanceRequirements(dict): If you specify ``InstanceRequirements``, you can't specify ``InstanceType``. 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``. - 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*. + 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*. """ @staticmethod def __key_warning(key: str): @@ -5331,7 +5331,7 @@ def __init__(__self__, *, If you specify ``InstanceRequirements``, you can't specify ``InstanceType``. 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``. - 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*. + 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*. :param 'LaunchTemplateAcceleratorCount' accelerator_count: The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) on an instance. To exclude accelerator-enabled instance types, set ``Max`` to ``0``. Default: No minimum or maximum limits @@ -5363,7 +5363,6 @@ def __init__(__self__, *, :param Sequence[str] accelerator_types: The accelerator types that must be on the instance type. + For instance types with GPU accelerators, specify ``gpu``. + For instance types with FPGA accelerators, specify ``fpga``. - + For instance types with inference accelerators, specify ``inference``. Default: Any accelerator type :param Sequence[str] allowed_instance_types: The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. @@ -5554,7 +5553,6 @@ def accelerator_types(self) -> Optional[Sequence[str]]: The accelerator types that must be on the instance type. + For instance types with GPU accelerators, specify ``gpu``. + For instance types with FPGA accelerators, specify ``fpga``. - + For instance types with inference accelerators, specify ``inference``. Default: Any accelerator type """ @@ -6322,9 +6320,10 @@ def __init__(__self__, *, :param int device_index: The device index for the network interface attachment. Each network interface requires a device index. If you create a launch template that includes secondary network interfaces but not a primary network interface, then you must add a primary network interface as a launch parameter when you launch an instance from the template. :param 'LaunchTemplateEnaSrdSpecification' ena_srd_specification: The ENA Express configuration for the network interface. :param Sequence[str] groups: The IDs of one or more security groups. - :param str interface_type: 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*. + :param str interface_type: 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*. If you are not creating an EFA, specify ``interface`` or omit this parameter. - Valid values: ``interface`` | ``efa`` + If you specify ``efa-only``, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses. + Valid values: ``interface`` | ``efa`` | ``efa-only`` :param int ipv4_prefix_count: The number of IPv4 prefixes to be automatically assigned to the network interface. You cannot use this option if you use the ``Ipv4Prefix`` option. :param Sequence['LaunchTemplateIpv4PrefixSpecification'] ipv4_prefixes: One or more IPv4 prefixes to be assigned to the network interface. You cannot use this option if you use the ``Ipv4PrefixCount`` option. :param int ipv6_address_count: The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. You can't use this option if specifying specific IPv6 addresses. @@ -6454,9 +6453,10 @@ def groups(self) -> Optional[Sequence[str]]: @pulumi.getter(name="interfaceType") def interface_type(self) -> Optional[str]: """ - 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*. + 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*. If you are not creating an EFA, specify ``interface`` or omit this parameter. - Valid values: ``interface`` | ``efa`` + If you specify ``efa-only``, do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses. + Valid values: ``interface`` | ``efa`` | ``efa-only`` """ return pulumi.get(self, "interface_type") @@ -7019,6 +7019,7 @@ def value(self) -> str: class LaunchTemplateTagSpecification(dict): """ Specifies the tags to apply to the launch template during creation. + 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). ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html). """ @staticmethod @@ -7043,6 +7044,7 @@ def __init__(__self__, *, tags: Optional[Sequence['outputs.LaunchTemplateTag']] = None): """ Specifies the tags to apply to the launch template during creation. + 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). ``LaunchTemplateTagSpecification`` is a property of [AWS::EC2::LaunchTemplate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html). :param str resource_type: The type of resource. To tag a launch template, ``ResourceType`` must be ``launch-template``. :param Sequence['LaunchTemplateTag'] tags: The tags for the resource. @@ -13212,7 +13214,7 @@ def kms_key_arn(self) -> Optional[str]: @pulumi.output_type class TagSpecification(dict): """ - Specifies the tags to apply to a resource when the resource is created for the launch template. + Specifies the tags to apply to resources that are created during instance launch. ``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). """ @staticmethod @@ -13236,7 +13238,7 @@ def __init__(__self__, *, resource_type: Optional[str] = None, tags: Optional[Sequence['outputs.LaunchTemplateTag']] = None): """ - Specifies the tags to apply to a resource when the resource is created for the launch template. + Specifies the tags to apply to resources that are created during instance launch. ``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). :param str resource_type: The type of resource to tag. You can specify tags for the following resource types only: ``instance`` | ``volume`` | ``network-interface`` | ``spot-instances-request``. If the instance does not include the resource type that you specify, the instance launch fails. For example, not all instance types include a volume. To tag a resource after it has been created, see [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html). diff --git a/sdk/python/pulumi_aws_native/ec2/security_group_vpc_association.py b/sdk/python/pulumi_aws_native/ec2/security_group_vpc_association.py new file mode 100644 index 0000000000..853c69d5b2 --- /dev/null +++ b/sdk/python/pulumi_aws_native/ec2/security_group_vpc_association.py @@ -0,0 +1,188 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from ._enums import * + +__all__ = ['SecurityGroupVpcAssociationArgs', 'SecurityGroupVpcAssociation'] + +@pulumi.input_type +class SecurityGroupVpcAssociationArgs: + def __init__(__self__, *, + group_id: pulumi.Input[str], + vpc_id: pulumi.Input[str]): + """ + The set of arguments for constructing a SecurityGroupVpcAssociation resource. + :param pulumi.Input[str] group_id: The group ID of the specified security group. + :param pulumi.Input[str] vpc_id: The ID of the VPC in the security group vpc association. + """ + pulumi.set(__self__, "group_id", group_id) + pulumi.set(__self__, "vpc_id", vpc_id) + + @property + @pulumi.getter(name="groupId") + def group_id(self) -> pulumi.Input[str]: + """ + The group ID of the specified security group. + """ + return pulumi.get(self, "group_id") + + @group_id.setter + def group_id(self, value: pulumi.Input[str]): + pulumi.set(self, "group_id", value) + + @property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> pulumi.Input[str]: + """ + The ID of the VPC in the security group vpc association. + """ + return pulumi.get(self, "vpc_id") + + @vpc_id.setter + def vpc_id(self, value: pulumi.Input[str]): + pulumi.set(self, "vpc_id", value) + + +class SecurityGroupVpcAssociation(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + group_id: Optional[pulumi.Input[str]] = None, + vpc_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource type definition for the AWS::EC2::SecurityGroupVpcAssociation resource + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] group_id: The group ID of the specified security group. + :param pulumi.Input[str] vpc_id: The ID of the VPC in the security group vpc association. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: SecurityGroupVpcAssociationArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource type definition for the AWS::EC2::SecurityGroupVpcAssociation resource + + :param str resource_name: The name of the resource. + :param SecurityGroupVpcAssociationArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(SecurityGroupVpcAssociationArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + group_id: Optional[pulumi.Input[str]] = None, + vpc_id: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = SecurityGroupVpcAssociationArgs.__new__(SecurityGroupVpcAssociationArgs) + + if group_id is None and not opts.urn: + raise TypeError("Missing required property 'group_id'") + __props__.__dict__["group_id"] = group_id + if vpc_id is None and not opts.urn: + raise TypeError("Missing required property 'vpc_id'") + __props__.__dict__["vpc_id"] = vpc_id + __props__.__dict__["state"] = None + __props__.__dict__["state_reason"] = None + __props__.__dict__["vpc_owner_id"] = None + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["groupId", "vpcId"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(SecurityGroupVpcAssociation, __self__).__init__( + 'aws-native:ec2:SecurityGroupVpcAssociation', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'SecurityGroupVpcAssociation': + """ + Get an existing SecurityGroupVpcAssociation resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = SecurityGroupVpcAssociationArgs.__new__(SecurityGroupVpcAssociationArgs) + + __props__.__dict__["group_id"] = None + __props__.__dict__["state"] = None + __props__.__dict__["state_reason"] = None + __props__.__dict__["vpc_id"] = None + __props__.__dict__["vpc_owner_id"] = None + return SecurityGroupVpcAssociation(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="groupId") + def group_id(self) -> pulumi.Output[str]: + """ + The group ID of the specified security group. + """ + return pulumi.get(self, "group_id") + + @property + @pulumi.getter + def state(self) -> pulumi.Output['SecurityGroupVpcAssociationState']: + """ + The state of the security group vpc association. + """ + return pulumi.get(self, "state") + + @property + @pulumi.getter(name="stateReason") + def state_reason(self) -> pulumi.Output[str]: + """ + The reason for the state of the security group vpc association. + """ + return pulumi.get(self, "state_reason") + + @property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> pulumi.Output[str]: + """ + The ID of the VPC in the security group vpc association. + """ + return pulumi.get(self, "vpc_id") + + @property + @pulumi.getter(name="vpcOwnerId") + def vpc_owner_id(self) -> pulumi.Output[str]: + """ + The owner of the VPC in the security group vpc association. + """ + return pulumi.get(self, "vpc_owner_id") + diff --git a/sdk/python/pulumi_aws_native/ecs/_inputs.py b/sdk/python/pulumi_aws_native/ecs/_inputs.py index f85d113cc6..d7f09cca58 100644 --- a/sdk/python/pulumi_aws_native/ecs/_inputs.py +++ b/sdk/python/pulumi_aws_native/ecs/_inputs.py @@ -288,7 +288,7 @@ class CapacityProviderManagedScalingArgsDict(TypedDict): """ minimum_scaling_step_size: NotRequired[pulumi.Input[int]] """ - 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. + 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. When 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. @@ -317,7 +317,7 @@ def __init__(__self__, *, The managed scaling settings for the Auto Scaling group capacity provider. :param pulumi.Input[int] instance_warmup_period: The period of time, in seconds, after a newly launched Amazon EC2 instance can contribute to CloudWatch metrics for Auto Scaling group. If this parameter is omitted, the default value of `300` seconds is used. :param pulumi.Input[int] maximum_scaling_step_size: The maximum number of Amazon EC2 instances that Amazon ECS will scale out at one time. If this parameter is omitted, the default value of `10000` is used. - :param pulumi.Input[int] minimum_scaling_step_size: 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. + :param pulumi.Input[int] minimum_scaling_step_size: 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. When 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. @@ -364,7 +364,7 @@ def maximum_scaling_step_size(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="minimumScalingStepSize") def minimum_scaling_step_size(self) -> Optional[pulumi.Input[int]]: """ - 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. + 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. When 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. @@ -1728,7 +1728,7 @@ def rollback(self, value: pulumi.Input[bool]): if not MYPY: class ServiceDeploymentConfigurationArgsDict(TypedDict): """ - Optional deployment parameters that control how many tasks run during a deployment and the ordering of stopping and starting tasks. + Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods. """ alarms: NotRequired[pulumi.Input['ServiceDeploymentAlarmsArgsDict']] """ @@ -1775,7 +1775,7 @@ def __init__(__self__, *, maximum_percent: Optional[pulumi.Input[int]] = None, minimum_healthy_percent: Optional[pulumi.Input[int]] = None): """ - Optional deployment parameters that control how many tasks run during a deployment and the ordering of stopping and starting tasks. + Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods. :param pulumi.Input['ServiceDeploymentAlarmsArgs'] alarms: Information about the CloudWatch alarms. :param pulumi.Input['ServiceDeploymentCircuitBreakerArgs'] deployment_circuit_breaker: The deployment circuit breaker can only be used for services using the rolling update (``ECS``) deployment type. The *deployment circuit breaker* determines whether a service deployment will fail if the service can't reach a steady state. If you use the deployment circuit breaker, a service deployment will transition to a failed state and stop launching new tasks. If you use the rollback option, when a service deployment fails, the service is rolled back to the last deployment that completed successfully. For more information, see [Rolling update](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html) in the *Amazon Elastic Container Service Developer Guide* @@ -2016,7 +2016,7 @@ class ServiceLoadBalancerArgsDict(TypedDict): """ load_balancer_name: NotRequired[pulumi.Input[str]] """ - The name of the load balancer to associate with the Amazon ECS service or task set. + The name of the load balancer to associate with the service or task set. If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted. """ target_group_arn: NotRequired[pulumi.Input[str]] @@ -2044,7 +2044,7 @@ def __init__(__self__, *, :param pulumi.Input[str] container_name: The name of the container (as it appears in a container definition) to associate with the load balancer. You need to specify the container name when configuring the target group for an Amazon ECS load balancer. :param pulumi.Input[int] container_port: The port on the container to associate with the load balancer. This port must correspond to a ``containerPort`` in the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they're launched on must allow ingress traffic on the ``hostPort`` of the port mapping. - :param pulumi.Input[str] load_balancer_name: The name of the load balancer to associate with the Amazon ECS service or task set. + :param pulumi.Input[str] load_balancer_name: The name of the load balancer to associate with the service or task set. If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted. :param pulumi.Input[str] target_group_arn: The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or task set. A target group ARN is only specified when using an Application Load Balancer or Network Load Balancer. @@ -2090,7 +2090,7 @@ def container_port(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="loadBalancerName") def load_balancer_name(self) -> Optional[pulumi.Input[str]]: """ - The name of the load balancer to associate with the Amazon ECS service or task set. + The name of the load balancer to associate with the service or task set. If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted. """ return pulumi.get(self, "load_balancer_name") @@ -2253,7 +2253,7 @@ def secret_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Ser if not MYPY: class ServiceManagedEbsVolumeConfigurationArgsDict(TypedDict): """ - 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. + 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*. Many of these parameters map 1:1 with the Amazon EBS ``CreateVolume`` API request parameters. """ role_arn: pulumi.Input[str] @@ -2266,9 +2266,10 @@ class ServiceManagedEbsVolumeConfigurationArgsDict(TypedDict): """ filesystem_type: NotRequired[pulumi.Input[str]] """ - 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. - The available filesystem types are + 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. + The available Linux filesystem types are ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default. + The available Windows filesystem types are ``NTFS``. """ iops: NotRequired[pulumi.Input[int]] """ @@ -2336,13 +2337,14 @@ def __init__(__self__, *, throughput: Optional[pulumi.Input[int]] = None, volume_type: Optional[pulumi.Input[str]] = None): """ - 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. + 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*. Many of these parameters map 1:1 with the Amazon EBS ``CreateVolume`` API request parameters. :param pulumi.Input[str] role_arn: The ARN of the IAM role to associate with this volume. This is the Amazon ECS infrastructure IAM role that is used to manage your AWS infrastructure. We recommend using the Amazon ECS-managed ``AmazonECSInfrastructureRolePolicyForVolumes`` IAM policy with this role. For more information, see [Amazon ECS infrastructure IAM role](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/infrastructure_IAM_role.html) in the *Amazon ECS Developer Guide*. :param pulumi.Input[bool] encrypted: Indicates whether the volume should be encrypted. If no value is specified, encryption is turned on by default. This parameter maps 1:1 with the ``Encrypted`` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference*. - :param pulumi.Input[str] filesystem_type: 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. - The available filesystem types are + :param pulumi.Input[str] filesystem_type: 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. + The available Linux filesystem types are ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default. + The available Windows filesystem types are ``NTFS``. :param pulumi.Input[int] iops: The number of I/O operations per second (IOPS). For ``gp3``, ``io1``, and ``io2`` volumes, this represents the number of IOPS that are provisioned for the volume. For ``gp2`` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. The following are the supported values for each volume type. + ``gp3``: 3,000 - 16,000 IOPS @@ -2420,9 +2422,10 @@ def encrypted(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="filesystemType") def filesystem_type(self) -> Optional[pulumi.Input[str]]: """ - 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. - The available filesystem types are + 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. + The available Linux filesystem types are ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default. + The available Windows filesystem types are ``NTFS``. """ return pulumi.get(self, "filesystem_type") diff --git a/sdk/python/pulumi_aws_native/ecs/get_service.py b/sdk/python/pulumi_aws_native/ecs/get_service.py index c7ec44e73c..0a277dbe5e 100644 --- a/sdk/python/pulumi_aws_native/ecs/get_service.py +++ b/sdk/python/pulumi_aws_native/ecs/get_service.py @@ -93,7 +93,7 @@ def capacity_provider_strategy(self) -> Optional[Sequence['outputs.ServiceCapaci @pulumi.getter(name="deploymentConfiguration") def deployment_configuration(self) -> Optional['outputs.ServiceDeploymentConfiguration']: """ - Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks. + Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods. """ return pulumi.get(self, "deployment_configuration") diff --git a/sdk/python/pulumi_aws_native/ecs/outputs.py b/sdk/python/pulumi_aws_native/ecs/outputs.py index 9f73a5e62a..936c8772aa 100644 --- a/sdk/python/pulumi_aws_native/ecs/outputs.py +++ b/sdk/python/pulumi_aws_native/ecs/outputs.py @@ -218,7 +218,7 @@ def __init__(__self__, *, The managed scaling settings for the Auto Scaling group capacity provider. :param int instance_warmup_period: The period of time, in seconds, after a newly launched Amazon EC2 instance can contribute to CloudWatch metrics for Auto Scaling group. If this parameter is omitted, the default value of `300` seconds is used. :param int maximum_scaling_step_size: The maximum number of Amazon EC2 instances that Amazon ECS will scale out at one time. If this parameter is omitted, the default value of `10000` is used. - :param int minimum_scaling_step_size: 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. + :param int minimum_scaling_step_size: 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. When 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. @@ -257,7 +257,7 @@ def maximum_scaling_step_size(self) -> Optional[int]: @pulumi.getter(name="minimumScalingStepSize") def minimum_scaling_step_size(self) -> Optional[int]: """ - 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. + 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. When 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. @@ -1378,7 +1378,7 @@ def rollback(self) -> bool: @pulumi.output_type class ServiceDeploymentConfiguration(dict): """ - Optional deployment parameters that control how many tasks run during a deployment and the ordering of stopping and starting tasks. + Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods. """ @staticmethod def __key_warning(key: str): @@ -1407,7 +1407,7 @@ def __init__(__self__, *, maximum_percent: Optional[int] = None, minimum_healthy_percent: Optional[int] = None): """ - Optional deployment parameters that control how many tasks run during a deployment and the ordering of stopping and starting tasks. + Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods. :param 'ServiceDeploymentAlarms' alarms: Information about the CloudWatch alarms. :param 'ServiceDeploymentCircuitBreaker' deployment_circuit_breaker: The deployment circuit breaker can only be used for services using the rolling update (``ECS``) deployment type. The *deployment circuit breaker* determines whether a service deployment will fail if the service can't reach a steady state. If you use the deployment circuit breaker, a service deployment will transition to a failed state and stop launching new tasks. If you use the rollback option, when a service deployment fails, the service is rolled back to the last deployment that completed successfully. For more information, see [Rolling update](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html) in the *Amazon Elastic Container Service Developer Guide* @@ -1629,7 +1629,7 @@ def __init__(__self__, *, :param str container_name: The name of the container (as it appears in a container definition) to associate with the load balancer. You need to specify the container name when configuring the target group for an Amazon ECS load balancer. :param int container_port: The port on the container to associate with the load balancer. This port must correspond to a ``containerPort`` in the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they're launched on must allow ingress traffic on the ``hostPort`` of the port mapping. - :param str load_balancer_name: The name of the load balancer to associate with the Amazon ECS service or task set. + :param str load_balancer_name: The name of the load balancer to associate with the service or task set. If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted. :param str target_group_arn: The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or task set. A target group ARN is only specified when using an Application Load Balancer or Network Load Balancer. @@ -1667,7 +1667,7 @@ def container_port(self) -> Optional[int]: @pulumi.getter(name="loadBalancerName") def load_balancer_name(self) -> Optional[str]: """ - The name of the load balancer to associate with the Amazon ECS service or task set. + The name of the load balancer to associate with the service or task set. If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted. """ return pulumi.get(self, "load_balancer_name") @@ -1798,7 +1798,7 @@ def secret_options(self) -> Optional[Sequence['outputs.ServiceSecret']]: @pulumi.output_type class ServiceManagedEbsVolumeConfiguration(dict): """ - 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. + 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*. Many of these parameters map 1:1 with the Amazon EBS ``CreateVolume`` API request parameters. """ @staticmethod @@ -1842,13 +1842,14 @@ def __init__(__self__, *, throughput: Optional[int] = None, volume_type: Optional[str] = None): """ - 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. + 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*. Many of these parameters map 1:1 with the Amazon EBS ``CreateVolume`` API request parameters. :param str role_arn: The ARN of the IAM role to associate with this volume. This is the Amazon ECS infrastructure IAM role that is used to manage your AWS infrastructure. We recommend using the Amazon ECS-managed ``AmazonECSInfrastructureRolePolicyForVolumes`` IAM policy with this role. For more information, see [Amazon ECS infrastructure IAM role](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/infrastructure_IAM_role.html) in the *Amazon ECS Developer Guide*. :param bool encrypted: Indicates whether the volume should be encrypted. If no value is specified, encryption is turned on by default. This parameter maps 1:1 with the ``Encrypted`` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference*. - :param str filesystem_type: 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. - The available filesystem types are + :param str filesystem_type: 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. + The available Linux filesystem types are ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default. + The available Windows filesystem types are ``NTFS``. :param int iops: The number of I/O operations per second (IOPS). For ``gp3``, ``io1``, and ``io2`` volumes, this represents the number of IOPS that are provisioned for the volume. For ``gp2`` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. The following are the supported values for each volume type. + ``gp3``: 3,000 - 16,000 IOPS @@ -1918,9 +1919,10 @@ def encrypted(self) -> Optional[bool]: @pulumi.getter(name="filesystemType") def filesystem_type(self) -> Optional[str]: """ - 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. - The available filesystem types are + 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. + The available Linux filesystem types are ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default. + The available Windows filesystem types are ``NTFS``. """ return pulumi.get(self, "filesystem_type") diff --git a/sdk/python/pulumi_aws_native/ecs/service.py b/sdk/python/pulumi_aws_native/ecs/service.py index 6e5312733a..18d5bf69ab 100644 --- a/sdk/python/pulumi_aws_native/ecs/service.py +++ b/sdk/python/pulumi_aws_native/ecs/service.py @@ -53,7 +53,7 @@ def __init__(__self__, *, If a ``capacityProviderStrategy`` is specified, the ``launchType`` parameter must be omitted. If no ``capacityProviderStrategy`` or ``launchType`` is specified, the ``defaultCapacityProviderStrategy`` for the cluster is used. A capacity provider strategy may contain a maximum of 6 capacity providers. :param pulumi.Input[str] cluster: The short name or full Amazon Resource Name (ARN) of the cluster that you run your service on. If you do not specify a cluster, the default cluster is assumed. - :param pulumi.Input['ServiceDeploymentConfigurationArgs'] deployment_configuration: Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks. + :param pulumi.Input['ServiceDeploymentConfigurationArgs'] deployment_configuration: Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods. :param pulumi.Input['ServiceDeploymentControllerArgs'] deployment_controller: The deployment controller to use for the service. If no deployment controller is specified, the default value of ``ECS`` is used. :param pulumi.Input[int] desired_count: The number of instantiations of the specified task definition to place and keep running in your service. For new services, if a desired count is not specified, a default value of ``1`` is used. When using the ``DAEMON`` scheduling strategy, the desired count is not required. @@ -178,7 +178,7 @@ def cluster(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="deploymentConfiguration") def deployment_configuration(self) -> Optional[pulumi.Input['ServiceDeploymentConfigurationArgs']]: """ - Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks. + Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods. """ return pulumi.get(self, "deployment_configuration") @@ -493,7 +493,7 @@ def __init__(__self__, If a ``capacityProviderStrategy`` is specified, the ``launchType`` parameter must be omitted. If no ``capacityProviderStrategy`` or ``launchType`` is specified, the ``defaultCapacityProviderStrategy`` for the cluster is used. A capacity provider strategy may contain a maximum of 6 capacity providers. :param pulumi.Input[str] cluster: The short name or full Amazon Resource Name (ARN) of the cluster that you run your service on. If you do not specify a cluster, the default cluster is assumed. - :param pulumi.Input[Union['ServiceDeploymentConfigurationArgs', 'ServiceDeploymentConfigurationArgsDict']] deployment_configuration: Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks. + :param pulumi.Input[Union['ServiceDeploymentConfigurationArgs', 'ServiceDeploymentConfigurationArgsDict']] deployment_configuration: Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods. :param pulumi.Input[Union['ServiceDeploymentControllerArgs', 'ServiceDeploymentControllerArgsDict']] deployment_controller: The deployment controller to use for the service. If no deployment controller is specified, the default value of ``ECS`` is used. :param pulumi.Input[int] desired_count: The number of instantiations of the specified task definition to place and keep running in your service. For new services, if a desired count is not specified, a default value of ``1`` is used. When using the ``DAEMON`` scheduling strategy, the desired count is not required. @@ -697,7 +697,7 @@ def cluster(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="deploymentConfiguration") def deployment_configuration(self) -> pulumi.Output[Optional['outputs.ServiceDeploymentConfiguration']]: """ - Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks. + Optional deployment parameters that control how many tasks run during the deployment and the failure detection methods. """ return pulumi.get(self, "deployment_configuration") diff --git a/sdk/python/pulumi_aws_native/elasticloadbalancingv2/_inputs.py b/sdk/python/pulumi_aws_native/elasticloadbalancingv2/_inputs.py index 6ee4a4d724..253c0ad9e3 100644 --- a/sdk/python/pulumi_aws_native/elasticloadbalancingv2/_inputs.py +++ b/sdk/python/pulumi_aws_native/elasticloadbalancingv2/_inputs.py @@ -2893,6 +2893,7 @@ class LoadBalancerAttributeArgsDict(TypedDict): The following attributes are supported by only Network Load Balancers: + ``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. + + ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false``. The default is ``false``. """ value: NotRequired[pulumi.Input[str]] """ @@ -2940,6 +2941,7 @@ def __init__(__self__, *, The following attributes are supported by only Network Load Balancers: + ``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. + + ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false``. The default is ``false``. :param pulumi.Input[str] value: The value of the attribute. """ if key is not None: @@ -2983,6 +2985,7 @@ def key(self) -> Optional[pulumi.Input[str]]: The following attributes are supported by only Network Load Balancers: + ``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. + + ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false``. The default is ``false``. """ return pulumi.get(self, "key") @@ -3024,6 +3027,7 @@ class LoadBalancerSubnetMappingArgsDict(TypedDict): """ [Network Load Balancers] The private IPv4 address for an internal load balancer. """ + source_nat_ipv6_prefix: NotRequired[pulumi.Input[str]] elif False: LoadBalancerSubnetMappingArgsDict: TypeAlias = Mapping[str, Any] @@ -3033,7 +3037,8 @@ def __init__(__self__, *, subnet_id: pulumi.Input[str], allocation_id: Optional[pulumi.Input[str]] = None, i_pv6_address: Optional[pulumi.Input[str]] = None, - private_i_pv4_address: Optional[pulumi.Input[str]] = None): + private_i_pv4_address: Optional[pulumi.Input[str]] = None, + source_nat_ipv6_prefix: Optional[pulumi.Input[str]] = None): """ Specifies a subnet for a load balancer. :param pulumi.Input[str] subnet_id: The ID of the subnet. @@ -3048,6 +3053,8 @@ def __init__(__self__, *, pulumi.set(__self__, "i_pv6_address", i_pv6_address) if private_i_pv4_address is not None: pulumi.set(__self__, "private_i_pv4_address", private_i_pv4_address) + if source_nat_ipv6_prefix is not None: + pulumi.set(__self__, "source_nat_ipv6_prefix", source_nat_ipv6_prefix) @property @pulumi.getter(name="subnetId") @@ -3097,6 +3104,15 @@ def private_i_pv4_address(self) -> Optional[pulumi.Input[str]]: def private_i_pv4_address(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "private_i_pv4_address", value) + @property + @pulumi.getter(name="sourceNatIpv6Prefix") + def source_nat_ipv6_prefix(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "source_nat_ipv6_prefix") + + @source_nat_ipv6_prefix.setter + def source_nat_ipv6_prefix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "source_nat_ipv6_prefix", value) + if not MYPY: class TargetGroupAttributeArgsDict(TypedDict): diff --git a/sdk/python/pulumi_aws_native/elasticloadbalancingv2/get_load_balancer.py b/sdk/python/pulumi_aws_native/elasticloadbalancingv2/get_load_balancer.py index 754e686cfb..f8e07d1113 100644 --- a/sdk/python/pulumi_aws_native/elasticloadbalancingv2/get_load_balancer.py +++ b/sdk/python/pulumi_aws_native/elasticloadbalancingv2/get_load_balancer.py @@ -25,13 +25,16 @@ @pulumi.output_type class GetLoadBalancerResult: - def __init__(__self__, canonical_hosted_zone_id=None, dns_name=None, enforce_security_group_inbound_rules_on_private_link_traffic=None, ip_address_type=None, load_balancer_arn=None, load_balancer_attributes=None, load_balancer_full_name=None, load_balancer_name=None, security_groups=None, subnet_mappings=None, subnets=None, tags=None): + def __init__(__self__, canonical_hosted_zone_id=None, dns_name=None, enable_prefix_for_ipv6_source_nat=None, enforce_security_group_inbound_rules_on_private_link_traffic=None, ip_address_type=None, load_balancer_arn=None, load_balancer_attributes=None, load_balancer_full_name=None, load_balancer_name=None, security_groups=None, subnet_mappings=None, subnets=None, tags=None): if canonical_hosted_zone_id and not isinstance(canonical_hosted_zone_id, str): raise TypeError("Expected argument 'canonical_hosted_zone_id' to be a str") pulumi.set(__self__, "canonical_hosted_zone_id", canonical_hosted_zone_id) if dns_name and not isinstance(dns_name, str): raise TypeError("Expected argument 'dns_name' to be a str") pulumi.set(__self__, "dns_name", dns_name) + if enable_prefix_for_ipv6_source_nat and not isinstance(enable_prefix_for_ipv6_source_nat, str): + raise TypeError("Expected argument 'enable_prefix_for_ipv6_source_nat' to be a str") + pulumi.set(__self__, "enable_prefix_for_ipv6_source_nat", enable_prefix_for_ipv6_source_nat) if enforce_security_group_inbound_rules_on_private_link_traffic and not isinstance(enforce_security_group_inbound_rules_on_private_link_traffic, str): raise TypeError("Expected argument 'enforce_security_group_inbound_rules_on_private_link_traffic' to be a str") pulumi.set(__self__, "enforce_security_group_inbound_rules_on_private_link_traffic", enforce_security_group_inbound_rules_on_private_link_traffic) @@ -79,6 +82,11 @@ def dns_name(self) -> Optional[str]: """ return pulumi.get(self, "dns_name") + @property + @pulumi.getter(name="enablePrefixForIpv6SourceNat") + def enable_prefix_for_ipv6_source_nat(self) -> Optional[str]: + return pulumi.get(self, "enable_prefix_for_ipv6_source_nat") + @property @pulumi.getter(name="enforceSecurityGroupInboundRulesOnPrivateLinkTraffic") def enforce_security_group_inbound_rules_on_private_link_traffic(self) -> Optional[str]: @@ -182,6 +190,7 @@ def __await__(self): return GetLoadBalancerResult( canonical_hosted_zone_id=self.canonical_hosted_zone_id, dns_name=self.dns_name, + enable_prefix_for_ipv6_source_nat=self.enable_prefix_for_ipv6_source_nat, enforce_security_group_inbound_rules_on_private_link_traffic=self.enforce_security_group_inbound_rules_on_private_link_traffic, ip_address_type=self.ip_address_type, load_balancer_arn=self.load_balancer_arn, @@ -210,6 +219,7 @@ def get_load_balancer(load_balancer_arn: Optional[str] = None, return AwaitableGetLoadBalancerResult( canonical_hosted_zone_id=pulumi.get(__ret__, 'canonical_hosted_zone_id'), dns_name=pulumi.get(__ret__, 'dns_name'), + enable_prefix_for_ipv6_source_nat=pulumi.get(__ret__, 'enable_prefix_for_ipv6_source_nat'), enforce_security_group_inbound_rules_on_private_link_traffic=pulumi.get(__ret__, 'enforce_security_group_inbound_rules_on_private_link_traffic'), ip_address_type=pulumi.get(__ret__, 'ip_address_type'), load_balancer_arn=pulumi.get(__ret__, 'load_balancer_arn'), @@ -235,6 +245,7 @@ def get_load_balancer_output(load_balancer_arn: Optional[pulumi.Input[str]] = No return __ret__.apply(lambda __response__: GetLoadBalancerResult( canonical_hosted_zone_id=pulumi.get(__response__, 'canonical_hosted_zone_id'), dns_name=pulumi.get(__response__, 'dns_name'), + enable_prefix_for_ipv6_source_nat=pulumi.get(__response__, 'enable_prefix_for_ipv6_source_nat'), enforce_security_group_inbound_rules_on_private_link_traffic=pulumi.get(__response__, 'enforce_security_group_inbound_rules_on_private_link_traffic'), ip_address_type=pulumi.get(__response__, 'ip_address_type'), load_balancer_arn=pulumi.get(__response__, 'load_balancer_arn'), diff --git a/sdk/python/pulumi_aws_native/elasticloadbalancingv2/load_balancer.py b/sdk/python/pulumi_aws_native/elasticloadbalancingv2/load_balancer.py index 3582072cc9..876753b2bc 100644 --- a/sdk/python/pulumi_aws_native/elasticloadbalancingv2/load_balancer.py +++ b/sdk/python/pulumi_aws_native/elasticloadbalancingv2/load_balancer.py @@ -23,6 +23,7 @@ @pulumi.input_type class LoadBalancerArgs: def __init__(__self__, *, + enable_prefix_for_ipv6_source_nat: Optional[pulumi.Input[str]] = None, enforce_security_group_inbound_rules_on_private_link_traffic: Optional[pulumi.Input[str]] = None, ip_address_type: Optional[pulumi.Input[str]] = None, load_balancer_attributes: Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerAttributeArgs']]]] = None, @@ -64,6 +65,8 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: The tags to assign to the load balancer. :param pulumi.Input[str] type: The type of load balancer. The default is ``application``. """ + if enable_prefix_for_ipv6_source_nat is not None: + pulumi.set(__self__, "enable_prefix_for_ipv6_source_nat", enable_prefix_for_ipv6_source_nat) if enforce_security_group_inbound_rules_on_private_link_traffic is not None: pulumi.set(__self__, "enforce_security_group_inbound_rules_on_private_link_traffic", enforce_security_group_inbound_rules_on_private_link_traffic) if ip_address_type is not None: @@ -85,6 +88,15 @@ def __init__(__self__, *, if type is not None: pulumi.set(__self__, "type", type) + @property + @pulumi.getter(name="enablePrefixForIpv6SourceNat") + def enable_prefix_for_ipv6_source_nat(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "enable_prefix_for_ipv6_source_nat") + + @enable_prefix_for_ipv6_source_nat.setter + def enable_prefix_for_ipv6_source_nat(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "enable_prefix_for_ipv6_source_nat", value) + @property @pulumi.getter(name="enforceSecurityGroupInboundRulesOnPrivateLinkTraffic") def enforce_security_group_inbound_rules_on_private_link_traffic(self) -> Optional[pulumi.Input[str]]: @@ -229,6 +241,7 @@ class LoadBalancer(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + enable_prefix_for_ipv6_source_nat: Optional[pulumi.Input[str]] = None, enforce_security_group_inbound_rules_on_private_link_traffic: Optional[pulumi.Input[str]] = None, ip_address_type: Optional[pulumi.Input[str]] = None, load_balancer_attributes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerAttributeArgs', 'LoadBalancerAttributeArgsDict']]]]] = None, @@ -298,6 +311,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + enable_prefix_for_ipv6_source_nat: Optional[pulumi.Input[str]] = None, enforce_security_group_inbound_rules_on_private_link_traffic: Optional[pulumi.Input[str]] = None, ip_address_type: Optional[pulumi.Input[str]] = None, load_balancer_attributes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerAttributeArgs', 'LoadBalancerAttributeArgsDict']]]]] = None, @@ -317,6 +331,7 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = LoadBalancerArgs.__new__(LoadBalancerArgs) + __props__.__dict__["enable_prefix_for_ipv6_source_nat"] = enable_prefix_for_ipv6_source_nat __props__.__dict__["enforce_security_group_inbound_rules_on_private_link_traffic"] = enforce_security_group_inbound_rules_on_private_link_traffic __props__.__dict__["ip_address_type"] = ip_address_type __props__.__dict__["load_balancer_attributes"] = load_balancer_attributes @@ -358,6 +373,7 @@ def get(resource_name: str, __props__.__dict__["canonical_hosted_zone_id"] = None __props__.__dict__["dns_name"] = None + __props__.__dict__["enable_prefix_for_ipv6_source_nat"] = None __props__.__dict__["enforce_security_group_inbound_rules_on_private_link_traffic"] = None __props__.__dict__["ip_address_type"] = None __props__.__dict__["load_balancer_arn"] = None @@ -389,6 +405,11 @@ def dns_name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "dns_name") + @property + @pulumi.getter(name="enablePrefixForIpv6SourceNat") + def enable_prefix_for_ipv6_source_nat(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "enable_prefix_for_ipv6_source_nat") + @property @pulumi.getter(name="enforceSecurityGroupInboundRulesOnPrivateLinkTraffic") def enforce_security_group_inbound_rules_on_private_link_traffic(self) -> pulumi.Output[Optional[str]]: diff --git a/sdk/python/pulumi_aws_native/elasticloadbalancingv2/outputs.py b/sdk/python/pulumi_aws_native/elasticloadbalancingv2/outputs.py index ad136e6f82..d4deece6e4 100644 --- a/sdk/python/pulumi_aws_native/elasticloadbalancingv2/outputs.py +++ b/sdk/python/pulumi_aws_native/elasticloadbalancingv2/outputs.py @@ -2255,6 +2255,7 @@ def __init__(__self__, *, The following attributes are supported by only Network Load Balancers: + ``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. + + ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false``. The default is ``false``. :param str value: The value of the attribute. """ if key is not None: @@ -2298,6 +2299,7 @@ def key(self) -> Optional[str]: The following attributes are supported by only Network Load Balancers: + ``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. + + ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false``. The default is ``false``. """ return pulumi.get(self, "key") @@ -2326,6 +2328,8 @@ def __key_warning(key: str): suggest = "i_pv6_address" elif key == "privateIPv4Address": suggest = "private_i_pv4_address" + elif key == "sourceNatIpv6Prefix": + suggest = "source_nat_ipv6_prefix" if suggest: pulumi.log.warn(f"Key '{key}' not found in LoadBalancerSubnetMapping. Access the value via the '{suggest}' property getter instead.") @@ -2342,7 +2346,8 @@ def __init__(__self__, *, subnet_id: str, allocation_id: Optional[str] = None, i_pv6_address: Optional[str] = None, - private_i_pv4_address: Optional[str] = None): + private_i_pv4_address: Optional[str] = None, + source_nat_ipv6_prefix: Optional[str] = None): """ Specifies a subnet for a load balancer. :param str subnet_id: The ID of the subnet. @@ -2357,6 +2362,8 @@ def __init__(__self__, *, pulumi.set(__self__, "i_pv6_address", i_pv6_address) if private_i_pv4_address is not None: pulumi.set(__self__, "private_i_pv4_address", private_i_pv4_address) + if source_nat_ipv6_prefix is not None: + pulumi.set(__self__, "source_nat_ipv6_prefix", source_nat_ipv6_prefix) @property @pulumi.getter(name="subnetId") @@ -2390,6 +2397,11 @@ def private_i_pv4_address(self) -> Optional[str]: """ return pulumi.get(self, "private_i_pv4_address") + @property + @pulumi.getter(name="sourceNatIpv6Prefix") + def source_nat_ipv6_prefix(self) -> Optional[str]: + return pulumi.get(self, "source_nat_ipv6_prefix") + @pulumi.output_type class TargetGroupAttribute(dict): diff --git a/sdk/python/pulumi_aws_native/gamelift/_inputs.py b/sdk/python/pulumi_aws_native/gamelift/_inputs.py index c987617265..0477ff0aba 100644 --- a/sdk/python/pulumi_aws_native/gamelift/_inputs.py +++ b/sdk/python/pulumi_aws_native/gamelift/_inputs.py @@ -1367,7 +1367,7 @@ class FleetLocationConfigurationArgsDict(TypedDict): """ location_capacity: NotRequired[pulumi.Input['FleetLocationCapacityArgsDict']] """ - 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. + 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. *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) """ @@ -1382,7 +1382,7 @@ def __init__(__self__, *, """ A remote location where a multi-location fleet can deploy EC2 instances for game hosting. :param pulumi.Input[str] location: An AWS Region code, such as `us-west-2` . For a list of supported Regions and Local Zones, see [Amazon GameLift service locations](https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-regions.html) for managed hosting. - :param pulumi.Input['FleetLocationCapacityArgs'] location_capacity: 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. + :param pulumi.Input['FleetLocationCapacityArgs'] location_capacity: 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. *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) """ @@ -1406,7 +1406,7 @@ def location(self, value: pulumi.Input[str]): @pulumi.getter(name="locationCapacity") def location_capacity(self) -> Optional[pulumi.Input['FleetLocationCapacityArgs']]: """ - 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. + 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. *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) """ diff --git a/sdk/python/pulumi_aws_native/gamelift/fleet.py b/sdk/python/pulumi_aws_native/gamelift/fleet.py index c649869926..2c7eb95b28 100644 --- a/sdk/python/pulumi_aws_native/gamelift/fleet.py +++ b/sdk/python/pulumi_aws_native/gamelift/fleet.py @@ -57,7 +57,7 @@ def __init__(__self__, *, :param pulumi.Input[str] build_id: A unique identifier for a build to be deployed on the new fleet. If you are deploying the fleet with a custom game build, you must specify this property. The build must have been successfully uploaded to Amazon GameLift and be in a READY status. This fleet setting cannot be changed once the fleet is created. :param pulumi.Input['FleetCertificateConfigurationArgs'] certificate_configuration: Indicates whether to generate a TLS/SSL certificate for the new fleet. TLS certificates are used for encrypting traffic between game clients and game servers running on GameLift. If this parameter is not set, certificate generation is disabled. This fleet setting cannot be changed once the fleet is created. :param pulumi.Input['FleetComputeType'] compute_type: ComputeType to differentiate EC2 hardware managed by GameLift and Anywhere hardware managed by the customer. - :param pulumi.Input['FleetContainerGroupsConfigurationArgs'] container_groups_configuration: *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* + :param pulumi.Input['FleetContainerGroupsConfigurationArgs'] container_groups_configuration: *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . @@ -210,7 +210,7 @@ def compute_type(self, value: Optional[pulumi.Input['FleetComputeType']]): @pulumi.getter(name="containerGroupsConfiguration") def container_groups_configuration(self) -> Optional[pulumi.Input['FleetContainerGroupsConfigurationArgs']]: """ - *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* + *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . @@ -535,7 +535,7 @@ def __init__(__self__, :param pulumi.Input[str] build_id: A unique identifier for a build to be deployed on the new fleet. If you are deploying the fleet with a custom game build, you must specify this property. The build must have been successfully uploaded to Amazon GameLift and be in a READY status. This fleet setting cannot be changed once the fleet is created. :param pulumi.Input[Union['FleetCertificateConfigurationArgs', 'FleetCertificateConfigurationArgsDict']] certificate_configuration: Indicates whether to generate a TLS/SSL certificate for the new fleet. TLS certificates are used for encrypting traffic between game clients and game servers running on GameLift. If this parameter is not set, certificate generation is disabled. This fleet setting cannot be changed once the fleet is created. :param pulumi.Input['FleetComputeType'] compute_type: ComputeType to differentiate EC2 hardware managed by GameLift and Anywhere hardware managed by the customer. - :param pulumi.Input[Union['FleetContainerGroupsConfigurationArgs', 'FleetContainerGroupsConfigurationArgsDict']] container_groups_configuration: *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* + :param pulumi.Input[Union['FleetContainerGroupsConfigurationArgs', 'FleetContainerGroupsConfigurationArgsDict']] container_groups_configuration: *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . @@ -756,7 +756,7 @@ def compute_type(self) -> pulumi.Output[Optional['FleetComputeType']]: @pulumi.getter(name="containerGroupsConfiguration") def container_groups_configuration(self) -> pulumi.Output[Optional['outputs.FleetContainerGroupsConfiguration']]: """ - *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* + *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . diff --git a/sdk/python/pulumi_aws_native/gamelift/outputs.py b/sdk/python/pulumi_aws_native/gamelift/outputs.py index b2272a1fae..4cb264b3a7 100644 --- a/sdk/python/pulumi_aws_native/gamelift/outputs.py +++ b/sdk/python/pulumi_aws_native/gamelift/outputs.py @@ -1129,7 +1129,7 @@ def __init__(__self__, *, """ A remote location where a multi-location fleet can deploy EC2 instances for game hosting. :param str location: An AWS Region code, such as `us-west-2` . For a list of supported Regions and Local Zones, see [Amazon GameLift service locations](https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-regions.html) for managed hosting. - :param 'FleetLocationCapacity' location_capacity: 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. + :param 'FleetLocationCapacity' location_capacity: 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. *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) """ @@ -1149,7 +1149,7 @@ def location(self) -> str: @pulumi.getter(name="locationCapacity") def location_capacity(self) -> Optional['outputs.FleetLocationCapacity']: """ - 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. + 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. *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) """ diff --git a/sdk/python/pulumi_aws_native/inspectorv2/_inputs.py b/sdk/python/pulumi_aws_native/inspectorv2/_inputs.py index 7e37542e99..9e9cc08385 100644 --- a/sdk/python/pulumi_aws_native/inspectorv2/_inputs.py +++ b/sdk/python/pulumi_aws_native/inspectorv2/_inputs.py @@ -51,7 +51,7 @@ if not MYPY: class CisScanConfigurationCisTargetsArgsDict(TypedDict): account_ids: pulumi.Input[Sequence[pulumi.Input[str]]] - target_resource_tags: NotRequired[pulumi.Input[Mapping[str, Any]]] + target_resource_tags: pulumi.Input[Mapping[str, Any]] elif False: CisScanConfigurationCisTargetsArgsDict: TypeAlias = Mapping[str, Any] @@ -59,10 +59,9 @@ class CisScanConfigurationCisTargetsArgsDict(TypedDict): class CisScanConfigurationCisTargetsArgs: def __init__(__self__, *, account_ids: pulumi.Input[Sequence[pulumi.Input[str]]], - target_resource_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None): + target_resource_tags: pulumi.Input[Mapping[str, Any]]): pulumi.set(__self__, "account_ids", account_ids) - if target_resource_tags is not None: - pulumi.set(__self__, "target_resource_tags", target_resource_tags) + pulumi.set(__self__, "target_resource_tags", target_resource_tags) @property @pulumi.getter(name="accountIds") @@ -75,11 +74,11 @@ def account_ids(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): @property @pulumi.getter(name="targetResourceTags") - def target_resource_tags(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: + def target_resource_tags(self) -> pulumi.Input[Mapping[str, Any]]: return pulumi.get(self, "target_resource_tags") @target_resource_tags.setter - def target_resource_tags(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): + def target_resource_tags(self, value: pulumi.Input[Mapping[str, Any]]): pulumi.set(self, "target_resource_tags", value) diff --git a/sdk/python/pulumi_aws_native/inspectorv2/outputs.py b/sdk/python/pulumi_aws_native/inspectorv2/outputs.py index 29ea236871..0b06715b36 100644 --- a/sdk/python/pulumi_aws_native/inspectorv2/outputs.py +++ b/sdk/python/pulumi_aws_native/inspectorv2/outputs.py @@ -56,10 +56,9 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, account_ids: Sequence[str], - target_resource_tags: Optional[Mapping[str, Any]] = None): + target_resource_tags: Mapping[str, Any]): pulumi.set(__self__, "account_ids", account_ids) - if target_resource_tags is not None: - pulumi.set(__self__, "target_resource_tags", target_resource_tags) + pulumi.set(__self__, "target_resource_tags", target_resource_tags) @property @pulumi.getter(name="accountIds") @@ -68,7 +67,7 @@ def account_ids(self) -> Sequence[str]: @property @pulumi.getter(name="targetResourceTags") - def target_resource_tags(self) -> Optional[Mapping[str, Any]]: + def target_resource_tags(self) -> Mapping[str, Any]: return pulumi.get(self, "target_resource_tags") diff --git a/sdk/python/pulumi_aws_native/logs/delivery.py b/sdk/python/pulumi_aws_native/logs/delivery.py index 6ff87ce10f..6d95898020 100644 --- a/sdk/python/pulumi_aws_native/logs/delivery.py +++ b/sdk/python/pulumi_aws_native/logs/delivery.py @@ -23,15 +23,31 @@ class DeliveryArgs: def __init__(__self__, *, delivery_destination_arn: pulumi.Input[str], delivery_source_name: pulumi.Input[str], + field_delimiter: Optional[pulumi.Input[str]] = None, + record_fields: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + s3_enable_hive_compatible_path: Optional[pulumi.Input[bool]] = None, + s3_suffix_path: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None): """ The set of arguments for constructing a Delivery resource. :param pulumi.Input[str] delivery_destination_arn: The ARN of the delivery destination that is associated with this delivery. :param pulumi.Input[str] delivery_source_name: The name of the delivery source that is associated with this delivery. + :param pulumi.Input[str] field_delimiter: The field delimiter to use between record fields when the final output format of a delivery is in Plain , W3C , or Raw format. + :param pulumi.Input[Sequence[pulumi.Input[str]]] record_fields: 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. + :param pulumi.Input[bool] s3_enable_hive_compatible_path: This parameter causes the S3 objects that contain delivered logs to use a prefix structure that allows for integration with Apache Hive. + :param pulumi.Input[str] s3_suffix_path: 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. :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: The tags that have been assigned to this delivery. """ pulumi.set(__self__, "delivery_destination_arn", delivery_destination_arn) pulumi.set(__self__, "delivery_source_name", delivery_source_name) + if field_delimiter is not None: + pulumi.set(__self__, "field_delimiter", field_delimiter) + if record_fields is not None: + pulumi.set(__self__, "record_fields", record_fields) + if s3_enable_hive_compatible_path is not None: + pulumi.set(__self__, "s3_enable_hive_compatible_path", s3_enable_hive_compatible_path) + if s3_suffix_path is not None: + pulumi.set(__self__, "s3_suffix_path", s3_suffix_path) if tags is not None: pulumi.set(__self__, "tags", tags) @@ -59,6 +75,54 @@ def delivery_source_name(self) -> pulumi.Input[str]: def delivery_source_name(self, value: pulumi.Input[str]): pulumi.set(self, "delivery_source_name", value) + @property + @pulumi.getter(name="fieldDelimiter") + def field_delimiter(self) -> Optional[pulumi.Input[str]]: + """ + The field delimiter to use between record fields when the final output format of a delivery is in Plain , W3C , or Raw format. + """ + return pulumi.get(self, "field_delimiter") + + @field_delimiter.setter + def field_delimiter(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "field_delimiter", value) + + @property + @pulumi.getter(name="recordFields") + def record_fields(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + 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. + """ + return pulumi.get(self, "record_fields") + + @record_fields.setter + def record_fields(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "record_fields", value) + + @property + @pulumi.getter(name="s3EnableHiveCompatiblePath") + def s3_enable_hive_compatible_path(self) -> Optional[pulumi.Input[bool]]: + """ + This parameter causes the S3 objects that contain delivered logs to use a prefix structure that allows for integration with Apache Hive. + """ + return pulumi.get(self, "s3_enable_hive_compatible_path") + + @s3_enable_hive_compatible_path.setter + def s3_enable_hive_compatible_path(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "s3_enable_hive_compatible_path", value) + + @property + @pulumi.getter(name="s3SuffixPath") + def s3_suffix_path(self) -> Optional[pulumi.Input[str]]: + """ + 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. + """ + return pulumi.get(self, "s3_suffix_path") + + @s3_suffix_path.setter + def s3_suffix_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "s3_suffix_path", value) + @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]: @@ -79,6 +143,10 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, delivery_destination_arn: Optional[pulumi.Input[str]] = None, delivery_source_name: Optional[pulumi.Input[str]] = None, + field_delimiter: Optional[pulumi.Input[str]] = None, + record_fields: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + s3_enable_hive_compatible_path: Optional[pulumi.Input[bool]] = None, + s3_suffix_path: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, __props__=None): """ @@ -92,6 +160,10 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] delivery_destination_arn: The ARN of the delivery destination that is associated with this delivery. :param pulumi.Input[str] delivery_source_name: The name of the delivery source that is associated with this delivery. + :param pulumi.Input[str] field_delimiter: The field delimiter to use between record fields when the final output format of a delivery is in Plain , W3C , or Raw format. + :param pulumi.Input[Sequence[pulumi.Input[str]]] record_fields: 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. + :param pulumi.Input[bool] s3_enable_hive_compatible_path: This parameter causes the S3 objects that contain delivered logs to use a prefix structure that allows for integration with Apache Hive. + :param pulumi.Input[str] s3_suffix_path: 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. :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]] tags: The tags that have been assigned to this delivery. """ ... @@ -124,6 +196,10 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, delivery_destination_arn: Optional[pulumi.Input[str]] = None, delivery_source_name: Optional[pulumi.Input[str]] = None, + field_delimiter: Optional[pulumi.Input[str]] = None, + record_fields: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + s3_enable_hive_compatible_path: Optional[pulumi.Input[bool]] = None, + s3_suffix_path: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -140,6 +216,10 @@ def _internal_init(__self__, if delivery_source_name is None and not opts.urn: raise TypeError("Missing required property 'delivery_source_name'") __props__.__dict__["delivery_source_name"] = delivery_source_name + __props__.__dict__["field_delimiter"] = field_delimiter + __props__.__dict__["record_fields"] = record_fields + __props__.__dict__["s3_enable_hive_compatible_path"] = s3_enable_hive_compatible_path + __props__.__dict__["s3_suffix_path"] = s3_suffix_path __props__.__dict__["tags"] = tags __props__.__dict__["arn"] = None __props__.__dict__["delivery_destination_type"] = None @@ -173,6 +253,10 @@ def get(resource_name: str, __props__.__dict__["delivery_destination_type"] = None __props__.__dict__["delivery_id"] = None __props__.__dict__["delivery_source_name"] = None + __props__.__dict__["field_delimiter"] = None + __props__.__dict__["record_fields"] = None + __props__.__dict__["s3_enable_hive_compatible_path"] = None + __props__.__dict__["s3_suffix_path"] = None __props__.__dict__["tags"] = None return Delivery(resource_name, opts=opts, __props__=__props__) @@ -216,6 +300,38 @@ def delivery_source_name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "delivery_source_name") + @property + @pulumi.getter(name="fieldDelimiter") + def field_delimiter(self) -> pulumi.Output[Optional[str]]: + """ + The field delimiter to use between record fields when the final output format of a delivery is in Plain , W3C , or Raw format. + """ + return pulumi.get(self, "field_delimiter") + + @property + @pulumi.getter(name="recordFields") + def record_fields(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + 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. + """ + return pulumi.get(self, "record_fields") + + @property + @pulumi.getter(name="s3EnableHiveCompatiblePath") + def s3_enable_hive_compatible_path(self) -> pulumi.Output[Optional[bool]]: + """ + This parameter causes the S3 objects that contain delivered logs to use a prefix structure that allows for integration with Apache Hive. + """ + return pulumi.get(self, "s3_enable_hive_compatible_path") + + @property + @pulumi.getter(name="s3SuffixPath") + def s3_suffix_path(self) -> pulumi.Output[Optional[str]]: + """ + 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. + """ + return pulumi.get(self, "s3_suffix_path") + @property @pulumi.getter def tags(self) -> pulumi.Output[Optional[Sequence['_root_outputs.Tag']]]: diff --git a/sdk/python/pulumi_aws_native/logs/delivery_destination.py b/sdk/python/pulumi_aws_native/logs/delivery_destination.py index a13b1cf246..8b1f73732c 100644 --- a/sdk/python/pulumi_aws_native/logs/delivery_destination.py +++ b/sdk/python/pulumi_aws_native/logs/delivery_destination.py @@ -26,6 +26,7 @@ def __init__(__self__, *, delivery_destination_policy: Optional[pulumi.Input[Sequence[pulumi.Input['DeliveryDestinationDestinationPolicyArgs']]]] = None, destination_resource_arn: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + output_format: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None): """ The set of arguments for constructing a DeliveryDestination resource. @@ -36,6 +37,7 @@ def __init__(__self__, *, Length Constraints: Maximum length of 51200 :param pulumi.Input[str] destination_resource_arn: The ARN of the Amazon Web Services destination that this delivery destination represents. That Amazon Web Services destination can be a log group in CloudWatch Logs, an Amazon S3 bucket, or a delivery stream in Firehose. :param pulumi.Input[str] name: The name of this delivery destination. + :param pulumi.Input[str] output_format: The format of the logs that are sent to this delivery destination. :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: The tags that have been assigned to this delivery destination. """ if delivery_destination_policy is not None: @@ -44,6 +46,8 @@ def __init__(__self__, *, pulumi.set(__self__, "destination_resource_arn", destination_resource_arn) if name is not None: pulumi.set(__self__, "name", name) + if output_format is not None: + pulumi.set(__self__, "output_format", output_format) if tags is not None: pulumi.set(__self__, "tags", tags) @@ -87,6 +91,18 @@ def name(self) -> Optional[pulumi.Input[str]]: def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) + @property + @pulumi.getter(name="outputFormat") + def output_format(self) -> Optional[pulumi.Input[str]]: + """ + The format of the logs that are sent to this delivery destination. + """ + return pulumi.get(self, "output_format") + + @output_format.setter + def output_format(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "output_format", value) + @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]: @@ -108,6 +124,7 @@ def __init__(__self__, delivery_destination_policy: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DeliveryDestinationDestinationPolicyArgs', 'DeliveryDestinationDestinationPolicyArgsDict']]]]] = None, destination_resource_arn: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + output_format: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, __props__=None): """ @@ -124,6 +141,7 @@ def __init__(__self__, Length Constraints: Maximum length of 51200 :param pulumi.Input[str] destination_resource_arn: The ARN of the Amazon Web Services destination that this delivery destination represents. That Amazon Web Services destination can be a log group in CloudWatch Logs, an Amazon S3 bucket, or a delivery stream in Firehose. :param pulumi.Input[str] name: The name of this delivery destination. + :param pulumi.Input[str] output_format: The format of the logs that are sent to this delivery destination. :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]] tags: The tags that have been assigned to this delivery destination. """ ... @@ -155,6 +173,7 @@ def _internal_init(__self__, delivery_destination_policy: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DeliveryDestinationDestinationPolicyArgs', 'DeliveryDestinationDestinationPolicyArgsDict']]]]] = None, destination_resource_arn: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, + output_format: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -168,10 +187,11 @@ def _internal_init(__self__, __props__.__dict__["delivery_destination_policy"] = delivery_destination_policy __props__.__dict__["destination_resource_arn"] = destination_resource_arn __props__.__dict__["name"] = name + __props__.__dict__["output_format"] = output_format __props__.__dict__["tags"] = tags __props__.__dict__["arn"] = None __props__.__dict__["delivery_destination_type"] = None - replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["destinationResourceArn", "name"]) + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["destinationResourceArn", "name", "outputFormat"]) opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) super(DeliveryDestination, __self__).__init__( 'aws-native:logs:DeliveryDestination', @@ -200,6 +220,7 @@ def get(resource_name: str, __props__.__dict__["delivery_destination_type"] = None __props__.__dict__["destination_resource_arn"] = None __props__.__dict__["name"] = None + __props__.__dict__["output_format"] = None __props__.__dict__["tags"] = None return DeliveryDestination(resource_name, opts=opts, __props__=__props__) @@ -247,6 +268,14 @@ def name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "name") + @property + @pulumi.getter(name="outputFormat") + def output_format(self) -> pulumi.Output[Optional[str]]: + """ + The format of the logs that are sent to this delivery destination. + """ + return pulumi.get(self, "output_format") + @property @pulumi.getter def tags(self) -> pulumi.Output[Optional[Sequence['_root_outputs.Tag']]]: diff --git a/sdk/python/pulumi_aws_native/logs/get_delivery.py b/sdk/python/pulumi_aws_native/logs/get_delivery.py index 8f54c7e846..f14f543b39 100644 --- a/sdk/python/pulumi_aws_native/logs/get_delivery.py +++ b/sdk/python/pulumi_aws_native/logs/get_delivery.py @@ -24,7 +24,7 @@ @pulumi.output_type class GetDeliveryResult: - def __init__(__self__, arn=None, delivery_destination_type=None, delivery_id=None, tags=None): + def __init__(__self__, arn=None, delivery_destination_type=None, delivery_id=None, field_delimiter=None, record_fields=None, s3_enable_hive_compatible_path=None, s3_suffix_path=None, tags=None): if arn and not isinstance(arn, str): raise TypeError("Expected argument 'arn' to be a str") pulumi.set(__self__, "arn", arn) @@ -34,6 +34,18 @@ def __init__(__self__, arn=None, delivery_destination_type=None, delivery_id=Non if delivery_id and not isinstance(delivery_id, str): raise TypeError("Expected argument 'delivery_id' to be a str") pulumi.set(__self__, "delivery_id", delivery_id) + if field_delimiter and not isinstance(field_delimiter, str): + raise TypeError("Expected argument 'field_delimiter' to be a str") + pulumi.set(__self__, "field_delimiter", field_delimiter) + if record_fields and not isinstance(record_fields, list): + raise TypeError("Expected argument 'record_fields' to be a list") + pulumi.set(__self__, "record_fields", record_fields) + if s3_enable_hive_compatible_path and not isinstance(s3_enable_hive_compatible_path, bool): + raise TypeError("Expected argument 's3_enable_hive_compatible_path' to be a bool") + pulumi.set(__self__, "s3_enable_hive_compatible_path", s3_enable_hive_compatible_path) + if s3_suffix_path and not isinstance(s3_suffix_path, str): + raise TypeError("Expected argument 's3_suffix_path' to be a str") + pulumi.set(__self__, "s3_suffix_path", s3_suffix_path) if tags and not isinstance(tags, list): raise TypeError("Expected argument 'tags' to be a list") pulumi.set(__self__, "tags", tags) @@ -62,6 +74,38 @@ def delivery_id(self) -> Optional[str]: """ return pulumi.get(self, "delivery_id") + @property + @pulumi.getter(name="fieldDelimiter") + def field_delimiter(self) -> Optional[str]: + """ + The field delimiter to use between record fields when the final output format of a delivery is in Plain , W3C , or Raw format. + """ + return pulumi.get(self, "field_delimiter") + + @property + @pulumi.getter(name="recordFields") + def record_fields(self) -> Optional[Sequence[str]]: + """ + 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. + """ + return pulumi.get(self, "record_fields") + + @property + @pulumi.getter(name="s3EnableHiveCompatiblePath") + def s3_enable_hive_compatible_path(self) -> Optional[bool]: + """ + This parameter causes the S3 objects that contain delivered logs to use a prefix structure that allows for integration with Apache Hive. + """ + return pulumi.get(self, "s3_enable_hive_compatible_path") + + @property + @pulumi.getter(name="s3SuffixPath") + def s3_suffix_path(self) -> Optional[str]: + """ + 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. + """ + return pulumi.get(self, "s3_suffix_path") + @property @pulumi.getter def tags(self) -> Optional[Sequence['_root_outputs.Tag']]: @@ -80,6 +124,10 @@ def __await__(self): arn=self.arn, delivery_destination_type=self.delivery_destination_type, delivery_id=self.delivery_id, + field_delimiter=self.field_delimiter, + record_fields=self.record_fields, + s3_enable_hive_compatible_path=self.s3_enable_hive_compatible_path, + s3_suffix_path=self.s3_suffix_path, tags=self.tags) @@ -104,6 +152,10 @@ def get_delivery(delivery_id: Optional[str] = None, arn=pulumi.get(__ret__, 'arn'), delivery_destination_type=pulumi.get(__ret__, 'delivery_destination_type'), delivery_id=pulumi.get(__ret__, 'delivery_id'), + field_delimiter=pulumi.get(__ret__, 'field_delimiter'), + record_fields=pulumi.get(__ret__, 'record_fields'), + s3_enable_hive_compatible_path=pulumi.get(__ret__, 's3_enable_hive_compatible_path'), + s3_suffix_path=pulumi.get(__ret__, 's3_suffix_path'), tags=pulumi.get(__ret__, 'tags')) def get_delivery_output(delivery_id: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDeliveryResult]: @@ -125,4 +177,8 @@ def get_delivery_output(delivery_id: Optional[pulumi.Input[str]] = None, arn=pulumi.get(__response__, 'arn'), delivery_destination_type=pulumi.get(__response__, 'delivery_destination_type'), delivery_id=pulumi.get(__response__, 'delivery_id'), + field_delimiter=pulumi.get(__response__, 'field_delimiter'), + record_fields=pulumi.get(__response__, 'record_fields'), + s3_enable_hive_compatible_path=pulumi.get(__response__, 's3_enable_hive_compatible_path'), + s3_suffix_path=pulumi.get(__response__, 's3_suffix_path'), tags=pulumi.get(__response__, 'tags'))) diff --git a/sdk/python/pulumi_aws_native/nimblestudio/__init__.py b/sdk/python/pulumi_aws_native/nimblestudio/__init__.py index d01c791068..7715ba248a 100644 --- a/sdk/python/pulumi_aws_native/nimblestudio/__init__.py +++ b/sdk/python/pulumi_aws_native/nimblestudio/__init__.py @@ -5,7 +5,6 @@ from .. import _utilities import typing # Export this package's modules as members: -from ._enums import * from .get_launch_profile import * from .get_streaming_image import * from .get_studio import * diff --git a/sdk/python/pulumi_aws_native/nimblestudio/_enums.py b/sdk/python/pulumi_aws_native/nimblestudio/_enums.py deleted file mode 100644 index 436295a847..0000000000 --- a/sdk/python/pulumi_aws_native/nimblestudio/_enums.py +++ /dev/null @@ -1,100 +0,0 @@ -# coding=utf-8 -# *** WARNING: this file was generated by pulumi-language-python. *** -# *** Do not edit by hand unless you're certain you know what you are doing! *** - -from enum import Enum - -__all__ = [ - 'LaunchProfileAutomaticTerminationMode', - 'LaunchProfileSessionBackupMode', - 'LaunchProfileSessionPersistenceMode', - 'LaunchProfileStreamingClipboardMode', - 'LaunchProfileStreamingInstanceType', - 'LaunchProfileStreamingSessionStorageMode', - 'StreamingImageEncryptionConfigurationKeyType', - 'StudioComponentInitializationScriptRunContext', - 'StudioComponentLaunchProfilePlatform', - 'StudioComponentSubtype', - 'StudioComponentType', - 'StudioEncryptionConfigurationKeyType', -] - - -class LaunchProfileAutomaticTerminationMode(str, Enum): - DEACTIVATED = "DEACTIVATED" - ACTIVATED = "ACTIVATED" - - -class LaunchProfileSessionBackupMode(str, Enum): - AUTOMATIC = "AUTOMATIC" - DEACTIVATED = "DEACTIVATED" - - -class LaunchProfileSessionPersistenceMode(str, Enum): - DEACTIVATED = "DEACTIVATED" - ACTIVATED = "ACTIVATED" - - -class LaunchProfileStreamingClipboardMode(str, Enum): - ENABLED = "ENABLED" - DISABLED = "DISABLED" - - -class LaunchProfileStreamingInstanceType(str, Enum): - G4DN_XLARGE = "g4dn.xlarge" - G4DN2XLARGE = "g4dn.2xlarge" - G4DN4XLARGE = "g4dn.4xlarge" - G4DN8XLARGE = "g4dn.8xlarge" - G4DN12XLARGE = "g4dn.12xlarge" - G4DN16XLARGE = "g4dn.16xlarge" - G34XLARGE = "g3.4xlarge" - G3S_XLARGE = "g3s.xlarge" - G5_XLARGE = "g5.xlarge" - G52XLARGE = "g5.2xlarge" - G54XLARGE = "g5.4xlarge" - G58XLARGE = "g5.8xlarge" - G516XLARGE = "g5.16xlarge" - - -class LaunchProfileStreamingSessionStorageMode(str, Enum): - UPLOAD = "UPLOAD" - - -class StreamingImageEncryptionConfigurationKeyType(str, Enum): - """ -

- """ - CUSTOMER_MANAGED_KEY = "CUSTOMER_MANAGED_KEY" - - -class StudioComponentInitializationScriptRunContext(str, Enum): - SYSTEM_INITIALIZATION = "SYSTEM_INITIALIZATION" - USER_INITIALIZATION = "USER_INITIALIZATION" - - -class StudioComponentLaunchProfilePlatform(str, Enum): - LINUX = "LINUX" - WINDOWS = "WINDOWS" - - -class StudioComponentSubtype(str, Enum): - AWS_MANAGED_MICROSOFT_AD = "AWS_MANAGED_MICROSOFT_AD" - AMAZON_FSX_FOR_WINDOWS = "AMAZON_FSX_FOR_WINDOWS" - AMAZON_FSX_FOR_LUSTRE = "AMAZON_FSX_FOR_LUSTRE" - CUSTOM = "CUSTOM" - - -class StudioComponentType(str, Enum): - ACTIVE_DIRECTORY = "ACTIVE_DIRECTORY" - SHARED_FILE_SYSTEM = "SHARED_FILE_SYSTEM" - COMPUTE_FARM = "COMPUTE_FARM" - LICENSE_SERVICE = "LICENSE_SERVICE" - CUSTOM = "CUSTOM" - - -class StudioEncryptionConfigurationKeyType(str, Enum): - """ -

The type of KMS key that is used to encrypt studio data.

- """ - AWS_OWNED_KEY = "AWS_OWNED_KEY" - CUSTOMER_MANAGED_KEY = "CUSTOMER_MANAGED_KEY" diff --git a/sdk/python/pulumi_aws_native/nimblestudio/_inputs.py b/sdk/python/pulumi_aws_native/nimblestudio/_inputs.py index 3ca6ee3dad..0d1d0b9864 100644 --- a/sdk/python/pulumi_aws_native/nimblestudio/_inputs.py +++ b/sdk/python/pulumi_aws_native/nimblestudio/_inputs.py @@ -13,7 +13,6 @@ else: from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities -from ._enums import * __all__ = [ 'LaunchProfileStreamConfigurationSessionBackupArgs', @@ -32,14 +31,8 @@ 'StudioComponentActiveDirectoryConfigurationArgsDict', 'StudioComponentComputeFarmConfigurationArgs', 'StudioComponentComputeFarmConfigurationArgsDict', - 'StudioComponentConfiguration0PropertiesArgs', - 'StudioComponentConfiguration0PropertiesArgsDict', - 'StudioComponentConfiguration1PropertiesArgs', - 'StudioComponentConfiguration1PropertiesArgsDict', - 'StudioComponentConfiguration2PropertiesArgs', - 'StudioComponentConfiguration2PropertiesArgsDict', - 'StudioComponentConfiguration3PropertiesArgs', - 'StudioComponentConfiguration3PropertiesArgsDict', + 'StudioComponentConfigurationArgs', + 'StudioComponentConfigurationArgsDict', 'StudioComponentInitializationScriptArgs', 'StudioComponentInitializationScriptArgsDict', 'StudioComponentLicenseServiceConfigurationArgs', @@ -56,16 +49,11 @@ if not MYPY: class LaunchProfileStreamConfigurationSessionBackupArgsDict(TypedDict): - """ -

Configures how streaming sessions are backed up when launched from this launch - profile.

- """ max_backups_to_retain: NotRequired[pulumi.Input[float]] """ -

The maximum number of backups that each streaming session created from this launch - profile can have.

+ The maximum number of backups that each streaming session created from this launch profile can have. """ - mode: NotRequired[pulumi.Input['LaunchProfileSessionBackupMode']] + mode: NotRequired[pulumi.Input[str]] """ Specifies how artists sessions are backed up. @@ -78,13 +66,10 @@ class LaunchProfileStreamConfigurationSessionBackupArgsDict(TypedDict): class LaunchProfileStreamConfigurationSessionBackupArgs: def __init__(__self__, *, max_backups_to_retain: Optional[pulumi.Input[float]] = None, - mode: Optional[pulumi.Input['LaunchProfileSessionBackupMode']] = None): + mode: Optional[pulumi.Input[str]] = None): """ -

Configures how streaming sessions are backed up when launched from this launch - profile.

- :param pulumi.Input[float] max_backups_to_retain:

The maximum number of backups that each streaming session created from this launch - profile can have.

- :param pulumi.Input['LaunchProfileSessionBackupMode'] mode: Specifies how artists sessions are backed up. + :param pulumi.Input[float] max_backups_to_retain: The maximum number of backups that each streaming session created from this launch profile can have. + :param pulumi.Input[str] mode: Specifies how artists sessions are backed up. Configures 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` . """ @@ -97,8 +82,7 @@ def __init__(__self__, *, @pulumi.getter(name="maxBackupsToRetain") def max_backups_to_retain(self) -> Optional[pulumi.Input[float]]: """ -

The maximum number of backups that each streaming session created from this launch - profile can have.

+ The maximum number of backups that each streaming session created from this launch profile can have. """ return pulumi.get(self, "max_backups_to_retain") @@ -108,7 +92,7 @@ def max_backups_to_retain(self, value: Optional[pulumi.Input[float]]): @property @pulumi.getter - def mode(self) -> Optional[pulumi.Input['LaunchProfileSessionBackupMode']]: + def mode(self) -> Optional[pulumi.Input[str]]: """ Specifies how artists sessions are backed up. @@ -117,19 +101,15 @@ def mode(self) -> Optional[pulumi.Input['LaunchProfileSessionBackupMode']]: return pulumi.get(self, "mode") @mode.setter - def mode(self, value: Optional[pulumi.Input['LaunchProfileSessionBackupMode']]): + def mode(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "mode", value) if not MYPY: class LaunchProfileStreamConfigurationSessionStorageArgsDict(TypedDict): + mode: pulumi.Input[Sequence[pulumi.Input[str]]] """ -

The configuration for a streaming session’s upload storage.

- """ - mode: pulumi.Input[Sequence[pulumi.Input['LaunchProfileStreamingSessionStorageMode']]] - """ -

Allows artists to upload files to their workstations. The only valid option is - UPLOAD.

+ Allows artists to upload files to their workstations. The only valid option is `UPLOAD` . """ root: NotRequired[pulumi.Input['LaunchProfileStreamingSessionStorageRootArgsDict']] """ @@ -141,12 +121,10 @@ class LaunchProfileStreamConfigurationSessionStorageArgsDict(TypedDict): @pulumi.input_type class LaunchProfileStreamConfigurationSessionStorageArgs: def __init__(__self__, *, - mode: pulumi.Input[Sequence[pulumi.Input['LaunchProfileStreamingSessionStorageMode']]], + mode: pulumi.Input[Sequence[pulumi.Input[str]]], root: Optional[pulumi.Input['LaunchProfileStreamingSessionStorageRootArgs']] = None): """ -

The configuration for a streaming session’s upload storage.

- :param pulumi.Input[Sequence[pulumi.Input['LaunchProfileStreamingSessionStorageMode']]] mode:

Allows artists to upload files to their workstations. The only valid option is - UPLOAD.

+ :param pulumi.Input[Sequence[pulumi.Input[str]]] mode: Allows artists to upload files to their workstations. The only valid option is `UPLOAD` . :param pulumi.Input['LaunchProfileStreamingSessionStorageRootArgs'] root: The configuration for the upload storage root of the streaming session. """ pulumi.set(__self__, "mode", mode) @@ -155,15 +133,14 @@ def __init__(__self__, *, @property @pulumi.getter - def mode(self) -> pulumi.Input[Sequence[pulumi.Input['LaunchProfileStreamingSessionStorageMode']]]: + def mode(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: """ -

Allows artists to upload files to their workstations. The only valid option is - UPLOAD.

+ Allows artists to upload files to their workstations. The only valid option is `UPLOAD` . """ return pulumi.get(self, "mode") @mode.setter - def mode(self, value: pulumi.Input[Sequence[pulumi.Input['LaunchProfileStreamingSessionStorageMode']]]): + def mode(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): pulumi.set(self, "mode", value) @property @@ -181,24 +158,19 @@ def root(self, value: Optional[pulumi.Input['LaunchProfileStreamingSessionStorag if not MYPY: class LaunchProfileStreamConfigurationArgsDict(TypedDict): - """ -

A configuration for a streaming session.

- """ - clipboard_mode: pulumi.Input['LaunchProfileStreamingClipboardMode'] + clipboard_mode: pulumi.Input[str] """ Allows or deactivates the use of the system clipboard to copy and paste between the streaming session and streaming client. """ - ec2_instance_types: pulumi.Input[Sequence[pulumi.Input['LaunchProfileStreamingInstanceType']]] + ec2_instance_types: pulumi.Input[Sequence[pulumi.Input[str]]] """ -

The EC2 instance types that users can select from when launching a streaming session - with this launch profile.

+ The EC2 instance types that users can select from when launching a streaming session with this launch profile. """ streaming_image_ids: pulumi.Input[Sequence[pulumi.Input[str]]] """ -

The streaming images that users can select from when launching a streaming session - with this launch profile.

+ The streaming images that users can select from when launching a streaming session with this launch profile. """ - automatic_termination_mode: NotRequired[pulumi.Input['LaunchProfileAutomaticTerminationMode']] + automatic_termination_mode: NotRequired[pulumi.Input[str]] """ Indicates if a streaming session created from this launch profile should be terminated automatically or retained without termination after being in a `STOPPED` state. @@ -209,35 +181,23 @@ class LaunchProfileStreamConfigurationArgsDict(TypedDict): """ max_session_length_in_minutes: NotRequired[pulumi.Input[float]] """ -

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.

+ 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. """ max_stopped_session_length_in_minutes: NotRequired[pulumi.Input[float]] """ -

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.

-

This field is allowed only when sessionPersistenceMode is - ACTIVATED and automaticTerminationMode is - ACTIVATED.

-

If 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).

-

If 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).

+ 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. + + This field is allowed only when `sessionPersistenceMode` is `ACTIVATED` and `automaticTerminationMode` is `ACTIVATED` . + + If 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` ). + + If 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). """ session_backup: NotRequired[pulumi.Input['LaunchProfileStreamConfigurationSessionBackupArgsDict']] """ Information about the streaming session backup. """ - session_persistence_mode: NotRequired[pulumi.Input['LaunchProfileSessionPersistenceMode']] + session_persistence_mode: NotRequired[pulumi.Input[str]] """ Determine if a streaming session created from this launch profile can configure persistent storage. This means that `volumeConfiguration` and `automaticTerminationMode` are configured. """ @@ -257,51 +217,36 @@ class LaunchProfileStreamConfigurationArgsDict(TypedDict): @pulumi.input_type class LaunchProfileStreamConfigurationArgs: def __init__(__self__, *, - clipboard_mode: pulumi.Input['LaunchProfileStreamingClipboardMode'], - ec2_instance_types: pulumi.Input[Sequence[pulumi.Input['LaunchProfileStreamingInstanceType']]], + clipboard_mode: pulumi.Input[str], + ec2_instance_types: pulumi.Input[Sequence[pulumi.Input[str]]], streaming_image_ids: pulumi.Input[Sequence[pulumi.Input[str]]], - automatic_termination_mode: Optional[pulumi.Input['LaunchProfileAutomaticTerminationMode']] = None, + automatic_termination_mode: Optional[pulumi.Input[str]] = None, max_session_length_in_minutes: Optional[pulumi.Input[float]] = None, max_stopped_session_length_in_minutes: Optional[pulumi.Input[float]] = None, session_backup: Optional[pulumi.Input['LaunchProfileStreamConfigurationSessionBackupArgs']] = None, - session_persistence_mode: Optional[pulumi.Input['LaunchProfileSessionPersistenceMode']] = None, + session_persistence_mode: Optional[pulumi.Input[str]] = None, session_storage: Optional[pulumi.Input['LaunchProfileStreamConfigurationSessionStorageArgs']] = None, volume_configuration: Optional[pulumi.Input['LaunchProfileVolumeConfigurationArgs']] = None): """ -

A configuration for a streaming session.

- :param pulumi.Input['LaunchProfileStreamingClipboardMode'] clipboard_mode: Allows or deactivates the use of the system clipboard to copy and paste between the streaming session and streaming client. - :param pulumi.Input[Sequence[pulumi.Input['LaunchProfileStreamingInstanceType']]] ec2_instance_types:

The EC2 instance types that users can select from when launching a streaming session - with this launch profile.

- :param pulumi.Input[Sequence[pulumi.Input[str]]] streaming_image_ids:

The streaming images that users can select from when launching a streaming session - with this launch profile.

- :param pulumi.Input['LaunchProfileAutomaticTerminationMode'] automatic_termination_mode: Indicates if a streaming session created from this launch profile should be terminated automatically or retained without termination after being in a `STOPPED` state. + :param pulumi.Input[str] clipboard_mode: Allows or deactivates the use of the system clipboard to copy and paste between the streaming session and streaming client. + :param pulumi.Input[Sequence[pulumi.Input[str]]] ec2_instance_types: The EC2 instance types that users can select from when launching a streaming session with this launch profile. + :param pulumi.Input[Sequence[pulumi.Input[str]]] streaming_image_ids: The streaming images that users can select from when launching a streaming session with this launch profile. + :param pulumi.Input[str] automatic_termination_mode: Indicates if a streaming session created from this launch profile should be terminated automatically or retained without termination after being in a `STOPPED` state. - When `ACTIVATED` , the streaming session is scheduled for termination after being in the `STOPPED` state for the time specified in `maxStoppedSessionLengthInMinutes` . - When `DEACTIVATED` , the streaming session can remain in the `STOPPED` state indefinitely. This parameter is only allowed when `sessionPersistenceMode` is `ACTIVATED` . When allowed, the default value for this parameter is `DEACTIVATED` . - :param pulumi.Input[float] max_session_length_in_minutes:

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.

- :param pulumi.Input[float] max_stopped_session_length_in_minutes:

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.

-

This field is allowed only when sessionPersistenceMode is - ACTIVATED and automaticTerminationMode is - ACTIVATED.

-

If 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).

-

If 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).

+ :param pulumi.Input[float] max_session_length_in_minutes: 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. + :param pulumi.Input[float] max_stopped_session_length_in_minutes: 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. + + This field is allowed only when `sessionPersistenceMode` is `ACTIVATED` and `automaticTerminationMode` is `ACTIVATED` . + + If 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` ). + + If 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). :param pulumi.Input['LaunchProfileStreamConfigurationSessionBackupArgs'] session_backup: Information about the streaming session backup. - :param pulumi.Input['LaunchProfileSessionPersistenceMode'] session_persistence_mode: Determine if a streaming session created from this launch profile can configure persistent storage. This means that `volumeConfiguration` and `automaticTerminationMode` are configured. + :param pulumi.Input[str] session_persistence_mode: Determine if a streaming session created from this launch profile can configure persistent storage. This means that `volumeConfiguration` and `automaticTerminationMode` are configured. :param pulumi.Input['LaunchProfileStreamConfigurationSessionStorageArgs'] session_storage: The upload storage for a streaming session. :param pulumi.Input['LaunchProfileVolumeConfigurationArgs'] volume_configuration: Custom volume configuration for the root volumes that are attached to streaming sessions. @@ -327,35 +272,33 @@ def __init__(__self__, *, @property @pulumi.getter(name="clipboardMode") - def clipboard_mode(self) -> pulumi.Input['LaunchProfileStreamingClipboardMode']: + def clipboard_mode(self) -> pulumi.Input[str]: """ Allows or deactivates the use of the system clipboard to copy and paste between the streaming session and streaming client. """ return pulumi.get(self, "clipboard_mode") @clipboard_mode.setter - def clipboard_mode(self, value: pulumi.Input['LaunchProfileStreamingClipboardMode']): + def clipboard_mode(self, value: pulumi.Input[str]): pulumi.set(self, "clipboard_mode", value) @property @pulumi.getter(name="ec2InstanceTypes") - def ec2_instance_types(self) -> pulumi.Input[Sequence[pulumi.Input['LaunchProfileStreamingInstanceType']]]: + def ec2_instance_types(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: """ -

The EC2 instance types that users can select from when launching a streaming session - with this launch profile.

+ The EC2 instance types that users can select from when launching a streaming session with this launch profile. """ return pulumi.get(self, "ec2_instance_types") @ec2_instance_types.setter - def ec2_instance_types(self, value: pulumi.Input[Sequence[pulumi.Input['LaunchProfileStreamingInstanceType']]]): + def ec2_instance_types(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): pulumi.set(self, "ec2_instance_types", value) @property @pulumi.getter(name="streamingImageIds") def streaming_image_ids(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: """ -

The streaming images that users can select from when launching a streaming session - with this launch profile.

+ The streaming images that users can select from when launching a streaming session with this launch profile. """ return pulumi.get(self, "streaming_image_ids") @@ -365,7 +308,7 @@ def streaming_image_ids(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): @property @pulumi.getter(name="automaticTerminationMode") - def automatic_termination_mode(self) -> Optional[pulumi.Input['LaunchProfileAutomaticTerminationMode']]: + def automatic_termination_mode(self) -> Optional[pulumi.Input[str]]: """ Indicates if a streaming session created from this launch profile should be terminated automatically or retained without termination after being in a `STOPPED` state. @@ -377,17 +320,14 @@ def automatic_termination_mode(self) -> Optional[pulumi.Input['LaunchProfileAuto return pulumi.get(self, "automatic_termination_mode") @automatic_termination_mode.setter - def automatic_termination_mode(self, value: Optional[pulumi.Input['LaunchProfileAutomaticTerminationMode']]): + def automatic_termination_mode(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "automatic_termination_mode", value) @property @pulumi.getter(name="maxSessionLengthInMinutes") def max_session_length_in_minutes(self) -> Optional[pulumi.Input[float]]: """ -

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.

+ 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. """ return pulumi.get(self, "max_session_length_in_minutes") @@ -399,22 +339,13 @@ def max_session_length_in_minutes(self, value: Optional[pulumi.Input[float]]): @pulumi.getter(name="maxStoppedSessionLengthInMinutes") def max_stopped_session_length_in_minutes(self) -> Optional[pulumi.Input[float]]: """ -

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.

-

This field is allowed only when sessionPersistenceMode is - ACTIVATED and automaticTerminationMode is - ACTIVATED.

-

If 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).

-

If 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).

+ 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. + + This field is allowed only when `sessionPersistenceMode` is `ACTIVATED` and `automaticTerminationMode` is `ACTIVATED` . + + If 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` ). + + If 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). """ return pulumi.get(self, "max_stopped_session_length_in_minutes") @@ -436,14 +367,14 @@ def session_backup(self, value: Optional[pulumi.Input['LaunchProfileStreamConfig @property @pulumi.getter(name="sessionPersistenceMode") - def session_persistence_mode(self) -> Optional[pulumi.Input['LaunchProfileSessionPersistenceMode']]: + def session_persistence_mode(self) -> Optional[pulumi.Input[str]]: """ Determine if a streaming session created from this launch profile can configure persistent storage. This means that `volumeConfiguration` and `automaticTerminationMode` are configured. """ return pulumi.get(self, "session_persistence_mode") @session_persistence_mode.setter - def session_persistence_mode(self, value: Optional[pulumi.Input['LaunchProfileSessionPersistenceMode']]): + def session_persistence_mode(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "session_persistence_mode", value) @property @@ -475,17 +406,13 @@ def volume_configuration(self, value: Optional[pulumi.Input['LaunchProfileVolume if not MYPY: class LaunchProfileStreamingSessionStorageRootArgsDict(TypedDict): - """ -

The upload storage root location (folder) on streaming workstations where files are - uploaded.

- """ linux: NotRequired[pulumi.Input[str]] """ -

The folder path in Linux workstations where files are uploaded.

+ The folder path in Linux workstations where files are uploaded. """ windows: NotRequired[pulumi.Input[str]] """ -

The folder path in Windows workstations where files are uploaded.

+ The folder path in Windows workstations where files are uploaded. """ elif False: LaunchProfileStreamingSessionStorageRootArgsDict: TypeAlias = Mapping[str, Any] @@ -496,10 +423,8 @@ def __init__(__self__, *, linux: Optional[pulumi.Input[str]] = None, windows: Optional[pulumi.Input[str]] = None): """ -

The upload storage root location (folder) on streaming workstations where files are - uploaded.

- :param pulumi.Input[str] linux:

The folder path in Linux workstations where files are uploaded.

- :param pulumi.Input[str] windows:

The folder path in Windows workstations where files are uploaded.

+ :param pulumi.Input[str] linux: The folder path in Linux workstations where files are uploaded. + :param pulumi.Input[str] windows: The folder path in Windows workstations where files are uploaded. """ if linux is not None: pulumi.set(__self__, "linux", linux) @@ -510,7 +435,7 @@ def __init__(__self__, *, @pulumi.getter def linux(self) -> Optional[pulumi.Input[str]]: """ -

The folder path in Linux workstations where files are uploaded.

+ The folder path in Linux workstations where files are uploaded. """ return pulumi.get(self, "linux") @@ -522,7 +447,7 @@ def linux(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def windows(self) -> Optional[pulumi.Input[str]]: """ -

The folder path in Windows workstations where files are uploaded.

+ The folder path in Windows workstations where files are uploaded. """ return pulumi.get(self, "windows") @@ -533,26 +458,17 @@ def windows(self, value: Optional[pulumi.Input[str]]): if not MYPY: class LaunchProfileVolumeConfigurationArgsDict(TypedDict): - """ -

Custom volume configuration for the root volumes that are attached to streaming - sessions.

-

This parameter is only allowed when sessionPersistenceMode is - ACTIVATED.

- """ iops: NotRequired[pulumi.Input[float]] """ -

The number of I/O operations per second for the root volume that is attached to - streaming session.

+ The number of I/O operations per second for the root volume that is attached to streaming session. """ size: NotRequired[pulumi.Input[float]] """ -

The size of the root volume that is attached to the streaming session. The root volume - size is measured in GiBs.

+ The size of the root volume that is attached to the streaming session. The root volume size is measured in GiBs. """ throughput: NotRequired[pulumi.Input[float]] """ -

The throughput to provision for the root volume that is attached to the streaming - session. The throughput is measured in MiB/s.

+ The throughput to provision for the root volume that is attached to the streaming session. The throughput is measured in MiB/s. """ elif False: LaunchProfileVolumeConfigurationArgsDict: TypeAlias = Mapping[str, Any] @@ -564,16 +480,9 @@ def __init__(__self__, *, size: Optional[pulumi.Input[float]] = None, throughput: Optional[pulumi.Input[float]] = None): """ -

Custom volume configuration for the root volumes that are attached to streaming - sessions.

-

This parameter is only allowed when sessionPersistenceMode is - ACTIVATED.

- :param pulumi.Input[float] iops:

The number of I/O operations per second for the root volume that is attached to - streaming session.

- :param pulumi.Input[float] size:

The size of the root volume that is attached to the streaming session. The root volume - size is measured in GiBs.

- :param pulumi.Input[float] throughput:

The throughput to provision for the root volume that is attached to the streaming - session. The throughput is measured in MiB/s.

+ :param pulumi.Input[float] iops: The number of I/O operations per second for the root volume that is attached to streaming session. + :param pulumi.Input[float] size: The size of the root volume that is attached to the streaming session. The root volume size is measured in GiBs. + :param pulumi.Input[float] throughput: The throughput to provision for the root volume that is attached to the streaming session. The throughput is measured in MiB/s. """ if iops is not None: pulumi.set(__self__, "iops", iops) @@ -586,8 +495,7 @@ def __init__(__self__, *, @pulumi.getter def iops(self) -> Optional[pulumi.Input[float]]: """ -

The number of I/O operations per second for the root volume that is attached to - streaming session.

+ The number of I/O operations per second for the root volume that is attached to streaming session. """ return pulumi.get(self, "iops") @@ -599,8 +507,7 @@ def iops(self, value: Optional[pulumi.Input[float]]): @pulumi.getter def size(self) -> Optional[pulumi.Input[float]]: """ -

The size of the root volume that is attached to the streaming session. The root volume - size is measured in GiBs.

+ The size of the root volume that is attached to the streaming session. The root volume size is measured in GiBs. """ return pulumi.get(self, "size") @@ -612,8 +519,7 @@ def size(self, value: Optional[pulumi.Input[float]]): @pulumi.getter def throughput(self) -> Optional[pulumi.Input[float]]: """ -

The throughput to provision for the root volume that is attached to the streaming - session. The throughput is measured in MiB/s.

+ The throughput to provision for the root volume that is attached to the streaming session. The throughput is measured in MiB/s. """ return pulumi.get(self, "throughput") @@ -624,17 +530,13 @@ def throughput(self, value: Optional[pulumi.Input[float]]): if not MYPY: class StudioComponentActiveDirectoryComputerAttributeArgsDict(TypedDict): - """ -

An LDAP attribute of an Active Directory computer account, in the form of a name:value - pair.

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

The name for the LDAP attribute.

+ The name for the LDAP attribute. """ value: NotRequired[pulumi.Input[str]] """ -

The value for the LDAP attribute.

+ The value for the LDAP attribute. """ elif False: StudioComponentActiveDirectoryComputerAttributeArgsDict: TypeAlias = Mapping[str, Any] @@ -645,10 +547,8 @@ def __init__(__self__, *, name: Optional[pulumi.Input[str]] = None, value: Optional[pulumi.Input[str]] = None): """ -

An LDAP attribute of an Active Directory computer account, in the form of a name:value - pair.

- :param pulumi.Input[str] name:

The name for the LDAP attribute.

- :param pulumi.Input[str] value:

The value for the LDAP attribute.

+ :param pulumi.Input[str] name: The name for the LDAP attribute. + :param pulumi.Input[str] value: The value for the LDAP attribute. """ if name is not None: pulumi.set(__self__, "name", name) @@ -659,7 +559,7 @@ def __init__(__self__, *, @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ -

The name for the LDAP attribute.

+ The name for the LDAP attribute. """ return pulumi.get(self, "name") @@ -671,7 +571,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def value(self) -> Optional[pulumi.Input[str]]: """ -

The value for the LDAP attribute.

+ The value for the LDAP attribute. """ return pulumi.get(self, "value") @@ -682,23 +582,17 @@ def value(self, value: Optional[pulumi.Input[str]]): if not MYPY: class StudioComponentActiveDirectoryConfigurationArgsDict(TypedDict): - """ -

The configuration for a Microsoft Active Directory (Microsoft AD) studio - resource.

- """ computer_attributes: NotRequired[pulumi.Input[Sequence[pulumi.Input['StudioComponentActiveDirectoryComputerAttributeArgsDict']]]] """ -

A collection of custom attributes for an Active Directory computer.

+ A collection of custom attributes for an Active Directory computer. """ directory_id: NotRequired[pulumi.Input[str]] """ -

The directory ID of the Directory Service for Microsoft Active Directory to access - using this studio component.

+ The directory ID of the AWS Directory Service for Microsoft Active Directory to access using this studio component. """ organizational_unit_distinguished_name: NotRequired[pulumi.Input[str]] """ -

The distinguished name (DN) and organizational unit (OU) of an Active Directory - computer.

+ The distinguished name (DN) and organizational unit (OU) of an Active Directory computer. """ elif False: StudioComponentActiveDirectoryConfigurationArgsDict: TypeAlias = Mapping[str, Any] @@ -710,13 +604,9 @@ def __init__(__self__, *, directory_id: Optional[pulumi.Input[str]] = None, organizational_unit_distinguished_name: Optional[pulumi.Input[str]] = None): """ -

The configuration for a Microsoft Active Directory (Microsoft AD) studio - resource.

- :param pulumi.Input[Sequence[pulumi.Input['StudioComponentActiveDirectoryComputerAttributeArgs']]] computer_attributes:

A collection of custom attributes for an Active Directory computer.

- :param pulumi.Input[str] directory_id:

The directory ID of the Directory Service for Microsoft Active Directory to access - using this studio component.

- :param pulumi.Input[str] organizational_unit_distinguished_name:

The distinguished name (DN) and organizational unit (OU) of an Active Directory - computer.

+ :param pulumi.Input[Sequence[pulumi.Input['StudioComponentActiveDirectoryComputerAttributeArgs']]] computer_attributes: A collection of custom attributes for an Active Directory computer. + :param pulumi.Input[str] directory_id: The directory ID of the AWS Directory Service for Microsoft Active Directory to access using this studio component. + :param pulumi.Input[str] organizational_unit_distinguished_name: The distinguished name (DN) and organizational unit (OU) of an Active Directory computer. """ if computer_attributes is not None: pulumi.set(__self__, "computer_attributes", computer_attributes) @@ -729,7 +619,7 @@ def __init__(__self__, *, @pulumi.getter(name="computerAttributes") def computer_attributes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StudioComponentActiveDirectoryComputerAttributeArgs']]]]: """ -

A collection of custom attributes for an Active Directory computer.

+ A collection of custom attributes for an Active Directory computer. """ return pulumi.get(self, "computer_attributes") @@ -741,8 +631,7 @@ def computer_attributes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input @pulumi.getter(name="directoryId") def directory_id(self) -> Optional[pulumi.Input[str]]: """ -

The directory ID of the Directory Service for Microsoft Active Directory to access - using this studio component.

+ The directory ID of the AWS Directory Service for Microsoft Active Directory to access using this studio component. """ return pulumi.get(self, "directory_id") @@ -754,8 +643,7 @@ def directory_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="organizationalUnitDistinguishedName") def organizational_unit_distinguished_name(self) -> Optional[pulumi.Input[str]]: """ -

The distinguished name (DN) and organizational unit (OU) of an Active Directory - computer.

+ The distinguished name (DN) and organizational unit (OU) of an Active Directory computer. """ return pulumi.get(self, "organizational_unit_distinguished_name") @@ -766,18 +654,13 @@ def organizational_unit_distinguished_name(self, value: Optional[pulumi.Input[st if not MYPY: class StudioComponentComputeFarmConfigurationArgsDict(TypedDict): - """ -

The configuration for a render farm that is associated with a studio resource.

- """ active_directory_user: NotRequired[pulumi.Input[str]] """ -

The name of an Active Directory user that is used on ComputeFarm worker - instances.

+ The name of an Active Directory user that is used on ComputeFarm worker instances. """ endpoint: NotRequired[pulumi.Input[str]] """ -

The endpoint of the ComputeFarm that is accessed by the studio component - resource.

+ The endpoint of the ComputeFarm that is accessed by the studio component resource. """ elif False: StudioComponentComputeFarmConfigurationArgsDict: TypeAlias = Mapping[str, Any] @@ -788,11 +671,8 @@ def __init__(__self__, *, active_directory_user: Optional[pulumi.Input[str]] = None, endpoint: Optional[pulumi.Input[str]] = None): """ -

The configuration for a render farm that is associated with a studio resource.

- :param pulumi.Input[str] active_directory_user:

The name of an Active Directory user that is used on ComputeFarm worker - instances.

- :param pulumi.Input[str] endpoint:

The endpoint of the ComputeFarm that is accessed by the studio component - resource.

+ :param pulumi.Input[str] active_directory_user: The name of an Active Directory user that is used on ComputeFarm worker instances. + :param pulumi.Input[str] endpoint: The endpoint of the ComputeFarm that is accessed by the studio component resource. """ if active_directory_user is not None: pulumi.set(__self__, "active_directory_user", active_directory_user) @@ -803,8 +683,7 @@ def __init__(__self__, *, @pulumi.getter(name="activeDirectoryUser") def active_directory_user(self) -> Optional[pulumi.Input[str]]: """ -

The name of an Active Directory user that is used on ComputeFarm worker - instances.

+ The name of an Active Directory user that is used on ComputeFarm worker instances. """ return pulumi.get(self, "active_directory_user") @@ -816,8 +695,7 @@ def active_directory_user(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def endpoint(self) -> Optional[pulumi.Input[str]]: """ -

The endpoint of the ComputeFarm that is accessed by the studio component - resource.

+ The endpoint of the ComputeFarm that is accessed by the studio component resource. """ return pulumi.get(self, "endpoint") @@ -827,138 +705,114 @@ def endpoint(self, value: Optional[pulumi.Input[str]]): if not MYPY: - class StudioComponentConfiguration0PropertiesArgsDict(TypedDict): + class StudioComponentConfigurationArgsDict(TypedDict): + active_directory_configuration: NotRequired[pulumi.Input['StudioComponentActiveDirectoryConfigurationArgsDict']] + """ + The configuration for a AWS Directory Service for Microsoft Active Directory studio resource. + """ + compute_farm_configuration: NotRequired[pulumi.Input['StudioComponentComputeFarmConfigurationArgsDict']] """ -

The configuration of the studio component, based on component type.

+ The configuration for a render farm that is associated with a studio resource. + """ + license_service_configuration: NotRequired[pulumi.Input['StudioComponentLicenseServiceConfigurationArgsDict']] + """ + The configuration for a license service that is associated with a studio resource. + """ + shared_file_system_configuration: NotRequired[pulumi.Input['StudioComponentSharedFileSystemConfigurationArgsDict']] + """ + The configuration for a shared file storage system that is associated with a studio resource. """ - active_directory_configuration: pulumi.Input['StudioComponentActiveDirectoryConfigurationArgsDict'] elif False: - StudioComponentConfiguration0PropertiesArgsDict: TypeAlias = Mapping[str, Any] + StudioComponentConfigurationArgsDict: TypeAlias = Mapping[str, Any] @pulumi.input_type -class StudioComponentConfiguration0PropertiesArgs: +class StudioComponentConfigurationArgs: def __init__(__self__, *, - active_directory_configuration: pulumi.Input['StudioComponentActiveDirectoryConfigurationArgs']): - """ -

The configuration of the studio component, based on component type.

- """ - pulumi.set(__self__, "active_directory_configuration", active_directory_configuration) + active_directory_configuration: Optional[pulumi.Input['StudioComponentActiveDirectoryConfigurationArgs']] = None, + compute_farm_configuration: Optional[pulumi.Input['StudioComponentComputeFarmConfigurationArgs']] = None, + license_service_configuration: Optional[pulumi.Input['StudioComponentLicenseServiceConfigurationArgs']] = None, + shared_file_system_configuration: Optional[pulumi.Input['StudioComponentSharedFileSystemConfigurationArgs']] = None): + """ + :param pulumi.Input['StudioComponentActiveDirectoryConfigurationArgs'] active_directory_configuration: The configuration for a AWS Directory Service for Microsoft Active Directory studio resource. + :param pulumi.Input['StudioComponentComputeFarmConfigurationArgs'] compute_farm_configuration: The configuration for a render farm that is associated with a studio resource. + :param pulumi.Input['StudioComponentLicenseServiceConfigurationArgs'] license_service_configuration: The configuration for a license service that is associated with a studio resource. + :param pulumi.Input['StudioComponentSharedFileSystemConfigurationArgs'] shared_file_system_configuration: The configuration for a shared file storage system that is associated with a studio resource. + """ + if active_directory_configuration is not None: + pulumi.set(__self__, "active_directory_configuration", active_directory_configuration) + if compute_farm_configuration is not None: + pulumi.set(__self__, "compute_farm_configuration", compute_farm_configuration) + if license_service_configuration is not None: + pulumi.set(__self__, "license_service_configuration", license_service_configuration) + if shared_file_system_configuration is not None: + pulumi.set(__self__, "shared_file_system_configuration", shared_file_system_configuration) @property @pulumi.getter(name="activeDirectoryConfiguration") - def active_directory_configuration(self) -> pulumi.Input['StudioComponentActiveDirectoryConfigurationArgs']: + def active_directory_configuration(self) -> Optional[pulumi.Input['StudioComponentActiveDirectoryConfigurationArgs']]: + """ + The configuration for a AWS Directory Service for Microsoft Active Directory studio resource. + """ return pulumi.get(self, "active_directory_configuration") @active_directory_configuration.setter - def active_directory_configuration(self, value: pulumi.Input['StudioComponentActiveDirectoryConfigurationArgs']): + def active_directory_configuration(self, value: Optional[pulumi.Input['StudioComponentActiveDirectoryConfigurationArgs']]): pulumi.set(self, "active_directory_configuration", value) - -if not MYPY: - class StudioComponentConfiguration1PropertiesArgsDict(TypedDict): - """ -

The configuration of the studio component, based on component type.

- """ - compute_farm_configuration: pulumi.Input['StudioComponentComputeFarmConfigurationArgsDict'] -elif False: - StudioComponentConfiguration1PropertiesArgsDict: TypeAlias = Mapping[str, Any] - -@pulumi.input_type -class StudioComponentConfiguration1PropertiesArgs: - def __init__(__self__, *, - compute_farm_configuration: pulumi.Input['StudioComponentComputeFarmConfigurationArgs']): - """ -

The configuration of the studio component, based on component type.

- """ - pulumi.set(__self__, "compute_farm_configuration", compute_farm_configuration) - @property @pulumi.getter(name="computeFarmConfiguration") - def compute_farm_configuration(self) -> pulumi.Input['StudioComponentComputeFarmConfigurationArgs']: + def compute_farm_configuration(self) -> Optional[pulumi.Input['StudioComponentComputeFarmConfigurationArgs']]: + """ + The configuration for a render farm that is associated with a studio resource. + """ return pulumi.get(self, "compute_farm_configuration") @compute_farm_configuration.setter - def compute_farm_configuration(self, value: pulumi.Input['StudioComponentComputeFarmConfigurationArgs']): + def compute_farm_configuration(self, value: Optional[pulumi.Input['StudioComponentComputeFarmConfigurationArgs']]): pulumi.set(self, "compute_farm_configuration", value) - -if not MYPY: - class StudioComponentConfiguration2PropertiesArgsDict(TypedDict): - """ -

The configuration of the studio component, based on component type.

- """ - license_service_configuration: pulumi.Input['StudioComponentLicenseServiceConfigurationArgsDict'] -elif False: - StudioComponentConfiguration2PropertiesArgsDict: TypeAlias = Mapping[str, Any] - -@pulumi.input_type -class StudioComponentConfiguration2PropertiesArgs: - def __init__(__self__, *, - license_service_configuration: pulumi.Input['StudioComponentLicenseServiceConfigurationArgs']): - """ -

The configuration of the studio component, based on component type.

- """ - pulumi.set(__self__, "license_service_configuration", license_service_configuration) - @property @pulumi.getter(name="licenseServiceConfiguration") - def license_service_configuration(self) -> pulumi.Input['StudioComponentLicenseServiceConfigurationArgs']: + def license_service_configuration(self) -> Optional[pulumi.Input['StudioComponentLicenseServiceConfigurationArgs']]: + """ + The configuration for a license service that is associated with a studio resource. + """ return pulumi.get(self, "license_service_configuration") @license_service_configuration.setter - def license_service_configuration(self, value: pulumi.Input['StudioComponentLicenseServiceConfigurationArgs']): + def license_service_configuration(self, value: Optional[pulumi.Input['StudioComponentLicenseServiceConfigurationArgs']]): pulumi.set(self, "license_service_configuration", value) - -if not MYPY: - class StudioComponentConfiguration3PropertiesArgsDict(TypedDict): - """ -

The configuration of the studio component, based on component type.

- """ - shared_file_system_configuration: pulumi.Input['StudioComponentSharedFileSystemConfigurationArgsDict'] -elif False: - StudioComponentConfiguration3PropertiesArgsDict: TypeAlias = Mapping[str, Any] - -@pulumi.input_type -class StudioComponentConfiguration3PropertiesArgs: - def __init__(__self__, *, - shared_file_system_configuration: pulumi.Input['StudioComponentSharedFileSystemConfigurationArgs']): - """ -

The configuration of the studio component, based on component type.

- """ - pulumi.set(__self__, "shared_file_system_configuration", shared_file_system_configuration) - @property @pulumi.getter(name="sharedFileSystemConfiguration") - def shared_file_system_configuration(self) -> pulumi.Input['StudioComponentSharedFileSystemConfigurationArgs']: + def shared_file_system_configuration(self) -> Optional[pulumi.Input['StudioComponentSharedFileSystemConfigurationArgs']]: + """ + The configuration for a shared file storage system that is associated with a studio resource. + """ return pulumi.get(self, "shared_file_system_configuration") @shared_file_system_configuration.setter - def shared_file_system_configuration(self, value: pulumi.Input['StudioComponentSharedFileSystemConfigurationArgs']): + def shared_file_system_configuration(self, value: Optional[pulumi.Input['StudioComponentSharedFileSystemConfigurationArgs']]): pulumi.set(self, "shared_file_system_configuration", value) if not MYPY: class StudioComponentInitializationScriptArgsDict(TypedDict): - """ -

Initialization scripts for studio components.

- """ launch_profile_protocol_version: NotRequired[pulumi.Input[str]] """ -

The version number of the protocol that is used by the launch profile. The only valid - version is "2021-03-31".

+ The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31". """ - platform: NotRequired[pulumi.Input['StudioComponentLaunchProfilePlatform']] + platform: NotRequired[pulumi.Input[str]] """ The platform of the initialization script, either Windows or Linux. """ - run_context: NotRequired[pulumi.Input['StudioComponentInitializationScriptRunContext']] + run_context: NotRequired[pulumi.Input[str]] """ The method to use when running the initialization script. """ script: NotRequired[pulumi.Input[str]] """ -

The initialization script.

+ The initialization script. """ elif False: StudioComponentInitializationScriptArgsDict: TypeAlias = Mapping[str, Any] @@ -967,16 +821,14 @@ class StudioComponentInitializationScriptArgsDict(TypedDict): class StudioComponentInitializationScriptArgs: def __init__(__self__, *, launch_profile_protocol_version: Optional[pulumi.Input[str]] = None, - platform: Optional[pulumi.Input['StudioComponentLaunchProfilePlatform']] = None, - run_context: Optional[pulumi.Input['StudioComponentInitializationScriptRunContext']] = None, + platform: Optional[pulumi.Input[str]] = None, + run_context: Optional[pulumi.Input[str]] = None, script: Optional[pulumi.Input[str]] = None): """ -

Initialization scripts for studio components.

- :param pulumi.Input[str] launch_profile_protocol_version:

The version number of the protocol that is used by the launch profile. The only valid - version is "2021-03-31".

- :param pulumi.Input['StudioComponentLaunchProfilePlatform'] platform: The platform of the initialization script, either Windows or Linux. - :param pulumi.Input['StudioComponentInitializationScriptRunContext'] run_context: The method to use when running the initialization script. - :param pulumi.Input[str] script:

The initialization script.

+ :param pulumi.Input[str] launch_profile_protocol_version: The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31". + :param pulumi.Input[str] platform: The platform of the initialization script, either Windows or Linux. + :param pulumi.Input[str] run_context: The method to use when running the initialization script. + :param pulumi.Input[str] script: The initialization script. """ if launch_profile_protocol_version is not None: pulumi.set(__self__, "launch_profile_protocol_version", launch_profile_protocol_version) @@ -991,8 +843,7 @@ def __init__(__self__, *, @pulumi.getter(name="launchProfileProtocolVersion") def launch_profile_protocol_version(self) -> Optional[pulumi.Input[str]]: """ -

The version number of the protocol that is used by the launch profile. The only valid - version is "2021-03-31".

+ The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31". """ return pulumi.get(self, "launch_profile_protocol_version") @@ -1002,33 +853,33 @@ def launch_profile_protocol_version(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter - def platform(self) -> Optional[pulumi.Input['StudioComponentLaunchProfilePlatform']]: + def platform(self) -> Optional[pulumi.Input[str]]: """ The platform of the initialization script, either Windows or Linux. """ return pulumi.get(self, "platform") @platform.setter - def platform(self, value: Optional[pulumi.Input['StudioComponentLaunchProfilePlatform']]): + def platform(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "platform", value) @property @pulumi.getter(name="runContext") - def run_context(self) -> Optional[pulumi.Input['StudioComponentInitializationScriptRunContext']]: + def run_context(self) -> Optional[pulumi.Input[str]]: """ The method to use when running the initialization script. """ return pulumi.get(self, "run_context") @run_context.setter - def run_context(self, value: Optional[pulumi.Input['StudioComponentInitializationScriptRunContext']]): + def run_context(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "run_context", value) @property @pulumi.getter def script(self) -> Optional[pulumi.Input[str]]: """ -

The initialization script.

+ The initialization script. """ return pulumi.get(self, "script") @@ -1039,14 +890,9 @@ def script(self, value: Optional[pulumi.Input[str]]): if not MYPY: class StudioComponentLicenseServiceConfigurationArgsDict(TypedDict): - """ -

The configuration for a license service that is associated with a studio - resource.

- """ endpoint: NotRequired[pulumi.Input[str]] """ -

The endpoint of the license service that is accessed by the studio component - resource.

+ The endpoint of the license service that is accessed by the studio component resource. """ elif False: StudioComponentLicenseServiceConfigurationArgsDict: TypeAlias = Mapping[str, Any] @@ -1056,10 +902,7 @@ class StudioComponentLicenseServiceConfigurationArgs: def __init__(__self__, *, endpoint: Optional[pulumi.Input[str]] = None): """ -

The configuration for a license service that is associated with a studio - resource.

- :param pulumi.Input[str] endpoint:

The endpoint of the license service that is accessed by the studio component - resource.

+ :param pulumi.Input[str] endpoint: The endpoint of the license service that is accessed by the studio component resource. """ if endpoint is not None: pulumi.set(__self__, "endpoint", endpoint) @@ -1068,8 +911,7 @@ def __init__(__self__, *, @pulumi.getter def endpoint(self) -> Optional[pulumi.Input[str]]: """ -

The endpoint of the license service that is accessed by the studio component - resource.

+ The endpoint of the license service that is accessed by the studio component resource. """ return pulumi.get(self, "endpoint") @@ -1080,16 +922,13 @@ def endpoint(self, value: Optional[pulumi.Input[str]]): if not MYPY: class StudioComponentScriptParameterKeyValueArgsDict(TypedDict): - """ -

A parameter for a studio component script, in the form of a key:value pair.

- """ key: NotRequired[pulumi.Input[str]] """ -

A script parameter key.

+ A script parameter key. """ value: NotRequired[pulumi.Input[str]] """ -

A script parameter value.

+ A script parameter value. """ elif False: StudioComponentScriptParameterKeyValueArgsDict: TypeAlias = Mapping[str, Any] @@ -1100,9 +939,8 @@ def __init__(__self__, *, key: Optional[pulumi.Input[str]] = None, value: Optional[pulumi.Input[str]] = None): """ -

A parameter for a studio component script, in the form of a key:value pair.

- :param pulumi.Input[str] key:

A script parameter key.

- :param pulumi.Input[str] value:

A script parameter value.

+ :param pulumi.Input[str] key: A script parameter key. + :param pulumi.Input[str] value: A script parameter value. """ if key is not None: pulumi.set(__self__, "key", key) @@ -1113,7 +951,7 @@ def __init__(__self__, *, @pulumi.getter def key(self) -> Optional[pulumi.Input[str]]: """ -

A script parameter key.

+ A script parameter key. """ return pulumi.get(self, "key") @@ -1125,7 +963,7 @@ def key(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def value(self) -> Optional[pulumi.Input[str]]: """ -

A script parameter value.

+ A script parameter value. """ return pulumi.get(self, "value") @@ -1136,30 +974,25 @@ def value(self, value: Optional[pulumi.Input[str]]): if not MYPY: class StudioComponentSharedFileSystemConfigurationArgsDict(TypedDict): - """ -

The configuration for a shared file storage system that is associated with a studio - resource.

- """ endpoint: NotRequired[pulumi.Input[str]] """ -

The endpoint of the shared file system that is accessed by the studio component - resource.

+ The endpoint of the shared file system that is accessed by the studio component resource. """ file_system_id: NotRequired[pulumi.Input[str]] """ -

The unique identifier for a file system.

+ The unique identifier for a file system. """ linux_mount_point: NotRequired[pulumi.Input[str]] """ -

The mount location for a shared file system on a Linux virtual workstation.

+ The mount location for a shared file system on a Linux virtual workstation. """ share_name: NotRequired[pulumi.Input[str]] """ -

The name of the file share.

+ The name of the file share. """ windows_mount_drive: NotRequired[pulumi.Input[str]] """ -

The mount location for a shared file system on a Windows virtual workstation.

+ The mount location for a shared file system on a Windows virtual workstation. """ elif False: StudioComponentSharedFileSystemConfigurationArgsDict: TypeAlias = Mapping[str, Any] @@ -1173,14 +1006,11 @@ def __init__(__self__, *, share_name: Optional[pulumi.Input[str]] = None, windows_mount_drive: Optional[pulumi.Input[str]] = None): """ -

The configuration for a shared file storage system that is associated with a studio - resource.

- :param pulumi.Input[str] endpoint:

The endpoint of the shared file system that is accessed by the studio component - resource.

- :param pulumi.Input[str] file_system_id:

The unique identifier for a file system.

- :param pulumi.Input[str] linux_mount_point:

The mount location for a shared file system on a Linux virtual workstation.

- :param pulumi.Input[str] share_name:

The name of the file share.

- :param pulumi.Input[str] windows_mount_drive:

The mount location for a shared file system on a Windows virtual workstation.

+ :param pulumi.Input[str] endpoint: The endpoint of the shared file system that is accessed by the studio component resource. + :param pulumi.Input[str] file_system_id: The unique identifier for a file system. + :param pulumi.Input[str] linux_mount_point: The mount location for a shared file system on a Linux virtual workstation. + :param pulumi.Input[str] share_name: The name of the file share. + :param pulumi.Input[str] windows_mount_drive: The mount location for a shared file system on a Windows virtual workstation. """ if endpoint is not None: pulumi.set(__self__, "endpoint", endpoint) @@ -1197,8 +1027,7 @@ def __init__(__self__, *, @pulumi.getter def endpoint(self) -> Optional[pulumi.Input[str]]: """ -

The endpoint of the shared file system that is accessed by the studio component - resource.

+ The endpoint of the shared file system that is accessed by the studio component resource. """ return pulumi.get(self, "endpoint") @@ -1210,7 +1039,7 @@ def endpoint(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="fileSystemId") def file_system_id(self) -> Optional[pulumi.Input[str]]: """ -

The unique identifier for a file system.

+ The unique identifier for a file system. """ return pulumi.get(self, "file_system_id") @@ -1222,7 +1051,7 @@ def file_system_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="linuxMountPoint") def linux_mount_point(self) -> Optional[pulumi.Input[str]]: """ -

The mount location for a shared file system on a Linux virtual workstation.

+ The mount location for a shared file system on a Linux virtual workstation. """ return pulumi.get(self, "linux_mount_point") @@ -1234,7 +1063,7 @@ def linux_mount_point(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="shareName") def share_name(self) -> Optional[pulumi.Input[str]]: """ -

The name of the file share.

+ The name of the file share. """ return pulumi.get(self, "share_name") @@ -1246,7 +1075,7 @@ def share_name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="windowsMountDrive") def windows_mount_drive(self) -> Optional[pulumi.Input[str]]: """ -

The mount location for a shared file system on a Windows virtual workstation.

+ The mount location for a shared file system on a Windows virtual workstation. """ return pulumi.get(self, "windows_mount_drive") @@ -1257,16 +1086,13 @@ def windows_mount_drive(self, value: Optional[pulumi.Input[str]]): if not MYPY: class StudioEncryptionConfigurationArgsDict(TypedDict): - """ -

Configuration of the encryption method that is used for the studio.

- """ - key_type: pulumi.Input['StudioEncryptionConfigurationKeyType'] + key_type: pulumi.Input[str] """ The type of KMS key that is used to encrypt studio data. """ key_arn: NotRequired[pulumi.Input[str]] """ -

The ARN for a KMS key that is used to encrypt studio data.

+ The ARN for a KMS key that is used to encrypt studio data. """ elif False: StudioEncryptionConfigurationArgsDict: TypeAlias = Mapping[str, Any] @@ -1274,12 +1100,11 @@ class StudioEncryptionConfigurationArgsDict(TypedDict): @pulumi.input_type class StudioEncryptionConfigurationArgs: def __init__(__self__, *, - key_type: pulumi.Input['StudioEncryptionConfigurationKeyType'], + key_type: pulumi.Input[str], key_arn: Optional[pulumi.Input[str]] = None): """ -

Configuration of the encryption method that is used for the studio.

- :param pulumi.Input['StudioEncryptionConfigurationKeyType'] key_type: The type of KMS key that is used to encrypt studio data. - :param pulumi.Input[str] key_arn:

The ARN for a KMS key that is used to encrypt studio data.

+ :param pulumi.Input[str] key_type: The type of KMS key that is used to encrypt studio data. + :param pulumi.Input[str] key_arn: The ARN for a KMS key that is used to encrypt studio data. """ pulumi.set(__self__, "key_type", key_type) if key_arn is not None: @@ -1287,21 +1112,21 @@ def __init__(__self__, *, @property @pulumi.getter(name="keyType") - def key_type(self) -> pulumi.Input['StudioEncryptionConfigurationKeyType']: + def key_type(self) -> pulumi.Input[str]: """ The type of KMS key that is used to encrypt studio data. """ return pulumi.get(self, "key_type") @key_type.setter - def key_type(self, value: pulumi.Input['StudioEncryptionConfigurationKeyType']): + def key_type(self, value: pulumi.Input[str]): pulumi.set(self, "key_type", value) @property @pulumi.getter(name="keyArn") def key_arn(self) -> Optional[pulumi.Input[str]]: """ -

The ARN for a KMS key that is used to encrypt studio data.

+ The ARN for a KMS key that is used to encrypt studio data. """ return pulumi.get(self, "key_arn") diff --git a/sdk/python/pulumi_aws_native/nimblestudio/get_launch_profile.py b/sdk/python/pulumi_aws_native/nimblestudio/get_launch_profile.py index 91cea8986b..4c6c61664b 100644 --- a/sdk/python/pulumi_aws_native/nimblestudio/get_launch_profile.py +++ b/sdk/python/pulumi_aws_native/nimblestudio/get_launch_profile.py @@ -14,7 +14,6 @@ from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs -from ._enums import * __all__ = [ 'GetLaunchProfileResult', @@ -49,7 +48,7 @@ def __init__(__self__, description=None, launch_profile_id=None, launch_profile_ @pulumi.getter def description(self) -> Optional[str]: """ -

The description.

+ A human-readable description of the launch profile. """ return pulumi.get(self, "description") @@ -65,8 +64,7 @@ def launch_profile_id(self) -> Optional[str]: @pulumi.getter(name="launchProfileProtocolVersions") def launch_profile_protocol_versions(self) -> Optional[Sequence[str]]: """ -

The version number of the protocol that is used by the launch profile. The only valid - version is "2021-03-31".

+ The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31". """ return pulumi.get(self, "launch_profile_protocol_versions") @@ -74,7 +72,7 @@ def launch_profile_protocol_versions(self) -> Optional[Sequence[str]]: @pulumi.getter def name(self) -> Optional[str]: """ -

The name for the launch profile.

+ A friendly name for the launch profile. """ return pulumi.get(self, "name") @@ -90,8 +88,7 @@ def stream_configuration(self) -> Optional['outputs.LaunchProfileStreamConfigura @pulumi.getter(name="studioComponentIds") def studio_component_ids(self) -> Optional[Sequence[str]]: """ -

Unique identifiers for a collection of studio components that can be used with this - launch profile.

+ Unique identifiers for a collection of studio components that can be used with this launch profile. """ return pulumi.get(self, "studio_component_ids") @@ -111,18 +108,15 @@ def __await__(self): def get_launch_profile(launch_profile_id: Optional[str] = None, - studio_id: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetLaunchProfileResult: """ - Represents a launch profile which delegates access to a collection of studio components to studio users + Resource Type definition for AWS::NimbleStudio::LaunchProfile :param str launch_profile_id: The unique identifier for the launch profile resource. - :param str studio_id:

The studio ID.

""" __args__ = dict() __args__['launchProfileId'] = launch_profile_id - __args__['studioId'] = studio_id opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('aws-native:nimblestudio:getLaunchProfile', __args__, opts=opts, typ=GetLaunchProfileResult).value @@ -134,18 +128,15 @@ def get_launch_profile(launch_profile_id: Optional[str] = None, stream_configuration=pulumi.get(__ret__, 'stream_configuration'), studio_component_ids=pulumi.get(__ret__, 'studio_component_ids')) def get_launch_profile_output(launch_profile_id: Optional[pulumi.Input[str]] = None, - studio_id: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLaunchProfileResult]: """ - Represents a launch profile which delegates access to a collection of studio components to studio users + Resource Type definition for AWS::NimbleStudio::LaunchProfile :param str launch_profile_id: The unique identifier for the launch profile resource. - :param str studio_id:

The studio ID.

""" __args__ = dict() __args__['launchProfileId'] = launch_profile_id - __args__['studioId'] = studio_id opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws-native:nimblestudio:getLaunchProfile', __args__, opts=opts, typ=GetLaunchProfileResult) return __ret__.apply(lambda __response__: GetLaunchProfileResult( diff --git a/sdk/python/pulumi_aws_native/nimblestudio/get_streaming_image.py b/sdk/python/pulumi_aws_native/nimblestudio/get_streaming_image.py index 8263556622..a8b1953113 100644 --- a/sdk/python/pulumi_aws_native/nimblestudio/get_streaming_image.py +++ b/sdk/python/pulumi_aws_native/nimblestudio/get_streaming_image.py @@ -14,7 +14,6 @@ from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs -from ._enums import * __all__ = [ 'GetStreamingImageResult', @@ -25,13 +24,19 @@ @pulumi.output_type class GetStreamingImageResult: - def __init__(__self__, description=None, encryption_configuration=None, eula_ids=None, name=None, owner=None, platform=None, streaming_image_id=None): + def __init__(__self__, description=None, encryption_configuration=None, encryption_configuration_key_arn=None, encryption_configuration_key_type=None, eula_ids=None, name=None, owner=None, platform=None, streaming_image_id=None): if description and not isinstance(description, str): raise TypeError("Expected argument 'description' to be a str") pulumi.set(__self__, "description", description) if encryption_configuration and not isinstance(encryption_configuration, dict): raise TypeError("Expected argument 'encryption_configuration' to be a dict") pulumi.set(__self__, "encryption_configuration", encryption_configuration) + if encryption_configuration_key_arn and not isinstance(encryption_configuration_key_arn, str): + raise TypeError("Expected argument 'encryption_configuration_key_arn' to be a str") + pulumi.set(__self__, "encryption_configuration_key_arn", encryption_configuration_key_arn) + if encryption_configuration_key_type and not isinstance(encryption_configuration_key_type, str): + raise TypeError("Expected argument 'encryption_configuration_key_type' to be a str") + pulumi.set(__self__, "encryption_configuration_key_type", encryption_configuration_key_type) if eula_ids and not isinstance(eula_ids, list): raise TypeError("Expected argument 'eula_ids' to be a list") pulumi.set(__self__, "eula_ids", eula_ids) @@ -52,7 +57,7 @@ def __init__(__self__, description=None, encryption_configuration=None, eula_ids @pulumi.getter def description(self) -> Optional[str]: """ -

A human-readable description of the streaming image.

+ A human-readable description of the streaming image. """ return pulumi.get(self, "description") @@ -61,11 +66,21 @@ def description(self) -> Optional[str]: def encryption_configuration(self) -> Optional['outputs.StreamingImageEncryptionConfiguration']: return pulumi.get(self, "encryption_configuration") + @property + @pulumi.getter(name="encryptionConfigurationKeyArn") + def encryption_configuration_key_arn(self) -> Optional[str]: + return pulumi.get(self, "encryption_configuration_key_arn") + + @property + @pulumi.getter(name="encryptionConfigurationKeyType") + def encryption_configuration_key_type(self) -> Optional[str]: + return pulumi.get(self, "encryption_configuration_key_type") + @property @pulumi.getter(name="eulaIds") def eula_ids(self) -> Optional[Sequence[str]]: """ -

The list of EULAs that must be accepted before a Streaming Session can be started using this streaming image.

+ The list of IDs of EULAs that must be accepted before a streaming session can be started using this streaming image. """ return pulumi.get(self, "eula_ids") @@ -73,7 +88,7 @@ def eula_ids(self) -> Optional[Sequence[str]]: @pulumi.getter def name(self) -> Optional[str]: """ -

A friendly name for a streaming image resource.

+ A friendly name for a streaming image resource. """ return pulumi.get(self, "name") @@ -81,7 +96,7 @@ def name(self) -> Optional[str]: @pulumi.getter def owner(self) -> Optional[str]: """ -

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.

+ The owner of the streaming image, either the studioId that contains the streaming image or 'amazon' for images that are provided by . """ return pulumi.get(self, "owner") @@ -89,7 +104,7 @@ def owner(self) -> Optional[str]: @pulumi.getter def platform(self) -> Optional[str]: """ -

The platform of the streaming image, either WINDOWS or LINUX.

+ The platform of the streaming image, either WINDOWS or LINUX. """ return pulumi.get(self, "platform") @@ -110,6 +125,8 @@ def __await__(self): return GetStreamingImageResult( description=self.description, encryption_configuration=self.encryption_configuration, + encryption_configuration_key_arn=self.encryption_configuration_key_arn, + encryption_configuration_key_type=self.encryption_configuration_key_type, eula_ids=self.eula_ids, name=self.name, owner=self.owner, @@ -118,47 +135,45 @@ def __await__(self): def get_streaming_image(streaming_image_id: Optional[str] = None, - studio_id: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetStreamingImageResult: """ - Represents a streaming session machine image that can be used to launch a streaming session + Resource Type definition for AWS::NimbleStudio::StreamingImage :param str streaming_image_id: The unique identifier for the streaming image resource. - :param str studio_id:

The studioId.

""" __args__ = dict() __args__['streamingImageId'] = streaming_image_id - __args__['studioId'] = studio_id opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('aws-native:nimblestudio:getStreamingImage', __args__, opts=opts, typ=GetStreamingImageResult).value return AwaitableGetStreamingImageResult( description=pulumi.get(__ret__, 'description'), encryption_configuration=pulumi.get(__ret__, 'encryption_configuration'), + encryption_configuration_key_arn=pulumi.get(__ret__, 'encryption_configuration_key_arn'), + encryption_configuration_key_type=pulumi.get(__ret__, 'encryption_configuration_key_type'), eula_ids=pulumi.get(__ret__, 'eula_ids'), name=pulumi.get(__ret__, 'name'), owner=pulumi.get(__ret__, 'owner'), platform=pulumi.get(__ret__, 'platform'), streaming_image_id=pulumi.get(__ret__, 'streaming_image_id')) def get_streaming_image_output(streaming_image_id: Optional[pulumi.Input[str]] = None, - studio_id: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetStreamingImageResult]: """ - Represents a streaming session machine image that can be used to launch a streaming session + Resource Type definition for AWS::NimbleStudio::StreamingImage :param str streaming_image_id: The unique identifier for the streaming image resource. - :param str studio_id:

The studioId.

""" __args__ = dict() __args__['streamingImageId'] = streaming_image_id - __args__['studioId'] = studio_id opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws-native:nimblestudio:getStreamingImage', __args__, opts=opts, typ=GetStreamingImageResult) return __ret__.apply(lambda __response__: GetStreamingImageResult( description=pulumi.get(__response__, 'description'), encryption_configuration=pulumi.get(__response__, 'encryption_configuration'), + encryption_configuration_key_arn=pulumi.get(__response__, 'encryption_configuration_key_arn'), + encryption_configuration_key_type=pulumi.get(__response__, 'encryption_configuration_key_type'), eula_ids=pulumi.get(__response__, 'eula_ids'), name=pulumi.get(__response__, 'name'), owner=pulumi.get(__response__, 'owner'), diff --git a/sdk/python/pulumi_aws_native/nimblestudio/get_studio.py b/sdk/python/pulumi_aws_native/nimblestudio/get_studio.py index 0a755cad17..9ea9bc4b4f 100644 --- a/sdk/python/pulumi_aws_native/nimblestudio/get_studio.py +++ b/sdk/python/pulumi_aws_native/nimblestudio/get_studio.py @@ -14,7 +14,6 @@ from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs -from ._enums import * __all__ = [ 'GetStudioResult', @@ -55,7 +54,7 @@ def __init__(__self__, admin_role_arn=None, display_name=None, home_region=None, @pulumi.getter(name="adminRoleArn") def admin_role_arn(self) -> Optional[str]: """ -

The IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.

+ The IAM role that studio admins assume when logging in to the Nimble Studio portal. """ return pulumi.get(self, "admin_role_arn") @@ -63,7 +62,7 @@ def admin_role_arn(self) -> Optional[str]: @pulumi.getter(name="displayName") def display_name(self) -> Optional[str]: """ -

A friendly name for the studio.

+ A friendly name for the studio. """ return pulumi.get(self, "display_name") @@ -71,7 +70,7 @@ def display_name(self) -> Optional[str]: @pulumi.getter(name="homeRegion") def home_region(self) -> Optional[str]: """ -

The Amazon Web Services Region where the studio resource is located.

+ The AWS Region where the studio resource is located. For example, `us-west-2` . """ return pulumi.get(self, "home_region") @@ -79,7 +78,7 @@ def home_region(self) -> Optional[str]: @pulumi.getter(name="ssoClientId") def sso_client_id(self) -> Optional[str]: """ -

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.

+ 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. """ return pulumi.get(self, "sso_client_id") @@ -103,7 +102,7 @@ def studio_id(self) -> Optional[str]: @pulumi.getter(name="studioUrl") def studio_url(self) -> Optional[str]: """ -

The address of the web page for the studio.

+ The unique identifier for the studio resource. """ return pulumi.get(self, "studio_url") @@ -111,7 +110,7 @@ def studio_url(self) -> Optional[str]: @pulumi.getter(name="userRoleArn") def user_role_arn(self) -> Optional[str]: """ -

The IAM role that Studio Users will assume when logging in to the Nimble Studio portal.

+ The IAM role that studio users assume when logging in to the Nimble Studio portal. """ return pulumi.get(self, "user_role_arn") @@ -135,7 +134,7 @@ def __await__(self): def get_studio(studio_id: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetStudioResult: """ - Represents a studio that contains other Nimble Studio resources + Resource Type definition for AWS::NimbleStudio::Studio :param str studio_id: The unique identifier for the studio resource. @@ -157,7 +156,7 @@ def get_studio(studio_id: Optional[str] = None, def get_studio_output(studio_id: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetStudioResult]: """ - Represents a studio that contains other Nimble Studio resources + Resource Type definition for AWS::NimbleStudio::Studio :param str studio_id: The unique identifier for the studio resource. diff --git a/sdk/python/pulumi_aws_native/nimblestudio/get_studio_component.py b/sdk/python/pulumi_aws_native/nimblestudio/get_studio_component.py index 8ab9a9fa01..3571f2ec03 100644 --- a/sdk/python/pulumi_aws_native/nimblestudio/get_studio_component.py +++ b/sdk/python/pulumi_aws_native/nimblestudio/get_studio_component.py @@ -14,7 +14,6 @@ from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs -from ._enums import * __all__ = [ 'GetStudioComponentResult', @@ -25,7 +24,7 @@ @pulumi.output_type class GetStudioComponentResult: - def __init__(__self__, configuration=None, description=None, ec2_security_group_ids=None, initialization_scripts=None, name=None, runtime_role_arn=None, script_parameters=None, secure_initialization_role_arn=None, studio_component_id=None, type=None): + def __init__(__self__, configuration=None, description=None, ec2_security_group_ids=None, initialization_scripts=None, name=None, script_parameters=None, studio_component_id=None, type=None): if configuration and not isinstance(configuration, dict): raise TypeError("Expected argument 'configuration' to be a dict") pulumi.set(__self__, "configuration", configuration) @@ -41,15 +40,9 @@ def __init__(__self__, configuration=None, description=None, ec2_security_group_ if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) - if runtime_role_arn and not isinstance(runtime_role_arn, str): - raise TypeError("Expected argument 'runtime_role_arn' to be a str") - pulumi.set(__self__, "runtime_role_arn", runtime_role_arn) if script_parameters and not isinstance(script_parameters, list): raise TypeError("Expected argument 'script_parameters' to be a list") pulumi.set(__self__, "script_parameters", script_parameters) - if secure_initialization_role_arn and not isinstance(secure_initialization_role_arn, str): - raise TypeError("Expected argument 'secure_initialization_role_arn' to be a str") - pulumi.set(__self__, "secure_initialization_role_arn", secure_initialization_role_arn) if studio_component_id and not isinstance(studio_component_id, str): raise TypeError("Expected argument 'studio_component_id' to be a str") pulumi.set(__self__, "studio_component_id", studio_component_id) @@ -59,7 +52,7 @@ def __init__(__self__, configuration=None, description=None, ec2_security_group_ @property @pulumi.getter - def configuration(self) -> Optional[Any]: + def configuration(self) -> Optional['outputs.StudioComponentConfiguration']: """ The configuration of the studio component, based on component type. """ @@ -69,7 +62,7 @@ def configuration(self) -> Optional[Any]: @pulumi.getter def description(self) -> Optional[str]: """ -

The description.

+ A human-readable description for the studio component resource. """ return pulumi.get(self, "description") @@ -77,7 +70,7 @@ def description(self) -> Optional[str]: @pulumi.getter(name="ec2SecurityGroupIds") def ec2_security_group_ids(self) -> Optional[Sequence[str]]: """ -

The EC2 security groups that control access to the studio component.

+ The EC2 security groups that control access to the studio component. """ return pulumi.get(self, "ec2_security_group_ids") @@ -85,7 +78,7 @@ def ec2_security_group_ids(self) -> Optional[Sequence[str]]: @pulumi.getter(name="initializationScripts") def initialization_scripts(self) -> Optional[Sequence['outputs.StudioComponentInitializationScript']]: """ -

Initialization scripts for studio components.

+ Initialization scripts for studio components. """ return pulumi.get(self, "initialization_scripts") @@ -93,34 +86,18 @@ def initialization_scripts(self) -> Optional[Sequence['outputs.StudioComponentIn @pulumi.getter def name(self) -> Optional[str]: """ -

The name for the studio component.

+ A friendly name for the studio component resource. """ return pulumi.get(self, "name") - @property - @pulumi.getter(name="runtimeRoleArn") - def runtime_role_arn(self) -> Optional[str]: - """ - An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running. - """ - return pulumi.get(self, "runtime_role_arn") - @property @pulumi.getter(name="scriptParameters") def script_parameters(self) -> Optional[Sequence['outputs.StudioComponentScriptParameterKeyValue']]: """ -

Parameters for the studio component scripts.

+ Parameters for the studio component scripts. """ return pulumi.get(self, "script_parameters") - @property - @pulumi.getter(name="secureInitializationRoleArn") - def secure_initialization_role_arn(self) -> Optional[str]: - """ - 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. - """ - return pulumi.get(self, "secure_initialization_role_arn") - @property @pulumi.getter(name="studioComponentId") def studio_component_id(self) -> Optional[str]: @@ -131,7 +108,7 @@ def studio_component_id(self) -> Optional[str]: @property @pulumi.getter - def type(self) -> Optional['StudioComponentType']: + def type(self) -> Optional[str]: """ The type of the studio component. """ @@ -149,26 +126,21 @@ def __await__(self): ec2_security_group_ids=self.ec2_security_group_ids, initialization_scripts=self.initialization_scripts, name=self.name, - runtime_role_arn=self.runtime_role_arn, script_parameters=self.script_parameters, - secure_initialization_role_arn=self.secure_initialization_role_arn, studio_component_id=self.studio_component_id, type=self.type) def get_studio_component(studio_component_id: Optional[str] = None, - studio_id: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetStudioComponentResult: """ - Represents a studio component that connects a non-Nimble Studio resource in your account to your studio + Resource Type definition for AWS::NimbleStudio::StudioComponent :param str studio_component_id: The unique identifier for the studio component resource. - :param str studio_id:

The studio ID.

""" __args__ = dict() __args__['studioComponentId'] = studio_component_id - __args__['studioId'] = studio_id opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('aws-native:nimblestudio:getStudioComponent', __args__, opts=opts, typ=GetStudioComponentResult).value @@ -178,24 +150,19 @@ def get_studio_component(studio_component_id: Optional[str] = None, ec2_security_group_ids=pulumi.get(__ret__, 'ec2_security_group_ids'), initialization_scripts=pulumi.get(__ret__, 'initialization_scripts'), name=pulumi.get(__ret__, 'name'), - runtime_role_arn=pulumi.get(__ret__, 'runtime_role_arn'), script_parameters=pulumi.get(__ret__, 'script_parameters'), - secure_initialization_role_arn=pulumi.get(__ret__, 'secure_initialization_role_arn'), studio_component_id=pulumi.get(__ret__, 'studio_component_id'), type=pulumi.get(__ret__, 'type')) def get_studio_component_output(studio_component_id: Optional[pulumi.Input[str]] = None, - studio_id: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetStudioComponentResult]: """ - Represents a studio component that connects a non-Nimble Studio resource in your account to your studio + Resource Type definition for AWS::NimbleStudio::StudioComponent :param str studio_component_id: The unique identifier for the studio component resource. - :param str studio_id:

The studio ID.

""" __args__ = dict() __args__['studioComponentId'] = studio_component_id - __args__['studioId'] = studio_id opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('aws-native:nimblestudio:getStudioComponent', __args__, opts=opts, typ=GetStudioComponentResult) return __ret__.apply(lambda __response__: GetStudioComponentResult( @@ -204,8 +171,6 @@ def get_studio_component_output(studio_component_id: Optional[pulumi.Input[str]] ec2_security_group_ids=pulumi.get(__response__, 'ec2_security_group_ids'), initialization_scripts=pulumi.get(__response__, 'initialization_scripts'), name=pulumi.get(__response__, 'name'), - runtime_role_arn=pulumi.get(__response__, 'runtime_role_arn'), script_parameters=pulumi.get(__response__, 'script_parameters'), - secure_initialization_role_arn=pulumi.get(__response__, 'secure_initialization_role_arn'), studio_component_id=pulumi.get(__response__, 'studio_component_id'), type=pulumi.get(__response__, 'type'))) diff --git a/sdk/python/pulumi_aws_native/nimblestudio/launch_profile.py b/sdk/python/pulumi_aws_native/nimblestudio/launch_profile.py index 5d25aaf32a..4acf4d61f9 100644 --- a/sdk/python/pulumi_aws_native/nimblestudio/launch_profile.py +++ b/sdk/python/pulumi_aws_native/nimblestudio/launch_profile.py @@ -14,7 +14,6 @@ from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs -from ._enums import * from ._inputs import * __all__ = ['LaunchProfileArgs', 'LaunchProfile'] @@ -32,16 +31,13 @@ def __init__(__self__, *, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a LaunchProfile resource. - :param pulumi.Input[Sequence[pulumi.Input[str]]] ec2_subnet_ids:

Specifies the IDs of the EC2 subnets where streaming sessions will be accessible from. - These subnets must support the specified instance types.

- :param pulumi.Input[Sequence[pulumi.Input[str]]] launch_profile_protocol_versions:

The version number of the protocol that is used by the launch profile. The only valid - version is "2021-03-31".

+ :param pulumi.Input[Sequence[pulumi.Input[str]]] ec2_subnet_ids: Unique identifiers for a collection of EC2 subnets. + :param pulumi.Input[Sequence[pulumi.Input[str]]] launch_profile_protocol_versions: The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31". :param pulumi.Input['LaunchProfileStreamConfigurationArgs'] stream_configuration: A configuration for a streaming session. - :param pulumi.Input[Sequence[pulumi.Input[str]]] studio_component_ids:

Unique identifiers for a collection of studio components that can be used with this - launch profile.

- :param pulumi.Input[str] studio_id:

The studio ID.

- :param pulumi.Input[str] description:

The description.

- :param pulumi.Input[str] name:

The name for the launch profile.

+ :param pulumi.Input[Sequence[pulumi.Input[str]]] studio_component_ids: Unique identifiers for a collection of studio components that can be used with this launch profile. + :param pulumi.Input[str] studio_id: The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. + :param pulumi.Input[str] description: A human-readable description of the launch profile. + :param pulumi.Input[str] name: A friendly name for the launch profile. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: An array of key-value pairs to apply to this resource. For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . @@ -62,8 +58,7 @@ def __init__(__self__, *, @pulumi.getter(name="ec2SubnetIds") def ec2_subnet_ids(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: """ -

Specifies the IDs of the EC2 subnets where streaming sessions will be accessible from. - These subnets must support the specified instance types.

+ Unique identifiers for a collection of EC2 subnets. """ return pulumi.get(self, "ec2_subnet_ids") @@ -75,8 +70,7 @@ def ec2_subnet_ids(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): @pulumi.getter(name="launchProfileProtocolVersions") def launch_profile_protocol_versions(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: """ -

The version number of the protocol that is used by the launch profile. The only valid - version is "2021-03-31".

+ The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31". """ return pulumi.get(self, "launch_profile_protocol_versions") @@ -100,8 +94,7 @@ def stream_configuration(self, value: pulumi.Input['LaunchProfileStreamConfigura @pulumi.getter(name="studioComponentIds") def studio_component_ids(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: """ -

Unique identifiers for a collection of studio components that can be used with this - launch profile.

+ Unique identifiers for a collection of studio components that can be used with this launch profile. """ return pulumi.get(self, "studio_component_ids") @@ -113,7 +106,7 @@ def studio_component_ids(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]) @pulumi.getter(name="studioId") def studio_id(self) -> pulumi.Input[str]: """ -

The studio ID.

+ The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. """ return pulumi.get(self, "studio_id") @@ -125,7 +118,7 @@ def studio_id(self, value: pulumi.Input[str]): @pulumi.getter def description(self) -> Optional[pulumi.Input[str]]: """ -

The description.

+ A human-readable description of the launch profile. """ return pulumi.get(self, "description") @@ -137,7 +130,7 @@ def description(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ -

The name for the launch profile.

+ A friendly name for the launch profile. """ return pulumi.get(self, "name") @@ -175,20 +168,17 @@ def __init__(__self__, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): """ - Represents a launch profile which delegates access to a collection of studio components to studio users + Resource Type definition for AWS::NimbleStudio::LaunchProfile :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] description:

The description.

- :param pulumi.Input[Sequence[pulumi.Input[str]]] ec2_subnet_ids:

Specifies the IDs of the EC2 subnets where streaming sessions will be accessible from. - These subnets must support the specified instance types.

- :param pulumi.Input[Sequence[pulumi.Input[str]]] launch_profile_protocol_versions:

The version number of the protocol that is used by the launch profile. The only valid - version is "2021-03-31".

- :param pulumi.Input[str] name:

The name for the launch profile.

+ :param pulumi.Input[str] description: A human-readable description of the launch profile. + :param pulumi.Input[Sequence[pulumi.Input[str]]] ec2_subnet_ids: Unique identifiers for a collection of EC2 subnets. + :param pulumi.Input[Sequence[pulumi.Input[str]]] launch_profile_protocol_versions: The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31". + :param pulumi.Input[str] name: A friendly name for the launch profile. :param pulumi.Input[Union['LaunchProfileStreamConfigurationArgs', 'LaunchProfileStreamConfigurationArgsDict']] stream_configuration: A configuration for a streaming session. - :param pulumi.Input[Sequence[pulumi.Input[str]]] studio_component_ids:

Unique identifiers for a collection of studio components that can be used with this - launch profile.

- :param pulumi.Input[str] studio_id:

The studio ID.

+ :param pulumi.Input[Sequence[pulumi.Input[str]]] studio_component_ids: Unique identifiers for a collection of studio components that can be used with this launch profile. + :param pulumi.Input[str] studio_id: The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: An array of key-value pairs to apply to this resource. For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . @@ -200,7 +190,7 @@ def __init__(__self__, args: LaunchProfileArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Represents a launch profile which delegates access to a collection of studio components to studio users + Resource Type definition for AWS::NimbleStudio::LaunchProfile :param str resource_name: The name of the resource. :param LaunchProfileArgs args: The arguments to use to populate this resource's properties. @@ -292,7 +282,7 @@ def get(resource_name: str, @pulumi.getter def description(self) -> pulumi.Output[Optional[str]]: """ -

The description.

+ A human-readable description of the launch profile. """ return pulumi.get(self, "description") @@ -300,8 +290,7 @@ def description(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="ec2SubnetIds") def ec2_subnet_ids(self) -> pulumi.Output[Sequence[str]]: """ -

Specifies the IDs of the EC2 subnets where streaming sessions will be accessible from. - These subnets must support the specified instance types.

+ Unique identifiers for a collection of EC2 subnets. """ return pulumi.get(self, "ec2_subnet_ids") @@ -317,8 +306,7 @@ def launch_profile_id(self) -> pulumi.Output[str]: @pulumi.getter(name="launchProfileProtocolVersions") def launch_profile_protocol_versions(self) -> pulumi.Output[Sequence[str]]: """ -

The version number of the protocol that is used by the launch profile. The only valid - version is "2021-03-31".

+ The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31". """ return pulumi.get(self, "launch_profile_protocol_versions") @@ -326,7 +314,7 @@ def launch_profile_protocol_versions(self) -> pulumi.Output[Sequence[str]]: @pulumi.getter def name(self) -> pulumi.Output[str]: """ -

The name for the launch profile.

+ A friendly name for the launch profile. """ return pulumi.get(self, "name") @@ -342,8 +330,7 @@ def stream_configuration(self) -> pulumi.Output['outputs.LaunchProfileStreamConf @pulumi.getter(name="studioComponentIds") def studio_component_ids(self) -> pulumi.Output[Sequence[str]]: """ -

Unique identifiers for a collection of studio components that can be used with this - launch profile.

+ Unique identifiers for a collection of studio components that can be used with this launch profile. """ return pulumi.get(self, "studio_component_ids") @@ -351,7 +338,7 @@ def studio_component_ids(self) -> pulumi.Output[Sequence[str]]: @pulumi.getter(name="studioId") def studio_id(self) -> pulumi.Output[str]: """ -

The studio ID.

+ The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. """ return pulumi.get(self, "studio_id") diff --git a/sdk/python/pulumi_aws_native/nimblestudio/outputs.py b/sdk/python/pulumi_aws_native/nimblestudio/outputs.py index db4779871d..4b228a6194 100644 --- a/sdk/python/pulumi_aws_native/nimblestudio/outputs.py +++ b/sdk/python/pulumi_aws_native/nimblestudio/outputs.py @@ -14,7 +14,6 @@ from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs -from ._enums import * __all__ = [ 'LaunchProfileStreamConfiguration', @@ -26,10 +25,7 @@ 'StudioComponentActiveDirectoryComputerAttribute', 'StudioComponentActiveDirectoryConfiguration', 'StudioComponentComputeFarmConfiguration', - 'StudioComponentConfiguration0Properties', - 'StudioComponentConfiguration1Properties', - 'StudioComponentConfiguration2Properties', - 'StudioComponentConfiguration3Properties', + 'StudioComponentConfiguration', 'StudioComponentInitializationScript', 'StudioComponentLicenseServiceConfiguration', 'StudioComponentScriptParameterKeyValue', @@ -39,9 +35,6 @@ @pulumi.output_type class LaunchProfileStreamConfiguration(dict): - """ -

A configuration for a streaming session.

- """ @staticmethod def __key_warning(key: str): suggest = None @@ -78,51 +71,36 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - clipboard_mode: 'LaunchProfileStreamingClipboardMode', - ec2_instance_types: Sequence['LaunchProfileStreamingInstanceType'], + clipboard_mode: str, + ec2_instance_types: Sequence[str], streaming_image_ids: Sequence[str], - automatic_termination_mode: Optional['LaunchProfileAutomaticTerminationMode'] = None, + automatic_termination_mode: Optional[str] = None, max_session_length_in_minutes: Optional[float] = None, max_stopped_session_length_in_minutes: Optional[float] = None, session_backup: Optional['outputs.LaunchProfileStreamConfigurationSessionBackup'] = None, - session_persistence_mode: Optional['LaunchProfileSessionPersistenceMode'] = None, + session_persistence_mode: Optional[str] = None, session_storage: Optional['outputs.LaunchProfileStreamConfigurationSessionStorage'] = None, volume_configuration: Optional['outputs.LaunchProfileVolumeConfiguration'] = None): """ -

A configuration for a streaming session.

- :param 'LaunchProfileStreamingClipboardMode' clipboard_mode: Allows or deactivates the use of the system clipboard to copy and paste between the streaming session and streaming client. - :param Sequence['LaunchProfileStreamingInstanceType'] ec2_instance_types:

The EC2 instance types that users can select from when launching a streaming session - with this launch profile.

- :param Sequence[str] streaming_image_ids:

The streaming images that users can select from when launching a streaming session - with this launch profile.

- :param 'LaunchProfileAutomaticTerminationMode' automatic_termination_mode: Indicates if a streaming session created from this launch profile should be terminated automatically or retained without termination after being in a `STOPPED` state. + :param str clipboard_mode: Allows or deactivates the use of the system clipboard to copy and paste between the streaming session and streaming client. + :param Sequence[str] ec2_instance_types: The EC2 instance types that users can select from when launching a streaming session with this launch profile. + :param Sequence[str] streaming_image_ids: The streaming images that users can select from when launching a streaming session with this launch profile. + :param str automatic_termination_mode: Indicates if a streaming session created from this launch profile should be terminated automatically or retained without termination after being in a `STOPPED` state. - When `ACTIVATED` , the streaming session is scheduled for termination after being in the `STOPPED` state for the time specified in `maxStoppedSessionLengthInMinutes` . - When `DEACTIVATED` , the streaming session can remain in the `STOPPED` state indefinitely. This parameter is only allowed when `sessionPersistenceMode` is `ACTIVATED` . When allowed, the default value for this parameter is `DEACTIVATED` . - :param float max_session_length_in_minutes:

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.

- :param float max_stopped_session_length_in_minutes:

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.

-

This field is allowed only when sessionPersistenceMode is - ACTIVATED and automaticTerminationMode is - ACTIVATED.

-

If 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).

-

If 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).

+ :param float max_session_length_in_minutes: 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. + :param float max_stopped_session_length_in_minutes: 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. + + This field is allowed only when `sessionPersistenceMode` is `ACTIVATED` and `automaticTerminationMode` is `ACTIVATED` . + + If 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` ). + + If 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). :param 'LaunchProfileStreamConfigurationSessionBackup' session_backup: Information about the streaming session backup. - :param 'LaunchProfileSessionPersistenceMode' session_persistence_mode: Determine if a streaming session created from this launch profile can configure persistent storage. This means that `volumeConfiguration` and `automaticTerminationMode` are configured. + :param str session_persistence_mode: Determine if a streaming session created from this launch profile can configure persistent storage. This means that `volumeConfiguration` and `automaticTerminationMode` are configured. :param 'LaunchProfileStreamConfigurationSessionStorage' session_storage: The upload storage for a streaming session. :param 'LaunchProfileVolumeConfiguration' volume_configuration: Custom volume configuration for the root volumes that are attached to streaming sessions. @@ -148,7 +126,7 @@ def __init__(__self__, *, @property @pulumi.getter(name="clipboardMode") - def clipboard_mode(self) -> 'LaunchProfileStreamingClipboardMode': + def clipboard_mode(self) -> str: """ Allows or deactivates the use of the system clipboard to copy and paste between the streaming session and streaming client. """ @@ -156,10 +134,9 @@ def clipboard_mode(self) -> 'LaunchProfileStreamingClipboardMode': @property @pulumi.getter(name="ec2InstanceTypes") - def ec2_instance_types(self) -> Sequence['LaunchProfileStreamingInstanceType']: + def ec2_instance_types(self) -> Sequence[str]: """ -

The EC2 instance types that users can select from when launching a streaming session - with this launch profile.

+ The EC2 instance types that users can select from when launching a streaming session with this launch profile. """ return pulumi.get(self, "ec2_instance_types") @@ -167,14 +144,13 @@ def ec2_instance_types(self) -> Sequence['LaunchProfileStreamingInstanceType']: @pulumi.getter(name="streamingImageIds") def streaming_image_ids(self) -> Sequence[str]: """ -

The streaming images that users can select from when launching a streaming session - with this launch profile.

+ The streaming images that users can select from when launching a streaming session with this launch profile. """ return pulumi.get(self, "streaming_image_ids") @property @pulumi.getter(name="automaticTerminationMode") - def automatic_termination_mode(self) -> Optional['LaunchProfileAutomaticTerminationMode']: + def automatic_termination_mode(self) -> Optional[str]: """ Indicates if a streaming session created from this launch profile should be terminated automatically or retained without termination after being in a `STOPPED` state. @@ -189,10 +165,7 @@ def automatic_termination_mode(self) -> Optional['LaunchProfileAutomaticTerminat @pulumi.getter(name="maxSessionLengthInMinutes") def max_session_length_in_minutes(self) -> Optional[float]: """ -

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.

+ 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. """ return pulumi.get(self, "max_session_length_in_minutes") @@ -200,22 +173,13 @@ def max_session_length_in_minutes(self) -> Optional[float]: @pulumi.getter(name="maxStoppedSessionLengthInMinutes") def max_stopped_session_length_in_minutes(self) -> Optional[float]: """ -

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.

-

This field is allowed only when sessionPersistenceMode is - ACTIVATED and automaticTerminationMode is - ACTIVATED.

-

If 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).

-

If 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).

+ 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. + + This field is allowed only when `sessionPersistenceMode` is `ACTIVATED` and `automaticTerminationMode` is `ACTIVATED` . + + If 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` ). + + If 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). """ return pulumi.get(self, "max_stopped_session_length_in_minutes") @@ -229,7 +193,7 @@ def session_backup(self) -> Optional['outputs.LaunchProfileStreamConfigurationSe @property @pulumi.getter(name="sessionPersistenceMode") - def session_persistence_mode(self) -> Optional['LaunchProfileSessionPersistenceMode']: + def session_persistence_mode(self) -> Optional[str]: """ Determine if a streaming session created from this launch profile can configure persistent storage. This means that `volumeConfiguration` and `automaticTerminationMode` are configured. """ @@ -256,10 +220,6 @@ def volume_configuration(self) -> Optional['outputs.LaunchProfileVolumeConfigura @pulumi.output_type class LaunchProfileStreamConfigurationSessionBackup(dict): - """ -

Configures how streaming sessions are backed up when launched from this launch - profile.

- """ @staticmethod def __key_warning(key: str): suggest = None @@ -279,13 +239,10 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, max_backups_to_retain: Optional[float] = None, - mode: Optional['LaunchProfileSessionBackupMode'] = None): + mode: Optional[str] = None): """ -

Configures how streaming sessions are backed up when launched from this launch - profile.

- :param float max_backups_to_retain:

The maximum number of backups that each streaming session created from this launch - profile can have.

- :param 'LaunchProfileSessionBackupMode' mode: Specifies how artists sessions are backed up. + :param float max_backups_to_retain: The maximum number of backups that each streaming session created from this launch profile can have. + :param str mode: Specifies how artists sessions are backed up. Configures 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` . """ @@ -298,14 +255,13 @@ def __init__(__self__, *, @pulumi.getter(name="maxBackupsToRetain") def max_backups_to_retain(self) -> Optional[float]: """ -

The maximum number of backups that each streaming session created from this launch - profile can have.

+ The maximum number of backups that each streaming session created from this launch profile can have. """ return pulumi.get(self, "max_backups_to_retain") @property @pulumi.getter - def mode(self) -> Optional['LaunchProfileSessionBackupMode']: + def mode(self) -> Optional[str]: """ Specifies how artists sessions are backed up. @@ -316,16 +272,11 @@ def mode(self) -> Optional['LaunchProfileSessionBackupMode']: @pulumi.output_type class LaunchProfileStreamConfigurationSessionStorage(dict): - """ -

The configuration for a streaming session’s upload storage.

- """ def __init__(__self__, *, - mode: Sequence['LaunchProfileStreamingSessionStorageMode'], + mode: Sequence[str], root: Optional['outputs.LaunchProfileStreamingSessionStorageRoot'] = None): """ -

The configuration for a streaming session’s upload storage.

- :param Sequence['LaunchProfileStreamingSessionStorageMode'] mode:

Allows artists to upload files to their workstations. The only valid option is - UPLOAD.

+ :param Sequence[str] mode: Allows artists to upload files to their workstations. The only valid option is `UPLOAD` . :param 'LaunchProfileStreamingSessionStorageRoot' root: The configuration for the upload storage root of the streaming session. """ pulumi.set(__self__, "mode", mode) @@ -334,10 +285,9 @@ def __init__(__self__, *, @property @pulumi.getter - def mode(self) -> Sequence['LaunchProfileStreamingSessionStorageMode']: + def mode(self) -> Sequence[str]: """ -

Allows artists to upload files to their workstations. The only valid option is - UPLOAD.

+ Allows artists to upload files to their workstations. The only valid option is `UPLOAD` . """ return pulumi.get(self, "mode") @@ -352,18 +302,12 @@ def root(self) -> Optional['outputs.LaunchProfileStreamingSessionStorageRoot']: @pulumi.output_type class LaunchProfileStreamingSessionStorageRoot(dict): - """ -

The upload storage root location (folder) on streaming workstations where files are - uploaded.

- """ def __init__(__self__, *, linux: Optional[str] = None, windows: Optional[str] = None): """ -

The upload storage root location (folder) on streaming workstations where files are - uploaded.

- :param str linux:

The folder path in Linux workstations where files are uploaded.

- :param str windows:

The folder path in Windows workstations where files are uploaded.

+ :param str linux: The folder path in Linux workstations where files are uploaded. + :param str windows: The folder path in Windows workstations where files are uploaded. """ if linux is not None: pulumi.set(__self__, "linux", linux) @@ -374,7 +318,7 @@ def __init__(__self__, *, @pulumi.getter def linux(self) -> Optional[str]: """ -

The folder path in Linux workstations where files are uploaded.

+ The folder path in Linux workstations where files are uploaded. """ return pulumi.get(self, "linux") @@ -382,34 +326,21 @@ def linux(self) -> Optional[str]: @pulumi.getter def windows(self) -> Optional[str]: """ -

The folder path in Windows workstations where files are uploaded.

+ The folder path in Windows workstations where files are uploaded. """ return pulumi.get(self, "windows") @pulumi.output_type class LaunchProfileVolumeConfiguration(dict): - """ -

Custom volume configuration for the root volumes that are attached to streaming - sessions.

-

This parameter is only allowed when sessionPersistenceMode is - ACTIVATED.

- """ def __init__(__self__, *, iops: Optional[float] = None, size: Optional[float] = None, throughput: Optional[float] = None): """ -

Custom volume configuration for the root volumes that are attached to streaming - sessions.

-

This parameter is only allowed when sessionPersistenceMode is - ACTIVATED.

- :param float iops:

The number of I/O operations per second for the root volume that is attached to - streaming session.

- :param float size:

The size of the root volume that is attached to the streaming session. The root volume - size is measured in GiBs.

- :param float throughput:

The throughput to provision for the root volume that is attached to the streaming - session. The throughput is measured in MiB/s.

+ :param float iops: The number of I/O operations per second for the root volume that is attached to streaming session. + :param float size: The size of the root volume that is attached to the streaming session. The root volume size is measured in GiBs. + :param float throughput: The throughput to provision for the root volume that is attached to the streaming session. The throughput is measured in MiB/s. """ if iops is not None: pulumi.set(__self__, "iops", iops) @@ -422,8 +353,7 @@ def __init__(__self__, *, @pulumi.getter def iops(self) -> Optional[float]: """ -

The number of I/O operations per second for the root volume that is attached to - streaming session.

+ The number of I/O operations per second for the root volume that is attached to streaming session. """ return pulumi.get(self, "iops") @@ -431,8 +361,7 @@ def iops(self) -> Optional[float]: @pulumi.getter def size(self) -> Optional[float]: """ -

The size of the root volume that is attached to the streaming session. The root volume - size is measured in GiBs.

+ The size of the root volume that is attached to the streaming session. The root volume size is measured in GiBs. """ return pulumi.get(self, "size") @@ -440,17 +369,13 @@ def size(self) -> Optional[float]: @pulumi.getter def throughput(self) -> Optional[float]: """ -

The throughput to provision for the root volume that is attached to the streaming - session. The throughput is measured in MiB/s.

+ The throughput to provision for the root volume that is attached to the streaming session. The throughput is measured in MiB/s. """ return pulumi.get(self, "throughput") @pulumi.output_type class StreamingImageEncryptionConfiguration(dict): - """ -

TODO

- """ @staticmethod def __key_warning(key: str): suggest = None @@ -471,12 +396,11 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - key_type: 'StreamingImageEncryptionConfigurationKeyType', + key_type: str, key_arn: Optional[str] = None): """ -

TODO

- :param 'StreamingImageEncryptionConfigurationKeyType' key_type: The type of KMS key that is used to encrypt studio data. - :param str key_arn:

The ARN for a KMS key that is used to encrypt studio data.

+ :param str key_type: The type of KMS key that is used to encrypt studio data. + :param str key_arn: The ARN for a KMS key that is used to encrypt studio data. """ pulumi.set(__self__, "key_type", key_type) if key_arn is not None: @@ -484,7 +408,7 @@ def __init__(__self__, *, @property @pulumi.getter(name="keyType") - def key_type(self) -> 'StreamingImageEncryptionConfigurationKeyType': + def key_type(self) -> str: """ The type of KMS key that is used to encrypt studio data. """ @@ -494,25 +418,19 @@ def key_type(self) -> 'StreamingImageEncryptionConfigurationKeyType': @pulumi.getter(name="keyArn") def key_arn(self) -> Optional[str]: """ -

The ARN for a KMS key that is used to encrypt studio data.

+ The ARN for a KMS key that is used to encrypt studio data. """ return pulumi.get(self, "key_arn") @pulumi.output_type class StudioComponentActiveDirectoryComputerAttribute(dict): - """ -

An LDAP attribute of an Active Directory computer account, in the form of a name:value - pair.

- """ def __init__(__self__, *, name: Optional[str] = None, value: Optional[str] = None): """ -

An LDAP attribute of an Active Directory computer account, in the form of a name:value - pair.

- :param str name:

The name for the LDAP attribute.

- :param str value:

The value for the LDAP attribute.

+ :param str name: The name for the LDAP attribute. + :param str value: The value for the LDAP attribute. """ if name is not None: pulumi.set(__self__, "name", name) @@ -523,7 +441,7 @@ def __init__(__self__, *, @pulumi.getter def name(self) -> Optional[str]: """ -

The name for the LDAP attribute.

+ The name for the LDAP attribute. """ return pulumi.get(self, "name") @@ -531,17 +449,13 @@ def name(self) -> Optional[str]: @pulumi.getter def value(self) -> Optional[str]: """ -

The value for the LDAP attribute.

+ The value for the LDAP attribute. """ return pulumi.get(self, "value") @pulumi.output_type class StudioComponentActiveDirectoryConfiguration(dict): - """ -

The configuration for a Microsoft Active Directory (Microsoft AD) studio - resource.

- """ @staticmethod def __key_warning(key: str): suggest = None @@ -568,13 +482,9 @@ def __init__(__self__, *, directory_id: Optional[str] = None, organizational_unit_distinguished_name: Optional[str] = None): """ -

The configuration for a Microsoft Active Directory (Microsoft AD) studio - resource.

- :param Sequence['StudioComponentActiveDirectoryComputerAttribute'] computer_attributes:

A collection of custom attributes for an Active Directory computer.

- :param str directory_id:

The directory ID of the Directory Service for Microsoft Active Directory to access - using this studio component.

- :param str organizational_unit_distinguished_name:

The distinguished name (DN) and organizational unit (OU) of an Active Directory - computer.

+ :param Sequence['StudioComponentActiveDirectoryComputerAttribute'] computer_attributes: A collection of custom attributes for an Active Directory computer. + :param str directory_id: The directory ID of the AWS Directory Service for Microsoft Active Directory to access using this studio component. + :param str organizational_unit_distinguished_name: The distinguished name (DN) and organizational unit (OU) of an Active Directory computer. """ if computer_attributes is not None: pulumi.set(__self__, "computer_attributes", computer_attributes) @@ -587,7 +497,7 @@ def __init__(__self__, *, @pulumi.getter(name="computerAttributes") def computer_attributes(self) -> Optional[Sequence['outputs.StudioComponentActiveDirectoryComputerAttribute']]: """ -

A collection of custom attributes for an Active Directory computer.

+ A collection of custom attributes for an Active Directory computer. """ return pulumi.get(self, "computer_attributes") @@ -595,8 +505,7 @@ def computer_attributes(self) -> Optional[Sequence['outputs.StudioComponentActiv @pulumi.getter(name="directoryId") def directory_id(self) -> Optional[str]: """ -

The directory ID of the Directory Service for Microsoft Active Directory to access - using this studio component.

+ The directory ID of the AWS Directory Service for Microsoft Active Directory to access using this studio component. """ return pulumi.get(self, "directory_id") @@ -604,17 +513,13 @@ def directory_id(self) -> Optional[str]: @pulumi.getter(name="organizationalUnitDistinguishedName") def organizational_unit_distinguished_name(self) -> Optional[str]: """ -

The distinguished name (DN) and organizational unit (OU) of an Active Directory - computer.

+ The distinguished name (DN) and organizational unit (OU) of an Active Directory computer. """ return pulumi.get(self, "organizational_unit_distinguished_name") @pulumi.output_type class StudioComponentComputeFarmConfiguration(dict): - """ -

The configuration for a render farm that is associated with a studio resource.

- """ @staticmethod def __key_warning(key: str): suggest = None @@ -636,11 +541,8 @@ def __init__(__self__, *, active_directory_user: Optional[str] = None, endpoint: Optional[str] = None): """ -

The configuration for a render farm that is associated with a studio resource.

- :param str active_directory_user:

The name of an Active Directory user that is used on ComputeFarm worker - instances.

- :param str endpoint:

The endpoint of the ComputeFarm that is accessed by the studio component - resource.

+ :param str active_directory_user: The name of an Active Directory user that is used on ComputeFarm worker instances. + :param str endpoint: The endpoint of the ComputeFarm that is accessed by the studio component resource. """ if active_directory_user is not None: pulumi.set(__self__, "active_directory_user", active_directory_user) @@ -651,8 +553,7 @@ def __init__(__self__, *, @pulumi.getter(name="activeDirectoryUser") def active_directory_user(self) -> Optional[str]: """ -

The name of an Active Directory user that is used on ComputeFarm worker - instances.

+ The name of an Active Directory user that is used on ComputeFarm worker instances. """ return pulumi.get(self, "active_directory_user") @@ -660,157 +561,91 @@ def active_directory_user(self) -> Optional[str]: @pulumi.getter def endpoint(self) -> Optional[str]: """ -

The endpoint of the ComputeFarm that is accessed by the studio component - resource.

+ The endpoint of the ComputeFarm that is accessed by the studio component resource. """ return pulumi.get(self, "endpoint") @pulumi.output_type -class StudioComponentConfiguration0Properties(dict): - """ -

The configuration of the studio component, based on component type.

- """ +class StudioComponentConfiguration(dict): @staticmethod def __key_warning(key: str): suggest = None if key == "activeDirectoryConfiguration": suggest = "active_directory_configuration" + elif key == "computeFarmConfiguration": + suggest = "compute_farm_configuration" + elif key == "licenseServiceConfiguration": + suggest = "license_service_configuration" + elif key == "sharedFileSystemConfiguration": + suggest = "shared_file_system_configuration" if suggest: - pulumi.log.warn(f"Key '{key}' not found in StudioComponentConfiguration0Properties. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in StudioComponentConfiguration. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - StudioComponentConfiguration0Properties.__key_warning(key) + StudioComponentConfiguration.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - StudioComponentConfiguration0Properties.__key_warning(key) + StudioComponentConfiguration.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - active_directory_configuration: 'outputs.StudioComponentActiveDirectoryConfiguration'): - """ -

The configuration of the studio component, based on component type.

- """ - pulumi.set(__self__, "active_directory_configuration", active_directory_configuration) + active_directory_configuration: Optional['outputs.StudioComponentActiveDirectoryConfiguration'] = None, + compute_farm_configuration: Optional['outputs.StudioComponentComputeFarmConfiguration'] = None, + license_service_configuration: Optional['outputs.StudioComponentLicenseServiceConfiguration'] = None, + shared_file_system_configuration: Optional['outputs.StudioComponentSharedFileSystemConfiguration'] = None): + """ + :param 'StudioComponentActiveDirectoryConfiguration' active_directory_configuration: The configuration for a AWS Directory Service for Microsoft Active Directory studio resource. + :param 'StudioComponentComputeFarmConfiguration' compute_farm_configuration: The configuration for a render farm that is associated with a studio resource. + :param 'StudioComponentLicenseServiceConfiguration' license_service_configuration: The configuration for a license service that is associated with a studio resource. + :param 'StudioComponentSharedFileSystemConfiguration' shared_file_system_configuration: The configuration for a shared file storage system that is associated with a studio resource. + """ + if active_directory_configuration is not None: + pulumi.set(__self__, "active_directory_configuration", active_directory_configuration) + if compute_farm_configuration is not None: + pulumi.set(__self__, "compute_farm_configuration", compute_farm_configuration) + if license_service_configuration is not None: + pulumi.set(__self__, "license_service_configuration", license_service_configuration) + if shared_file_system_configuration is not None: + pulumi.set(__self__, "shared_file_system_configuration", shared_file_system_configuration) @property @pulumi.getter(name="activeDirectoryConfiguration") - def active_directory_configuration(self) -> 'outputs.StudioComponentActiveDirectoryConfiguration': - return pulumi.get(self, "active_directory_configuration") - - -@pulumi.output_type -class StudioComponentConfiguration1Properties(dict): - """ -

The configuration of the studio component, based on component type.

- """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "computeFarmConfiguration": - suggest = "compute_farm_configuration" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in StudioComponentConfiguration1Properties. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - StudioComponentConfiguration1Properties.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - StudioComponentConfiguration1Properties.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - compute_farm_configuration: 'outputs.StudioComponentComputeFarmConfiguration'): + def active_directory_configuration(self) -> Optional['outputs.StudioComponentActiveDirectoryConfiguration']: """ -

The configuration of the studio component, based on component type.

+ The configuration for a AWS Directory Service for Microsoft Active Directory studio resource. """ - pulumi.set(__self__, "compute_farm_configuration", compute_farm_configuration) + return pulumi.get(self, "active_directory_configuration") @property @pulumi.getter(name="computeFarmConfiguration") - def compute_farm_configuration(self) -> 'outputs.StudioComponentComputeFarmConfiguration': - return pulumi.get(self, "compute_farm_configuration") - - -@pulumi.output_type -class StudioComponentConfiguration2Properties(dict): - """ -

The configuration of the studio component, based on component type.

- """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "licenseServiceConfiguration": - suggest = "license_service_configuration" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in StudioComponentConfiguration2Properties. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - StudioComponentConfiguration2Properties.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - StudioComponentConfiguration2Properties.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - license_service_configuration: 'outputs.StudioComponentLicenseServiceConfiguration'): + def compute_farm_configuration(self) -> Optional['outputs.StudioComponentComputeFarmConfiguration']: """ -

The configuration of the studio component, based on component type.

+ The configuration for a render farm that is associated with a studio resource. """ - pulumi.set(__self__, "license_service_configuration", license_service_configuration) + return pulumi.get(self, "compute_farm_configuration") @property @pulumi.getter(name="licenseServiceConfiguration") - def license_service_configuration(self) -> 'outputs.StudioComponentLicenseServiceConfiguration': - return pulumi.get(self, "license_service_configuration") - - -@pulumi.output_type -class StudioComponentConfiguration3Properties(dict): - """ -

The configuration of the studio component, based on component type.

- """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "sharedFileSystemConfiguration": - suggest = "shared_file_system_configuration" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in StudioComponentConfiguration3Properties. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - StudioComponentConfiguration3Properties.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - StudioComponentConfiguration3Properties.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - shared_file_system_configuration: 'outputs.StudioComponentSharedFileSystemConfiguration'): + def license_service_configuration(self) -> Optional['outputs.StudioComponentLicenseServiceConfiguration']: """ -

The configuration of the studio component, based on component type.

+ The configuration for a license service that is associated with a studio resource. """ - pulumi.set(__self__, "shared_file_system_configuration", shared_file_system_configuration) + return pulumi.get(self, "license_service_configuration") @property @pulumi.getter(name="sharedFileSystemConfiguration") - def shared_file_system_configuration(self) -> 'outputs.StudioComponentSharedFileSystemConfiguration': + def shared_file_system_configuration(self) -> Optional['outputs.StudioComponentSharedFileSystemConfiguration']: + """ + The configuration for a shared file storage system that is associated with a studio resource. + """ return pulumi.get(self, "shared_file_system_configuration") @pulumi.output_type class StudioComponentInitializationScript(dict): - """ -

Initialization scripts for studio components.

- """ @staticmethod def __key_warning(key: str): suggest = None @@ -832,16 +667,14 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, launch_profile_protocol_version: Optional[str] = None, - platform: Optional['StudioComponentLaunchProfilePlatform'] = None, - run_context: Optional['StudioComponentInitializationScriptRunContext'] = None, + platform: Optional[str] = None, + run_context: Optional[str] = None, script: Optional[str] = None): """ -

Initialization scripts for studio components.

- :param str launch_profile_protocol_version:

The version number of the protocol that is used by the launch profile. The only valid - version is "2021-03-31".

- :param 'StudioComponentLaunchProfilePlatform' platform: The platform of the initialization script, either Windows or Linux. - :param 'StudioComponentInitializationScriptRunContext' run_context: The method to use when running the initialization script. - :param str script:

The initialization script.

+ :param str launch_profile_protocol_version: The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31". + :param str platform: The platform of the initialization script, either Windows or Linux. + :param str run_context: The method to use when running the initialization script. + :param str script: The initialization script. """ if launch_profile_protocol_version is not None: pulumi.set(__self__, "launch_profile_protocol_version", launch_profile_protocol_version) @@ -856,14 +689,13 @@ def __init__(__self__, *, @pulumi.getter(name="launchProfileProtocolVersion") def launch_profile_protocol_version(self) -> Optional[str]: """ -

The version number of the protocol that is used by the launch profile. The only valid - version is "2021-03-31".

+ The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31". """ return pulumi.get(self, "launch_profile_protocol_version") @property @pulumi.getter - def platform(self) -> Optional['StudioComponentLaunchProfilePlatform']: + def platform(self) -> Optional[str]: """ The platform of the initialization script, either Windows or Linux. """ @@ -871,7 +703,7 @@ def platform(self) -> Optional['StudioComponentLaunchProfilePlatform']: @property @pulumi.getter(name="runContext") - def run_context(self) -> Optional['StudioComponentInitializationScriptRunContext']: + def run_context(self) -> Optional[str]: """ The method to use when running the initialization script. """ @@ -881,24 +713,17 @@ def run_context(self) -> Optional['StudioComponentInitializationScriptRunContext @pulumi.getter def script(self) -> Optional[str]: """ -

The initialization script.

+ The initialization script. """ return pulumi.get(self, "script") @pulumi.output_type class StudioComponentLicenseServiceConfiguration(dict): - """ -

The configuration for a license service that is associated with a studio - resource.

- """ def __init__(__self__, *, endpoint: Optional[str] = None): """ -

The configuration for a license service that is associated with a studio - resource.

- :param str endpoint:

The endpoint of the license service that is accessed by the studio component - resource.

+ :param str endpoint: The endpoint of the license service that is accessed by the studio component resource. """ if endpoint is not None: pulumi.set(__self__, "endpoint", endpoint) @@ -907,24 +732,19 @@ def __init__(__self__, *, @pulumi.getter def endpoint(self) -> Optional[str]: """ -

The endpoint of the license service that is accessed by the studio component - resource.

+ The endpoint of the license service that is accessed by the studio component resource. """ return pulumi.get(self, "endpoint") @pulumi.output_type class StudioComponentScriptParameterKeyValue(dict): - """ -

A parameter for a studio component script, in the form of a key:value pair.

- """ def __init__(__self__, *, key: Optional[str] = None, value: Optional[str] = None): """ -

A parameter for a studio component script, in the form of a key:value pair.

- :param str key:

A script parameter key.

- :param str value:

A script parameter value.

+ :param str key: A script parameter key. + :param str value: A script parameter value. """ if key is not None: pulumi.set(__self__, "key", key) @@ -935,7 +755,7 @@ def __init__(__self__, *, @pulumi.getter def key(self) -> Optional[str]: """ -

A script parameter key.

+ A script parameter key. """ return pulumi.get(self, "key") @@ -943,17 +763,13 @@ def key(self) -> Optional[str]: @pulumi.getter def value(self) -> Optional[str]: """ -

A script parameter value.

+ A script parameter value. """ return pulumi.get(self, "value") @pulumi.output_type class StudioComponentSharedFileSystemConfiguration(dict): - """ -

The configuration for a shared file storage system that is associated with a studio - resource.

- """ @staticmethod def __key_warning(key: str): suggest = None @@ -984,14 +800,11 @@ def __init__(__self__, *, share_name: Optional[str] = None, windows_mount_drive: Optional[str] = None): """ -

The configuration for a shared file storage system that is associated with a studio - resource.

- :param str endpoint:

The endpoint of the shared file system that is accessed by the studio component - resource.

- :param str file_system_id:

The unique identifier for a file system.

- :param str linux_mount_point:

The mount location for a shared file system on a Linux virtual workstation.

- :param str share_name:

The name of the file share.

- :param str windows_mount_drive:

The mount location for a shared file system on a Windows virtual workstation.

+ :param str endpoint: The endpoint of the shared file system that is accessed by the studio component resource. + :param str file_system_id: The unique identifier for a file system. + :param str linux_mount_point: The mount location for a shared file system on a Linux virtual workstation. + :param str share_name: The name of the file share. + :param str windows_mount_drive: The mount location for a shared file system on a Windows virtual workstation. """ if endpoint is not None: pulumi.set(__self__, "endpoint", endpoint) @@ -1008,8 +821,7 @@ def __init__(__self__, *, @pulumi.getter def endpoint(self) -> Optional[str]: """ -

The endpoint of the shared file system that is accessed by the studio component - resource.

+ The endpoint of the shared file system that is accessed by the studio component resource. """ return pulumi.get(self, "endpoint") @@ -1017,7 +829,7 @@ def endpoint(self) -> Optional[str]: @pulumi.getter(name="fileSystemId") def file_system_id(self) -> Optional[str]: """ -

The unique identifier for a file system.

+ The unique identifier for a file system. """ return pulumi.get(self, "file_system_id") @@ -1025,7 +837,7 @@ def file_system_id(self) -> Optional[str]: @pulumi.getter(name="linuxMountPoint") def linux_mount_point(self) -> Optional[str]: """ -

The mount location for a shared file system on a Linux virtual workstation.

+ The mount location for a shared file system on a Linux virtual workstation. """ return pulumi.get(self, "linux_mount_point") @@ -1033,7 +845,7 @@ def linux_mount_point(self) -> Optional[str]: @pulumi.getter(name="shareName") def share_name(self) -> Optional[str]: """ -

The name of the file share.

+ The name of the file share. """ return pulumi.get(self, "share_name") @@ -1041,16 +853,13 @@ def share_name(self) -> Optional[str]: @pulumi.getter(name="windowsMountDrive") def windows_mount_drive(self) -> Optional[str]: """ -

The mount location for a shared file system on a Windows virtual workstation.

+ The mount location for a shared file system on a Windows virtual workstation. """ return pulumi.get(self, "windows_mount_drive") @pulumi.output_type class StudioEncryptionConfiguration(dict): - """ -

Configuration of the encryption method that is used for the studio.

- """ @staticmethod def __key_warning(key: str): suggest = None @@ -1071,12 +880,11 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - key_type: 'StudioEncryptionConfigurationKeyType', + key_type: str, key_arn: Optional[str] = None): """ -

Configuration of the encryption method that is used for the studio.

- :param 'StudioEncryptionConfigurationKeyType' key_type: The type of KMS key that is used to encrypt studio data. - :param str key_arn:

The ARN for a KMS key that is used to encrypt studio data.

+ :param str key_type: The type of KMS key that is used to encrypt studio data. + :param str key_arn: The ARN for a KMS key that is used to encrypt studio data. """ pulumi.set(__self__, "key_type", key_type) if key_arn is not None: @@ -1084,7 +892,7 @@ def __init__(__self__, *, @property @pulumi.getter(name="keyType") - def key_type(self) -> 'StudioEncryptionConfigurationKeyType': + def key_type(self) -> str: """ The type of KMS key that is used to encrypt studio data. """ @@ -1094,7 +902,7 @@ def key_type(self) -> 'StudioEncryptionConfigurationKeyType': @pulumi.getter(name="keyArn") def key_arn(self) -> Optional[str]: """ -

The ARN for a KMS key that is used to encrypt studio data.

+ The ARN for a KMS key that is used to encrypt studio data. """ return pulumi.get(self, "key_arn") diff --git a/sdk/python/pulumi_aws_native/nimblestudio/streaming_image.py b/sdk/python/pulumi_aws_native/nimblestudio/streaming_image.py index 14cd3013dc..f0c66226bd 100644 --- a/sdk/python/pulumi_aws_native/nimblestudio/streaming_image.py +++ b/sdk/python/pulumi_aws_native/nimblestudio/streaming_image.py @@ -14,7 +14,6 @@ from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs -from ._enums import * __all__ = ['StreamingImageArgs', 'StreamingImage'] @@ -24,14 +23,16 @@ def __init__(__self__, *, ec2_image_id: pulumi.Input[str], studio_id: pulumi.Input[str], description: Optional[pulumi.Input[str]] = None, + encryption_configuration_key_arn: Optional[pulumi.Input[str]] = None, + encryption_configuration_key_type: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a StreamingImage resource. - :param pulumi.Input[str] ec2_image_id:

The ID of an EC2 machine image with which to create this streaming image.

- :param pulumi.Input[str] studio_id:

The studioId.

- :param pulumi.Input[str] description:

A human-readable description of the streaming image.

- :param pulumi.Input[str] name:

A friendly name for a streaming image resource.

+ :param pulumi.Input[str] ec2_image_id: The ID of an EC2 machine image with which to create the streaming image. + :param pulumi.Input[str] studio_id: The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. + :param pulumi.Input[str] description: A human-readable description of the streaming image. + :param pulumi.Input[str] name: A friendly name for a streaming image resource. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: An array of key-value pairs to apply to this resource. For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . @@ -40,6 +41,10 @@ def __init__(__self__, *, pulumi.set(__self__, "studio_id", studio_id) if description is not None: pulumi.set(__self__, "description", description) + if encryption_configuration_key_arn is not None: + pulumi.set(__self__, "encryption_configuration_key_arn", encryption_configuration_key_arn) + if encryption_configuration_key_type is not None: + pulumi.set(__self__, "encryption_configuration_key_type", encryption_configuration_key_type) if name is not None: pulumi.set(__self__, "name", name) if tags is not None: @@ -49,7 +54,7 @@ def __init__(__self__, *, @pulumi.getter(name="ec2ImageId") def ec2_image_id(self) -> pulumi.Input[str]: """ -

The ID of an EC2 machine image with which to create this streaming image.

+ The ID of an EC2 machine image with which to create the streaming image. """ return pulumi.get(self, "ec2_image_id") @@ -61,7 +66,7 @@ def ec2_image_id(self, value: pulumi.Input[str]): @pulumi.getter(name="studioId") def studio_id(self) -> pulumi.Input[str]: """ -

The studioId.

+ The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. """ return pulumi.get(self, "studio_id") @@ -73,7 +78,7 @@ def studio_id(self, value: pulumi.Input[str]): @pulumi.getter def description(self) -> Optional[pulumi.Input[str]]: """ -

A human-readable description of the streaming image.

+ A human-readable description of the streaming image. """ return pulumi.get(self, "description") @@ -81,11 +86,29 @@ def description(self) -> Optional[pulumi.Input[str]]: def description(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "description", value) + @property + @pulumi.getter(name="encryptionConfigurationKeyArn") + def encryption_configuration_key_arn(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "encryption_configuration_key_arn") + + @encryption_configuration_key_arn.setter + def encryption_configuration_key_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "encryption_configuration_key_arn", value) + + @property + @pulumi.getter(name="encryptionConfigurationKeyType") + def encryption_configuration_key_type(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "encryption_configuration_key_type") + + @encryption_configuration_key_type.setter + def encryption_configuration_key_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "encryption_configuration_key_type", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ -

A friendly name for a streaming image resource.

+ A friendly name for a streaming image resource. """ return pulumi.get(self, "name") @@ -115,19 +138,21 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, description: Optional[pulumi.Input[str]] = None, ec2_image_id: Optional[pulumi.Input[str]] = None, + encryption_configuration_key_arn: Optional[pulumi.Input[str]] = None, + encryption_configuration_key_type: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, studio_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): """ - Represents a streaming session machine image that can be used to launch a streaming session + Resource Type definition for AWS::NimbleStudio::StreamingImage :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] description:

A human-readable description of the streaming image.

- :param pulumi.Input[str] ec2_image_id:

The ID of an EC2 machine image with which to create this streaming image.

- :param pulumi.Input[str] name:

A friendly name for a streaming image resource.

- :param pulumi.Input[str] studio_id:

The studioId.

+ :param pulumi.Input[str] description: A human-readable description of the streaming image. + :param pulumi.Input[str] ec2_image_id: The ID of an EC2 machine image with which to create the streaming image. + :param pulumi.Input[str] name: A friendly name for a streaming image resource. + :param pulumi.Input[str] studio_id: The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: An array of key-value pairs to apply to this resource. For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . @@ -139,7 +164,7 @@ def __init__(__self__, args: StreamingImageArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Represents a streaming session machine image that can be used to launch a streaming session + Resource Type definition for AWS::NimbleStudio::StreamingImage :param str resource_name: The name of the resource. :param StreamingImageArgs args: The arguments to use to populate this resource's properties. @@ -158,6 +183,8 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, description: Optional[pulumi.Input[str]] = None, ec2_image_id: Optional[pulumi.Input[str]] = None, + encryption_configuration_key_arn: Optional[pulumi.Input[str]] = None, + encryption_configuration_key_type: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, studio_id: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -174,6 +201,8 @@ def _internal_init(__self__, if ec2_image_id is None and not opts.urn: raise TypeError("Missing required property 'ec2_image_id'") __props__.__dict__["ec2_image_id"] = ec2_image_id + __props__.__dict__["encryption_configuration_key_arn"] = encryption_configuration_key_arn + __props__.__dict__["encryption_configuration_key_type"] = encryption_configuration_key_type __props__.__dict__["name"] = name if studio_id is None and not opts.urn: raise TypeError("Missing required property 'studio_id'") @@ -211,6 +240,8 @@ def get(resource_name: str, __props__.__dict__["description"] = None __props__.__dict__["ec2_image_id"] = None __props__.__dict__["encryption_configuration"] = None + __props__.__dict__["encryption_configuration_key_arn"] = None + __props__.__dict__["encryption_configuration_key_type"] = None __props__.__dict__["eula_ids"] = None __props__.__dict__["name"] = None __props__.__dict__["owner"] = None @@ -224,7 +255,7 @@ def get(resource_name: str, @pulumi.getter def description(self) -> pulumi.Output[Optional[str]]: """ -

A human-readable description of the streaming image.

+ A human-readable description of the streaming image. """ return pulumi.get(self, "description") @@ -232,7 +263,7 @@ def description(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="ec2ImageId") def ec2_image_id(self) -> pulumi.Output[str]: """ -

The ID of an EC2 machine image with which to create this streaming image.

+ The ID of an EC2 machine image with which to create the streaming image. """ return pulumi.get(self, "ec2_image_id") @@ -241,11 +272,21 @@ def ec2_image_id(self) -> pulumi.Output[str]: def encryption_configuration(self) -> pulumi.Output['outputs.StreamingImageEncryptionConfiguration']: return pulumi.get(self, "encryption_configuration") + @property + @pulumi.getter(name="encryptionConfigurationKeyArn") + def encryption_configuration_key_arn(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "encryption_configuration_key_arn") + + @property + @pulumi.getter(name="encryptionConfigurationKeyType") + def encryption_configuration_key_type(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "encryption_configuration_key_type") + @property @pulumi.getter(name="eulaIds") def eula_ids(self) -> pulumi.Output[Sequence[str]]: """ -

The list of EULAs that must be accepted before a Streaming Session can be started using this streaming image.

+ The list of IDs of EULAs that must be accepted before a streaming session can be started using this streaming image. """ return pulumi.get(self, "eula_ids") @@ -253,7 +294,7 @@ def eula_ids(self) -> pulumi.Output[Sequence[str]]: @pulumi.getter def name(self) -> pulumi.Output[str]: """ -

A friendly name for a streaming image resource.

+ A friendly name for a streaming image resource. """ return pulumi.get(self, "name") @@ -261,7 +302,7 @@ def name(self) -> pulumi.Output[str]: @pulumi.getter def owner(self) -> pulumi.Output[str]: """ -

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.

+ The owner of the streaming image, either the studioId that contains the streaming image or 'amazon' for images that are provided by . """ return pulumi.get(self, "owner") @@ -269,7 +310,7 @@ def owner(self) -> pulumi.Output[str]: @pulumi.getter def platform(self) -> pulumi.Output[str]: """ -

The platform of the streaming image, either WINDOWS or LINUX.

+ The platform of the streaming image, either WINDOWS or LINUX. """ return pulumi.get(self, "platform") @@ -285,7 +326,7 @@ def streaming_image_id(self) -> pulumi.Output[str]: @pulumi.getter(name="studioId") def studio_id(self) -> pulumi.Output[str]: """ -

The studioId.

+ The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. """ return pulumi.get(self, "studio_id") diff --git a/sdk/python/pulumi_aws_native/nimblestudio/studio.py b/sdk/python/pulumi_aws_native/nimblestudio/studio.py index f67eda45b6..93657bda7e 100644 --- a/sdk/python/pulumi_aws_native/nimblestudio/studio.py +++ b/sdk/python/pulumi_aws_native/nimblestudio/studio.py @@ -14,7 +14,6 @@ from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs -from ._enums import * from ._inputs import * __all__ = ['StudioArgs', 'Studio'] @@ -30,11 +29,11 @@ def __init__(__self__, *, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a Studio resource. - :param pulumi.Input[str] admin_role_arn:

The IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.

- :param pulumi.Input[str] display_name:

A friendly name for the studio.

- :param pulumi.Input[str] user_role_arn:

The IAM role that Studio Users will assume when logging in to the Nimble Studio portal.

+ :param pulumi.Input[str] admin_role_arn: The IAM role that studio admins assume when logging in to the Nimble Studio portal. + :param pulumi.Input[str] display_name: A friendly name for the studio. + :param pulumi.Input[str] user_role_arn: The IAM role that studio users assume when logging in to the Nimble Studio portal. :param pulumi.Input['StudioEncryptionConfigurationArgs'] studio_encryption_configuration: Configuration of the encryption method that is used for the studio. - :param pulumi.Input[str] studio_name:

The studio name that is used in the URL of the Nimble Studio portal when accessed by Nimble Studio users.

+ :param pulumi.Input[str] studio_name: The name of the studio, as included in the URL when accessing it in the Nimble Studio portal. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: An array of key-value pairs to apply to this resource. For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . @@ -53,7 +52,7 @@ def __init__(__self__, *, @pulumi.getter(name="adminRoleArn") def admin_role_arn(self) -> pulumi.Input[str]: """ -

The IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.

+ The IAM role that studio admins assume when logging in to the Nimble Studio portal. """ return pulumi.get(self, "admin_role_arn") @@ -65,7 +64,7 @@ def admin_role_arn(self, value: pulumi.Input[str]): @pulumi.getter(name="displayName") def display_name(self) -> pulumi.Input[str]: """ -

A friendly name for the studio.

+ A friendly name for the studio. """ return pulumi.get(self, "display_name") @@ -77,7 +76,7 @@ def display_name(self, value: pulumi.Input[str]): @pulumi.getter(name="userRoleArn") def user_role_arn(self) -> pulumi.Input[str]: """ -

The IAM role that Studio Users will assume when logging in to the Nimble Studio portal.

+ The IAM role that studio users assume when logging in to the Nimble Studio portal. """ return pulumi.get(self, "user_role_arn") @@ -101,7 +100,7 @@ def studio_encryption_configuration(self, value: Optional[pulumi.Input['StudioEn @pulumi.getter(name="studioName") def studio_name(self) -> Optional[pulumi.Input[str]]: """ -

The studio name that is used in the URL of the Nimble Studio portal when accessed by Nimble Studio users.

+ The name of the studio, as included in the URL when accessing it in the Nimble Studio portal. """ return pulumi.get(self, "studio_name") @@ -137,18 +136,18 @@ def __init__(__self__, user_role_arn: Optional[pulumi.Input[str]] = None, __props__=None): """ - Represents a studio that contains other Nimble Studio resources + Resource Type definition for AWS::NimbleStudio::Studio :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] admin_role_arn:

The IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.

- :param pulumi.Input[str] display_name:

A friendly name for the studio.

+ :param pulumi.Input[str] admin_role_arn: The IAM role that studio admins assume when logging in to the Nimble Studio portal. + :param pulumi.Input[str] display_name: A friendly name for the studio. :param pulumi.Input[Union['StudioEncryptionConfigurationArgs', 'StudioEncryptionConfigurationArgsDict']] studio_encryption_configuration: Configuration of the encryption method that is used for the studio. - :param pulumi.Input[str] studio_name:

The studio name that is used in the URL of the Nimble Studio portal when accessed by Nimble Studio users.

+ :param pulumi.Input[str] studio_name: The name of the studio, as included in the URL when accessing it in the Nimble Studio portal. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: An array of key-value pairs to apply to this resource. For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . - :param pulumi.Input[str] user_role_arn:

The IAM role that Studio Users will assume when logging in to the Nimble Studio portal.

+ :param pulumi.Input[str] user_role_arn: The IAM role that studio users assume when logging in to the Nimble Studio portal. """ ... @overload @@ -157,7 +156,7 @@ def __init__(__self__, args: StudioArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Represents a studio that contains other Nimble Studio resources + Resource Type definition for AWS::NimbleStudio::Studio :param str resource_name: The name of the resource. :param StudioArgs args: The arguments to use to populate this resource's properties. @@ -245,7 +244,7 @@ def get(resource_name: str, @pulumi.getter(name="adminRoleArn") def admin_role_arn(self) -> pulumi.Output[str]: """ -

The IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.

+ The IAM role that studio admins assume when logging in to the Nimble Studio portal. """ return pulumi.get(self, "admin_role_arn") @@ -253,7 +252,7 @@ def admin_role_arn(self) -> pulumi.Output[str]: @pulumi.getter(name="displayName") def display_name(self) -> pulumi.Output[str]: """ -

A friendly name for the studio.

+ A friendly name for the studio. """ return pulumi.get(self, "display_name") @@ -261,7 +260,7 @@ def display_name(self) -> pulumi.Output[str]: @pulumi.getter(name="homeRegion") def home_region(self) -> pulumi.Output[str]: """ -

The Amazon Web Services Region where the studio resource is located.

+ The AWS Region where the studio resource is located. For example, `us-west-2` . """ return pulumi.get(self, "home_region") @@ -269,7 +268,7 @@ def home_region(self) -> pulumi.Output[str]: @pulumi.getter(name="ssoClientId") def sso_client_id(self) -> pulumi.Output[str]: """ -

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.

+ 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. """ return pulumi.get(self, "sso_client_id") @@ -293,7 +292,7 @@ def studio_id(self) -> pulumi.Output[str]: @pulumi.getter(name="studioName") def studio_name(self) -> pulumi.Output[str]: """ -

The studio name that is used in the URL of the Nimble Studio portal when accessed by Nimble Studio users.

+ The name of the studio, as included in the URL when accessing it in the Nimble Studio portal. """ return pulumi.get(self, "studio_name") @@ -301,7 +300,7 @@ def studio_name(self) -> pulumi.Output[str]: @pulumi.getter(name="studioUrl") def studio_url(self) -> pulumi.Output[str]: """ -

The address of the web page for the studio.

+ The unique identifier for the studio resource. """ return pulumi.get(self, "studio_url") @@ -319,7 +318,7 @@ def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: @pulumi.getter(name="userRoleArn") def user_role_arn(self) -> pulumi.Output[str]: """ -

The IAM role that Studio Users will assume when logging in to the Nimble Studio portal.

+ The IAM role that studio users assume when logging in to the Nimble Studio portal. """ return pulumi.get(self, "user_role_arn") diff --git a/sdk/python/pulumi_aws_native/nimblestudio/studio_component.py b/sdk/python/pulumi_aws_native/nimblestudio/studio_component.py index ae73db7866..933898c94e 100644 --- a/sdk/python/pulumi_aws_native/nimblestudio/studio_component.py +++ b/sdk/python/pulumi_aws_native/nimblestudio/studio_component.py @@ -14,7 +14,6 @@ from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs -from ._enums import * from ._inputs import * __all__ = ['StudioComponentArgs', 'StudioComponent'] @@ -23,30 +22,26 @@ class StudioComponentArgs: def __init__(__self__, *, studio_id: pulumi.Input[str], - type: pulumi.Input['StudioComponentType'], - configuration: Optional[pulumi.Input[Union['StudioComponentConfiguration0PropertiesArgs', 'StudioComponentConfiguration1PropertiesArgs', 'StudioComponentConfiguration2PropertiesArgs', 'StudioComponentConfiguration3PropertiesArgs']]] = None, + type: pulumi.Input[str], + configuration: Optional[pulumi.Input['StudioComponentConfigurationArgs']] = None, description: Optional[pulumi.Input[str]] = None, ec2_security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, initialization_scripts: Optional[pulumi.Input[Sequence[pulumi.Input['StudioComponentInitializationScriptArgs']]]] = None, name: Optional[pulumi.Input[str]] = None, - runtime_role_arn: Optional[pulumi.Input[str]] = None, script_parameters: Optional[pulumi.Input[Sequence[pulumi.Input['StudioComponentScriptParameterKeyValueArgs']]]] = None, - secure_initialization_role_arn: Optional[pulumi.Input[str]] = None, - subtype: Optional[pulumi.Input['StudioComponentSubtype']] = None, + subtype: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a StudioComponent resource. - :param pulumi.Input[str] studio_id:

The studio ID.

- :param pulumi.Input['StudioComponentType'] type: The type of the studio component. - :param pulumi.Input[Union['StudioComponentConfiguration0PropertiesArgs', 'StudioComponentConfiguration1PropertiesArgs', 'StudioComponentConfiguration2PropertiesArgs', 'StudioComponentConfiguration3PropertiesArgs']] configuration: The configuration of the studio component, based on component type. - :param pulumi.Input[str] description:

The description.

- :param pulumi.Input[Sequence[pulumi.Input[str]]] ec2_security_group_ids:

The EC2 security groups that control access to the studio component.

- :param pulumi.Input[Sequence[pulumi.Input['StudioComponentInitializationScriptArgs']]] initialization_scripts:

Initialization scripts for studio components.

- :param pulumi.Input[str] name:

The name for the studio component.

- :param pulumi.Input[str] runtime_role_arn: An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running. - :param pulumi.Input[Sequence[pulumi.Input['StudioComponentScriptParameterKeyValueArgs']]] script_parameters:

Parameters for the studio component scripts.

- :param pulumi.Input[str] secure_initialization_role_arn: 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. - :param pulumi.Input['StudioComponentSubtype'] subtype: The specific subtype of a studio component. + :param pulumi.Input[str] studio_id: The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. + :param pulumi.Input[str] type: The type of the studio component. + :param pulumi.Input['StudioComponentConfigurationArgs'] configuration: The configuration of the studio component, based on component type. + :param pulumi.Input[str] description: A human-readable description for the studio component resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] ec2_security_group_ids: The EC2 security groups that control access to the studio component. + :param pulumi.Input[Sequence[pulumi.Input['StudioComponentInitializationScriptArgs']]] initialization_scripts: Initialization scripts for studio components. + :param pulumi.Input[str] name: A friendly name for the studio component resource. + :param pulumi.Input[Sequence[pulumi.Input['StudioComponentScriptParameterKeyValueArgs']]] script_parameters: Parameters for the studio component scripts. + :param pulumi.Input[str] subtype: The specific subtype of a studio component. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: An array of key-value pairs to apply to this resource. For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . @@ -63,12 +58,8 @@ def __init__(__self__, *, pulumi.set(__self__, "initialization_scripts", initialization_scripts) if name is not None: pulumi.set(__self__, "name", name) - if runtime_role_arn is not None: - pulumi.set(__self__, "runtime_role_arn", runtime_role_arn) if script_parameters is not None: pulumi.set(__self__, "script_parameters", script_parameters) - if secure_initialization_role_arn is not None: - pulumi.set(__self__, "secure_initialization_role_arn", secure_initialization_role_arn) if subtype is not None: pulumi.set(__self__, "subtype", subtype) if tags is not None: @@ -78,7 +69,7 @@ def __init__(__self__, *, @pulumi.getter(name="studioId") def studio_id(self) -> pulumi.Input[str]: """ -

The studio ID.

+ The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. """ return pulumi.get(self, "studio_id") @@ -88,33 +79,33 @@ def studio_id(self, value: pulumi.Input[str]): @property @pulumi.getter - def type(self) -> pulumi.Input['StudioComponentType']: + def type(self) -> pulumi.Input[str]: """ The type of the studio component. """ return pulumi.get(self, "type") @type.setter - def type(self, value: pulumi.Input['StudioComponentType']): + def type(self, value: pulumi.Input[str]): pulumi.set(self, "type", value) @property @pulumi.getter - def configuration(self) -> Optional[pulumi.Input[Union['StudioComponentConfiguration0PropertiesArgs', 'StudioComponentConfiguration1PropertiesArgs', 'StudioComponentConfiguration2PropertiesArgs', 'StudioComponentConfiguration3PropertiesArgs']]]: + def configuration(self) -> Optional[pulumi.Input['StudioComponentConfigurationArgs']]: """ The configuration of the studio component, based on component type. """ return pulumi.get(self, "configuration") @configuration.setter - def configuration(self, value: Optional[pulumi.Input[Union['StudioComponentConfiguration0PropertiesArgs', 'StudioComponentConfiguration1PropertiesArgs', 'StudioComponentConfiguration2PropertiesArgs', 'StudioComponentConfiguration3PropertiesArgs']]]): + def configuration(self, value: Optional[pulumi.Input['StudioComponentConfigurationArgs']]): pulumi.set(self, "configuration", value) @property @pulumi.getter def description(self) -> Optional[pulumi.Input[str]]: """ -

The description.

+ A human-readable description for the studio component resource. """ return pulumi.get(self, "description") @@ -126,7 +117,7 @@ def description(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="ec2SecurityGroupIds") def ec2_security_group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ -

The EC2 security groups that control access to the studio component.

+ The EC2 security groups that control access to the studio component. """ return pulumi.get(self, "ec2_security_group_ids") @@ -138,7 +129,7 @@ def ec2_security_group_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.In @pulumi.getter(name="initializationScripts") def initialization_scripts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StudioComponentInitializationScriptArgs']]]]: """ -

Initialization scripts for studio components.

+ Initialization scripts for studio components. """ return pulumi.get(self, "initialization_scripts") @@ -150,7 +141,7 @@ def initialization_scripts(self, value: Optional[pulumi.Input[Sequence[pulumi.In @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ -

The name for the studio component.

+ A friendly name for the studio component resource. """ return pulumi.get(self, "name") @@ -158,23 +149,11 @@ def name(self) -> Optional[pulumi.Input[str]]: def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) - @property - @pulumi.getter(name="runtimeRoleArn") - def runtime_role_arn(self) -> Optional[pulumi.Input[str]]: - """ - An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running. - """ - return pulumi.get(self, "runtime_role_arn") - - @runtime_role_arn.setter - def runtime_role_arn(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "runtime_role_arn", value) - @property @pulumi.getter(name="scriptParameters") def script_parameters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StudioComponentScriptParameterKeyValueArgs']]]]: """ -

Parameters for the studio component scripts.

+ Parameters for the studio component scripts. """ return pulumi.get(self, "script_parameters") @@ -182,28 +161,16 @@ def script_parameters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['Stud def script_parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StudioComponentScriptParameterKeyValueArgs']]]]): pulumi.set(self, "script_parameters", value) - @property - @pulumi.getter(name="secureInitializationRoleArn") - def secure_initialization_role_arn(self) -> Optional[pulumi.Input[str]]: - """ - 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. - """ - return pulumi.get(self, "secure_initialization_role_arn") - - @secure_initialization_role_arn.setter - def secure_initialization_role_arn(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "secure_initialization_role_arn", value) - @property @pulumi.getter - def subtype(self) -> Optional[pulumi.Input['StudioComponentSubtype']]: + def subtype(self) -> Optional[pulumi.Input[str]]: """ The specific subtype of a studio component. """ return pulumi.get(self, "subtype") @subtype.setter - def subtype(self, value: Optional[pulumi.Input['StudioComponentSubtype']]): + def subtype(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "subtype", value) @property @@ -226,38 +193,34 @@ class StudioComponent(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - configuration: Optional[pulumi.Input[Union[Union['StudioComponentConfiguration0PropertiesArgs', 'StudioComponentConfiguration0PropertiesArgsDict'], Union['StudioComponentConfiguration1PropertiesArgs', 'StudioComponentConfiguration1PropertiesArgsDict'], Union['StudioComponentConfiguration2PropertiesArgs', 'StudioComponentConfiguration2PropertiesArgsDict'], Union['StudioComponentConfiguration3PropertiesArgs', 'StudioComponentConfiguration3PropertiesArgsDict']]]] = None, + configuration: Optional[pulumi.Input[Union['StudioComponentConfigurationArgs', 'StudioComponentConfigurationArgsDict']]] = None, description: Optional[pulumi.Input[str]] = None, ec2_security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, initialization_scripts: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StudioComponentInitializationScriptArgs', 'StudioComponentInitializationScriptArgsDict']]]]] = None, name: Optional[pulumi.Input[str]] = None, - runtime_role_arn: Optional[pulumi.Input[str]] = None, script_parameters: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StudioComponentScriptParameterKeyValueArgs', 'StudioComponentScriptParameterKeyValueArgsDict']]]]] = None, - secure_initialization_role_arn: Optional[pulumi.Input[str]] = None, studio_id: Optional[pulumi.Input[str]] = None, - subtype: Optional[pulumi.Input['StudioComponentSubtype']] = None, + subtype: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - type: Optional[pulumi.Input['StudioComponentType']] = None, + type: Optional[pulumi.Input[str]] = None, __props__=None): """ - Represents a studio component that connects a non-Nimble Studio resource in your account to your studio + Resource Type definition for AWS::NimbleStudio::StudioComponent :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Union[Union['StudioComponentConfiguration0PropertiesArgs', 'StudioComponentConfiguration0PropertiesArgsDict'], Union['StudioComponentConfiguration1PropertiesArgs', 'StudioComponentConfiguration1PropertiesArgsDict'], Union['StudioComponentConfiguration2PropertiesArgs', 'StudioComponentConfiguration2PropertiesArgsDict'], Union['StudioComponentConfiguration3PropertiesArgs', 'StudioComponentConfiguration3PropertiesArgsDict']]] configuration: The configuration of the studio component, based on component type. - :param pulumi.Input[str] description:

The description.

- :param pulumi.Input[Sequence[pulumi.Input[str]]] ec2_security_group_ids:

The EC2 security groups that control access to the studio component.

- :param pulumi.Input[Sequence[pulumi.Input[Union['StudioComponentInitializationScriptArgs', 'StudioComponentInitializationScriptArgsDict']]]] initialization_scripts:

Initialization scripts for studio components.

- :param pulumi.Input[str] name:

The name for the studio component.

- :param pulumi.Input[str] runtime_role_arn: An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running. - :param pulumi.Input[Sequence[pulumi.Input[Union['StudioComponentScriptParameterKeyValueArgs', 'StudioComponentScriptParameterKeyValueArgsDict']]]] script_parameters:

Parameters for the studio component scripts.

- :param pulumi.Input[str] secure_initialization_role_arn: 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. - :param pulumi.Input[str] studio_id:

The studio ID.

- :param pulumi.Input['StudioComponentSubtype'] subtype: The specific subtype of a studio component. + :param pulumi.Input[Union['StudioComponentConfigurationArgs', 'StudioComponentConfigurationArgsDict']] configuration: The configuration of the studio component, based on component type. + :param pulumi.Input[str] description: A human-readable description for the studio component resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] ec2_security_group_ids: The EC2 security groups that control access to the studio component. + :param pulumi.Input[Sequence[pulumi.Input[Union['StudioComponentInitializationScriptArgs', 'StudioComponentInitializationScriptArgsDict']]]] initialization_scripts: Initialization scripts for studio components. + :param pulumi.Input[str] name: A friendly name for the studio component resource. + :param pulumi.Input[Sequence[pulumi.Input[Union['StudioComponentScriptParameterKeyValueArgs', 'StudioComponentScriptParameterKeyValueArgsDict']]]] script_parameters: Parameters for the studio component scripts. + :param pulumi.Input[str] studio_id: The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. + :param pulumi.Input[str] subtype: The specific subtype of a studio component. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: An array of key-value pairs to apply to this resource. For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . - :param pulumi.Input['StudioComponentType'] type: The type of the studio component. + :param pulumi.Input[str] type: The type of the studio component. """ ... @overload @@ -266,7 +229,7 @@ def __init__(__self__, args: StudioComponentArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Represents a studio component that connects a non-Nimble Studio resource in your account to your studio + Resource Type definition for AWS::NimbleStudio::StudioComponent :param str resource_name: The name of the resource. :param StudioComponentArgs args: The arguments to use to populate this resource's properties. @@ -283,18 +246,16 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - configuration: Optional[pulumi.Input[Union[Union['StudioComponentConfiguration0PropertiesArgs', 'StudioComponentConfiguration0PropertiesArgsDict'], Union['StudioComponentConfiguration1PropertiesArgs', 'StudioComponentConfiguration1PropertiesArgsDict'], Union['StudioComponentConfiguration2PropertiesArgs', 'StudioComponentConfiguration2PropertiesArgsDict'], Union['StudioComponentConfiguration3PropertiesArgs', 'StudioComponentConfiguration3PropertiesArgsDict']]]] = None, + configuration: Optional[pulumi.Input[Union['StudioComponentConfigurationArgs', 'StudioComponentConfigurationArgsDict']]] = None, description: Optional[pulumi.Input[str]] = None, ec2_security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, initialization_scripts: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StudioComponentInitializationScriptArgs', 'StudioComponentInitializationScriptArgsDict']]]]] = None, name: Optional[pulumi.Input[str]] = None, - runtime_role_arn: Optional[pulumi.Input[str]] = None, script_parameters: Optional[pulumi.Input[Sequence[pulumi.Input[Union['StudioComponentScriptParameterKeyValueArgs', 'StudioComponentScriptParameterKeyValueArgsDict']]]]] = None, - secure_initialization_role_arn: Optional[pulumi.Input[str]] = None, studio_id: Optional[pulumi.Input[str]] = None, - subtype: Optional[pulumi.Input['StudioComponentSubtype']] = None, + subtype: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - type: Optional[pulumi.Input['StudioComponentType']] = None, + type: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -309,9 +270,7 @@ def _internal_init(__self__, __props__.__dict__["ec2_security_group_ids"] = ec2_security_group_ids __props__.__dict__["initialization_scripts"] = initialization_scripts __props__.__dict__["name"] = name - __props__.__dict__["runtime_role_arn"] = runtime_role_arn __props__.__dict__["script_parameters"] = script_parameters - __props__.__dict__["secure_initialization_role_arn"] = secure_initialization_role_arn if studio_id is None and not opts.urn: raise TypeError("Missing required property 'studio_id'") __props__.__dict__["studio_id"] = studio_id @@ -350,9 +309,7 @@ def get(resource_name: str, __props__.__dict__["ec2_security_group_ids"] = None __props__.__dict__["initialization_scripts"] = None __props__.__dict__["name"] = None - __props__.__dict__["runtime_role_arn"] = None __props__.__dict__["script_parameters"] = None - __props__.__dict__["secure_initialization_role_arn"] = None __props__.__dict__["studio_component_id"] = None __props__.__dict__["studio_id"] = None __props__.__dict__["subtype"] = None @@ -362,7 +319,7 @@ def get(resource_name: str, @property @pulumi.getter - def configuration(self) -> pulumi.Output[Optional[Any]]: + def configuration(self) -> pulumi.Output[Optional['outputs.StudioComponentConfiguration']]: """ The configuration of the studio component, based on component type. """ @@ -372,7 +329,7 @@ def configuration(self) -> pulumi.Output[Optional[Any]]: @pulumi.getter def description(self) -> pulumi.Output[Optional[str]]: """ -

The description.

+ A human-readable description for the studio component resource. """ return pulumi.get(self, "description") @@ -380,7 +337,7 @@ def description(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="ec2SecurityGroupIds") def ec2_security_group_ids(self) -> pulumi.Output[Optional[Sequence[str]]]: """ -

The EC2 security groups that control access to the studio component.

+ The EC2 security groups that control access to the studio component. """ return pulumi.get(self, "ec2_security_group_ids") @@ -388,7 +345,7 @@ def ec2_security_group_ids(self) -> pulumi.Output[Optional[Sequence[str]]]: @pulumi.getter(name="initializationScripts") def initialization_scripts(self) -> pulumi.Output[Optional[Sequence['outputs.StudioComponentInitializationScript']]]: """ -

Initialization scripts for studio components.

+ Initialization scripts for studio components. """ return pulumi.get(self, "initialization_scripts") @@ -396,34 +353,18 @@ def initialization_scripts(self) -> pulumi.Output[Optional[Sequence['outputs.Stu @pulumi.getter def name(self) -> pulumi.Output[str]: """ -

The name for the studio component.

+ A friendly name for the studio component resource. """ return pulumi.get(self, "name") - @property - @pulumi.getter(name="runtimeRoleArn") - def runtime_role_arn(self) -> pulumi.Output[Optional[str]]: - """ - An IAM role attached to a Studio Component that gives the studio component access to AWS resources at anytime while the instance is running. - """ - return pulumi.get(self, "runtime_role_arn") - @property @pulumi.getter(name="scriptParameters") def script_parameters(self) -> pulumi.Output[Optional[Sequence['outputs.StudioComponentScriptParameterKeyValue']]]: """ -

Parameters for the studio component scripts.

+ Parameters for the studio component scripts. """ return pulumi.get(self, "script_parameters") - @property - @pulumi.getter(name="secureInitializationRoleArn") - def secure_initialization_role_arn(self) -> pulumi.Output[Optional[str]]: - """ - 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. - """ - return pulumi.get(self, "secure_initialization_role_arn") - @property @pulumi.getter(name="studioComponentId") def studio_component_id(self) -> pulumi.Output[str]: @@ -436,13 +377,13 @@ def studio_component_id(self) -> pulumi.Output[str]: @pulumi.getter(name="studioId") def studio_id(self) -> pulumi.Output[str]: """ -

The studio ID.

+ The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource. """ return pulumi.get(self, "studio_id") @property @pulumi.getter - def subtype(self) -> pulumi.Output[Optional['StudioComponentSubtype']]: + def subtype(self) -> pulumi.Output[Optional[str]]: """ The specific subtype of a studio component. """ @@ -460,7 +401,7 @@ def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: @property @pulumi.getter - def type(self) -> pulumi.Output['StudioComponentType']: + def type(self) -> pulumi.Output[str]: """ The type of the studio component. """ diff --git a/sdk/python/pulumi_aws_native/quicksight/_enums.py b/sdk/python/pulumi_aws_native/quicksight/_enums.py index 171e5be343..1ed3009093 100644 --- a/sdk/python/pulumi_aws_native/quicksight/_enums.py +++ b/sdk/python/pulumi_aws_native/quicksight/_enums.py @@ -260,6 +260,7 @@ 'DataSetStatus', 'DataSetTextQualifier', 'DataSetTimeGranularity', + 'DataSourceAuthenticationType', 'DataSourceErrorInfoType', 'DataSourceResourceStatus', 'DataSourceStarburstProductType', @@ -687,6 +688,7 @@ class AnalysisLayoutElementType(str, Enum): FILTER_CONTROL = "FILTER_CONTROL" PARAMETER_CONTROL = "PARAMETER_CONTROL" TEXT_BOX = "TEXT_BOX" + IMAGE = "IMAGE" class AnalysisLegendPosition(str, Enum): @@ -1425,6 +1427,7 @@ class DashboardLayoutElementType(str, Enum): FILTER_CONTROL = "FILTER_CONTROL" PARAMETER_CONTROL = "PARAMETER_CONTROL" TEXT_BOX = "TEXT_BOX" + IMAGE = "IMAGE" class DashboardLegendPosition(str, Enum): @@ -1997,6 +2000,12 @@ class DataSetTimeGranularity(str, Enum): MILLISECOND = "MILLISECOND" +class DataSourceAuthenticationType(str, Enum): + PASSWORD = "PASSWORD" + TOKEN = "TOKEN" + X509 = "X509" + + class DataSourceErrorInfoType(str, Enum): ACCESS_DENIED = "ACCESS_DENIED" COPY_SOURCE_NOT_FOUND = "COPY_SOURCE_NOT_FOUND" @@ -2375,6 +2384,7 @@ class TemplateLayoutElementType(str, Enum): FILTER_CONTROL = "FILTER_CONTROL" PARAMETER_CONTROL = "PARAMETER_CONTROL" TEXT_BOX = "TEXT_BOX" + IMAGE = "IMAGE" class TemplateLegendPosition(str, Enum): diff --git a/sdk/python/pulumi_aws_native/quicksight/_inputs.py b/sdk/python/pulumi_aws_native/quicksight/_inputs.py index 712d856d3f..ec055e0ebd 100644 --- a/sdk/python/pulumi_aws_native/quicksight/_inputs.py +++ b/sdk/python/pulumi_aws_native/quicksight/_inputs.py @@ -2118,6 +2118,8 @@ 'DataSourceMariaDbParametersArgsDict', 'DataSourceMySqlParametersArgs', 'DataSourceMySqlParametersArgsDict', + 'DataSourceOAuthParametersArgs', + 'DataSourceOAuthParametersArgsDict', 'DataSourceOracleParametersArgs', 'DataSourceOracleParametersArgsDict', 'DataSourceParametersArgs', @@ -85759,6 +85761,67 @@ def port(self, value: pulumi.Input[float]): pulumi.set(self, "port", value) +if not MYPY: + class DataSourceOAuthParametersArgsDict(TypedDict): + token_provider_url: pulumi.Input[str] + identity_provider_resource_uri: NotRequired[pulumi.Input[str]] + identity_provider_vpc_connection_properties: NotRequired[pulumi.Input['DataSourceVpcConnectionPropertiesArgsDict']] + o_auth_scope: NotRequired[pulumi.Input[str]] +elif False: + DataSourceOAuthParametersArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DataSourceOAuthParametersArgs: + def __init__(__self__, *, + token_provider_url: pulumi.Input[str], + identity_provider_resource_uri: Optional[pulumi.Input[str]] = None, + identity_provider_vpc_connection_properties: Optional[pulumi.Input['DataSourceVpcConnectionPropertiesArgs']] = None, + o_auth_scope: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "token_provider_url", token_provider_url) + if identity_provider_resource_uri is not None: + pulumi.set(__self__, "identity_provider_resource_uri", identity_provider_resource_uri) + if identity_provider_vpc_connection_properties is not None: + pulumi.set(__self__, "identity_provider_vpc_connection_properties", identity_provider_vpc_connection_properties) + if o_auth_scope is not None: + pulumi.set(__self__, "o_auth_scope", o_auth_scope) + + @property + @pulumi.getter(name="tokenProviderUrl") + def token_provider_url(self) -> pulumi.Input[str]: + return pulumi.get(self, "token_provider_url") + + @token_provider_url.setter + def token_provider_url(self, value: pulumi.Input[str]): + pulumi.set(self, "token_provider_url", value) + + @property + @pulumi.getter(name="identityProviderResourceUri") + def identity_provider_resource_uri(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "identity_provider_resource_uri") + + @identity_provider_resource_uri.setter + def identity_provider_resource_uri(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "identity_provider_resource_uri", value) + + @property + @pulumi.getter(name="identityProviderVpcConnectionProperties") + def identity_provider_vpc_connection_properties(self) -> Optional[pulumi.Input['DataSourceVpcConnectionPropertiesArgs']]: + return pulumi.get(self, "identity_provider_vpc_connection_properties") + + @identity_provider_vpc_connection_properties.setter + def identity_provider_vpc_connection_properties(self, value: Optional[pulumi.Input['DataSourceVpcConnectionPropertiesArgs']]): + pulumi.set(self, "identity_provider_vpc_connection_properties", value) + + @property + @pulumi.getter(name="oAuthScope") + def o_auth_scope(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "o_auth_scope") + + @o_auth_scope.setter + def o_auth_scope(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "o_auth_scope", value) + + if not MYPY: class DataSourceOracleParametersArgsDict(TypedDict): """ @@ -86878,6 +86941,9 @@ class DataSourceSnowflakeParametersArgsDict(TypedDict): """

Warehouse.

""" + authentication_type: NotRequired[pulumi.Input['DataSourceAuthenticationType']] + database_access_control_role: NotRequired[pulumi.Input[str]] + o_auth_parameters: NotRequired[pulumi.Input['DataSourceOAuthParametersArgsDict']] elif False: DataSourceSnowflakeParametersArgsDict: TypeAlias = Mapping[str, Any] @@ -86886,7 +86952,10 @@ class DataSourceSnowflakeParametersArgs: def __init__(__self__, *, database: pulumi.Input[str], host: pulumi.Input[str], - warehouse: pulumi.Input[str]): + warehouse: pulumi.Input[str], + authentication_type: Optional[pulumi.Input['DataSourceAuthenticationType']] = None, + database_access_control_role: Optional[pulumi.Input[str]] = None, + o_auth_parameters: Optional[pulumi.Input['DataSourceOAuthParametersArgs']] = None): """

The parameters for Snowflake.

:param pulumi.Input[str] database:

Database.

@@ -86896,6 +86965,12 @@ def __init__(__self__, *, pulumi.set(__self__, "database", database) pulumi.set(__self__, "host", host) pulumi.set(__self__, "warehouse", warehouse) + if authentication_type is not None: + pulumi.set(__self__, "authentication_type", authentication_type) + if database_access_control_role is not None: + pulumi.set(__self__, "database_access_control_role", database_access_control_role) + if o_auth_parameters is not None: + pulumi.set(__self__, "o_auth_parameters", o_auth_parameters) @property @pulumi.getter @@ -86933,6 +87008,33 @@ def warehouse(self) -> pulumi.Input[str]: def warehouse(self, value: pulumi.Input[str]): pulumi.set(self, "warehouse", value) + @property + @pulumi.getter(name="authenticationType") + def authentication_type(self) -> Optional[pulumi.Input['DataSourceAuthenticationType']]: + return pulumi.get(self, "authentication_type") + + @authentication_type.setter + def authentication_type(self, value: Optional[pulumi.Input['DataSourceAuthenticationType']]): + pulumi.set(self, "authentication_type", value) + + @property + @pulumi.getter(name="databaseAccessControlRole") + def database_access_control_role(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "database_access_control_role") + + @database_access_control_role.setter + def database_access_control_role(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "database_access_control_role", value) + + @property + @pulumi.getter(name="oAuthParameters") + def o_auth_parameters(self) -> Optional[pulumi.Input['DataSourceOAuthParametersArgs']]: + return pulumi.get(self, "o_auth_parameters") + + @o_auth_parameters.setter + def o_auth_parameters(self, value: Optional[pulumi.Input['DataSourceOAuthParametersArgs']]): + pulumi.set(self, "o_auth_parameters", value) + if not MYPY: class DataSourceSparkParametersArgsDict(TypedDict): @@ -87116,6 +87218,9 @@ class DataSourceStarburstParametersArgsDict(TypedDict): """

The port for the Starburst data source.

""" + authentication_type: NotRequired[pulumi.Input['DataSourceAuthenticationType']] + database_access_control_role: NotRequired[pulumi.Input[str]] + o_auth_parameters: NotRequired[pulumi.Input['DataSourceOAuthParametersArgsDict']] product_type: NotRequired[pulumi.Input['DataSourceStarburstProductType']] """ The product type for the Starburst data source. @@ -87129,6 +87234,9 @@ def __init__(__self__, *, catalog: pulumi.Input[str], host: pulumi.Input[str], port: pulumi.Input[float], + authentication_type: Optional[pulumi.Input['DataSourceAuthenticationType']] = None, + database_access_control_role: Optional[pulumi.Input[str]] = None, + o_auth_parameters: Optional[pulumi.Input['DataSourceOAuthParametersArgs']] = None, product_type: Optional[pulumi.Input['DataSourceStarburstProductType']] = None): """

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

@@ -87140,6 +87248,12 @@ def __init__(__self__, *, pulumi.set(__self__, "catalog", catalog) pulumi.set(__self__, "host", host) pulumi.set(__self__, "port", port) + if authentication_type is not None: + pulumi.set(__self__, "authentication_type", authentication_type) + if database_access_control_role is not None: + pulumi.set(__self__, "database_access_control_role", database_access_control_role) + if o_auth_parameters is not None: + pulumi.set(__self__, "o_auth_parameters", o_auth_parameters) if product_type is not None: pulumi.set(__self__, "product_type", product_type) @@ -87179,6 +87293,33 @@ def port(self) -> pulumi.Input[float]: def port(self, value: pulumi.Input[float]): pulumi.set(self, "port", value) + @property + @pulumi.getter(name="authenticationType") + def authentication_type(self) -> Optional[pulumi.Input['DataSourceAuthenticationType']]: + return pulumi.get(self, "authentication_type") + + @authentication_type.setter + def authentication_type(self, value: Optional[pulumi.Input['DataSourceAuthenticationType']]): + pulumi.set(self, "authentication_type", value) + + @property + @pulumi.getter(name="databaseAccessControlRole") + def database_access_control_role(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "database_access_control_role") + + @database_access_control_role.setter + def database_access_control_role(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "database_access_control_role", value) + + @property + @pulumi.getter(name="oAuthParameters") + def o_auth_parameters(self) -> Optional[pulumi.Input['DataSourceOAuthParametersArgs']]: + return pulumi.get(self, "o_auth_parameters") + + @o_auth_parameters.setter + def o_auth_parameters(self, value: Optional[pulumi.Input['DataSourceOAuthParametersArgs']]): + pulumi.set(self, "o_auth_parameters", value) + @property @pulumi.getter(name="productType") def product_type(self) -> Optional[pulumi.Input['DataSourceStarburstProductType']]: diff --git a/sdk/python/pulumi_aws_native/quicksight/outputs.py b/sdk/python/pulumi_aws_native/quicksight/outputs.py index f3b44f23fe..9e4251ff50 100644 --- a/sdk/python/pulumi_aws_native/quicksight/outputs.py +++ b/sdk/python/pulumi_aws_native/quicksight/outputs.py @@ -1073,6 +1073,7 @@ 'DataSourceManifestFileLocation', 'DataSourceMariaDbParameters', 'DataSourceMySqlParameters', + 'DataSourceOAuthParameters', 'DataSourceOracleParameters', 'DataSourceParameters', 'DataSourcePostgreSqlParameters', @@ -69459,6 +69460,65 @@ def port(self) -> float: return pulumi.get(self, "port") +@pulumi.output_type +class DataSourceOAuthParameters(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "tokenProviderUrl": + suggest = "token_provider_url" + elif key == "identityProviderResourceUri": + suggest = "identity_provider_resource_uri" + elif key == "identityProviderVpcConnectionProperties": + suggest = "identity_provider_vpc_connection_properties" + elif key == "oAuthScope": + suggest = "o_auth_scope" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DataSourceOAuthParameters. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DataSourceOAuthParameters.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DataSourceOAuthParameters.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + token_provider_url: str, + identity_provider_resource_uri: Optional[str] = None, + identity_provider_vpc_connection_properties: Optional['outputs.DataSourceVpcConnectionProperties'] = None, + o_auth_scope: Optional[str] = None): + pulumi.set(__self__, "token_provider_url", token_provider_url) + if identity_provider_resource_uri is not None: + pulumi.set(__self__, "identity_provider_resource_uri", identity_provider_resource_uri) + if identity_provider_vpc_connection_properties is not None: + pulumi.set(__self__, "identity_provider_vpc_connection_properties", identity_provider_vpc_connection_properties) + if o_auth_scope is not None: + pulumi.set(__self__, "o_auth_scope", o_auth_scope) + + @property + @pulumi.getter(name="tokenProviderUrl") + def token_provider_url(self) -> str: + return pulumi.get(self, "token_provider_url") + + @property + @pulumi.getter(name="identityProviderResourceUri") + def identity_provider_resource_uri(self) -> Optional[str]: + return pulumi.get(self, "identity_provider_resource_uri") + + @property + @pulumi.getter(name="identityProviderVpcConnectionProperties") + def identity_provider_vpc_connection_properties(self) -> Optional['outputs.DataSourceVpcConnectionProperties']: + return pulumi.get(self, "identity_provider_vpc_connection_properties") + + @property + @pulumi.getter(name="oAuthScope") + def o_auth_scope(self) -> Optional[str]: + return pulumi.get(self, "o_auth_scope") + + @pulumi.output_type class DataSourceOracleParameters(dict): """ @@ -70274,10 +70334,34 @@ class DataSourceSnowflakeParameters(dict): """

The parameters for Snowflake.

""" + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "authenticationType": + suggest = "authentication_type" + elif key == "databaseAccessControlRole": + suggest = "database_access_control_role" + elif key == "oAuthParameters": + suggest = "o_auth_parameters" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DataSourceSnowflakeParameters. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DataSourceSnowflakeParameters.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DataSourceSnowflakeParameters.__key_warning(key) + return super().get(key, default) + def __init__(__self__, *, database: str, host: str, - warehouse: str): + warehouse: str, + authentication_type: Optional['DataSourceAuthenticationType'] = None, + database_access_control_role: Optional[str] = None, + o_auth_parameters: Optional['outputs.DataSourceOAuthParameters'] = None): """

The parameters for Snowflake.

:param str database:

Database.

@@ -70287,6 +70371,12 @@ def __init__(__self__, *, pulumi.set(__self__, "database", database) pulumi.set(__self__, "host", host) pulumi.set(__self__, "warehouse", warehouse) + if authentication_type is not None: + pulumi.set(__self__, "authentication_type", authentication_type) + if database_access_control_role is not None: + pulumi.set(__self__, "database_access_control_role", database_access_control_role) + if o_auth_parameters is not None: + pulumi.set(__self__, "o_auth_parameters", o_auth_parameters) @property @pulumi.getter @@ -70312,6 +70402,21 @@ def warehouse(self) -> str: """ return pulumi.get(self, "warehouse") + @property + @pulumi.getter(name="authenticationType") + def authentication_type(self) -> Optional['DataSourceAuthenticationType']: + return pulumi.get(self, "authentication_type") + + @property + @pulumi.getter(name="databaseAccessControlRole") + def database_access_control_role(self) -> Optional[str]: + return pulumi.get(self, "database_access_control_role") + + @property + @pulumi.getter(name="oAuthParameters") + def o_auth_parameters(self) -> Optional['outputs.DataSourceOAuthParameters']: + return pulumi.get(self, "o_auth_parameters") + @pulumi.output_type class DataSourceSparkParameters(dict): @@ -70440,7 +70545,13 @@ class DataSourceStarburstParameters(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "productType": + if key == "authenticationType": + suggest = "authentication_type" + elif key == "databaseAccessControlRole": + suggest = "database_access_control_role" + elif key == "oAuthParameters": + suggest = "o_auth_parameters" + elif key == "productType": suggest = "product_type" if suggest: @@ -70458,6 +70569,9 @@ def __init__(__self__, *, catalog: str, host: str, port: float, + authentication_type: Optional['DataSourceAuthenticationType'] = None, + database_access_control_role: Optional[str] = None, + o_auth_parameters: Optional['outputs.DataSourceOAuthParameters'] = None, product_type: Optional['DataSourceStarburstProductType'] = None): """

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

@@ -70469,6 +70583,12 @@ def __init__(__self__, *, pulumi.set(__self__, "catalog", catalog) pulumi.set(__self__, "host", host) pulumi.set(__self__, "port", port) + if authentication_type is not None: + pulumi.set(__self__, "authentication_type", authentication_type) + if database_access_control_role is not None: + pulumi.set(__self__, "database_access_control_role", database_access_control_role) + if o_auth_parameters is not None: + pulumi.set(__self__, "o_auth_parameters", o_auth_parameters) if product_type is not None: pulumi.set(__self__, "product_type", product_type) @@ -70496,6 +70616,21 @@ def port(self) -> float: """ return pulumi.get(self, "port") + @property + @pulumi.getter(name="authenticationType") + def authentication_type(self) -> Optional['DataSourceAuthenticationType']: + return pulumi.get(self, "authentication_type") + + @property + @pulumi.getter(name="databaseAccessControlRole") + def database_access_control_role(self) -> Optional[str]: + return pulumi.get(self, "database_access_control_role") + + @property + @pulumi.getter(name="oAuthParameters") + def o_auth_parameters(self) -> Optional['outputs.DataSourceOAuthParameters']: + return pulumi.get(self, "o_auth_parameters") + @property @pulumi.getter(name="productType") def product_type(self) -> Optional['DataSourceStarburstProductType']: diff --git a/sdk/python/pulumi_aws_native/rds/__init__.py b/sdk/python/pulumi_aws_native/rds/__init__.py index 443bbe5263..c17b05590a 100644 --- a/sdk/python/pulumi_aws_native/rds/__init__.py +++ b/sdk/python/pulumi_aws_native/rds/__init__.py @@ -14,6 +14,7 @@ from .db_proxy import * from .db_proxy_endpoint import * from .db_proxy_target_group import * +from .db_shard_group import * from .db_subnet_group import * from .event_subscription import * from .get_custom_db_engine_version import * @@ -24,6 +25,7 @@ from .get_db_proxy import * from .get_db_proxy_endpoint import * from .get_db_proxy_target_group import * +from .get_db_shard_group import * from .get_db_subnet_group import * from .get_event_subscription import * from .get_global_cluster import * diff --git a/sdk/python/pulumi_aws_native/rds/db_cluster.py b/sdk/python/pulumi_aws_native/rds/db_cluster.py index 52ed5e728a..11d7585fc2 100644 --- a/sdk/python/pulumi_aws_native/rds/db_cluster.py +++ b/sdk/python/pulumi_aws_native/rds/db_cluster.py @@ -29,6 +29,7 @@ def __init__(__self__, *, availability_zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, backtrack_window: Optional[pulumi.Input[int]] = None, backup_retention_period: Optional[pulumi.Input[int]] = None, + cluster_scalability_type: Optional[pulumi.Input[str]] = None, copy_tags_to_snapshot: Optional[pulumi.Input[bool]] = None, database_name: Optional[pulumi.Input[str]] = None, db_cluster_identifier: Optional[pulumi.Input[str]] = None, @@ -102,6 +103,7 @@ def __init__(__self__, *, + Must be a value from 1 to 35 Valid for: Aurora DB clusters and Multi-AZ DB clusters + :param pulumi.Input[str] cluster_scalability_type: 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. :param pulumi.Input[bool] copy_tags_to_snapshot: 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. Valid for: Aurora DB clusters and Multi-AZ DB clusters :param pulumi.Input[str] database_name: 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*. @@ -401,6 +403,8 @@ def __init__(__self__, *, pulumi.set(__self__, "backtrack_window", backtrack_window) if backup_retention_period is not None: pulumi.set(__self__, "backup_retention_period", backup_retention_period) + if cluster_scalability_type is not None: + pulumi.set(__self__, "cluster_scalability_type", cluster_scalability_type) if copy_tags_to_snapshot is not None: pulumi.set(__self__, "copy_tags_to_snapshot", copy_tags_to_snapshot) if database_name is not None: @@ -590,6 +594,18 @@ def backup_retention_period(self) -> Optional[pulumi.Input[int]]: def backup_retention_period(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "backup_retention_period", value) + @property + @pulumi.getter(name="clusterScalabilityType") + def cluster_scalability_type(self) -> Optional[pulumi.Input[str]]: + """ + 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. + """ + return pulumi.get(self, "cluster_scalability_type") + + @cluster_scalability_type.setter + def cluster_scalability_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cluster_scalability_type", value) + @property @pulumi.getter(name="copyTagsToSnapshot") def copy_tags_to_snapshot(self) -> Optional[pulumi.Input[bool]]: @@ -1449,6 +1465,7 @@ def __init__(__self__, availability_zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, backtrack_window: Optional[pulumi.Input[int]] = None, backup_retention_period: Optional[pulumi.Input[int]] = None, + cluster_scalability_type: Optional[pulumi.Input[str]] = None, copy_tags_to_snapshot: Optional[pulumi.Input[bool]] = None, database_name: Optional[pulumi.Input[str]] = None, db_cluster_identifier: Optional[pulumi.Input[str]] = None, @@ -1542,6 +1559,7 @@ def __init__(__self__, + Must be a value from 1 to 35 Valid for: Aurora DB clusters and Multi-AZ DB clusters + :param pulumi.Input[str] cluster_scalability_type: 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. :param pulumi.Input[bool] copy_tags_to_snapshot: 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. Valid for: Aurora DB clusters and Multi-AZ DB clusters :param pulumi.Input[str] database_name: 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*. @@ -1875,6 +1893,7 @@ def _internal_init(__self__, availability_zones: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, backtrack_window: Optional[pulumi.Input[int]] = None, backup_retention_period: Optional[pulumi.Input[int]] = None, + cluster_scalability_type: Optional[pulumi.Input[str]] = None, copy_tags_to_snapshot: Optional[pulumi.Input[bool]] = None, database_name: Optional[pulumi.Input[str]] = None, db_cluster_identifier: Optional[pulumi.Input[str]] = None, @@ -1941,6 +1960,7 @@ def _internal_init(__self__, __props__.__dict__["availability_zones"] = availability_zones __props__.__dict__["backtrack_window"] = backtrack_window __props__.__dict__["backup_retention_period"] = backup_retention_period + __props__.__dict__["cluster_scalability_type"] = cluster_scalability_type __props__.__dict__["copy_tags_to_snapshot"] = copy_tags_to_snapshot __props__.__dict__["database_name"] = database_name __props__.__dict__["db_cluster_identifier"] = db_cluster_identifier @@ -1996,7 +2016,7 @@ def _internal_init(__self__, __props__.__dict__["db_cluster_resource_id"] = None __props__.__dict__["endpoint"] = None __props__.__dict__["storage_throughput"] = None - replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["availabilityZones[*]", "databaseName", "dbClusterIdentifier", "dbSubnetGroupName", "dbSystemId", "engineMode", "kmsKeyId", "publiclyAccessible", "restoreToTime", "restoreType", "snapshotIdentifier", "sourceDbClusterIdentifier", "sourceRegion", "storageEncrypted", "useLatestRestorableTime"]) + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["availabilityZones[*]", "clusterScalabilityType", "databaseName", "dbClusterIdentifier", "dbSubnetGroupName", "dbSystemId", "engineMode", "kmsKeyId", "publiclyAccessible", "restoreToTime", "restoreType", "snapshotIdentifier", "sourceDbClusterIdentifier", "sourceRegion", "storageEncrypted", "useLatestRestorableTime"]) opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) super(DbCluster, __self__).__init__( 'aws-native:rds:DbCluster', @@ -2026,6 +2046,7 @@ def get(resource_name: str, __props__.__dict__["availability_zones"] = None __props__.__dict__["backtrack_window"] = None __props__.__dict__["backup_retention_period"] = None + __props__.__dict__["cluster_scalability_type"] = None __props__.__dict__["copy_tags_to_snapshot"] = None __props__.__dict__["database_name"] = None __props__.__dict__["db_cluster_arn"] = None @@ -2145,6 +2166,14 @@ def backup_retention_period(self) -> pulumi.Output[Optional[int]]: """ return pulumi.get(self, "backup_retention_period") + @property + @pulumi.getter(name="clusterScalabilityType") + def cluster_scalability_type(self) -> pulumi.Output[Optional[str]]: + """ + 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. + """ + return pulumi.get(self, "cluster_scalability_type") + @property @pulumi.getter(name="copyTagsToSnapshot") def copy_tags_to_snapshot(self) -> pulumi.Output[Optional[bool]]: diff --git a/sdk/python/pulumi_aws_native/rds/db_shard_group.py b/sdk/python/pulumi_aws_native/rds/db_shard_group.py new file mode 100644 index 0000000000..7acd8be5f1 --- /dev/null +++ b/sdk/python/pulumi_aws_native/rds/db_shard_group.py @@ -0,0 +1,324 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from .. import _inputs as _root_inputs +from .. import outputs as _root_outputs + +__all__ = ['DbShardGroupArgs', 'DbShardGroup'] + +@pulumi.input_type +class DbShardGroupArgs: + def __init__(__self__, *, + db_cluster_identifier: pulumi.Input[str], + max_acu: pulumi.Input[float], + compute_redundancy: Optional[pulumi.Input[int]] = None, + db_shard_group_identifier: Optional[pulumi.Input[str]] = None, + min_acu: Optional[pulumi.Input[float]] = None, + publicly_accessible: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None): + """ + The set of arguments for constructing a DbShardGroup resource. + :param pulumi.Input[str] db_cluster_identifier: The name of the primary DB cluster for the DB shard group. + :param pulumi.Input[float] max_acu: The maximum capacity of the DB shard group in Aurora capacity units (ACUs). + :param pulumi.Input[int] compute_redundancy: Specifies whether to create standby instances for the DB shard group. + :param pulumi.Input[str] db_shard_group_identifier: The name of the DB shard group. + :param pulumi.Input[float] min_acu: The minimum capacity of the DB shard group in Aurora capacity units (ACUs). + :param pulumi.Input[bool] publicly_accessible: Indicates whether the DB shard group is publicly accessible. + :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: An array of key-value pairs to apply to this resource. + """ + pulumi.set(__self__, "db_cluster_identifier", db_cluster_identifier) + pulumi.set(__self__, "max_acu", max_acu) + if compute_redundancy is not None: + pulumi.set(__self__, "compute_redundancy", compute_redundancy) + if db_shard_group_identifier is not None: + pulumi.set(__self__, "db_shard_group_identifier", db_shard_group_identifier) + if min_acu is not None: + pulumi.set(__self__, "min_acu", min_acu) + if publicly_accessible is not None: + pulumi.set(__self__, "publicly_accessible", publicly_accessible) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="dbClusterIdentifier") + def db_cluster_identifier(self) -> pulumi.Input[str]: + """ + The name of the primary DB cluster for the DB shard group. + """ + return pulumi.get(self, "db_cluster_identifier") + + @db_cluster_identifier.setter + def db_cluster_identifier(self, value: pulumi.Input[str]): + pulumi.set(self, "db_cluster_identifier", value) + + @property + @pulumi.getter(name="maxAcu") + def max_acu(self) -> pulumi.Input[float]: + """ + The maximum capacity of the DB shard group in Aurora capacity units (ACUs). + """ + return pulumi.get(self, "max_acu") + + @max_acu.setter + def max_acu(self, value: pulumi.Input[float]): + pulumi.set(self, "max_acu", value) + + @property + @pulumi.getter(name="computeRedundancy") + def compute_redundancy(self) -> Optional[pulumi.Input[int]]: + """ + Specifies whether to create standby instances for the DB shard group. + """ + return pulumi.get(self, "compute_redundancy") + + @compute_redundancy.setter + def compute_redundancy(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "compute_redundancy", value) + + @property + @pulumi.getter(name="dbShardGroupIdentifier") + def db_shard_group_identifier(self) -> Optional[pulumi.Input[str]]: + """ + The name of the DB shard group. + """ + return pulumi.get(self, "db_shard_group_identifier") + + @db_shard_group_identifier.setter + def db_shard_group_identifier(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "db_shard_group_identifier", value) + + @property + @pulumi.getter(name="minAcu") + def min_acu(self) -> Optional[pulumi.Input[float]]: + """ + The minimum capacity of the DB shard group in Aurora capacity units (ACUs). + """ + return pulumi.get(self, "min_acu") + + @min_acu.setter + def min_acu(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "min_acu", value) + + @property + @pulumi.getter(name="publiclyAccessible") + def publicly_accessible(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether the DB shard group is publicly accessible. + """ + return pulumi.get(self, "publicly_accessible") + + @publicly_accessible.setter + def publicly_accessible(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "publicly_accessible", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]: + """ + An array of key-value pairs to apply to this resource. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]): + pulumi.set(self, "tags", value) + + +class DbShardGroup(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + compute_redundancy: Optional[pulumi.Input[int]] = None, + db_cluster_identifier: Optional[pulumi.Input[str]] = None, + db_shard_group_identifier: Optional[pulumi.Input[str]] = None, + max_acu: Optional[pulumi.Input[float]] = None, + min_acu: Optional[pulumi.Input[float]] = None, + publicly_accessible: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, + __props__=None): + """ + The AWS::RDS::DBShardGroup resource creates an Amazon Aurora Limitless DB Shard Group. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[int] compute_redundancy: Specifies whether to create standby instances for the DB shard group. + :param pulumi.Input[str] db_cluster_identifier: The name of the primary DB cluster for the DB shard group. + :param pulumi.Input[str] db_shard_group_identifier: The name of the DB shard group. + :param pulumi.Input[float] max_acu: The maximum capacity of the DB shard group in Aurora capacity units (ACUs). + :param pulumi.Input[float] min_acu: The minimum capacity of the DB shard group in Aurora capacity units (ACUs). + :param pulumi.Input[bool] publicly_accessible: Indicates whether the DB shard group is publicly accessible. + :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]] tags: An array of key-value pairs to apply to this resource. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DbShardGroupArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + The AWS::RDS::DBShardGroup resource creates an Amazon Aurora Limitless DB Shard Group. + + :param str resource_name: The name of the resource. + :param DbShardGroupArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(DbShardGroupArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + compute_redundancy: Optional[pulumi.Input[int]] = None, + db_cluster_identifier: Optional[pulumi.Input[str]] = None, + db_shard_group_identifier: Optional[pulumi.Input[str]] = None, + max_acu: Optional[pulumi.Input[float]] = None, + min_acu: Optional[pulumi.Input[float]] = None, + publicly_accessible: Optional[pulumi.Input[bool]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = DbShardGroupArgs.__new__(DbShardGroupArgs) + + __props__.__dict__["compute_redundancy"] = compute_redundancy + if db_cluster_identifier is None and not opts.urn: + raise TypeError("Missing required property 'db_cluster_identifier'") + __props__.__dict__["db_cluster_identifier"] = db_cluster_identifier + __props__.__dict__["db_shard_group_identifier"] = db_shard_group_identifier + if max_acu is None and not opts.urn: + raise TypeError("Missing required property 'max_acu'") + __props__.__dict__["max_acu"] = max_acu + __props__.__dict__["min_acu"] = min_acu + __props__.__dict__["publicly_accessible"] = publicly_accessible + __props__.__dict__["tags"] = tags + __props__.__dict__["db_shard_group_resource_id"] = None + __props__.__dict__["endpoint"] = None + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["dbClusterIdentifier", "dbShardGroupIdentifier", "publiclyAccessible"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(DbShardGroup, __self__).__init__( + 'aws-native:rds:DbShardGroup', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'DbShardGroup': + """ + Get an existing DbShardGroup resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = DbShardGroupArgs.__new__(DbShardGroupArgs) + + __props__.__dict__["compute_redundancy"] = None + __props__.__dict__["db_cluster_identifier"] = None + __props__.__dict__["db_shard_group_identifier"] = None + __props__.__dict__["db_shard_group_resource_id"] = None + __props__.__dict__["endpoint"] = None + __props__.__dict__["max_acu"] = None + __props__.__dict__["min_acu"] = None + __props__.__dict__["publicly_accessible"] = None + __props__.__dict__["tags"] = None + return DbShardGroup(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="computeRedundancy") + def compute_redundancy(self) -> pulumi.Output[Optional[int]]: + """ + Specifies whether to create standby instances for the DB shard group. + """ + return pulumi.get(self, "compute_redundancy") + + @property + @pulumi.getter(name="dbClusterIdentifier") + def db_cluster_identifier(self) -> pulumi.Output[str]: + """ + The name of the primary DB cluster for the DB shard group. + """ + return pulumi.get(self, "db_cluster_identifier") + + @property + @pulumi.getter(name="dbShardGroupIdentifier") + def db_shard_group_identifier(self) -> pulumi.Output[Optional[str]]: + """ + The name of the DB shard group. + """ + return pulumi.get(self, "db_shard_group_identifier") + + @property + @pulumi.getter(name="dbShardGroupResourceId") + def db_shard_group_resource_id(self) -> pulumi.Output[str]: + """ + The Amazon Web Services Region-unique, immutable identifier for the DB shard group. + """ + return pulumi.get(self, "db_shard_group_resource_id") + + @property + @pulumi.getter + def endpoint(self) -> pulumi.Output[str]: + """ + The connection endpoint for the DB shard group. + """ + return pulumi.get(self, "endpoint") + + @property + @pulumi.getter(name="maxAcu") + def max_acu(self) -> pulumi.Output[float]: + """ + The maximum capacity of the DB shard group in Aurora capacity units (ACUs). + """ + return pulumi.get(self, "max_acu") + + @property + @pulumi.getter(name="minAcu") + def min_acu(self) -> pulumi.Output[Optional[float]]: + """ + The minimum capacity of the DB shard group in Aurora capacity units (ACUs). + """ + return pulumi.get(self, "min_acu") + + @property + @pulumi.getter(name="publiclyAccessible") + def publicly_accessible(self) -> pulumi.Output[Optional[bool]]: + """ + Indicates whether the DB shard group is publicly accessible. + """ + return pulumi.get(self, "publicly_accessible") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Sequence['_root_outputs.Tag']]]: + """ + An array of key-value pairs to apply to this resource. + """ + return pulumi.get(self, "tags") + diff --git a/sdk/python/pulumi_aws_native/rds/get_db_shard_group.py b/sdk/python/pulumi_aws_native/rds/get_db_shard_group.py new file mode 100644 index 0000000000..c2a09d5464 --- /dev/null +++ b/sdk/python/pulumi_aws_native/rds/get_db_shard_group.py @@ -0,0 +1,134 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from .. import outputs as _root_outputs + +__all__ = [ + 'GetDbShardGroupResult', + 'AwaitableGetDbShardGroupResult', + 'get_db_shard_group', + 'get_db_shard_group_output', +] + +@pulumi.output_type +class GetDbShardGroupResult: + def __init__(__self__, compute_redundancy=None, db_shard_group_resource_id=None, endpoint=None, max_acu=None, tags=None): + if compute_redundancy and not isinstance(compute_redundancy, int): + raise TypeError("Expected argument 'compute_redundancy' to be a int") + pulumi.set(__self__, "compute_redundancy", compute_redundancy) + if db_shard_group_resource_id and not isinstance(db_shard_group_resource_id, str): + raise TypeError("Expected argument 'db_shard_group_resource_id' to be a str") + pulumi.set(__self__, "db_shard_group_resource_id", db_shard_group_resource_id) + if endpoint and not isinstance(endpoint, str): + raise TypeError("Expected argument 'endpoint' to be a str") + pulumi.set(__self__, "endpoint", endpoint) + if max_acu and not isinstance(max_acu, float): + raise TypeError("Expected argument 'max_acu' to be a float") + pulumi.set(__self__, "max_acu", max_acu) + if tags and not isinstance(tags, list): + raise TypeError("Expected argument 'tags' to be a list") + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="computeRedundancy") + def compute_redundancy(self) -> Optional[int]: + """ + Specifies whether to create standby instances for the DB shard group. + """ + return pulumi.get(self, "compute_redundancy") + + @property + @pulumi.getter(name="dbShardGroupResourceId") + def db_shard_group_resource_id(self) -> Optional[str]: + """ + The Amazon Web Services Region-unique, immutable identifier for the DB shard group. + """ + return pulumi.get(self, "db_shard_group_resource_id") + + @property + @pulumi.getter + def endpoint(self) -> Optional[str]: + """ + The connection endpoint for the DB shard group. + """ + return pulumi.get(self, "endpoint") + + @property + @pulumi.getter(name="maxAcu") + def max_acu(self) -> Optional[float]: + """ + The maximum capacity of the DB shard group in Aurora capacity units (ACUs). + """ + return pulumi.get(self, "max_acu") + + @property + @pulumi.getter + def tags(self) -> Optional[Sequence['_root_outputs.Tag']]: + """ + An array of key-value pairs to apply to this resource. + """ + return pulumi.get(self, "tags") + + +class AwaitableGetDbShardGroupResult(GetDbShardGroupResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetDbShardGroupResult( + compute_redundancy=self.compute_redundancy, + db_shard_group_resource_id=self.db_shard_group_resource_id, + endpoint=self.endpoint, + max_acu=self.max_acu, + tags=self.tags) + + +def get_db_shard_group(db_shard_group_identifier: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDbShardGroupResult: + """ + The AWS::RDS::DBShardGroup resource creates an Amazon Aurora Limitless DB Shard Group. + + + :param str db_shard_group_identifier: The name of the DB shard group. + """ + __args__ = dict() + __args__['dbShardGroupIdentifier'] = db_shard_group_identifier + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:rds:getDbShardGroup', __args__, opts=opts, typ=GetDbShardGroupResult).value + + return AwaitableGetDbShardGroupResult( + compute_redundancy=pulumi.get(__ret__, 'compute_redundancy'), + db_shard_group_resource_id=pulumi.get(__ret__, 'db_shard_group_resource_id'), + endpoint=pulumi.get(__ret__, 'endpoint'), + max_acu=pulumi.get(__ret__, 'max_acu'), + tags=pulumi.get(__ret__, 'tags')) +def get_db_shard_group_output(db_shard_group_identifier: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDbShardGroupResult]: + """ + The AWS::RDS::DBShardGroup resource creates an Amazon Aurora Limitless DB Shard Group. + + + :param str db_shard_group_identifier: The name of the DB shard group. + """ + __args__ = dict() + __args__['dbShardGroupIdentifier'] = db_shard_group_identifier + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('aws-native:rds:getDbShardGroup', __args__, opts=opts, typ=GetDbShardGroupResult) + return __ret__.apply(lambda __response__: GetDbShardGroupResult( + compute_redundancy=pulumi.get(__response__, 'compute_redundancy'), + db_shard_group_resource_id=pulumi.get(__response__, 'db_shard_group_resource_id'), + endpoint=pulumi.get(__response__, 'endpoint'), + max_acu=pulumi.get(__response__, 'max_acu'), + tags=pulumi.get(__response__, 'tags'))) diff --git a/sdk/python/pulumi_aws_native/transfer/__init__.py b/sdk/python/pulumi_aws_native/transfer/__init__.py index bdcf5ac2d2..061610920d 100644 --- a/sdk/python/pulumi_aws_native/transfer/__init__.py +++ b/sdk/python/pulumi_aws_native/transfer/__init__.py @@ -14,9 +14,11 @@ from .get_connector import * from .get_profile import * from .get_server import * +from .get_user import * from .get_workflow import * from .profile import * from .server import * +from .user import * from .workflow import * from ._inputs import * from . import outputs diff --git a/sdk/python/pulumi_aws_native/transfer/_enums.py b/sdk/python/pulumi_aws_native/transfer/_enums.py index f5baa2443c..d4e18a4258 100644 --- a/sdk/python/pulumi_aws_native/transfer/_enums.py +++ b/sdk/python/pulumi_aws_native/transfer/_enums.py @@ -24,6 +24,8 @@ 'ServerSetStatOption', 'ServerSftpAuthenticationMethods', 'ServerTlsSessionResumptionMode', + 'UserHomeDirectoryType', + 'UserMapType', 'WorkflowStepCopyStepDetailsPropertiesOverwriteExisting', 'WorkflowStepDecryptStepDetailsPropertiesOverwriteExisting', 'WorkflowStepDecryptStepDetailsPropertiesType', @@ -178,6 +180,16 @@ class ServerTlsSessionResumptionMode(str, Enum): ENFORCED = "ENFORCED" +class UserHomeDirectoryType(str, Enum): + PATH = "PATH" + LOGICAL = "LOGICAL" + + +class UserMapType(str, Enum): + FILE = "FILE" + DIRECTORY = "DIRECTORY" + + class WorkflowStepCopyStepDetailsPropertiesOverwriteExisting(str, Enum): """ A flag that indicates whether or not to overwrite an existing file of the same name. The default is FALSE. diff --git a/sdk/python/pulumi_aws_native/transfer/_inputs.py b/sdk/python/pulumi_aws_native/transfer/_inputs.py index bb2faadb38..613088ccc3 100644 --- a/sdk/python/pulumi_aws_native/transfer/_inputs.py +++ b/sdk/python/pulumi_aws_native/transfer/_inputs.py @@ -32,6 +32,10 @@ 'ServerWorkflowDetailArgsDict', 'SftpConfigPropertiesArgs', 'SftpConfigPropertiesArgsDict', + 'UserHomeDirectoryMapEntryArgs', + 'UserHomeDirectoryMapEntryArgsDict', + 'UserPosixProfileArgs', + 'UserPosixProfileArgsDict', 'WorkflowEfsInputFileLocationArgs', 'WorkflowEfsInputFileLocationArgsDict', 'WorkflowInputFileLocationArgs', @@ -946,6 +950,152 @@ def user_secret_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "user_secret_id", value) +if not MYPY: + class UserHomeDirectoryMapEntryArgsDict(TypedDict): + entry: pulumi.Input[str] + """ + Represents an entry for `HomeDirectoryMappings` . + """ + target: pulumi.Input[str] + """ + Represents the map target that is used in a `HomeDirectoryMapEntry` . + """ + type: NotRequired[pulumi.Input['UserMapType']] + """ + 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. + + > 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. + """ +elif False: + UserHomeDirectoryMapEntryArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class UserHomeDirectoryMapEntryArgs: + def __init__(__self__, *, + entry: pulumi.Input[str], + target: pulumi.Input[str], + type: Optional[pulumi.Input['UserMapType']] = None): + """ + :param pulumi.Input[str] entry: Represents an entry for `HomeDirectoryMappings` . + :param pulumi.Input[str] target: Represents the map target that is used in a `HomeDirectoryMapEntry` . + :param pulumi.Input['UserMapType'] type: 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. + + > 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. + """ + pulumi.set(__self__, "entry", entry) + pulumi.set(__self__, "target", target) + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def entry(self) -> pulumi.Input[str]: + """ + Represents an entry for `HomeDirectoryMappings` . + """ + return pulumi.get(self, "entry") + + @entry.setter + def entry(self, value: pulumi.Input[str]): + pulumi.set(self, "entry", value) + + @property + @pulumi.getter + def target(self) -> pulumi.Input[str]: + """ + Represents the map target that is used in a `HomeDirectoryMapEntry` . + """ + return pulumi.get(self, "target") + + @target.setter + def target(self, value: pulumi.Input[str]): + pulumi.set(self, "target", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input['UserMapType']]: + """ + 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. + + > 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. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input['UserMapType']]): + pulumi.set(self, "type", value) + + +if not MYPY: + class UserPosixProfileArgsDict(TypedDict): + gid: pulumi.Input[float] + """ + The POSIX group ID used for all EFS operations by this user. + """ + uid: pulumi.Input[float] + """ + The POSIX user ID used for all EFS operations by this user. + """ + secondary_gids: NotRequired[pulumi.Input[Sequence[pulumi.Input[float]]]] + """ + The secondary POSIX group IDs used for all EFS operations by this user. + """ +elif False: + UserPosixProfileArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class UserPosixProfileArgs: + def __init__(__self__, *, + gid: pulumi.Input[float], + uid: pulumi.Input[float], + secondary_gids: Optional[pulumi.Input[Sequence[pulumi.Input[float]]]] = None): + """ + :param pulumi.Input[float] gid: The POSIX group ID used for all EFS operations by this user. + :param pulumi.Input[float] uid: The POSIX user ID used for all EFS operations by this user. + :param pulumi.Input[Sequence[pulumi.Input[float]]] secondary_gids: The secondary POSIX group IDs used for all EFS operations by this user. + """ + pulumi.set(__self__, "gid", gid) + pulumi.set(__self__, "uid", uid) + if secondary_gids is not None: + pulumi.set(__self__, "secondary_gids", secondary_gids) + + @property + @pulumi.getter + def gid(self) -> pulumi.Input[float]: + """ + The POSIX group ID used for all EFS operations by this user. + """ + return pulumi.get(self, "gid") + + @gid.setter + def gid(self, value: pulumi.Input[float]): + pulumi.set(self, "gid", value) + + @property + @pulumi.getter + def uid(self) -> pulumi.Input[float]: + """ + The POSIX user ID used for all EFS operations by this user. + """ + return pulumi.get(self, "uid") + + @uid.setter + def uid(self, value: pulumi.Input[float]): + pulumi.set(self, "uid", value) + + @property + @pulumi.getter(name="secondaryGids") + def secondary_gids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[float]]]]: + """ + The secondary POSIX group IDs used for all EFS operations by this user. + """ + return pulumi.get(self, "secondary_gids") + + @secondary_gids.setter + def secondary_gids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[float]]]]): + pulumi.set(self, "secondary_gids", value) + + if not MYPY: class WorkflowEfsInputFileLocationArgsDict(TypedDict): """ diff --git a/sdk/python/pulumi_aws_native/transfer/get_user.py b/sdk/python/pulumi_aws_native/transfer/get_user.py new file mode 100644 index 0000000000..a4401fab70 --- /dev/null +++ b/sdk/python/pulumi_aws_native/transfer/get_user.py @@ -0,0 +1,220 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from .. import outputs as _root_outputs +from ._enums import * + +__all__ = [ + 'GetUserResult', + 'AwaitableGetUserResult', + 'get_user', + 'get_user_output', +] + +@pulumi.output_type +class GetUserResult: + def __init__(__self__, arn=None, home_directory=None, home_directory_mappings=None, home_directory_type=None, policy=None, posix_profile=None, role=None, ssh_public_keys=None, tags=None): + if arn and not isinstance(arn, str): + raise TypeError("Expected argument 'arn' to be a str") + pulumi.set(__self__, "arn", arn) + if home_directory and not isinstance(home_directory, str): + raise TypeError("Expected argument 'home_directory' to be a str") + pulumi.set(__self__, "home_directory", home_directory) + if home_directory_mappings and not isinstance(home_directory_mappings, list): + raise TypeError("Expected argument 'home_directory_mappings' to be a list") + pulumi.set(__self__, "home_directory_mappings", home_directory_mappings) + if home_directory_type and not isinstance(home_directory_type, str): + raise TypeError("Expected argument 'home_directory_type' to be a str") + pulumi.set(__self__, "home_directory_type", home_directory_type) + if policy and not isinstance(policy, str): + raise TypeError("Expected argument 'policy' to be a str") + pulumi.set(__self__, "policy", policy) + if posix_profile and not isinstance(posix_profile, dict): + raise TypeError("Expected argument 'posix_profile' to be a dict") + pulumi.set(__self__, "posix_profile", posix_profile) + if role and not isinstance(role, str): + raise TypeError("Expected argument 'role' to be a str") + pulumi.set(__self__, "role", role) + if ssh_public_keys and not isinstance(ssh_public_keys, list): + raise TypeError("Expected argument 'ssh_public_keys' to be a list") + pulumi.set(__self__, "ssh_public_keys", ssh_public_keys) + if tags and not isinstance(tags, list): + raise TypeError("Expected argument 'tags' to be a list") + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def arn(self) -> Optional[str]: + """ + The Amazon Resource Name associated with the user, in the form `arn:aws:transfer:region: *account-id* :user/ *server-id* / *username*` . + + An example of a user ARN is: `arn:aws:transfer:us-east-1:123456789012:user/user1` . + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="homeDirectory") + def home_directory(self) -> Optional[str]: + """ + The landing directory (folder) for a user when they log in to the server using the client. + + A `HomeDirectory` example is `/bucket_name/home/mydirectory` . + + > The `HomeDirectory` parameter is only used if `HomeDirectoryType` is set to `PATH` . + """ + return pulumi.get(self, "home_directory") + + @property + @pulumi.getter(name="homeDirectoryMappings") + def home_directory_mappings(self) -> Optional[Sequence['outputs.UserHomeDirectoryMapEntry']]: + """ + 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* . + + The following is an `Entry` and `Target` pair example. + + `[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]` + + In 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. + + The following is an `Entry` and `Target` pair example for `chroot` . + + `[ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ]` + """ + return pulumi.get(self, "home_directory_mappings") + + @property + @pulumi.getter(name="homeDirectoryType") + def home_directory_type(self) -> Optional['UserHomeDirectoryType']: + """ + 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. + + > 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. + """ + return pulumi.get(self, "home_directory_type") + + @property + @pulumi.getter + def policy(self) -> Optional[str]: + """ + 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}` . + + > 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. + > + > For an example of a session policy, see [Example session policy](https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html) . + > + > For more information, see [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) in the *AWS Security Token Service API Reference* . + """ + return pulumi.get(self, "policy") + + @property + @pulumi.getter(name="posixProfile") + def posix_profile(self) -> Optional['outputs.UserPosixProfile']: + """ + 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. + """ + return pulumi.get(self, "posix_profile") + + @property + @pulumi.getter + def role(self) -> Optional[str]: + """ + 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. + """ + return pulumi.get(self, "role") + + @property + @pulumi.getter(name="sshPublicKeys") + def ssh_public_keys(self) -> Optional[Sequence[str]]: + """ + This represents the SSH User Public Keys for CloudFormation resource + """ + return pulumi.get(self, "ssh_public_keys") + + @property + @pulumi.getter + def tags(self) -> Optional[Sequence['_root_outputs.Tag']]: + """ + Key-value pairs that can be used to group and search for users. Tags are metadata attached to users for any purpose. + """ + return pulumi.get(self, "tags") + + +class AwaitableGetUserResult(GetUserResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetUserResult( + arn=self.arn, + home_directory=self.home_directory, + home_directory_mappings=self.home_directory_mappings, + home_directory_type=self.home_directory_type, + policy=self.policy, + posix_profile=self.posix_profile, + role=self.role, + ssh_public_keys=self.ssh_public_keys, + tags=self.tags) + + +def get_user(arn: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetUserResult: + """ + Definition of AWS::Transfer::User Resource Type + + + :param str arn: The Amazon Resource Name associated with the user, in the form `arn:aws:transfer:region: *account-id* :user/ *server-id* / *username*` . + + An example of a user ARN is: `arn:aws:transfer:us-east-1:123456789012:user/user1` . + """ + __args__ = dict() + __args__['arn'] = arn + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:transfer:getUser', __args__, opts=opts, typ=GetUserResult).value + + return AwaitableGetUserResult( + arn=pulumi.get(__ret__, 'arn'), + home_directory=pulumi.get(__ret__, 'home_directory'), + home_directory_mappings=pulumi.get(__ret__, 'home_directory_mappings'), + home_directory_type=pulumi.get(__ret__, 'home_directory_type'), + policy=pulumi.get(__ret__, 'policy'), + posix_profile=pulumi.get(__ret__, 'posix_profile'), + role=pulumi.get(__ret__, 'role'), + ssh_public_keys=pulumi.get(__ret__, 'ssh_public_keys'), + tags=pulumi.get(__ret__, 'tags')) +def get_user_output(arn: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetUserResult]: + """ + Definition of AWS::Transfer::User Resource Type + + + :param str arn: The Amazon Resource Name associated with the user, in the form `arn:aws:transfer:region: *account-id* :user/ *server-id* / *username*` . + + An example of a user ARN is: `arn:aws:transfer:us-east-1:123456789012:user/user1` . + """ + __args__ = dict() + __args__['arn'] = arn + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('aws-native:transfer:getUser', __args__, opts=opts, typ=GetUserResult) + return __ret__.apply(lambda __response__: GetUserResult( + arn=pulumi.get(__response__, 'arn'), + home_directory=pulumi.get(__response__, 'home_directory'), + home_directory_mappings=pulumi.get(__response__, 'home_directory_mappings'), + home_directory_type=pulumi.get(__response__, 'home_directory_type'), + policy=pulumi.get(__response__, 'policy'), + posix_profile=pulumi.get(__response__, 'posix_profile'), + role=pulumi.get(__response__, 'role'), + ssh_public_keys=pulumi.get(__response__, 'ssh_public_keys'), + tags=pulumi.get(__response__, 'tags'))) diff --git a/sdk/python/pulumi_aws_native/transfer/outputs.py b/sdk/python/pulumi_aws_native/transfer/outputs.py index 88d163e9af..a0c587eb77 100644 --- a/sdk/python/pulumi_aws_native/transfer/outputs.py +++ b/sdk/python/pulumi_aws_native/transfer/outputs.py @@ -25,6 +25,8 @@ 'ServerWorkflowDetail', 'ServerWorkflowDetails', 'SftpConfigProperties', + 'UserHomeDirectoryMapEntry', + 'UserPosixProfile', 'WorkflowEfsInputFileLocation', 'WorkflowInputFileLocation', 'WorkflowS3FileLocation', @@ -758,6 +760,109 @@ def user_secret_id(self) -> Optional[str]: return pulumi.get(self, "user_secret_id") +@pulumi.output_type +class UserHomeDirectoryMapEntry(dict): + def __init__(__self__, *, + entry: str, + target: str, + type: Optional['UserMapType'] = None): + """ + :param str entry: Represents an entry for `HomeDirectoryMappings` . + :param str target: Represents the map target that is used in a `HomeDirectoryMapEntry` . + :param 'UserMapType' type: 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. + + > 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. + """ + pulumi.set(__self__, "entry", entry) + pulumi.set(__self__, "target", target) + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def entry(self) -> str: + """ + Represents an entry for `HomeDirectoryMappings` . + """ + return pulumi.get(self, "entry") + + @property + @pulumi.getter + def target(self) -> str: + """ + Represents the map target that is used in a `HomeDirectoryMapEntry` . + """ + return pulumi.get(self, "target") + + @property + @pulumi.getter + def type(self) -> Optional['UserMapType']: + """ + 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. + + > 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. + """ + return pulumi.get(self, "type") + + +@pulumi.output_type +class UserPosixProfile(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "secondaryGids": + suggest = "secondary_gids" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in UserPosixProfile. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + UserPosixProfile.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + UserPosixProfile.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + gid: float, + uid: float, + secondary_gids: Optional[Sequence[float]] = None): + """ + :param float gid: The POSIX group ID used for all EFS operations by this user. + :param float uid: The POSIX user ID used for all EFS operations by this user. + :param Sequence[float] secondary_gids: The secondary POSIX group IDs used for all EFS operations by this user. + """ + pulumi.set(__self__, "gid", gid) + pulumi.set(__self__, "uid", uid) + if secondary_gids is not None: + pulumi.set(__self__, "secondary_gids", secondary_gids) + + @property + @pulumi.getter + def gid(self) -> float: + """ + The POSIX group ID used for all EFS operations by this user. + """ + return pulumi.get(self, "gid") + + @property + @pulumi.getter + def uid(self) -> float: + """ + The POSIX user ID used for all EFS operations by this user. + """ + return pulumi.get(self, "uid") + + @property + @pulumi.getter(name="secondaryGids") + def secondary_gids(self) -> Optional[Sequence[float]]: + """ + The secondary POSIX group IDs used for all EFS operations by this user. + """ + return pulumi.get(self, "secondary_gids") + + @pulumi.output_type class WorkflowEfsInputFileLocation(dict): """ diff --git a/sdk/python/pulumi_aws_native/transfer/user.py b/sdk/python/pulumi_aws_native/transfer/user.py new file mode 100644 index 0000000000..bded82bbd9 --- /dev/null +++ b/sdk/python/pulumi_aws_native/transfer/user.py @@ -0,0 +1,494 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from .. import _inputs as _root_inputs +from .. import outputs as _root_outputs +from ._enums import * +from ._inputs import * + +__all__ = ['UserArgs', 'User'] + +@pulumi.input_type +class UserArgs: + def __init__(__self__, *, + role: pulumi.Input[str], + server_id: pulumi.Input[str], + home_directory: Optional[pulumi.Input[str]] = None, + home_directory_mappings: Optional[pulumi.Input[Sequence[pulumi.Input['UserHomeDirectoryMapEntryArgs']]]] = None, + home_directory_type: Optional[pulumi.Input['UserHomeDirectoryType']] = None, + policy: Optional[pulumi.Input[str]] = None, + posix_profile: Optional[pulumi.Input['UserPosixProfileArgs']] = None, + ssh_public_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None, + user_name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a User resource. + :param pulumi.Input[str] role: 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. + :param pulumi.Input[str] server_id: A system-assigned unique identifier for a server instance. This is the specific server that you added your user to. + :param pulumi.Input[str] home_directory: The landing directory (folder) for a user when they log in to the server using the client. + + A `HomeDirectory` example is `/bucket_name/home/mydirectory` . + + > The `HomeDirectory` parameter is only used if `HomeDirectoryType` is set to `PATH` . + :param pulumi.Input[Sequence[pulumi.Input['UserHomeDirectoryMapEntryArgs']]] home_directory_mappings: 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* . + + The following is an `Entry` and `Target` pair example. + + `[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]` + + In 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. + + The following is an `Entry` and `Target` pair example for `chroot` . + + `[ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ]` + :param pulumi.Input['UserHomeDirectoryType'] home_directory_type: 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. + + > 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. + :param pulumi.Input[str] policy: 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}` . + + > 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. + > + > For an example of a session policy, see [Example session policy](https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html) . + > + > For more information, see [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) in the *AWS Security Token Service API Reference* . + :param pulumi.Input['UserPosixProfileArgs'] posix_profile: 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. + :param pulumi.Input[Sequence[pulumi.Input[str]]] ssh_public_keys: This represents the SSH User Public Keys for CloudFormation resource + :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: Key-value pairs that can be used to group and search for users. Tags are metadata attached to users for any purpose. + :param pulumi.Input[str] user_name: 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. + """ + pulumi.set(__self__, "role", role) + pulumi.set(__self__, "server_id", server_id) + if home_directory is not None: + pulumi.set(__self__, "home_directory", home_directory) + if home_directory_mappings is not None: + pulumi.set(__self__, "home_directory_mappings", home_directory_mappings) + if home_directory_type is not None: + pulumi.set(__self__, "home_directory_type", home_directory_type) + if policy is not None: + pulumi.set(__self__, "policy", policy) + if posix_profile is not None: + pulumi.set(__self__, "posix_profile", posix_profile) + if ssh_public_keys is not None: + pulumi.set(__self__, "ssh_public_keys", ssh_public_keys) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if user_name is not None: + pulumi.set(__self__, "user_name", user_name) + + @property + @pulumi.getter + def role(self) -> pulumi.Input[str]: + """ + 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. + """ + return pulumi.get(self, "role") + + @role.setter + def role(self, value: pulumi.Input[str]): + pulumi.set(self, "role", value) + + @property + @pulumi.getter(name="serverId") + def server_id(self) -> pulumi.Input[str]: + """ + A system-assigned unique identifier for a server instance. This is the specific server that you added your user to. + """ + return pulumi.get(self, "server_id") + + @server_id.setter + def server_id(self, value: pulumi.Input[str]): + pulumi.set(self, "server_id", value) + + @property + @pulumi.getter(name="homeDirectory") + def home_directory(self) -> Optional[pulumi.Input[str]]: + """ + The landing directory (folder) for a user when they log in to the server using the client. + + A `HomeDirectory` example is `/bucket_name/home/mydirectory` . + + > The `HomeDirectory` parameter is only used if `HomeDirectoryType` is set to `PATH` . + """ + return pulumi.get(self, "home_directory") + + @home_directory.setter + def home_directory(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "home_directory", value) + + @property + @pulumi.getter(name="homeDirectoryMappings") + def home_directory_mappings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['UserHomeDirectoryMapEntryArgs']]]]: + """ + 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* . + + The following is an `Entry` and `Target` pair example. + + `[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]` + + In 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. + + The following is an `Entry` and `Target` pair example for `chroot` . + + `[ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ]` + """ + return pulumi.get(self, "home_directory_mappings") + + @home_directory_mappings.setter + def home_directory_mappings(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['UserHomeDirectoryMapEntryArgs']]]]): + pulumi.set(self, "home_directory_mappings", value) + + @property + @pulumi.getter(name="homeDirectoryType") + def home_directory_type(self) -> Optional[pulumi.Input['UserHomeDirectoryType']]: + """ + 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. + + > 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. + """ + return pulumi.get(self, "home_directory_type") + + @home_directory_type.setter + def home_directory_type(self, value: Optional[pulumi.Input['UserHomeDirectoryType']]): + pulumi.set(self, "home_directory_type", value) + + @property + @pulumi.getter + def policy(self) -> Optional[pulumi.Input[str]]: + """ + 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}` . + + > 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. + > + > For an example of a session policy, see [Example session policy](https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html) . + > + > For more information, see [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) in the *AWS Security Token Service API Reference* . + """ + return pulumi.get(self, "policy") + + @policy.setter + def policy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "policy", value) + + @property + @pulumi.getter(name="posixProfile") + def posix_profile(self) -> Optional[pulumi.Input['UserPosixProfileArgs']]: + """ + 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. + """ + return pulumi.get(self, "posix_profile") + + @posix_profile.setter + def posix_profile(self, value: Optional[pulumi.Input['UserPosixProfileArgs']]): + pulumi.set(self, "posix_profile", value) + + @property + @pulumi.getter(name="sshPublicKeys") + def ssh_public_keys(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + This represents the SSH User Public Keys for CloudFormation resource + """ + return pulumi.get(self, "ssh_public_keys") + + @ssh_public_keys.setter + def ssh_public_keys(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "ssh_public_keys", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]: + """ + Key-value pairs that can be used to group and search for users. Tags are metadata attached to users for any purpose. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="userName") + def user_name(self) -> Optional[pulumi.Input[str]]: + """ + 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. + """ + return pulumi.get(self, "user_name") + + @user_name.setter + def user_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_name", value) + + +class User(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + home_directory: Optional[pulumi.Input[str]] = None, + home_directory_mappings: Optional[pulumi.Input[Sequence[pulumi.Input[Union['UserHomeDirectoryMapEntryArgs', 'UserHomeDirectoryMapEntryArgsDict']]]]] = None, + home_directory_type: Optional[pulumi.Input['UserHomeDirectoryType']] = None, + policy: Optional[pulumi.Input[str]] = None, + posix_profile: Optional[pulumi.Input[Union['UserPosixProfileArgs', 'UserPosixProfileArgsDict']]] = None, + role: Optional[pulumi.Input[str]] = None, + server_id: Optional[pulumi.Input[str]] = None, + ssh_public_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, + user_name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Definition of AWS::Transfer::User Resource Type + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] home_directory: The landing directory (folder) for a user when they log in to the server using the client. + + A `HomeDirectory` example is `/bucket_name/home/mydirectory` . + + > The `HomeDirectory` parameter is only used if `HomeDirectoryType` is set to `PATH` . + :param pulumi.Input[Sequence[pulumi.Input[Union['UserHomeDirectoryMapEntryArgs', 'UserHomeDirectoryMapEntryArgsDict']]]] home_directory_mappings: 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* . + + The following is an `Entry` and `Target` pair example. + + `[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]` + + In 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. + + The following is an `Entry` and `Target` pair example for `chroot` . + + `[ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ]` + :param pulumi.Input['UserHomeDirectoryType'] home_directory_type: 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. + + > 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. + :param pulumi.Input[str] policy: 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}` . + + > 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. + > + > For an example of a session policy, see [Example session policy](https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html) . + > + > For more information, see [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) in the *AWS Security Token Service API Reference* . + :param pulumi.Input[Union['UserPosixProfileArgs', 'UserPosixProfileArgsDict']] posix_profile: 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. + :param pulumi.Input[str] role: 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. + :param pulumi.Input[str] server_id: A system-assigned unique identifier for a server instance. This is the specific server that you added your user to. + :param pulumi.Input[Sequence[pulumi.Input[str]]] ssh_public_keys: This represents the SSH User Public Keys for CloudFormation resource + :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]] tags: Key-value pairs that can be used to group and search for users. Tags are metadata attached to users for any purpose. + :param pulumi.Input[str] user_name: 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. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: UserArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Definition of AWS::Transfer::User Resource Type + + :param str resource_name: The name of the resource. + :param UserArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(UserArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + home_directory: Optional[pulumi.Input[str]] = None, + home_directory_mappings: Optional[pulumi.Input[Sequence[pulumi.Input[Union['UserHomeDirectoryMapEntryArgs', 'UserHomeDirectoryMapEntryArgsDict']]]]] = None, + home_directory_type: Optional[pulumi.Input['UserHomeDirectoryType']] = None, + policy: Optional[pulumi.Input[str]] = None, + posix_profile: Optional[pulumi.Input[Union['UserPosixProfileArgs', 'UserPosixProfileArgsDict']]] = None, + role: Optional[pulumi.Input[str]] = None, + server_id: Optional[pulumi.Input[str]] = None, + ssh_public_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, + user_name: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = UserArgs.__new__(UserArgs) + + __props__.__dict__["home_directory"] = home_directory + __props__.__dict__["home_directory_mappings"] = home_directory_mappings + __props__.__dict__["home_directory_type"] = home_directory_type + __props__.__dict__["policy"] = policy + __props__.__dict__["posix_profile"] = posix_profile + if role is None and not opts.urn: + raise TypeError("Missing required property 'role'") + __props__.__dict__["role"] = role + if server_id is None and not opts.urn: + raise TypeError("Missing required property 'server_id'") + __props__.__dict__["server_id"] = server_id + __props__.__dict__["ssh_public_keys"] = ssh_public_keys + __props__.__dict__["tags"] = tags + __props__.__dict__["user_name"] = user_name + __props__.__dict__["arn"] = None + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["serverId", "userName"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(User, __self__).__init__( + 'aws-native:transfer:User', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'User': + """ + Get an existing User resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = UserArgs.__new__(UserArgs) + + __props__.__dict__["arn"] = None + __props__.__dict__["home_directory"] = None + __props__.__dict__["home_directory_mappings"] = None + __props__.__dict__["home_directory_type"] = None + __props__.__dict__["policy"] = None + __props__.__dict__["posix_profile"] = None + __props__.__dict__["role"] = None + __props__.__dict__["server_id"] = None + __props__.__dict__["ssh_public_keys"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["user_name"] = None + return User(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + The Amazon Resource Name associated with the user, in the form `arn:aws:transfer:region: *account-id* :user/ *server-id* / *username*` . + + An example of a user ARN is: `arn:aws:transfer:us-east-1:123456789012:user/user1` . + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="homeDirectory") + def home_directory(self) -> pulumi.Output[Optional[str]]: + """ + The landing directory (folder) for a user when they log in to the server using the client. + + A `HomeDirectory` example is `/bucket_name/home/mydirectory` . + + > The `HomeDirectory` parameter is only used if `HomeDirectoryType` is set to `PATH` . + """ + return pulumi.get(self, "home_directory") + + @property + @pulumi.getter(name="homeDirectoryMappings") + def home_directory_mappings(self) -> pulumi.Output[Optional[Sequence['outputs.UserHomeDirectoryMapEntry']]]: + """ + 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* . + + The following is an `Entry` and `Target` pair example. + + `[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]` + + In 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. + + The following is an `Entry` and `Target` pair example for `chroot` . + + `[ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ]` + """ + return pulumi.get(self, "home_directory_mappings") + + @property + @pulumi.getter(name="homeDirectoryType") + def home_directory_type(self) -> pulumi.Output[Optional['UserHomeDirectoryType']]: + """ + 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. + + > 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. + """ + return pulumi.get(self, "home_directory_type") + + @property + @pulumi.getter + def policy(self) -> pulumi.Output[Optional[str]]: + """ + 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}` . + + > 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. + > + > For an example of a session policy, see [Example session policy](https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html) . + > + > For more information, see [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) in the *AWS Security Token Service API Reference* . + """ + return pulumi.get(self, "policy") + + @property + @pulumi.getter(name="posixProfile") + def posix_profile(self) -> pulumi.Output[Optional['outputs.UserPosixProfile']]: + """ + 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. + """ + return pulumi.get(self, "posix_profile") + + @property + @pulumi.getter + def role(self) -> pulumi.Output[str]: + """ + 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. + """ + return pulumi.get(self, "role") + + @property + @pulumi.getter(name="serverId") + def server_id(self) -> pulumi.Output[str]: + """ + A system-assigned unique identifier for a server instance. This is the specific server that you added your user to. + """ + return pulumi.get(self, "server_id") + + @property + @pulumi.getter(name="sshPublicKeys") + def ssh_public_keys(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + This represents the SSH User Public Keys for CloudFormation resource + """ + return pulumi.get(self, "ssh_public_keys") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Sequence['_root_outputs.Tag']]]: + """ + Key-value pairs that can be used to group and search for users. Tags are metadata attached to users for any purpose. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="userName") + def user_name(self) -> pulumi.Output[str]: + """ + 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. + """ + return pulumi.get(self, "user_name") + diff --git a/sdk/python/pulumi_aws_native/wisdom/__init__.py b/sdk/python/pulumi_aws_native/wisdom/__init__.py index c887f86558..23193f25a6 100644 --- a/sdk/python/pulumi_aws_native/wisdom/__init__.py +++ b/sdk/python/pulumi_aws_native/wisdom/__init__.py @@ -7,11 +7,13 @@ # Export this package's modules as members: from ._enums import * from .ai_agent import * +from .ai_agent_version import * from .ai_prompt import * from .ai_prompt_version import * from .assistant import * from .assistant_association import * from .get_ai_agent import * +from .get_ai_agent_version import * from .get_ai_prompt import * from .get_ai_prompt_version import * from .get_assistant import * diff --git a/sdk/python/pulumi_aws_native/wisdom/ai_agent.py b/sdk/python/pulumi_aws_native/wisdom/ai_agent.py index df2f264289..d690521e2f 100644 --- a/sdk/python/pulumi_aws_native/wisdom/ai_agent.py +++ b/sdk/python/pulumi_aws_native/wisdom/ai_agent.py @@ -30,6 +30,12 @@ def __init__(__self__, *, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a AiAgent resource. + :param pulumi.Input[str] assistant_id: The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. + :param pulumi.Input[Union['AiAgentAiAgentConfiguration0PropertiesArgs', 'AiAgentAiAgentConfiguration1PropertiesArgs']] configuration: Configuration for the AI Agent. + :param pulumi.Input['AiAgentAiAgentType'] type: The type of the AI Agent. + :param pulumi.Input[str] description: The description of the AI Agent. + :param pulumi.Input[str] name: The name of the AI Agent. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: The tags used to organize, track, or control access for this resource. """ pulumi.set(__self__, "assistant_id", assistant_id) pulumi.set(__self__, "configuration", configuration) @@ -44,6 +50,9 @@ def __init__(__self__, *, @property @pulumi.getter(name="assistantId") def assistant_id(self) -> pulumi.Input[str]: + """ + The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. + """ return pulumi.get(self, "assistant_id") @assistant_id.setter @@ -53,6 +62,9 @@ def assistant_id(self, value: pulumi.Input[str]): @property @pulumi.getter def configuration(self) -> pulumi.Input[Union['AiAgentAiAgentConfiguration0PropertiesArgs', 'AiAgentAiAgentConfiguration1PropertiesArgs']]: + """ + Configuration for the AI Agent. + """ return pulumi.get(self, "configuration") @configuration.setter @@ -62,6 +74,9 @@ def configuration(self, value: pulumi.Input[Union['AiAgentAiAgentConfiguration0P @property @pulumi.getter def type(self) -> pulumi.Input['AiAgentAiAgentType']: + """ + The type of the AI Agent. + """ return pulumi.get(self, "type") @type.setter @@ -71,6 +86,9 @@ def type(self, value: pulumi.Input['AiAgentAiAgentType']): @property @pulumi.getter def description(self) -> Optional[pulumi.Input[str]]: + """ + The description of the AI Agent. + """ return pulumi.get(self, "description") @description.setter @@ -80,6 +98,9 @@ def description(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the AI Agent. + """ return pulumi.get(self, "name") @name.setter @@ -89,6 +110,9 @@ def name(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + The tags used to organize, track, or control access for this resource. + """ return pulumi.get(self, "tags") @tags.setter @@ -113,6 +137,12 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] assistant_id: The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. + :param pulumi.Input[Union[Union['AiAgentAiAgentConfiguration0PropertiesArgs', 'AiAgentAiAgentConfiguration0PropertiesArgsDict'], Union['AiAgentAiAgentConfiguration1PropertiesArgs', 'AiAgentAiAgentConfiguration1PropertiesArgsDict']]] configuration: Configuration for the AI Agent. + :param pulumi.Input[str] description: The description of the AI Agent. + :param pulumi.Input[str] name: The name of the AI Agent. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: The tags used to organize, track, or control access for this resource. + :param pulumi.Input['AiAgentAiAgentType'] type: The type of the AI Agent. """ ... @overload @@ -206,45 +236,72 @@ def get(resource_name: str, @property @pulumi.getter(name="aiAgentArn") def ai_agent_arn(self) -> pulumi.Output[str]: + """ + The Amazon Resource Name (ARN) of the AI agent. + """ return pulumi.get(self, "ai_agent_arn") @property @pulumi.getter(name="aiAgentId") def ai_agent_id(self) -> pulumi.Output[str]: + """ + The identifier of the AI Agent. + """ return pulumi.get(self, "ai_agent_id") @property @pulumi.getter(name="assistantArn") def assistant_arn(self) -> pulumi.Output[str]: + """ + The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant. + """ return pulumi.get(self, "assistant_arn") @property @pulumi.getter(name="assistantId") def assistant_id(self) -> pulumi.Output[str]: + """ + The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. + """ return pulumi.get(self, "assistant_id") @property @pulumi.getter def configuration(self) -> pulumi.Output[Any]: + """ + Configuration for the AI Agent. + """ return pulumi.get(self, "configuration") @property @pulumi.getter def description(self) -> pulumi.Output[Optional[str]]: + """ + The description of the AI Agent. + """ return pulumi.get(self, "description") @property @pulumi.getter def name(self) -> pulumi.Output[Optional[str]]: + """ + The name of the AI Agent. + """ return pulumi.get(self, "name") @property @pulumi.getter def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + The tags used to organize, track, or control access for this resource. + """ return pulumi.get(self, "tags") @property @pulumi.getter def type(self) -> pulumi.Output['AiAgentAiAgentType']: + """ + The type of the AI Agent. + """ return pulumi.get(self, "type") diff --git a/sdk/python/pulumi_aws_native/wisdom/ai_agent_version.py b/sdk/python/pulumi_aws_native/wisdom/ai_agent_version.py new file mode 100644 index 0000000000..f8072ba4bf --- /dev/null +++ b/sdk/python/pulumi_aws_native/wisdom/ai_agent_version.py @@ -0,0 +1,193 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = ['AiAgentVersionArgs', 'AiAgentVersion'] + +@pulumi.input_type +class AiAgentVersionArgs: + def __init__(__self__, *, + ai_agent_id: pulumi.Input[str], + assistant_id: pulumi.Input[str], + modified_time_seconds: Optional[pulumi.Input[float]] = None): + """ + The set of arguments for constructing a AiAgentVersion resource. + """ + pulumi.set(__self__, "ai_agent_id", ai_agent_id) + pulumi.set(__self__, "assistant_id", assistant_id) + if modified_time_seconds is not None: + pulumi.set(__self__, "modified_time_seconds", modified_time_seconds) + + @property + @pulumi.getter(name="aiAgentId") + def ai_agent_id(self) -> pulumi.Input[str]: + return pulumi.get(self, "ai_agent_id") + + @ai_agent_id.setter + def ai_agent_id(self, value: pulumi.Input[str]): + pulumi.set(self, "ai_agent_id", value) + + @property + @pulumi.getter(name="assistantId") + def assistant_id(self) -> pulumi.Input[str]: + return pulumi.get(self, "assistant_id") + + @assistant_id.setter + def assistant_id(self, value: pulumi.Input[str]): + pulumi.set(self, "assistant_id", value) + + @property + @pulumi.getter(name="modifiedTimeSeconds") + def modified_time_seconds(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "modified_time_seconds") + + @modified_time_seconds.setter + def modified_time_seconds(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "modified_time_seconds", value) + + +class AiAgentVersion(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + ai_agent_id: Optional[pulumi.Input[str]] = None, + assistant_id: Optional[pulumi.Input[str]] = None, + modified_time_seconds: Optional[pulumi.Input[float]] = None, + __props__=None): + """ + Definition of AWS::Wisdom::AIAgentVersion Resource Type + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AiAgentVersionArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Definition of AWS::Wisdom::AIAgentVersion Resource Type + + :param str resource_name: The name of the resource. + :param AiAgentVersionArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(AiAgentVersionArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + ai_agent_id: Optional[pulumi.Input[str]] = None, + assistant_id: Optional[pulumi.Input[str]] = None, + modified_time_seconds: Optional[pulumi.Input[float]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = AiAgentVersionArgs.__new__(AiAgentVersionArgs) + + if ai_agent_id is None and not opts.urn: + raise TypeError("Missing required property 'ai_agent_id'") + __props__.__dict__["ai_agent_id"] = ai_agent_id + if assistant_id is None and not opts.urn: + raise TypeError("Missing required property 'assistant_id'") + __props__.__dict__["assistant_id"] = assistant_id + __props__.__dict__["modified_time_seconds"] = modified_time_seconds + __props__.__dict__["ai_agent_arn"] = None + __props__.__dict__["ai_agent_version_id"] = None + __props__.__dict__["assistant_arn"] = None + __props__.__dict__["version_number"] = None + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["aiAgentId", "assistantId", "modifiedTimeSeconds"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(AiAgentVersion, __self__).__init__( + 'aws-native:wisdom:AiAgentVersion', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'AiAgentVersion': + """ + Get an existing AiAgentVersion resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = AiAgentVersionArgs.__new__(AiAgentVersionArgs) + + __props__.__dict__["ai_agent_arn"] = None + __props__.__dict__["ai_agent_id"] = None + __props__.__dict__["ai_agent_version_id"] = None + __props__.__dict__["assistant_arn"] = None + __props__.__dict__["assistant_id"] = None + __props__.__dict__["modified_time_seconds"] = None + __props__.__dict__["version_number"] = None + return AiAgentVersion(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="aiAgentArn") + def ai_agent_arn(self) -> pulumi.Output[str]: + return pulumi.get(self, "ai_agent_arn") + + @property + @pulumi.getter(name="aiAgentId") + def ai_agent_id(self) -> pulumi.Output[str]: + return pulumi.get(self, "ai_agent_id") + + @property + @pulumi.getter(name="aiAgentVersionId") + def ai_agent_version_id(self) -> pulumi.Output[str]: + return pulumi.get(self, "ai_agent_version_id") + + @property + @pulumi.getter(name="assistantArn") + def assistant_arn(self) -> pulumi.Output[str]: + return pulumi.get(self, "assistant_arn") + + @property + @pulumi.getter(name="assistantId") + def assistant_id(self) -> pulumi.Output[str]: + return pulumi.get(self, "assistant_id") + + @property + @pulumi.getter(name="modifiedTimeSeconds") + def modified_time_seconds(self) -> pulumi.Output[Optional[float]]: + return pulumi.get(self, "modified_time_seconds") + + @property + @pulumi.getter(name="versionNumber") + def version_number(self) -> pulumi.Output[float]: + """ + The version number for this AI Agent version. + """ + return pulumi.get(self, "version_number") + diff --git a/sdk/python/pulumi_aws_native/wisdom/ai_prompt_version.py b/sdk/python/pulumi_aws_native/wisdom/ai_prompt_version.py index a422fac687..a504b0b558 100644 --- a/sdk/python/pulumi_aws_native/wisdom/ai_prompt_version.py +++ b/sdk/python/pulumi_aws_native/wisdom/ai_prompt_version.py @@ -186,5 +186,8 @@ def modified_time_seconds(self) -> pulumi.Output[Optional[float]]: @property @pulumi.getter(name="versionNumber") def version_number(self) -> pulumi.Output[float]: + """ + The version number for this AI Prompt version. + """ return pulumi.get(self, "version_number") diff --git a/sdk/python/pulumi_aws_native/wisdom/get_ai_agent.py b/sdk/python/pulumi_aws_native/wisdom/get_ai_agent.py index 529cdefcbd..3a98d32635 100644 --- a/sdk/python/pulumi_aws_native/wisdom/get_ai_agent.py +++ b/sdk/python/pulumi_aws_native/wisdom/get_ai_agent.py @@ -45,26 +45,41 @@ def __init__(__self__, ai_agent_arn=None, ai_agent_id=None, assistant_arn=None, @property @pulumi.getter(name="aiAgentArn") def ai_agent_arn(self) -> Optional[str]: + """ + The Amazon Resource Name (ARN) of the AI agent. + """ return pulumi.get(self, "ai_agent_arn") @property @pulumi.getter(name="aiAgentId") def ai_agent_id(self) -> Optional[str]: + """ + The identifier of the AI Agent. + """ return pulumi.get(self, "ai_agent_id") @property @pulumi.getter(name="assistantArn") def assistant_arn(self) -> Optional[str]: + """ + The Amazon Resource Name (ARN) of the Amazon Q in Connect assistant. + """ return pulumi.get(self, "assistant_arn") @property @pulumi.getter def configuration(self) -> Optional[Any]: + """ + Configuration for the AI Agent. + """ return pulumi.get(self, "configuration") @property @pulumi.getter def description(self) -> Optional[str]: + """ + The description of the AI Agent. + """ return pulumi.get(self, "description") @@ -86,6 +101,10 @@ def get_ai_agent(ai_agent_id: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetAiAgentResult: """ Definition of AWS::Wisdom::AIAgent Resource Type + + + :param str ai_agent_id: The identifier of the AI Agent. + :param str assistant_id: The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. """ __args__ = dict() __args__['aiAgentId'] = ai_agent_id @@ -104,6 +123,10 @@ def get_ai_agent_output(ai_agent_id: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAiAgentResult]: """ Definition of AWS::Wisdom::AIAgent Resource Type + + + :param str ai_agent_id: The identifier of the AI Agent. + :param str assistant_id: The identifier of the Amazon Q in Connect assistant. Can be either the ID or the ARN. URLs cannot contain the ARN. """ __args__ = dict() __args__['aiAgentId'] = ai_agent_id diff --git a/sdk/python/pulumi_aws_native/wisdom/get_ai_agent_version.py b/sdk/python/pulumi_aws_native/wisdom/get_ai_agent_version.py new file mode 100644 index 0000000000..6a26a3f2e6 --- /dev/null +++ b/sdk/python/pulumi_aws_native/wisdom/get_ai_agent_version.py @@ -0,0 +1,118 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = [ + 'GetAiAgentVersionResult', + 'AwaitableGetAiAgentVersionResult', + 'get_ai_agent_version', + 'get_ai_agent_version_output', +] + +@pulumi.output_type +class GetAiAgentVersionResult: + def __init__(__self__, ai_agent_arn=None, ai_agent_version_id=None, assistant_arn=None, version_number=None): + if ai_agent_arn and not isinstance(ai_agent_arn, str): + raise TypeError("Expected argument 'ai_agent_arn' to be a str") + pulumi.set(__self__, "ai_agent_arn", ai_agent_arn) + if ai_agent_version_id and not isinstance(ai_agent_version_id, str): + raise TypeError("Expected argument 'ai_agent_version_id' to be a str") + pulumi.set(__self__, "ai_agent_version_id", ai_agent_version_id) + if assistant_arn and not isinstance(assistant_arn, str): + raise TypeError("Expected argument 'assistant_arn' to be a str") + pulumi.set(__self__, "assistant_arn", assistant_arn) + if version_number and not isinstance(version_number, float): + raise TypeError("Expected argument 'version_number' to be a float") + pulumi.set(__self__, "version_number", version_number) + + @property + @pulumi.getter(name="aiAgentArn") + def ai_agent_arn(self) -> Optional[str]: + return pulumi.get(self, "ai_agent_arn") + + @property + @pulumi.getter(name="aiAgentVersionId") + def ai_agent_version_id(self) -> Optional[str]: + return pulumi.get(self, "ai_agent_version_id") + + @property + @pulumi.getter(name="assistantArn") + def assistant_arn(self) -> Optional[str]: + return pulumi.get(self, "assistant_arn") + + @property + @pulumi.getter(name="versionNumber") + def version_number(self) -> Optional[float]: + """ + The version number for this AI Agent version. + """ + return pulumi.get(self, "version_number") + + +class AwaitableGetAiAgentVersionResult(GetAiAgentVersionResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetAiAgentVersionResult( + ai_agent_arn=self.ai_agent_arn, + ai_agent_version_id=self.ai_agent_version_id, + assistant_arn=self.assistant_arn, + version_number=self.version_number) + + +def get_ai_agent_version(ai_agent_id: Optional[str] = None, + assistant_id: Optional[str] = None, + version_number: Optional[float] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetAiAgentVersionResult: + """ + Definition of AWS::Wisdom::AIAgentVersion Resource Type + + + :param float version_number: The version number for this AI Agent version. + """ + __args__ = dict() + __args__['aiAgentId'] = ai_agent_id + __args__['assistantId'] = assistant_id + __args__['versionNumber'] = version_number + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:wisdom:getAiAgentVersion', __args__, opts=opts, typ=GetAiAgentVersionResult).value + + return AwaitableGetAiAgentVersionResult( + ai_agent_arn=pulumi.get(__ret__, 'ai_agent_arn'), + ai_agent_version_id=pulumi.get(__ret__, 'ai_agent_version_id'), + assistant_arn=pulumi.get(__ret__, 'assistant_arn'), + version_number=pulumi.get(__ret__, 'version_number')) +def get_ai_agent_version_output(ai_agent_id: Optional[pulumi.Input[str]] = None, + assistant_id: Optional[pulumi.Input[str]] = None, + version_number: Optional[pulumi.Input[float]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAiAgentVersionResult]: + """ + Definition of AWS::Wisdom::AIAgentVersion Resource Type + + + :param float version_number: The version number for this AI Agent version. + """ + __args__ = dict() + __args__['aiAgentId'] = ai_agent_id + __args__['assistantId'] = assistant_id + __args__['versionNumber'] = version_number + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('aws-native:wisdom:getAiAgentVersion', __args__, opts=opts, typ=GetAiAgentVersionResult) + return __ret__.apply(lambda __response__: GetAiAgentVersionResult( + ai_agent_arn=pulumi.get(__response__, 'ai_agent_arn'), + ai_agent_version_id=pulumi.get(__response__, 'ai_agent_version_id'), + assistant_arn=pulumi.get(__response__, 'assistant_arn'), + version_number=pulumi.get(__response__, 'version_number'))) diff --git a/sdk/python/pulumi_aws_native/wisdom/get_ai_prompt_version.py b/sdk/python/pulumi_aws_native/wisdom/get_ai_prompt_version.py index e81cfee1aa..a05dc031e2 100644 --- a/sdk/python/pulumi_aws_native/wisdom/get_ai_prompt_version.py +++ b/sdk/python/pulumi_aws_native/wisdom/get_ai_prompt_version.py @@ -55,6 +55,9 @@ def assistant_arn(self) -> Optional[str]: @property @pulumi.getter(name="versionNumber") def version_number(self) -> Optional[float]: + """ + The version number for this AI Prompt version. + """ return pulumi.get(self, "version_number") @@ -76,6 +79,9 @@ def get_ai_prompt_version(ai_prompt_id: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetAiPromptVersionResult: """ Definition of AWS::Wisdom::AIPromptVersion Resource Type + + + :param float version_number: The version number for this AI Prompt version. """ __args__ = dict() __args__['aiPromptId'] = ai_prompt_id @@ -95,6 +101,9 @@ def get_ai_prompt_version_output(ai_prompt_id: Optional[pulumi.Input[str]] = Non opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAiPromptVersionResult]: """ Definition of AWS::Wisdom::AIPromptVersion Resource Type + + + :param float version_number: The version number for this AI Prompt version. """ __args__ = dict() __args__['aiPromptId'] = ai_prompt_id