diff --git a/CHANGELOG.md b/CHANGELOG.md index 316454b1d9b..9bb02f3caed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,15 @@ +Release v1.50.8 (2024-01-31) +=== + +### Service Client Updates +* `service/cloudformation`: Updates service API, documentation, paginators, and examples + * CloudFormation IaC generator allows you to scan existing resources in your account and select resources to generate a template for a new or existing CloudFormation stack. +* `service/elasticloadbalancingv2`: Updates service API and documentation +* `service/glue`: Updates service API and documentation + * Update page size limits for GetJobRuns and GetTriggers APIs. +* `service/ssm`: Updates service API and documentation + * This release adds an optional Duration parameter to StateManager Associations. This allows customers to specify how long an apply-only-on-cron association execution should run. Once the specified Duration is out all the ongoing cancellable commands or automations are cancelled. + Release v1.50.7 (2024-01-30) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index f6bb14d063e..6d5013fcac5 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -29098,6 +29098,9 @@ var awsPartition = partition{ }, Deprecated: boxedTrue, }, + endpointKey{ + Region: "il-central-1", + }: endpoint{}, endpointKey{ Region: "us-east-1", }: endpoint{}, diff --git a/aws/version.go b/aws/version.go index 4429c44d131..4885dbc9099 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.50.7" +const SDKVersion = "1.50.8" diff --git a/models/apis/cloudformation/2010-05-15/api-2.json b/models/apis/cloudformation/2010-05-15/api-2.json index 1e9525e9f7d..4980ae5d0e8 100644 --- a/models/apis/cloudformation/2010-05-15/api-2.json +++ b/models/apis/cloudformation/2010-05-15/api-2.json @@ -103,6 +103,23 @@ {"shape":"LimitExceededException"} ] }, + "CreateGeneratedTemplate":{ + "name":"CreateGeneratedTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateGeneratedTemplateInput"}, + "output":{ + "shape":"CreateGeneratedTemplateOutput", + "resultWrapper":"CreateGeneratedTemplateResult" + }, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"ConcurrentResourcesLimitExceededException"} + ] + }, "CreateStack":{ "name":"CreateStack", "http":{ @@ -206,6 +223,18 @@ {"shape":"InvalidChangeSetStatusException"} ] }, + "DeleteGeneratedTemplate":{ + "name":"DeleteGeneratedTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteGeneratedTemplateInput"}, + "errors":[ + {"shape":"GeneratedTemplateNotFoundException"}, + {"shape":"ConcurrentResourcesLimitExceededException"} + ] + }, "DeleteStack":{ "name":"DeleteStack", "http":{ @@ -311,6 +340,21 @@ {"shape":"ChangeSetNotFoundException"} ] }, + "DescribeGeneratedTemplate":{ + "name":"DescribeGeneratedTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeGeneratedTemplateInput"}, + "output":{ + "shape":"DescribeGeneratedTemplateOutput", + "resultWrapper":"DescribeGeneratedTemplateResult" + }, + "errors":[ + {"shape":"GeneratedTemplateNotFoundException"} + ] + }, "DescribeOrganizationsAccess":{ "name":"DescribeOrganizationsAccess", "http":{ @@ -343,6 +387,21 @@ ], "idempotent":true }, + "DescribeResourceScan":{ + "name":"DescribeResourceScan", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeResourceScanInput"}, + "output":{ + "shape":"DescribeResourceScanOutput", + "resultWrapper":"DescribeResourceScanResult" + }, + "errors":[ + {"shape":"ResourceScanNotFoundException"} + ] + }, "DescribeStackDriftDetectionStatus":{ "name":"DescribeStackDriftDetectionStatus", "http":{ @@ -566,6 +625,21 @@ {"shape":"TokenAlreadyExistsException"} ] }, + "GetGeneratedTemplate":{ + "name":"GetGeneratedTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetGeneratedTemplateInput"}, + "output":{ + "shape":"GetGeneratedTemplateOutput", + "resultWrapper":"GetGeneratedTemplateResult" + }, + "errors":[ + {"shape":"GeneratedTemplateNotFoundException"} + ] + }, "GetStackPolicy":{ "name":"GetStackPolicy", "http":{ @@ -653,6 +727,18 @@ "resultWrapper":"ListExportsResult" } }, + "ListGeneratedTemplates":{ + "name":"ListGeneratedTemplates", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListGeneratedTemplatesInput"}, + "output":{ + "shape":"ListGeneratedTemplatesOutput", + "resultWrapper":"ListGeneratedTemplatesResult" + } + }, "ListImports":{ "name":"ListImports", "http":{ @@ -665,6 +751,50 @@ "resultWrapper":"ListImportsResult" } }, + "ListResourceScanRelatedResources":{ + "name":"ListResourceScanRelatedResources", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListResourceScanRelatedResourcesInput"}, + "output":{ + "shape":"ListResourceScanRelatedResourcesOutput", + "resultWrapper":"ListResourceScanRelatedResourcesResult" + }, + "errors":[ + {"shape":"ResourceScanNotFoundException"}, + {"shape":"ResourceScanInProgressException"} + ] + }, + "ListResourceScanResources":{ + "name":"ListResourceScanResources", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListResourceScanResourcesInput"}, + "output":{ + "shape":"ListResourceScanResourcesOutput", + "resultWrapper":"ListResourceScanResourcesResult" + }, + "errors":[ + {"shape":"ResourceScanNotFoundException"}, + {"shape":"ResourceScanInProgressException"} + ] + }, + "ListResourceScans":{ + "name":"ListResourceScans", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListResourceScansInput"}, + "output":{ + "shape":"ListResourceScansOutput", + "resultWrapper":"ListResourceScansResult" + } + }, "ListStackInstanceResourceDrifts":{ "name":"ListStackInstanceResourceDrifts", "http":{ @@ -942,6 +1072,22 @@ }, "input":{"shape":"SignalResourceInput"} }, + "StartResourceScan":{ + "name":"StartResourceScan", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartResourceScanInput"}, + "output":{ + "shape":"StartResourceScanOutput", + "resultWrapper":"StartResourceScanResult" + }, + "errors":[ + {"shape":"ResourceScanInProgressException"}, + {"shape":"ResourceScanLimitExceededException"} + ] + }, "StopStackSetOperation":{ "name":"StopStackSetOperation", "http":{ @@ -976,6 +1122,23 @@ ], "idempotent":true }, + "UpdateGeneratedTemplate":{ + "name":"UpdateGeneratedTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateGeneratedTemplateInput"}, + "output":{ + "shape":"UpdateGeneratedTemplateOutput", + "resultWrapper":"UpdateGeneratedTemplateResult" + }, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"GeneratedTemplateNotFoundException"}, + {"shape":"LimitExceededException"} + ] + }, "UpdateStack":{ "name":"UpdateStack", "http":{ @@ -1417,6 +1580,17 @@ "SOFT_FAILURE_TOLERANCE" ] }, + "ConcurrentResourcesLimitExceededException":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"ConcurrentResourcesLimitExceeded", + "httpStatusCode":429, + "senderFault":true + }, + "exception":true + }, "ConfigurationSchema":{ "type":"string", "max":60000, @@ -1479,6 +1653,22 @@ "StackId":{"shape":"StackId"} } }, + "CreateGeneratedTemplateInput":{ + "type":"structure", + "required":["GeneratedTemplateName"], + "members":{ + "Resources":{"shape":"ResourceDefinitions"}, + "GeneratedTemplateName":{"shape":"GeneratedTemplateName"}, + "StackName":{"shape":"StackName"}, + "TemplateConfiguration":{"shape":"TemplateConfiguration"} + } + }, + "CreateGeneratedTemplateOutput":{ + "type":"structure", + "members":{ + "GeneratedTemplateId":{"shape":"GeneratedTemplateId"} + } + }, "CreateStackInput":{ "type":"structure", "required":["StackName"], @@ -1613,6 +1803,13 @@ "members":{ } }, + "DeleteGeneratedTemplateInput":{ + "type":"structure", + "required":["GeneratedTemplateName"], + "members":{ + "GeneratedTemplateName":{"shape":"GeneratedTemplateName"} + } + }, "DeleteStackInput":{ "type":"structure", "required":["StackName"], @@ -1764,6 +1961,29 @@ "ImportExistingResources":{"shape":"ImportExistingResources"} } }, + "DescribeGeneratedTemplateInput":{ + "type":"structure", + "required":["GeneratedTemplateName"], + "members":{ + "GeneratedTemplateName":{"shape":"GeneratedTemplateName"} + } + }, + "DescribeGeneratedTemplateOutput":{ + "type":"structure", + "members":{ + "GeneratedTemplateId":{"shape":"GeneratedTemplateId"}, + "GeneratedTemplateName":{"shape":"GeneratedTemplateName"}, + "Resources":{"shape":"ResourceDetails"}, + "Status":{"shape":"GeneratedTemplateStatus"}, + "StatusReason":{"shape":"TemplateStatusReason"}, + "CreationTime":{"shape":"CreationTime"}, + "LastUpdatedTime":{"shape":"LastUpdatedTime"}, + "Progress":{"shape":"TemplateProgress"}, + "StackId":{"shape":"StackId"}, + "TemplateConfiguration":{"shape":"TemplateConfiguration"}, + "TotalWarnings":{"shape":"TotalWarnings"} + } + }, "DescribeOrganizationsAccessInput":{ "type":"structure", "members":{ @@ -1791,6 +2011,27 @@ "PublisherProfile":{"shape":"PublisherProfile"} } }, + "DescribeResourceScanInput":{ + "type":"structure", + "required":["ResourceScanId"], + "members":{ + "ResourceScanId":{"shape":"ResourceScanId"} + } + }, + "DescribeResourceScanOutput":{ + "type":"structure", + "members":{ + "ResourceScanId":{"shape":"ResourceScanId"}, + "Status":{"shape":"ResourceScanStatus"}, + "StatusReason":{"shape":"ResourceScanStatusReason"}, + "StartTime":{"shape":"Timestamp"}, + "EndTime":{"shape":"Timestamp"}, + "PercentageCompleted":{"shape":"PercentageCompleted"}, + "ResourceTypes":{"shape":"ResourceTypes"}, + "ResourcesScanned":{"shape":"ResourcesScanned"}, + "ResourcesRead":{"shape":"ResourcesRead"} + } + }, "DescribeStackDriftDetectionStatusInput":{ "type":"structure", "required":["StackDriftDetectionId"], @@ -2167,6 +2408,78 @@ "max":100, "min":0 }, + "GeneratedTemplateDeletionPolicy":{ + "type":"string", + "enum":[ + "DELETE", + "RETAIN" + ] + }, + "GeneratedTemplateId":{ + "type":"string", + "max":256, + "min":1 + }, + "GeneratedTemplateName":{ + "type":"string", + "max":128, + "min":1 + }, + "GeneratedTemplateNotFoundException":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"GeneratedTemplateNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "GeneratedTemplateResourceStatus":{ + "type":"string", + "enum":[ + "PENDING", + "IN_PROGRESS", + "FAILED", + "COMPLETE" + ] + }, + "GeneratedTemplateStatus":{ + "type":"string", + "enum":[ + "CREATE_PENDING", + "UPDATE_PENDING", + "DELETE_PENDING", + "CREATE_IN_PROGRESS", + "UPDATE_IN_PROGRESS", + "DELETE_IN_PROGRESS", + "FAILED", + "COMPLETE" + ] + }, + "GeneratedTemplateUpdateReplacePolicy":{ + "type":"string", + "enum":[ + "DELETE", + "RETAIN" + ] + }, + "GetGeneratedTemplateInput":{ + "type":"structure", + "required":["GeneratedTemplateName"], + "members":{ + "Format":{"shape":"TemplateFormat"}, + "GeneratedTemplateName":{"shape":"GeneratedTemplateName"} + } + }, + "GetGeneratedTemplateOutput":{ + "type":"structure", + "members":{ + "Status":{"shape":"GeneratedTemplateStatus"}, + "TemplateBody":{"shape":"TemplateBody"} + } + }, "GetStackPolicyInput":{ "type":"structure", "required":["StackName"], @@ -2398,6 +2711,19 @@ "IsActivated":{"type":"boolean"}, "IsDefaultConfiguration":{"type":"boolean"}, "IsDefaultVersion":{"type":"boolean"}, + "JazzLogicalResourceIds":{ + "type":"list", + "member":{"shape":"LogicalResourceId"}, + "max":500, + "min":1 + }, + "JazzResourceIdentifierProperties":{ + "type":"map", + "key":{"shape":"JazzResourceIdentifierPropertyKey"}, + "value":{"shape":"JazzResourceIdentifierPropertyValue"} + }, + "JazzResourceIdentifierPropertyKey":{"type":"string"}, + "JazzResourceIdentifierPropertyValue":{"type":"string"}, "Key":{"type":"string"}, "LastUpdatedTime":{"type":"timestamp"}, "LimitExceededException":{ @@ -2441,6 +2767,20 @@ "NextToken":{"shape":"NextToken"} } }, + "ListGeneratedTemplatesInput":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResults"} + } + }, + "ListGeneratedTemplatesOutput":{ + "type":"structure", + "members":{ + "Summaries":{"shape":"TemplateSummaries"}, + "NextToken":{"shape":"NextToken"} + } + }, "ListImportsInput":{ "type":"structure", "required":["ExportName"], @@ -2456,6 +2796,60 @@ "NextToken":{"shape":"NextToken"} } }, + "ListResourceScanRelatedResourcesInput":{ + "type":"structure", + "required":[ + "ResourceScanId", + "Resources" + ], + "members":{ + "ResourceScanId":{"shape":"ResourceScanId"}, + "Resources":{"shape":"ScannedResourceIdentifiers"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"BoxedMaxResults"} + } + }, + "ListResourceScanRelatedResourcesOutput":{ + "type":"structure", + "members":{ + "RelatedResources":{"shape":"RelatedResources"}, + "NextToken":{"shape":"NextToken"} + } + }, + "ListResourceScanResourcesInput":{ + "type":"structure", + "required":["ResourceScanId"], + "members":{ + "ResourceScanId":{"shape":"ResourceScanId"}, + "ResourceIdentifier":{"shape":"ResourceIdentifier"}, + "ResourceTypePrefix":{"shape":"ResourceTypePrefix"}, + "TagKey":{"shape":"TagKey"}, + "TagValue":{"shape":"TagValue"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"ResourceScannerMaxResults"} + } + }, + "ListResourceScanResourcesOutput":{ + "type":"structure", + "members":{ + "Resources":{"shape":"ScannedResources"}, + "NextToken":{"shape":"NextToken"} + } + }, + "ListResourceScansInput":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"ResourceScannerMaxResults"} + } + }, + "ListResourceScansOutput":{ + "type":"structure", + "members":{ + "ResourceScanSummaries":{"shape":"ResourceScanSummaries"}, + "NextToken":{"shape":"NextToken"} + } + }, "ListStackInstanceResourceDriftsInput":{ "type":"structure", "required":[ @@ -2672,6 +3066,7 @@ "max":100000, "min":1 }, + "ManagedByStack":{"type":"boolean"}, "ManagedExecution":{ "type":"structure", "members":{ @@ -2729,6 +3124,10 @@ "member":{"shape":"NotificationARN"}, "max":5 }, + "NumberOfResources":{ + "type":"integer", + "min":0 + }, "OnFailure":{ "type":"string", "enum":[ @@ -2892,6 +3291,7 @@ "type":"list", "member":{"shape":"Parameter"} }, + "PercentageCompleted":{"type":"double"}, "PermissionModels":{ "type":"string", "enum":[ @@ -2922,6 +3322,7 @@ "pattern":"arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:[0-9]{12}:type/.+" }, "Properties":{"type":"string"}, + "PropertyDescription":{"type":"string"}, "PropertyDifference":{ "type":"structure", "required":[ @@ -3018,6 +3419,7 @@ "members":{ } }, + "RefreshAllResources":{"type":"boolean"}, "Region":{ "type":"string", "pattern":"^[a-zA-Z0-9-]{1,128}$" @@ -3093,6 +3495,10 @@ "HOOK" ] }, + "RelatedResources":{ + "type":"list", + "member":{"shape":"ScannedResource"} + }, "Replacement":{ "type":"string", "enum":[ @@ -3120,6 +3526,7 @@ "type":"list", "member":{"shape":"RequiredActivatedType"} }, + "RequiredProperty":{"type":"boolean"}, "RequiresRecreation":{ "type":"string", "enum":[ @@ -3167,6 +3574,42 @@ "type":"list", "member":{"shape":"ResourceChangeDetail"} }, + "ResourceDefinition":{ + "type":"structure", + "required":[ + "ResourceType", + "ResourceIdentifier" + ], + "members":{ + "ResourceType":{"shape":"ResourceType"}, + "LogicalResourceId":{"shape":"LogicalResourceId"}, + "ResourceIdentifier":{"shape":"ResourceIdentifierProperties"} + } + }, + "ResourceDefinitions":{ + "type":"list", + "member":{"shape":"ResourceDefinition"}, + "max":500, + "min":1 + }, + "ResourceDetail":{ + "type":"structure", + "members":{ + "ResourceType":{"shape":"ResourceType"}, + "LogicalResourceId":{"shape":"LogicalResourceId"}, + "ResourceIdentifier":{"shape":"ResourceIdentifierProperties"}, + "ResourceStatus":{"shape":"GeneratedTemplateResourceStatus"}, + "ResourceStatusReason":{"shape":"ResourceStatusReason"}, + "Warnings":{"shape":"WarningDetails"} + } + }, + "ResourceDetails":{ + "type":"list", + "member":{"shape":"ResourceDetail"}, + "max":500, + "min":1 + }, + "ResourceIdentifier":{"type":"string"}, "ResourceIdentifierProperties":{ "type":"map", "key":{"shape":"ResourceIdentifierPropertyKey"}, @@ -3206,6 +3649,69 @@ "min":1 }, "ResourceProperties":{"type":"string"}, + "ResourceScanId":{"type":"string"}, + "ResourceScanInProgressException":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"ResourceScanInProgress", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "ResourceScanLimitExceededException":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"ResourceScanLimitExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "ResourceScanNotFoundException":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"ResourceScanNotFound", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "ResourceScanStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "FAILED", + "COMPLETE", + "EXPIRED" + ] + }, + "ResourceScanStatusReason":{"type":"string"}, + "ResourceScanSummaries":{ + "type":"list", + "member":{"shape":"ResourceScanSummary"} + }, + "ResourceScanSummary":{ + "type":"structure", + "members":{ + "ResourceScanId":{"shape":"ResourceScanId"}, + "Status":{"shape":"ResourceScanStatus"}, + "StatusReason":{"shape":"ResourceScanStatusReason"}, + "StartTime":{"shape":"Timestamp"}, + "EndTime":{"shape":"Timestamp"}, + "PercentageCompleted":{"shape":"PercentageCompleted"} + } + }, + "ResourceScannerMaxResults":{ + "type":"integer", + "box":true + }, "ResourceSignalStatus":{ "type":"string", "enum":[ @@ -3276,10 +3782,29 @@ "max":256, "min":1 }, + "ResourceTypePrefix":{"type":"string"}, "ResourceTypes":{ "type":"list", "member":{"shape":"ResourceType"} }, + "ResourcesFailed":{ + "type":"integer", + "min":0 + }, + "ResourcesPending":{ + "type":"integer", + "min":0 + }, + "ResourcesProcessing":{ + "type":"integer", + "min":0 + }, + "ResourcesRead":{"type":"integer"}, + "ResourcesScanned":{"type":"integer"}, + "ResourcesSucceeded":{ + "type":"integer", + "min":0 + }, "ResourcesToImport":{ "type":"list", "member":{"shape":"ResourceToImport"}, @@ -3358,6 +3883,33 @@ "max":4096, "min":1 }, + "ScannedResource":{ + "type":"structure", + "members":{ + "ResourceType":{"shape":"ResourceType"}, + "ResourceIdentifier":{"shape":"JazzResourceIdentifierProperties"}, + "ManagedByStack":{"shape":"ManagedByStack"} + } + }, + "ScannedResourceIdentifier":{ + "type":"structure", + "required":[ + "ResourceType", + "ResourceIdentifier" + ], + "members":{ + "ResourceType":{"shape":"ResourceType"}, + "ResourceIdentifier":{"shape":"JazzResourceIdentifierProperties"} + } + }, + "ScannedResourceIdentifiers":{ + "type":"list", + "member":{"shape":"ScannedResourceIdentifier"} + }, + "ScannedResources":{ + "type":"list", + "member":{"shape":"ScannedResource"} + }, "Scope":{ "type":"list", "member":{"shape":"ResourceAttribute"} @@ -4106,6 +4658,18 @@ }, "exception":true }, + "StartResourceScanInput":{ + "type":"structure", + "members":{ + "ClientRequestToken":{"shape":"ClientRequestToken"} + } + }, + "StartResourceScanOutput":{ + "type":"structure", + "members":{ + "ResourceScanId":{"shape":"ResourceScanId"} + } + }, "StatusMessage":{ "type":"string", "max":1024 @@ -4166,7 +4730,21 @@ "type":"string", "min":1 }, + "TemplateConfiguration":{ + "type":"structure", + "members":{ + "DeletionPolicy":{"shape":"GeneratedTemplateDeletionPolicy"}, + "UpdateReplacePolicy":{"shape":"GeneratedTemplateUpdateReplacePolicy"} + } + }, "TemplateDescription":{"type":"string"}, + "TemplateFormat":{ + "type":"string", + "enum":[ + "JSON", + "YAML" + ] + }, "TemplateParameter":{ "type":"structure", "members":{ @@ -4180,6 +4758,15 @@ "type":"list", "member":{"shape":"TemplateParameter"} }, + "TemplateProgress":{ + "type":"structure", + "members":{ + "ResourcesSucceeded":{"shape":"ResourcesSucceeded"}, + "ResourcesFailed":{"shape":"ResourcesFailed"}, + "ResourcesProcessing":{"shape":"ResourcesProcessing"}, + "ResourcesPending":{"shape":"ResourcesPending"} + } + }, "TemplateStage":{ "type":"string", "enum":[ @@ -4187,6 +4774,27 @@ "Processed" ] }, + "TemplateStatusReason":{ + "type":"string", + "max":256, + "min":1 + }, + "TemplateSummaries":{ + "type":"list", + "member":{"shape":"TemplateSummary"} + }, + "TemplateSummary":{ + "type":"structure", + "members":{ + "GeneratedTemplateId":{"shape":"GeneratedTemplateId"}, + "GeneratedTemplateName":{"shape":"GeneratedTemplateName"}, + "Status":{"shape":"GeneratedTemplateStatus"}, + "StatusReason":{"shape":"TemplateStatusReason"}, + "CreationTime":{"shape":"CreationTime"}, + "LastUpdatedTime":{"shape":"LastUpdatedTime"}, + "NumberOfResources":{"shape":"NumberOfResources"} + } + }, "TemplateSummaryConfig":{ "type":"structure", "members":{ @@ -4247,6 +4855,10 @@ "type":"integer", "min":0 }, + "TotalWarnings":{ + "type":"integer", + "min":0 + }, "TransformName":{"type":"string"}, "TransformsList":{ "type":"list", @@ -4419,6 +5031,24 @@ "type":"list", "member":{"shape":"TypeConfigurationIdentifier"} }, + "UpdateGeneratedTemplateInput":{ + "type":"structure", + "required":["GeneratedTemplateName"], + "members":{ + "GeneratedTemplateName":{"shape":"GeneratedTemplateName"}, + "NewGeneratedTemplateName":{"shape":"GeneratedTemplateName"}, + "AddResources":{"shape":"ResourceDefinitions"}, + "RemoveResources":{"shape":"JazzLogicalResourceIds"}, + "RefreshAllResources":{"shape":"RefreshAllResources"}, + "TemplateConfiguration":{"shape":"TemplateConfiguration"} + } + }, + "UpdateGeneratedTemplateOutput":{ + "type":"structure", + "members":{ + "GeneratedTemplateId":{"shape":"GeneratedTemplateId"} + } + }, "UpdateStackInput":{ "type":"structure", "required":["StackName"], @@ -4562,6 +5192,37 @@ "PRIVATE" ] }, + "WarningDetail":{ + "type":"structure", + "members":{ + "Type":{"shape":"WarningType"}, + "Properties":{"shape":"WarningProperties"} + } + }, + "WarningDetails":{ + "type":"list", + "member":{"shape":"WarningDetail"} + }, + "WarningProperties":{ + "type":"list", + "member":{"shape":"WarningProperty"} + }, + "WarningProperty":{ + "type":"structure", + "members":{ + "PropertyPath":{"shape":"PropertyPath"}, + "Required":{"shape":"RequiredProperty"}, + "Description":{"shape":"PropertyDescription"} + } + }, + "WarningType":{ + "type":"string", + "enum":[ + "MUTUALLY_EXCLUSIVE_PROPERTIES", + "UNSUPPORTED_PROPERTIES", + "MUTUALLY_EXCLUSIVE_TYPES" + ] + }, "Warnings":{ "type":"structure", "members":{ diff --git a/models/apis/cloudformation/2010-05-15/docs-2.json b/models/apis/cloudformation/2010-05-15/docs-2.json index 7b5ad422d8e..fbdb1b40451 100644 --- a/models/apis/cloudformation/2010-05-15/docs-2.json +++ b/models/apis/cloudformation/2010-05-15/docs-2.json @@ -8,12 +8,14 @@ "CancelUpdateStack": "

Cancels an update on the specified stack. If the call completes successfully, the stack rolls back the update and reverts to the previous stack configuration.

You can cancel only stacks that are in the UPDATE_IN_PROGRESS state.

", "ContinueUpdateRollback": "

For a specified stack that's in the UPDATE_ROLLBACK_FAILED state, continues rolling it back to the UPDATE_ROLLBACK_COMPLETE state. Depending on the cause of the failure, you can manually fix the error and continue the rollback. By continuing the rollback, you can return your stack to a working state (the UPDATE_ROLLBACK_COMPLETE state), and then try to update the stack again.

A stack goes into the UPDATE_ROLLBACK_FAILED state when CloudFormation can't roll back all changes after a failed stack update. For example, you might have a stack that's rolling back to an old database instance that was deleted outside of CloudFormation. Because CloudFormation doesn't know the database was deleted, it assumes that the database instance still exists and attempts to roll back to it, causing the update rollback to fail.

", "CreateChangeSet": "

Creates a list of changes that will be applied to a stack so that you can review the changes before executing them. You can create a change set for a stack that doesn't exist or an existing stack. If you create a change set for a stack that doesn't exist, the change set shows all of the resources that CloudFormation will create. If you create a change set for an existing stack, CloudFormation compares the stack's information with the information that you submit in the change set and lists the differences. Use change sets to understand which resources CloudFormation will create or change, and how it will change resources in an existing stack, before you create or update a stack.

To create a change set for a stack that doesn't exist, for the ChangeSetType parameter, specify CREATE. To create a change set for an existing stack, specify UPDATE for the ChangeSetType parameter. To create a change set for an import operation, specify IMPORT for the ChangeSetType parameter. After the CreateChangeSet call successfully completes, CloudFormation starts creating the change set. To check the status of the change set or to review it, use the DescribeChangeSet action.

When you are satisfied with the changes the change set will make, execute the change set by using the ExecuteChangeSet action. CloudFormation doesn't make changes until you execute the change set.

To create a change set for the entire stack hierarchy, set IncludeNestedStacks to True.

", + "CreateGeneratedTemplate": "

Creates a template from existing resources that are not already managed with CloudFormation. You can check the status of the template generation using the DescribeGeneratedTemplate API action.

", "CreateStack": "

Creates a stack as specified in the template. After the call completes successfully, the stack creation starts. You can check the status of the stack through the DescribeStacks operation.

", "CreateStackInstances": "

Creates stack instances for the specified accounts, within the specified Amazon Web Services Regions. A stack instance refers to a stack in a specific account and Region. You must specify at least one value for either Accounts or DeploymentTargets, and you must specify at least one value for Regions.

", "CreateStackSet": "

Creates a stack set.

", "DeactivateOrganizationsAccess": "

Deactivates trusted access with Organizations. If trusted access is deactivated, the management account does not have permissions to create and manage service-managed StackSets for your organization.

", "DeactivateType": "

Deactivates a public extension that was previously activated in this account and Region.

Once deactivated, an extension can't be used in any CloudFormation operation. This includes stack update operations where the stack template includes the extension, even if no updates are being made to the extension. In addition, deactivated extensions aren't automatically updated if a new version of the extension is released.

", "DeleteChangeSet": "

Deletes the specified change set. Deleting change sets ensures that no one executes the wrong change set.

If the call successfully completes, CloudFormation successfully deleted the change set.

If IncludeNestedStacks specifies True during the creation of the nested change set, then DeleteChangeSet will delete all change sets that belong to the stacks hierarchy and will also delete all change sets for nested stacks with the status of REVIEW_IN_PROGRESS.

", + "DeleteGeneratedTemplate": "

Deleted a generated template.

", "DeleteStack": "

Deletes a specified stack. Once the call completes successfully, stack deletion starts. Deleted stacks don't show up in the DescribeStacks operation if the deletion has been completed successfully.

", "DeleteStackInstances": "

Deletes stack instances for the specified accounts, in the specified Amazon Web Services Regions.

", "DeleteStackSet": "

Deletes a stack set. Before you can delete a stack set, all its member stack instances must be deleted. For more information about how to complete this, see DeleteStackInstances.

", @@ -21,8 +23,10 @@ "DescribeAccountLimits": "

Retrieves your account's CloudFormation limits, such as the maximum number of stacks that you can create in your account. For more information about account limits, see CloudFormation Quotas in the CloudFormation User Guide.

", "DescribeChangeSet": "

Returns the inputs for the change set and a list of changes that CloudFormation will make if you execute the change set. For more information, see Updating Stacks Using Change Sets in the CloudFormation User Guide.

", "DescribeChangeSetHooks": "

Returns hook-related information for the change set and a list of changes that CloudFormation makes when you run the change set.

", + "DescribeGeneratedTemplate": "

Describes a generated template. The output includes details about the progress of the creation of a generated template started by a CreateGeneratedTemplate API action or the update of a generated template started with an UpdateGeneratedTemplate API action.

", "DescribeOrganizationsAccess": "

Retrieves information about the account's OrganizationAccess status. This API can be called either by the management account or the delegated administrator by using the CallAs parameter. This API can also be called without the CallAs parameter by the management account.

", "DescribePublisher": "

Returns information about a CloudFormation extension publisher.

If you don't supply a PublisherId, and you have registered as an extension publisher, DescribePublisher returns information about your own publisher account.

For more information about registering as a publisher, see:

", + "DescribeResourceScan": "

Describes details of a resource scan.

", "DescribeStackDriftDetectionStatus": "

Returns information about a stack drift detection operation. A stack drift detection operation detects whether a stack's actual configuration differs, or has drifted, from its expected configuration, as defined in the stack template and any values specified as template parameters. A stack is considered to have drifted if one or more of its resources have drifted. For more information about stack and resource drift, see Detecting Unregulated Configuration Changes to Stacks and Resources.

Use DetectStackDrift to initiate a stack drift detection operation. DetectStackDrift returns a StackDriftDetectionId you can use to monitor the progress of the operation using DescribeStackDriftDetectionStatus. Once the drift detection operation has completed, use DescribeStackResourceDrifts to return drift information about the stack and its resources.

", "DescribeStackEvents": "

Returns all stack related events for a specified stack in reverse chronological order. For more information about a stack's event history, go to Stacks in the CloudFormation User Guide.

You can list events for stacks that have failed to create or have been deleted by specifying the unique stack identifier (stack ID).

", "DescribeStackInstance": "

Returns the stack instance that's associated with the specified StackSet, Amazon Web Services account, and Amazon Web Services Region.

For a list of stack instances that are associated with a specific StackSet, use ListStackInstances.

", @@ -39,13 +43,18 @@ "DetectStackSetDrift": "

Detect drift on a stack set. When CloudFormation performs drift detection on a stack set, it performs drift detection on the stack associated with each stack instance in the stack set. For more information, see How CloudFormation performs drift detection on a stack set.

DetectStackSetDrift returns the OperationId of the stack set drift detection operation. Use this operation id with DescribeStackSetOperation to monitor the progress of the drift detection operation. The drift detection operation may take some time, depending on the number of stack instances included in the stack set, in addition to the number of resources included in each stack.

Once the operation has completed, use the following actions to return drift information:

For more information about performing a drift detection operation on a stack set, see Detecting unmanaged changes in stack sets.

You can only run a single drift detection operation on a given stack set at one time.

To stop a drift detection stack set operation, use StopStackSetOperation.

", "EstimateTemplateCost": "

Returns the estimated monthly cost of a template. The return value is an Amazon Web Services Simple Monthly Calculator URL with a query string that describes the resources required to run the template.

", "ExecuteChangeSet": "

Updates a stack using the input information that was provided when the specified change set was created. After the call successfully completes, CloudFormation starts updating the stack. Use the DescribeStacks action to view the status of the update.

When you execute a change set, CloudFormation deletes all other change sets associated with the stack because they aren't valid for the updated stack.

If a stack policy is associated with the stack, CloudFormation enforces the policy during the update. You can't specify a temporary stack policy that overrides the current policy.

To create a change set for the entire stack hierarchy, IncludeNestedStacks must have been set to True.

", + "GetGeneratedTemplate": "

Retrieves a generated template. If the template is in an InProgress or Pending status then the template returned will be the template when the template was last in a Complete status. If the template has not yet been in a Complete status then an empty template will be returned.

", "GetStackPolicy": "

Returns the stack policy for a specified stack. If a stack doesn't have a policy, a null value is returned.

", "GetTemplate": "

Returns the template body for a specified stack. You can get the template for running or deleted stacks.

For deleted stacks, GetTemplate returns the template for up to 90 days after the stack has been deleted.

If the template doesn't exist, a ValidationError is returned.

", "GetTemplateSummary": "

Returns information about a new or existing template. The GetTemplateSummary action is useful for viewing parameter information, such as default parameter values and parameter types, before you create or update a stack or stack set.

You can use the GetTemplateSummary action when you submit a template, or you can get template information for a stack set, or a running or deleted stack.

For deleted stacks, GetTemplateSummary returns the template information for up to 90 days after the stack has been deleted. If the template doesn't exist, a ValidationError is returned.

", "ImportStacksToStackSet": "

Import existing stacks into a new stack sets. Use the stack import operation to import up to 10 stacks into a new stack set in the same account as the source stack or in a different administrator account and Region, by specifying the stack ID of the stack you intend to import.

", "ListChangeSets": "

Returns the ID and status of each active change set for a stack. For example, CloudFormation lists change sets that are in the CREATE_IN_PROGRESS or CREATE_PENDING state.

", "ListExports": "

Lists all exported output values in the account and Region in which you call this action. Use this action to see the exported output values that you can import into other stacks. To import values, use the Fn::ImportValue function.

For more information, see CloudFormation export stack output values.

", + "ListGeneratedTemplates": "

Lists your generated templates in this Region.

", "ListImports": "

Lists all stacks that are importing an exported output value. To modify or remove an exported output value, first use this action to see which stacks are using it. To see the exported output values in your account, see ListExports.

For more information about importing an exported output value, see the Fn::ImportValue function.

", + "ListResourceScanRelatedResources": "

Lists the related resources for a list of resources from a resource scan. The response indicates whether each returned resource is already managed by CloudFormation.

", + "ListResourceScanResources": "

Lists the resources from a resource scan. The results can be filtered by resource identifier, resource type prefix, tag key, and tag value. Only resources that match all specified filters are returned. The response indicates whether each returned resource is already managed by CloudFormation.

", + "ListResourceScans": "

List the resource scans from newest to oldest. By default it will return up to 10 resource scans.

", "ListStackInstanceResourceDrifts": "

Returns drift information for resources in a stack instance.

ListStackInstanceResourceDrifts returns drift information for the most recent drift detection operation. If an operation is in progress, it may only return partial results.

", "ListStackInstances": "

Returns summary information about stack instances that are associated with the specified stack set. You can filter for stack instances that are associated with a specific Amazon Web Services account name or Region, or that have a specific status.

", "ListStackResources": "

Returns descriptions of all resources of the specified stack.

For deleted stacks, ListStackResources returns resource information for up to 90 days after the stack has been deleted.

", @@ -65,8 +74,10 @@ "SetTypeConfiguration": "

Specifies the configuration data for a registered CloudFormation extension, in the given account and Region.

To view the current configuration data for an extension, refer to the ConfigurationSchema element of DescribeType. For more information, see Configuring extensions at the account level in the CloudFormation User Guide.

It's strongly recommended that you use dynamic references to restrict sensitive configuration definitions, such as third-party credentials. For more details on dynamic references, see Using dynamic references to specify template values in the CloudFormation User Guide.

", "SetTypeDefaultVersion": "

Specify the default version of an extension. The default version of an extension will be used in CloudFormation operations.

", "SignalResource": "

Sends a signal to the specified resource with a success or failure status. You can use the SignalResource operation in conjunction with a creation policy or update policy. CloudFormation doesn't proceed with a stack creation or update until resources receive the required number of signals or the timeout period is exceeded. The SignalResource operation is useful in cases where you want to send signals from anywhere other than an Amazon EC2 instance.

", + "StartResourceScan": "

Starts a scan of the resources in this account in this Region. You can the status of a scan using the ListResourceScans API action.

", "StopStackSetOperation": "

Stops an in-progress operation on a stack set and its associated stack instances. StackSets will cancel all the unstarted stack instance deployments and wait for those are in-progress to complete.

", "TestType": "

Tests a registered extension to make sure it meets all necessary requirements for being published in the CloudFormation registry.

For more information, see Testing your public extension prior to publishing in the CloudFormation CLI User Guide.

If you don't specify a version, CloudFormation uses the default version of the extension in your account and Region for testing.

To perform testing, CloudFormation assumes the execution role specified when the type was registered. For more information, see RegisterType.

Once you've initiated testing on an extension using TestType, you can pass the returned TypeVersionArn into DescribeType to monitor the current test status and test status description for the extension.

An extension must have a test status of PASSED before it can be published. For more information, see Publishing extensions to make them available for public use in the CloudFormation CLI User Guide.

", + "UpdateGeneratedTemplate": "

Updates a generated template. This can be used to change the name, add and remove resources, refresh resources, and change the DeletionPolicy and UpdateReplacePolicy settings. You can check the status of the update to the generated template using the DescribeGeneratedTemplate API action.

", "UpdateStack": "

Updates a stack as specified in the template. After the call completes successfully, the stack update starts. You can check the status of the stack through the DescribeStacks action.

To get a copy of the template for an existing stack, you can use the GetTemplate action.

For more information about creating an update template, updating a stack, and monitoring the progress of the update, see Updating a Stack.

", "UpdateStackInstances": "

Updates the parameter values for stack instances for the specified accounts, within the specified Amazon Web Services Regions. A stack instance refers to a stack in a specific account and Region.

You can only update stack instances in Amazon Web Services Regions and accounts where they already exist; to create additional stack instances, use CreateStackInstances.

During stack set updates, any parameters overridden for a stack instance aren't updated, but retain their overridden value.

You can only update the parameter values that are specified in the stack set; to add or delete a parameter itself, use UpdateStackSet to update the stack set template. If you add a parameter to a template, before you can override the parameter value specified in the stack set you must first use UpdateStackSet to update all stack instances with the updated template and parameter value specified in the stack set. Once a stack instance has been updated with the new parameter, you can then override the parameter value using UpdateStackInstances.

", "UpdateStackSet": "

Updates the stack set, and associated stack instances in the specified accounts and Amazon Web Services Regions.

Even if the stack set operation created by updating the stack set fails (completely or partially, below or above a specified failure tolerance), the stack set is updated with your changes. Subsequent CreateStackInstances calls on the specified stack set use the updated stack set.

", @@ -240,7 +251,8 @@ "BoxedMaxResults": { "base": null, "refs": { - "DescribeStackResourceDriftsInput$MaxResults": "

The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

" + "DescribeStackResourceDriftsInput$MaxResults": "

The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

", + "ListResourceScanRelatedResourcesInput$MaxResults": "

If the number of available results exceeds this maximum, the response includes a NextToken value that you can use for the NextToken parameter to get the next set of results. By default the ListResourceScanRelatedResources API action will return up to 100 results in each response. The maximum value is 100.

" } }, "CFNRegistryException": { @@ -476,6 +488,7 @@ "StackInstanceSummary$LastOperationId": "

The last unique ID of a StackSet operation performed on a stack instance.

", "StackSetOperation$OperationId": "

The unique ID of a stack set operation.

", "StackSetOperationSummary$OperationId": "

The unique ID of the stack set operation.

", + "StartResourceScanInput$ClientRequestToken": "

A unique identifier for this StartResourceScan request. Specify this token if you plan to retry requests so that CloudFormation knows that you're not attempting to start a new resource scan.

", "StopStackSetOperationInput$OperationId": "

The ID of the stack operation.

", "UpdateStackInput$ClientRequestToken": "

A unique identifier for this UpdateStack request. Specify this token if you plan to retry requests so that CloudFormation knows that you're not attempting to update a stack with the same name. You might retry UpdateStack requests to ensure that CloudFormation successfully received them.

All events triggered by a given stack operation are assigned the same client request token, which you can use to track operations. For example, if you execute a CreateStack operation with the token token1, then all the StackEvents generated by that operation will have ClientRequestToken set as token1.

In the console, stack operations display the client request token on the Events tab. Stack operations that are initiated from the console use the token format Console-StackOperation-ID, which helps you easily identify the stack operation . For example, if you create a stack using the console, each stack event would be assigned the same token in the following format: Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.

", "UpdateStackInstancesInput$OperationId": "

The unique identifier for this stack set operation.

The operation ID also functions as an idempotency token, to ensure that CloudFormation performs the stack set operation only once, even if you retry the request multiple times. You might retry stack set operation requests to ensure that CloudFormation successfully received them.

If you don't specify an operation ID, the SDK generates one automatically.

", @@ -497,6 +510,11 @@ "StackSetOperationPreferences$ConcurrencyMode": "

Specifies how the concurrency level behaves during the operation execution.

" } }, + "ConcurrentResourcesLimitExceededException": { + "base": "

No more than 5 generated templates can be in an InProgress or Pending status at one time. This error is also returned if a generated template that is in an InProgress or Pending status is attempted to be updated or deleted.

", + "refs": { + } + }, "ConfigurationSchema": { "base": null, "refs": { @@ -529,6 +547,16 @@ "refs": { } }, + "CreateGeneratedTemplateInput": { + "base": null, + "refs": { + } + }, + "CreateGeneratedTemplateOutput": { + "base": null, + "refs": { + } + }, "CreateStackInput": { "base": "

The input for CreateStack action.

", "refs": { @@ -569,8 +597,10 @@ "refs": { "ChangeSetSummary$CreationTime": "

The start time when the change set was created, in UTC.

", "DescribeChangeSetOutput$CreationTime": "

The start time when the change set was created, in UTC.

", + "DescribeGeneratedTemplateOutput$CreationTime": "

The time the generated template was created.

", "Stack$CreationTime": "

The time at which the stack was created.

", - "StackSummary$CreationTime": "

The time the stack was created.

" + "StackSummary$CreationTime": "

The time the stack was created.

", + "TemplateSummary$CreationTime": "

The time the generated template was created.

" } }, "DeactivateOrganizationsAccessInput": { @@ -603,6 +633,11 @@ "refs": { } }, + "DeleteGeneratedTemplateInput": { + "base": null, + "refs": { + } + }, "DeleteStackInput": { "base": "

The input for DeleteStack action.

", "refs": { @@ -693,6 +728,16 @@ "refs": { } }, + "DescribeGeneratedTemplateInput": { + "base": null, + "refs": { + } + }, + "DescribeGeneratedTemplateOutput": { + "base": null, + "refs": { + } + }, "DescribeOrganizationsAccessInput": { "base": null, "refs": { @@ -713,6 +758,16 @@ "refs": { } }, + "DescribeResourceScanInput": { + "base": null, + "refs": { + } + }, + "DescribeResourceScanOutput": { + "base": null, + "refs": { + } + }, "DescribeStackDriftDetectionStatusInput": { "base": null, "refs": { @@ -1012,6 +1067,69 @@ "StackSetOperationPreferences$FailureTolerancePercentage": "

The percentage of accounts, per Region, for which this stack operation can fail before CloudFormation stops the operation in that Region. If the operation is stopped in a Region, CloudFormation doesn't attempt the operation in any subsequent Regions.

When calculating the number of accounts based on the specified percentage, CloudFormation rounds down to the next whole number.

Conditional: You must specify either FailureToleranceCount or FailureTolerancePercentage, but not both.

By default, 0 is specified.

" } }, + "GeneratedTemplateDeletionPolicy": { + "base": null, + "refs": { + "TemplateConfiguration$DeletionPolicy": "

The DeletionPolicy assigned to resources in the generated template. Supported values are:

For more information, see DeletionPolicy attribute in the CloudFormation User Guide.

" + } + }, + "GeneratedTemplateId": { + "base": null, + "refs": { + "CreateGeneratedTemplateOutput$GeneratedTemplateId": "

The ID of the generated template.

", + "DescribeGeneratedTemplateOutput$GeneratedTemplateId": "

The Amazon Resource Name (ARN) of the generated template. The format is arn:${Partition}:cloudformation:${Region}:${Account}:generatedtemplate/${Id}. For example, arn:aws:cloudformation:us-east-1:123456789012:generatedtemplate/2e8465c1-9a80-43ea-a3a3-4f2d692fe6dc .

", + "TemplateSummary$GeneratedTemplateId": "

The Amazon Resource Name (ARN) of the generated template. The format is arn:${Partition}:cloudformation:${Region}:${Account}:generatedtemplate/${Id}. For example, arn:aws:cloudformation:us-east-1:123456789012:generatedtemplate/2e8465c1-9a80-43ea-a3a3-4f2d692fe6dc .

", + "UpdateGeneratedTemplateOutput$GeneratedTemplateId": "

The Amazon Resource Name (ARN) of the generated template. The format is arn:${Partition}:cloudformation:${Region}:${Account}:generatedtemplate/${Id}. For example, arn:aws:cloudformation:us-east-1:123456789012:generatedtemplate/2e8465c1-9a80-43ea-a3a3-4f2d692fe6dc .

" + } + }, + "GeneratedTemplateName": { + "base": null, + "refs": { + "CreateGeneratedTemplateInput$GeneratedTemplateName": "

The name assigned to the generated template.

", + "DeleteGeneratedTemplateInput$GeneratedTemplateName": "

The name or Amazon Resource Name (ARN) of a generated template.

", + "DescribeGeneratedTemplateInput$GeneratedTemplateName": "

The name or Amazon Resource Name (ARN) of a generated template.

", + "DescribeGeneratedTemplateOutput$GeneratedTemplateName": "

The name of the generated template.

", + "GetGeneratedTemplateInput$GeneratedTemplateName": "

The name or Amazon Resource Name (ARN) of the generated template. The format is arn:${Partition}:cloudformation:${Region}:${Account}:generatedtemplate/${Id}. For example, arn:aws:cloudformation:us-east-1:123456789012:generatedtemplate/2e8465c1-9a80-43ea-a3a3-4f2d692fe6dc .

", + "TemplateSummary$GeneratedTemplateName": "

The name of the generated template.

", + "UpdateGeneratedTemplateInput$GeneratedTemplateName": "

The name or Amazon Resource Name (ARN) of a generated template.

", + "UpdateGeneratedTemplateInput$NewGeneratedTemplateName": "

An optional new name to assign to the generated template.

" + } + }, + "GeneratedTemplateNotFoundException": { + "base": "

The generated template was not found.

", + "refs": { + } + }, + "GeneratedTemplateResourceStatus": { + "base": null, + "refs": { + "ResourceDetail$ResourceStatus": "

Status of the processing of a resource in a generated template.

InProgress

The resource processing is still in progress.

Complete

The resource processing is complete.

Pending

The resource processing is pending.

Failed

The resource processing has failed.

" + } + }, + "GeneratedTemplateStatus": { + "base": null, + "refs": { + "DescribeGeneratedTemplateOutput$Status": "

The status of the template generation. Supported values are:

", + "GetGeneratedTemplateOutput$Status": "

The status of the template generation. Supported values are:

", + "TemplateSummary$Status": "

The status of the template generation. Supported values are:

" + } + }, + "GeneratedTemplateUpdateReplacePolicy": { + "base": null, + "refs": { + "TemplateConfiguration$UpdateReplacePolicy": "

The UpdateReplacePolicy assigned to resources in the generated template. Supported values are:

For more information, see UpdateReplacePolicy attribute in the CloudFormation User Guide.

" + } + }, + "GetGeneratedTemplateInput": { + "base": null, + "refs": { + } + }, + "GetGeneratedTemplateOutput": { + "base": null, + "refs": { + } + }, "GetStackPolicyInput": { "base": "

The input for the GetStackPolicy action.

", "refs": { @@ -1207,6 +1325,31 @@ "TypeVersionSummary$IsDefaultVersion": "

Whether the specified extension version is set as the default version.

This applies only to private extensions you have registered in your account, and extensions published by Amazon. For public third-party extensions, CloudFormation returns null.

" } }, + "JazzLogicalResourceIds": { + "base": null, + "refs": { + "UpdateGeneratedTemplateInput$RemoveResources": "

A list of logical ids for resources to remove from the generated template.

" + } + }, + "JazzResourceIdentifierProperties": { + "base": null, + "refs": { + "ScannedResource$ResourceIdentifier": "

A list of up to 256 key-value pairs that identifies for the scanned resource. The key is the name of one of the primary identifiers for the resource. (Primary identifiers are specified in the primaryIdentifier list in the resource schema.) The value is the value of that primary identifier. For example, for a AWS::DynamoDB::Table resource, the primary identifiers is TableName so the key-value pair could be \"TableName\": \"MyDDBTable\". For more information, see primaryIdentifier in the CloudFormation Command Line Interface User guide for extension development.

", + "ScannedResourceIdentifier$ResourceIdentifier": "

A list of up to 256 key-value pairs that identifies the scanned resource. The key is the name of one of the primary identifiers for the resource. (Primary identifiers are specified in the primaryIdentifier list in the resource schema.) The value is the value of that primary identifier. For example, for a AWS::DynamoDB::Table resource, the primary identifiers is TableName so the key-value pair could be \"TableName\": \"MyDDBTable\". For more information, see primaryIdentifier in the CloudFormation Command Line Interface User guide for extension development.

" + } + }, + "JazzResourceIdentifierPropertyKey": { + "base": null, + "refs": { + "JazzResourceIdentifierProperties$key": null + } + }, + "JazzResourceIdentifierPropertyValue": { + "base": null, + "refs": { + "JazzResourceIdentifierProperties$value": null + } + }, "Key": { "base": null, "refs": { @@ -1216,8 +1359,10 @@ "LastUpdatedTime": { "base": null, "refs": { + "DescribeGeneratedTemplateOutput$LastUpdatedTime": "

The time the generated template was last updated.

", "Stack$LastUpdatedTime": "

The time the stack was last updated. This field will only be returned if the stack has been updated at least once.

", - "StackSummary$LastUpdatedTime": "

The time the stack was last updated. This field will only be returned if the stack has been updated at least once.

" + "StackSummary$LastUpdatedTime": "

The time the stack was last updated. This field will only be returned if the stack has been updated at least once.

", + "TemplateSummary$LastUpdatedTime": "

The time the generated template was last updated.

" } }, "LimitExceededException": { @@ -1257,6 +1402,16 @@ "refs": { } }, + "ListGeneratedTemplatesInput": { + "base": null, + "refs": { + } + }, + "ListGeneratedTemplatesOutput": { + "base": null, + "refs": { + } + }, "ListImportsInput": { "base": null, "refs": { @@ -1267,6 +1422,36 @@ "refs": { } }, + "ListResourceScanRelatedResourcesInput": { + "base": null, + "refs": { + } + }, + "ListResourceScanRelatedResourcesOutput": { + "base": null, + "refs": { + } + }, + "ListResourceScanResourcesInput": { + "base": null, + "refs": { + } + }, + "ListResourceScanResourcesOutput": { + "base": null, + "refs": { + } + }, + "ListResourceScansInput": { + "base": null, + "refs": { + } + }, + "ListResourceScansOutput": { + "base": null, + "refs": { + } + }, "ListStackInstanceResourceDriftsInput": { "base": null, "refs": { @@ -1395,8 +1580,11 @@ "DescribeStackResourceInput$LogicalResourceId": "

The logical name of the resource as specified in the template.

Default: There is no default value.

", "DescribeStackResourcesInput$LogicalResourceId": "

The logical name of the resource as specified in the template.

Default: There is no default value.

", "DetectStackResourceDriftInput$LogicalResourceId": "

The logical name of the resource for which to return drift information.

", + "JazzLogicalResourceIds$member": null, "LogicalResourceIds$member": null, "ResourceChange$LogicalResourceId": "

The resource's logical ID, which is defined in the stack's template.

", + "ResourceDefinition$LogicalResourceId": "

The logical resource id for this resource in the generated template.

", + "ResourceDetail$LogicalResourceId": "

The logical id for this resource in the final generated template.

", "ResourceToImport$LogicalResourceId": "

The logical ID of the target resource as specified in the template.

", "RetainResources$member": null, "SignalResourceInput$LogicalResourceId": "

The logical ID of the resource that you want to signal. The logical ID is the name of the resource that given in the template.

", @@ -1421,6 +1609,12 @@ "ActivateTypeInput$MajorVersion": "

The major version of this extension you want to activate, if multiple major versions are available. The default is the latest major version. CloudFormation uses the latest available minor version of the major version selected.

You can specify MajorVersion or VersionBump, but not both.

" } }, + "ManagedByStack": { + "base": null, + "refs": { + "ScannedResource$ManagedByStack": "

If true, the resource is managed by a CloudFormation stack.

" + } + }, "ManagedExecution": { "base": "

Describes whether StackSets performs non-conflicting operations concurrently and queues conflicting operations.

", "refs": { @@ -1451,6 +1645,7 @@ "MaxResults": { "base": null, "refs": { + "ListGeneratedTemplatesInput$MaxResults": "

If the number of available results exceeds this maximum, the response includes a NextToken value that you can use for the NextToken parameter to get the next set of results. By default the ListGeneratedTemplates API action will return at most 50 results in each response. The maximum value is 100.

", "ListStackInstanceResourceDriftsInput$MaxResults": "

The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

", "ListStackInstancesInput$MaxResults": "

The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

", "ListStackSetOperationResultsInput$MaxResults": "

The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

", @@ -1508,8 +1703,16 @@ "ListChangeSetsOutput$NextToken": "

If the output exceeds 1 MB, a string that identifies the next page of change sets. If there is no additional page, this value is null.

", "ListExportsInput$NextToken": "

A string (provided by the ListExports response output) that identifies the next page of exported output values that you asked to retrieve.

", "ListExportsOutput$NextToken": "

If the output exceeds 100 exported output values, a string that identifies the next page of exports. If there is no additional page, this value is null.

", + "ListGeneratedTemplatesInput$NextToken": "

A string that identifies the next page of resource scan results.

", + "ListGeneratedTemplatesOutput$NextToken": "

If the request doesn't return all the remaining results, NextToken is set to a token. To retrieve the next set of results, call ListGeneratedTemplates again and use that value for the NextToken parameter. If the request returns all results, NextToken is set to an empty string.

", "ListImportsInput$NextToken": "

A string (provided by the ListImports response output) that identifies the next page of stacks that are importing the specified exported output value.

", "ListImportsOutput$NextToken": "

A string that identifies the next page of exports. If there is no additional page, this value is null.

", + "ListResourceScanRelatedResourcesInput$NextToken": "

A string that identifies the next page of resource scan results.

", + "ListResourceScanRelatedResourcesOutput$NextToken": "

If the request doesn't return all the remaining results, NextToken is set to a token. To retrieve the next set of results, call ListResourceScanRelatedResources again and use that value for the NextToken parameter. If the request returns all results, NextToken is set to an empty string.

", + "ListResourceScanResourcesInput$NextToken": "

A string that identifies the next page of resource scan results.

", + "ListResourceScanResourcesOutput$NextToken": "

If the request doesn't return all the remaining results, NextToken is set to a token. To retrieve the next set of results, call ListResourceScanResources again and use that value for the NextToken parameter. If the request returns all results, NextToken is set to an empty string.

", + "ListResourceScansInput$NextToken": "

A string that identifies the next page of resource scan results.

", + "ListResourceScansOutput$NextToken": "

If the request doesn't return all the remaining results, NextToken is set to a token. To retrieve the next set of results, call ListResourceScans again and use that value for the NextToken parameter. If the request returns all results, NextToken is set to an empty string.

", "ListStackInstanceResourceDriftsInput$NextToken": "

If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

", "ListStackInstanceResourceDriftsOutput$NextToken": "

If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

", "ListStackInstancesInput$NextToken": "

If the previous request didn't return all the remaining results, the response's NextToken parameter value is set to a token. To retrieve the next set of results, call ListStackInstances again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

", @@ -1555,6 +1758,12 @@ "UpdateStackInput$NotificationARNs": "

Amazon Simple Notification Service topic Amazon Resource Names (ARNs) that CloudFormation associates with the stack. Specify an empty list to remove all notification topics.

" } }, + "NumberOfResources": { + "base": null, + "refs": { + "TemplateSummary$NumberOfResources": "

The number of resources in the generated template. This is a total of resources in pending, in-progress, completed, and failed states.

" + } + }, "OnFailure": { "base": null, "refs": { @@ -1737,6 +1946,13 @@ "UpdateStackSetInput$Parameters": "

A list of input parameters for the stack set template.

" } }, + "PercentageCompleted": { + "base": null, + "refs": { + "DescribeResourceScanOutput$PercentageCompleted": "

The percentage of the resource scan that has been completed.

", + "ResourceScanSummary$PercentageCompleted": "

The percentage of the resource scan that has been completed.

" + } + }, "PermissionModels": { "base": null, "refs": { @@ -1789,6 +2005,12 @@ "StackResourceDrift$ActualProperties": "

A JSON structure containing the actual property values of the stack resource.

For resources whose StackResourceDriftStatus is DELETED, this structure will not be present.

" } }, + "PropertyDescription": { + "base": null, + "refs": { + "WarningProperty$Description": "

The description of the property from the resource provider schema.

" + } + }, "PropertyDifference": { "base": "

Information about a resource property whose actual value differs from its expected value, as defined in the stack template and any values specified as template parameters. These will be present only for resources whose StackResourceDriftStatus is MODIFIED. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.

", "refs": { @@ -1811,7 +2033,8 @@ "PropertyPath": { "base": null, "refs": { - "PropertyDifference$PropertyPath": "

The fully-qualified path to the resource property.

" + "PropertyDifference$PropertyPath": "

The fully-qualified path to the resource property.

", + "WarningProperty$PropertyPath": "

The path of the property. For example, if this is for the S3Bucket member of the Code property, the property path would be Code/S3Bucket.

" } }, "PropertyValue": { @@ -1901,6 +2124,12 @@ "refs": { } }, + "RefreshAllResources": { + "base": null, + "refs": { + "UpdateGeneratedTemplateInput$RefreshAllResources": "

If true, update the resource properties in the generated template with their current live state. This feature is useful when the resource properties in your generated a template does not reflect the live state of the resource properties. This happens when a user update the resource properties after generating a template.

" + } + }, "Region": { "base": null, "refs": { @@ -1925,7 +2154,7 @@ "CreateStackInstancesInput$Regions": "

The names of one or more Amazon Web Services Regions where you want to create stack instances using the specified Amazon Web Services accounts.

", "DeleteStackInstancesInput$Regions": "

The Amazon Web Services Regions where you want to delete stack set instances.

", "StackSet$Regions": "

Returns a list of all Amazon Web Services Regions the given StackSet has stack instances deployed in. The Amazon Web Services Regions list output is in no particular order.

", - "StackSetOperationPreferences$RegionOrder": "

The order of the Regions where you want to perform the stack operation.

", + "StackSetOperationPreferences$RegionOrder": "

The order of the Regions where you want to perform the stack operation.

RegionOrder isn't followed if AutoDeployment is enabled.

", "UpdateStackInstancesInput$Regions": "

The names of one or more Amazon Web Services Regions in which you want to update parameter values for stack instances. The overridden parameter values will be applied to all stack instances in the specified accounts and Amazon Web Services Regions.

", "UpdateStackSetInput$Regions": "

The Amazon Web Services Regions in which to update associated stack instances. If you specify Regions, you must also specify accounts in which to update stack set instances.

To update all the stack instances associated with this stack set, do not specify the Accounts or Regions properties.

If the stack set update includes changes to the template (that is, if the TemplateBody or TemplateURL properties are specified), or the Parameters property, CloudFormation marks all stack instances with a status of OUTDATED prior to updating the stack instances in the specified accounts and Regions. If the stack set update does not include changes to the template or parameters, CloudFormation updates the stack instances in the specified accounts and Regions, while leaving all other stack instances with their existing stack instance status.

" } @@ -1986,6 +2215,12 @@ "TypeVersionSummary$Type": "

The kind of extension.

" } }, + "RelatedResources": { + "base": null, + "refs": { + "ListResourceScanRelatedResourcesOutput$RelatedResources": "

List of up to MaxResults resources in the specified resource scan related to the specified resources.

" + } + }, "Replacement": { "base": null, "refs": { @@ -2010,6 +2245,12 @@ "DescribeTypeOutput$RequiredActivatedTypes": "

For extensions that are modules, the public third-party extensions that must be activated in your account in order for the module itself to be activated.

" } }, + "RequiredProperty": { + "base": null, + "refs": { + "WarningProperty$Required": "

If true, the specified property is required.

" + } + }, "RequiresRecreation": { "base": null, "refs": { @@ -2041,9 +2282,42 @@ "ResourceChange$Details": "

For the Modify action, a list of ResourceChangeDetail structures that describes the changes that CloudFormation will make to the resource.

" } }, + "ResourceDefinition": { + "base": "

A resource included in a generated template. This data type is used with the CreateGeneratedTemplate and UpdateGeneratedTemplate API actions.

", + "refs": { + "ResourceDefinitions$member": null + } + }, + "ResourceDefinitions": { + "base": null, + "refs": { + "CreateGeneratedTemplateInput$Resources": "

An optional list of resources to be included in the generated template.

If no resources are specified,the template will be created without any resources. Resources can be added to the template using the UpdateGeneratedTemplate API action.

", + "UpdateGeneratedTemplateInput$AddResources": "

An optional list of resources to be added to the generated template.

" + } + }, + "ResourceDetail": { + "base": "

Details about a resource in a generated template

", + "refs": { + "ResourceDetails$member": null + } + }, + "ResourceDetails": { + "base": null, + "refs": { + "DescribeGeneratedTemplateOutput$Resources": "

A list of objects describing the details of the resources in the template generation.

" + } + }, + "ResourceIdentifier": { + "base": null, + "refs": { + "ListResourceScanResourcesInput$ResourceIdentifier": "

If specified, the returned resources will have the specified resource identifier (or one of them in the case where the resource has multiple identifiers).

" + } + }, "ResourceIdentifierProperties": { "base": null, "refs": { + "ResourceDefinition$ResourceIdentifier": "

A list of up to 256 key-value pairs that identifies the scanned resource. The key is the name of one of the primary identifiers for the resource. (Primary identifiers are specified in the primaryIdentifier list in the resource schema.) The value is the value of that primary identifier. For example, for a AWS::DynamoDB::Table resource, the primary identifiers is TableName so the key-value pair could be \"TableName\": \"MyDDBTable\". For more information, see primaryIdentifier in the CloudFormation Command Line Interface User guide for extension development.

", + "ResourceDetail$ResourceIdentifier": "

A list of up to 256 key-value pairs that identifies the resource in the generated template. The key is the name of one of the primary identifiers for the resource. (Primary identifiers are specified in the primaryIdentifier list in the resource schema.) The value is the value of that primary identifier. For example, for a AWS::DynamoDB::Table resource, the primary identifiers is TableName so the key-value pair could be \"TableName\": \"MyDDBTable\". For more information, see primaryIdentifier in the CloudFormation Command Line Interface User guide for extension development.

", "ResourceToImport$ResourceIdentifier": "

A key-value pair that identifies the target resource. The key is an identifier property (for example, BucketName for AWS::S3::Bucket resources) and the value is the actual property value (for example, MyS3Bucket).

" } }, @@ -2090,6 +2364,65 @@ "StackEvent$ResourceProperties": "

BLOB of the properties used to create the resource.

" } }, + "ResourceScanId": { + "base": null, + "refs": { + "DescribeResourceScanInput$ResourceScanId": "

The Amazon Resource Name (ARN) of the resource scan.

", + "DescribeResourceScanOutput$ResourceScanId": "

The Amazon Resource Name (ARN) of the resource scan. The format is arn:${Partition}:cloudformation:${Region}:${Account}:resourceScan/${Id}. An example is arn:aws:cloudformation:us-east-1:123456789012:resourceScan/f5b490f7-7ed4-428a-aa06-31ff25db0772 .

", + "ListResourceScanRelatedResourcesInput$ResourceScanId": "

The Amazon Resource Name (ARN) of the resource scan.

", + "ListResourceScanResourcesInput$ResourceScanId": "

The Amazon Resource Name (ARN) of the resource scan.

", + "ResourceScanSummary$ResourceScanId": "

The Amazon Resource Name (ARN) of the resource scan.

", + "StartResourceScanOutput$ResourceScanId": "

The Amazon Resource Name (ARN) of the resource scan. The format is arn:${Partition}:cloudformation:${Region}:${Account}:resourceScan/${Id}. An example is arn:aws:cloudformation:us-east-1:123456789012:resourceScan/f5b490f7-7ed4-428a-aa06-31ff25db0772 .

" + } + }, + "ResourceScanInProgressException": { + "base": "

A resource scan is currently in progress. Only one can be run at a time for an account in a Region.

", + "refs": { + } + }, + "ResourceScanLimitExceededException": { + "base": "

The limit on resource scans has been exceeded. Reasons include:

", + "refs": { + } + }, + "ResourceScanNotFoundException": { + "base": "

The resource scan was not found.

", + "refs": { + } + }, + "ResourceScanStatus": { + "base": null, + "refs": { + "DescribeResourceScanOutput$Status": "

Status of the resource scan.

INPROGRESS

The resource scan is still in progress.

COMPLETE

The resource scan is complete.

EXPIRED

The resource scan has expired.

FAILED

The resource scan has failed.

", + "ResourceScanSummary$Status": "

Status of the resource scan.

INPROGRESS

The resource scan is still in progress.

COMPLETE

The resource scan is complete.

EXPIRED

The resource scan has expired.

FAILED

The resource scan has failed.

" + } + }, + "ResourceScanStatusReason": { + "base": null, + "refs": { + "DescribeResourceScanOutput$StatusReason": "

The reason for the resource scan status, providing more information if a failure happened.

", + "ResourceScanSummary$StatusReason": "

The reason for the resource scan status, providing more information if a failure happened.

" + } + }, + "ResourceScanSummaries": { + "base": null, + "refs": { + "ListResourceScansOutput$ResourceScanSummaries": "

The list of scans returned.

" + } + }, + "ResourceScanSummary": { + "base": "

A summary of the resource scan. This is returned by the ListResourceScan API action.

", + "refs": { + "ResourceScanSummaries$member": null + } + }, + "ResourceScannerMaxResults": { + "base": null, + "refs": { + "ListResourceScanResourcesInput$MaxResults": "

If the number of available results exceeds this maximum, the response includes a NextToken value that you can use for the NextToken parameter to get the next set of results. By default the ListResourceScanResources API action will return at most 100 results in each response. The maximum value is 100.

", + "ListResourceScansInput$MaxResults": "

If the number of available results exceeds this maximum, the response includes a NextToken value that you can use for the NextToken parameter to get the next set of results. The default value is 10. The maximum value is 100.

" + } + }, "ResourceSignalStatus": { "base": null, "refs": { @@ -2114,6 +2447,7 @@ "ResourceStatusReason": { "base": null, "refs": { + "ResourceDetail$ResourceStatusReason": "

The reason for the resource detail, providing more information if a failure happened.

", "StackEvent$ResourceStatusReason": "

Success/failure message associated with the resource.

", "StackResource$ResourceStatusReason": "

Success/failure message associated with the resource.

", "StackResourceDetail$ResourceStatusReason": "

Success/failure message associated with the resource.

", @@ -2142,9 +2476,13 @@ "base": null, "refs": { "ResourceChange$ResourceType": "

The type of CloudFormation resource, such as AWS::S3::Bucket.

", + "ResourceDefinition$ResourceType": "

The type of the resource, such as AWS::DynamoDB::Table. For the list of supported resources, see IaC generator supported resource types in the CloudFormation User Guide

", + "ResourceDetail$ResourceType": "

The type of the resource, such as AWS::DynamoDB::Table. For the list of supported resources, see IaC generator supported resource types In the CloudFormation User Guide

", "ResourceIdentifierSummary$ResourceType": "

The template resource type of the target resources, such as AWS::S3::Bucket.

", "ResourceToImport$ResourceType": "

The type of resource to import into your stack, such as AWS::S3::Bucket. For a list of supported resource types, see Resources that support import operations in the CloudFormation User Guide.

", "ResourceTypes$member": null, + "ScannedResource$ResourceType": "

The type of the resource, such as AWS::DynamoDB::Table. For the list of supported resources, see IaC generator supported resource types In the CloudFormation User Guide

", + "ScannedResourceIdentifier$ResourceType": "

The type of the resource, such as AWS::DynamoDB::Table. For the list of supported resources, see IaC generator supported resource types In the CloudFormation User Guide

", "StackEvent$ResourceType": "

Type of resource. (For more information, go to Amazon Web Services Resource Types Reference in the CloudFormation User Guide.)

", "StackInstanceResourceDriftsSummary$ResourceType": "

Type of resource. For more information, go to Amazon Web Services Resource Types Reference in the CloudFormation User Guide.

", "StackResource$ResourceType": "

Type of resource. For more information, go to Amazon Web Services Resource Types Reference in the CloudFormation User Guide.

", @@ -2153,16 +2491,59 @@ "StackResourceSummary$ResourceType": "

Type of resource. (For more information, go to Amazon Web Services Resource Types Reference in the CloudFormation User Guide.)

" } }, + "ResourceTypePrefix": { + "base": null, + "refs": { + "ListResourceScanResourcesInput$ResourceTypePrefix": "

If specified, the returned resources will be of any of the resource types with the specified prefix.

" + } + }, "ResourceTypes": { "base": null, "refs": { "CreateChangeSetInput$ResourceTypes": "

The template resource types that you have permissions to work with if you execute this change set, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance.

If the list of resource types doesn't include a resource type that you're updating, the stack update fails. By default, CloudFormation grants permissions to all resource types. Identity and Access Management (IAM) uses this parameter for condition keys in IAM policies for CloudFormation. For more information, see Controlling access with Identity and Access Management in the CloudFormation User Guide.

Only one of the Capabilities and ResourceType parameters can be specified.

", "CreateStackInput$ResourceTypes": "

The template resource types that you have permissions to work with for this create stack action, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance. Use the following syntax to describe template resource types: AWS::* (for all Amazon Web Services resources), Custom::* (for all custom resources), Custom::logical_ID (for a specific custom resource), AWS::service_name::* (for all resources of a particular Amazon Web Services service), and AWS::service_name::resource_logical_ID (for a specific Amazon Web Services resource).

If the list of resource types doesn't include a resource that you're creating, the stack creation fails. By default, CloudFormation grants permissions to all resource types. Identity and Access Management (IAM) uses this parameter for CloudFormation-specific condition keys in IAM policies. For more information, see Controlling Access with Identity and Access Management.

Only one of the Capabilities and ResourceType parameters can be specified.

", + "DescribeResourceScanOutput$ResourceTypes": "

The list of resource types for the specified scan. Resource types are only available for scans with a Status set to COMPLETE or FAILED .

", "GetTemplateSummaryOutput$ResourceTypes": "

A list of all the template resource types that are defined in the template, such as AWS::EC2::Instance, AWS::Dynamo::Table, and Custom::MyCustomInstance.

", "UpdateStackInput$ResourceTypes": "

The template resource types that you have permissions to work with for this update stack action, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance.

If the list of resource types doesn't include a resource that you're updating, the stack update fails. By default, CloudFormation grants permissions to all resource types. Identity and Access Management (IAM) uses this parameter for CloudFormation-specific condition keys in IAM policies. For more information, see Controlling Access with Identity and Access Management.

Only one of the Capabilities and ResourceType parameters can be specified.

", "Warnings$UnrecognizedResourceTypes": "

A list of all of the unrecognized resource types. This is only returned if the TemplateSummaryConfig parameter has the TreatUnrecognizedResourceTypesAsWarning configuration set to True.

" } }, + "ResourcesFailed": { + "base": null, + "refs": { + "TemplateProgress$ResourcesFailed": "

The number of resources that failed the template generation.

" + } + }, + "ResourcesPending": { + "base": null, + "refs": { + "TemplateProgress$ResourcesPending": "

The number of resources that are still pending the template generation.

" + } + }, + "ResourcesProcessing": { + "base": null, + "refs": { + "TemplateProgress$ResourcesProcessing": "

The number of resources that are in-process for the template generation.

" + } + }, + "ResourcesRead": { + "base": null, + "refs": { + "DescribeResourceScanOutput$ResourcesRead": "

The number of resources that were read. This is only available for scans with a Status set to COMPLETE, EXPIRED, or FAILED .

This field may be 0 if the resource scan failed with a ResourceScanLimitExceededException.

" + } + }, + "ResourcesScanned": { + "base": null, + "refs": { + "DescribeResourceScanOutput$ResourcesScanned": "

The number of resources that were listed. This is only available for scans with a Status set to COMPLETE, EXPIRED, or FAILED .

" + } + }, + "ResourcesSucceeded": { + "base": null, + "refs": { + "TemplateProgress$ResourcesSucceeded": "

The number of resources that succeeded the template generation.

" + } + }, "ResourcesToImport": { "base": null, "refs": { @@ -2278,6 +2659,31 @@ "RegisterTypeInput$SchemaHandlerPackage": "

A URL to the S3 bucket containing the extension project package that contains the necessary files for the extension you want to register.

For information about generating a schema handler package for the extension you want to register, see submit in the CloudFormation CLI User Guide.

The user registering the extension must be able to access the package in the S3 bucket. That's, the user needs to have GetObject permissions for the schema handler package. For more information, see Actions, Resources, and Condition Keys for Amazon S3 in the Identity and Access Management User Guide.

" } }, + "ScannedResource": { + "base": "

A scanned resource returned by ListResourceScanResources or ListResourceScanRelatedResources.

", + "refs": { + "RelatedResources$member": null, + "ScannedResources$member": null + } + }, + "ScannedResourceIdentifier": { + "base": "

Identifies a scanned resource. This is used with the ListResourceScanRelatedResources API action.

", + "refs": { + "ScannedResourceIdentifiers$member": null + } + }, + "ScannedResourceIdentifiers": { + "base": null, + "refs": { + "ListResourceScanRelatedResourcesInput$Resources": "

The list of resources for which you want to get the related resources. Up to 100 resources can be provided.

" + } + }, + "ScannedResources": { + "base": null, + "refs": { + "ListResourceScanResourcesOutput$Resources": "

List of up to MaxResults resources in the specified resource scan that match all of the specified filters.

" + } + }, "Scope": { "base": null, "refs": { @@ -2384,6 +2790,7 @@ "CreateStackSetInput$StackId": "

The stack ID you are importing into a new stack set. Specify the Amazon Resource Name (ARN) of the stack.

", "DescribeChangeSetHooksOutput$StackId": "

The stack identifier (stack ID).

", "DescribeChangeSetOutput$StackId": "

The Amazon Resource Name (ARN) of the stack that's associated with the change set.

", + "DescribeGeneratedTemplateOutput$StackId": "

The stack ARN of the base stack if a base stack was provided when generating the template.

", "DescribeStackDriftDetectionStatusOutput$StackId": "

The ID of the stack.

", "Export$ExportingStackId": "

The stack that contains the exported output name and value.

", "RollbackStackOutput$StackId": "

Unique identifier of the stack.

", @@ -2501,6 +2908,7 @@ "refs": { "CancelUpdateStackInput$StackName": "

If you don't pass a parameter to StackName, the API returns a response that describes all resources in the account.

The IAM policy below can be added to IAM policies when you want to limit resource-level permissions and avoid returning a response when no parameter is sent in the request:

{ \"Version\": \"2012-10-17\", \"Statement\": [{ \"Effect\": \"Deny\", \"Action\": \"cloudformation:DescribeStacks\", \"NotResource\": \"arn:aws:cloudformation:*:*:stack/*/*\" }] }

The name or the unique stack ID that's associated with the stack.

", "ChangeSetSummary$StackName": "

The name of the stack with which the change set is associated.

", + "CreateGeneratedTemplateInput$StackName": "

An optional name or ARN of a stack to use as the base stack for the generated template.

", "CreateStackInput$StackName": "

The name that's associated with the stack. The name must be unique in the Region in which you are creating the stack.

A stack name can contain only alphanumeric characters (case sensitive) and hyphens. It must start with an alphabetical character and can't be longer than 128 characters.

", "DeleteStackInput$StackName": "

The name or the unique stack ID that's associated with the stack.

", "DescribeChangeSetHooksOutput$StackName": "

The stack name.

", @@ -2876,6 +3284,16 @@ "refs": { } }, + "StartResourceScanInput": { + "base": null, + "refs": { + } + }, + "StartResourceScanOutput": { + "base": null, + "refs": { + } + }, "StatusMessage": { "base": null, "refs": { @@ -2913,12 +3331,14 @@ "TagKey": { "base": null, "refs": { + "ListResourceScanResourcesInput$TagKey": "

If specified, the returned resources will have a matching tag key.

", "Tag$Key": "

Required. A string used to identify this tag. You can specify a maximum of 128 characters for a tag key. Tags owned by Amazon Web Services (Amazon Web Services) have the reserved prefix: aws:.

" } }, "TagValue": { "base": null, "refs": { + "ListResourceScanResourcesInput$TagValue": "

If specified, the returned resources will have a matching tag value.

", "Tag$Value": "

Required. A string containing the value for this tag. You can specify a maximum of 256 characters for a tag value.

" } }, @@ -2942,6 +3362,7 @@ "CreateStackInput$TemplateBody": "

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, go to Template anatomy in the CloudFormation User Guide.

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.

", "CreateStackSetInput$TemplateBody": "

The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, see Template Anatomy in the CloudFormation User Guide.

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.

", "EstimateTemplateCostInput$TemplateBody": "

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. (For more information, go to Template Anatomy in the CloudFormation User Guide.)

Conditional: You must pass TemplateBody or TemplateURL. If both are passed, only TemplateBody is used.

", + "GetGeneratedTemplateOutput$TemplateBody": "

The template body of the generated template, in the language specified by the Language parameter.

", "GetTemplateOutput$TemplateBody": "

Structure containing the template body. (For more information, go to Template Anatomy in the CloudFormation User Guide.)

CloudFormation returns the same template that was used when the stack was created.

", "GetTemplateSummaryInput$TemplateBody": "

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information about templates, see Template anatomy in the CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: StackName, StackSetName, TemplateBody, or TemplateURL.

", "StackSet$TemplateBody": "

The structure that contains the body of the template that was used to create or update the stack set.

", @@ -2950,12 +3371,26 @@ "ValidateTemplateInput$TemplateBody": "

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, go to Template Anatomy in the CloudFormation User Guide.

Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only TemplateBody is used.

" } }, + "TemplateConfiguration": { + "base": "

The configuration details of a generated template.

", + "refs": { + "CreateGeneratedTemplateInput$TemplateConfiguration": "

The configuration details of the generated template, including the DeletionPolicy and UpdateReplacePolicy.

", + "DescribeGeneratedTemplateOutput$TemplateConfiguration": "

The configuration details of the generated template, including the DeletionPolicy and UpdateReplacePolicy.

", + "UpdateGeneratedTemplateInput$TemplateConfiguration": "

The configuration details of the generated template, including the DeletionPolicy and UpdateReplacePolicy.

" + } + }, "TemplateDescription": { "base": null, "refs": { "StackSummary$TemplateDescription": "

The template description of the template used to create the stack.

" } }, + "TemplateFormat": { + "base": null, + "refs": { + "GetGeneratedTemplateInput$Format": "

The language to use to retrieve for the generated template. Supported values are:

" + } + }, "TemplateParameter": { "base": "

The TemplateParameter data type.

", "refs": { @@ -2968,6 +3403,12 @@ "ValidateTemplateOutput$Parameters": "

A list of TemplateParameter structures.

" } }, + "TemplateProgress": { + "base": "

A summary of the progress of the template generation.

", + "refs": { + "DescribeGeneratedTemplateOutput$Progress": "

An object describing the progress of the template generation.

" + } + }, "TemplateStage": { "base": null, "refs": { @@ -2975,6 +3416,25 @@ "StageList$member": null } }, + "TemplateStatusReason": { + "base": null, + "refs": { + "DescribeGeneratedTemplateOutput$StatusReason": "

The reason for the current template generation status. This will provide more details if a failure happened.

", + "TemplateSummary$StatusReason": "

The reason for the current template generation status. This will provide more details if a failure happened.

" + } + }, + "TemplateSummaries": { + "base": null, + "refs": { + "ListGeneratedTemplatesOutput$Summaries": "

A list of summaries of the generated templates.

" + } + }, + "TemplateSummary": { + "base": "

The summary of a generated template.

", + "refs": { + "TemplateSummaries$member": null + } + }, "TemplateSummaryConfig": { "base": "

Options for the GetTemplateSummary API action.

", "refs": { @@ -3024,16 +3484,20 @@ "TimeoutMinutes": { "base": null, "refs": { - "CreateStackInput$TimeoutInMinutes": "

The amount of time that can pass before the stack status becomes CREATE_FAILED; if DisableRollback is not set or is set to false, the stack will be rolled back.

", + "CreateStackInput$TimeoutInMinutes": "

The amount of time that can pass before the stack status becomes CREATE_FAILED; if DisableRollback is not set or is set to false, the stack will be rolled back.

", "Stack$TimeoutInMinutes": "

The amount of time within which stack creation should complete.

" } }, "Timestamp": { "base": null, "refs": { + "DescribeResourceScanOutput$StartTime": "

The time that the resource scan was started.

", + "DescribeResourceScanOutput$EndTime": "

The time that the resource scan was finished.

", "DescribeStackDriftDetectionStatusOutput$Timestamp": "

Time at which the stack drift detection operation was initiated.

", "DescribeTypeOutput$LastUpdated": "

When the specified extension version was registered. This applies only to:

", "DescribeTypeOutput$TimeCreated": "

When the specified private extension version was registered or activated in your account.

", + "ResourceScanSummary$StartTime": "

The time that the resource scan was started.

", + "ResourceScanSummary$EndTime": "

The time that the resource scan was finished.

", "StackDriftInformation$LastCheckTimestamp": "

Most recent time when a drift detection operation was initiated on the stack, or any of its individual resources that support drift detection.

", "StackDriftInformationSummary$LastCheckTimestamp": "

Most recent time when a drift detection operation was initiated on the stack, or any of its individual resources that support drift detection.

", "StackEvent$Timestamp": "

Time the status was updated.

", @@ -3068,6 +3532,12 @@ "StackSetDriftDetectionDetails$TotalStackInstancesCount": "

The total number of stack instances belonging to this stack set.

The total number of stack instances is equal to the total of:

" } }, + "TotalWarnings": { + "base": null, + "refs": { + "DescribeGeneratedTemplateOutput$TotalWarnings": "

The number of warnings generated for this template. The warnings are found in the details of each of the resources in the template.

" + } + }, "TransformName": { "base": null, "refs": { @@ -3276,6 +3746,16 @@ "BatchDescribeTypeConfigurationsOutput$UnprocessedTypeConfigurations": "

A list of any of the specified extension configurations that CloudFormation could not process for any reason.

" } }, + "UpdateGeneratedTemplateInput": { + "base": null, + "refs": { + } + }, + "UpdateGeneratedTemplateOutput": { + "base": null, + "refs": { + } + }, "UpdateStackInput": { "base": "

The input for an UpdateStack action.

", "refs": { @@ -3371,6 +3851,36 @@ "ListTypesInput$Visibility": "

The scope at which the extensions are visible and usable in CloudFormation operations.

Valid values include:

The default is PRIVATE.

" } }, + "WarningDetail": { + "base": "

The warnings generated for a specific resource for this generated template.

", + "refs": { + "WarningDetails$member": null + } + }, + "WarningDetails": { + "base": null, + "refs": { + "ResourceDetail$Warnings": "

The warnings generated for this resource.

" + } + }, + "WarningProperties": { + "base": null, + "refs": { + "WarningDetail$Properties": "

The properties of the resource that are impacted by this warning.

" + } + }, + "WarningProperty": { + "base": "

A specific property that is impacted by a warning.

", + "refs": { + "WarningProperties$member": null + } + }, + "WarningType": { + "base": null, + "refs": { + "WarningDetail$Type": "

The type of this warning. For more information, see IaC generator and write-only properties in the CloudFormation User Guide.

Currently the resource and property reference documentation does not indicate if a property uses a type of oneOf or anyOf. You need to look at the resource provider schema.

" + } + }, "Warnings": { "base": "

Contains any warnings returned by the GetTemplateSummary API action.

", "refs": { diff --git a/models/apis/cloudformation/2010-05-15/examples-1.json b/models/apis/cloudformation/2010-05-15/examples-1.json index 0ea7e3b0bbe..473cacba6ba 100644 --- a/models/apis/cloudformation/2010-05-15/examples-1.json +++ b/models/apis/cloudformation/2010-05-15/examples-1.json @@ -1,5 +1,524 @@ { "version": "1.0", "examples": { + "CreateGeneratedTemplate": [ + { + "input": { + "GeneratedTemplateName": "JazzyTemplate", + "Resources": [ + { + "ResourceIdentifier": { + "BucketName": "jazz-bucket" + }, + "ResourceType": "AWS::S3::Bucket" + }, + { + "ResourceIdentifier": { + "DhcpOptionsId": "random-id123" + }, + "ResourceType": "AWS::EC2::DHCPOptions" + } + ] + }, + "output": { + "GeneratedTemplateId": "arn:aws:cloudformation:us-east-1:123456789012:generatedtemplate/88f09db1-d211-4cb7-964b-434e2b8469ca" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a generated template with a resources file.", + "id": "to-create-a-generated-template", + "title": "To create a generated template" + } + ], + "DeleteGeneratedTemplate": [ + { + "input": { + "GeneratedTemplateName": "JazzyTemplate" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes a generated template", + "id": "to-delete-a-generated-template", + "title": "To delete a generated template" + } + ], + "DescribeGeneratedTemplate": [ + { + "input": { + "GeneratedTemplateName": "JazzyTemplate" + }, + "output": { + "CreationTime": "2023-12-28T17:55:20.086000+00:00", + "GeneratedTemplateId": "arn:aws:cloudformation:us-east-1:*:generatedtemplate/*", + "GeneratedTemplateName": "DeletedResourceTest", + "LastUpdatedTime": "2023-12-28T17:57:16.610000+00:00", + "Progress": { + "ResourcesFailed": 0, + "ResourcesPending": 0, + "ResourcesProcessing": 0, + "ResourcesSucceeded": 0 + }, + "Status": "COMPLETE", + "StatusReason": "All resources complete", + "TemplateConfiguration": { + "DeletionPolicy": "RETAIN", + "UpdateReplacePolicy": "RETAIN" + }, + "TotalWarnings": 0 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes a generated template", + "id": "to-describe-a-generated-template", + "title": "To describe a generated template" + } + ], + "DescribeResourceScan": [ + { + "input": { + "ResourceScanId": "arn:aws:cloudformation:us-east-1:123456789012:resourceScan/c19304f6-c4f1-4ff8-8e1f-35162e41d7e1" + }, + "output": { + "EndTime": "2024-01-02T23:25:48.075000+00:00", + "PercentageCompleted": 100.0, + "ResourceScanId": "arn:aws:cloudformation:us-east-1:123456789012:resourceScan/c19304f6-c4f1-4ff8-8e1f-35162e41d7e1", + "ResourceTypes": [ + "AWS::Amplify::App", + "AWS::ApiGateway::Deployment", + "AWS::ApiGateway::DocumentationPart", + "AWS::ApiGateway::Model", + "AWS::ApiGateway::Resource", + "AWS::ApiGateway::RestApi", + "AWS::ApiGateway::Stage", + "AWS::AppConfig::Extension", + "AWS::ApplicationAutoScaling::ScalableTarget", + "AWS::Athena::WorkGroup", + "AWS::Cassandra::Keyspace", + "AWS::CloudFront::CachePolicy", + "AWS::CloudFront::Function", + "AWS::CloudFront::OriginRequestPolicy", + "AWS::CloudTrail::Trail", + "AWS::CloudWatch::Alarm", + "AWS::CodeDeploy::Application", + "AWS::CodeDeploy::DeploymentConfig", + "AWS::Cognito::UserPool", + "AWS::Cognito::UserPoolGroup", + "AWS::Cognito::UserPoolUser", + "AWS::DynamoDB::Table", + "AWS::EC2::DHCPOptions", + "AWS::EC2::EIP", + "AWS::EC2::InternetGateway", + "AWS::EC2::LaunchTemplate", + "AWS::EC2::NetworkAcl", + "AWS::EC2::Route", + "AWS::EC2::RouteTable", + "AWS::EC2::SubnetNetworkAclAssociation", + "AWS::EC2::SubnetRouteTableAssociation", + "AWS::EC2::VPC", + "AWS::EC2::VPCDHCPOptionsAssociation", + "AWS::EC2::VPCGatewayAttachment", + "AWS::ECR::Repository", + "AWS::ECS::Cluster", + "AWS::ECS::ClusterCapacityProviderAssociations", + "AWS::ECS::Service", + "AWS::ECS::TaskDefinition", + "AWS::ElastiCache::SubnetGroup", + "AWS::ElastiCache::User", + "AWS::Events::EventBus", + "AWS::Events::Rule", + "AWS::GameLift::Location", + "AWS::GuardDuty::Detector", + "AWS::IAM::InstanceProfile", + "AWS::IAM::ManagedPolicy", + "AWS::IAM::Role", + "AWS::IAM::User", + "AWS::IoT::DomainConfiguration", + "AWS::KMS::Alias", + "AWS::KMS::Key", + "AWS::Lambda::EventSourceMapping", + "AWS::Lambda::Function", + "AWS::Lambda::Permission", + "AWS::Lambda::Version", + "AWS::Logs::LogGroup", + "AWS::Logs::LogStream", + "AWS::MemoryDB::ACL", + "AWS::MemoryDB::ParameterGroup", + "AWS::MemoryDB::User", + "AWS::RAM::Permission", + "AWS::RDS::CustomDBEngineVersion", + "AWS::Route53Resolver::ResolverRuleAssociation", + "AWS::S3::AccessPoint", + "AWS::S3::BucketPolicy", + "AWS::S3::StorageLens", + "AWS::SNS::Topic", + "AWS::SQS::Queue", + "AWS::SSM::Association", + "AWS::SSM::Document", + "AWS::StepFunctions::StateMachine", + "AWS::XRay::Group", + "AWS::XRay::SamplingRule" + ], + "ResourcesRead": 25107, + "StartTime": "2024-01-02T22:15:18.382000+00:00", + "Status": "COMPLETE" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes a selected resource scan", + "id": "to-describe-a-generated-template", + "title": "To describe a selected resource scan" + } + ], + "GetGeneratedTemplate": [ + { + "input": { + "GeneratedTemplateName": "JazzyTemplate" + }, + "output": { + "Status": "COMPLETE", + "TemplateBody": "{\"Metadata\":{\"TemplateId\":\"arn:aws:cloudformation:us-east-1:123456789012:generatedtemplate/*\"},\"Parameters\":{\"Stage\":{\"Default\":\"beta\",\"Type\":\"String\"}},\"Resources\":{\"TestRole\":{\"Properties\":{\"AssumeRolePolicyDocument\":{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":{\"Fn::Sub\":[\"arn:${AWS::Partition}:iam::${AccountId}:root\",{\"AccountId\":{\"Fn::AccountIdFromAlias\":\"test-account-alias\"}}]}},\"Action\":\"sts:AssumeRole\"}]}},\"Type\":\"AWS::IAM::Role\",\"DeletionPolicy\":\"Delete\"},\"DocumentationPartl7ob4vsd76vs\":{\"UpdateReplacePolicy\":\"Retain\",\"Type\":\"AWS::ApiGateway::DocumentationPart\",\"DeletionPolicy\":\"Retain\",\"Properties\":{\"RestApiId\":\"l7ob4vsd76\",\"Properties\":\"{\\n \\\"description\\\" : \\\"ListGeneratedTemplates 200 response\\\"\\n}\",\"Location\":{\"Path\":\"/ListGeneratedTemplates\",\"Type\":\"RESPONSE\",\"Method\":\"POST\",\"StatusCode\":\"200\"}}}}}" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example gets a generated template ins JSON format.", + "id": "to-get-a-generated-template-json", + "title": "To get a generated template in JSON format" + }, + { + "input": { + "Format": "YAML", + "GeneratedTemplateName": "JazzyTemplate" + }, + "output": { + "Status": "COMPLETE", + "TemplateBody": "---\nMetadata:\n TemplateId: \"arn:aws:cloudformation:us-east-1:123456789012:generatedtemplate/*\"\nParameters:\n Stage:\n Default: \"beta\"\n Type: \"String\"\nResources:\n TestRole:\n Properties:\n AssumeRolePolicyDocument:\n Version: \"2012-10-17\"\n Statement:\n - Effect: \"Allow\"\n Principal:\n AWS:\n Fn::Sub:\n - \"arn:${AWS::Partition}:iam::${AccountId}:root\"\n - AccountId:\n Fn::AccountIdFromAlias: \"test-account-alias\"\n Action: \"sts:AssumeRole\"\n Type: \"AWS::IAM::Role\"\n DeletionPolicy: \"Delete\"\n DocumentationPartl7ob4vsd76vsnAlFMLXKVm:\n UpdateReplacePolicy: \"Retain\"\n Type: \"AWS::ApiGateway::DocumentationPart\"\n DeletionPolicy: \"Retain\"\n Properties:\n RestApiId: \"l7ob4vsd76\"\n Properties: \"{\\n \\\"description\\\" : \\\"ListGeneratedTemplates 200 response\\\"\\n\\\n }\"\n Location:\n Path: \"/ListGeneratedTemplates\"\n Type: \"RESPONSE\"\n Method: \"POST\"\n StatusCode: \"200\"\n" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example gets a generated template in YAML format.", + "id": "to-get-a-generated-template-yaml", + "title": "To get a generated template in YAML format" + } + ], + "ListGeneratedTemplates": [ + { + "input": { + }, + "output": { + "Summaries": [ + { + "CreationTime": "2023-12-28T17:55:20.086000+00:00", + "GeneratedTemplateId": "arn:aws:cloudformation:us-east-1:123456789012:generatedtemplate/abcdefghi-1234-abcd-abcd-abcdefgh1234567", + "GeneratedTemplateName": "Template3", + "LastUpdatedTime": "2023-12-28T17:57:16.610000+00:00", + "NumberOfResources": 85, + "Status": "COMPLETE", + "StatusReason": "All resources complete" + }, + { + "CreationTime": "2023-12-21T01:51:07.764000+00:00", + "GeneratedTemplateId": "arn:aws:cloudformation:us-east-1:123456789012:generatedtemplate/bbcdefghi-1234-abcd-abcd-abcdefgh1234567", + "GeneratedTemplateName": "Template2", + "LastUpdatedTime": "2023-12-21T01:51:22.664000+00:00", + "NumberOfResources": 12, + "Status": "COMPLETE", + "StatusReason": "All resources complete" + }, + { + "CreationTime": "2023-11-20T23:53:28.722000+00:00", + "GeneratedTemplateId": "arn:aws:cloudformation:us-east-1:123456789012:generatedtemplate/cbcdefghi-1234-abcd-abcd-abcdefgh1234567", + "GeneratedTemplateName": "Template1", + "LastUpdatedTime": "2023-11-21T04:25:30.527000+00:00", + "NumberOfResources": 19, + "Status": "COMPLETE", + "StatusReason": "All resources complete" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists the generated templates.", + "id": "to-list-generated-templates", + "title": "To list generated templates" + } + ], + "ListResourceScanRelatedResources": [ + { + "input": { + "ResourceScanId": "arn:aws:cloudformation:us-east-1:123456789012:resourceScan/c19304f6-c4f1-4ff8-8e1f-35162e41d7e1", + "Resources": [ + { + "ResourceIdentifier": { + "BucketName": "jazz-bucket" + }, + "ResourceType": "AWS::S3::Bucket" + }, + { + "ResourceIdentifier": { + "DhcpOptionsId": "random-id123" + }, + "ResourceType": "AWS::EC2::DHCPOptions" + } + ] + }, + "output": { + "RelatedResources": [ + { + "ManagedByStack": false, + "ResourceIdentifier": { + "DhcpOptionsId": "dopt-98765edcba", + "VpcId": "vpc-0123456abcdefg" + }, + "ResourceType": "AWS::EC2::VPCDHCPOptionsAssociation" + }, + { + "ManagedByStack": false, + "ResourceIdentifier": { + "VpcId": "vpc-0123456abcdefgabc" + }, + "ResourceType": "AWS::EC2::VPC" + }, + { + "ManagedByStack": false, + "ResourceIdentifier": { + "DhcpOptionsId": "dopt-98765edcba", + "VpcId": "vpc-123456abcdef" + }, + "ResourceType": "AWS::EC2::VPCDHCPOptionsAssociation" + }, + { + "ManagedByStack": false, + "ResourceIdentifier": { + "VpcId": "vpc-12345678abcd" + }, + "ResourceType": "AWS::EC2::VPC" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists the resources related to the passed in resources", + "id": "to-list-resource-scan-related-resources", + "title": "To list resource scan related resources" + } + ], + "ListResourceScanResources": [ + { + "input": { + "ResourceScanId": "arn:aws:cloudformation:us-east-1:123456789012:resourceScan/c19304f6-c4f1-4ff8-8e1f-35162e41d7e1" + }, + "output": { + "NextToken": "AQICAHjOiFofVZCZ0aEN1VnF1m9jq/xxpTY7MyPexz72BHuAkgETVS8c+PVCFpE6uGVJDxCFAAACbjCCAmoGCSqGSIb3DQEHBqCCAlswggJXAgEAMIICUAYJKoZIhvcNAQcBMB4GCWCGSAFlAwQBLjARBAwJ9QJAYeDzUoBeimECARCAggIh8brcL6H6uMvcZafRTB79hUkdJlOoFavrhYA2U7qdlPUwyvaVqN2DvFMxsl2XC1SaWmr5esMKxg1fLjbOEF32lVQn0Jp8QuoFUvREnqEsR32ZQmiI/Oc9HmwIr/BS3rzljki2Kr8Y0nriS7aFDLUCYsdsRdQ9iL5/iCc6oW7IisCzq1VKcHijlXvuiEipZAinsxEbmYBjmWgT7UYZdrrb6Hq3COEgPzS490ucndtwPjyvuCIMiAfTLMuBgjkzEfp4U97aLwPWaiKw94dMXj/3K67uuH9BjWZO+j6d3nnyZ14FOgI7SQvvVBnxARbTmINttHWjXPrIuE9YuuSWgn6GmuzEEDqkuglOS/OeTHYSPvLPRrFieUiawblljLVoVY9/HDjL/EErSTWiCnytGXIRoMI9Ozp2Yjfm3MBwSDXvMIrscw6QAa3bUA6uJSV2skCBnDoqV8EXd8umh788OgEtDxQ7d/NlUYEhN6AJ0K9TVz/2rZgOlzLCmtvmbIy7loAZCmf/uPNkyu6WuoLWTzQz78SnA8jWPKnxrzhNyPuaIgUH23U3mExhfMRDczitpOo5JM81oHVPECslGoqktLhP55BQqMbJy4w16SZJfr993TXhF5jOZenRN1zDsK3J5cLdJgPK1Ds1Z9DnRKMfXOqoAyme2l94/h0kLIxgAtxOeJFP/g/9hUtt1qGkZeV3Xqw1nkFQnafGIg4fJoWg74Sr7yo=", + "Resources": [ + { + "ManagedByStack": false, + "ResourceIdentifier": { + "Arn": "arn:aws:amplify:us-east-1:123456789012:apps/12345678" + }, + "ResourceType": "AWS::Amplify::App" + }, + { + "ManagedByStack": true, + "ResourceIdentifier": { + "DeploymentId": "1234567", + "RestApiId": "abcdefgh" + }, + "ResourceType": "AWS::ApiGateway::Deployment" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists the resources in your resource scan", + "id": "to-list-resource-scan-resources", + "title": "To list the resources in your resource scan" + }, + { + "input": { + "ResourceScanId": "arn:aws:cloudformation:us-east-1:123456789012:resourceScan/c19304f6-c4f1-4ff8-8e1f-35162e41d7e1", + "ResourceTypePrefix": "AWS::S3" + }, + "output": { + "NextToken": "AQICAHjOiFofVZCZ0aEN1VnF1m9jq/xxpTY7MyPexz72BHuAkgETVS8c+PVCFpE6uGVJDxCFAAACbjCCAmoGCSqGSIb3DQEHBqCCAlswggJXAgEAMIICUAYJKoZIhvcNAQcBMB4GCWCGSAFlAwQBLjARBAwJ9QJAYeDzUoBeimECARCAggIh8brcL6H6uMvcZafRTB79hUkdJlOoFavrhYA2U7qdlPUwyvaVqN2DvFMxsl2XC1SaWmr5esMKxg1fLjbOEF32lVQn0Jp8QuoFUvREnqEsR32ZQmiI/Oc9HmwIr/BS3rzljki2Kr8Y0nriS7aFDLUCYsdsRdQ9iL5/iCc6oW7IisCzq1VKcHijlXvuiEipZAinsxEbmYBjmWgT7UYZdrrb6Hq3COEgPzS490ucndtwPjyvuCIMiAfTLMuBgjkzEfp4U97aLwPWaiKw94dMXj/3K67uuH9BjWZO+j6d3nnyZ14FOgI7SQvvVBnxARbTmINttHWjXPrIuE9YuuSWgn6GmuzEEDqkuglOS/OeTHYSPvLPRrFieUiawblljLVoVY9/HDjL/EErSTWiCnytGXIRoMI9Ozp2Yjfm3MBwSDXvMIrscw6QAa3bUA6uJSV2skCBnDoqV8EXd8umh788OgEtDxQ7d/NlUYEhN6AJ0K9TVz/2rZgOlzLCmtvmbIy7loAZCmf/uPNkyu6WuoLWTzQz78SnA8jWPKnxrzhNyPuaIgUH23U3mExhfMRDczitpOo5JM81oHVPECslGoqktLhP55BQqMbJy4w16SZJfr993TXhF5jOZenRN1zDsK3J5cLdJgPK1Ds1Z9DnRKMfXOqoAyme2l94/h0kLIxgAtxOeJFP/g/9hUtt1qGkZeV3Xqw1nkFQnafGIg4fJoWg74Sr7yo=", + "Resources": [ + { + "ManagedByStack": true, + "ResourceIdentifier": { + "Name": "test-access-point" + }, + "ResourceType": "AWS::S3::AccessPoint" + }, + { + "ManagedByStack": false, + "ResourceIdentifier": { + "Bucket": "a-random-bucket" + }, + "ResourceType": "AWS::S3::BucketPolicy" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists the resources in your resource scan filtering only the resources that start with the passed in prefix", + "id": "to-list-resource-scan-resources-with-resource-type-prefix", + "title": "To list the resources in your resource scan for specific resource type" + } + ], + "ListResourceScans": [ + { + "input": { + }, + "output": { + "ResourceScanSummaries": [ + { + "PercentageCompleted": 37.4, + "ResourceScanId": "arn:aws:cloudformation:us-east-1:123456789012:resourceScan/51448627-817f-40f0-b37c-f6e0f974340c", + "StartTime": "2024-01-24T00:33:29.673000+00:00", + "Status": "IN_PROGRESS" + }, + { + "EndTime": "2024-01-02T23:25:48.075000+00:00", + "PercentageCompleted": 100.0, + "ResourceScanId": "arn:aws:cloudformation:us-east-1:123456789012:resourceScan/c19304f6-c4f1-4ff8-8e1f-35162e41d7e1", + "StartTime": "2024-01-02T22:15:18.382000+00:00", + "Status": "COMPLETE" + } + ] + }, + "description": "This example shows how to list resource scans", + "id": "to-list-resource-scans", + "title": "Listing Resource Scans" + } + ], + "StartResourceScan": [ + { + "input": { + }, + "output": { + "ResourceScanId": "arn:aws:cloudformation:us-east-1:123456789012:resourceScan/88f09db1-d211-4cb7-964b-434e2b8469ca" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example shows how to start a new resource scan", + "id": "to-start-a-generated-template", + "title": "To start a resource scan" + } + ], + "UpdateGeneratedTemplate": [ + { + "input": { + "GeneratedTemplateName": "JazzyTemplate", + "NewGeneratedTemplateName": "JazzierTemplate" + }, + "output": { + "GeneratedTemplateId": "arn:aws:cloudformation:us-east-1:123456789012:generatedtemplate/88f09db1-d211-4cb7-964b-434e2b8469ca" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example updates a generated template with a new name.", + "id": "to-update-a-generated-template-new-name", + "title": "To update a generated template's name" + }, + { + "input": { + "GeneratedTemplateName": "JazzyTemplate", + "RemoveResources": [ + "LogicalResourceId1", + "LogicalResourceId2" + ] + }, + "output": { + "GeneratedTemplateId": "arn:aws:cloudformation:us-east-1:123456789012:generatedtemplate/88f09db1-d211-4cb7-964b-434e2b8469ca" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example removes resources from a generated template", + "id": "to-update-a-generated-template-remove-resources", + "title": "To remove resources from a generated template" + }, + { + "input": { + "AddResources": [ + { + "ResourceIdentifier": { + "BucketName": "jazz-bucket" + }, + "ResourceType": "AWS::S3::Bucket" + }, + { + "ResourceIdentifier": { + "DhcpOptionsId": "random-id123" + }, + "ResourceType": "AWS::EC2::DHCPOptions" + } + ], + "GeneratedTemplateName": "JazzyTemplate" + }, + "output": { + "GeneratedTemplateId": "arn:aws:cloudformation:us-east-1:123456789012:generatedtemplate/88f09db1-d211-4cb7-964b-434e2b8469ca" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example adds resources to a generated template", + "id": "to-update-a-generated-template-add-resources", + "title": "To add resources to a generated template" + } + ] } } diff --git a/models/apis/cloudformation/2010-05-15/paginators-1.json b/models/apis/cloudformation/2010-05-15/paginators-1.json index ef2c18843d4..5fe3ac783f3 100644 --- a/models/apis/cloudformation/2010-05-15/paginators-1.json +++ b/models/apis/cloudformation/2010-05-15/paginators-1.json @@ -33,11 +33,35 @@ "output_token": "NextToken", "result_key": "Exports" }, + "ListGeneratedTemplates": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Summaries" + }, "ListImports": { "input_token": "NextToken", "output_token": "NextToken", "result_key": "Imports" }, + "ListResourceScanRelatedResources": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "RelatedResources" + }, + "ListResourceScanResources": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Resources" + }, + "ListResourceScans": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ResourceScanSummaries" + }, "ListStackInstances": { "input_token": "NextToken", "limit_key": "MaxResults", diff --git a/models/apis/elasticloadbalancingv2/2015-12-01/api-2.json b/models/apis/elasticloadbalancingv2/2015-12-01/api-2.json index 80d3c48c062..0dd36101360 100644 --- a/models/apis/elasticloadbalancingv2/2015-12-01/api-2.json +++ b/models/apis/elasticloadbalancingv2/2015-12-01/api-2.json @@ -2762,6 +2762,7 @@ "initial", "healthy", "unhealthy", + "unhealthy.draining", "unused", "draining", "unavailable" diff --git a/models/apis/elasticloadbalancingv2/2015-12-01/docs-2.json b/models/apis/elasticloadbalancingv2/2015-12-01/docs-2.json index 2ccf03d8af3..a37707393b4 100644 --- a/models/apis/elasticloadbalancingv2/2015-12-01/docs-2.json +++ b/models/apis/elasticloadbalancingv2/2015-12-01/docs-2.json @@ -973,7 +973,7 @@ "HttpRequestMethodConditionConfig$Values": "

The name of the request method. The maximum size is 40 characters. The allowed characters are A-Z, hyphen (-), and underscore (_). The comparison is case sensitive. Wildcards are not supported; therefore, the method name must be an exact match.

If you specify multiple strings, the condition is satisfied if one of the strings matches the HTTP request method. We recommend that you route GET and HEAD requests in the same way, because the response to a HEAD request may be cached.

", "PathPatternConditionConfig$Values": "

The path patterns to compare against the request URL. The maximum size of each string is 128 characters. The comparison is case sensitive. The following wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1 character).

If you specify multiple strings, the condition is satisfied if one of them matches the request URL. The path pattern is compared only to the path of the URL, not to its query string. To compare against the query string, use QueryStringConditionConfig.

", "RuleCondition$Values": "

The condition value. Specify only when Field is host-header or path-pattern. Alternatively, to specify multiple host names or multiple path patterns, use HostHeaderConfig or PathPatternConfig.

If Field is host-header and you are not using HostHeaderConfig, you can specify a single host name (for example, my.example.com) in Values. A host name is case insensitive, can be up to 128 characters in length, and can contain any of the following characters.

If Field is path-pattern and you are not using PathPatternConfig, you can specify a single path pattern (for example, /img/*) in Values. A path pattern is case-sensitive, can be up to 128 characters in length, and can contain any of the following characters.

", - "SourceIpConditionConfig$Values": "

The source IP addresses, in CIDR format. You can use both IPv4 and IPv6 addresses. Wildcards are not supported.

If you specify multiple addresses, the condition is satisfied if the source IP address of the request matches one of the CIDR blocks. This condition is not satisfied by the addresses in the X-Forwarded-For header. To search for addresses in the X-Forwarded-For header, use HttpHeaderConditionConfig.

", + "SourceIpConditionConfig$Values": "

The source IP addresses, in CIDR format. You can use both IPv4 and IPv6 addresses. Wildcards are not supported.

If you specify multiple addresses, the condition is satisfied if the source IP address of the request matches one of the CIDR blocks. This condition is not satisfied by the addresses in the X-Forwarded-For header. To search for addresses in the X-Forwarded-For header, use HttpHeaderConditionConfig.

The total number of values must be less than, or equal to five.

", "SslPolicy$SupportedLoadBalancerTypes": "

The supported load balancers.

" } }, @@ -1767,7 +1767,7 @@ "SubnetMappings": { "base": null, "refs": { - "CreateLoadBalancerInput$SubnetMappings": "

The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both.

[Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify Elastic IP addresses for your subnets.

[Application Load Balancers on Outposts] You must specify one Outpost subnet.

[Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.

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

[Gateway Load Balancers] You can specify subnets from one or more Availability Zones. You cannot specify Elastic IP addresses for your subnets.

", + "CreateLoadBalancerInput$SubnetMappings": "

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.

[Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify Elastic IP addresses for your subnets.

[Application Load Balancers on Outposts] You must specify one Outpost subnet.

[Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.

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

[Gateway Load Balancers] You can specify subnets from one or more Availability Zones. You cannot specify Elastic IP addresses for your subnets.

", "SetSubnetsInput$SubnetMappings": "

The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.

[Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify Elastic IP addresses for your subnets.

[Application Load Balancers on Outposts] You must specify one Outpost subnet.

[Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.

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

[Gateway Load Balancers] You can specify subnets from one or more Availability Zones.

" } }, @@ -1779,7 +1779,7 @@ "Subnets": { "base": null, "refs": { - "CreateLoadBalancerInput$Subnets": "

The IDs of the public 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.

[Application Load Balancers] You must specify subnets from at least two Availability Zones.

[Application Load Balancers on Outposts] You must specify one Outpost subnet.

[Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.

[Network Load Balancers] You can specify subnets from one or more Availability Zones.

[Gateway Load Balancers] You can specify subnets from one or more Availability Zones.

", + "CreateLoadBalancerInput$Subnets": "

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.

[Application Load Balancers] You must specify subnets from at least two Availability Zones.

[Application Load Balancers on Outposts] You must specify one Outpost subnet.

[Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.

[Network Load Balancers] You can specify subnets from one or more Availability Zones.

[Gateway Load Balancers] You can specify subnets from one or more Availability Zones.

", "SetSubnetsInput$Subnets": "

The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.

[Application Load Balancers] You must specify subnets from at least two Availability Zones.

[Application Load Balancers on Outposts] You must specify one Outpost subnet.

[Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.

[Network Load Balancers] You can specify subnets from one or more Availability Zones.

[Gateway Load Balancers] You can specify subnets from one or more Availability Zones.

" } }, @@ -1889,7 +1889,7 @@ "TargetGroupAttributeKey": { "base": null, "refs": { - "TargetGroupAttribute$Key": "

The name of the attribute.

The following attributes are supported by all load balancers:

The following attributes are supported by Application Load Balancers and Network Load Balancers:

The following attributes are supported only if the load balancer is an Application Load Balancer and the target is an instance or an IP address:

The following attribute is supported only if the load balancer is an Application Load Balancer and the target is a Lambda function:

The following attributes are supported only by Network Load Balancers:

The following attributes are supported only by Gateway Load Balancers:

" + "TargetGroupAttribute$Key": "

The name of the attribute.

The following attributes are supported by all load balancers:

The following attributes are supported by Application Load Balancers and Network Load Balancers:

The following attributes are supported only if the load balancer is an Application Load Balancer and the target is an instance or an IP address:

The following attribute is supported only if the load balancer is an Application Load Balancer and the target is a Lambda function:

The following attributes are supported only by Network Load Balancers:

The following attributes are supported only by Gateway Load Balancers:

" } }, "TargetGroupAttributeValue": { diff --git a/models/apis/glue/2017-03-31/api-2.json b/models/apis/glue/2017-03-31/api-2.json index 4e9a44e6072..7a7e3c6f0ae 100644 --- a/models/apis/glue/2017-03-31/api-2.json +++ b/models/apis/glue/2017-03-31/api-2.json @@ -7786,7 +7786,7 @@ "members":{ "JobName":{"shape":"NameString"}, "NextToken":{"shape":"GenericString"}, - "MaxResults":{"shape":"PageSize"} + "MaxResults":{"shape":"OrchestrationPageSize200"} } }, "GetJobRunsResponse":{ @@ -8342,7 +8342,7 @@ "members":{ "NextToken":{"shape":"GenericString"}, "DependentJobName":{"shape":"NameString"}, - "MaxResults":{"shape":"PageSize"} + "MaxResults":{"shape":"OrchestrationPageSize200"} } }, "GetTriggersResponse":{ @@ -9343,7 +9343,7 @@ "type":"structure", "members":{ "NextToken":{"shape":"GenericString"}, - "MaxResults":{"shape":"PageSize"}, + "MaxResults":{"shape":"OrchestrationPageSize25"}, "Tags":{"shape":"TagsMap"} } }, @@ -9636,7 +9636,7 @@ "members":{ "NextToken":{"shape":"GenericString"}, "DependentJobName":{"shape":"NameString"}, - "MaxResults":{"shape":"PageSize"}, + "MaxResults":{"shape":"OrchestrationPageSize200"}, "Tags":{"shape":"TagsMap"} } }, @@ -9651,7 +9651,7 @@ "type":"structure", "members":{ "NextToken":{"shape":"GenericString"}, - "MaxResults":{"shape":"PageSize"} + "MaxResults":{"shape":"OrchestrationPageSize25"} } }, "ListWorkflowsResponse":{ @@ -10177,6 +10177,18 @@ "min":1, "pattern":"[\\.\\-_A-Za-z0-9]+" }, + "OrchestrationPageSize200":{ + "type":"integer", + "box":true, + "max":200, + "min":1 + }, + "OrchestrationPageSize25":{ + "type":"integer", + "box":true, + "max":25, + "min":1 + }, "OrchestrationRoleArn":{ "type":"string", "max":2048, diff --git a/models/apis/glue/2017-03-31/docs-2.json b/models/apis/glue/2017-03-31/docs-2.json index 0dfab87f600..4f7c795b064 100644 --- a/models/apis/glue/2017-03-31/docs-2.json +++ b/models/apis/glue/2017-03-31/docs-2.json @@ -6454,6 +6454,21 @@ "UpdateBlueprintRequest$Name": "

The name of the blueprint.

" } }, + "OrchestrationPageSize200": { + "base": null, + "refs": { + "GetJobRunsRequest$MaxResults": "

The maximum size of the response.

", + "GetTriggersRequest$MaxResults": "

The maximum size of the response.

", + "ListTriggersRequest$MaxResults": "

The maximum size of a list to return.

" + } + }, + "OrchestrationPageSize25": { + "base": null, + "refs": { + "ListBlueprintsRequest$MaxResults": "

The maximum size of a list to return.

", + "ListWorkflowsRequest$MaxResults": "

The maximum size of a list to return.

" + } + }, "OrchestrationRoleArn": { "base": null, "refs": { @@ -6530,17 +6545,14 @@ "GetCrawlerMetricsRequest$MaxResults": "

The maximum size of a list to return.

", "GetCrawlersRequest$MaxResults": "

The number of crawlers to return on each call.

", "GetDevEndpointsRequest$MaxResults": "

The maximum size of information to return.

", - "GetJobRunsRequest$MaxResults": "

The maximum size of the response.

", "GetJobsRequest$MaxResults": "

The maximum size of the response.

", "GetMLTaskRunsRequest$MaxResults": "

The maximum number of results to return.

", "GetMLTransformsRequest$MaxResults": "

The maximum number of results to return.

", "GetPartitionsRequest$MaxResults": "

The maximum number of partitions to return in a single response.

", "GetResourcePoliciesRequest$MaxResults": "

The maximum size of a list to return.

", "GetSecurityConfigurationsRequest$MaxResults": "

The maximum number of results to return.

", - "GetTriggersRequest$MaxResults": "

The maximum size of the response.

", "GetUnfilteredPartitionsMetadataRequest$MaxResults": "

The maximum number of partitions to return in a single response.

", "GetWorkflowRunsRequest$MaxResults": "

The maximum number of workflow runs to be included in the response.

", - "ListBlueprintsRequest$MaxResults": "

The maximum size of a list to return.

", "ListColumnStatisticsTaskRunsRequest$MaxResults": "

The maximum size of the response.

", "ListCrawlersRequest$MaxResults": "

The maximum size of a list to return.

", "ListCrawlsRequest$MaxResults": "

The maximum number of results to return. The default is 20, and maximum is 100.

", @@ -6553,8 +6565,6 @@ "ListJobsRequest$MaxResults": "

The maximum size of a list to return.

", "ListMLTransformsRequest$MaxResults": "

The maximum size of a list to return.

", "ListSessionsRequest$MaxResults": "

The maximum number of results.

", - "ListTriggersRequest$MaxResults": "

The maximum size of a list to return.

", - "ListWorkflowsRequest$MaxResults": "

The maximum size of a list to return.

", "SearchTablesRequest$MaxResults": "

The maximum number of tables to return in a single response.

" } }, @@ -7210,7 +7220,7 @@ "RuntimeNameString": { "base": null, "refs": { - "JobCommand$Runtime": "

In Ray jobs, Runtime is used to specify the versions of Ray, Python and additional libraries available in your environment. This field is not used in other job types. For supported runtime environment values, see Working with Ray jobs in the Glue Developer Guide.

" + "JobCommand$Runtime": "

In Ray jobs, Runtime is used to specify the versions of Ray, Python and additional libraries available in your environment. This field is not used in other job types. For supported runtime environment values, see Supported Ray runtime environments in the Glue Developer Guide.

" } }, "S3CatalogDeltaSource": { diff --git a/models/apis/ssm/2014-11-06/api-2.json b/models/apis/ssm/2014-11-06/api-2.json index 79f5d0ab11c..b3da45a33f1 100644 --- a/models/apis/ssm/2014-11-06/api-2.json +++ b/models/apis/ssm/2014-11-06/api-2.json @@ -2251,6 +2251,10 @@ "shape":"ScheduleOffset", "box":true }, + "Duration":{ + "shape":"Duration", + "box":true + }, "TargetMaps":{ "shape":"TargetMaps", "box":true @@ -2304,6 +2308,10 @@ "shape":"ScheduleOffset", "box":true }, + "Duration":{ + "shape":"Duration", + "box":true + }, "TargetMaps":{ "shape":"TargetMaps", "box":true @@ -2574,6 +2582,10 @@ "shape":"ScheduleOffset", "box":true }, + "Duration":{ + "shape":"Duration", + "box":true + }, "TargetMaps":{ "shape":"TargetMaps", "box":true @@ -3456,6 +3468,10 @@ "shape":"ScheduleOffset", "box":true }, + "Duration":{ + "shape":"Duration", + "box":true + }, "TargetMaps":{ "shape":"TargetMaps", "box":true @@ -3494,6 +3510,10 @@ "shape":"ScheduleOffset", "box":true }, + "Duration":{ + "shape":"Duration", + "box":true + }, "TargetMaps":{ "shape":"TargetMaps", "box":true @@ -5004,6 +5024,12 @@ }, "exception":true }, + "Duration":{ + "type":"integer", + "box":true, + "max":24, + "min":1 + }, "EffectiveInstanceAssociationMaxResults":{ "type":"integer", "max":5, @@ -10519,6 +10545,10 @@ "shape":"ScheduleOffset", "box":true }, + "Duration":{ + "shape":"Duration", + "box":true + }, "TargetMaps":{ "shape":"TargetMaps", "box":true diff --git a/models/apis/ssm/2014-11-06/docs-2.json b/models/apis/ssm/2014-11-06/docs-2.json index d731e752c21..dcae74eeaf2 100644 --- a/models/apis/ssm/2014-11-06/docs-2.json +++ b/models/apis/ssm/2014-11-06/docs-2.json @@ -37,7 +37,7 @@ "DescribeAssociationExecutions": "

Views all executions for a specific association ID.

", "DescribeAutomationExecutions": "

Provides details about all active and terminated Automation executions.

", "DescribeAutomationStepExecutions": "

Information about all active and terminated step executions in an Automation workflow.

", - "DescribeAvailablePatches": "

Lists all patches eligible to be included in a patch baseline.

", + "DescribeAvailablePatches": "

Lists all patches eligible to be included in a patch baseline.

Currently, DescribeAvailablePatches supports only the Amazon Linux 1, Amazon Linux 2, and Windows Server operating systems.

", "DescribeDocument": "

Describes the specified Amazon Web Services Systems Manager document (SSM document).

", "DescribeDocumentPermission": "

Describes the permissions for a Amazon Web Services Systems Manager document (SSM document). If you created the document, you are the owner. If a document is shared, it can either be shared privately (by specifying a user's Amazon Web Services account ID) or publicly (All).

", "DescribeEffectiveInstanceAssociations": "

All associations for the managed node(s).

", @@ -1444,7 +1444,7 @@ "ConnectionStatus": { "base": null, "refs": { - "GetConnectionStatusResponse$Status": "

The status of the connection to the managed node. For example, 'Connected' or 'Not Connected'.

" + "GetConnectionStatusResponse$Status": "

The status of the connection to the managed node.

" } }, "ContentLength": { @@ -2630,15 +2630,15 @@ "refs": { "CreateDocumentRequest$VersionName": "

An optional field specifying the version of the artifact you are creating with the document. For example, Release12.1. This value is unique across all versions of a document, and can't be changed.

", "DeleteDocumentRequest$VersionName": "

The version name of the document that you want to delete. If not provided, all versions of the document are deleted.

", - "DescribeDocumentRequest$VersionName": "

An optional field specifying the version of the artifact associated with the document. For example, \"Release 12, Update 6\". This value is unique across all versions of a document, and can't be changed.

", + "DescribeDocumentRequest$VersionName": "

An optional field specifying the version of the artifact associated with the document. For example, 12.6. This value is unique across all versions of a document, and can't be changed.

", "DocumentDefaultVersionDescription$DefaultVersionName": "

The default version of the artifact associated with the document.

", "DocumentDescription$VersionName": "

The version of the artifact associated with the document.

", - "DocumentIdentifier$VersionName": "

An optional field specifying the version of the artifact associated with the document. For example, \"Release 12, Update 6\". This value is unique across all versions of a document, and can't be changed.

", - "DocumentRequires$VersionName": "

An optional field specifying the version of the artifact associated with the document. For example, \"Release 12, Update 6\". This value is unique across all versions of a document, and can't be changed.

", - "DocumentVersionInfo$VersionName": "

The version of the artifact associated with the document. For example, \"Release 12, Update 6\". This value is unique across all versions of a document, and can't be changed.

", - "GetDocumentRequest$VersionName": "

An optional field specifying the version of the artifact associated with the document. For example, \"Release 12, Update 6\". This value is unique across all versions of a document and can't be changed.

", - "GetDocumentResult$VersionName": "

The version of the artifact associated with the document. For example, \"Release 12, Update 6\". This value is unique across all versions of a document, and can't be changed.

", - "UpdateDocumentRequest$VersionName": "

An optional field specifying the version of the artifact you are updating with the document. For example, \"Release 12, Update 6\". This value is unique across all versions of a document, and can't be changed.

" + "DocumentIdentifier$VersionName": "

An optional field specifying the version of the artifact associated with the document. For example, 12.6. This value is unique across all versions of a document, and can't be changed.

", + "DocumentRequires$VersionName": "

An optional field specifying the version of the artifact associated with the document. For example, 12.6. This value is unique across all versions of a document, and can't be changed.

", + "DocumentVersionInfo$VersionName": "

The version of the artifact associated with the document. For example, 12.6. This value is unique across all versions of a document, and can't be changed.

", + "GetDocumentRequest$VersionName": "

An optional field specifying the version of the artifact associated with the document. For example, 12.6. This value is unique across all versions of a document and can't be changed.

", + "GetDocumentResult$VersionName": "

The version of the artifact associated with the document. For example, 12.6. This value is unique across all versions of a document, and can't be changed.

", + "UpdateDocumentRequest$VersionName": "

An optional field specifying the version of the artifact you are updating with the document. For example, 12.6. This value is unique across all versions of a document, and can't be changed.

" } }, "DocumentVersionNumber": { @@ -2673,6 +2673,17 @@ "refs": { } }, + "Duration": { + "base": null, + "refs": { + "Association$Duration": "

The number of hours that an association can run on specified targets. After the resulting cutoff time passes, associations that are currently running are cancelled, and no pending executions are started on remaining targets.

", + "AssociationDescription$Duration": "

The number of hours that an association can run on specified targets. After the resulting cutoff time passes, associations that are currently running are cancelled, and no pending executions are started on remaining targets.

", + "AssociationVersionInfo$Duration": "

The number of hours that an association can run on specified targets. After the resulting cutoff time passes, associations that are currently running are cancelled, and no pending executions are started on remaining targets.

", + "CreateAssociationBatchRequestEntry$Duration": "

The number of hours the association can run before it is canceled. Duration applies to associations that are currently running, and any pending and in progress commands on all targets. If a target was taken offline for the association to run, it is made available again immediately, without a reboot.

The Duration parameter applies only when both these conditions are true:

", + "CreateAssociationRequest$Duration": "

The number of hours the association can run before it is canceled. Duration applies to associations that are currently running, and any pending and in progress commands on all targets. If a target was taken offline for the association to run, it is made available again immediately, without a reboot.

The Duration parameter applies only when both these conditions are true:

", + "UpdateAssociationRequest$Duration": "

The number of hours the association can run before it is canceled. Duration applies to associations that are currently running, and any pending and in progress commands on all targets. If a target was taken offline for the association to run, it is made available again immediately, without a reboot.

The Duration parameter applies only when both these conditions are true:

" + } + }, "EffectiveInstanceAssociationMaxResults": { "base": null, "refs": { @@ -5777,8 +5788,8 @@ "ParameterKeyId": { "base": null, "refs": { - "ParameterHistory$KeyId": "

The ID of the query key used for this parameter.

", - "ParameterMetadata$KeyId": "

The ID of the query key used for this parameter.

", + "ParameterHistory$KeyId": "

The alias of the Key Management Service (KMS) key used to encrypt the parameter. Applies to SecureString parameters only

", + "ParameterMetadata$KeyId": "

The alias of the Key Management Service (KMS) key used to encrypt the parameter. Applies to SecureString parameters only.

", "PutParameterRequest$KeyId": "

The Key Management Service (KMS) ID that you want to use to encrypt a parameter. Use a custom key for better security. Required for parameters that use the SecureString data type.

If you don't specify a key ID, the system uses the default key associated with your Amazon Web Services account which is not as secure as using a custom key.

" } }, @@ -6078,7 +6089,7 @@ "PatchCVEIds": { "base": null, "refs": { - "PatchComplianceData$CVEIds": "

The IDs of one or more Common Vulnerabilities and Exposure (CVE) issues that are resolved by the patch.

" + "PatchComplianceData$CVEIds": "

The IDs of one or more Common Vulnerabilities and Exposure (CVE) issues that are resolved by the patch.

Currently, CVE ID values are reported only for patches with a status of Missing or Failed.

" } }, "PatchClassification": { diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index a8267944058..44492f21523 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -16869,6 +16869,7 @@ "deprecated" : true, "hostname" : "sms-voice-fips.us-west-2.amazonaws.com" }, + "il-central-1" : { }, "us-east-1" : { "variants" : [ { "hostname" : "sms-voice-fips.us-east-1.amazonaws.com", diff --git a/service/cloudformation/api.go b/service/cloudformation/api.go index e202c355841..9c084055c35 100644 --- a/service/cloudformation/api.go +++ b/service/cloudformation/api.go @@ -561,6 +561,99 @@ func (c *CloudFormation) CreateChangeSetWithContext(ctx aws.Context, input *Crea return out, req.Send() } +const opCreateGeneratedTemplate = "CreateGeneratedTemplate" + +// CreateGeneratedTemplateRequest generates a "aws/request.Request" representing the +// client's request for the CreateGeneratedTemplate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateGeneratedTemplate for more information on using the CreateGeneratedTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateGeneratedTemplateRequest method. +// req, resp := client.CreateGeneratedTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/CreateGeneratedTemplate +func (c *CloudFormation) CreateGeneratedTemplateRequest(input *CreateGeneratedTemplateInput) (req *request.Request, output *CreateGeneratedTemplateOutput) { + op := &request.Operation{ + Name: opCreateGeneratedTemplate, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateGeneratedTemplateInput{} + } + + output = &CreateGeneratedTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateGeneratedTemplate API operation for AWS CloudFormation. +// +// Creates a template from existing resources that are not already managed with +// CloudFormation. You can check the status of the template generation using +// the DescribeGeneratedTemplate API action. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudFormation's +// API operation CreateGeneratedTemplate for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeAlreadyExistsException "AlreadyExistsException" +// The resource with the name requested already exists. +// +// - ErrCodeLimitExceededException "LimitExceededException" +// The quota for the resource has already been reached. +// +// For information about resource and stack limitations, see CloudFormation +// quotas (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) +// in the CloudFormation User Guide. +// +// - ErrCodeConcurrentResourcesLimitExceededException "ConcurrentResourcesLimitExceeded" +// No more than 5 generated templates can be in an InProgress or Pending status +// at one time. This error is also returned if a generated template that is +// in an InProgress or Pending status is attempted to be updated or deleted. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/CreateGeneratedTemplate +func (c *CloudFormation) CreateGeneratedTemplate(input *CreateGeneratedTemplateInput) (*CreateGeneratedTemplateOutput, error) { + req, out := c.CreateGeneratedTemplateRequest(input) + return out, req.Send() +} + +// CreateGeneratedTemplateWithContext is the same as CreateGeneratedTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See CreateGeneratedTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFormation) CreateGeneratedTemplateWithContext(ctx aws.Context, input *CreateGeneratedTemplateInput, opts ...request.Option) (*CreateGeneratedTemplateOutput, error) { + req, out := c.CreateGeneratedTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateStack = "CreateStack" // CreateStackRequest generates a "aws/request.Request" representing the @@ -1113,6 +1206,91 @@ func (c *CloudFormation) DeleteChangeSetWithContext(ctx aws.Context, input *Dele return out, req.Send() } +const opDeleteGeneratedTemplate = "DeleteGeneratedTemplate" + +// DeleteGeneratedTemplateRequest generates a "aws/request.Request" representing the +// client's request for the DeleteGeneratedTemplate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteGeneratedTemplate for more information on using the DeleteGeneratedTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DeleteGeneratedTemplateRequest method. +// req, resp := client.DeleteGeneratedTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DeleteGeneratedTemplate +func (c *CloudFormation) DeleteGeneratedTemplateRequest(input *DeleteGeneratedTemplateInput) (req *request.Request, output *DeleteGeneratedTemplateOutput) { + op := &request.Operation{ + Name: opDeleteGeneratedTemplate, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteGeneratedTemplateInput{} + } + + output = &DeleteGeneratedTemplateOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteGeneratedTemplate API operation for AWS CloudFormation. +// +// Deleted a generated template. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudFormation's +// API operation DeleteGeneratedTemplate for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeGeneratedTemplateNotFoundException "GeneratedTemplateNotFound" +// The generated template was not found. +// +// - ErrCodeConcurrentResourcesLimitExceededException "ConcurrentResourcesLimitExceeded" +// No more than 5 generated templates can be in an InProgress or Pending status +// at one time. This error is also returned if a generated template that is +// in an InProgress or Pending status is attempted to be updated or deleted. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DeleteGeneratedTemplate +func (c *CloudFormation) DeleteGeneratedTemplate(input *DeleteGeneratedTemplateInput) (*DeleteGeneratedTemplateOutput, error) { + req, out := c.DeleteGeneratedTemplateRequest(input) + return out, req.Send() +} + +// DeleteGeneratedTemplateWithContext is the same as DeleteGeneratedTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteGeneratedTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFormation) DeleteGeneratedTemplateWithContext(ctx aws.Context, input *DeleteGeneratedTemplateInput, opts ...request.Option) (*DeleteGeneratedTemplateOutput, error) { + req, out := c.DeleteGeneratedTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteStack = "DeleteStack" // DeleteStackRequest generates a "aws/request.Request" representing the @@ -1769,6 +1947,87 @@ func (c *CloudFormation) DescribeChangeSetHooksWithContext(ctx aws.Context, inpu return out, req.Send() } +const opDescribeGeneratedTemplate = "DescribeGeneratedTemplate" + +// DescribeGeneratedTemplateRequest generates a "aws/request.Request" representing the +// client's request for the DescribeGeneratedTemplate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeGeneratedTemplate for more information on using the DescribeGeneratedTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DescribeGeneratedTemplateRequest method. +// req, resp := client.DescribeGeneratedTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeGeneratedTemplate +func (c *CloudFormation) DescribeGeneratedTemplateRequest(input *DescribeGeneratedTemplateInput) (req *request.Request, output *DescribeGeneratedTemplateOutput) { + op := &request.Operation{ + Name: opDescribeGeneratedTemplate, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeGeneratedTemplateInput{} + } + + output = &DescribeGeneratedTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeGeneratedTemplate API operation for AWS CloudFormation. +// +// Describes a generated template. The output includes details about the progress +// of the creation of a generated template started by a CreateGeneratedTemplate +// API action or the update of a generated template started with an UpdateGeneratedTemplate +// API action. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudFormation's +// API operation DescribeGeneratedTemplate for usage and error information. +// +// Returned Error Codes: +// - ErrCodeGeneratedTemplateNotFoundException "GeneratedTemplateNotFound" +// The generated template was not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeGeneratedTemplate +func (c *CloudFormation) DescribeGeneratedTemplate(input *DescribeGeneratedTemplateInput) (*DescribeGeneratedTemplateOutput, error) { + req, out := c.DescribeGeneratedTemplateRequest(input) + return out, req.Send() +} + +// DescribeGeneratedTemplateWithContext is the same as DescribeGeneratedTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeGeneratedTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFormation) DescribeGeneratedTemplateWithContext(ctx aws.Context, input *DescribeGeneratedTemplateInput, opts ...request.Option) (*DescribeGeneratedTemplateOutput, error) { + req, out := c.DescribeGeneratedTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeOrganizationsAccess = "DescribeOrganizationsAccess" // DescribeOrganizationsAccessRequest generates a "aws/request.Request" representing the @@ -1943,6 +2202,84 @@ func (c *CloudFormation) DescribePublisherWithContext(ctx aws.Context, input *De return out, req.Send() } +const opDescribeResourceScan = "DescribeResourceScan" + +// DescribeResourceScanRequest generates a "aws/request.Request" representing the +// client's request for the DescribeResourceScan operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeResourceScan for more information on using the DescribeResourceScan +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DescribeResourceScanRequest method. +// req, resp := client.DescribeResourceScanRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeResourceScan +func (c *CloudFormation) DescribeResourceScanRequest(input *DescribeResourceScanInput) (req *request.Request, output *DescribeResourceScanOutput) { + op := &request.Operation{ + Name: opDescribeResourceScan, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeResourceScanInput{} + } + + output = &DescribeResourceScanOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeResourceScan API operation for AWS CloudFormation. +// +// Describes details of a resource scan. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudFormation's +// API operation DescribeResourceScan for usage and error information. +// +// Returned Error Codes: +// - ErrCodeResourceScanNotFoundException "ResourceScanNotFound" +// The resource scan was not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/DescribeResourceScan +func (c *CloudFormation) DescribeResourceScan(input *DescribeResourceScanInput) (*DescribeResourceScanOutput, error) { + req, out := c.DescribeResourceScanRequest(input) + return out, req.Send() +} + +// DescribeResourceScanWithContext is the same as DescribeResourceScan with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeResourceScan for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFormation) DescribeResourceScanWithContext(ctx aws.Context, input *DescribeResourceScanInput, opts ...request.Option) (*DescribeResourceScanOutput, error) { + req, out := c.DescribeResourceScanRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeStackDriftDetectionStatus = "DescribeStackDriftDetectionStatus" // DescribeStackDriftDetectionStatusRequest generates a "aws/request.Request" representing the @@ -3504,65 +3841,146 @@ func (c *CloudFormation) ExecuteChangeSetWithContext(ctx aws.Context, input *Exe return out, req.Send() } -const opGetStackPolicy = "GetStackPolicy" +const opGetGeneratedTemplate = "GetGeneratedTemplate" -// GetStackPolicyRequest generates a "aws/request.Request" representing the -// client's request for the GetStackPolicy operation. The "output" return +// GetGeneratedTemplateRequest generates a "aws/request.Request" representing the +// client's request for the GetGeneratedTemplate operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetStackPolicy for more information on using the GetStackPolicy +// See GetGeneratedTemplate for more information on using the GetGeneratedTemplate // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the GetStackPolicyRequest method. -// req, resp := client.GetStackPolicyRequest(params) +// // Example sending a request using the GetGeneratedTemplateRequest method. +// req, resp := client.GetGeneratedTemplateRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/GetStackPolicy -func (c *CloudFormation) GetStackPolicyRequest(input *GetStackPolicyInput) (req *request.Request, output *GetStackPolicyOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/GetGeneratedTemplate +func (c *CloudFormation) GetGeneratedTemplateRequest(input *GetGeneratedTemplateInput) (req *request.Request, output *GetGeneratedTemplateOutput) { op := &request.Operation{ - Name: opGetStackPolicy, + Name: opGetGeneratedTemplate, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetStackPolicyInput{} + input = &GetGeneratedTemplateInput{} } - output = &GetStackPolicyOutput{} + output = &GetGeneratedTemplateOutput{} req = c.newRequest(op, input, output) return } -// GetStackPolicy API operation for AWS CloudFormation. +// GetGeneratedTemplate API operation for AWS CloudFormation. // -// Returns the stack policy for a specified stack. If a stack doesn't have a -// policy, a null value is returned. +// Retrieves a generated template. If the template is in an InProgress or Pending +// status then the template returned will be the template when the template +// was last in a Complete status. If the template has not yet been in a Complete +// status then an empty template will be returned. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CloudFormation's -// API operation GetStackPolicy for usage and error information. -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/GetStackPolicy -func (c *CloudFormation) GetStackPolicy(input *GetStackPolicyInput) (*GetStackPolicyOutput, error) { - req, out := c.GetStackPolicyRequest(input) +// API operation GetGeneratedTemplate for usage and error information. +// +// Returned Error Codes: +// - ErrCodeGeneratedTemplateNotFoundException "GeneratedTemplateNotFound" +// The generated template was not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/GetGeneratedTemplate +func (c *CloudFormation) GetGeneratedTemplate(input *GetGeneratedTemplateInput) (*GetGeneratedTemplateOutput, error) { + req, out := c.GetGeneratedTemplateRequest(input) return out, req.Send() } -// GetStackPolicyWithContext is the same as GetStackPolicy with the addition of +// GetGeneratedTemplateWithContext is the same as GetGeneratedTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See GetGeneratedTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFormation) GetGeneratedTemplateWithContext(ctx aws.Context, input *GetGeneratedTemplateInput, opts ...request.Option) (*GetGeneratedTemplateOutput, error) { + req, out := c.GetGeneratedTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetStackPolicy = "GetStackPolicy" + +// GetStackPolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetStackPolicy operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetStackPolicy for more information on using the GetStackPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetStackPolicyRequest method. +// req, resp := client.GetStackPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/GetStackPolicy +func (c *CloudFormation) GetStackPolicyRequest(input *GetStackPolicyInput) (req *request.Request, output *GetStackPolicyOutput) { + op := &request.Operation{ + Name: opGetStackPolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetStackPolicyInput{} + } + + output = &GetStackPolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetStackPolicy API operation for AWS CloudFormation. +// +// Returns the stack policy for a specified stack. If a stack doesn't have a +// policy, a null value is returned. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudFormation's +// API operation GetStackPolicy for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/GetStackPolicy +func (c *CloudFormation) GetStackPolicy(input *GetStackPolicyInput) (*GetStackPolicyOutput, error) { + req, out := c.GetStackPolicyRequest(input) + return out, req.Send() +} + +// GetStackPolicyWithContext is the same as GetStackPolicy with the addition of // the ability to pass a context and additional request options. // // See GetStackPolicy for details on how to use this API operation. @@ -4126,6 +4544,136 @@ func (c *CloudFormation) ListExportsPagesWithContext(ctx aws.Context, input *Lis return p.Err() } +const opListGeneratedTemplates = "ListGeneratedTemplates" + +// ListGeneratedTemplatesRequest generates a "aws/request.Request" representing the +// client's request for the ListGeneratedTemplates operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListGeneratedTemplates for more information on using the ListGeneratedTemplates +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListGeneratedTemplatesRequest method. +// req, resp := client.ListGeneratedTemplatesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListGeneratedTemplates +func (c *CloudFormation) ListGeneratedTemplatesRequest(input *ListGeneratedTemplatesInput) (req *request.Request, output *ListGeneratedTemplatesOutput) { + op := &request.Operation{ + Name: opListGeneratedTemplates, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListGeneratedTemplatesInput{} + } + + output = &ListGeneratedTemplatesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListGeneratedTemplates API operation for AWS CloudFormation. +// +// Lists your generated templates in this Region. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudFormation's +// API operation ListGeneratedTemplates for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListGeneratedTemplates +func (c *CloudFormation) ListGeneratedTemplates(input *ListGeneratedTemplatesInput) (*ListGeneratedTemplatesOutput, error) { + req, out := c.ListGeneratedTemplatesRequest(input) + return out, req.Send() +} + +// ListGeneratedTemplatesWithContext is the same as ListGeneratedTemplates with the addition of +// the ability to pass a context and additional request options. +// +// See ListGeneratedTemplates for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFormation) ListGeneratedTemplatesWithContext(ctx aws.Context, input *ListGeneratedTemplatesInput, opts ...request.Option) (*ListGeneratedTemplatesOutput, error) { + req, out := c.ListGeneratedTemplatesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListGeneratedTemplatesPages iterates over the pages of a ListGeneratedTemplates operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListGeneratedTemplates method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListGeneratedTemplates operation. +// pageNum := 0 +// err := client.ListGeneratedTemplatesPages(params, +// func(page *cloudformation.ListGeneratedTemplatesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *CloudFormation) ListGeneratedTemplatesPages(input *ListGeneratedTemplatesInput, fn func(*ListGeneratedTemplatesOutput, bool) bool) error { + return c.ListGeneratedTemplatesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListGeneratedTemplatesPagesWithContext same as ListGeneratedTemplatesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFormation) ListGeneratedTemplatesPagesWithContext(ctx aws.Context, input *ListGeneratedTemplatesInput, fn func(*ListGeneratedTemplatesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListGeneratedTemplatesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListGeneratedTemplatesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListGeneratedTemplatesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListImports = "ListImports" // ListImportsRequest generates a "aws/request.Request" representing the @@ -4262,123 +4810,176 @@ func (c *CloudFormation) ListImportsPagesWithContext(ctx aws.Context, input *Lis return p.Err() } -const opListStackInstanceResourceDrifts = "ListStackInstanceResourceDrifts" +const opListResourceScanRelatedResources = "ListResourceScanRelatedResources" -// ListStackInstanceResourceDriftsRequest generates a "aws/request.Request" representing the -// client's request for the ListStackInstanceResourceDrifts operation. The "output" return +// ListResourceScanRelatedResourcesRequest generates a "aws/request.Request" representing the +// client's request for the ListResourceScanRelatedResources operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListStackInstanceResourceDrifts for more information on using the ListStackInstanceResourceDrifts +// See ListResourceScanRelatedResources for more information on using the ListResourceScanRelatedResources // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListStackInstanceResourceDriftsRequest method. -// req, resp := client.ListStackInstanceResourceDriftsRequest(params) +// // Example sending a request using the ListResourceScanRelatedResourcesRequest method. +// req, resp := client.ListResourceScanRelatedResourcesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackInstanceResourceDrifts -func (c *CloudFormation) ListStackInstanceResourceDriftsRequest(input *ListStackInstanceResourceDriftsInput) (req *request.Request, output *ListStackInstanceResourceDriftsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListResourceScanRelatedResources +func (c *CloudFormation) ListResourceScanRelatedResourcesRequest(input *ListResourceScanRelatedResourcesInput) (req *request.Request, output *ListResourceScanRelatedResourcesOutput) { op := &request.Operation{ - Name: opListStackInstanceResourceDrifts, + Name: opListResourceScanRelatedResources, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &ListStackInstanceResourceDriftsInput{} + input = &ListResourceScanRelatedResourcesInput{} } - output = &ListStackInstanceResourceDriftsOutput{} + output = &ListResourceScanRelatedResourcesOutput{} req = c.newRequest(op, input, output) return } -// ListStackInstanceResourceDrifts API operation for AWS CloudFormation. -// -// Returns drift information for resources in a stack instance. +// ListResourceScanRelatedResources API operation for AWS CloudFormation. // -// ListStackInstanceResourceDrifts returns drift information for the most recent -// drift detection operation. If an operation is in progress, it may only return -// partial results. +// Lists the related resources for a list of resources from a resource scan. +// The response indicates whether each returned resource is already managed +// by CloudFormation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CloudFormation's -// API operation ListStackInstanceResourceDrifts for usage and error information. +// API operation ListResourceScanRelatedResources for usage and error information. // // Returned Error Codes: // -// - ErrCodeStackSetNotFoundException "StackSetNotFoundException" -// The specified stack set doesn't exist. -// -// - ErrCodeStackInstanceNotFoundException "StackInstanceNotFoundException" -// The specified stack instance doesn't exist. +// - ErrCodeResourceScanNotFoundException "ResourceScanNotFound" +// The resource scan was not found. // -// - ErrCodeOperationNotFoundException "OperationNotFoundException" -// The specified ID refers to an operation that doesn't exist. +// - ErrCodeResourceScanInProgressException "ResourceScanInProgress" +// A resource scan is currently in progress. Only one can be run at a time for +// an account in a Region. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackInstanceResourceDrifts -func (c *CloudFormation) ListStackInstanceResourceDrifts(input *ListStackInstanceResourceDriftsInput) (*ListStackInstanceResourceDriftsOutput, error) { - req, out := c.ListStackInstanceResourceDriftsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListResourceScanRelatedResources +func (c *CloudFormation) ListResourceScanRelatedResources(input *ListResourceScanRelatedResourcesInput) (*ListResourceScanRelatedResourcesOutput, error) { + req, out := c.ListResourceScanRelatedResourcesRequest(input) return out, req.Send() } -// ListStackInstanceResourceDriftsWithContext is the same as ListStackInstanceResourceDrifts with the addition of +// ListResourceScanRelatedResourcesWithContext is the same as ListResourceScanRelatedResources with the addition of // the ability to pass a context and additional request options. // -// See ListStackInstanceResourceDrifts for details on how to use this API operation. +// See ListResourceScanRelatedResources for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFormation) ListStackInstanceResourceDriftsWithContext(ctx aws.Context, input *ListStackInstanceResourceDriftsInput, opts ...request.Option) (*ListStackInstanceResourceDriftsOutput, error) { - req, out := c.ListStackInstanceResourceDriftsRequest(input) +func (c *CloudFormation) ListResourceScanRelatedResourcesWithContext(ctx aws.Context, input *ListResourceScanRelatedResourcesInput, opts ...request.Option) (*ListResourceScanRelatedResourcesOutput, error) { + req, out := c.ListResourceScanRelatedResourcesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListStackInstances = "ListStackInstances" +// ListResourceScanRelatedResourcesPages iterates over the pages of a ListResourceScanRelatedResources operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListResourceScanRelatedResources method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListResourceScanRelatedResources operation. +// pageNum := 0 +// err := client.ListResourceScanRelatedResourcesPages(params, +// func(page *cloudformation.ListResourceScanRelatedResourcesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *CloudFormation) ListResourceScanRelatedResourcesPages(input *ListResourceScanRelatedResourcesInput, fn func(*ListResourceScanRelatedResourcesOutput, bool) bool) error { + return c.ListResourceScanRelatedResourcesPagesWithContext(aws.BackgroundContext(), input, fn) +} -// ListStackInstancesRequest generates a "aws/request.Request" representing the -// client's request for the ListStackInstances operation. The "output" return +// ListResourceScanRelatedResourcesPagesWithContext same as ListResourceScanRelatedResourcesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFormation) ListResourceScanRelatedResourcesPagesWithContext(ctx aws.Context, input *ListResourceScanRelatedResourcesInput, fn func(*ListResourceScanRelatedResourcesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListResourceScanRelatedResourcesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListResourceScanRelatedResourcesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListResourceScanRelatedResourcesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListResourceScanResources = "ListResourceScanResources" + +// ListResourceScanResourcesRequest generates a "aws/request.Request" representing the +// client's request for the ListResourceScanResources operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListStackInstances for more information on using the ListStackInstances +// See ListResourceScanResources for more information on using the ListResourceScanResources // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListStackInstancesRequest method. -// req, resp := client.ListStackInstancesRequest(params) +// // Example sending a request using the ListResourceScanResourcesRequest method. +// req, resp := client.ListResourceScanResourcesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackInstances -func (c *CloudFormation) ListStackInstancesRequest(input *ListStackInstancesInput) (req *request.Request, output *ListStackInstancesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListResourceScanResources +func (c *CloudFormation) ListResourceScanResourcesRequest(input *ListResourceScanResourcesInput) (req *request.Request, output *ListResourceScanResourcesOutput) { op := &request.Operation{ - Name: opListStackInstances, + Name: opListResourceScanResources, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -4390,90 +4991,95 @@ func (c *CloudFormation) ListStackInstancesRequest(input *ListStackInstancesInpu } if input == nil { - input = &ListStackInstancesInput{} + input = &ListResourceScanResourcesInput{} } - output = &ListStackInstancesOutput{} + output = &ListResourceScanResourcesOutput{} req = c.newRequest(op, input, output) return } -// ListStackInstances API operation for AWS CloudFormation. +// ListResourceScanResources API operation for AWS CloudFormation. // -// Returns summary information about stack instances that are associated with -// the specified stack set. You can filter for stack instances that are associated -// with a specific Amazon Web Services account name or Region, or that have -// a specific status. +// Lists the resources from a resource scan. The results can be filtered by +// resource identifier, resource type prefix, tag key, and tag value. Only resources +// that match all specified filters are returned. The response indicates whether +// each returned resource is already managed by CloudFormation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CloudFormation's -// API operation ListStackInstances for usage and error information. +// API operation ListResourceScanResources for usage and error information. // // Returned Error Codes: -// - ErrCodeStackSetNotFoundException "StackSetNotFoundException" -// The specified stack set doesn't exist. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackInstances -func (c *CloudFormation) ListStackInstances(input *ListStackInstancesInput) (*ListStackInstancesOutput, error) { - req, out := c.ListStackInstancesRequest(input) +// - ErrCodeResourceScanNotFoundException "ResourceScanNotFound" +// The resource scan was not found. +// +// - ErrCodeResourceScanInProgressException "ResourceScanInProgress" +// A resource scan is currently in progress. Only one can be run at a time for +// an account in a Region. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListResourceScanResources +func (c *CloudFormation) ListResourceScanResources(input *ListResourceScanResourcesInput) (*ListResourceScanResourcesOutput, error) { + req, out := c.ListResourceScanResourcesRequest(input) return out, req.Send() } -// ListStackInstancesWithContext is the same as ListStackInstances with the addition of +// ListResourceScanResourcesWithContext is the same as ListResourceScanResources with the addition of // the ability to pass a context and additional request options. // -// See ListStackInstances for details on how to use this API operation. +// See ListResourceScanResources for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFormation) ListStackInstancesWithContext(ctx aws.Context, input *ListStackInstancesInput, opts ...request.Option) (*ListStackInstancesOutput, error) { - req, out := c.ListStackInstancesRequest(input) +func (c *CloudFormation) ListResourceScanResourcesWithContext(ctx aws.Context, input *ListResourceScanResourcesInput, opts ...request.Option) (*ListResourceScanResourcesOutput, error) { + req, out := c.ListResourceScanResourcesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListStackInstancesPages iterates over the pages of a ListStackInstances operation, +// ListResourceScanResourcesPages iterates over the pages of a ListResourceScanResources operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListStackInstances method for more information on how to use this operation. +// See ListResourceScanResources method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListStackInstances operation. +// // Example iterating over at most 3 pages of a ListResourceScanResources operation. // pageNum := 0 -// err := client.ListStackInstancesPages(params, -// func(page *cloudformation.ListStackInstancesOutput, lastPage bool) bool { +// err := client.ListResourceScanResourcesPages(params, +// func(page *cloudformation.ListResourceScanResourcesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *CloudFormation) ListStackInstancesPages(input *ListStackInstancesInput, fn func(*ListStackInstancesOutput, bool) bool) error { - return c.ListStackInstancesPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *CloudFormation) ListResourceScanResourcesPages(input *ListResourceScanResourcesInput, fn func(*ListResourceScanResourcesOutput, bool) bool) error { + return c.ListResourceScanResourcesPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListStackInstancesPagesWithContext same as ListStackInstancesPages except +// ListResourceScanResourcesPagesWithContext same as ListResourceScanResourcesPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFormation) ListStackInstancesPagesWithContext(ctx aws.Context, input *ListStackInstancesInput, fn func(*ListStackInstancesOutput, bool) bool, opts ...request.Option) error { +func (c *CloudFormation) ListResourceScanResourcesPagesWithContext(ctx aws.Context, input *ListResourceScanResourcesInput, fn func(*ListResourceScanResourcesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListStackInstancesInput + var inCpy *ListResourceScanResourcesInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListStackInstancesRequest(inCpy) + req, _ := c.ListResourceScanResourcesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -4481,7 +5087,7 @@ func (c *CloudFormation) ListStackInstancesPagesWithContext(ctx aws.Context, inp } for p.Next() { - if !fn(p.Page().(*ListStackInstancesOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListResourceScanResourcesOutput), !p.HasNextPage()) { break } } @@ -4489,124 +5095,122 @@ func (c *CloudFormation) ListStackInstancesPagesWithContext(ctx aws.Context, inp return p.Err() } -const opListStackResources = "ListStackResources" +const opListResourceScans = "ListResourceScans" -// ListStackResourcesRequest generates a "aws/request.Request" representing the -// client's request for the ListStackResources operation. The "output" return +// ListResourceScansRequest generates a "aws/request.Request" representing the +// client's request for the ListResourceScans operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListStackResources for more information on using the ListStackResources +// See ListResourceScans for more information on using the ListResourceScans // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListStackResourcesRequest method. -// req, resp := client.ListStackResourcesRequest(params) +// // Example sending a request using the ListResourceScansRequest method. +// req, resp := client.ListResourceScansRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackResources -func (c *CloudFormation) ListStackResourcesRequest(input *ListStackResourcesInput) (req *request.Request, output *ListStackResourcesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListResourceScans +func (c *CloudFormation) ListResourceScansRequest(input *ListResourceScansInput) (req *request.Request, output *ListResourceScansOutput) { op := &request.Operation{ - Name: opListStackResources, + Name: opListResourceScans, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, - LimitToken: "", + LimitToken: "MaxResults", TruncationToken: "", }, } if input == nil { - input = &ListStackResourcesInput{} + input = &ListResourceScansInput{} } - output = &ListStackResourcesOutput{} + output = &ListResourceScansOutput{} req = c.newRequest(op, input, output) return } -// ListStackResources API operation for AWS CloudFormation. -// -// Returns descriptions of all resources of the specified stack. +// ListResourceScans API operation for AWS CloudFormation. // -// For deleted stacks, ListStackResources returns resource information for up -// to 90 days after the stack has been deleted. +// List the resource scans from newest to oldest. By default it will return +// up to 10 resource scans. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CloudFormation's -// API operation ListStackResources for usage and error information. -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackResources -func (c *CloudFormation) ListStackResources(input *ListStackResourcesInput) (*ListStackResourcesOutput, error) { - req, out := c.ListStackResourcesRequest(input) +// API operation ListResourceScans for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListResourceScans +func (c *CloudFormation) ListResourceScans(input *ListResourceScansInput) (*ListResourceScansOutput, error) { + req, out := c.ListResourceScansRequest(input) return out, req.Send() } -// ListStackResourcesWithContext is the same as ListStackResources with the addition of +// ListResourceScansWithContext is the same as ListResourceScans with the addition of // the ability to pass a context and additional request options. // -// See ListStackResources for details on how to use this API operation. +// See ListResourceScans for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFormation) ListStackResourcesWithContext(ctx aws.Context, input *ListStackResourcesInput, opts ...request.Option) (*ListStackResourcesOutput, error) { - req, out := c.ListStackResourcesRequest(input) +func (c *CloudFormation) ListResourceScansWithContext(ctx aws.Context, input *ListResourceScansInput, opts ...request.Option) (*ListResourceScansOutput, error) { + req, out := c.ListResourceScansRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListStackResourcesPages iterates over the pages of a ListStackResources operation, +// ListResourceScansPages iterates over the pages of a ListResourceScans operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListStackResources method for more information on how to use this operation. +// See ListResourceScans method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListStackResources operation. +// // Example iterating over at most 3 pages of a ListResourceScans operation. // pageNum := 0 -// err := client.ListStackResourcesPages(params, -// func(page *cloudformation.ListStackResourcesOutput, lastPage bool) bool { +// err := client.ListResourceScansPages(params, +// func(page *cloudformation.ListResourceScansOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *CloudFormation) ListStackResourcesPages(input *ListStackResourcesInput, fn func(*ListStackResourcesOutput, bool) bool) error { - return c.ListStackResourcesPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *CloudFormation) ListResourceScansPages(input *ListResourceScansInput, fn func(*ListResourceScansOutput, bool) bool) error { + return c.ListResourceScansPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListStackResourcesPagesWithContext same as ListStackResourcesPages except +// ListResourceScansPagesWithContext same as ListResourceScansPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFormation) ListStackResourcesPagesWithContext(ctx aws.Context, input *ListStackResourcesInput, fn func(*ListStackResourcesOutput, bool) bool, opts ...request.Option) error { +func (c *CloudFormation) ListResourceScansPagesWithContext(ctx aws.Context, input *ListResourceScansInput, fn func(*ListResourceScansOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListStackResourcesInput + var inCpy *ListResourceScansInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListStackResourcesRequest(inCpy) + req, _ := c.ListResourceScansRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -4614,7 +5218,7 @@ func (c *CloudFormation) ListStackResourcesPagesWithContext(ctx aws.Context, inp } for p.Next() { - if !fn(p.Page().(*ListStackResourcesOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListResourceScansOutput), !p.HasNextPage()) { break } } @@ -4622,173 +5226,123 @@ func (c *CloudFormation) ListStackResourcesPagesWithContext(ctx aws.Context, inp return p.Err() } -const opListStackSetOperationResults = "ListStackSetOperationResults" +const opListStackInstanceResourceDrifts = "ListStackInstanceResourceDrifts" -// ListStackSetOperationResultsRequest generates a "aws/request.Request" representing the -// client's request for the ListStackSetOperationResults operation. The "output" return +// ListStackInstanceResourceDriftsRequest generates a "aws/request.Request" representing the +// client's request for the ListStackInstanceResourceDrifts operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListStackSetOperationResults for more information on using the ListStackSetOperationResults +// See ListStackInstanceResourceDrifts for more information on using the ListStackInstanceResourceDrifts // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListStackSetOperationResultsRequest method. -// req, resp := client.ListStackSetOperationResultsRequest(params) +// // Example sending a request using the ListStackInstanceResourceDriftsRequest method. +// req, resp := client.ListStackInstanceResourceDriftsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackSetOperationResults -func (c *CloudFormation) ListStackSetOperationResultsRequest(input *ListStackSetOperationResultsInput) (req *request.Request, output *ListStackSetOperationResultsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackInstanceResourceDrifts +func (c *CloudFormation) ListStackInstanceResourceDriftsRequest(input *ListStackInstanceResourceDriftsInput) (req *request.Request, output *ListStackInstanceResourceDriftsOutput) { op := &request.Operation{ - Name: opListStackSetOperationResults, + Name: opListStackInstanceResourceDrifts, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, } if input == nil { - input = &ListStackSetOperationResultsInput{} + input = &ListStackInstanceResourceDriftsInput{} } - output = &ListStackSetOperationResultsOutput{} + output = &ListStackInstanceResourceDriftsOutput{} req = c.newRequest(op, input, output) return } -// ListStackSetOperationResults API operation for AWS CloudFormation. +// ListStackInstanceResourceDrifts API operation for AWS CloudFormation. // -// Returns summary information about the results of a stack set operation. +// Returns drift information for resources in a stack instance. +// +// ListStackInstanceResourceDrifts returns drift information for the most recent +// drift detection operation. If an operation is in progress, it may only return +// partial results. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CloudFormation's -// API operation ListStackSetOperationResults for usage and error information. +// API operation ListStackInstanceResourceDrifts for usage and error information. // // Returned Error Codes: // // - ErrCodeStackSetNotFoundException "StackSetNotFoundException" // The specified stack set doesn't exist. // +// - ErrCodeStackInstanceNotFoundException "StackInstanceNotFoundException" +// The specified stack instance doesn't exist. +// // - ErrCodeOperationNotFoundException "OperationNotFoundException" // The specified ID refers to an operation that doesn't exist. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackSetOperationResults -func (c *CloudFormation) ListStackSetOperationResults(input *ListStackSetOperationResultsInput) (*ListStackSetOperationResultsOutput, error) { - req, out := c.ListStackSetOperationResultsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackInstanceResourceDrifts +func (c *CloudFormation) ListStackInstanceResourceDrifts(input *ListStackInstanceResourceDriftsInput) (*ListStackInstanceResourceDriftsOutput, error) { + req, out := c.ListStackInstanceResourceDriftsRequest(input) return out, req.Send() } -// ListStackSetOperationResultsWithContext is the same as ListStackSetOperationResults with the addition of +// ListStackInstanceResourceDriftsWithContext is the same as ListStackInstanceResourceDrifts with the addition of // the ability to pass a context and additional request options. // -// See ListStackSetOperationResults for details on how to use this API operation. +// See ListStackInstanceResourceDrifts for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFormation) ListStackSetOperationResultsWithContext(ctx aws.Context, input *ListStackSetOperationResultsInput, opts ...request.Option) (*ListStackSetOperationResultsOutput, error) { - req, out := c.ListStackSetOperationResultsRequest(input) +func (c *CloudFormation) ListStackInstanceResourceDriftsWithContext(ctx aws.Context, input *ListStackInstanceResourceDriftsInput, opts ...request.Option) (*ListStackInstanceResourceDriftsOutput, error) { + req, out := c.ListStackInstanceResourceDriftsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListStackSetOperationResultsPages iterates over the pages of a ListStackSetOperationResults operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListStackSetOperationResults method for more information on how to use this operation. -// -// Note: This operation can generate multiple requests to a service. -// -// // Example iterating over at most 3 pages of a ListStackSetOperationResults operation. -// pageNum := 0 -// err := client.ListStackSetOperationResultsPages(params, -// func(page *cloudformation.ListStackSetOperationResultsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -func (c *CloudFormation) ListStackSetOperationResultsPages(input *ListStackSetOperationResultsInput, fn func(*ListStackSetOperationResultsOutput, bool) bool) error { - return c.ListStackSetOperationResultsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListStackSetOperationResultsPagesWithContext same as ListStackSetOperationResultsPages except -// it takes a Context and allows setting request options on the pages. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *CloudFormation) ListStackSetOperationResultsPagesWithContext(ctx aws.Context, input *ListStackSetOperationResultsInput, fn func(*ListStackSetOperationResultsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListStackSetOperationResultsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListStackSetOperationResultsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListStackSetOperationResultsOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListStackSetOperations = "ListStackSetOperations" +const opListStackInstances = "ListStackInstances" -// ListStackSetOperationsRequest generates a "aws/request.Request" representing the -// client's request for the ListStackSetOperations operation. The "output" return +// ListStackInstancesRequest generates a "aws/request.Request" representing the +// client's request for the ListStackInstances operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListStackSetOperations for more information on using the ListStackSetOperations +// See ListStackInstances for more information on using the ListStackInstances // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListStackSetOperationsRequest method. -// req, resp := client.ListStackSetOperationsRequest(params) +// // Example sending a request using the ListStackInstancesRequest method. +// req, resp := client.ListStackInstancesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackSetOperations -func (c *CloudFormation) ListStackSetOperationsRequest(input *ListStackSetOperationsInput) (req *request.Request, output *ListStackSetOperationsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackInstances +func (c *CloudFormation) ListStackInstancesRequest(input *ListStackInstancesInput) (req *request.Request, output *ListStackInstancesOutput) { op := &request.Operation{ - Name: opListStackSetOperations, + Name: opListStackInstances, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -4800,87 +5354,90 @@ func (c *CloudFormation) ListStackSetOperationsRequest(input *ListStackSetOperat } if input == nil { - input = &ListStackSetOperationsInput{} + input = &ListStackInstancesInput{} } - output = &ListStackSetOperationsOutput{} + output = &ListStackInstancesOutput{} req = c.newRequest(op, input, output) return } -// ListStackSetOperations API operation for AWS CloudFormation. +// ListStackInstances API operation for AWS CloudFormation. // -// Returns summary information about operations performed on a stack set. +// Returns summary information about stack instances that are associated with +// the specified stack set. You can filter for stack instances that are associated +// with a specific Amazon Web Services account name or Region, or that have +// a specific status. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CloudFormation's -// API operation ListStackSetOperations for usage and error information. +// API operation ListStackInstances for usage and error information. // // Returned Error Codes: // - ErrCodeStackSetNotFoundException "StackSetNotFoundException" // The specified stack set doesn't exist. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackSetOperations -func (c *CloudFormation) ListStackSetOperations(input *ListStackSetOperationsInput) (*ListStackSetOperationsOutput, error) { - req, out := c.ListStackSetOperationsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackInstances +func (c *CloudFormation) ListStackInstances(input *ListStackInstancesInput) (*ListStackInstancesOutput, error) { + req, out := c.ListStackInstancesRequest(input) return out, req.Send() } -// ListStackSetOperationsWithContext is the same as ListStackSetOperations with the addition of +// ListStackInstancesWithContext is the same as ListStackInstances with the addition of // the ability to pass a context and additional request options. // -// See ListStackSetOperations for details on how to use this API operation. +// See ListStackInstances for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFormation) ListStackSetOperationsWithContext(ctx aws.Context, input *ListStackSetOperationsInput, opts ...request.Option) (*ListStackSetOperationsOutput, error) { - req, out := c.ListStackSetOperationsRequest(input) +func (c *CloudFormation) ListStackInstancesWithContext(ctx aws.Context, input *ListStackInstancesInput, opts ...request.Option) (*ListStackInstancesOutput, error) { + req, out := c.ListStackInstancesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListStackSetOperationsPages iterates over the pages of a ListStackSetOperations operation, +// ListStackInstancesPages iterates over the pages of a ListStackInstances operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListStackSetOperations method for more information on how to use this operation. +// See ListStackInstances method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListStackSetOperations operation. +// // Example iterating over at most 3 pages of a ListStackInstances operation. // pageNum := 0 -// err := client.ListStackSetOperationsPages(params, -// func(page *cloudformation.ListStackSetOperationsOutput, lastPage bool) bool { +// err := client.ListStackInstancesPages(params, +// func(page *cloudformation.ListStackInstancesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *CloudFormation) ListStackSetOperationsPages(input *ListStackSetOperationsInput, fn func(*ListStackSetOperationsOutput, bool) bool) error { - return c.ListStackSetOperationsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *CloudFormation) ListStackInstancesPages(input *ListStackInstancesInput, fn func(*ListStackInstancesOutput, bool) bool) error { + return c.ListStackInstancesPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListStackSetOperationsPagesWithContext same as ListStackSetOperationsPages except +// ListStackInstancesPagesWithContext same as ListStackInstancesPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFormation) ListStackSetOperationsPagesWithContext(ctx aws.Context, input *ListStackSetOperationsInput, fn func(*ListStackSetOperationsOutput, bool) bool, opts ...request.Option) error { +func (c *CloudFormation) ListStackInstancesPagesWithContext(ctx aws.Context, input *ListStackInstancesInput, fn func(*ListStackInstancesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListStackSetOperationsInput + var inCpy *ListStackInstancesInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListStackSetOperationsRequest(inCpy) + req, _ := c.ListStackInstancesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -4888,7 +5445,7 @@ func (c *CloudFormation) ListStackSetOperationsPagesWithContext(ctx aws.Context, } for p.Next() { - if !fn(p.Page().(*ListStackSetOperationsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListStackInstancesOutput), !p.HasNextPage()) { break } } @@ -4896,134 +5453,124 @@ func (c *CloudFormation) ListStackSetOperationsPagesWithContext(ctx aws.Context, return p.Err() } -const opListStackSets = "ListStackSets" +const opListStackResources = "ListStackResources" -// ListStackSetsRequest generates a "aws/request.Request" representing the -// client's request for the ListStackSets operation. The "output" return +// ListStackResourcesRequest generates a "aws/request.Request" representing the +// client's request for the ListStackResources operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListStackSets for more information on using the ListStackSets +// See ListStackResources for more information on using the ListStackResources // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListStackSetsRequest method. -// req, resp := client.ListStackSetsRequest(params) +// // Example sending a request using the ListStackResourcesRequest method. +// req, resp := client.ListStackResourcesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackSets -func (c *CloudFormation) ListStackSetsRequest(input *ListStackSetsInput) (req *request.Request, output *ListStackSetsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackResources +func (c *CloudFormation) ListStackResourcesRequest(input *ListStackResourcesInput) (req *request.Request, output *ListStackResourcesOutput) { op := &request.Operation{ - Name: opListStackSets, + Name: opListStackResources, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", + LimitToken: "", TruncationToken: "", }, } if input == nil { - input = &ListStackSetsInput{} + input = &ListStackResourcesInput{} } - output = &ListStackSetsOutput{} + output = &ListStackResourcesOutput{} req = c.newRequest(op, input, output) return } -// ListStackSets API operation for AWS CloudFormation. -// -// Returns summary information about stack sets that are associated with the -// user. -// -// - [Self-managed permissions] If you set the CallAs parameter to SELF while -// signed in to your Amazon Web Services account, ListStackSets returns all -// self-managed stack sets in your Amazon Web Services account. +// ListStackResources API operation for AWS CloudFormation. // -// - [Service-managed permissions] If you set the CallAs parameter to SELF -// while signed in to the organization's management account, ListStackSets -// returns all stack sets in the management account. +// Returns descriptions of all resources of the specified stack. // -// - [Service-managed permissions] If you set the CallAs parameter to DELEGATED_ADMIN -// while signed in to your member account, ListStackSets returns all stack -// sets with service-managed permissions in the management account. +// For deleted stacks, ListStackResources returns resource information for up +// to 90 days after the stack has been deleted. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CloudFormation's -// API operation ListStackSets for usage and error information. -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackSets -func (c *CloudFormation) ListStackSets(input *ListStackSetsInput) (*ListStackSetsOutput, error) { - req, out := c.ListStackSetsRequest(input) +// API operation ListStackResources for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackResources +func (c *CloudFormation) ListStackResources(input *ListStackResourcesInput) (*ListStackResourcesOutput, error) { + req, out := c.ListStackResourcesRequest(input) return out, req.Send() } -// ListStackSetsWithContext is the same as ListStackSets with the addition of +// ListStackResourcesWithContext is the same as ListStackResources with the addition of // the ability to pass a context and additional request options. // -// See ListStackSets for details on how to use this API operation. +// See ListStackResources for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFormation) ListStackSetsWithContext(ctx aws.Context, input *ListStackSetsInput, opts ...request.Option) (*ListStackSetsOutput, error) { - req, out := c.ListStackSetsRequest(input) +func (c *CloudFormation) ListStackResourcesWithContext(ctx aws.Context, input *ListStackResourcesInput, opts ...request.Option) (*ListStackResourcesOutput, error) { + req, out := c.ListStackResourcesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListStackSetsPages iterates over the pages of a ListStackSets operation, +// ListStackResourcesPages iterates over the pages of a ListStackResources operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListStackSets method for more information on how to use this operation. +// See ListStackResources method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListStackSets operation. +// // Example iterating over at most 3 pages of a ListStackResources operation. // pageNum := 0 -// err := client.ListStackSetsPages(params, -// func(page *cloudformation.ListStackSetsOutput, lastPage bool) bool { +// err := client.ListStackResourcesPages(params, +// func(page *cloudformation.ListStackResourcesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *CloudFormation) ListStackSetsPages(input *ListStackSetsInput, fn func(*ListStackSetsOutput, bool) bool) error { - return c.ListStackSetsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *CloudFormation) ListStackResourcesPages(input *ListStackResourcesInput, fn func(*ListStackResourcesOutput, bool) bool) error { + return c.ListStackResourcesPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListStackSetsPagesWithContext same as ListStackSetsPages except +// ListStackResourcesPagesWithContext same as ListStackResourcesPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFormation) ListStackSetsPagesWithContext(ctx aws.Context, input *ListStackSetsInput, fn func(*ListStackSetsOutput, bool) bool, opts ...request.Option) error { +func (c *CloudFormation) ListStackResourcesPagesWithContext(ctx aws.Context, input *ListStackResourcesInput, fn func(*ListStackResourcesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListStackSetsInput + var inCpy *ListStackResourcesInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListStackSetsRequest(inCpy) + req, _ := c.ListStackResourcesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -5031,7 +5578,7 @@ func (c *CloudFormation) ListStackSetsPagesWithContext(ctx aws.Context, input *L } for p.Next() { - if !fn(p.Page().(*ListStackSetsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListStackResourcesOutput), !p.HasNextPage()) { break } } @@ -5039,125 +5586,130 @@ func (c *CloudFormation) ListStackSetsPagesWithContext(ctx aws.Context, input *L return p.Err() } -const opListStacks = "ListStacks" +const opListStackSetOperationResults = "ListStackSetOperationResults" -// ListStacksRequest generates a "aws/request.Request" representing the -// client's request for the ListStacks operation. The "output" return +// ListStackSetOperationResultsRequest generates a "aws/request.Request" representing the +// client's request for the ListStackSetOperationResults operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListStacks for more information on using the ListStacks +// See ListStackSetOperationResults for more information on using the ListStackSetOperationResults // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListStacksRequest method. -// req, resp := client.ListStacksRequest(params) +// // Example sending a request using the ListStackSetOperationResultsRequest method. +// req, resp := client.ListStackSetOperationResultsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStacks -func (c *CloudFormation) ListStacksRequest(input *ListStacksInput) (req *request.Request, output *ListStacksOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackSetOperationResults +func (c *CloudFormation) ListStackSetOperationResultsRequest(input *ListStackSetOperationResultsInput) (req *request.Request, output *ListStackSetOperationResultsOutput) { op := &request.Operation{ - Name: opListStacks, + Name: opListStackSetOperationResults, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, - LimitToken: "", + LimitToken: "MaxResults", TruncationToken: "", }, } if input == nil { - input = &ListStacksInput{} + input = &ListStackSetOperationResultsInput{} } - output = &ListStacksOutput{} + output = &ListStackSetOperationResultsOutput{} req = c.newRequest(op, input, output) return } -// ListStacks API operation for AWS CloudFormation. +// ListStackSetOperationResults API operation for AWS CloudFormation. // -// Returns the summary information for stacks whose status matches the specified -// StackStatusFilter. Summary information for stacks that have been deleted -// is kept for 90 days after the stack is deleted. If no StackStatusFilter is -// specified, summary information for all stacks is returned (including existing -// stacks and stacks that have been deleted). +// Returns summary information about the results of a stack set operation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CloudFormation's -// API operation ListStacks for usage and error information. -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStacks -func (c *CloudFormation) ListStacks(input *ListStacksInput) (*ListStacksOutput, error) { - req, out := c.ListStacksRequest(input) +// API operation ListStackSetOperationResults for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeStackSetNotFoundException "StackSetNotFoundException" +// The specified stack set doesn't exist. +// +// - ErrCodeOperationNotFoundException "OperationNotFoundException" +// The specified ID refers to an operation that doesn't exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackSetOperationResults +func (c *CloudFormation) ListStackSetOperationResults(input *ListStackSetOperationResultsInput) (*ListStackSetOperationResultsOutput, error) { + req, out := c.ListStackSetOperationResultsRequest(input) return out, req.Send() } -// ListStacksWithContext is the same as ListStacks with the addition of +// ListStackSetOperationResultsWithContext is the same as ListStackSetOperationResults with the addition of // the ability to pass a context and additional request options. // -// See ListStacks for details on how to use this API operation. +// See ListStackSetOperationResults for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFormation) ListStacksWithContext(ctx aws.Context, input *ListStacksInput, opts ...request.Option) (*ListStacksOutput, error) { - req, out := c.ListStacksRequest(input) +func (c *CloudFormation) ListStackSetOperationResultsWithContext(ctx aws.Context, input *ListStackSetOperationResultsInput, opts ...request.Option) (*ListStackSetOperationResultsOutput, error) { + req, out := c.ListStackSetOperationResultsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListStacksPages iterates over the pages of a ListStacks operation, +// ListStackSetOperationResultsPages iterates over the pages of a ListStackSetOperationResults operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListStacks method for more information on how to use this operation. +// See ListStackSetOperationResults method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListStacks operation. +// // Example iterating over at most 3 pages of a ListStackSetOperationResults operation. // pageNum := 0 -// err := client.ListStacksPages(params, -// func(page *cloudformation.ListStacksOutput, lastPage bool) bool { +// err := client.ListStackSetOperationResultsPages(params, +// func(page *cloudformation.ListStackSetOperationResultsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *CloudFormation) ListStacksPages(input *ListStacksInput, fn func(*ListStacksOutput, bool) bool) error { - return c.ListStacksPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *CloudFormation) ListStackSetOperationResultsPages(input *ListStackSetOperationResultsInput, fn func(*ListStackSetOperationResultsOutput, bool) bool) error { + return c.ListStackSetOperationResultsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListStacksPagesWithContext same as ListStacksPages except +// ListStackSetOperationResultsPagesWithContext same as ListStackSetOperationResultsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFormation) ListStacksPagesWithContext(ctx aws.Context, input *ListStacksInput, fn func(*ListStacksOutput, bool) bool, opts ...request.Option) error { +func (c *CloudFormation) ListStackSetOperationResultsPagesWithContext(ctx aws.Context, input *ListStackSetOperationResultsInput, fn func(*ListStackSetOperationResultsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListStacksInput + var inCpy *ListStackSetOperationResultsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListStacksRequest(inCpy) + req, _ := c.ListStackSetOperationResultsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -5165,7 +5717,7 @@ func (c *CloudFormation) ListStacksPagesWithContext(ctx aws.Context, input *List } for p.Next() { - if !fn(p.Page().(*ListStacksOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListStackSetOperationResultsOutput), !p.HasNextPage()) { break } } @@ -5173,34 +5725,34 @@ func (c *CloudFormation) ListStacksPagesWithContext(ctx aws.Context, input *List return p.Err() } -const opListTypeRegistrations = "ListTypeRegistrations" +const opListStackSetOperations = "ListStackSetOperations" -// ListTypeRegistrationsRequest generates a "aws/request.Request" representing the -// client's request for the ListTypeRegistrations operation. The "output" return +// ListStackSetOperationsRequest generates a "aws/request.Request" representing the +// client's request for the ListStackSetOperations operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListTypeRegistrations for more information on using the ListTypeRegistrations +// See ListStackSetOperations for more information on using the ListStackSetOperations // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListTypeRegistrationsRequest method. -// req, resp := client.ListTypeRegistrationsRequest(params) +// // Example sending a request using the ListStackSetOperationsRequest method. +// req, resp := client.ListStackSetOperationsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListTypeRegistrations -func (c *CloudFormation) ListTypeRegistrationsRequest(input *ListTypeRegistrationsInput) (req *request.Request, output *ListTypeRegistrationsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackSetOperations +func (c *CloudFormation) ListStackSetOperationsRequest(input *ListStackSetOperationsInput) (req *request.Request, output *ListStackSetOperationsOutput) { op := &request.Operation{ - Name: opListTypeRegistrations, + Name: opListStackSetOperations, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -5212,87 +5764,87 @@ func (c *CloudFormation) ListTypeRegistrationsRequest(input *ListTypeRegistratio } if input == nil { - input = &ListTypeRegistrationsInput{} + input = &ListStackSetOperationsInput{} } - output = &ListTypeRegistrationsOutput{} + output = &ListStackSetOperationsOutput{} req = c.newRequest(op, input, output) return } -// ListTypeRegistrations API operation for AWS CloudFormation. +// ListStackSetOperations API operation for AWS CloudFormation. // -// Returns a list of registration tokens for the specified extension(s). +// Returns summary information about operations performed on a stack set. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CloudFormation's -// API operation ListTypeRegistrations for usage and error information. +// API operation ListStackSetOperations for usage and error information. // // Returned Error Codes: -// - ErrCodeCFNRegistryException "CFNRegistryException" -// An error occurred during a CloudFormation registry operation. +// - ErrCodeStackSetNotFoundException "StackSetNotFoundException" +// The specified stack set doesn't exist. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListTypeRegistrations -func (c *CloudFormation) ListTypeRegistrations(input *ListTypeRegistrationsInput) (*ListTypeRegistrationsOutput, error) { - req, out := c.ListTypeRegistrationsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackSetOperations +func (c *CloudFormation) ListStackSetOperations(input *ListStackSetOperationsInput) (*ListStackSetOperationsOutput, error) { + req, out := c.ListStackSetOperationsRequest(input) return out, req.Send() } -// ListTypeRegistrationsWithContext is the same as ListTypeRegistrations with the addition of +// ListStackSetOperationsWithContext is the same as ListStackSetOperations with the addition of // the ability to pass a context and additional request options. // -// See ListTypeRegistrations for details on how to use this API operation. +// See ListStackSetOperations for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFormation) ListTypeRegistrationsWithContext(ctx aws.Context, input *ListTypeRegistrationsInput, opts ...request.Option) (*ListTypeRegistrationsOutput, error) { - req, out := c.ListTypeRegistrationsRequest(input) +func (c *CloudFormation) ListStackSetOperationsWithContext(ctx aws.Context, input *ListStackSetOperationsInput, opts ...request.Option) (*ListStackSetOperationsOutput, error) { + req, out := c.ListStackSetOperationsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListTypeRegistrationsPages iterates over the pages of a ListTypeRegistrations operation, +// ListStackSetOperationsPages iterates over the pages of a ListStackSetOperations operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListTypeRegistrations method for more information on how to use this operation. +// See ListStackSetOperations method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListTypeRegistrations operation. +// // Example iterating over at most 3 pages of a ListStackSetOperations operation. // pageNum := 0 -// err := client.ListTypeRegistrationsPages(params, -// func(page *cloudformation.ListTypeRegistrationsOutput, lastPage bool) bool { +// err := client.ListStackSetOperationsPages(params, +// func(page *cloudformation.ListStackSetOperationsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *CloudFormation) ListTypeRegistrationsPages(input *ListTypeRegistrationsInput, fn func(*ListTypeRegistrationsOutput, bool) bool) error { - return c.ListTypeRegistrationsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *CloudFormation) ListStackSetOperationsPages(input *ListStackSetOperationsInput, fn func(*ListStackSetOperationsOutput, bool) bool) error { + return c.ListStackSetOperationsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListTypeRegistrationsPagesWithContext same as ListTypeRegistrationsPages except +// ListStackSetOperationsPagesWithContext same as ListStackSetOperationsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFormation) ListTypeRegistrationsPagesWithContext(ctx aws.Context, input *ListTypeRegistrationsInput, fn func(*ListTypeRegistrationsOutput, bool) bool, opts ...request.Option) error { +func (c *CloudFormation) ListStackSetOperationsPagesWithContext(ctx aws.Context, input *ListStackSetOperationsInput, fn func(*ListStackSetOperationsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListTypeRegistrationsInput + var inCpy *ListStackSetOperationsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListTypeRegistrationsRequest(inCpy) + req, _ := c.ListStackSetOperationsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -5300,7 +5852,7 @@ func (c *CloudFormation) ListTypeRegistrationsPagesWithContext(ctx aws.Context, } for p.Next() { - if !fn(p.Page().(*ListTypeRegistrationsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListStackSetOperationsOutput), !p.HasNextPage()) { break } } @@ -5308,34 +5860,34 @@ func (c *CloudFormation) ListTypeRegistrationsPagesWithContext(ctx aws.Context, return p.Err() } -const opListTypeVersions = "ListTypeVersions" +const opListStackSets = "ListStackSets" -// ListTypeVersionsRequest generates a "aws/request.Request" representing the -// client's request for the ListTypeVersions operation. The "output" return +// ListStackSetsRequest generates a "aws/request.Request" representing the +// client's request for the ListStackSets operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListTypeVersions for more information on using the ListTypeVersions +// See ListStackSets for more information on using the ListStackSets // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListTypeVersionsRequest method. -// req, resp := client.ListTypeVersionsRequest(params) +// // Example sending a request using the ListStackSetsRequest method. +// req, resp := client.ListStackSetsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListTypeVersions -func (c *CloudFormation) ListTypeVersionsRequest(input *ListTypeVersionsInput) (req *request.Request, output *ListTypeVersionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackSets +func (c *CloudFormation) ListStackSetsRequest(input *ListStackSetsInput) (req *request.Request, output *ListStackSetsOutput) { op := &request.Operation{ - Name: opListTypeVersions, + Name: opListStackSets, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -5347,87 +5899,95 @@ func (c *CloudFormation) ListTypeVersionsRequest(input *ListTypeVersionsInput) ( } if input == nil { - input = &ListTypeVersionsInput{} + input = &ListStackSetsInput{} } - output = &ListTypeVersionsOutput{} + output = &ListStackSetsOutput{} req = c.newRequest(op, input, output) return } -// ListTypeVersions API operation for AWS CloudFormation. -// -// Returns summary information about the versions of an extension. +// ListStackSets API operation for AWS CloudFormation. // -// Returns awserr.Error for service API and SDK errors. Use runtime type assertions -// with awserr.Error's Code and Message methods to get detailed information about -// the error. +// Returns summary information about stack sets that are associated with the +// user. // -// See the AWS API reference guide for AWS CloudFormation's -// API operation ListTypeVersions for usage and error information. +// - [Self-managed permissions] If you set the CallAs parameter to SELF while +// signed in to your Amazon Web Services account, ListStackSets returns all +// self-managed stack sets in your Amazon Web Services account. // -// Returned Error Codes: -// - ErrCodeCFNRegistryException "CFNRegistryException" -// An error occurred during a CloudFormation registry operation. +// - [Service-managed permissions] If you set the CallAs parameter to SELF +// while signed in to the organization's management account, ListStackSets +// returns all stack sets in the management account. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListTypeVersions -func (c *CloudFormation) ListTypeVersions(input *ListTypeVersionsInput) (*ListTypeVersionsOutput, error) { - req, out := c.ListTypeVersionsRequest(input) +// - [Service-managed permissions] If you set the CallAs parameter to DELEGATED_ADMIN +// while signed in to your member account, ListStackSets returns all stack +// sets with service-managed permissions in the management account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudFormation's +// API operation ListStackSets for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStackSets +func (c *CloudFormation) ListStackSets(input *ListStackSetsInput) (*ListStackSetsOutput, error) { + req, out := c.ListStackSetsRequest(input) return out, req.Send() } -// ListTypeVersionsWithContext is the same as ListTypeVersions with the addition of +// ListStackSetsWithContext is the same as ListStackSets with the addition of // the ability to pass a context and additional request options. // -// See ListTypeVersions for details on how to use this API operation. +// See ListStackSets for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFormation) ListTypeVersionsWithContext(ctx aws.Context, input *ListTypeVersionsInput, opts ...request.Option) (*ListTypeVersionsOutput, error) { - req, out := c.ListTypeVersionsRequest(input) +func (c *CloudFormation) ListStackSetsWithContext(ctx aws.Context, input *ListStackSetsInput, opts ...request.Option) (*ListStackSetsOutput, error) { + req, out := c.ListStackSetsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListTypeVersionsPages iterates over the pages of a ListTypeVersions operation, +// ListStackSetsPages iterates over the pages of a ListStackSets operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListTypeVersions method for more information on how to use this operation. +// See ListStackSets method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListTypeVersions operation. +// // Example iterating over at most 3 pages of a ListStackSets operation. // pageNum := 0 -// err := client.ListTypeVersionsPages(params, -// func(page *cloudformation.ListTypeVersionsOutput, lastPage bool) bool { +// err := client.ListStackSetsPages(params, +// func(page *cloudformation.ListStackSetsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *CloudFormation) ListTypeVersionsPages(input *ListTypeVersionsInput, fn func(*ListTypeVersionsOutput, bool) bool) error { - return c.ListTypeVersionsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *CloudFormation) ListStackSetsPages(input *ListStackSetsInput, fn func(*ListStackSetsOutput, bool) bool) error { + return c.ListStackSetsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListTypeVersionsPagesWithContext same as ListTypeVersionsPages except +// ListStackSetsPagesWithContext same as ListStackSetsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFormation) ListTypeVersionsPagesWithContext(ctx aws.Context, input *ListTypeVersionsInput, fn func(*ListTypeVersionsOutput, bool) bool, opts ...request.Option) error { +func (c *CloudFormation) ListStackSetsPagesWithContext(ctx aws.Context, input *ListStackSetsInput, fn func(*ListStackSetsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListTypeVersionsInput + var inCpy *ListStackSetsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListTypeVersionsRequest(inCpy) + req, _ := c.ListStackSetsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -5435,7 +5995,7 @@ func (c *CloudFormation) ListTypeVersionsPagesWithContext(ctx aws.Context, input } for p.Next() { - if !fn(p.Page().(*ListTypeVersionsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListStackSetsOutput), !p.HasNextPage()) { break } } @@ -5443,127 +6003,125 @@ func (c *CloudFormation) ListTypeVersionsPagesWithContext(ctx aws.Context, input return p.Err() } -const opListTypes = "ListTypes" +const opListStacks = "ListStacks" -// ListTypesRequest generates a "aws/request.Request" representing the -// client's request for the ListTypes operation. The "output" return +// ListStacksRequest generates a "aws/request.Request" representing the +// client's request for the ListStacks operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListTypes for more information on using the ListTypes +// See ListStacks for more information on using the ListStacks // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListTypesRequest method. -// req, resp := client.ListTypesRequest(params) +// // Example sending a request using the ListStacksRequest method. +// req, resp := client.ListStacksRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListTypes -func (c *CloudFormation) ListTypesRequest(input *ListTypesInput) (req *request.Request, output *ListTypesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStacks +func (c *CloudFormation) ListStacksRequest(input *ListStacksInput) (req *request.Request, output *ListStacksOutput) { op := &request.Operation{ - Name: opListTypes, + Name: opListStacks, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", + LimitToken: "", TruncationToken: "", }, } if input == nil { - input = &ListTypesInput{} + input = &ListStacksInput{} } - output = &ListTypesOutput{} + output = &ListStacksOutput{} req = c.newRequest(op, input, output) return } -// ListTypes API operation for AWS CloudFormation. +// ListStacks API operation for AWS CloudFormation. // -// Returns summary information about extension that have been registered with -// CloudFormation. +// Returns the summary information for stacks whose status matches the specified +// StackStatusFilter. Summary information for stacks that have been deleted +// is kept for 90 days after the stack is deleted. If no StackStatusFilter is +// specified, summary information for all stacks is returned (including existing +// stacks and stacks that have been deleted). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CloudFormation's -// API operation ListTypes for usage and error information. -// -// Returned Error Codes: -// - ErrCodeCFNRegistryException "CFNRegistryException" -// An error occurred during a CloudFormation registry operation. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListTypes -func (c *CloudFormation) ListTypes(input *ListTypesInput) (*ListTypesOutput, error) { - req, out := c.ListTypesRequest(input) +// API operation ListStacks for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListStacks +func (c *CloudFormation) ListStacks(input *ListStacksInput) (*ListStacksOutput, error) { + req, out := c.ListStacksRequest(input) return out, req.Send() } -// ListTypesWithContext is the same as ListTypes with the addition of +// ListStacksWithContext is the same as ListStacks with the addition of // the ability to pass a context and additional request options. // -// See ListTypes for details on how to use this API operation. +// See ListStacks for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFormation) ListTypesWithContext(ctx aws.Context, input *ListTypesInput, opts ...request.Option) (*ListTypesOutput, error) { - req, out := c.ListTypesRequest(input) +func (c *CloudFormation) ListStacksWithContext(ctx aws.Context, input *ListStacksInput, opts ...request.Option) (*ListStacksOutput, error) { + req, out := c.ListStacksRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListTypesPages iterates over the pages of a ListTypes operation, +// ListStacksPages iterates over the pages of a ListStacks operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListTypes method for more information on how to use this operation. +// See ListStacks method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListTypes operation. +// // Example iterating over at most 3 pages of a ListStacks operation. // pageNum := 0 -// err := client.ListTypesPages(params, -// func(page *cloudformation.ListTypesOutput, lastPage bool) bool { +// err := client.ListStacksPages(params, +// func(page *cloudformation.ListStacksOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *CloudFormation) ListTypesPages(input *ListTypesInput, fn func(*ListTypesOutput, bool) bool) error { - return c.ListTypesPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *CloudFormation) ListStacksPages(input *ListStacksInput, fn func(*ListStacksOutput, bool) bool) error { + return c.ListStacksPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListTypesPagesWithContext same as ListTypesPages except +// ListStacksPagesWithContext same as ListStacksPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFormation) ListTypesPagesWithContext(ctx aws.Context, input *ListTypesInput, fn func(*ListTypesOutput, bool) bool, opts ...request.Option) error { +func (c *CloudFormation) ListStacksPagesWithContext(ctx aws.Context, input *ListStacksInput, fn func(*ListStacksOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListTypesInput + var inCpy *ListStacksInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListTypesRequest(inCpy) + req, _ := c.ListStacksRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -5571,7 +6129,7 @@ func (c *CloudFormation) ListTypesPagesWithContext(ctx aws.Context, input *ListT } for p.Next() { - if !fn(p.Page().(*ListTypesOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListStacksOutput), !p.HasNextPage()) { break } } @@ -5579,964 +6137,1095 @@ func (c *CloudFormation) ListTypesPagesWithContext(ctx aws.Context, input *ListT return p.Err() } -const opPublishType = "PublishType" +const opListTypeRegistrations = "ListTypeRegistrations" -// PublishTypeRequest generates a "aws/request.Request" representing the -// client's request for the PublishType operation. The "output" return +// ListTypeRegistrationsRequest generates a "aws/request.Request" representing the +// client's request for the ListTypeRegistrations operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See PublishType for more information on using the PublishType +// See ListTypeRegistrations for more information on using the ListTypeRegistrations // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the PublishTypeRequest method. -// req, resp := client.PublishTypeRequest(params) +// // Example sending a request using the ListTypeRegistrationsRequest method. +// req, resp := client.ListTypeRegistrationsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/PublishType -func (c *CloudFormation) PublishTypeRequest(input *PublishTypeInput) (req *request.Request, output *PublishTypeOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListTypeRegistrations +func (c *CloudFormation) ListTypeRegistrationsRequest(input *ListTypeRegistrationsInput) (req *request.Request, output *ListTypeRegistrationsOutput) { op := &request.Operation{ - Name: opPublishType, + Name: opListTypeRegistrations, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &PublishTypeInput{} + input = &ListTypeRegistrationsInput{} } - output = &PublishTypeOutput{} + output = &ListTypeRegistrationsOutput{} req = c.newRequest(op, input, output) return } -// PublishType API operation for AWS CloudFormation. -// -// Publishes the specified extension to the CloudFormation registry as a public -// extension in this Region. Public extensions are available for use by all -// CloudFormation users. For more information about publishing extensions, see -// Publishing extensions to make them available for public use (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/publish-extension.html) -// in the CloudFormation CLI User Guide. +// ListTypeRegistrations API operation for AWS CloudFormation. // -// To publish an extension, you must be registered as a publisher with CloudFormation. -// For more information, see RegisterPublisher (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_RegisterPublisher.html). +// Returns a list of registration tokens for the specified extension(s). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CloudFormation's -// API operation PublishType for usage and error information. +// API operation ListTypeRegistrations for usage and error information. // // Returned Error Codes: -// // - ErrCodeCFNRegistryException "CFNRegistryException" // An error occurred during a CloudFormation registry operation. // -// - ErrCodeTypeNotFoundException "TypeNotFoundException" -// The specified extension doesn't exist in the CloudFormation registry. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/PublishType -func (c *CloudFormation) PublishType(input *PublishTypeInput) (*PublishTypeOutput, error) { - req, out := c.PublishTypeRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListTypeRegistrations +func (c *CloudFormation) ListTypeRegistrations(input *ListTypeRegistrationsInput) (*ListTypeRegistrationsOutput, error) { + req, out := c.ListTypeRegistrationsRequest(input) return out, req.Send() } -// PublishTypeWithContext is the same as PublishType with the addition of +// ListTypeRegistrationsWithContext is the same as ListTypeRegistrations with the addition of // the ability to pass a context and additional request options. // -// See PublishType for details on how to use this API operation. +// See ListTypeRegistrations for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFormation) PublishTypeWithContext(ctx aws.Context, input *PublishTypeInput, opts ...request.Option) (*PublishTypeOutput, error) { - req, out := c.PublishTypeRequest(input) +func (c *CloudFormation) ListTypeRegistrationsWithContext(ctx aws.Context, input *ListTypeRegistrationsInput, opts ...request.Option) (*ListTypeRegistrationsOutput, error) { + req, out := c.ListTypeRegistrationsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opRecordHandlerProgress = "RecordHandlerProgress" +// ListTypeRegistrationsPages iterates over the pages of a ListTypeRegistrations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTypeRegistrations method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListTypeRegistrations operation. +// pageNum := 0 +// err := client.ListTypeRegistrationsPages(params, +// func(page *cloudformation.ListTypeRegistrationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *CloudFormation) ListTypeRegistrationsPages(input *ListTypeRegistrationsInput, fn func(*ListTypeRegistrationsOutput, bool) bool) error { + return c.ListTypeRegistrationsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// RecordHandlerProgressRequest generates a "aws/request.Request" representing the -// client's request for the RecordHandlerProgress operation. The "output" return +// ListTypeRegistrationsPagesWithContext same as ListTypeRegistrationsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFormation) ListTypeRegistrationsPagesWithContext(ctx aws.Context, input *ListTypeRegistrationsInput, fn func(*ListTypeRegistrationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTypeRegistrationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTypeRegistrationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTypeRegistrationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTypeVersions = "ListTypeVersions" + +// ListTypeVersionsRequest generates a "aws/request.Request" representing the +// client's request for the ListTypeVersions operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See RecordHandlerProgress for more information on using the RecordHandlerProgress +// See ListTypeVersions for more information on using the ListTypeVersions // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the RecordHandlerProgressRequest method. -// req, resp := client.RecordHandlerProgressRequest(params) +// // Example sending a request using the ListTypeVersionsRequest method. +// req, resp := client.ListTypeVersionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RecordHandlerProgress -func (c *CloudFormation) RecordHandlerProgressRequest(input *RecordHandlerProgressInput) (req *request.Request, output *RecordHandlerProgressOutput) { - op := &request.Operation{ - Name: opRecordHandlerProgress, +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListTypeVersions +func (c *CloudFormation) ListTypeVersionsRequest(input *ListTypeVersionsInput) (req *request.Request, output *ListTypeVersionsOutput) { + op := &request.Operation{ + Name: opListTypeVersions, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &RecordHandlerProgressInput{} + input = &ListTypeVersionsInput{} } - output = &RecordHandlerProgressOutput{} + output = &ListTypeVersionsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// RecordHandlerProgress API operation for AWS CloudFormation. -// -// Reports progress of a resource handler to CloudFormation. +// ListTypeVersions API operation for AWS CloudFormation. // -// Reserved for use by the CloudFormation CLI (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/what-is-cloudformation-cli.html). -// Don't use this API in your code. +// Returns summary information about the versions of an extension. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CloudFormation's -// API operation RecordHandlerProgress for usage and error information. +// API operation ListTypeVersions for usage and error information. // // Returned Error Codes: +// - ErrCodeCFNRegistryException "CFNRegistryException" +// An error occurred during a CloudFormation registry operation. // -// - ErrCodeInvalidStateTransitionException "InvalidStateTransition" -// Error reserved for use by the CloudFormation CLI (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/what-is-cloudformation-cli.html). -// CloudFormation doesn't return this error to users. -// -// - ErrCodeOperationStatusCheckFailedException "ConditionalCheckFailed" -// Error reserved for use by the CloudFormation CLI (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/what-is-cloudformation-cli.html). -// CloudFormation doesn't return this error to users. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RecordHandlerProgress -func (c *CloudFormation) RecordHandlerProgress(input *RecordHandlerProgressInput) (*RecordHandlerProgressOutput, error) { - req, out := c.RecordHandlerProgressRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListTypeVersions +func (c *CloudFormation) ListTypeVersions(input *ListTypeVersionsInput) (*ListTypeVersionsOutput, error) { + req, out := c.ListTypeVersionsRequest(input) return out, req.Send() } -// RecordHandlerProgressWithContext is the same as RecordHandlerProgress with the addition of +// ListTypeVersionsWithContext is the same as ListTypeVersions with the addition of // the ability to pass a context and additional request options. // -// See RecordHandlerProgress for details on how to use this API operation. +// See ListTypeVersions for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFormation) RecordHandlerProgressWithContext(ctx aws.Context, input *RecordHandlerProgressInput, opts ...request.Option) (*RecordHandlerProgressOutput, error) { - req, out := c.RecordHandlerProgressRequest(input) +func (c *CloudFormation) ListTypeVersionsWithContext(ctx aws.Context, input *ListTypeVersionsInput, opts ...request.Option) (*ListTypeVersionsOutput, error) { + req, out := c.ListTypeVersionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opRegisterPublisher = "RegisterPublisher" +// ListTypeVersionsPages iterates over the pages of a ListTypeVersions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTypeVersions method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListTypeVersions operation. +// pageNum := 0 +// err := client.ListTypeVersionsPages(params, +// func(page *cloudformation.ListTypeVersionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *CloudFormation) ListTypeVersionsPages(input *ListTypeVersionsInput, fn func(*ListTypeVersionsOutput, bool) bool) error { + return c.ListTypeVersionsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// RegisterPublisherRequest generates a "aws/request.Request" representing the -// client's request for the RegisterPublisher operation. The "output" return +// ListTypeVersionsPagesWithContext same as ListTypeVersionsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFormation) ListTypeVersionsPagesWithContext(ctx aws.Context, input *ListTypeVersionsInput, fn func(*ListTypeVersionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTypeVersionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTypeVersionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTypeVersionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTypes = "ListTypes" + +// ListTypesRequest generates a "aws/request.Request" representing the +// client's request for the ListTypes operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See RegisterPublisher for more information on using the RegisterPublisher +// See ListTypes for more information on using the ListTypes // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the RegisterPublisherRequest method. -// req, resp := client.RegisterPublisherRequest(params) +// // Example sending a request using the ListTypesRequest method. +// req, resp := client.ListTypesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RegisterPublisher -func (c *CloudFormation) RegisterPublisherRequest(input *RegisterPublisherInput) (req *request.Request, output *RegisterPublisherOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListTypes +func (c *CloudFormation) ListTypesRequest(input *ListTypesInput) (req *request.Request, output *ListTypesOutput) { op := &request.Operation{ - Name: opRegisterPublisher, + Name: opListTypes, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &RegisterPublisherInput{} + input = &ListTypesInput{} } - output = &RegisterPublisherOutput{} + output = &ListTypesOutput{} req = c.newRequest(op, input, output) return } -// RegisterPublisher API operation for AWS CloudFormation. -// -// Registers your account as a publisher of public extensions in the CloudFormation -// registry. Public extensions are available for use by all CloudFormation users. -// This publisher ID applies to your account in all Amazon Web Services Regions. +// ListTypes API operation for AWS CloudFormation. // -// For information about requirements for registering as a public extension -// publisher, see Registering your account to publish CloudFormation extensions -// (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/publish-extension.html#publish-extension-prereqs) -// in the CloudFormation CLI User Guide. +// Returns summary information about extension that have been registered with +// CloudFormation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CloudFormation's -// API operation RegisterPublisher for usage and error information. +// API operation ListTypes for usage and error information. // // Returned Error Codes: // - ErrCodeCFNRegistryException "CFNRegistryException" // An error occurred during a CloudFormation registry operation. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RegisterPublisher -func (c *CloudFormation) RegisterPublisher(input *RegisterPublisherInput) (*RegisterPublisherOutput, error) { - req, out := c.RegisterPublisherRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ListTypes +func (c *CloudFormation) ListTypes(input *ListTypesInput) (*ListTypesOutput, error) { + req, out := c.ListTypesRequest(input) return out, req.Send() } -// RegisterPublisherWithContext is the same as RegisterPublisher with the addition of +// ListTypesWithContext is the same as ListTypes with the addition of // the ability to pass a context and additional request options. // -// See RegisterPublisher for details on how to use this API operation. +// See ListTypes for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFormation) RegisterPublisherWithContext(ctx aws.Context, input *RegisterPublisherInput, opts ...request.Option) (*RegisterPublisherOutput, error) { - req, out := c.RegisterPublisherRequest(input) +func (c *CloudFormation) ListTypesWithContext(ctx aws.Context, input *ListTypesInput, opts ...request.Option) (*ListTypesOutput, error) { + req, out := c.ListTypesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opRegisterType = "RegisterType" +// ListTypesPages iterates over the pages of a ListTypes operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTypes method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListTypes operation. +// pageNum := 0 +// err := client.ListTypesPages(params, +// func(page *cloudformation.ListTypesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *CloudFormation) ListTypesPages(input *ListTypesInput, fn func(*ListTypesOutput, bool) bool) error { + return c.ListTypesPagesWithContext(aws.BackgroundContext(), input, fn) +} -// RegisterTypeRequest generates a "aws/request.Request" representing the -// client's request for the RegisterType operation. The "output" return +// ListTypesPagesWithContext same as ListTypesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFormation) ListTypesPagesWithContext(ctx aws.Context, input *ListTypesInput, fn func(*ListTypesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTypesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTypesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTypesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opPublishType = "PublishType" + +// PublishTypeRequest generates a "aws/request.Request" representing the +// client's request for the PublishType operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See RegisterType for more information on using the RegisterType +// See PublishType for more information on using the PublishType // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the RegisterTypeRequest method. -// req, resp := client.RegisterTypeRequest(params) +// // Example sending a request using the PublishTypeRequest method. +// req, resp := client.PublishTypeRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RegisterType -func (c *CloudFormation) RegisterTypeRequest(input *RegisterTypeInput) (req *request.Request, output *RegisterTypeOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/PublishType +func (c *CloudFormation) PublishTypeRequest(input *PublishTypeInput) (req *request.Request, output *PublishTypeOutput) { op := &request.Operation{ - Name: opRegisterType, + Name: opPublishType, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &RegisterTypeInput{} + input = &PublishTypeInput{} } - output = &RegisterTypeOutput{} + output = &PublishTypeOutput{} req = c.newRequest(op, input, output) return } -// RegisterType API operation for AWS CloudFormation. +// PublishType API operation for AWS CloudFormation. // -// Registers an extension with the CloudFormation service. Registering an extension -// makes it available for use in CloudFormation templates in your Amazon Web -// Services account, and includes: +// Publishes the specified extension to the CloudFormation registry as a public +// extension in this Region. Public extensions are available for use by all +// CloudFormation users. For more information about publishing extensions, see +// Publishing extensions to make them available for public use (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/publish-extension.html) +// in the CloudFormation CLI User Guide. // -// - Validating the extension schema. +// To publish an extension, you must be registered as a publisher with CloudFormation. +// For more information, see RegisterPublisher (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_RegisterPublisher.html). // -// - Determining which handlers, if any, have been specified for the extension. +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. // -// - Making the extension available for use in your account. +// See the AWS API reference guide for AWS CloudFormation's +// API operation PublishType for usage and error information. // -// For more information about how to develop extensions and ready them for registration, -// see Creating Resource Providers (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-types.html) -// in the CloudFormation CLI User Guide. +// Returned Error Codes: // -// You can have a maximum of 50 resource extension versions registered at a -// time. This maximum is per account and per Region. Use DeregisterType (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeregisterType.html) -// to deregister specific extension versions if necessary. -// -// Once you have initiated a registration request using RegisterType, you can -// use DescribeTypeRegistration to monitor the progress of the registration -// request. -// -// Once you have registered a private extension in your account and Region, -// use SetTypeConfiguration (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_SetTypeConfiguration.html) -// to specify configuration properties for the extension. For more information, -// see Configuring extensions at the account level (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-register.html#registry-set-configuration) -// in the CloudFormation User Guide. -// -// Returns awserr.Error for service API and SDK errors. Use runtime type assertions -// with awserr.Error's Code and Message methods to get detailed information about -// the error. -// -// See the AWS API reference guide for AWS CloudFormation's -// API operation RegisterType for usage and error information. -// -// Returned Error Codes: // - ErrCodeCFNRegistryException "CFNRegistryException" // An error occurred during a CloudFormation registry operation. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RegisterType -func (c *CloudFormation) RegisterType(input *RegisterTypeInput) (*RegisterTypeOutput, error) { - req, out := c.RegisterTypeRequest(input) +// - ErrCodeTypeNotFoundException "TypeNotFoundException" +// The specified extension doesn't exist in the CloudFormation registry. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/PublishType +func (c *CloudFormation) PublishType(input *PublishTypeInput) (*PublishTypeOutput, error) { + req, out := c.PublishTypeRequest(input) return out, req.Send() } -// RegisterTypeWithContext is the same as RegisterType with the addition of +// PublishTypeWithContext is the same as PublishType with the addition of // the ability to pass a context and additional request options. // -// See RegisterType for details on how to use this API operation. +// See PublishType for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFormation) RegisterTypeWithContext(ctx aws.Context, input *RegisterTypeInput, opts ...request.Option) (*RegisterTypeOutput, error) { - req, out := c.RegisterTypeRequest(input) +func (c *CloudFormation) PublishTypeWithContext(ctx aws.Context, input *PublishTypeInput, opts ...request.Option) (*PublishTypeOutput, error) { + req, out := c.PublishTypeRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opRollbackStack = "RollbackStack" +const opRecordHandlerProgress = "RecordHandlerProgress" -// RollbackStackRequest generates a "aws/request.Request" representing the -// client's request for the RollbackStack operation. The "output" return +// RecordHandlerProgressRequest generates a "aws/request.Request" representing the +// client's request for the RecordHandlerProgress operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See RollbackStack for more information on using the RollbackStack +// See RecordHandlerProgress for more information on using the RecordHandlerProgress // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the RollbackStackRequest method. -// req, resp := client.RollbackStackRequest(params) +// // Example sending a request using the RecordHandlerProgressRequest method. +// req, resp := client.RecordHandlerProgressRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RollbackStack -func (c *CloudFormation) RollbackStackRequest(input *RollbackStackInput) (req *request.Request, output *RollbackStackOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RecordHandlerProgress +func (c *CloudFormation) RecordHandlerProgressRequest(input *RecordHandlerProgressInput) (req *request.Request, output *RecordHandlerProgressOutput) { op := &request.Operation{ - Name: opRollbackStack, + Name: opRecordHandlerProgress, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &RollbackStackInput{} + input = &RecordHandlerProgressInput{} } - output = &RollbackStackOutput{} + output = &RecordHandlerProgressOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// RollbackStack API operation for AWS CloudFormation. -// -// When specifying RollbackStack, you preserve the state of previously provisioned -// resources when an operation fails. You can check the status of the stack -// through the DescribeStacks operation. -// -// Rolls back the specified stack to the last known stable state from CREATE_FAILED -// or UPDATE_FAILED stack statuses. -// -// This operation will delete a stack if it doesn't contain a last known stable -// state. A last known stable state includes any status in a *_COMPLETE. This -// includes the following stack statuses. -// -// - CREATE_COMPLETE -// -// - UPDATE_COMPLETE -// -// - UPDATE_ROLLBACK_COMPLETE +// RecordHandlerProgress API operation for AWS CloudFormation. // -// - IMPORT_COMPLETE +// Reports progress of a resource handler to CloudFormation. // -// - IMPORT_ROLLBACK_COMPLETE +// Reserved for use by the CloudFormation CLI (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/what-is-cloudformation-cli.html). +// Don't use this API in your code. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CloudFormation's -// API operation RollbackStack for usage and error information. +// API operation RecordHandlerProgress for usage and error information. // // Returned Error Codes: -// - ErrCodeTokenAlreadyExistsException "TokenAlreadyExistsException" -// A client request token already exists. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RollbackStack -func (c *CloudFormation) RollbackStack(input *RollbackStackInput) (*RollbackStackOutput, error) { - req, out := c.RollbackStackRequest(input) +// - ErrCodeInvalidStateTransitionException "InvalidStateTransition" +// Error reserved for use by the CloudFormation CLI (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/what-is-cloudformation-cli.html). +// CloudFormation doesn't return this error to users. +// +// - ErrCodeOperationStatusCheckFailedException "ConditionalCheckFailed" +// Error reserved for use by the CloudFormation CLI (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/what-is-cloudformation-cli.html). +// CloudFormation doesn't return this error to users. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RecordHandlerProgress +func (c *CloudFormation) RecordHandlerProgress(input *RecordHandlerProgressInput) (*RecordHandlerProgressOutput, error) { + req, out := c.RecordHandlerProgressRequest(input) return out, req.Send() } -// RollbackStackWithContext is the same as RollbackStack with the addition of +// RecordHandlerProgressWithContext is the same as RecordHandlerProgress with the addition of // the ability to pass a context and additional request options. // -// See RollbackStack for details on how to use this API operation. +// See RecordHandlerProgress for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFormation) RollbackStackWithContext(ctx aws.Context, input *RollbackStackInput, opts ...request.Option) (*RollbackStackOutput, error) { - req, out := c.RollbackStackRequest(input) +func (c *CloudFormation) RecordHandlerProgressWithContext(ctx aws.Context, input *RecordHandlerProgressInput, opts ...request.Option) (*RecordHandlerProgressOutput, error) { + req, out := c.RecordHandlerProgressRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opSetStackPolicy = "SetStackPolicy" +const opRegisterPublisher = "RegisterPublisher" -// SetStackPolicyRequest generates a "aws/request.Request" representing the -// client's request for the SetStackPolicy operation. The "output" return +// RegisterPublisherRequest generates a "aws/request.Request" representing the +// client's request for the RegisterPublisher operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See SetStackPolicy for more information on using the SetStackPolicy +// See RegisterPublisher for more information on using the RegisterPublisher // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the SetStackPolicyRequest method. -// req, resp := client.SetStackPolicyRequest(params) +// // Example sending a request using the RegisterPublisherRequest method. +// req, resp := client.RegisterPublisherRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/SetStackPolicy -func (c *CloudFormation) SetStackPolicyRequest(input *SetStackPolicyInput) (req *request.Request, output *SetStackPolicyOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RegisterPublisher +func (c *CloudFormation) RegisterPublisherRequest(input *RegisterPublisherInput) (req *request.Request, output *RegisterPublisherOutput) { op := &request.Operation{ - Name: opSetStackPolicy, + Name: opRegisterPublisher, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &SetStackPolicyInput{} + input = &RegisterPublisherInput{} } - output = &SetStackPolicyOutput{} + output = &RegisterPublisherOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// SetStackPolicy API operation for AWS CloudFormation. +// RegisterPublisher API operation for AWS CloudFormation. // -// Sets a stack policy for a specified stack. +// Registers your account as a publisher of public extensions in the CloudFormation +// registry. Public extensions are available for use by all CloudFormation users. +// This publisher ID applies to your account in all Amazon Web Services Regions. +// +// For information about requirements for registering as a public extension +// publisher, see Registering your account to publish CloudFormation extensions +// (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/publish-extension.html#publish-extension-prereqs) +// in the CloudFormation CLI User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CloudFormation's -// API operation SetStackPolicy for usage and error information. -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/SetStackPolicy -func (c *CloudFormation) SetStackPolicy(input *SetStackPolicyInput) (*SetStackPolicyOutput, error) { - req, out := c.SetStackPolicyRequest(input) +// API operation RegisterPublisher for usage and error information. +// +// Returned Error Codes: +// - ErrCodeCFNRegistryException "CFNRegistryException" +// An error occurred during a CloudFormation registry operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RegisterPublisher +func (c *CloudFormation) RegisterPublisher(input *RegisterPublisherInput) (*RegisterPublisherOutput, error) { + req, out := c.RegisterPublisherRequest(input) return out, req.Send() } -// SetStackPolicyWithContext is the same as SetStackPolicy with the addition of +// RegisterPublisherWithContext is the same as RegisterPublisher with the addition of // the ability to pass a context and additional request options. // -// See SetStackPolicy for details on how to use this API operation. +// See RegisterPublisher for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFormation) SetStackPolicyWithContext(ctx aws.Context, input *SetStackPolicyInput, opts ...request.Option) (*SetStackPolicyOutput, error) { - req, out := c.SetStackPolicyRequest(input) +func (c *CloudFormation) RegisterPublisherWithContext(ctx aws.Context, input *RegisterPublisherInput, opts ...request.Option) (*RegisterPublisherOutput, error) { + req, out := c.RegisterPublisherRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opSetTypeConfiguration = "SetTypeConfiguration" +const opRegisterType = "RegisterType" -// SetTypeConfigurationRequest generates a "aws/request.Request" representing the -// client's request for the SetTypeConfiguration operation. The "output" return +// RegisterTypeRequest generates a "aws/request.Request" representing the +// client's request for the RegisterType operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See SetTypeConfiguration for more information on using the SetTypeConfiguration +// See RegisterType for more information on using the RegisterType // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the SetTypeConfigurationRequest method. -// req, resp := client.SetTypeConfigurationRequest(params) +// // Example sending a request using the RegisterTypeRequest method. +// req, resp := client.RegisterTypeRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/SetTypeConfiguration -func (c *CloudFormation) SetTypeConfigurationRequest(input *SetTypeConfigurationInput) (req *request.Request, output *SetTypeConfigurationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RegisterType +func (c *CloudFormation) RegisterTypeRequest(input *RegisterTypeInput) (req *request.Request, output *RegisterTypeOutput) { op := &request.Operation{ - Name: opSetTypeConfiguration, + Name: opRegisterType, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &SetTypeConfigurationInput{} + input = &RegisterTypeInput{} } - output = &SetTypeConfigurationOutput{} + output = &RegisterTypeOutput{} req = c.newRequest(op, input, output) return } -// SetTypeConfiguration API operation for AWS CloudFormation. +// RegisterType API operation for AWS CloudFormation. // -// Specifies the configuration data for a registered CloudFormation extension, -// in the given account and Region. +// Registers an extension with the CloudFormation service. Registering an extension +// makes it available for use in CloudFormation templates in your Amazon Web +// Services account, and includes: // -// To view the current configuration data for an extension, refer to the ConfigurationSchema -// element of DescribeType (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DescribeType.html). -// For more information, see Configuring extensions at the account level (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-register.html#registry-set-configuration) -// in the CloudFormation User Guide. +// - Validating the extension schema. // -// It's strongly recommended that you use dynamic references to restrict sensitive -// configuration definitions, such as third-party credentials. For more details -// on dynamic references, see Using dynamic references to specify template values -// (https://docs.aws.amazon.com/) in the CloudFormation User Guide. +// - Determining which handlers, if any, have been specified for the extension. +// +// - Making the extension available for use in your account. +// +// For more information about how to develop extensions and ready them for registration, +// see Creating Resource Providers (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-types.html) +// in the CloudFormation CLI User Guide. +// +// You can have a maximum of 50 resource extension versions registered at a +// time. This maximum is per account and per Region. Use DeregisterType (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeregisterType.html) +// to deregister specific extension versions if necessary. +// +// Once you have initiated a registration request using RegisterType, you can +// use DescribeTypeRegistration to monitor the progress of the registration +// request. +// +// Once you have registered a private extension in your account and Region, +// use SetTypeConfiguration (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_SetTypeConfiguration.html) +// to specify configuration properties for the extension. For more information, +// see Configuring extensions at the account level (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-register.html#registry-set-configuration) +// in the CloudFormation User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CloudFormation's -// API operation SetTypeConfiguration for usage and error information. +// API operation RegisterType for usage and error information. // // Returned Error Codes: -// // - ErrCodeCFNRegistryException "CFNRegistryException" // An error occurred during a CloudFormation registry operation. // -// - ErrCodeTypeNotFoundException "TypeNotFoundException" -// The specified extension doesn't exist in the CloudFormation registry. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/SetTypeConfiguration -func (c *CloudFormation) SetTypeConfiguration(input *SetTypeConfigurationInput) (*SetTypeConfigurationOutput, error) { - req, out := c.SetTypeConfigurationRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RegisterType +func (c *CloudFormation) RegisterType(input *RegisterTypeInput) (*RegisterTypeOutput, error) { + req, out := c.RegisterTypeRequest(input) return out, req.Send() } -// SetTypeConfigurationWithContext is the same as SetTypeConfiguration with the addition of +// RegisterTypeWithContext is the same as RegisterType with the addition of // the ability to pass a context and additional request options. // -// See SetTypeConfiguration for details on how to use this API operation. +// See RegisterType for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFormation) SetTypeConfigurationWithContext(ctx aws.Context, input *SetTypeConfigurationInput, opts ...request.Option) (*SetTypeConfigurationOutput, error) { - req, out := c.SetTypeConfigurationRequest(input) +func (c *CloudFormation) RegisterTypeWithContext(ctx aws.Context, input *RegisterTypeInput, opts ...request.Option) (*RegisterTypeOutput, error) { + req, out := c.RegisterTypeRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opSetTypeDefaultVersion = "SetTypeDefaultVersion" +const opRollbackStack = "RollbackStack" -// SetTypeDefaultVersionRequest generates a "aws/request.Request" representing the -// client's request for the SetTypeDefaultVersion operation. The "output" return +// RollbackStackRequest generates a "aws/request.Request" representing the +// client's request for the RollbackStack operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See SetTypeDefaultVersion for more information on using the SetTypeDefaultVersion +// See RollbackStack for more information on using the RollbackStack // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the SetTypeDefaultVersionRequest method. -// req, resp := client.SetTypeDefaultVersionRequest(params) +// // Example sending a request using the RollbackStackRequest method. +// req, resp := client.RollbackStackRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/SetTypeDefaultVersion -func (c *CloudFormation) SetTypeDefaultVersionRequest(input *SetTypeDefaultVersionInput) (req *request.Request, output *SetTypeDefaultVersionOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RollbackStack +func (c *CloudFormation) RollbackStackRequest(input *RollbackStackInput) (req *request.Request, output *RollbackStackOutput) { op := &request.Operation{ - Name: opSetTypeDefaultVersion, + Name: opRollbackStack, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &SetTypeDefaultVersionInput{} + input = &RollbackStackInput{} } - output = &SetTypeDefaultVersionOutput{} + output = &RollbackStackOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// SetTypeDefaultVersion API operation for AWS CloudFormation. +// RollbackStack API operation for AWS CloudFormation. // -// Specify the default version of an extension. The default version of an extension -// will be used in CloudFormation operations. +// When specifying RollbackStack, you preserve the state of previously provisioned +// resources when an operation fails. You can check the status of the stack +// through the DescribeStacks operation. +// +// Rolls back the specified stack to the last known stable state from CREATE_FAILED +// or UPDATE_FAILED stack statuses. +// +// This operation will delete a stack if it doesn't contain a last known stable +// state. A last known stable state includes any status in a *_COMPLETE. This +// includes the following stack statuses. +// +// - CREATE_COMPLETE +// +// - UPDATE_COMPLETE +// +// - UPDATE_ROLLBACK_COMPLETE +// +// - IMPORT_COMPLETE +// +// - IMPORT_ROLLBACK_COMPLETE // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CloudFormation's -// API operation SetTypeDefaultVersion for usage and error information. +// API operation RollbackStack for usage and error information. // // Returned Error Codes: +// - ErrCodeTokenAlreadyExistsException "TokenAlreadyExistsException" +// A client request token already exists. // -// - ErrCodeCFNRegistryException "CFNRegistryException" -// An error occurred during a CloudFormation registry operation. -// -// - ErrCodeTypeNotFoundException "TypeNotFoundException" -// The specified extension doesn't exist in the CloudFormation registry. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/SetTypeDefaultVersion -func (c *CloudFormation) SetTypeDefaultVersion(input *SetTypeDefaultVersionInput) (*SetTypeDefaultVersionOutput, error) { - req, out := c.SetTypeDefaultVersionRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RollbackStack +func (c *CloudFormation) RollbackStack(input *RollbackStackInput) (*RollbackStackOutput, error) { + req, out := c.RollbackStackRequest(input) return out, req.Send() } -// SetTypeDefaultVersionWithContext is the same as SetTypeDefaultVersion with the addition of +// RollbackStackWithContext is the same as RollbackStack with the addition of // the ability to pass a context and additional request options. // -// See SetTypeDefaultVersion for details on how to use this API operation. +// See RollbackStack for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFormation) SetTypeDefaultVersionWithContext(ctx aws.Context, input *SetTypeDefaultVersionInput, opts ...request.Option) (*SetTypeDefaultVersionOutput, error) { - req, out := c.SetTypeDefaultVersionRequest(input) +func (c *CloudFormation) RollbackStackWithContext(ctx aws.Context, input *RollbackStackInput, opts ...request.Option) (*RollbackStackOutput, error) { + req, out := c.RollbackStackRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opSignalResource = "SignalResource" +const opSetStackPolicy = "SetStackPolicy" -// SignalResourceRequest generates a "aws/request.Request" representing the -// client's request for the SignalResource operation. The "output" return +// SetStackPolicyRequest generates a "aws/request.Request" representing the +// client's request for the SetStackPolicy operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See SignalResource for more information on using the SignalResource +// See SetStackPolicy for more information on using the SetStackPolicy // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the SignalResourceRequest method. -// req, resp := client.SignalResourceRequest(params) +// // Example sending a request using the SetStackPolicyRequest method. +// req, resp := client.SetStackPolicyRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/SignalResource -func (c *CloudFormation) SignalResourceRequest(input *SignalResourceInput) (req *request.Request, output *SignalResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/SetStackPolicy +func (c *CloudFormation) SetStackPolicyRequest(input *SetStackPolicyInput) (req *request.Request, output *SetStackPolicyOutput) { op := &request.Operation{ - Name: opSignalResource, + Name: opSetStackPolicy, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &SignalResourceInput{} + input = &SetStackPolicyInput{} } - output = &SignalResourceOutput{} + output = &SetStackPolicyOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// SignalResource API operation for AWS CloudFormation. +// SetStackPolicy API operation for AWS CloudFormation. // -// Sends a signal to the specified resource with a success or failure status. -// You can use the SignalResource operation in conjunction with a creation policy -// or update policy. CloudFormation doesn't proceed with a stack creation or -// update until resources receive the required number of signals or the timeout -// period is exceeded. The SignalResource operation is useful in cases where -// you want to send signals from anywhere other than an Amazon EC2 instance. +// Sets a stack policy for a specified stack. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CloudFormation's -// API operation SignalResource for usage and error information. -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/SignalResource -func (c *CloudFormation) SignalResource(input *SignalResourceInput) (*SignalResourceOutput, error) { - req, out := c.SignalResourceRequest(input) +// API operation SetStackPolicy for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/SetStackPolicy +func (c *CloudFormation) SetStackPolicy(input *SetStackPolicyInput) (*SetStackPolicyOutput, error) { + req, out := c.SetStackPolicyRequest(input) return out, req.Send() } -// SignalResourceWithContext is the same as SignalResource with the addition of +// SetStackPolicyWithContext is the same as SetStackPolicy with the addition of // the ability to pass a context and additional request options. // -// See SignalResource for details on how to use this API operation. +// See SetStackPolicy for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFormation) SignalResourceWithContext(ctx aws.Context, input *SignalResourceInput, opts ...request.Option) (*SignalResourceOutput, error) { - req, out := c.SignalResourceRequest(input) +func (c *CloudFormation) SetStackPolicyWithContext(ctx aws.Context, input *SetStackPolicyInput, opts ...request.Option) (*SetStackPolicyOutput, error) { + req, out := c.SetStackPolicyRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opStopStackSetOperation = "StopStackSetOperation" +const opSetTypeConfiguration = "SetTypeConfiguration" -// StopStackSetOperationRequest generates a "aws/request.Request" representing the -// client's request for the StopStackSetOperation operation. The "output" return +// SetTypeConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the SetTypeConfiguration operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See StopStackSetOperation for more information on using the StopStackSetOperation +// See SetTypeConfiguration for more information on using the SetTypeConfiguration // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the StopStackSetOperationRequest method. -// req, resp := client.StopStackSetOperationRequest(params) +// // Example sending a request using the SetTypeConfigurationRequest method. +// req, resp := client.SetTypeConfigurationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/StopStackSetOperation -func (c *CloudFormation) StopStackSetOperationRequest(input *StopStackSetOperationInput) (req *request.Request, output *StopStackSetOperationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/SetTypeConfiguration +func (c *CloudFormation) SetTypeConfigurationRequest(input *SetTypeConfigurationInput) (req *request.Request, output *SetTypeConfigurationOutput) { op := &request.Operation{ - Name: opStopStackSetOperation, + Name: opSetTypeConfiguration, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &StopStackSetOperationInput{} + input = &SetTypeConfigurationInput{} } - output = &StopStackSetOperationOutput{} + output = &SetTypeConfigurationOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// StopStackSetOperation API operation for AWS CloudFormation. +// SetTypeConfiguration API operation for AWS CloudFormation. // -// Stops an in-progress operation on a stack set and its associated stack instances. -// StackSets will cancel all the unstarted stack instance deployments and wait -// for those are in-progress to complete. +// Specifies the configuration data for a registered CloudFormation extension, +// in the given account and Region. +// +// To view the current configuration data for an extension, refer to the ConfigurationSchema +// element of DescribeType (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DescribeType.html). +// For more information, see Configuring extensions at the account level (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-register.html#registry-set-configuration) +// in the CloudFormation User Guide. +// +// It's strongly recommended that you use dynamic references to restrict sensitive +// configuration definitions, such as third-party credentials. For more details +// on dynamic references, see Using dynamic references to specify template values +// (https://docs.aws.amazon.com/) in the CloudFormation User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CloudFormation's -// API operation StopStackSetOperation for usage and error information. +// API operation SetTypeConfiguration for usage and error information. // // Returned Error Codes: // -// - ErrCodeStackSetNotFoundException "StackSetNotFoundException" -// The specified stack set doesn't exist. -// -// - ErrCodeOperationNotFoundException "OperationNotFoundException" -// The specified ID refers to an operation that doesn't exist. +// - ErrCodeCFNRegistryException "CFNRegistryException" +// An error occurred during a CloudFormation registry operation. // -// - ErrCodeInvalidOperationException "InvalidOperationException" -// The specified operation isn't valid. +// - ErrCodeTypeNotFoundException "TypeNotFoundException" +// The specified extension doesn't exist in the CloudFormation registry. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/StopStackSetOperation -func (c *CloudFormation) StopStackSetOperation(input *StopStackSetOperationInput) (*StopStackSetOperationOutput, error) { - req, out := c.StopStackSetOperationRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/SetTypeConfiguration +func (c *CloudFormation) SetTypeConfiguration(input *SetTypeConfigurationInput) (*SetTypeConfigurationOutput, error) { + req, out := c.SetTypeConfigurationRequest(input) return out, req.Send() } -// StopStackSetOperationWithContext is the same as StopStackSetOperation with the addition of +// SetTypeConfigurationWithContext is the same as SetTypeConfiguration with the addition of // the ability to pass a context and additional request options. // -// See StopStackSetOperation for details on how to use this API operation. +// See SetTypeConfiguration for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFormation) StopStackSetOperationWithContext(ctx aws.Context, input *StopStackSetOperationInput, opts ...request.Option) (*StopStackSetOperationOutput, error) { - req, out := c.StopStackSetOperationRequest(input) +func (c *CloudFormation) SetTypeConfigurationWithContext(ctx aws.Context, input *SetTypeConfigurationInput, opts ...request.Option) (*SetTypeConfigurationOutput, error) { + req, out := c.SetTypeConfigurationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opTestType = "TestType" +const opSetTypeDefaultVersion = "SetTypeDefaultVersion" -// TestTypeRequest generates a "aws/request.Request" representing the -// client's request for the TestType operation. The "output" return +// SetTypeDefaultVersionRequest generates a "aws/request.Request" representing the +// client's request for the SetTypeDefaultVersion operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See TestType for more information on using the TestType +// See SetTypeDefaultVersion for more information on using the SetTypeDefaultVersion // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the TestTypeRequest method. -// req, resp := client.TestTypeRequest(params) +// // Example sending a request using the SetTypeDefaultVersionRequest method. +// req, resp := client.SetTypeDefaultVersionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/TestType -func (c *CloudFormation) TestTypeRequest(input *TestTypeInput) (req *request.Request, output *TestTypeOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/SetTypeDefaultVersion +func (c *CloudFormation) SetTypeDefaultVersionRequest(input *SetTypeDefaultVersionInput) (req *request.Request, output *SetTypeDefaultVersionOutput) { op := &request.Operation{ - Name: opTestType, + Name: opSetTypeDefaultVersion, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &TestTypeInput{} + input = &SetTypeDefaultVersionInput{} } - output = &TestTypeOutput{} + output = &SetTypeDefaultVersionOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// TestType API operation for AWS CloudFormation. -// -// Tests a registered extension to make sure it meets all necessary requirements -// for being published in the CloudFormation registry. -// -// - For resource types, this includes passing all contracts tests defined -// for the type. -// -// - For modules, this includes determining if the module's model meets all -// necessary requirements. -// -// For more information, see Testing your public extension prior to publishing -// (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/publish-extension.html#publish-extension-testing) -// in the CloudFormation CLI User Guide. -// -// If you don't specify a version, CloudFormation uses the default version of -// the extension in your account and Region for testing. -// -// To perform testing, CloudFormation assumes the execution role specified when -// the type was registered. For more information, see RegisterType (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_RegisterType.html). -// -// Once you've initiated testing on an extension using TestType, you can pass -// the returned TypeVersionArn into DescribeType (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DescribeType.html) -// to monitor the current test status and test status description for the extension. +// SetTypeDefaultVersion API operation for AWS CloudFormation. // -// An extension must have a test status of PASSED before it can be published. -// For more information, see Publishing extensions to make them available for -// public use (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-publish.html) -// in the CloudFormation CLI User Guide. +// Specify the default version of an extension. The default version of an extension +// will be used in CloudFormation operations. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CloudFormation's -// API operation TestType for usage and error information. +// API operation SetTypeDefaultVersion for usage and error information. // // Returned Error Codes: // @@ -6546,728 +7235,2094 @@ func (c *CloudFormation) TestTypeRequest(input *TestTypeInput) (req *request.Req // - ErrCodeTypeNotFoundException "TypeNotFoundException" // The specified extension doesn't exist in the CloudFormation registry. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/TestType -func (c *CloudFormation) TestType(input *TestTypeInput) (*TestTypeOutput, error) { - req, out := c.TestTypeRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/SetTypeDefaultVersion +func (c *CloudFormation) SetTypeDefaultVersion(input *SetTypeDefaultVersionInput) (*SetTypeDefaultVersionOutput, error) { + req, out := c.SetTypeDefaultVersionRequest(input) return out, req.Send() } -// TestTypeWithContext is the same as TestType with the addition of +// SetTypeDefaultVersionWithContext is the same as SetTypeDefaultVersion with the addition of // the ability to pass a context and additional request options. // -// See TestType for details on how to use this API operation. +// See SetTypeDefaultVersion for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFormation) TestTypeWithContext(ctx aws.Context, input *TestTypeInput, opts ...request.Option) (*TestTypeOutput, error) { - req, out := c.TestTypeRequest(input) +func (c *CloudFormation) SetTypeDefaultVersionWithContext(ctx aws.Context, input *SetTypeDefaultVersionInput, opts ...request.Option) (*SetTypeDefaultVersionOutput, error) { + req, out := c.SetTypeDefaultVersionRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateStack = "UpdateStack" +const opSignalResource = "SignalResource" -// UpdateStackRequest generates a "aws/request.Request" representing the -// client's request for the UpdateStack operation. The "output" return +// SignalResourceRequest generates a "aws/request.Request" representing the +// client's request for the SignalResource operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateStack for more information on using the UpdateStack +// See SignalResource for more information on using the SignalResource // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateStackRequest method. -// req, resp := client.UpdateStackRequest(params) +// // Example sending a request using the SignalResourceRequest method. +// req, resp := client.SignalResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/UpdateStack -func (c *CloudFormation) UpdateStackRequest(input *UpdateStackInput) (req *request.Request, output *UpdateStackOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/SignalResource +func (c *CloudFormation) SignalResourceRequest(input *SignalResourceInput) (req *request.Request, output *SignalResourceOutput) { op := &request.Operation{ - Name: opUpdateStack, + Name: opSignalResource, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateStackInput{} + input = &SignalResourceInput{} } - output = &UpdateStackOutput{} + output = &SignalResourceOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateStack API operation for AWS CloudFormation. -// -// Updates a stack as specified in the template. After the call completes successfully, -// the stack update starts. You can check the status of the stack through the -// DescribeStacks action. -// -// To get a copy of the template for an existing stack, you can use the GetTemplate -// action. +// SignalResource API operation for AWS CloudFormation. // -// For more information about creating an update template, updating a stack, -// and monitoring the progress of the update, see Updating a Stack (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html). +// Sends a signal to the specified resource with a success or failure status. +// You can use the SignalResource operation in conjunction with a creation policy +// or update policy. CloudFormation doesn't proceed with a stack creation or +// update until resources receive the required number of signals or the timeout +// period is exceeded. The SignalResource operation is useful in cases where +// you want to send signals from anywhere other than an Amazon EC2 instance. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CloudFormation's -// API operation UpdateStack for usage and error information. -// -// Returned Error Codes: -// -// - ErrCodeInsufficientCapabilitiesException "InsufficientCapabilitiesException" -// The template contains resources with capabilities that weren't specified -// in the Capabilities parameter. -// -// - ErrCodeTokenAlreadyExistsException "TokenAlreadyExistsException" -// A client request token already exists. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/UpdateStack -func (c *CloudFormation) UpdateStack(input *UpdateStackInput) (*UpdateStackOutput, error) { - req, out := c.UpdateStackRequest(input) +// API operation SignalResource for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/SignalResource +func (c *CloudFormation) SignalResource(input *SignalResourceInput) (*SignalResourceOutput, error) { + req, out := c.SignalResourceRequest(input) return out, req.Send() } -// UpdateStackWithContext is the same as UpdateStack with the addition of +// SignalResourceWithContext is the same as SignalResource with the addition of // the ability to pass a context and additional request options. // -// See UpdateStack for details on how to use this API operation. +// See SignalResource for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFormation) UpdateStackWithContext(ctx aws.Context, input *UpdateStackInput, opts ...request.Option) (*UpdateStackOutput, error) { - req, out := c.UpdateStackRequest(input) +func (c *CloudFormation) SignalResourceWithContext(ctx aws.Context, input *SignalResourceInput, opts ...request.Option) (*SignalResourceOutput, error) { + req, out := c.SignalResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateStackInstances = "UpdateStackInstances" +const opStartResourceScan = "StartResourceScan" -// UpdateStackInstancesRequest generates a "aws/request.Request" representing the -// client's request for the UpdateStackInstances operation. The "output" return +// StartResourceScanRequest generates a "aws/request.Request" representing the +// client's request for the StartResourceScan operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateStackInstances for more information on using the UpdateStackInstances +// See StartResourceScan for more information on using the StartResourceScan // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateStackInstancesRequest method. -// req, resp := client.UpdateStackInstancesRequest(params) +// // Example sending a request using the StartResourceScanRequest method. +// req, resp := client.StartResourceScanRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/UpdateStackInstances -func (c *CloudFormation) UpdateStackInstancesRequest(input *UpdateStackInstancesInput) (req *request.Request, output *UpdateStackInstancesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/StartResourceScan +func (c *CloudFormation) StartResourceScanRequest(input *StartResourceScanInput) (req *request.Request, output *StartResourceScanOutput) { op := &request.Operation{ - Name: opUpdateStackInstances, + Name: opStartResourceScan, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateStackInstancesInput{} + input = &StartResourceScanInput{} } - output = &UpdateStackInstancesOutput{} + output = &StartResourceScanOutput{} req = c.newRequest(op, input, output) return } -// UpdateStackInstances API operation for AWS CloudFormation. +// StartResourceScan API operation for AWS CloudFormation. // -// Updates the parameter values for stack instances for the specified accounts, -// within the specified Amazon Web Services Regions. A stack instance refers -// to a stack in a specific account and Region. -// -// You can only update stack instances in Amazon Web Services Regions and accounts -// where they already exist; to create additional stack instances, use CreateStackInstances -// (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStackInstances.html). -// -// During stack set updates, any parameters overridden for a stack instance -// aren't updated, but retain their overridden value. -// -// You can only update the parameter values that are specified in the stack -// set; to add or delete a parameter itself, use UpdateStackSet (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html) -// to update the stack set template. If you add a parameter to a template, before -// you can override the parameter value specified in the stack set you must -// first use UpdateStackSet (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html) -// to update all stack instances with the updated template and parameter value -// specified in the stack set. Once a stack instance has been updated with the -// new parameter, you can then override the parameter value using UpdateStackInstances. +// Starts a scan of the resources in this account in this Region. You can the +// status of a scan using the ListResourceScans API action. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CloudFormation's -// API operation UpdateStackInstances for usage and error information. +// API operation StartResourceScan for usage and error information. // // Returned Error Codes: // -// - ErrCodeStackSetNotFoundException "StackSetNotFoundException" -// The specified stack set doesn't exist. -// -// - ErrCodeStackInstanceNotFoundException "StackInstanceNotFoundException" -// The specified stack instance doesn't exist. +// - ErrCodeResourceScanInProgressException "ResourceScanInProgress" +// A resource scan is currently in progress. Only one can be run at a time for +// an account in a Region. // -// - ErrCodeOperationInProgressException "OperationInProgressException" -// Another operation is currently in progress for this stack set. Only one operation -// can be performed for a stack set at a given time. +// - ErrCodeResourceScanLimitExceededException "ResourceScanLimitExceeded" +// The limit on resource scans has been exceeded. Reasons include: // -// - ErrCodeOperationIdAlreadyExistsException "OperationIdAlreadyExistsException" -// The specified operation ID already exists. +// - Exceeded the daily quota for resource scans. // -// - ErrCodeStaleRequestException "StaleRequestException" -// Another operation has been performed on this stack set since the specified -// operation was performed. +// - A resource scan recently failed. You must wait 10 minutes before starting +// a new resource scan. // -// - ErrCodeInvalidOperationException "InvalidOperationException" -// The specified operation isn't valid. +// - The last resource scan failed after exceeding 100,000 resources. When +// this happens, you must wait 24 hours before starting a new resource scan. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/UpdateStackInstances -func (c *CloudFormation) UpdateStackInstances(input *UpdateStackInstancesInput) (*UpdateStackInstancesOutput, error) { - req, out := c.UpdateStackInstancesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/StartResourceScan +func (c *CloudFormation) StartResourceScan(input *StartResourceScanInput) (*StartResourceScanOutput, error) { + req, out := c.StartResourceScanRequest(input) return out, req.Send() } -// UpdateStackInstancesWithContext is the same as UpdateStackInstances with the addition of +// StartResourceScanWithContext is the same as StartResourceScan with the addition of // the ability to pass a context and additional request options. // -// See UpdateStackInstances for details on how to use this API operation. +// See StartResourceScan for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFormation) UpdateStackInstancesWithContext(ctx aws.Context, input *UpdateStackInstancesInput, opts ...request.Option) (*UpdateStackInstancesOutput, error) { - req, out := c.UpdateStackInstancesRequest(input) +func (c *CloudFormation) StartResourceScanWithContext(ctx aws.Context, input *StartResourceScanInput, opts ...request.Option) (*StartResourceScanOutput, error) { + req, out := c.StartResourceScanRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateStackSet = "UpdateStackSet" +const opStopStackSetOperation = "StopStackSetOperation" -// UpdateStackSetRequest generates a "aws/request.Request" representing the -// client's request for the UpdateStackSet operation. The "output" return +// StopStackSetOperationRequest generates a "aws/request.Request" representing the +// client's request for the StopStackSetOperation operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateStackSet for more information on using the UpdateStackSet +// See StopStackSetOperation for more information on using the StopStackSetOperation // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateStackSetRequest method. -// req, resp := client.UpdateStackSetRequest(params) +// // Example sending a request using the StopStackSetOperationRequest method. +// req, resp := client.StopStackSetOperationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/UpdateStackSet -func (c *CloudFormation) UpdateStackSetRequest(input *UpdateStackSetInput) (req *request.Request, output *UpdateStackSetOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/StopStackSetOperation +func (c *CloudFormation) StopStackSetOperationRequest(input *StopStackSetOperationInput) (req *request.Request, output *StopStackSetOperationOutput) { op := &request.Operation{ - Name: opUpdateStackSet, + Name: opStopStackSetOperation, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateStackSetInput{} + input = &StopStackSetOperationInput{} } - output = &UpdateStackSetOutput{} + output = &StopStackSetOperationOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateStackSet API operation for AWS CloudFormation. -// -// Updates the stack set, and associated stack instances in the specified accounts -// and Amazon Web Services Regions. +// StopStackSetOperation API operation for AWS CloudFormation. // -// Even if the stack set operation created by updating the stack set fails (completely -// or partially, below or above a specified failure tolerance), the stack set -// is updated with your changes. Subsequent CreateStackInstances calls on the -// specified stack set use the updated stack set. +// Stops an in-progress operation on a stack set and its associated stack instances. +// StackSets will cancel all the unstarted stack instance deployments and wait +// for those are in-progress to complete. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CloudFormation's -// API operation UpdateStackSet for usage and error information. +// API operation StopStackSetOperation for usage and error information. // // Returned Error Codes: // // - ErrCodeStackSetNotFoundException "StackSetNotFoundException" // The specified stack set doesn't exist. // -// - ErrCodeOperationInProgressException "OperationInProgressException" -// Another operation is currently in progress for this stack set. Only one operation -// can be performed for a stack set at a given time. -// -// - ErrCodeOperationIdAlreadyExistsException "OperationIdAlreadyExistsException" -// The specified operation ID already exists. -// -// - ErrCodeStaleRequestException "StaleRequestException" -// Another operation has been performed on this stack set since the specified -// operation was performed. +// - ErrCodeOperationNotFoundException "OperationNotFoundException" +// The specified ID refers to an operation that doesn't exist. // // - ErrCodeInvalidOperationException "InvalidOperationException" // The specified operation isn't valid. // -// - ErrCodeStackInstanceNotFoundException "StackInstanceNotFoundException" -// The specified stack instance doesn't exist. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/UpdateStackSet -func (c *CloudFormation) UpdateStackSet(input *UpdateStackSetInput) (*UpdateStackSetOutput, error) { - req, out := c.UpdateStackSetRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/StopStackSetOperation +func (c *CloudFormation) StopStackSetOperation(input *StopStackSetOperationInput) (*StopStackSetOperationOutput, error) { + req, out := c.StopStackSetOperationRequest(input) return out, req.Send() } -// UpdateStackSetWithContext is the same as UpdateStackSet with the addition of +// StopStackSetOperationWithContext is the same as StopStackSetOperation with the addition of // the ability to pass a context and additional request options. // -// See UpdateStackSet for details on how to use this API operation. +// See StopStackSetOperation for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFormation) UpdateStackSetWithContext(ctx aws.Context, input *UpdateStackSetInput, opts ...request.Option) (*UpdateStackSetOutput, error) { - req, out := c.UpdateStackSetRequest(input) +func (c *CloudFormation) StopStackSetOperationWithContext(ctx aws.Context, input *StopStackSetOperationInput, opts ...request.Option) (*StopStackSetOperationOutput, error) { + req, out := c.StopStackSetOperationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateTerminationProtection = "UpdateTerminationProtection" +const opTestType = "TestType" -// UpdateTerminationProtectionRequest generates a "aws/request.Request" representing the -// client's request for the UpdateTerminationProtection operation. The "output" return +// TestTypeRequest generates a "aws/request.Request" representing the +// client's request for the TestType operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateTerminationProtection for more information on using the UpdateTerminationProtection +// See TestType for more information on using the TestType // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateTerminationProtectionRequest method. -// req, resp := client.UpdateTerminationProtectionRequest(params) +// // Example sending a request using the TestTypeRequest method. +// req, resp := client.TestTypeRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/UpdateTerminationProtection -func (c *CloudFormation) UpdateTerminationProtectionRequest(input *UpdateTerminationProtectionInput) (req *request.Request, output *UpdateTerminationProtectionOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/TestType +func (c *CloudFormation) TestTypeRequest(input *TestTypeInput) (req *request.Request, output *TestTypeOutput) { op := &request.Operation{ - Name: opUpdateTerminationProtection, + Name: opTestType, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateTerminationProtectionInput{} + input = &TestTypeInput{} } - output = &UpdateTerminationProtectionOutput{} + output = &TestTypeOutput{} req = c.newRequest(op, input, output) return } -// UpdateTerminationProtection API operation for AWS CloudFormation. +// TestType API operation for AWS CloudFormation. // -// Updates termination protection for the specified stack. If a user attempts -// to delete a stack with termination protection enabled, the operation fails -// and the stack remains unchanged. For more information, see Protecting a Stack -// From Being Deleted (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-protect-stacks.html) -// in the CloudFormation User Guide. +// Tests a registered extension to make sure it meets all necessary requirements +// for being published in the CloudFormation registry. // -// For nested stacks (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html), -// termination protection is set on the root stack and can't be changed directly -// on the nested stack. +// - For resource types, this includes passing all contracts tests defined +// for the type. +// +// - For modules, this includes determining if the module's model meets all +// necessary requirements. +// +// For more information, see Testing your public extension prior to publishing +// (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/publish-extension.html#publish-extension-testing) +// in the CloudFormation CLI User Guide. +// +// If you don't specify a version, CloudFormation uses the default version of +// the extension in your account and Region for testing. +// +// To perform testing, CloudFormation assumes the execution role specified when +// the type was registered. For more information, see RegisterType (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_RegisterType.html). +// +// Once you've initiated testing on an extension using TestType, you can pass +// the returned TypeVersionArn into DescribeType (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DescribeType.html) +// to monitor the current test status and test status description for the extension. +// +// An extension must have a test status of PASSED before it can be published. +// For more information, see Publishing extensions to make them available for +// public use (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-publish.html) +// in the CloudFormation CLI User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CloudFormation's -// API operation UpdateTerminationProtection for usage and error information. -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/UpdateTerminationProtection -func (c *CloudFormation) UpdateTerminationProtection(input *UpdateTerminationProtectionInput) (*UpdateTerminationProtectionOutput, error) { - req, out := c.UpdateTerminationProtectionRequest(input) +// API operation TestType for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeCFNRegistryException "CFNRegistryException" +// An error occurred during a CloudFormation registry operation. +// +// - ErrCodeTypeNotFoundException "TypeNotFoundException" +// The specified extension doesn't exist in the CloudFormation registry. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/TestType +func (c *CloudFormation) TestType(input *TestTypeInput) (*TestTypeOutput, error) { + req, out := c.TestTypeRequest(input) return out, req.Send() } -// UpdateTerminationProtectionWithContext is the same as UpdateTerminationProtection with the addition of +// TestTypeWithContext is the same as TestType with the addition of // the ability to pass a context and additional request options. // -// See UpdateTerminationProtection for details on how to use this API operation. +// See TestType for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFormation) UpdateTerminationProtectionWithContext(ctx aws.Context, input *UpdateTerminationProtectionInput, opts ...request.Option) (*UpdateTerminationProtectionOutput, error) { - req, out := c.UpdateTerminationProtectionRequest(input) +func (c *CloudFormation) TestTypeWithContext(ctx aws.Context, input *TestTypeInput, opts ...request.Option) (*TestTypeOutput, error) { + req, out := c.TestTypeRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opValidateTemplate = "ValidateTemplate" +const opUpdateGeneratedTemplate = "UpdateGeneratedTemplate" -// ValidateTemplateRequest generates a "aws/request.Request" representing the -// client's request for the ValidateTemplate operation. The "output" return +// UpdateGeneratedTemplateRequest generates a "aws/request.Request" representing the +// client's request for the UpdateGeneratedTemplate operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ValidateTemplate for more information on using the ValidateTemplate +// See UpdateGeneratedTemplate for more information on using the UpdateGeneratedTemplate // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ValidateTemplateRequest method. -// req, resp := client.ValidateTemplateRequest(params) +// // Example sending a request using the UpdateGeneratedTemplateRequest method. +// req, resp := client.UpdateGeneratedTemplateRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ValidateTemplate -func (c *CloudFormation) ValidateTemplateRequest(input *ValidateTemplateInput) (req *request.Request, output *ValidateTemplateOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/UpdateGeneratedTemplate +func (c *CloudFormation) UpdateGeneratedTemplateRequest(input *UpdateGeneratedTemplateInput) (req *request.Request, output *UpdateGeneratedTemplateOutput) { op := &request.Operation{ - Name: opValidateTemplate, + Name: opUpdateGeneratedTemplate, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &ValidateTemplateInput{} + input = &UpdateGeneratedTemplateInput{} } - output = &ValidateTemplateOutput{} + output = &UpdateGeneratedTemplateOutput{} req = c.newRequest(op, input, output) return } -// ValidateTemplate API operation for AWS CloudFormation. +// UpdateGeneratedTemplate API operation for AWS CloudFormation. // -// Validates a specified template. CloudFormation first checks if the template -// is valid JSON. If it isn't, CloudFormation checks if the template is valid -// YAML. If both these checks fail, CloudFormation returns a template validation -// error. +// Updates a generated template. This can be used to change the name, add and +// remove resources, refresh resources, and change the DeletionPolicy and UpdateReplacePolicy +// settings. You can check the status of the update to the generated template +// using the DescribeGeneratedTemplate API action. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS CloudFormation's -// API operation ValidateTemplate for usage and error information. -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ValidateTemplate -func (c *CloudFormation) ValidateTemplate(input *ValidateTemplateInput) (*ValidateTemplateOutput, error) { - req, out := c.ValidateTemplateRequest(input) +// API operation UpdateGeneratedTemplate for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeAlreadyExistsException "AlreadyExistsException" +// The resource with the name requested already exists. +// +// - ErrCodeGeneratedTemplateNotFoundException "GeneratedTemplateNotFound" +// The generated template was not found. +// +// - ErrCodeLimitExceededException "LimitExceededException" +// The quota for the resource has already been reached. +// +// For information about resource and stack limitations, see CloudFormation +// quotas (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) +// in the CloudFormation User Guide. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/UpdateGeneratedTemplate +func (c *CloudFormation) UpdateGeneratedTemplate(input *UpdateGeneratedTemplateInput) (*UpdateGeneratedTemplateOutput, error) { + req, out := c.UpdateGeneratedTemplateRequest(input) return out, req.Send() } -// ValidateTemplateWithContext is the same as ValidateTemplate with the addition of +// UpdateGeneratedTemplateWithContext is the same as UpdateGeneratedTemplate with the addition of // the ability to pass a context and additional request options. // -// See ValidateTemplate for details on how to use this API operation. +// See UpdateGeneratedTemplate for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *CloudFormation) ValidateTemplateWithContext(ctx aws.Context, input *ValidateTemplateInput, opts ...request.Option) (*ValidateTemplateOutput, error) { - req, out := c.ValidateTemplateRequest(input) +func (c *CloudFormation) UpdateGeneratedTemplateWithContext(ctx aws.Context, input *UpdateGeneratedTemplateInput, opts ...request.Option) (*UpdateGeneratedTemplateOutput, error) { + req, out := c.UpdateGeneratedTemplateRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// Structure that contains the results of the account gate function which CloudFormation -// invokes, if present, before proceeding with a stack set operation in an account -// and Region. +const opUpdateStack = "UpdateStack" + +// UpdateStackRequest generates a "aws/request.Request" representing the +// client's request for the UpdateStack operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // -// For each account and Region, CloudFormation lets you specify a Lambda function -// that encapsulates any requirements that must be met before CloudFormation -// can proceed with a stack set operation in that account and Region. CloudFormation -// invokes the function each time a stack set operation is requested for that -// account and Region; if the function returns FAILED, CloudFormation cancels -// the operation in that account and Region, and sets the stack set operation -// result status for that account and Region to FAILED. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// For more information, see Configuring a target account gate (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-account-gating.html). -type AccountGateResult struct { - _ struct{} `type:"structure"` - - // The status of the account gate function. - // - // * SUCCEEDED: The account gate function has determined that the account - // and Region passes any requirements for a stack set operation to occur. - // CloudFormation proceeds with the stack operation in that account and Region. - // - // * FAILED: The account gate function has determined that the account and - // Region doesn't meet the requirements for a stack set operation to occur. - // CloudFormation cancels the stack set operation in that account and Region, - // and sets the stack set operation result status for that account and Region - // to FAILED. - // - // * SKIPPED: CloudFormation has skipped calling the account gate function - // for this account and Region, for one of the following reasons: An account - // gate function hasn't been specified for the account and Region. CloudFormation - // proceeds with the stack set operation in this account and Region. The - // AWSCloudFormationStackSetExecutionRole of the stack set administration - // account lacks permissions to invoke the function. CloudFormation proceeds - // with the stack set operation in this account and Region. Either no action - // is necessary, or no action is possible, on the stack. CloudFormation skips - // the stack set operation in this account and Region. - Status *string `type:"string" enum:"AccountGateStatus"` - - // The reason for the account gate status assigned to this account and Region - // for the stack set operation. - StatusReason *string `type:"string"` -} - -// String returns the string representation. +// See UpdateStack for more information on using the UpdateStack +// API call, and error handling. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AccountGateResult) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AccountGateResult) GoString() string { - return s.String() -} +// // Example sending a request using the UpdateStackRequest method. +// req, resp := client.UpdateStackRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/UpdateStack +func (c *CloudFormation) UpdateStackRequest(input *UpdateStackInput) (req *request.Request, output *UpdateStackOutput) { + op := &request.Operation{ + Name: opUpdateStack, + HTTPMethod: "POST", + HTTPPath: "/", + } -// SetStatus sets the Status field's value. -func (s *AccountGateResult) SetStatus(v string) *AccountGateResult { - s.Status = &v - return s -} + if input == nil { + input = &UpdateStackInput{} + } -// SetStatusReason sets the StatusReason field's value. -func (s *AccountGateResult) SetStatusReason(v string) *AccountGateResult { - s.StatusReason = &v - return s + output = &UpdateStackOutput{} + req = c.newRequest(op, input, output) + return } -// The AccountLimit data type. +// UpdateStack API operation for AWS CloudFormation. // -// CloudFormation has the following limits per account: +// Updates a stack as specified in the template. After the call completes successfully, +// the stack update starts. You can check the status of the stack through the +// DescribeStacks action. // -// - Number of concurrent resources +// To get a copy of the template for an existing stack, you can use the GetTemplate +// action. // -// - Number of stacks +// For more information about creating an update template, updating a stack, +// and monitoring the progress of the update, see Updating a Stack (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html). // -// - Number of stack outputs +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. // -// For more information about these account limits, and other CloudFormation -// limits, see CloudFormation quotas (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) -// in the CloudFormation User Guide. -type AccountLimit struct { - _ struct{} `type:"structure"` - - // The name of the account limit. - // - // Values: ConcurrentResourcesLimit | StackLimit | StackOutputsLimit - Name *string `type:"string"` - - // The value that's associated with the account limit name. - Value *int64 `type:"integer"` -} - -// String returns the string representation. +// See the AWS API reference guide for AWS CloudFormation's +// API operation UpdateStack for usage and error information. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AccountLimit) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. +// Returned Error Codes: // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AccountLimit) GoString() string { - return s.String() -} - -// SetName sets the Name field's value. -func (s *AccountLimit) SetName(v string) *AccountLimit { - s.Name = &v - return s -} - -// SetValue sets the Value field's value. -func (s *AccountLimit) SetValue(v int64) *AccountLimit { - s.Value = &v - return s -} - -type ActivateOrganizationsAccessInput struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation. +// - ErrCodeInsufficientCapabilitiesException "InsufficientCapabilitiesException" +// The template contains resources with capabilities that weren't specified +// in the Capabilities parameter. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s ActivateOrganizationsAccessInput) String() string { - return awsutil.Prettify(s) +// - ErrCodeTokenAlreadyExistsException "TokenAlreadyExistsException" +// A client request token already exists. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/UpdateStack +func (c *CloudFormation) UpdateStack(input *UpdateStackInput) (*UpdateStackOutput, error) { + req, out := c.UpdateStackRequest(input) + return out, req.Send() } -// GoString returns the string representation. +// UpdateStackWithContext is the same as UpdateStack with the addition of +// the ability to pass a context and additional request options. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s ActivateOrganizationsAccessInput) GoString() string { - return s.String() +// See UpdateStack for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFormation) UpdateStackWithContext(ctx aws.Context, input *UpdateStackInput, opts ...request.Option) (*UpdateStackOutput, error) { + req, out := c.UpdateStackRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() } -type ActivateOrganizationsAccessOutput struct { - _ struct{} `type:"structure"` -} +const opUpdateStackInstances = "UpdateStackInstances" -// String returns the string representation. +// UpdateStackInstancesRequest generates a "aws/request.Request" representing the +// client's request for the UpdateStackInstances operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s ActivateOrganizationsAccessOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateStackInstances for more information on using the UpdateStackInstances +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateStackInstancesRequest method. +// req, resp := client.UpdateStackInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/UpdateStackInstances +func (c *CloudFormation) UpdateStackInstancesRequest(input *UpdateStackInstancesInput) (req *request.Request, output *UpdateStackInstancesOutput) { + op := &request.Operation{ + Name: opUpdateStackInstances, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateStackInstancesInput{} + } + + output = &UpdateStackInstancesOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateStackInstances API operation for AWS CloudFormation. +// +// Updates the parameter values for stack instances for the specified accounts, +// within the specified Amazon Web Services Regions. A stack instance refers +// to a stack in a specific account and Region. +// +// You can only update stack instances in Amazon Web Services Regions and accounts +// where they already exist; to create additional stack instances, use CreateStackInstances +// (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStackInstances.html). +// +// During stack set updates, any parameters overridden for a stack instance +// aren't updated, but retain their overridden value. +// +// You can only update the parameter values that are specified in the stack +// set; to add or delete a parameter itself, use UpdateStackSet (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html) +// to update the stack set template. If you add a parameter to a template, before +// you can override the parameter value specified in the stack set you must +// first use UpdateStackSet (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html) +// to update all stack instances with the updated template and parameter value +// specified in the stack set. Once a stack instance has been updated with the +// new parameter, you can then override the parameter value using UpdateStackInstances. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudFormation's +// API operation UpdateStackInstances for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeStackSetNotFoundException "StackSetNotFoundException" +// The specified stack set doesn't exist. +// +// - ErrCodeStackInstanceNotFoundException "StackInstanceNotFoundException" +// The specified stack instance doesn't exist. +// +// - ErrCodeOperationInProgressException "OperationInProgressException" +// Another operation is currently in progress for this stack set. Only one operation +// can be performed for a stack set at a given time. +// +// - ErrCodeOperationIdAlreadyExistsException "OperationIdAlreadyExistsException" +// The specified operation ID already exists. +// +// - ErrCodeStaleRequestException "StaleRequestException" +// Another operation has been performed on this stack set since the specified +// operation was performed. +// +// - ErrCodeInvalidOperationException "InvalidOperationException" +// The specified operation isn't valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/UpdateStackInstances +func (c *CloudFormation) UpdateStackInstances(input *UpdateStackInstancesInput) (*UpdateStackInstancesOutput, error) { + req, out := c.UpdateStackInstancesRequest(input) + return out, req.Send() +} + +// UpdateStackInstancesWithContext is the same as UpdateStackInstances with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateStackInstances for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFormation) UpdateStackInstancesWithContext(ctx aws.Context, input *UpdateStackInstancesInput, opts ...request.Option) (*UpdateStackInstancesOutput, error) { + req, out := c.UpdateStackInstancesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateStackSet = "UpdateStackSet" + +// UpdateStackSetRequest generates a "aws/request.Request" representing the +// client's request for the UpdateStackSet operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateStackSet for more information on using the UpdateStackSet +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateStackSetRequest method. +// req, resp := client.UpdateStackSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/UpdateStackSet +func (c *CloudFormation) UpdateStackSetRequest(input *UpdateStackSetInput) (req *request.Request, output *UpdateStackSetOutput) { + op := &request.Operation{ + Name: opUpdateStackSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateStackSetInput{} + } + + output = &UpdateStackSetOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateStackSet API operation for AWS CloudFormation. +// +// Updates the stack set, and associated stack instances in the specified accounts +// and Amazon Web Services Regions. +// +// Even if the stack set operation created by updating the stack set fails (completely +// or partially, below or above a specified failure tolerance), the stack set +// is updated with your changes. Subsequent CreateStackInstances calls on the +// specified stack set use the updated stack set. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudFormation's +// API operation UpdateStackSet for usage and error information. +// +// Returned Error Codes: +// +// - ErrCodeStackSetNotFoundException "StackSetNotFoundException" +// The specified stack set doesn't exist. +// +// - ErrCodeOperationInProgressException "OperationInProgressException" +// Another operation is currently in progress for this stack set. Only one operation +// can be performed for a stack set at a given time. +// +// - ErrCodeOperationIdAlreadyExistsException "OperationIdAlreadyExistsException" +// The specified operation ID already exists. +// +// - ErrCodeStaleRequestException "StaleRequestException" +// Another operation has been performed on this stack set since the specified +// operation was performed. +// +// - ErrCodeInvalidOperationException "InvalidOperationException" +// The specified operation isn't valid. +// +// - ErrCodeStackInstanceNotFoundException "StackInstanceNotFoundException" +// The specified stack instance doesn't exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/UpdateStackSet +func (c *CloudFormation) UpdateStackSet(input *UpdateStackSetInput) (*UpdateStackSetOutput, error) { + req, out := c.UpdateStackSetRequest(input) + return out, req.Send() +} + +// UpdateStackSetWithContext is the same as UpdateStackSet with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateStackSet for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFormation) UpdateStackSetWithContext(ctx aws.Context, input *UpdateStackSetInput, opts ...request.Option) (*UpdateStackSetOutput, error) { + req, out := c.UpdateStackSetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateTerminationProtection = "UpdateTerminationProtection" + +// UpdateTerminationProtectionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateTerminationProtection operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateTerminationProtection for more information on using the UpdateTerminationProtection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateTerminationProtectionRequest method. +// req, resp := client.UpdateTerminationProtectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/UpdateTerminationProtection +func (c *CloudFormation) UpdateTerminationProtectionRequest(input *UpdateTerminationProtectionInput) (req *request.Request, output *UpdateTerminationProtectionOutput) { + op := &request.Operation{ + Name: opUpdateTerminationProtection, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateTerminationProtectionInput{} + } + + output = &UpdateTerminationProtectionOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateTerminationProtection API operation for AWS CloudFormation. +// +// Updates termination protection for the specified stack. If a user attempts +// to delete a stack with termination protection enabled, the operation fails +// and the stack remains unchanged. For more information, see Protecting a Stack +// From Being Deleted (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-protect-stacks.html) +// in the CloudFormation User Guide. +// +// For nested stacks (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html), +// termination protection is set on the root stack and can't be changed directly +// on the nested stack. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudFormation's +// API operation UpdateTerminationProtection for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/UpdateTerminationProtection +func (c *CloudFormation) UpdateTerminationProtection(input *UpdateTerminationProtectionInput) (*UpdateTerminationProtectionOutput, error) { + req, out := c.UpdateTerminationProtectionRequest(input) + return out, req.Send() +} + +// UpdateTerminationProtectionWithContext is the same as UpdateTerminationProtection with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateTerminationProtection for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFormation) UpdateTerminationProtectionWithContext(ctx aws.Context, input *UpdateTerminationProtectionInput, opts ...request.Option) (*UpdateTerminationProtectionOutput, error) { + req, out := c.UpdateTerminationProtectionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opValidateTemplate = "ValidateTemplate" + +// ValidateTemplateRequest generates a "aws/request.Request" representing the +// client's request for the ValidateTemplate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ValidateTemplate for more information on using the ValidateTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ValidateTemplateRequest method. +// req, resp := client.ValidateTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ValidateTemplate +func (c *CloudFormation) ValidateTemplateRequest(input *ValidateTemplateInput) (req *request.Request, output *ValidateTemplateOutput) { + op := &request.Operation{ + Name: opValidateTemplate, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ValidateTemplateInput{} + } + + output = &ValidateTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// ValidateTemplate API operation for AWS CloudFormation. +// +// Validates a specified template. CloudFormation first checks if the template +// is valid JSON. If it isn't, CloudFormation checks if the template is valid +// YAML. If both these checks fail, CloudFormation returns a template validation +// error. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS CloudFormation's +// API operation ValidateTemplate for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/ValidateTemplate +func (c *CloudFormation) ValidateTemplate(input *ValidateTemplateInput) (*ValidateTemplateOutput, error) { + req, out := c.ValidateTemplateRequest(input) + return out, req.Send() +} + +// ValidateTemplateWithContext is the same as ValidateTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See ValidateTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *CloudFormation) ValidateTemplateWithContext(ctx aws.Context, input *ValidateTemplateInput, opts ...request.Option) (*ValidateTemplateOutput, error) { + req, out := c.ValidateTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Structure that contains the results of the account gate function which CloudFormation +// invokes, if present, before proceeding with a stack set operation in an account +// and Region. +// +// For each account and Region, CloudFormation lets you specify a Lambda function +// that encapsulates any requirements that must be met before CloudFormation +// can proceed with a stack set operation in that account and Region. CloudFormation +// invokes the function each time a stack set operation is requested for that +// account and Region; if the function returns FAILED, CloudFormation cancels +// the operation in that account and Region, and sets the stack set operation +// result status for that account and Region to FAILED. +// +// For more information, see Configuring a target account gate (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-account-gating.html). +type AccountGateResult struct { + _ struct{} `type:"structure"` + + // The status of the account gate function. + // + // * SUCCEEDED: The account gate function has determined that the account + // and Region passes any requirements for a stack set operation to occur. + // CloudFormation proceeds with the stack operation in that account and Region. + // + // * FAILED: The account gate function has determined that the account and + // Region doesn't meet the requirements for a stack set operation to occur. + // CloudFormation cancels the stack set operation in that account and Region, + // and sets the stack set operation result status for that account and Region + // to FAILED. + // + // * SKIPPED: CloudFormation has skipped calling the account gate function + // for this account and Region, for one of the following reasons: An account + // gate function hasn't been specified for the account and Region. CloudFormation + // proceeds with the stack set operation in this account and Region. The + // AWSCloudFormationStackSetExecutionRole of the stack set administration + // account lacks permissions to invoke the function. CloudFormation proceeds + // with the stack set operation in this account and Region. Either no action + // is necessary, or no action is possible, on the stack. CloudFormation skips + // the stack set operation in this account and Region. + Status *string `type:"string" enum:"AccountGateStatus"` + + // The reason for the account gate status assigned to this account and Region + // for the stack set operation. + StatusReason *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccountGateResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccountGateResult) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *AccountGateResult) SetStatus(v string) *AccountGateResult { + s.Status = &v + return s +} + +// SetStatusReason sets the StatusReason field's value. +func (s *AccountGateResult) SetStatusReason(v string) *AccountGateResult { + s.StatusReason = &v + return s +} + +// The AccountLimit data type. +// +// CloudFormation has the following limits per account: +// +// - Number of concurrent resources +// +// - Number of stacks +// +// - Number of stack outputs +// +// For more information about these account limits, and other CloudFormation +// limits, see CloudFormation quotas (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) +// in the CloudFormation User Guide. +type AccountLimit struct { + _ struct{} `type:"structure"` + + // The name of the account limit. + // + // Values: ConcurrentResourcesLimit | StackLimit | StackOutputsLimit + Name *string `type:"string"` + + // The value that's associated with the account limit name. + Value *int64 `type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccountLimit) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccountLimit) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *AccountLimit) SetName(v string) *AccountLimit { + s.Name = &v + return s +} + +// SetValue sets the Value field's value. +func (s *AccountLimit) SetValue(v int64) *AccountLimit { + s.Value = &v + return s +} + +type ActivateOrganizationsAccessInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ActivateOrganizationsAccessInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ActivateOrganizationsAccessInput) GoString() string { + return s.String() +} + +type ActivateOrganizationsAccessOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ActivateOrganizationsAccessOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ActivateOrganizationsAccessOutput) GoString() string { + return s.String() +} + +type ActivateTypeInput struct { + _ struct{} `type:"structure"` + + // Whether to automatically update the extension in this account and Region + // when a new minor version is published by the extension publisher. Major versions + // released by the publisher must be manually updated. + // + // The default is true. + AutoUpdate *bool `type:"boolean"` + + // The name of the IAM execution role to use to activate the extension. + ExecutionRoleArn *string `min:"1" type:"string"` + + // Contains logging configuration information for an extension. + LoggingConfig *LoggingConfig `type:"structure"` + + // The major version of this extension you want to activate, if multiple major + // versions are available. The default is the latest major version. CloudFormation + // uses the latest available minor version of the major version selected. + // + // You can specify MajorVersion or VersionBump, but not both. + MajorVersion *int64 `min:"1" type:"long"` + + // The Amazon Resource Name (ARN) of the public extension. + // + // Conditional: You must specify PublicTypeArn, or TypeName, Type, and PublisherId. + PublicTypeArn *string `type:"string"` + + // The ID of the extension publisher. + // + // Conditional: You must specify PublicTypeArn, or TypeName, Type, and PublisherId. + PublisherId *string `min:"1" type:"string"` + + // The extension type. + // + // Conditional: You must specify PublicTypeArn, or TypeName, Type, and PublisherId. + Type *string `type:"string" enum:"ThirdPartyType"` + + // The name of the extension. + // + // Conditional: You must specify PublicTypeArn, or TypeName, Type, and PublisherId. + TypeName *string `min:"10" type:"string"` + + // An alias to assign to the public extension, in this account and Region. If + // you specify an alias for the extension, CloudFormation treats the alias as + // the extension type name within this account and Region. You must use the + // alias to refer to the extension in your templates, API calls, and CloudFormation + // console. + // + // An extension alias must be unique within a given account and Region. You + // can activate the same public resource multiple times in the same account + // and Region, using different type name aliases. + TypeNameAlias *string `min:"10" type:"string"` + + // Manually updates a previously-activated type to a new major or minor version, + // if available. You can also use this parameter to update the value of AutoUpdate. + // + // * MAJOR: CloudFormation updates the extension to the newest major version, + // if one is available. + // + // * MINOR: CloudFormation updates the extension to the newest minor version, + // if one is available. + VersionBump *string `type:"string" enum:"VersionBump"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ActivateTypeInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ActivateTypeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ActivateTypeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ActivateTypeInput"} + if s.ExecutionRoleArn != nil && len(*s.ExecutionRoleArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ExecutionRoleArn", 1)) + } + if s.MajorVersion != nil && *s.MajorVersion < 1 { + invalidParams.Add(request.NewErrParamMinValue("MajorVersion", 1)) + } + if s.PublisherId != nil && len(*s.PublisherId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PublisherId", 1)) + } + if s.TypeName != nil && len(*s.TypeName) < 10 { + invalidParams.Add(request.NewErrParamMinLen("TypeName", 10)) + } + if s.TypeNameAlias != nil && len(*s.TypeNameAlias) < 10 { + invalidParams.Add(request.NewErrParamMinLen("TypeNameAlias", 10)) + } + if s.LoggingConfig != nil { + if err := s.LoggingConfig.Validate(); err != nil { + invalidParams.AddNested("LoggingConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAutoUpdate sets the AutoUpdate field's value. +func (s *ActivateTypeInput) SetAutoUpdate(v bool) *ActivateTypeInput { + s.AutoUpdate = &v + return s +} + +// SetExecutionRoleArn sets the ExecutionRoleArn field's value. +func (s *ActivateTypeInput) SetExecutionRoleArn(v string) *ActivateTypeInput { + s.ExecutionRoleArn = &v + return s +} + +// SetLoggingConfig sets the LoggingConfig field's value. +func (s *ActivateTypeInput) SetLoggingConfig(v *LoggingConfig) *ActivateTypeInput { + s.LoggingConfig = v + return s +} + +// SetMajorVersion sets the MajorVersion field's value. +func (s *ActivateTypeInput) SetMajorVersion(v int64) *ActivateTypeInput { + s.MajorVersion = &v + return s +} + +// SetPublicTypeArn sets the PublicTypeArn field's value. +func (s *ActivateTypeInput) SetPublicTypeArn(v string) *ActivateTypeInput { + s.PublicTypeArn = &v + return s +} + +// SetPublisherId sets the PublisherId field's value. +func (s *ActivateTypeInput) SetPublisherId(v string) *ActivateTypeInput { + s.PublisherId = &v + return s +} + +// SetType sets the Type field's value. +func (s *ActivateTypeInput) SetType(v string) *ActivateTypeInput { + s.Type = &v + return s +} + +// SetTypeName sets the TypeName field's value. +func (s *ActivateTypeInput) SetTypeName(v string) *ActivateTypeInput { + s.TypeName = &v + return s +} + +// SetTypeNameAlias sets the TypeNameAlias field's value. +func (s *ActivateTypeInput) SetTypeNameAlias(v string) *ActivateTypeInput { + s.TypeNameAlias = &v + return s +} + +// SetVersionBump sets the VersionBump field's value. +func (s *ActivateTypeInput) SetVersionBump(v string) *ActivateTypeInput { + s.VersionBump = &v + return s +} + +type ActivateTypeOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the activated extension, in this account + // and Region. + Arn *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ActivateTypeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ActivateTypeOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ActivateTypeOutput) SetArn(v string) *ActivateTypeOutput { + s.Arn = &v + return s +} + +// [Service-managed permissions] Describes whether StackSets automatically deploys +// to Organizations accounts that are added to a target organization or organizational +// unit (OU). +type AutoDeployment struct { + _ struct{} `type:"structure"` + + // If set to true, StackSets automatically deploys additional stack instances + // to Organizations accounts that are added to a target organization or organizational + // unit (OU) in the specified Regions. If an account is removed from a target + // organization or OU, StackSets deletes stack instances from the account in + // the specified Regions. + Enabled *bool `type:"boolean"` + + // If set to true, stack resources are retained when an account is removed from + // a target organization or OU. If set to false, stack resources are deleted. + // Specify only if Enabled is set to True. + RetainStacksOnAccountRemoval *bool `type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AutoDeployment) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AutoDeployment) GoString() string { + return s.String() +} + +// SetEnabled sets the Enabled field's value. +func (s *AutoDeployment) SetEnabled(v bool) *AutoDeployment { + s.Enabled = &v + return s +} + +// SetRetainStacksOnAccountRemoval sets the RetainStacksOnAccountRemoval field's value. +func (s *AutoDeployment) SetRetainStacksOnAccountRemoval(v bool) *AutoDeployment { + s.RetainStacksOnAccountRemoval = &v + return s +} + +// Detailed information concerning an error generated during the setting of +// configuration data for a CloudFormation extension. +type BatchDescribeTypeConfigurationsError struct { + _ struct{} `type:"structure"` + + // The error code. + ErrorCode *string `min:"3" type:"string"` + + // The error message. + ErrorMessage *string `min:"1" type:"string"` + + // Identifying information for the configuration of a CloudFormation extension. + TypeConfigurationIdentifier *TypeConfigurationIdentifier `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchDescribeTypeConfigurationsError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchDescribeTypeConfigurationsError) GoString() string { + return s.String() +} + +// SetErrorCode sets the ErrorCode field's value. +func (s *BatchDescribeTypeConfigurationsError) SetErrorCode(v string) *BatchDescribeTypeConfigurationsError { + s.ErrorCode = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *BatchDescribeTypeConfigurationsError) SetErrorMessage(v string) *BatchDescribeTypeConfigurationsError { + s.ErrorMessage = &v + return s +} + +// SetTypeConfigurationIdentifier sets the TypeConfigurationIdentifier field's value. +func (s *BatchDescribeTypeConfigurationsError) SetTypeConfigurationIdentifier(v *TypeConfigurationIdentifier) *BatchDescribeTypeConfigurationsError { + s.TypeConfigurationIdentifier = v + return s +} + +type BatchDescribeTypeConfigurationsInput struct { + _ struct{} `type:"structure"` + + // The list of identifiers for the desired extension configurations. + // + // TypeConfigurationIdentifiers is a required field + TypeConfigurationIdentifiers []*TypeConfigurationIdentifier `min:"1" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchDescribeTypeConfigurationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchDescribeTypeConfigurationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchDescribeTypeConfigurationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchDescribeTypeConfigurationsInput"} + if s.TypeConfigurationIdentifiers == nil { + invalidParams.Add(request.NewErrParamRequired("TypeConfigurationIdentifiers")) + } + if s.TypeConfigurationIdentifiers != nil && len(s.TypeConfigurationIdentifiers) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TypeConfigurationIdentifiers", 1)) + } + if s.TypeConfigurationIdentifiers != nil { + for i, v := range s.TypeConfigurationIdentifiers { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TypeConfigurationIdentifiers", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTypeConfigurationIdentifiers sets the TypeConfigurationIdentifiers field's value. +func (s *BatchDescribeTypeConfigurationsInput) SetTypeConfigurationIdentifiers(v []*TypeConfigurationIdentifier) *BatchDescribeTypeConfigurationsInput { + s.TypeConfigurationIdentifiers = v + return s +} + +type BatchDescribeTypeConfigurationsOutput struct { + _ struct{} `type:"structure"` + + // A list of information concerning any errors generated during the setting + // of the specified configurations. + Errors []*BatchDescribeTypeConfigurationsError `type:"list"` + + // A list of any of the specified extension configurations from the CloudFormation + // registry. + TypeConfigurations []*TypeConfigurationDetails `type:"list"` + + // A list of any of the specified extension configurations that CloudFormation + // could not process for any reason. + UnprocessedTypeConfigurations []*TypeConfigurationIdentifier `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchDescribeTypeConfigurationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchDescribeTypeConfigurationsOutput) GoString() string { + return s.String() +} + +// SetErrors sets the Errors field's value. +func (s *BatchDescribeTypeConfigurationsOutput) SetErrors(v []*BatchDescribeTypeConfigurationsError) *BatchDescribeTypeConfigurationsOutput { + s.Errors = v + return s +} + +// SetTypeConfigurations sets the TypeConfigurations field's value. +func (s *BatchDescribeTypeConfigurationsOutput) SetTypeConfigurations(v []*TypeConfigurationDetails) *BatchDescribeTypeConfigurationsOutput { + s.TypeConfigurations = v + return s +} + +// SetUnprocessedTypeConfigurations sets the UnprocessedTypeConfigurations field's value. +func (s *BatchDescribeTypeConfigurationsOutput) SetUnprocessedTypeConfigurations(v []*TypeConfigurationIdentifier) *BatchDescribeTypeConfigurationsOutput { + s.UnprocessedTypeConfigurations = v + return s +} + +// The input for the CancelUpdateStack action. +type CancelUpdateStackInput struct { + _ struct{} `type:"structure"` + + // A unique identifier for this CancelUpdateStack request. Specify this token + // if you plan to retry requests so that CloudFormation knows that you're not + // attempting to cancel an update on a stack with the same name. You might retry + // CancelUpdateStack requests to ensure that CloudFormation successfully received + // them. + ClientRequestToken *string `min:"1" type:"string"` + + // + // If you don't pass a parameter to StackName, the API returns a response that + // describes all resources in the account. + // + // The IAM policy below can be added to IAM policies when you want to limit + // resource-level permissions and avoid returning a response when no parameter + // is sent in the request: + // + // { "Version": "2012-10-17", "Statement": [{ "Effect": "Deny", "Action": "cloudformation:DescribeStacks", + // "NotResource": "arn:aws:cloudformation:*:*:stack/*/*" }] } + // + // The name or the unique stack ID that's associated with the stack. + // + // StackName is a required field + StackName *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CancelUpdateStackInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CancelUpdateStackInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CancelUpdateStackInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CancelUpdateStackInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.StackName == nil { + invalidParams.Add(request.NewErrParamRequired("StackName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CancelUpdateStackInput) SetClientRequestToken(v string) *CancelUpdateStackInput { + s.ClientRequestToken = &v + return s +} + +// SetStackName sets the StackName field's value. +func (s *CancelUpdateStackInput) SetStackName(v string) *CancelUpdateStackInput { + s.StackName = &v + return s +} + +type CancelUpdateStackOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CancelUpdateStackOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CancelUpdateStackOutput) GoString() string { + return s.String() +} + +// The Change structure describes the changes CloudFormation will perform if +// you execute the change set. +type Change struct { + _ struct{} `type:"structure"` + + // Is either null, if no hooks invoke for the resource, or contains the number + // of hooks that will invoke for the resource. + HookInvocationCount *int64 `min:"1" type:"integer"` + + // A ResourceChange structure that describes the resource and action that CloudFormation + // will perform. + ResourceChange *ResourceChange `type:"structure"` + + // The type of entity that CloudFormation changes. Currently, the only entity + // type is Resource. + Type *string `type:"string" enum:"ChangeType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Change) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Change) GoString() string { + return s.String() +} + +// SetHookInvocationCount sets the HookInvocationCount field's value. +func (s *Change) SetHookInvocationCount(v int64) *Change { + s.HookInvocationCount = &v + return s +} + +// SetResourceChange sets the ResourceChange field's value. +func (s *Change) SetResourceChange(v *ResourceChange) *Change { + s.ResourceChange = v + return s +} + +// SetType sets the Type field's value. +func (s *Change) SetType(v string) *Change { + s.Type = &v + return s +} + +// Specifies the resource, the hook, and the hook version to be invoked. +type ChangeSetHook struct { + _ struct{} `type:"structure"` + + // Specify the hook failure mode for non-compliant resources in the followings + // ways. + // + // * FAIL Stops provisioning resources. + // + // * WARN Allows provisioning to continue with a warning message. + FailureMode *string `type:"string" enum:"HookFailureMode"` + + // Specifies the points in provisioning logic where a hook is invoked. + InvocationPoint *string `type:"string" enum:"HookInvocationPoint"` + + // Specifies details about the target that the hook will run against. + TargetDetails *ChangeSetHookTargetDetails `type:"structure"` + + // The version ID of the type configuration. + TypeConfigurationVersionId *string `min:"1" type:"string"` + + // The unique name for your hook. Specifies a three-part namespace for your + // hook, with a recommended pattern of Organization::Service::Hook. + // + // The following organization namespaces are reserved and can't be used in your + // hook type names: + // + // * Alexa + // + // * AMZN + // + // * Amazon + // + // * ASK + // + // * AWS + // + // * Custom + // + // * Dev + TypeName *string `min:"10" type:"string"` + + // The version ID of the type specified. + TypeVersionId *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ChangeSetHook) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ChangeSetHook) GoString() string { + return s.String() +} + +// SetFailureMode sets the FailureMode field's value. +func (s *ChangeSetHook) SetFailureMode(v string) *ChangeSetHook { + s.FailureMode = &v + return s +} + +// SetInvocationPoint sets the InvocationPoint field's value. +func (s *ChangeSetHook) SetInvocationPoint(v string) *ChangeSetHook { + s.InvocationPoint = &v + return s +} + +// SetTargetDetails sets the TargetDetails field's value. +func (s *ChangeSetHook) SetTargetDetails(v *ChangeSetHookTargetDetails) *ChangeSetHook { + s.TargetDetails = v + return s +} + +// SetTypeConfigurationVersionId sets the TypeConfigurationVersionId field's value. +func (s *ChangeSetHook) SetTypeConfigurationVersionId(v string) *ChangeSetHook { + s.TypeConfigurationVersionId = &v + return s +} + +// SetTypeName sets the TypeName field's value. +func (s *ChangeSetHook) SetTypeName(v string) *ChangeSetHook { + s.TypeName = &v + return s +} + +// SetTypeVersionId sets the TypeVersionId field's value. +func (s *ChangeSetHook) SetTypeVersionId(v string) *ChangeSetHook { + s.TypeVersionId = &v + return s +} + +// Specifies RESOURCE type target details for activated hooks. +type ChangeSetHookResourceTargetDetails struct { + _ struct{} `type:"structure"` + + // The resource's logical ID, which is defined in the stack's template. + LogicalResourceId *string `type:"string"` + + // Specifies the action of the resource. + ResourceAction *string `type:"string" enum:"ChangeAction"` + + // The type of CloudFormation resource, such as AWS::S3::Bucket. + ResourceType *string `min:"1" type:"string"` +} + +// String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ActivateOrganizationsAccessOutput) GoString() string { +func (s ChangeSetHookResourceTargetDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ChangeSetHookResourceTargetDetails) GoString() string { return s.String() } -type ActivateTypeInput struct { +// SetLogicalResourceId sets the LogicalResourceId field's value. +func (s *ChangeSetHookResourceTargetDetails) SetLogicalResourceId(v string) *ChangeSetHookResourceTargetDetails { + s.LogicalResourceId = &v + return s +} + +// SetResourceAction sets the ResourceAction field's value. +func (s *ChangeSetHookResourceTargetDetails) SetResourceAction(v string) *ChangeSetHookResourceTargetDetails { + s.ResourceAction = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *ChangeSetHookResourceTargetDetails) SetResourceType(v string) *ChangeSetHookResourceTargetDetails { + s.ResourceType = &v + return s +} + +// Specifies target details for an activated hook. +type ChangeSetHookTargetDetails struct { _ struct{} `type:"structure"` - // Whether to automatically update the extension in this account and Region - // when a new minor version is published by the extension publisher. Major versions - // released by the publisher must be manually updated. - // - // The default is true. - AutoUpdate *bool `type:"boolean"` + // Required if TargetType is RESOURCE. + ResourceTargetDetails *ChangeSetHookResourceTargetDetails `type:"structure"` - // The name of the IAM execution role to use to activate the extension. - ExecutionRoleArn *string `min:"1" type:"string"` + // The name of the type. + TargetType *string `type:"string" enum:"HookTargetType"` +} - // Contains logging configuration information for an extension. - LoggingConfig *LoggingConfig `type:"structure"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ChangeSetHookTargetDetails) String() string { + return awsutil.Prettify(s) +} - // The major version of this extension you want to activate, if multiple major - // versions are available. The default is the latest major version. CloudFormation - // uses the latest available minor version of the major version selected. - // - // You can specify MajorVersion or VersionBump, but not both. - MajorVersion *int64 `min:"1" type:"long"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ChangeSetHookTargetDetails) GoString() string { + return s.String() +} - // The Amazon Resource Name (ARN) of the public extension. - // - // Conditional: You must specify PublicTypeArn, or TypeName, Type, and PublisherId. - PublicTypeArn *string `type:"string"` +// SetResourceTargetDetails sets the ResourceTargetDetails field's value. +func (s *ChangeSetHookTargetDetails) SetResourceTargetDetails(v *ChangeSetHookResourceTargetDetails) *ChangeSetHookTargetDetails { + s.ResourceTargetDetails = v + return s +} - // The ID of the extension publisher. +// SetTargetType sets the TargetType field's value. +func (s *ChangeSetHookTargetDetails) SetTargetType(v string) *ChangeSetHookTargetDetails { + s.TargetType = &v + return s +} + +// The ChangeSetSummary structure describes a change set, its status, and the +// stack with which it's associated. +type ChangeSetSummary struct { + _ struct{} `type:"structure"` + + // The ID of the change set. + ChangeSetId *string `min:"1" type:"string"` + + // The name of the change set. + ChangeSetName *string `min:"1" type:"string"` + + // The start time when the change set was created, in UTC. + CreationTime *time.Time `type:"timestamp"` + + // Descriptive information about the change set. + Description *string `min:"1" type:"string"` + + // If the change set execution status is AVAILABLE, you can execute the change + // set. If you can't execute the change set, the status indicates why. For example, + // a change set might be in an UNAVAILABLE state because CloudFormation is still + // creating it or in an OBSOLETE state because the stack was already updated. + ExecutionStatus *string `type:"string" enum:"ExecutionStatus"` + + // Indicates if the change set imports resources that already exist. + ImportExistingResources *bool `type:"boolean"` + + // Specifies the current setting of IncludeNestedStacks for the change set. + IncludeNestedStacks *bool `type:"boolean"` + + // The parent change set ID. + ParentChangeSetId *string `min:"1" type:"string"` + + // The root change set ID. + RootChangeSetId *string `min:"1" type:"string"` + + // The ID of the stack with which the change set is associated. + StackId *string `type:"string"` + + // The name of the stack with which the change set is associated. + StackName *string `type:"string"` + + // The state of the change set, such as CREATE_IN_PROGRESS, CREATE_COMPLETE, + // or FAILED. + Status *string `type:"string" enum:"ChangeSetStatus"` + + // A description of the change set's status. For example, if your change set + // is in the FAILED state, CloudFormation shows the error message. + StatusReason *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ChangeSetSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ChangeSetSummary) GoString() string { + return s.String() +} + +// SetChangeSetId sets the ChangeSetId field's value. +func (s *ChangeSetSummary) SetChangeSetId(v string) *ChangeSetSummary { + s.ChangeSetId = &v + return s +} + +// SetChangeSetName sets the ChangeSetName field's value. +func (s *ChangeSetSummary) SetChangeSetName(v string) *ChangeSetSummary { + s.ChangeSetName = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *ChangeSetSummary) SetCreationTime(v time.Time) *ChangeSetSummary { + s.CreationTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ChangeSetSummary) SetDescription(v string) *ChangeSetSummary { + s.Description = &v + return s +} + +// SetExecutionStatus sets the ExecutionStatus field's value. +func (s *ChangeSetSummary) SetExecutionStatus(v string) *ChangeSetSummary { + s.ExecutionStatus = &v + return s +} + +// SetImportExistingResources sets the ImportExistingResources field's value. +func (s *ChangeSetSummary) SetImportExistingResources(v bool) *ChangeSetSummary { + s.ImportExistingResources = &v + return s +} + +// SetIncludeNestedStacks sets the IncludeNestedStacks field's value. +func (s *ChangeSetSummary) SetIncludeNestedStacks(v bool) *ChangeSetSummary { + s.IncludeNestedStacks = &v + return s +} + +// SetParentChangeSetId sets the ParentChangeSetId field's value. +func (s *ChangeSetSummary) SetParentChangeSetId(v string) *ChangeSetSummary { + s.ParentChangeSetId = &v + return s +} + +// SetRootChangeSetId sets the RootChangeSetId field's value. +func (s *ChangeSetSummary) SetRootChangeSetId(v string) *ChangeSetSummary { + s.RootChangeSetId = &v + return s +} + +// SetStackId sets the StackId field's value. +func (s *ChangeSetSummary) SetStackId(v string) *ChangeSetSummary { + s.StackId = &v + return s +} + +// SetStackName sets the StackName field's value. +func (s *ChangeSetSummary) SetStackName(v string) *ChangeSetSummary { + s.StackName = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ChangeSetSummary) SetStatus(v string) *ChangeSetSummary { + s.Status = &v + return s +} + +// SetStatusReason sets the StatusReason field's value. +func (s *ChangeSetSummary) SetStatusReason(v string) *ChangeSetSummary { + s.StatusReason = &v + return s +} + +// The input for the ContinueUpdateRollback action. +type ContinueUpdateRollbackInput struct { + _ struct{} `type:"structure"` + + // A unique identifier for this ContinueUpdateRollback request. Specify this + // token if you plan to retry requests so that CloudFormation knows that you're + // not attempting to continue the rollback to a stack with the same name. You + // might retry ContinueUpdateRollback requests to ensure that CloudFormation + // successfully received them. + ClientRequestToken *string `min:"1" type:"string"` + + // A list of the logical IDs of the resources that CloudFormation skips during + // the continue update rollback operation. You can specify only resources that + // are in the UPDATE_FAILED state because a rollback failed. You can't specify + // resources that are in the UPDATE_FAILED state for other reasons, for example, + // because an update was canceled. To check why a resource update failed, use + // the DescribeStackResources action, and view the resource status reason. + // + // Specify this property to skip rolling back resources that CloudFormation + // can't successfully roll back. We recommend that you troubleshoot (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-update-rollback-failed) + // resources before skipping them. CloudFormation sets the status of the specified + // resources to UPDATE_COMPLETE and continues to roll back the stack. After + // the rollback is complete, the state of the skipped resources will be inconsistent + // with the state of the resources in the stack template. Before performing + // another stack update, you must update the stack or resources to be consistent + // with each other. If you don't, subsequent stack updates might fail, and the + // stack will become unrecoverable. // - // Conditional: You must specify PublicTypeArn, or TypeName, Type, and PublisherId. - PublisherId *string `min:"1" type:"string"` - - // The extension type. + // Specify the minimum number of resources required to successfully roll back + // your stack. For example, a failed resource update might cause dependent resources + // to fail. In this case, it might not be necessary to skip the dependent resources. // - // Conditional: You must specify PublicTypeArn, or TypeName, Type, and PublisherId. - Type *string `type:"string" enum:"ThirdPartyType"` - - // The name of the extension. + // To skip resources that are part of nested stacks, use the following format: + // NestedStackName.ResourceLogicalID. If you want to specify the logical ID + // of a stack resource (Type: AWS::CloudFormation::Stack) in the ResourcesToSkip + // list, then its corresponding embedded stack must be in one of the following + // states: DELETE_IN_PROGRESS, DELETE_COMPLETE, or DELETE_FAILED. // - // Conditional: You must specify PublicTypeArn, or TypeName, Type, and PublisherId. - TypeName *string `min:"10" type:"string"` + // Don't confuse a child stack's name with its corresponding logical ID defined + // in the parent stack. For an example of a continue update rollback operation + // with nested stacks, see Using ResourcesToSkip to recover a nested stacks + // hierarchy (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-continueupdaterollback.html#nested-stacks). + ResourcesToSkip []*string `type:"list"` - // An alias to assign to the public extension, in this account and Region. If - // you specify an alias for the extension, CloudFormation treats the alias as - // the extension type name within this account and Region. You must use the - // alias to refer to the extension in your templates, API calls, and CloudFormation - // console. + // The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) + // role that CloudFormation assumes to roll back the stack. CloudFormation uses + // the role's credentials to make calls on your behalf. CloudFormation always + // uses this role for all future operations on the stack. Provided that users + // have permission to operate on the stack, CloudFormation uses this role even + // if the users don't have permission to pass it. Ensure that the role grants + // least permission. // - // An extension alias must be unique within a given account and Region. You - // can activate the same public resource multiple times in the same account - // and Region, using different type name aliases. - TypeNameAlias *string `min:"10" type:"string"` + // If you don't specify a value, CloudFormation uses the role that was previously + // associated with the stack. If no role is available, CloudFormation uses a + // temporary session that's generated from your user credentials. + RoleARN *string `min:"20" type:"string"` - // Manually updates a previously-activated type to a new major or minor version, - // if available. You can also use this parameter to update the value of AutoUpdate. + // The name or the unique ID of the stack that you want to continue rolling + // back. // - // * MAJOR: CloudFormation updates the extension to the newest major version, - // if one is available. + // Don't specify the name of a nested stack (a stack that was created by using + // the AWS::CloudFormation::Stack resource). Instead, use this operation on + // the parent stack (the stack that contains the AWS::CloudFormation::Stack + // resource). // - // * MINOR: CloudFormation updates the extension to the newest minor version, - // if one is available. - VersionBump *string `type:"string" enum:"VersionBump"` + // StackName is a required field + StackName *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -7275,7 +9330,7 @@ type ActivateTypeInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ActivateTypeInput) String() string { +func (s ContinueUpdateRollbackInput) String() string { return awsutil.Prettify(s) } @@ -7284,32 +9339,24 @@ func (s ActivateTypeInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ActivateTypeInput) GoString() string { +func (s ContinueUpdateRollbackInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ActivateTypeInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ActivateTypeInput"} - if s.ExecutionRoleArn != nil && len(*s.ExecutionRoleArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ExecutionRoleArn", 1)) - } - if s.MajorVersion != nil && *s.MajorVersion < 1 { - invalidParams.Add(request.NewErrParamMinValue("MajorVersion", 1)) - } - if s.PublisherId != nil && len(*s.PublisherId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("PublisherId", 1)) +func (s *ContinueUpdateRollbackInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ContinueUpdateRollbackInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) } - if s.TypeName != nil && len(*s.TypeName) < 10 { - invalidParams.Add(request.NewErrParamMinLen("TypeName", 10)) + if s.RoleARN != nil && len(*s.RoleARN) < 20 { + invalidParams.Add(request.NewErrParamMinLen("RoleARN", 20)) } - if s.TypeNameAlias != nil && len(*s.TypeNameAlias) < 10 { - invalidParams.Add(request.NewErrParamMinLen("TypeNameAlias", 10)) + if s.StackName == nil { + invalidParams.Add(request.NewErrParamRequired("StackName")) } - if s.LoggingConfig != nil { - if err := s.LoggingConfig.Validate(); err != nil { - invalidParams.AddNested("LoggingConfig", err.(request.ErrInvalidParams)) - } + if s.StackName != nil && len(*s.StackName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StackName", 1)) } if invalidParams.Len() > 0 { @@ -7318,72 +9365,33 @@ func (s *ActivateTypeInput) Validate() error { return nil } -// SetAutoUpdate sets the AutoUpdate field's value. -func (s *ActivateTypeInput) SetAutoUpdate(v bool) *ActivateTypeInput { - s.AutoUpdate = &v - return s -} - -// SetExecutionRoleArn sets the ExecutionRoleArn field's value. -func (s *ActivateTypeInput) SetExecutionRoleArn(v string) *ActivateTypeInput { - s.ExecutionRoleArn = &v - return s -} - -// SetLoggingConfig sets the LoggingConfig field's value. -func (s *ActivateTypeInput) SetLoggingConfig(v *LoggingConfig) *ActivateTypeInput { - s.LoggingConfig = v - return s -} - -// SetMajorVersion sets the MajorVersion field's value. -func (s *ActivateTypeInput) SetMajorVersion(v int64) *ActivateTypeInput { - s.MajorVersion = &v - return s -} - -// SetPublicTypeArn sets the PublicTypeArn field's value. -func (s *ActivateTypeInput) SetPublicTypeArn(v string) *ActivateTypeInput { - s.PublicTypeArn = &v - return s -} - -// SetPublisherId sets the PublisherId field's value. -func (s *ActivateTypeInput) SetPublisherId(v string) *ActivateTypeInput { - s.PublisherId = &v - return s -} - -// SetType sets the Type field's value. -func (s *ActivateTypeInput) SetType(v string) *ActivateTypeInput { - s.Type = &v +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *ContinueUpdateRollbackInput) SetClientRequestToken(v string) *ContinueUpdateRollbackInput { + s.ClientRequestToken = &v return s } -// SetTypeName sets the TypeName field's value. -func (s *ActivateTypeInput) SetTypeName(v string) *ActivateTypeInput { - s.TypeName = &v +// SetResourcesToSkip sets the ResourcesToSkip field's value. +func (s *ContinueUpdateRollbackInput) SetResourcesToSkip(v []*string) *ContinueUpdateRollbackInput { + s.ResourcesToSkip = v return s } -// SetTypeNameAlias sets the TypeNameAlias field's value. -func (s *ActivateTypeInput) SetTypeNameAlias(v string) *ActivateTypeInput { - s.TypeNameAlias = &v +// SetRoleARN sets the RoleARN field's value. +func (s *ContinueUpdateRollbackInput) SetRoleARN(v string) *ContinueUpdateRollbackInput { + s.RoleARN = &v return s } -// SetVersionBump sets the VersionBump field's value. -func (s *ActivateTypeInput) SetVersionBump(v string) *ActivateTypeInput { - s.VersionBump = &v +// SetStackName sets the StackName field's value. +func (s *ContinueUpdateRollbackInput) SetStackName(v string) *ContinueUpdateRollbackInput { + s.StackName = &v return s } -type ActivateTypeOutput struct { +// The output for a ContinueUpdateRollback operation. +type ContinueUpdateRollbackOutput struct { _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) of the activated extension, in this account - // and Region. - Arn *string `type:"string"` } // String returns the string representation. @@ -7391,7 +9399,7 @@ type ActivateTypeOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ActivateTypeOutput) String() string { +func (s ContinueUpdateRollbackOutput) String() string { return awsutil.Prettify(s) } @@ -7400,123 +9408,206 @@ func (s ActivateTypeOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ActivateTypeOutput) GoString() string { +func (s ContinueUpdateRollbackOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *ActivateTypeOutput) SetArn(v string) *ActivateTypeOutput { - s.Arn = &v - return s -} - -// [Service-managed permissions] Describes whether StackSets automatically deploys -// to Organizations accounts that are added to a target organization or organizational -// unit (OU). -type AutoDeployment struct { +// The input for the CreateChangeSet action. +type CreateChangeSetInput struct { _ struct{} `type:"structure"` - // If set to true, StackSets automatically deploys additional stack instances - // to Organizations accounts that are added to a target organization or organizational - // unit (OU) in the specified Regions. If an account is removed from a target - // organization or OU, StackSets deletes stack instances from the account in - // the specified Regions. - Enabled *bool `type:"boolean"` + // In some cases, you must explicitly acknowledge that your stack template contains + // certain capabilities in order for CloudFormation to create the stack. + // + // * CAPABILITY_IAM and CAPABILITY_NAMED_IAM Some stack templates might include + // resources that can affect permissions in your Amazon Web Services account; + // for example, by creating new Identity and Access Management (IAM) users. + // For those stacks, you must explicitly acknowledge this by specifying one + // of these capabilities. The following IAM resources require you to specify + // either the CAPABILITY_IAM or CAPABILITY_NAMED_IAM capability. If you have + // IAM resources, you can specify either capability. If you have IAM resources + // with custom names, you must specify CAPABILITY_NAMED_IAM. If you don't + // specify either of these capabilities, CloudFormation returns an InsufficientCapabilities + // error. If your stack template contains these resources, we suggest that + // you review all permissions associated with them and edit their permissions + // if necessary. AWS::IAM::AccessKey (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html) + // AWS::IAM::Group (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html) + // AWS::IAM::InstanceProfile (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html) + // AWS::IAM::Policy (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html) + // AWS::IAM::Role (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html) + // AWS::IAM::User (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html) + // AWS::IAM::UserToGroupAddition (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html) + // For more information, see Acknowledging IAM resources in CloudFormation + // templates (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities). + // + // * CAPABILITY_AUTO_EXPAND Some template contain macros. Macros perform + // custom processing on templates; this can include simple actions like find-and-replace + // operations, all the way to extensive transformations of entire templates. + // Because of this, users typically create a change set from the processed + // template, so that they can review the changes resulting from the macros + // before actually creating the stack. If your stack template contains one + // or more macros, and you choose to create a stack directly from the processed + // template, without first reviewing the resulting changes in a change set, + // you must acknowledge this capability. This includes the AWS::Include (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html) + // and AWS::Serverless (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-aws-serverless.html) + // transforms, which are macros hosted by CloudFormation. This capacity doesn't + // apply to creating change sets, and specifying it when creating change + // sets has no effect. If you want to create a stack from a stack template + // that contains macros and nested stacks, you must create or update the + // stack directly from the template using the CreateStack or UpdateStack + // action, and specifying this capability. For more information about macros, + // see Using CloudFormation macros to perform custom processing on templates + // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros.html). + // + // Only one of the Capabilities and ResourceType parameters can be specified. + Capabilities []*string `type:"list" enum:"Capability"` - // If set to true, stack resources are retained when an account is removed from - // a target organization or OU. If set to false, stack resources are deleted. - // Specify only if Enabled is set to True. - RetainStacksOnAccountRemoval *bool `type:"boolean"` -} + // The name of the change set. The name must be unique among all change sets + // that are associated with the specified stack. + // + // A change set name can contain only alphanumeric, case sensitive characters, + // and hyphens. It must start with an alphabetical character and can't exceed + // 128 characters. + // + // ChangeSetName is a required field + ChangeSetName *string `min:"1" type:"string" required:"true"` -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AutoDeployment) String() string { - return awsutil.Prettify(s) -} + // The type of change set operation. To create a change set for a new stack, + // specify CREATE. To create a change set for an existing stack, specify UPDATE. + // To create a change set for an import operation, specify IMPORT. + // + // If you create a change set for a new stack, CloudFormation creates a stack + // with a unique stack ID, but no template or resources. The stack will be in + // the REVIEW_IN_PROGRESS (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-describing-stacks.html#d0e11995) + // state until you execute the change set. + // + // By default, CloudFormation specifies UPDATE. You can't use the UPDATE type + // to create a change set for a new stack or the CREATE type to create a change + // set for an existing stack. + ChangeSetType *string `type:"string" enum:"ChangeSetType"` -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AutoDeployment) GoString() string { - return s.String() -} + // A unique identifier for this CreateChangeSet request. Specify this token + // if you plan to retry requests so that CloudFormation knows that you're not + // attempting to create another change set with the same name. You might retry + // CreateChangeSet requests to ensure that CloudFormation successfully received + // them. + ClientToken *string `min:"1" type:"string"` -// SetEnabled sets the Enabled field's value. -func (s *AutoDeployment) SetEnabled(v bool) *AutoDeployment { - s.Enabled = &v - return s -} + // A description to help you identify this change set. + Description *string `min:"1" type:"string"` -// SetRetainStacksOnAccountRemoval sets the RetainStacksOnAccountRemoval field's value. -func (s *AutoDeployment) SetRetainStacksOnAccountRemoval(v bool) *AutoDeployment { - s.RetainStacksOnAccountRemoval = &v - return s -} + // Indicates if the change set imports resources that already exist. + // + // This parameter can only import resources that have custom names in templates. + // For more information, see name type (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) + // in the CloudFormation User Guide. To import resources that do not accept + // custom names, such as EC2 instances, use the resource import feature instead. + // For more information, see Bringing existing resources into CloudFormation + // management (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resource-import.html) + // in the CloudFormation User Guide. + ImportExistingResources *bool `type:"boolean"` -// Detailed information concerning an error generated during the setting of -// configuration data for a CloudFormation extension. -type BatchDescribeTypeConfigurationsError struct { - _ struct{} `type:"structure"` + // Creates a change set for the all nested stacks specified in the template. + // The default behavior of this action is set to False. To include nested sets + // in a change set, specify True. + IncludeNestedStacks *bool `type:"boolean"` - // The error code. - ErrorCode *string `min:"3" type:"string"` + // The Amazon Resource Names (ARNs) of Amazon Simple Notification Service (Amazon + // SNS) topics that CloudFormation associates with the stack. To remove all + // associated notification topics, specify an empty list. + NotificationARNs []*string `type:"list"` - // The error message. - ErrorMessage *string `min:"1" type:"string"` + // Determines what action will be taken if stack creation fails. If this parameter + // is specified, the DisableRollback parameter to the ExecuteChangeSet (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ExecuteChangeSet.html) + // API operation must not be specified. This must be one of these values: + // + // * DELETE - Deletes the change set if the stack creation fails. This is + // only valid when the ChangeSetType parameter is set to CREATE. If the deletion + // of the stack fails, the status of the stack is DELETE_FAILED. + // + // * DO_NOTHING - if the stack creation fails, do nothing. This is equivalent + // to specifying true for the DisableRollback parameter to the ExecuteChangeSet + // (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ExecuteChangeSet.html) + // API operation. + // + // * ROLLBACK - if the stack creation fails, roll back the stack. This is + // equivalent to specifying false for the DisableRollback parameter to the + // ExecuteChangeSet (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ExecuteChangeSet.html) + // API operation. + // + // For nested stacks, when the OnStackFailure parameter is set to DELETE for + // the change set for the parent stack, any failure in a child stack will cause + // the parent stack creation to fail and all stacks to be deleted. + OnStackFailure *string `type:"string" enum:"OnStackFailure"` - // Identifying information for the configuration of a CloudFormation extension. - TypeConfigurationIdentifier *TypeConfigurationIdentifier `type:"structure"` -} + // A list of Parameter structures that specify input parameters for the change + // set. For more information, see the Parameter data type. + Parameters []*Parameter `type:"list"` -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s BatchDescribeTypeConfigurationsError) String() string { - return awsutil.Prettify(s) -} + // The template resource types that you have permissions to work with if you + // execute this change set, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance. + // + // If the list of resource types doesn't include a resource type that you're + // updating, the stack update fails. By default, CloudFormation grants permissions + // to all resource types. Identity and Access Management (IAM) uses this parameter + // for condition keys in IAM policies for CloudFormation. For more information, + // see Controlling access with Identity and Access Management (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html) + // in the CloudFormation User Guide. + // + // Only one of the Capabilities and ResourceType parameters can be specified. + ResourceTypes []*string `type:"list"` -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s BatchDescribeTypeConfigurationsError) GoString() string { - return s.String() -} + // The resources to import into your stack. + ResourcesToImport []*ResourceToImport `type:"list"` -// SetErrorCode sets the ErrorCode field's value. -func (s *BatchDescribeTypeConfigurationsError) SetErrorCode(v string) *BatchDescribeTypeConfigurationsError { - s.ErrorCode = &v - return s -} + // The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) + // role that CloudFormation assumes when executing the change set. CloudFormation + // uses the role's credentials to make calls on your behalf. CloudFormation + // uses this role for all future operations on the stack. Provided that users + // have permission to operate on the stack, CloudFormation uses this role even + // if the users don't have permission to pass it. Ensure that the role grants + // least permission. + // + // If you don't specify a value, CloudFormation uses the role that was previously + // associated with the stack. If no role is available, CloudFormation uses a + // temporary session that is generated from your user credentials. + RoleARN *string `min:"20" type:"string"` -// SetErrorMessage sets the ErrorMessage field's value. -func (s *BatchDescribeTypeConfigurationsError) SetErrorMessage(v string) *BatchDescribeTypeConfigurationsError { - s.ErrorMessage = &v - return s -} + // The rollback triggers for CloudFormation to monitor during stack creation + // and updating operations, and for the specified monitoring period afterwards. + RollbackConfiguration *RollbackConfiguration `type:"structure"` -// SetTypeConfigurationIdentifier sets the TypeConfigurationIdentifier field's value. -func (s *BatchDescribeTypeConfigurationsError) SetTypeConfigurationIdentifier(v *TypeConfigurationIdentifier) *BatchDescribeTypeConfigurationsError { - s.TypeConfigurationIdentifier = v - return s -} + // The name or the unique ID of the stack for which you are creating a change + // set. CloudFormation generates the change set by comparing this stack's information + // with the information that you submit, such as a modified template or different + // parameter input values. + // + // StackName is a required field + StackName *string `min:"1" type:"string" required:"true"` -type BatchDescribeTypeConfigurationsInput struct { - _ struct{} `type:"structure"` + // Key-value pairs to associate with this stack. CloudFormation also propagates + // these tags to resources in the stack. You can specify a maximum of 50 tags. + Tags []*Tag `type:"list"` - // The list of identifiers for the desired extension configurations. + // A structure that contains the body of the revised template, with a minimum + // length of 1 byte and a maximum length of 51,200 bytes. CloudFormation generates + // the change set by comparing this template with the template of the stack + // that you specified. // - // TypeConfigurationIdentifiers is a required field - TypeConfigurationIdentifiers []*TypeConfigurationIdentifier `min:"1" type:"list" required:"true"` + // Conditional: You must specify only TemplateBody or TemplateURL. + TemplateBody *string `min:"1" type:"string"` + + // The location of the file that contains the revised template. The URL must + // point to a template (max size: 460,800 bytes) that's located in an Amazon + // S3 bucket or a Systems Manager document. CloudFormation generates the change + // set by comparing this template with the stack that you specified. + // + // Conditional: You must specify only TemplateBody or TemplateURL. + TemplateURL *string `min:"1" type:"string"` + + // Whether to reuse the template that's associated with the stack to create + // the change set. + UsePreviousTemplate *bool `type:"boolean"` } // String returns the string representation. @@ -7524,7 +9615,7 @@ type BatchDescribeTypeConfigurationsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchDescribeTypeConfigurationsInput) String() string { +func (s CreateChangeSetInput) String() string { return awsutil.Prettify(s) } @@ -7533,26 +9624,62 @@ func (s BatchDescribeTypeConfigurationsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchDescribeTypeConfigurationsInput) GoString() string { +func (s CreateChangeSetInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *BatchDescribeTypeConfigurationsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchDescribeTypeConfigurationsInput"} - if s.TypeConfigurationIdentifiers == nil { - invalidParams.Add(request.NewErrParamRequired("TypeConfigurationIdentifiers")) +func (s *CreateChangeSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateChangeSetInput"} + if s.ChangeSetName == nil { + invalidParams.Add(request.NewErrParamRequired("ChangeSetName")) } - if s.TypeConfigurationIdentifiers != nil && len(s.TypeConfigurationIdentifiers) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TypeConfigurationIdentifiers", 1)) + if s.ChangeSetName != nil && len(*s.ChangeSetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeSetName", 1)) } - if s.TypeConfigurationIdentifiers != nil { - for i, v := range s.TypeConfigurationIdentifiers { + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.RoleARN != nil && len(*s.RoleARN) < 20 { + invalidParams.Add(request.NewErrParamMinLen("RoleARN", 20)) + } + if s.StackName == nil { + invalidParams.Add(request.NewErrParamRequired("StackName")) + } + if s.StackName != nil && len(*s.StackName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StackName", 1)) + } + if s.TemplateBody != nil && len(*s.TemplateBody) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1)) + } + if s.TemplateURL != nil && len(*s.TemplateURL) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateURL", 1)) + } + if s.ResourcesToImport != nil { + for i, v := range s.ResourcesToImport { if v == nil { continue } if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TypeConfigurationIdentifiers", i), err.(request.ErrInvalidParams)) + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourcesToImport", i), err.(request.ErrInvalidParams)) + } + } + } + if s.RollbackConfiguration != nil { + if err := s.RollbackConfiguration.Validate(); err != nil { + invalidParams.AddNested("RollbackConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) } } } @@ -7560,179 +9687,132 @@ func (s *BatchDescribeTypeConfigurationsInput) Validate() error { if invalidParams.Len() > 0 { return invalidParams } - return nil -} - -// SetTypeConfigurationIdentifiers sets the TypeConfigurationIdentifiers field's value. -func (s *BatchDescribeTypeConfigurationsInput) SetTypeConfigurationIdentifiers(v []*TypeConfigurationIdentifier) *BatchDescribeTypeConfigurationsInput { - s.TypeConfigurationIdentifiers = v - return s -} - -type BatchDescribeTypeConfigurationsOutput struct { - _ struct{} `type:"structure"` - - // A list of information concerning any errors generated during the setting - // of the specified configurations. - Errors []*BatchDescribeTypeConfigurationsError `type:"list"` - - // A list of any of the specified extension configurations from the CloudFormation - // registry. - TypeConfigurations []*TypeConfigurationDetails `type:"list"` + return nil +} - // A list of any of the specified extension configurations that CloudFormation - // could not process for any reason. - UnprocessedTypeConfigurations []*TypeConfigurationIdentifier `type:"list"` +// SetCapabilities sets the Capabilities field's value. +func (s *CreateChangeSetInput) SetCapabilities(v []*string) *CreateChangeSetInput { + s.Capabilities = v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s BatchDescribeTypeConfigurationsOutput) String() string { - return awsutil.Prettify(s) +// SetChangeSetName sets the ChangeSetName field's value. +func (s *CreateChangeSetInput) SetChangeSetName(v string) *CreateChangeSetInput { + s.ChangeSetName = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s BatchDescribeTypeConfigurationsOutput) GoString() string { - return s.String() +// SetChangeSetType sets the ChangeSetType field's value. +func (s *CreateChangeSetInput) SetChangeSetType(v string) *CreateChangeSetInput { + s.ChangeSetType = &v + return s } -// SetErrors sets the Errors field's value. -func (s *BatchDescribeTypeConfigurationsOutput) SetErrors(v []*BatchDescribeTypeConfigurationsError) *BatchDescribeTypeConfigurationsOutput { - s.Errors = v +// SetClientToken sets the ClientToken field's value. +func (s *CreateChangeSetInput) SetClientToken(v string) *CreateChangeSetInput { + s.ClientToken = &v return s } -// SetTypeConfigurations sets the TypeConfigurations field's value. -func (s *BatchDescribeTypeConfigurationsOutput) SetTypeConfigurations(v []*TypeConfigurationDetails) *BatchDescribeTypeConfigurationsOutput { - s.TypeConfigurations = v +// SetDescription sets the Description field's value. +func (s *CreateChangeSetInput) SetDescription(v string) *CreateChangeSetInput { + s.Description = &v return s } -// SetUnprocessedTypeConfigurations sets the UnprocessedTypeConfigurations field's value. -func (s *BatchDescribeTypeConfigurationsOutput) SetUnprocessedTypeConfigurations(v []*TypeConfigurationIdentifier) *BatchDescribeTypeConfigurationsOutput { - s.UnprocessedTypeConfigurations = v +// SetImportExistingResources sets the ImportExistingResources field's value. +func (s *CreateChangeSetInput) SetImportExistingResources(v bool) *CreateChangeSetInput { + s.ImportExistingResources = &v return s } -// The input for the CancelUpdateStack action. -type CancelUpdateStackInput struct { - _ struct{} `type:"structure"` +// SetIncludeNestedStacks sets the IncludeNestedStacks field's value. +func (s *CreateChangeSetInput) SetIncludeNestedStacks(v bool) *CreateChangeSetInput { + s.IncludeNestedStacks = &v + return s +} - // A unique identifier for this CancelUpdateStack request. Specify this token - // if you plan to retry requests so that CloudFormation knows that you're not - // attempting to cancel an update on a stack with the same name. You might retry - // CancelUpdateStack requests to ensure that CloudFormation successfully received - // them. - ClientRequestToken *string `min:"1" type:"string"` +// SetNotificationARNs sets the NotificationARNs field's value. +func (s *CreateChangeSetInput) SetNotificationARNs(v []*string) *CreateChangeSetInput { + s.NotificationARNs = v + return s +} - // - // If you don't pass a parameter to StackName, the API returns a response that - // describes all resources in the account. - // - // The IAM policy below can be added to IAM policies when you want to limit - // resource-level permissions and avoid returning a response when no parameter - // is sent in the request: - // - // { "Version": "2012-10-17", "Statement": [{ "Effect": "Deny", "Action": "cloudformation:DescribeStacks", - // "NotResource": "arn:aws:cloudformation:*:*:stack/*/*" }] } - // - // The name or the unique stack ID that's associated with the stack. - // - // StackName is a required field - StackName *string `type:"string" required:"true"` +// SetOnStackFailure sets the OnStackFailure field's value. +func (s *CreateChangeSetInput) SetOnStackFailure(v string) *CreateChangeSetInput { + s.OnStackFailure = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s CancelUpdateStackInput) String() string { - return awsutil.Prettify(s) +// SetParameters sets the Parameters field's value. +func (s *CreateChangeSetInput) SetParameters(v []*Parameter) *CreateChangeSetInput { + s.Parameters = v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s CancelUpdateStackInput) GoString() string { - return s.String() +// SetResourceTypes sets the ResourceTypes field's value. +func (s *CreateChangeSetInput) SetResourceTypes(v []*string) *CreateChangeSetInput { + s.ResourceTypes = v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CancelUpdateStackInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CancelUpdateStackInput"} - if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) - } - if s.StackName == nil { - invalidParams.Add(request.NewErrParamRequired("StackName")) - } +// SetResourcesToImport sets the ResourcesToImport field's value. +func (s *CreateChangeSetInput) SetResourcesToImport(v []*ResourceToImport) *CreateChangeSetInput { + s.ResourcesToImport = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetRoleARN sets the RoleARN field's value. +func (s *CreateChangeSetInput) SetRoleARN(v string) *CreateChangeSetInput { + s.RoleARN = &v + return s } -// SetClientRequestToken sets the ClientRequestToken field's value. -func (s *CancelUpdateStackInput) SetClientRequestToken(v string) *CancelUpdateStackInput { - s.ClientRequestToken = &v +// SetRollbackConfiguration sets the RollbackConfiguration field's value. +func (s *CreateChangeSetInput) SetRollbackConfiguration(v *RollbackConfiguration) *CreateChangeSetInput { + s.RollbackConfiguration = v return s } // SetStackName sets the StackName field's value. -func (s *CancelUpdateStackInput) SetStackName(v string) *CancelUpdateStackInput { +func (s *CreateChangeSetInput) SetStackName(v string) *CreateChangeSetInput { s.StackName = &v return s } -type CancelUpdateStackOutput struct { - _ struct{} `type:"structure"` +// SetTags sets the Tags field's value. +func (s *CreateChangeSetInput) SetTags(v []*Tag) *CreateChangeSetInput { + s.Tags = v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s CancelUpdateStackOutput) String() string { - return awsutil.Prettify(s) +// SetTemplateBody sets the TemplateBody field's value. +func (s *CreateChangeSetInput) SetTemplateBody(v string) *CreateChangeSetInput { + s.TemplateBody = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s CancelUpdateStackOutput) GoString() string { - return s.String() +// SetTemplateURL sets the TemplateURL field's value. +func (s *CreateChangeSetInput) SetTemplateURL(v string) *CreateChangeSetInput { + s.TemplateURL = &v + return s } -// The Change structure describes the changes CloudFormation will perform if -// you execute the change set. -type Change struct { - _ struct{} `type:"structure"` +// SetUsePreviousTemplate sets the UsePreviousTemplate field's value. +func (s *CreateChangeSetInput) SetUsePreviousTemplate(v bool) *CreateChangeSetInput { + s.UsePreviousTemplate = &v + return s +} - // Is either null, if no hooks invoke for the resource, or contains the number - // of hooks that will invoke for the resource. - HookInvocationCount *int64 `min:"1" type:"integer"` +// The output for the CreateChangeSet action. +type CreateChangeSetOutput struct { + _ struct{} `type:"structure"` - // A ResourceChange structure that describes the resource and action that CloudFormation - // will perform. - ResourceChange *ResourceChange `type:"structure"` + // The Amazon Resource Name (ARN) of the change set. + Id *string `min:"1" type:"string"` - // The type of entity that CloudFormation changes. Currently, the only entity - // type is Resource. - Type *string `type:"string" enum:"ChangeType"` + // The unique ID of the stack. + StackId *string `type:"string"` } // String returns the string representation. @@ -7740,7 +9820,7 @@ type Change struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Change) String() string { +func (s CreateChangeSetOutput) String() string { return awsutil.Prettify(s) } @@ -7749,72 +9829,44 @@ func (s Change) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Change) GoString() string { +func (s CreateChangeSetOutput) GoString() string { return s.String() } -// SetHookInvocationCount sets the HookInvocationCount field's value. -func (s *Change) SetHookInvocationCount(v int64) *Change { - s.HookInvocationCount = &v - return s -} - -// SetResourceChange sets the ResourceChange field's value. -func (s *Change) SetResourceChange(v *ResourceChange) *Change { - s.ResourceChange = v +// SetId sets the Id field's value. +func (s *CreateChangeSetOutput) SetId(v string) *CreateChangeSetOutput { + s.Id = &v return s } -// SetType sets the Type field's value. -func (s *Change) SetType(v string) *Change { - s.Type = &v +// SetStackId sets the StackId field's value. +func (s *CreateChangeSetOutput) SetStackId(v string) *CreateChangeSetOutput { + s.StackId = &v return s } -// Specifies the resource, the hook, and the hook version to be invoked. -type ChangeSetHook struct { +type CreateGeneratedTemplateInput struct { _ struct{} `type:"structure"` - // Specify the hook failure mode for non-compliant resources in the followings - // ways. - // - // * FAIL Stops provisioning resources. + // The name assigned to the generated template. // - // * WARN Allows provisioning to continue with a warning message. - FailureMode *string `type:"string" enum:"HookFailureMode"` - - // Specifies the points in provisioning logic where a hook is invoked. - InvocationPoint *string `type:"string" enum:"HookInvocationPoint"` - - // Specifies details about the target that the hook will run against. - TargetDetails *ChangeSetHookTargetDetails `type:"structure"` + // GeneratedTemplateName is a required field + GeneratedTemplateName *string `min:"1" type:"string" required:"true"` - // The version ID of the type configuration. - TypeConfigurationVersionId *string `min:"1" type:"string"` - - // The unique name for your hook. Specifies a three-part namespace for your - // hook, with a recommended pattern of Organization::Service::Hook. - // - // The following organization namespaces are reserved and can't be used in your - // hook type names: - // - // * Alexa - // - // * AMZN + // An optional list of resources to be included in the generated template. // - // * Amazon - // - // * ASK - // - // * AWS - // - // * Custom - // - // * Dev - TypeName *string `min:"10" type:"string"` + // If no resources are specified,the template will be created without any resources. + // Resources can be added to the template using the UpdateGeneratedTemplate + // API action. + Resources []*ResourceDefinition `min:"1" type:"list"` - // The version ID of the type specified. - TypeVersionId *string `min:"1" type:"string"` + // An optional name or ARN of a stack to use as the base stack for the generated + // template. + StackName *string `type:"string"` + + // The configuration details of the generated template, including the DeletionPolicy + // and UpdateReplacePolicy. + TemplateConfiguration *TemplateConfiguration `type:"structure"` } // String returns the string representation. @@ -7822,7 +9874,7 @@ type ChangeSetHook struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ChangeSetHook) String() string { +func (s CreateGeneratedTemplateInput) String() string { return awsutil.Prettify(s) } @@ -7831,58 +9883,68 @@ func (s ChangeSetHook) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ChangeSetHook) GoString() string { +func (s CreateGeneratedTemplateInput) GoString() string { return s.String() } -// SetFailureMode sets the FailureMode field's value. -func (s *ChangeSetHook) SetFailureMode(v string) *ChangeSetHook { - s.FailureMode = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateGeneratedTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateGeneratedTemplateInput"} + if s.GeneratedTemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("GeneratedTemplateName")) + } + if s.GeneratedTemplateName != nil && len(*s.GeneratedTemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GeneratedTemplateName", 1)) + } + if s.Resources != nil && len(s.Resources) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Resources", 1)) + } + if s.Resources != nil { + for i, v := range s.Resources { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Resources", i), err.(request.ErrInvalidParams)) + } + } + } -// SetInvocationPoint sets the InvocationPoint field's value. -func (s *ChangeSetHook) SetInvocationPoint(v string) *ChangeSetHook { - s.InvocationPoint = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetTargetDetails sets the TargetDetails field's value. -func (s *ChangeSetHook) SetTargetDetails(v *ChangeSetHookTargetDetails) *ChangeSetHook { - s.TargetDetails = v +// SetGeneratedTemplateName sets the GeneratedTemplateName field's value. +func (s *CreateGeneratedTemplateInput) SetGeneratedTemplateName(v string) *CreateGeneratedTemplateInput { + s.GeneratedTemplateName = &v return s } -// SetTypeConfigurationVersionId sets the TypeConfigurationVersionId field's value. -func (s *ChangeSetHook) SetTypeConfigurationVersionId(v string) *ChangeSetHook { - s.TypeConfigurationVersionId = &v +// SetResources sets the Resources field's value. +func (s *CreateGeneratedTemplateInput) SetResources(v []*ResourceDefinition) *CreateGeneratedTemplateInput { + s.Resources = v return s } -// SetTypeName sets the TypeName field's value. -func (s *ChangeSetHook) SetTypeName(v string) *ChangeSetHook { - s.TypeName = &v +// SetStackName sets the StackName field's value. +func (s *CreateGeneratedTemplateInput) SetStackName(v string) *CreateGeneratedTemplateInput { + s.StackName = &v return s } -// SetTypeVersionId sets the TypeVersionId field's value. -func (s *ChangeSetHook) SetTypeVersionId(v string) *ChangeSetHook { - s.TypeVersionId = &v +// SetTemplateConfiguration sets the TemplateConfiguration field's value. +func (s *CreateGeneratedTemplateInput) SetTemplateConfiguration(v *TemplateConfiguration) *CreateGeneratedTemplateInput { + s.TemplateConfiguration = v return s } -// Specifies RESOURCE type target details for activated hooks. -type ChangeSetHookResourceTargetDetails struct { +type CreateGeneratedTemplateOutput struct { _ struct{} `type:"structure"` - // The resource's logical ID, which is defined in the stack's template. - LogicalResourceId *string `type:"string"` - - // Specifies the action of the resource. - ResourceAction *string `type:"string" enum:"ChangeAction"` - - // The type of CloudFormation resource, such as AWS::S3::Bucket. - ResourceType *string `min:"1" type:"string"` + // The ID of the generated template. + GeneratedTemplateId *string `min:"1" type:"string"` } // String returns the string representation. @@ -7890,7 +9952,7 @@ type ChangeSetHookResourceTargetDetails struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ChangeSetHookResourceTargetDetails) String() string { +func (s CreateGeneratedTemplateOutput) String() string { return awsutil.Prettify(s) } @@ -7899,37 +9961,209 @@ func (s ChangeSetHookResourceTargetDetails) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ChangeSetHookResourceTargetDetails) GoString() string { +func (s CreateGeneratedTemplateOutput) GoString() string { return s.String() } -// SetLogicalResourceId sets the LogicalResourceId field's value. -func (s *ChangeSetHookResourceTargetDetails) SetLogicalResourceId(v string) *ChangeSetHookResourceTargetDetails { - s.LogicalResourceId = &v +// SetGeneratedTemplateId sets the GeneratedTemplateId field's value. +func (s *CreateGeneratedTemplateOutput) SetGeneratedTemplateId(v string) *CreateGeneratedTemplateOutput { + s.GeneratedTemplateId = &v return s } -// SetResourceAction sets the ResourceAction field's value. -func (s *ChangeSetHookResourceTargetDetails) SetResourceAction(v string) *ChangeSetHookResourceTargetDetails { - s.ResourceAction = &v - return s -} +// The input for CreateStack action. +type CreateStackInput struct { + _ struct{} `type:"structure"` -// SetResourceType sets the ResourceType field's value. -func (s *ChangeSetHookResourceTargetDetails) SetResourceType(v string) *ChangeSetHookResourceTargetDetails { - s.ResourceType = &v - return s -} + // In some cases, you must explicitly acknowledge that your stack template contains + // certain capabilities in order for CloudFormation to create the stack. + // + // * CAPABILITY_IAM and CAPABILITY_NAMED_IAM Some stack templates might include + // resources that can affect permissions in your Amazon Web Services account; + // for example, by creating new Identity and Access Management (IAM) users. + // For those stacks, you must explicitly acknowledge this by specifying one + // of these capabilities. The following IAM resources require you to specify + // either the CAPABILITY_IAM or CAPABILITY_NAMED_IAM capability. If you have + // IAM resources, you can specify either capability. If you have IAM resources + // with custom names, you must specify CAPABILITY_NAMED_IAM. If you don't + // specify either of these capabilities, CloudFormation returns an InsufficientCapabilities + // error. If your stack template contains these resources, we recommend that + // you review all permissions associated with them and edit their permissions + // if necessary. AWS::IAM::AccessKey (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html) + // AWS::IAM::Group (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html) + // AWS::IAM::InstanceProfile (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html) + // AWS::IAM::Policy (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html) + // AWS::IAM::Role (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html) + // AWS::IAM::User (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html) + // AWS::IAM::UserToGroupAddition (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html) + // For more information, see Acknowledging IAM Resources in CloudFormation + // Templates (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities). + // + // * CAPABILITY_AUTO_EXPAND Some template contain macros. Macros perform + // custom processing on templates; this can include simple actions like find-and-replace + // operations, all the way to extensive transformations of entire templates. + // Because of this, users typically create a change set from the processed + // template, so that they can review the changes resulting from the macros + // before actually creating the stack. If your stack template contains one + // or more macros, and you choose to create a stack directly from the processed + // template, without first reviewing the resulting changes in a change set, + // you must acknowledge this capability. This includes the AWS::Include (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html) + // and AWS::Serverless (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-aws-serverless.html) + // transforms, which are macros hosted by CloudFormation. If you want to + // create a stack from a stack template that contains macros and nested stacks, + // you must create the stack directly from the template using this capability. + // You should only create stacks directly from a stack template that contains + // macros if you know what processing the macro performs. Each macro relies + // on an underlying Lambda service function for processing stack templates. + // Be aware that the Lambda function owner can update the function operation + // without CloudFormation being notified. For more information, see Using + // CloudFormation macros to perform custom processing on templates (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros.html). + // + // Only one of the Capabilities and ResourceType parameters can be specified. + Capabilities []*string `type:"list" enum:"Capability"` -// Specifies target details for an activated hook. -type ChangeSetHookTargetDetails struct { - _ struct{} `type:"structure"` + // A unique identifier for this CreateStack request. Specify this token if you + // plan to retry requests so that CloudFormation knows that you're not attempting + // to create a stack with the same name. You might retry CreateStack requests + // to ensure that CloudFormation successfully received them. + // + // All events initiated by a given stack operation are assigned the same client + // request token, which you can use to track operations. For example, if you + // execute a CreateStack operation with the token token1, then all the StackEvents + // generated by that operation will have ClientRequestToken set as token1. + // + // In the console, stack operations display the client request token on the + // Events tab. Stack operations that are initiated from the console use the + // token format Console-StackOperation-ID, which helps you easily identify the + // stack operation . For example, if you create a stack using the console, each + // stack event would be assigned the same token in the following format: Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002. + ClientRequestToken *string `min:"1" type:"string"` - // Required if TargetType is RESOURCE. - ResourceTargetDetails *ChangeSetHookResourceTargetDetails `type:"structure"` + // Set to true to disable rollback of the stack if stack creation failed. You + // can specify either DisableRollback or OnFailure, but not both. + // + // Default: false + DisableRollback *bool `type:"boolean"` - // The name of the type. - TargetType *string `type:"string" enum:"HookTargetType"` + // Whether to enable termination protection on the specified stack. If a user + // attempts to delete a stack with termination protection enabled, the operation + // fails and the stack remains unchanged. For more information, see Protecting + // a Stack From Being Deleted (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-protect-stacks.html) + // in the CloudFormation User Guide. Termination protection is deactivated on + // stacks by default. + // + // For nested stacks (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html), + // termination protection is set on the root stack and can't be changed directly + // on the nested stack. + EnableTerminationProtection *bool `type:"boolean"` + + // The Amazon Simple Notification Service (Amazon SNS) topic ARNs to publish + // stack related events. You can find your Amazon SNS topic ARNs using the Amazon + // SNS console or your Command Line Interface (CLI). + NotificationARNs []*string `type:"list"` + + // Determines what action will be taken if stack creation fails. This must be + // one of: DO_NOTHING, ROLLBACK, or DELETE. You can specify either OnFailure + // or DisableRollback, but not both. + // + // Default: ROLLBACK + OnFailure *string `type:"string" enum:"OnFailure"` + + // A list of Parameter structures that specify input parameters for the stack. + // For more information, see the Parameter (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Parameter.html) + // data type. + Parameters []*Parameter `type:"list"` + + // The template resource types that you have permissions to work with for this + // create stack action, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance. + // Use the following syntax to describe template resource types: AWS::* (for + // all Amazon Web Services resources), Custom::* (for all custom resources), + // Custom::logical_ID (for a specific custom resource), AWS::service_name::* + // (for all resources of a particular Amazon Web Services service), and AWS::service_name::resource_logical_ID + // (for a specific Amazon Web Services resource). + // + // If the list of resource types doesn't include a resource that you're creating, + // the stack creation fails. By default, CloudFormation grants permissions to + // all resource types. Identity and Access Management (IAM) uses this parameter + // for CloudFormation-specific condition keys in IAM policies. For more information, + // see Controlling Access with Identity and Access Management (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html). + // + // Only one of the Capabilities and ResourceType parameters can be specified. + ResourceTypes []*string `type:"list"` + + // When set to true, newly created resources are deleted when the operation + // rolls back. This includes newly created resources marked with a deletion + // policy of Retain. + // + // Default: false + RetainExceptOnCreate *bool `type:"boolean"` + + // The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) + // role that CloudFormation assumes to create the stack. CloudFormation uses + // the role's credentials to make calls on your behalf. CloudFormation always + // uses this role for all future operations on the stack. Provided that users + // have permission to operate on the stack, CloudFormation uses this role even + // if the users don't have permission to pass it. Ensure that the role grants + // least privilege. + // + // If you don't specify a value, CloudFormation uses the role that was previously + // associated with the stack. If no role is available, CloudFormation uses a + // temporary session that's generated from your user credentials. + RoleARN *string `min:"20" type:"string"` + + // The rollback triggers for CloudFormation to monitor during stack creation + // and updating operations, and for the specified monitoring period afterwards. + RollbackConfiguration *RollbackConfiguration `type:"structure"` + + // The name that's associated with the stack. The name must be unique in the + // Region in which you are creating the stack. + // + // A stack name can contain only alphanumeric characters (case sensitive) and + // hyphens. It must start with an alphabetical character and can't be longer + // than 128 characters. + // + // StackName is a required field + StackName *string `type:"string" required:"true"` + + // Structure containing the stack policy body. For more information, go to Prevent + // Updates to Stack Resources (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html) + // in the CloudFormation User Guide. You can specify either the StackPolicyBody + // or the StackPolicyURL parameter, but not both. + StackPolicyBody *string `min:"1" type:"string"` + + // Location of a file containing the stack policy. The URL must point to a policy + // (maximum size: 16 KB) located in an S3 bucket in the same Region as the stack. + // You can specify either the StackPolicyBody or the StackPolicyURL parameter, + // but not both. + StackPolicyURL *string `min:"1" type:"string"` + + // Key-value pairs to associate with this stack. CloudFormation also propagates + // these tags to the resources created in the stack. A maximum number of 50 + // tags can be specified. + Tags []*Tag `type:"list"` + + // Structure containing the template body with a minimum length of 1 byte and + // a maximum length of 51,200 bytes. For more information, go to Template anatomy + // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) + // in the CloudFormation User Guide. + // + // Conditional: You must specify either the TemplateBody or the TemplateURL + // parameter, but not both. + TemplateBody *string `min:"1" type:"string"` + + // Location of file containing the template body. The URL must point to a template + // (max size: 460,800 bytes) that's located in an Amazon S3 bucket or a Systems + // Manager document. For more information, go to the Template anatomy (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) + // in the CloudFormation User Guide. + // + // Conditional: You must specify either the TemplateBody or the TemplateURL + // parameter, but not both. + TemplateURL *string `min:"1" type:"string"` + + // The amount of time that can pass before the stack status becomes CREATE_FAILED; + // if DisableRollback is not set or is set to false, the stack will be rolled + // back. + TimeoutInMinutes *int64 `min:"1" type:"integer"` } // String returns the string representation. @@ -7937,7 +10171,7 @@ type ChangeSetHookTargetDetails struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ChangeSetHookTargetDetails) String() string { +func (s CreateStackInput) String() string { return awsutil.Prettify(s) } @@ -7946,235 +10180,254 @@ func (s ChangeSetHookTargetDetails) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ChangeSetHookTargetDetails) GoString() string { +func (s CreateStackInput) GoString() string { return s.String() } -// SetResourceTargetDetails sets the ResourceTargetDetails field's value. -func (s *ChangeSetHookTargetDetails) SetResourceTargetDetails(v *ChangeSetHookResourceTargetDetails) *ChangeSetHookTargetDetails { - s.ResourceTargetDetails = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateStackInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateStackInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.RoleARN != nil && len(*s.RoleARN) < 20 { + invalidParams.Add(request.NewErrParamMinLen("RoleARN", 20)) + } + if s.StackName == nil { + invalidParams.Add(request.NewErrParamRequired("StackName")) + } + if s.StackPolicyBody != nil && len(*s.StackPolicyBody) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StackPolicyBody", 1)) + } + if s.StackPolicyURL != nil && len(*s.StackPolicyURL) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StackPolicyURL", 1)) + } + if s.TemplateBody != nil && len(*s.TemplateBody) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1)) + } + if s.TemplateURL != nil && len(*s.TemplateURL) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateURL", 1)) + } + if s.TimeoutInMinutes != nil && *s.TimeoutInMinutes < 1 { + invalidParams.Add(request.NewErrParamMinValue("TimeoutInMinutes", 1)) + } + if s.RollbackConfiguration != nil { + if err := s.RollbackConfiguration.Validate(); err != nil { + invalidParams.AddNested("RollbackConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetTargetType sets the TargetType field's value. -func (s *ChangeSetHookTargetDetails) SetTargetType(v string) *ChangeSetHookTargetDetails { - s.TargetType = &v +// SetCapabilities sets the Capabilities field's value. +func (s *CreateStackInput) SetCapabilities(v []*string) *CreateStackInput { + s.Capabilities = v return s } -// The ChangeSetSummary structure describes a change set, its status, and the -// stack with which it's associated. -type ChangeSetSummary struct { - _ struct{} `type:"structure"` - - // The ID of the change set. - ChangeSetId *string `min:"1" type:"string"` - - // The name of the change set. - ChangeSetName *string `min:"1" type:"string"` - - // The start time when the change set was created, in UTC. - CreationTime *time.Time `type:"timestamp"` - - // Descriptive information about the change set. - Description *string `min:"1" type:"string"` - - // If the change set execution status is AVAILABLE, you can execute the change - // set. If you can't execute the change set, the status indicates why. For example, - // a change set might be in an UNAVAILABLE state because CloudFormation is still - // creating it or in an OBSOLETE state because the stack was already updated. - ExecutionStatus *string `type:"string" enum:"ExecutionStatus"` - - // Indicates if the change set imports resources that already exist. - ImportExistingResources *bool `type:"boolean"` - - // Specifies the current setting of IncludeNestedStacks for the change set. - IncludeNestedStacks *bool `type:"boolean"` - - // The parent change set ID. - ParentChangeSetId *string `min:"1" type:"string"` - - // The root change set ID. - RootChangeSetId *string `min:"1" type:"string"` - - // The ID of the stack with which the change set is associated. - StackId *string `type:"string"` - - // The name of the stack with which the change set is associated. - StackName *string `type:"string"` - - // The state of the change set, such as CREATE_IN_PROGRESS, CREATE_COMPLETE, - // or FAILED. - Status *string `type:"string" enum:"ChangeSetStatus"` +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreateStackInput) SetClientRequestToken(v string) *CreateStackInput { + s.ClientRequestToken = &v + return s +} - // A description of the change set's status. For example, if your change set - // is in the FAILED state, CloudFormation shows the error message. - StatusReason *string `type:"string"` +// SetDisableRollback sets the DisableRollback field's value. +func (s *CreateStackInput) SetDisableRollback(v bool) *CreateStackInput { + s.DisableRollback = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s ChangeSetSummary) String() string { - return awsutil.Prettify(s) +// SetEnableTerminationProtection sets the EnableTerminationProtection field's value. +func (s *CreateStackInput) SetEnableTerminationProtection(v bool) *CreateStackInput { + s.EnableTerminationProtection = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s ChangeSetSummary) GoString() string { - return s.String() +// SetNotificationARNs sets the NotificationARNs field's value. +func (s *CreateStackInput) SetNotificationARNs(v []*string) *CreateStackInput { + s.NotificationARNs = v + return s } -// SetChangeSetId sets the ChangeSetId field's value. -func (s *ChangeSetSummary) SetChangeSetId(v string) *ChangeSetSummary { - s.ChangeSetId = &v +// SetOnFailure sets the OnFailure field's value. +func (s *CreateStackInput) SetOnFailure(v string) *CreateStackInput { + s.OnFailure = &v return s } -// SetChangeSetName sets the ChangeSetName field's value. -func (s *ChangeSetSummary) SetChangeSetName(v string) *ChangeSetSummary { - s.ChangeSetName = &v +// SetParameters sets the Parameters field's value. +func (s *CreateStackInput) SetParameters(v []*Parameter) *CreateStackInput { + s.Parameters = v return s } -// SetCreationTime sets the CreationTime field's value. -func (s *ChangeSetSummary) SetCreationTime(v time.Time) *ChangeSetSummary { - s.CreationTime = &v +// SetResourceTypes sets the ResourceTypes field's value. +func (s *CreateStackInput) SetResourceTypes(v []*string) *CreateStackInput { + s.ResourceTypes = v return s } -// SetDescription sets the Description field's value. -func (s *ChangeSetSummary) SetDescription(v string) *ChangeSetSummary { - s.Description = &v +// SetRetainExceptOnCreate sets the RetainExceptOnCreate field's value. +func (s *CreateStackInput) SetRetainExceptOnCreate(v bool) *CreateStackInput { + s.RetainExceptOnCreate = &v return s } -// SetExecutionStatus sets the ExecutionStatus field's value. -func (s *ChangeSetSummary) SetExecutionStatus(v string) *ChangeSetSummary { - s.ExecutionStatus = &v +// SetRoleARN sets the RoleARN field's value. +func (s *CreateStackInput) SetRoleARN(v string) *CreateStackInput { + s.RoleARN = &v return s } -// SetImportExistingResources sets the ImportExistingResources field's value. -func (s *ChangeSetSummary) SetImportExistingResources(v bool) *ChangeSetSummary { - s.ImportExistingResources = &v +// SetRollbackConfiguration sets the RollbackConfiguration field's value. +func (s *CreateStackInput) SetRollbackConfiguration(v *RollbackConfiguration) *CreateStackInput { + s.RollbackConfiguration = v return s } -// SetIncludeNestedStacks sets the IncludeNestedStacks field's value. -func (s *ChangeSetSummary) SetIncludeNestedStacks(v bool) *ChangeSetSummary { - s.IncludeNestedStacks = &v +// SetStackName sets the StackName field's value. +func (s *CreateStackInput) SetStackName(v string) *CreateStackInput { + s.StackName = &v return s } -// SetParentChangeSetId sets the ParentChangeSetId field's value. -func (s *ChangeSetSummary) SetParentChangeSetId(v string) *ChangeSetSummary { - s.ParentChangeSetId = &v +// SetStackPolicyBody sets the StackPolicyBody field's value. +func (s *CreateStackInput) SetStackPolicyBody(v string) *CreateStackInput { + s.StackPolicyBody = &v return s } -// SetRootChangeSetId sets the RootChangeSetId field's value. -func (s *ChangeSetSummary) SetRootChangeSetId(v string) *ChangeSetSummary { - s.RootChangeSetId = &v +// SetStackPolicyURL sets the StackPolicyURL field's value. +func (s *CreateStackInput) SetStackPolicyURL(v string) *CreateStackInput { + s.StackPolicyURL = &v return s } -// SetStackId sets the StackId field's value. -func (s *ChangeSetSummary) SetStackId(v string) *ChangeSetSummary { - s.StackId = &v +// SetTags sets the Tags field's value. +func (s *CreateStackInput) SetTags(v []*Tag) *CreateStackInput { + s.Tags = v return s } -// SetStackName sets the StackName field's value. -func (s *ChangeSetSummary) SetStackName(v string) *ChangeSetSummary { - s.StackName = &v +// SetTemplateBody sets the TemplateBody field's value. +func (s *CreateStackInput) SetTemplateBody(v string) *CreateStackInput { + s.TemplateBody = &v return s } -// SetStatus sets the Status field's value. -func (s *ChangeSetSummary) SetStatus(v string) *ChangeSetSummary { - s.Status = &v +// SetTemplateURL sets the TemplateURL field's value. +func (s *CreateStackInput) SetTemplateURL(v string) *CreateStackInput { + s.TemplateURL = &v return s } -// SetStatusReason sets the StatusReason field's value. -func (s *ChangeSetSummary) SetStatusReason(v string) *ChangeSetSummary { - s.StatusReason = &v +// SetTimeoutInMinutes sets the TimeoutInMinutes field's value. +func (s *CreateStackInput) SetTimeoutInMinutes(v int64) *CreateStackInput { + s.TimeoutInMinutes = &v return s } -// The input for the ContinueUpdateRollback action. -type ContinueUpdateRollbackInput struct { +type CreateStackInstancesInput struct { _ struct{} `type:"structure"` - // A unique identifier for this ContinueUpdateRollback request. Specify this - // token if you plan to retry requests so that CloudFormation knows that you're - // not attempting to continue the rollback to a stack with the same name. You - // might retry ContinueUpdateRollback requests to ensure that CloudFormation - // successfully received them. - ClientRequestToken *string `min:"1" type:"string"` + // [Self-managed permissions] The names of one or more Amazon Web Services accounts + // that you want to create stack instances in the specified Region(s) for. + // + // You can specify Accounts or DeploymentTargets, but not both. + Accounts []*string `type:"list"` + + // [Service-managed permissions] Specifies whether you are acting as an account + // administrator in the organization's management account or as a delegated + // administrator in a member account. + // + // By default, SELF is specified. Use SELF for stack sets with self-managed + // permissions. + // + // * If you are signed in to the management account, specify SELF. + // + // * If you are signed in to a delegated administrator account, specify DELEGATED_ADMIN. + // Your Amazon Web Services account must be registered as a delegated administrator + // in the management account. For more information, see Register a delegated + // administrator (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html) + // in the CloudFormation User Guide. + CallAs *string `type:"string" enum:"CallAs"` + + // [Service-managed permissions] The Organizations accounts for which to create + // stack instances in the specified Amazon Web Services Regions. + // + // You can specify Accounts or DeploymentTargets, but not both. + DeploymentTargets *DeploymentTargets `type:"structure"` + + // The unique identifier for this stack set operation. + // + // The operation ID also functions as an idempotency token, to ensure that CloudFormation + // performs the stack set operation only once, even if you retry the request + // multiple times. You might retry stack set operation requests to ensure that + // CloudFormation successfully received them. + // + // If you don't specify an operation ID, the SDK generates one automatically. + // + // Repeating this stack set operation with a new operation ID retries all stack + // instances whose status is OUTDATED. + OperationId *string `min:"1" type:"string" idempotencyToken:"true"` + + // Preferences for how CloudFormation performs this stack set operation. + OperationPreferences *StackSetOperationPreferences `type:"structure"` - // A list of the logical IDs of the resources that CloudFormation skips during - // the continue update rollback operation. You can specify only resources that - // are in the UPDATE_FAILED state because a rollback failed. You can't specify - // resources that are in the UPDATE_FAILED state for other reasons, for example, - // because an update was canceled. To check why a resource update failed, use - // the DescribeStackResources action, and view the resource status reason. + // A list of stack set parameters whose values you want to override in the selected + // stack instances. // - // Specify this property to skip rolling back resources that CloudFormation - // can't successfully roll back. We recommend that you troubleshoot (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-update-rollback-failed) - // resources before skipping them. CloudFormation sets the status of the specified - // resources to UPDATE_COMPLETE and continues to roll back the stack. After - // the rollback is complete, the state of the skipped resources will be inconsistent - // with the state of the resources in the stack template. Before performing - // another stack update, you must update the stack or resources to be consistent - // with each other. If you don't, subsequent stack updates might fail, and the - // stack will become unrecoverable. + // Any overridden parameter values will be applied to all stack instances in + // the specified accounts and Amazon Web Services Regions. When specifying parameters + // and their values, be aware of how CloudFormation sets parameter values during + // stack instance operations: // - // Specify the minimum number of resources required to successfully roll back - // your stack. For example, a failed resource update might cause dependent resources - // to fail. In this case, it might not be necessary to skip the dependent resources. + // * To override the current value for a parameter, include the parameter + // and specify its value. // - // To skip resources that are part of nested stacks, use the following format: - // NestedStackName.ResourceLogicalID. If you want to specify the logical ID - // of a stack resource (Type: AWS::CloudFormation::Stack) in the ResourcesToSkip - // list, then its corresponding embedded stack must be in one of the following - // states: DELETE_IN_PROGRESS, DELETE_COMPLETE, or DELETE_FAILED. + // * To leave an overridden parameter set to its present value, include the + // parameter and specify UsePreviousValue as true. (You can't specify both + // a value and set UsePreviousValue to true.) // - // Don't confuse a child stack's name with its corresponding logical ID defined - // in the parent stack. For an example of a continue update rollback operation - // with nested stacks, see Using ResourcesToSkip to recover a nested stacks - // hierarchy (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-continueupdaterollback.html#nested-stacks). - ResourcesToSkip []*string `type:"list"` - - // The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) - // role that CloudFormation assumes to roll back the stack. CloudFormation uses - // the role's credentials to make calls on your behalf. CloudFormation always - // uses this role for all future operations on the stack. Provided that users - // have permission to operate on the stack, CloudFormation uses this role even - // if the users don't have permission to pass it. Ensure that the role grants - // least permission. + // * To set an overridden parameter back to the value specified in the stack + // set, specify a parameter list but don't include the parameter in the list. // - // If you don't specify a value, CloudFormation uses the role that was previously - // associated with the stack. If no role is available, CloudFormation uses a - // temporary session that's generated from your user credentials. - RoleARN *string `min:"20" type:"string"` + // * To leave all parameters set to their present values, don't specify this + // property at all. + // + // During stack set updates, any parameter values overridden for a stack instance + // aren't updated, but retain their overridden value. + // + // You can only override the parameter values that are specified in the stack + // set; to add or delete a parameter itself, use UpdateStackSet (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html) + // to update the stack set template. + ParameterOverrides []*Parameter `type:"list"` - // The name or the unique ID of the stack that you want to continue rolling - // back. + // The names of one or more Amazon Web Services Regions where you want to create + // stack instances using the specified Amazon Web Services accounts. // - // Don't specify the name of a nested stack (a stack that was created by using - // the AWS::CloudFormation::Stack resource). Instead, use this operation on - // the parent stack (the stack that contains the AWS::CloudFormation::Stack - // resource). + // Regions is a required field + Regions []*string `type:"list" required:"true"` + + // The name or unique ID of the stack set that you want to create stack instances + // from. // - // StackName is a required field - StackName *string `min:"1" type:"string" required:"true"` + // StackSetName is a required field + StackSetName *string `type:"string" required:"true"` } // String returns the string representation. @@ -8182,7 +10435,7 @@ type ContinueUpdateRollbackInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ContinueUpdateRollbackInput) String() string { +func (s CreateStackInstancesInput) String() string { return awsutil.Prettify(s) } @@ -8191,24 +10444,31 @@ func (s ContinueUpdateRollbackInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ContinueUpdateRollbackInput) GoString() string { +func (s CreateStackInstancesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ContinueUpdateRollbackInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ContinueUpdateRollbackInput"} - if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) +func (s *CreateStackInstancesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateStackInstancesInput"} + if s.OperationId != nil && len(*s.OperationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OperationId", 1)) } - if s.RoleARN != nil && len(*s.RoleARN) < 20 { - invalidParams.Add(request.NewErrParamMinLen("RoleARN", 20)) + if s.Regions == nil { + invalidParams.Add(request.NewErrParamRequired("Regions")) } - if s.StackName == nil { - invalidParams.Add(request.NewErrParamRequired("StackName")) + if s.StackSetName == nil { + invalidParams.Add(request.NewErrParamRequired("StackSetName")) } - if s.StackName != nil && len(*s.StackName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("StackName", 1)) + if s.DeploymentTargets != nil { + if err := s.DeploymentTargets.Validate(); err != nil { + invalidParams.AddNested("DeploymentTargets", err.(request.ErrInvalidParams)) + } + } + if s.OperationPreferences != nil { + if err := s.OperationPreferences.Validate(); err != nil { + invalidParams.AddNested("OperationPreferences", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -8217,33 +10477,59 @@ func (s *ContinueUpdateRollbackInput) Validate() error { return nil } -// SetClientRequestToken sets the ClientRequestToken field's value. -func (s *ContinueUpdateRollbackInput) SetClientRequestToken(v string) *ContinueUpdateRollbackInput { - s.ClientRequestToken = &v +// SetAccounts sets the Accounts field's value. +func (s *CreateStackInstancesInput) SetAccounts(v []*string) *CreateStackInstancesInput { + s.Accounts = v return s } -// SetResourcesToSkip sets the ResourcesToSkip field's value. -func (s *ContinueUpdateRollbackInput) SetResourcesToSkip(v []*string) *ContinueUpdateRollbackInput { - s.ResourcesToSkip = v +// SetCallAs sets the CallAs field's value. +func (s *CreateStackInstancesInput) SetCallAs(v string) *CreateStackInstancesInput { + s.CallAs = &v return s } -// SetRoleARN sets the RoleARN field's value. -func (s *ContinueUpdateRollbackInput) SetRoleARN(v string) *ContinueUpdateRollbackInput { - s.RoleARN = &v +// SetDeploymentTargets sets the DeploymentTargets field's value. +func (s *CreateStackInstancesInput) SetDeploymentTargets(v *DeploymentTargets) *CreateStackInstancesInput { + s.DeploymentTargets = v return s } -// SetStackName sets the StackName field's value. -func (s *ContinueUpdateRollbackInput) SetStackName(v string) *ContinueUpdateRollbackInput { - s.StackName = &v +// SetOperationId sets the OperationId field's value. +func (s *CreateStackInstancesInput) SetOperationId(v string) *CreateStackInstancesInput { + s.OperationId = &v return s } -// The output for a ContinueUpdateRollback operation. -type ContinueUpdateRollbackOutput struct { +// SetOperationPreferences sets the OperationPreferences field's value. +func (s *CreateStackInstancesInput) SetOperationPreferences(v *StackSetOperationPreferences) *CreateStackInstancesInput { + s.OperationPreferences = v + return s +} + +// SetParameterOverrides sets the ParameterOverrides field's value. +func (s *CreateStackInstancesInput) SetParameterOverrides(v []*Parameter) *CreateStackInstancesInput { + s.ParameterOverrides = v + return s +} + +// SetRegions sets the Regions field's value. +func (s *CreateStackInstancesInput) SetRegions(v []*string) *CreateStackInstancesInput { + s.Regions = v + return s +} + +// SetStackSetName sets the StackSetName field's value. +func (s *CreateStackInstancesInput) SetStackSetName(v string) *CreateStackInstancesInput { + s.StackSetName = &v + return s +} + +type CreateStackInstancesOutput struct { _ struct{} `type:"structure"` + + // The unique identifier for this stack set operation. + OperationId *string `min:"1" type:"string"` } // String returns the string representation. @@ -8251,7 +10537,7 @@ type ContinueUpdateRollbackOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ContinueUpdateRollbackOutput) String() string { +func (s CreateStackInstancesOutput) String() string { return awsutil.Prettify(s) } @@ -8260,206 +10546,207 @@ func (s ContinueUpdateRollbackOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ContinueUpdateRollbackOutput) GoString() string { +func (s CreateStackInstancesOutput) GoString() string { return s.String() } -// The input for the CreateChangeSet action. -type CreateChangeSetInput struct { +// SetOperationId sets the OperationId field's value. +func (s *CreateStackInstancesOutput) SetOperationId(v string) *CreateStackInstancesOutput { + s.OperationId = &v + return s +} + +// The output for a CreateStack action. +type CreateStackOutput struct { + _ struct{} `type:"structure"` + + // Unique identifier of the stack. + StackId *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateStackOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateStackOutput) GoString() string { + return s.String() +} + +// SetStackId sets the StackId field's value. +func (s *CreateStackOutput) SetStackId(v string) *CreateStackOutput { + s.StackId = &v + return s +} + +type CreateStackSetInput struct { _ struct{} `type:"structure"` - // In some cases, you must explicitly acknowledge that your stack template contains - // certain capabilities in order for CloudFormation to create the stack. + // The Amazon Resource Name (ARN) of the IAM role to use to create this stack + // set. + // + // Specify an IAM role only if you are using customized administrator roles + // to control which users or groups can manage specific stack sets within the + // same administrator account. For more information, see Prerequisites: Granting + // Permissions for Stack Set Operations (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html) + // in the CloudFormation User Guide. + AdministrationRoleARN *string `min:"20" type:"string"` + + // Describes whether StackSets automatically deploys to Organizations accounts + // that are added to the target organization or organizational unit (OU). Specify + // only if PermissionModel is SERVICE_MANAGED. + AutoDeployment *AutoDeployment `type:"structure"` + + // [Service-managed permissions] Specifies whether you are acting as an account + // administrator in the organization's management account or as a delegated + // administrator in a member account. + // + // By default, SELF is specified. Use SELF for stack sets with self-managed + // permissions. + // + // * To create a stack set with service-managed permissions while signed + // in to the management account, specify SELF. + // + // * To create a stack set with service-managed permissions while signed + // in to a delegated administrator account, specify DELEGATED_ADMIN. Your + // Amazon Web Services account must be registered as a delegated admin in + // the management account. For more information, see Register a delegated + // administrator (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html) + // in the CloudFormation User Guide. + // + // Stack sets with service-managed permissions are created in the management + // account, including stack sets that are created by delegated administrators. + CallAs *string `type:"string" enum:"CallAs"` + + // In some cases, you must explicitly acknowledge that your stack set template + // contains certain capabilities in order for CloudFormation to create the stack + // set and related stack instances. // // * CAPABILITY_IAM and CAPABILITY_NAMED_IAM Some stack templates might include // resources that can affect permissions in your Amazon Web Services account; // for example, by creating new Identity and Access Management (IAM) users. - // For those stacks, you must explicitly acknowledge this by specifying one - // of these capabilities. The following IAM resources require you to specify - // either the CAPABILITY_IAM or CAPABILITY_NAMED_IAM capability. If you have - // IAM resources, you can specify either capability. If you have IAM resources - // with custom names, you must specify CAPABILITY_NAMED_IAM. If you don't - // specify either of these capabilities, CloudFormation returns an InsufficientCapabilities - // error. If your stack template contains these resources, we suggest that - // you review all permissions associated with them and edit their permissions - // if necessary. AWS::IAM::AccessKey (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html) + // For those stack sets, you must explicitly acknowledge this by specifying + // one of these capabilities. The following IAM resources require you to + // specify either the CAPABILITY_IAM or CAPABILITY_NAMED_IAM capability. + // If you have IAM resources, you can specify either capability. If you have + // IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM. + // If you don't specify either of these capabilities, CloudFormation returns + // an InsufficientCapabilities error. If your stack template contains these + // resources, we recommend that you review all permissions associated with + // them and edit their permissions if necessary. AWS::IAM::AccessKey (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html) // AWS::IAM::Group (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html) // AWS::IAM::InstanceProfile (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html) // AWS::IAM::Policy (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html) // AWS::IAM::Role (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html) // AWS::IAM::User (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html) // AWS::IAM::UserToGroupAddition (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html) - // For more information, see Acknowledging IAM resources in CloudFormation - // templates (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities). + // For more information, see Acknowledging IAM Resources in CloudFormation + // Templates (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities). // - // * CAPABILITY_AUTO_EXPAND Some template contain macros. Macros perform - // custom processing on templates; this can include simple actions like find-and-replace - // operations, all the way to extensive transformations of entire templates. - // Because of this, users typically create a change set from the processed - // template, so that they can review the changes resulting from the macros - // before actually creating the stack. If your stack template contains one - // or more macros, and you choose to create a stack directly from the processed - // template, without first reviewing the resulting changes in a change set, - // you must acknowledge this capability. This includes the AWS::Include (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html) + // * CAPABILITY_AUTO_EXPAND Some templates reference macros. If your stack + // set template references one or more macros, you must create the stack + // set directly from the processed template, without first reviewing the + // resulting changes in a change set. To create the stack set directly, you + // must acknowledge this capability. For more information, see Using CloudFormation + // Macros to Perform Custom Processing on Templates (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros.html). + // Stack sets with service-managed permissions don't currently support the + // use of macros in templates. (This includes the AWS::Include (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html) // and AWS::Serverless (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-aws-serverless.html) - // transforms, which are macros hosted by CloudFormation. This capacity doesn't - // apply to creating change sets, and specifying it when creating change - // sets has no effect. If you want to create a stack from a stack template - // that contains macros and nested stacks, you must create or update the - // stack directly from the template using the CreateStack or UpdateStack - // action, and specifying this capability. For more information about macros, - // see Using CloudFormation macros to perform custom processing on templates - // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros.html). - // - // Only one of the Capabilities and ResourceType parameters can be specified. + // transforms, which are macros hosted by CloudFormation.) Even if you specify + // this capability for a stack set with service-managed permissions, if you + // reference a macro in your template the stack set operation will fail. Capabilities []*string `type:"list" enum:"Capability"` - // The name of the change set. The name must be unique among all change sets - // that are associated with the specified stack. - // - // A change set name can contain only alphanumeric, case sensitive characters, - // and hyphens. It must start with an alphabetical character and can't exceed - // 128 characters. - // - // ChangeSetName is a required field - ChangeSetName *string `min:"1" type:"string" required:"true"` - - // The type of change set operation. To create a change set for a new stack, - // specify CREATE. To create a change set for an existing stack, specify UPDATE. - // To create a change set for an import operation, specify IMPORT. - // - // If you create a change set for a new stack, CloudFormation creates a stack - // with a unique stack ID, but no template or resources. The stack will be in - // the REVIEW_IN_PROGRESS (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-describing-stacks.html#d0e11995) - // state until you execute the change set. + // A unique identifier for this CreateStackSet request. Specify this token if + // you plan to retry requests so that CloudFormation knows that you're not attempting + // to create another stack set with the same name. You might retry CreateStackSet + // requests to ensure that CloudFormation successfully received them. // - // By default, CloudFormation specifies UPDATE. You can't use the UPDATE type - // to create a change set for a new stack or the CREATE type to create a change - // set for an existing stack. - ChangeSetType *string `type:"string" enum:"ChangeSetType"` - - // A unique identifier for this CreateChangeSet request. Specify this token - // if you plan to retry requests so that CloudFormation knows that you're not - // attempting to create another change set with the same name. You might retry - // CreateChangeSet requests to ensure that CloudFormation successfully received - // them. - ClientToken *string `min:"1" type:"string"` + // If you don't specify an operation ID, the SDK generates one automatically. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` - // A description to help you identify this change set. + // A description of the stack set. You can use the description to identify the + // stack set's purpose or other important information. Description *string `min:"1" type:"string"` - // Indicates if the change set imports resources that already exist. + // The name of the IAM execution role to use to create the stack set. If you + // do not specify an execution role, CloudFormation uses the AWSCloudFormationStackSetExecutionRole + // role for the stack set operation. // - // This parameter can only import resources that have custom names in templates. - // For more information, see name type (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) - // in the CloudFormation User Guide. To import resources that do not accept - // custom names, such as EC2 instances, use the resource import feature instead. - // For more information, see Bringing existing resources into CloudFormation - // management (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resource-import.html) - // in the CloudFormation User Guide. - ImportExistingResources *bool `type:"boolean"` - - // Creates a change set for the all nested stacks specified in the template. - // The default behavior of this action is set to False. To include nested sets - // in a change set, specify True. - IncludeNestedStacks *bool `type:"boolean"` - - // The Amazon Resource Names (ARNs) of Amazon Simple Notification Service (Amazon - // SNS) topics that CloudFormation associates with the stack. To remove all - // associated notification topics, specify an empty list. - NotificationARNs []*string `type:"list"` + // Specify an IAM role only if you are using customized execution roles to control + // which stack resources users and groups can include in their stack sets. + ExecutionRoleName *string `min:"1" type:"string"` - // Determines what action will be taken if stack creation fails. If this parameter - // is specified, the DisableRollback parameter to the ExecuteChangeSet (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ExecuteChangeSet.html) - // API operation must not be specified. This must be one of these values: - // - // * DELETE - Deletes the change set if the stack creation fails. This is - // only valid when the ChangeSetType parameter is set to CREATE. If the deletion - // of the stack fails, the status of the stack is DELETE_FAILED. - // - // * DO_NOTHING - if the stack creation fails, do nothing. This is equivalent - // to specifying true for the DisableRollback parameter to the ExecuteChangeSet - // (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ExecuteChangeSet.html) - // API operation. - // - // * ROLLBACK - if the stack creation fails, roll back the stack. This is - // equivalent to specifying false for the DisableRollback parameter to the - // ExecuteChangeSet (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ExecuteChangeSet.html) - // API operation. - // - // For nested stacks, when the OnStackFailure parameter is set to DELETE for - // the change set for the parent stack, any failure in a child stack will cause - // the parent stack creation to fail and all stacks to be deleted. - OnStackFailure *string `type:"string" enum:"OnStackFailure"` + // Describes whether StackSets performs non-conflicting operations concurrently + // and queues conflicting operations. + ManagedExecution *ManagedExecution `type:"structure"` - // A list of Parameter structures that specify input parameters for the change - // set. For more information, see the Parameter data type. + // The input parameters for the stack set template. Parameters []*Parameter `type:"list"` - // The template resource types that you have permissions to work with if you - // execute this change set, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance. + // Describes how the IAM roles required for stack set operations are created. + // By default, SELF-MANAGED is specified. // - // If the list of resource types doesn't include a resource type that you're - // updating, the stack update fails. By default, CloudFormation grants permissions - // to all resource types. Identity and Access Management (IAM) uses this parameter - // for condition keys in IAM policies for CloudFormation. For more information, - // see Controlling access with Identity and Access Management (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html) - // in the CloudFormation User Guide. + // * With self-managed permissions, you must create the administrator and + // execution roles required to deploy to target accounts. For more information, + // see Grant Self-Managed Stack Set Permissions (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html). // - // Only one of the Capabilities and ResourceType parameters can be specified. - ResourceTypes []*string `type:"list"` + // * With service-managed permissions, StackSets automatically creates the + // IAM roles required to deploy to accounts managed by Organizations. For + // more information, see Grant Service-Managed Stack Set Permissions (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-service-managed.html). + PermissionModel *string `type:"string" enum:"PermissionModels"` - // The resources to import into your stack. - ResourcesToImport []*ResourceToImport `type:"list"` + // The stack ID you are importing into a new stack set. Specify the Amazon Resource + // Name (ARN) of the stack. + StackId *string `type:"string"` - // The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) - // role that CloudFormation assumes when executing the change set. CloudFormation - // uses the role's credentials to make calls on your behalf. CloudFormation - // uses this role for all future operations on the stack. Provided that users - // have permission to operate on the stack, CloudFormation uses this role even - // if the users don't have permission to pass it. Ensure that the role grants - // least permission. + // The name to associate with the stack set. The name must be unique in the + // Region where you create your stack set. // - // If you don't specify a value, CloudFormation uses the role that was previously - // associated with the stack. If no role is available, CloudFormation uses a - // temporary session that is generated from your user credentials. - RoleARN *string `min:"20" type:"string"` - - // The rollback triggers for CloudFormation to monitor during stack creation - // and updating operations, and for the specified monitoring period afterwards. - RollbackConfiguration *RollbackConfiguration `type:"structure"` - - // The name or the unique ID of the stack for which you are creating a change - // set. CloudFormation generates the change set by comparing this stack's information - // with the information that you submit, such as a modified template or different - // parameter input values. + // A stack name can contain only alphanumeric characters (case-sensitive) and + // hyphens. It must start with an alphabetic character and can't be longer than + // 128 characters. // - // StackName is a required field - StackName *string `min:"1" type:"string" required:"true"` + // StackSetName is a required field + StackSetName *string `type:"string" required:"true"` - // Key-value pairs to associate with this stack. CloudFormation also propagates - // these tags to resources in the stack. You can specify a maximum of 50 tags. + // The key-value pairs to associate with this stack set and the stacks created + // from it. CloudFormation also propagates these tags to supported resources + // that are created in the stacks. A maximum number of 50 tags can be specified. + // + // If you specify tags as part of a CreateStackSet action, CloudFormation checks + // to see if you have the required IAM permission to tag resources. If you don't, + // the entire CreateStackSet action fails with an access denied error, and the + // stack set is not created. Tags []*Tag `type:"list"` - // A structure that contains the body of the revised template, with a minimum - // length of 1 byte and a maximum length of 51,200 bytes. CloudFormation generates - // the change set by comparing this template with the template of the stack - // that you specified. + // The structure that contains the template body, with a minimum length of 1 + // byte and a maximum length of 51,200 bytes. For more information, see Template + // Anatomy (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) + // in the CloudFormation User Guide. // - // Conditional: You must specify only TemplateBody or TemplateURL. + // Conditional: You must specify either the TemplateBody or the TemplateURL + // parameter, but not both. TemplateBody *string `min:"1" type:"string"` - // The location of the file that contains the revised template. The URL must - // point to a template (max size: 460,800 bytes) that's located in an Amazon - // S3 bucket or a Systems Manager document. CloudFormation generates the change - // set by comparing this template with the stack that you specified. + // The location of the file that contains the template body. The URL must point + // to a template (maximum size: 460,800 bytes) that's located in an Amazon S3 + // bucket or a Systems Manager document. For more information, see Template + // Anatomy (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) + // in the CloudFormation User Guide. // - // Conditional: You must specify only TemplateBody or TemplateURL. + // Conditional: You must specify either the TemplateBody or the TemplateURL + // parameter, but not both. TemplateURL *string `min:"1" type:"string"` - - // Whether to reuse the template that's associated with the stack to create - // the change set. - UsePreviousTemplate *bool `type:"boolean"` } // String returns the string representation. @@ -8467,7 +10754,7 @@ type CreateChangeSetInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateChangeSetInput) String() string { +func (s CreateStackSetInput) String() string { return awsutil.Prettify(s) } @@ -8476,33 +10763,27 @@ func (s CreateChangeSetInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateChangeSetInput) GoString() string { +func (s CreateStackSetInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateChangeSetInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateChangeSetInput"} - if s.ChangeSetName == nil { - invalidParams.Add(request.NewErrParamRequired("ChangeSetName")) - } - if s.ChangeSetName != nil && len(*s.ChangeSetName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ChangeSetName", 1)) +func (s *CreateStackSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateStackSetInput"} + if s.AdministrationRoleARN != nil && len(*s.AdministrationRoleARN) < 20 { + invalidParams.Add(request.NewErrParamMinLen("AdministrationRoleARN", 20)) } - if s.ClientToken != nil && len(*s.ClientToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) } if s.Description != nil && len(*s.Description) < 1 { invalidParams.Add(request.NewErrParamMinLen("Description", 1)) } - if s.RoleARN != nil && len(*s.RoleARN) < 20 { - invalidParams.Add(request.NewErrParamMinLen("RoleARN", 20)) - } - if s.StackName == nil { - invalidParams.Add(request.NewErrParamRequired("StackName")) + if s.ExecutionRoleName != nil && len(*s.ExecutionRoleName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ExecutionRoleName", 1)) } - if s.StackName != nil && len(*s.StackName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("StackName", 1)) + if s.StackSetName == nil { + invalidParams.Add(request.NewErrParamRequired("StackSetName")) } if s.TemplateBody != nil && len(*s.TemplateBody) < 1 { invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1)) @@ -8510,21 +10791,6 @@ func (s *CreateChangeSetInput) Validate() error { if s.TemplateURL != nil && len(*s.TemplateURL) < 1 { invalidParams.Add(request.NewErrParamMinLen("TemplateURL", 1)) } - if s.ResourcesToImport != nil { - for i, v := range s.ResourcesToImport { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourcesToImport", i), err.(request.ErrInvalidParams)) - } - } - } - if s.RollbackConfiguration != nil { - if err := s.RollbackConfiguration.Validate(); err != nil { - invalidParams.AddNested("RollbackConfiguration", err.(request.ErrInvalidParams)) - } - } if s.Tags != nil { for i, v := range s.Tags { if v == nil { @@ -8542,129 +10808,356 @@ func (s *CreateChangeSetInput) Validate() error { return nil } -// SetCapabilities sets the Capabilities field's value. -func (s *CreateChangeSetInput) SetCapabilities(v []*string) *CreateChangeSetInput { - s.Capabilities = v +// SetAdministrationRoleARN sets the AdministrationRoleARN field's value. +func (s *CreateStackSetInput) SetAdministrationRoleARN(v string) *CreateStackSetInput { + s.AdministrationRoleARN = &v return s } -// SetChangeSetName sets the ChangeSetName field's value. -func (s *CreateChangeSetInput) SetChangeSetName(v string) *CreateChangeSetInput { - s.ChangeSetName = &v +// SetAutoDeployment sets the AutoDeployment field's value. +func (s *CreateStackSetInput) SetAutoDeployment(v *AutoDeployment) *CreateStackSetInput { + s.AutoDeployment = v return s } -// SetChangeSetType sets the ChangeSetType field's value. -func (s *CreateChangeSetInput) SetChangeSetType(v string) *CreateChangeSetInput { - s.ChangeSetType = &v +// SetCallAs sets the CallAs field's value. +func (s *CreateStackSetInput) SetCallAs(v string) *CreateStackSetInput { + s.CallAs = &v return s } -// SetClientToken sets the ClientToken field's value. -func (s *CreateChangeSetInput) SetClientToken(v string) *CreateChangeSetInput { - s.ClientToken = &v +// SetCapabilities sets the Capabilities field's value. +func (s *CreateStackSetInput) SetCapabilities(v []*string) *CreateStackSetInput { + s.Capabilities = v + return s +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreateStackSetInput) SetClientRequestToken(v string) *CreateStackSetInput { + s.ClientRequestToken = &v return s } // SetDescription sets the Description field's value. -func (s *CreateChangeSetInput) SetDescription(v string) *CreateChangeSetInput { +func (s *CreateStackSetInput) SetDescription(v string) *CreateStackSetInput { s.Description = &v return s } -// SetImportExistingResources sets the ImportExistingResources field's value. -func (s *CreateChangeSetInput) SetImportExistingResources(v bool) *CreateChangeSetInput { - s.ImportExistingResources = &v +// SetExecutionRoleName sets the ExecutionRoleName field's value. +func (s *CreateStackSetInput) SetExecutionRoleName(v string) *CreateStackSetInput { + s.ExecutionRoleName = &v + return s +} + +// SetManagedExecution sets the ManagedExecution field's value. +func (s *CreateStackSetInput) SetManagedExecution(v *ManagedExecution) *CreateStackSetInput { + s.ManagedExecution = v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *CreateStackSetInput) SetParameters(v []*Parameter) *CreateStackSetInput { + s.Parameters = v + return s +} + +// SetPermissionModel sets the PermissionModel field's value. +func (s *CreateStackSetInput) SetPermissionModel(v string) *CreateStackSetInput { + s.PermissionModel = &v + return s +} + +// SetStackId sets the StackId field's value. +func (s *CreateStackSetInput) SetStackId(v string) *CreateStackSetInput { + s.StackId = &v + return s +} + +// SetStackSetName sets the StackSetName field's value. +func (s *CreateStackSetInput) SetStackSetName(v string) *CreateStackSetInput { + s.StackSetName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateStackSetInput) SetTags(v []*Tag) *CreateStackSetInput { + s.Tags = v + return s +} + +// SetTemplateBody sets the TemplateBody field's value. +func (s *CreateStackSetInput) SetTemplateBody(v string) *CreateStackSetInput { + s.TemplateBody = &v + return s +} + +// SetTemplateURL sets the TemplateURL field's value. +func (s *CreateStackSetInput) SetTemplateURL(v string) *CreateStackSetInput { + s.TemplateURL = &v + return s +} + +type CreateStackSetOutput struct { + _ struct{} `type:"structure"` + + // The ID of the stack set that you're creating. + StackSetId *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateStackSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateStackSetOutput) GoString() string { + return s.String() +} + +// SetStackSetId sets the StackSetId field's value. +func (s *CreateStackSetOutput) SetStackSetId(v string) *CreateStackSetOutput { + s.StackSetId = &v + return s +} + +type DeactivateOrganizationsAccessInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeactivateOrganizationsAccessInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeactivateOrganizationsAccessInput) GoString() string { + return s.String() +} + +type DeactivateOrganizationsAccessOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeactivateOrganizationsAccessOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeactivateOrganizationsAccessOutput) GoString() string { + return s.String() +} + +type DeactivateTypeInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for the extension, in this account and Region. + // + // Conditional: You must specify either Arn, or TypeName and Type. + Arn *string `type:"string"` + + // The extension type. + // + // Conditional: You must specify either Arn, or TypeName and Type. + Type *string `type:"string" enum:"ThirdPartyType"` + + // The type name of the extension, in this account and Region. If you specified + // a type name alias when enabling the extension, use the type name alias. + // + // Conditional: You must specify either Arn, or TypeName and Type. + TypeName *string `min:"10" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeactivateTypeInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeactivateTypeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeactivateTypeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeactivateTypeInput"} + if s.TypeName != nil && len(*s.TypeName) < 10 { + invalidParams.Add(request.NewErrParamMinLen("TypeName", 10)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *DeactivateTypeInput) SetArn(v string) *DeactivateTypeInput { + s.Arn = &v + return s +} + +// SetType sets the Type field's value. +func (s *DeactivateTypeInput) SetType(v string) *DeactivateTypeInput { + s.Type = &v return s } -// SetIncludeNestedStacks sets the IncludeNestedStacks field's value. -func (s *CreateChangeSetInput) SetIncludeNestedStacks(v bool) *CreateChangeSetInput { - s.IncludeNestedStacks = &v +// SetTypeName sets the TypeName field's value. +func (s *DeactivateTypeInput) SetTypeName(v string) *DeactivateTypeInput { + s.TypeName = &v return s } -// SetNotificationARNs sets the NotificationARNs field's value. -func (s *CreateChangeSetInput) SetNotificationARNs(v []*string) *CreateChangeSetInput { - s.NotificationARNs = v - return s +type DeactivateTypeOutput struct { + _ struct{} `type:"structure"` } -// SetOnStackFailure sets the OnStackFailure field's value. -func (s *CreateChangeSetInput) SetOnStackFailure(v string) *CreateChangeSetInput { - s.OnStackFailure = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeactivateTypeOutput) String() string { + return awsutil.Prettify(s) } -// SetParameters sets the Parameters field's value. -func (s *CreateChangeSetInput) SetParameters(v []*Parameter) *CreateChangeSetInput { - s.Parameters = v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeactivateTypeOutput) GoString() string { + return s.String() } -// SetResourceTypes sets the ResourceTypes field's value. -func (s *CreateChangeSetInput) SetResourceTypes(v []*string) *CreateChangeSetInput { - s.ResourceTypes = v - return s +// The input for the DeleteChangeSet action. +type DeleteChangeSetInput struct { + _ struct{} `type:"structure"` + + // The name or Amazon Resource Name (ARN) of the change set that you want to + // delete. + // + // ChangeSetName is a required field + ChangeSetName *string `min:"1" type:"string" required:"true"` + + // If you specified the name of a change set to delete, specify the stack name + // or Amazon Resource Name (ARN) that's associated with it. + StackName *string `min:"1" type:"string"` } -// SetResourcesToImport sets the ResourcesToImport field's value. -func (s *CreateChangeSetInput) SetResourcesToImport(v []*ResourceToImport) *CreateChangeSetInput { - s.ResourcesToImport = v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteChangeSetInput) String() string { + return awsutil.Prettify(s) } -// SetRoleARN sets the RoleARN field's value. -func (s *CreateChangeSetInput) SetRoleARN(v string) *CreateChangeSetInput { - s.RoleARN = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteChangeSetInput) GoString() string { + return s.String() } -// SetRollbackConfiguration sets the RollbackConfiguration field's value. -func (s *CreateChangeSetInput) SetRollbackConfiguration(v *RollbackConfiguration) *CreateChangeSetInput { - s.RollbackConfiguration = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteChangeSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteChangeSetInput"} + if s.ChangeSetName == nil { + invalidParams.Add(request.NewErrParamRequired("ChangeSetName")) + } + if s.ChangeSetName != nil && len(*s.ChangeSetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeSetName", 1)) + } + if s.StackName != nil && len(*s.StackName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StackName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetStackName sets the StackName field's value. -func (s *CreateChangeSetInput) SetStackName(v string) *CreateChangeSetInput { - s.StackName = &v +// SetChangeSetName sets the ChangeSetName field's value. +func (s *DeleteChangeSetInput) SetChangeSetName(v string) *DeleteChangeSetInput { + s.ChangeSetName = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateChangeSetInput) SetTags(v []*Tag) *CreateChangeSetInput { - s.Tags = v +// SetStackName sets the StackName field's value. +func (s *DeleteChangeSetInput) SetStackName(v string) *DeleteChangeSetInput { + s.StackName = &v return s } -// SetTemplateBody sets the TemplateBody field's value. -func (s *CreateChangeSetInput) SetTemplateBody(v string) *CreateChangeSetInput { - s.TemplateBody = &v - return s +// The output for the DeleteChangeSet action. +type DeleteChangeSetOutput struct { + _ struct{} `type:"structure"` } -// SetTemplateURL sets the TemplateURL field's value. -func (s *CreateChangeSetInput) SetTemplateURL(v string) *CreateChangeSetInput { - s.TemplateURL = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteChangeSetOutput) String() string { + return awsutil.Prettify(s) } -// SetUsePreviousTemplate sets the UsePreviousTemplate field's value. -func (s *CreateChangeSetInput) SetUsePreviousTemplate(v bool) *CreateChangeSetInput { - s.UsePreviousTemplate = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteChangeSetOutput) GoString() string { + return s.String() } -// The output for the CreateChangeSet action. -type CreateChangeSetOutput struct { +type DeleteGeneratedTemplateInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the change set. - Id *string `min:"1" type:"string"` - - // The unique ID of the stack. - StackId *string `type:"string"` + // The name or Amazon Resource Name (ARN) of a generated template. + // + // GeneratedTemplateName is a required field + GeneratedTemplateName *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -8672,7 +11165,7 @@ type CreateChangeSetOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateChangeSetOutput) String() string { +func (s DeleteGeneratedTemplateInput) String() string { return awsutil.Prettify(s) } @@ -8681,215 +11174,96 @@ func (s CreateChangeSetOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateChangeSetOutput) GoString() string { +func (s DeleteGeneratedTemplateInput) GoString() string { return s.String() } -// SetId sets the Id field's value. -func (s *CreateChangeSetOutput) SetId(v string) *CreateChangeSetOutput { - s.Id = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteGeneratedTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteGeneratedTemplateInput"} + if s.GeneratedTemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("GeneratedTemplateName")) + } + if s.GeneratedTemplateName != nil && len(*s.GeneratedTemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GeneratedTemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetStackId sets the StackId field's value. -func (s *CreateChangeSetOutput) SetStackId(v string) *CreateChangeSetOutput { - s.StackId = &v +// SetGeneratedTemplateName sets the GeneratedTemplateName field's value. +func (s *DeleteGeneratedTemplateInput) SetGeneratedTemplateName(v string) *DeleteGeneratedTemplateInput { + s.GeneratedTemplateName = &v return s } -// The input for CreateStack action. -type CreateStackInput struct { +type DeleteGeneratedTemplateOutput struct { _ struct{} `type:"structure"` +} - // In some cases, you must explicitly acknowledge that your stack template contains - // certain capabilities in order for CloudFormation to create the stack. - // - // * CAPABILITY_IAM and CAPABILITY_NAMED_IAM Some stack templates might include - // resources that can affect permissions in your Amazon Web Services account; - // for example, by creating new Identity and Access Management (IAM) users. - // For those stacks, you must explicitly acknowledge this by specifying one - // of these capabilities. The following IAM resources require you to specify - // either the CAPABILITY_IAM or CAPABILITY_NAMED_IAM capability. If you have - // IAM resources, you can specify either capability. If you have IAM resources - // with custom names, you must specify CAPABILITY_NAMED_IAM. If you don't - // specify either of these capabilities, CloudFormation returns an InsufficientCapabilities - // error. If your stack template contains these resources, we recommend that - // you review all permissions associated with them and edit their permissions - // if necessary. AWS::IAM::AccessKey (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html) - // AWS::IAM::Group (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html) - // AWS::IAM::InstanceProfile (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html) - // AWS::IAM::Policy (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html) - // AWS::IAM::Role (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html) - // AWS::IAM::User (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html) - // AWS::IAM::UserToGroupAddition (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html) - // For more information, see Acknowledging IAM Resources in CloudFormation - // Templates (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities). - // - // * CAPABILITY_AUTO_EXPAND Some template contain macros. Macros perform - // custom processing on templates; this can include simple actions like find-and-replace - // operations, all the way to extensive transformations of entire templates. - // Because of this, users typically create a change set from the processed - // template, so that they can review the changes resulting from the macros - // before actually creating the stack. If your stack template contains one - // or more macros, and you choose to create a stack directly from the processed - // template, without first reviewing the resulting changes in a change set, - // you must acknowledge this capability. This includes the AWS::Include (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html) - // and AWS::Serverless (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-aws-serverless.html) - // transforms, which are macros hosted by CloudFormation. If you want to - // create a stack from a stack template that contains macros and nested stacks, - // you must create the stack directly from the template using this capability. - // You should only create stacks directly from a stack template that contains - // macros if you know what processing the macro performs. Each macro relies - // on an underlying Lambda service function for processing stack templates. - // Be aware that the Lambda function owner can update the function operation - // without CloudFormation being notified. For more information, see Using - // CloudFormation macros to perform custom processing on templates (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros.html). - // - // Only one of the Capabilities and ResourceType parameters can be specified. - Capabilities []*string `type:"list" enum:"Capability"` - - // A unique identifier for this CreateStack request. Specify this token if you - // plan to retry requests so that CloudFormation knows that you're not attempting - // to create a stack with the same name. You might retry CreateStack requests - // to ensure that CloudFormation successfully received them. - // - // All events initiated by a given stack operation are assigned the same client - // request token, which you can use to track operations. For example, if you - // execute a CreateStack operation with the token token1, then all the StackEvents - // generated by that operation will have ClientRequestToken set as token1. - // - // In the console, stack operations display the client request token on the - // Events tab. Stack operations that are initiated from the console use the - // token format Console-StackOperation-ID, which helps you easily identify the - // stack operation . For example, if you create a stack using the console, each - // stack event would be assigned the same token in the following format: Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002. - ClientRequestToken *string `min:"1" type:"string"` - - // Set to true to disable rollback of the stack if stack creation failed. You - // can specify either DisableRollback or OnFailure, but not both. - // - // Default: false - DisableRollback *bool `type:"boolean"` - - // Whether to enable termination protection on the specified stack. If a user - // attempts to delete a stack with termination protection enabled, the operation - // fails and the stack remains unchanged. For more information, see Protecting - // a Stack From Being Deleted (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-protect-stacks.html) - // in the CloudFormation User Guide. Termination protection is deactivated on - // stacks by default. - // - // For nested stacks (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html), - // termination protection is set on the root stack and can't be changed directly - // on the nested stack. - EnableTerminationProtection *bool `type:"boolean"` - - // The Amazon Simple Notification Service (Amazon SNS) topic ARNs to publish - // stack related events. You can find your Amazon SNS topic ARNs using the Amazon - // SNS console or your Command Line Interface (CLI). - NotificationARNs []*string `type:"list"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteGeneratedTemplateOutput) String() string { + return awsutil.Prettify(s) +} - // Determines what action will be taken if stack creation fails. This must be - // one of: DO_NOTHING, ROLLBACK, or DELETE. You can specify either OnFailure - // or DisableRollback, but not both. - // - // Default: ROLLBACK - OnFailure *string `type:"string" enum:"OnFailure"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteGeneratedTemplateOutput) GoString() string { + return s.String() +} - // A list of Parameter structures that specify input parameters for the stack. - // For more information, see the Parameter (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Parameter.html) - // data type. - Parameters []*Parameter `type:"list"` +// The input for DeleteStack action. +type DeleteStackInput struct { + _ struct{} `type:"structure"` - // The template resource types that you have permissions to work with for this - // create stack action, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance. - // Use the following syntax to describe template resource types: AWS::* (for - // all Amazon Web Services resources), Custom::* (for all custom resources), - // Custom::logical_ID (for a specific custom resource), AWS::service_name::* - // (for all resources of a particular Amazon Web Services service), and AWS::service_name::resource_logical_ID - // (for a specific Amazon Web Services resource). + // A unique identifier for this DeleteStack request. Specify this token if you + // plan to retry requests so that CloudFormation knows that you're not attempting + // to delete a stack with the same name. You might retry DeleteStack requests + // to ensure that CloudFormation successfully received them. // - // If the list of resource types doesn't include a resource that you're creating, - // the stack creation fails. By default, CloudFormation grants permissions to - // all resource types. Identity and Access Management (IAM) uses this parameter - // for CloudFormation-specific condition keys in IAM policies. For more information, - // see Controlling Access with Identity and Access Management (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html). + // All events initiated by a given stack operation are assigned the same client + // request token, which you can use to track operations. For example, if you + // execute a CreateStack operation with the token token1, then all the StackEvents + // generated by that operation will have ClientRequestToken set as token1. // - // Only one of the Capabilities and ResourceType parameters can be specified. - ResourceTypes []*string `type:"list"` + // In the console, stack operations display the client request token on the + // Events tab. Stack operations that are initiated from the console use the + // token format Console-StackOperation-ID, which helps you easily identify the + // stack operation . For example, if you create a stack using the console, each + // stack event would be assigned the same token in the following format: Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002. + ClientRequestToken *string `min:"1" type:"string"` - // When set to true, newly created resources are deleted when the operation - // rolls back. This includes newly created resources marked with a deletion - // policy of Retain. + // For stacks in the DELETE_FAILED state, a list of resource logical IDs that + // are associated with the resources you want to retain. During deletion, CloudFormation + // deletes the stack but doesn't delete the retained resources. // - // Default: false - RetainExceptOnCreate *bool `type:"boolean"` + // Retaining resources is useful when you can't delete a resource, such as a + // non-empty S3 bucket, but you want to delete the stack. + RetainResources []*string `type:"list"` // The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) - // role that CloudFormation assumes to create the stack. CloudFormation uses - // the role's credentials to make calls on your behalf. CloudFormation always - // uses this role for all future operations on the stack. Provided that users - // have permission to operate on the stack, CloudFormation uses this role even - // if the users don't have permission to pass it. Ensure that the role grants - // least privilege. + // role that CloudFormation assumes to delete the stack. CloudFormation uses + // the role's credentials to make calls on your behalf. // // If you don't specify a value, CloudFormation uses the role that was previously // associated with the stack. If no role is available, CloudFormation uses a // temporary session that's generated from your user credentials. RoleARN *string `min:"20" type:"string"` - // The rollback triggers for CloudFormation to monitor during stack creation - // and updating operations, and for the specified monitoring period afterwards. - RollbackConfiguration *RollbackConfiguration `type:"structure"` - - // The name that's associated with the stack. The name must be unique in the - // Region in which you are creating the stack. - // - // A stack name can contain only alphanumeric characters (case sensitive) and - // hyphens. It must start with an alphabetical character and can't be longer - // than 128 characters. + // The name or the unique stack ID that's associated with the stack. // // StackName is a required field StackName *string `type:"string" required:"true"` - - // Structure containing the stack policy body. For more information, go to Prevent - // Updates to Stack Resources (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html) - // in the CloudFormation User Guide. You can specify either the StackPolicyBody - // or the StackPolicyURL parameter, but not both. - StackPolicyBody *string `min:"1" type:"string"` - - // Location of a file containing the stack policy. The URL must point to a policy - // (maximum size: 16 KB) located in an S3 bucket in the same Region as the stack. - // You can specify either the StackPolicyBody or the StackPolicyURL parameter, - // but not both. - StackPolicyURL *string `min:"1" type:"string"` - - // Key-value pairs to associate with this stack. CloudFormation also propagates - // these tags to the resources created in the stack. A maximum number of 50 - // tags can be specified. - Tags []*Tag `type:"list"` - - // Structure containing the template body with a minimum length of 1 byte and - // a maximum length of 51,200 bytes. For more information, go to Template anatomy - // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) - // in the CloudFormation User Guide. - // - // Conditional: You must specify either the TemplateBody or the TemplateURL - // parameter, but not both. - TemplateBody *string `min:"1" type:"string"` - - // Location of file containing the template body. The URL must point to a template - // (max size: 460,800 bytes) that's located in an Amazon S3 bucket or a Systems - // Manager document. For more information, go to the Template anatomy (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) - // in the CloudFormation User Guide. - // - // Conditional: You must specify either the TemplateBody or the TemplateURL - // parameter, but not both. - TemplateURL *string `min:"1" type:"string"` - - // The amount of time that can pass before the stack status becomes CREATE_FAILED; - // if DisableRollback is not set or is set to false, the stack will be rolled - // back. - TimeoutInMinutes *int64 `min:"1" type:"integer"` } // String returns the string representation. @@ -8897,7 +11271,7 @@ type CreateStackInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateStackInput) String() string { +func (s DeleteStackInput) String() string { return awsutil.Prettify(s) } @@ -8906,13 +11280,13 @@ func (s CreateStackInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateStackInput) GoString() string { +func (s DeleteStackInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateStackInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateStackInput"} +func (s *DeleteStackInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteStackInput"} if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) } @@ -8922,36 +11296,6 @@ func (s *CreateStackInput) Validate() error { if s.StackName == nil { invalidParams.Add(request.NewErrParamRequired("StackName")) } - if s.StackPolicyBody != nil && len(*s.StackPolicyBody) < 1 { - invalidParams.Add(request.NewErrParamMinLen("StackPolicyBody", 1)) - } - if s.StackPolicyURL != nil && len(*s.StackPolicyURL) < 1 { - invalidParams.Add(request.NewErrParamMinLen("StackPolicyURL", 1)) - } - if s.TemplateBody != nil && len(*s.TemplateBody) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1)) - } - if s.TemplateURL != nil && len(*s.TemplateURL) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TemplateURL", 1)) - } - if s.TimeoutInMinutes != nil && *s.TimeoutInMinutes < 1 { - invalidParams.Add(request.NewErrParamMinValue("TimeoutInMinutes", 1)) - } - if s.RollbackConfiguration != nil { - if err := s.RollbackConfiguration.Validate(); err != nil { - invalidParams.AddNested("RollbackConfiguration", err.(request.ErrInvalidParams)) - } - } - if s.Tags != nil { - for i, v := range s.Tags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) - } - } - } if invalidParams.Len() > 0 { return invalidParams @@ -8959,119 +11303,35 @@ func (s *CreateStackInput) Validate() error { return nil } -// SetCapabilities sets the Capabilities field's value. -func (s *CreateStackInput) SetCapabilities(v []*string) *CreateStackInput { - s.Capabilities = v - return s -} - // SetClientRequestToken sets the ClientRequestToken field's value. -func (s *CreateStackInput) SetClientRequestToken(v string) *CreateStackInput { +func (s *DeleteStackInput) SetClientRequestToken(v string) *DeleteStackInput { s.ClientRequestToken = &v return s } -// SetDisableRollback sets the DisableRollback field's value. -func (s *CreateStackInput) SetDisableRollback(v bool) *CreateStackInput { - s.DisableRollback = &v - return s -} - -// SetEnableTerminationProtection sets the EnableTerminationProtection field's value. -func (s *CreateStackInput) SetEnableTerminationProtection(v bool) *CreateStackInput { - s.EnableTerminationProtection = &v - return s -} - -// SetNotificationARNs sets the NotificationARNs field's value. -func (s *CreateStackInput) SetNotificationARNs(v []*string) *CreateStackInput { - s.NotificationARNs = v - return s -} - -// SetOnFailure sets the OnFailure field's value. -func (s *CreateStackInput) SetOnFailure(v string) *CreateStackInput { - s.OnFailure = &v - return s -} - -// SetParameters sets the Parameters field's value. -func (s *CreateStackInput) SetParameters(v []*Parameter) *CreateStackInput { - s.Parameters = v - return s -} - -// SetResourceTypes sets the ResourceTypes field's value. -func (s *CreateStackInput) SetResourceTypes(v []*string) *CreateStackInput { - s.ResourceTypes = v - return s -} - -// SetRetainExceptOnCreate sets the RetainExceptOnCreate field's value. -func (s *CreateStackInput) SetRetainExceptOnCreate(v bool) *CreateStackInput { - s.RetainExceptOnCreate = &v +// SetRetainResources sets the RetainResources field's value. +func (s *DeleteStackInput) SetRetainResources(v []*string) *DeleteStackInput { + s.RetainResources = v return s } // SetRoleARN sets the RoleARN field's value. -func (s *CreateStackInput) SetRoleARN(v string) *CreateStackInput { +func (s *DeleteStackInput) SetRoleARN(v string) *DeleteStackInput { s.RoleARN = &v return s -} - -// SetRollbackConfiguration sets the RollbackConfiguration field's value. -func (s *CreateStackInput) SetRollbackConfiguration(v *RollbackConfiguration) *CreateStackInput { - s.RollbackConfiguration = v - return s -} - -// SetStackName sets the StackName field's value. -func (s *CreateStackInput) SetStackName(v string) *CreateStackInput { - s.StackName = &v - return s -} - -// SetStackPolicyBody sets the StackPolicyBody field's value. -func (s *CreateStackInput) SetStackPolicyBody(v string) *CreateStackInput { - s.StackPolicyBody = &v - return s -} - -// SetStackPolicyURL sets the StackPolicyURL field's value. -func (s *CreateStackInput) SetStackPolicyURL(v string) *CreateStackInput { - s.StackPolicyURL = &v - return s -} - -// SetTags sets the Tags field's value. -func (s *CreateStackInput) SetTags(v []*Tag) *CreateStackInput { - s.Tags = v - return s -} - -// SetTemplateBody sets the TemplateBody field's value. -func (s *CreateStackInput) SetTemplateBody(v string) *CreateStackInput { - s.TemplateBody = &v - return s -} - -// SetTemplateURL sets the TemplateURL field's value. -func (s *CreateStackInput) SetTemplateURL(v string) *CreateStackInput { - s.TemplateURL = &v - return s -} - -// SetTimeoutInMinutes sets the TimeoutInMinutes field's value. -func (s *CreateStackInput) SetTimeoutInMinutes(v int64) *CreateStackInput { - s.TimeoutInMinutes = &v +} + +// SetStackName sets the StackName field's value. +func (s *DeleteStackInput) SetStackName(v string) *DeleteStackInput { + s.StackName = &v return s } -type CreateStackInstancesInput struct { +type DeleteStackInstancesInput struct { _ struct{} `type:"structure"` - // [Self-managed permissions] The names of one or more Amazon Web Services accounts - // that you want to create stack instances in the specified Region(s) for. + // [Self-managed permissions] The names of the Amazon Web Services accounts + // that you want to delete stack instances for. // // You can specify Accounts or DeploymentTargets, but not both. Accounts []*string `type:"list"` @@ -9092,21 +11352,21 @@ type CreateStackInstancesInput struct { // in the CloudFormation User Guide. CallAs *string `type:"string" enum:"CallAs"` - // [Service-managed permissions] The Organizations accounts for which to create - // stack instances in the specified Amazon Web Services Regions. + // [Service-managed permissions] The Organizations accounts from which to delete + // stack instances. // // You can specify Accounts or DeploymentTargets, but not both. DeploymentTargets *DeploymentTargets `type:"structure"` // The unique identifier for this stack set operation. // + // If you don't specify an operation ID, the SDK generates one automatically. + // // The operation ID also functions as an idempotency token, to ensure that CloudFormation // performs the stack set operation only once, even if you retry the request - // multiple times. You might retry stack set operation requests to ensure that + // multiple times. You can retry stack set operation requests to ensure that // CloudFormation successfully received them. // - // If you don't specify an operation ID, the SDK generates one automatically. - // // Repeating this stack set operation with a new operation ID retries all stack // instances whose status is OUTDATED. OperationId *string `min:"1" type:"string" idempotencyToken:"true"` @@ -9114,43 +11374,22 @@ type CreateStackInstancesInput struct { // Preferences for how CloudFormation performs this stack set operation. OperationPreferences *StackSetOperationPreferences `type:"structure"` - // A list of stack set parameters whose values you want to override in the selected - // stack instances. - // - // Any overridden parameter values will be applied to all stack instances in - // the specified accounts and Amazon Web Services Regions. When specifying parameters - // and their values, be aware of how CloudFormation sets parameter values during - // stack instance operations: - // - // * To override the current value for a parameter, include the parameter - // and specify its value. - // - // * To leave an overridden parameter set to its present value, include the - // parameter and specify UsePreviousValue as true. (You can't specify both - // a value and set UsePreviousValue to true.) - // - // * To set an overridden parameter back to the value specified in the stack - // set, specify a parameter list but don't include the parameter in the list. - // - // * To leave all parameters set to their present values, don't specify this - // property at all. - // - // During stack set updates, any parameter values overridden for a stack instance - // aren't updated, but retain their overridden value. - // - // You can only override the parameter values that are specified in the stack - // set; to add or delete a parameter itself, use UpdateStackSet (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html) - // to update the stack set template. - ParameterOverrides []*Parameter `type:"list"` - - // The names of one or more Amazon Web Services Regions where you want to create - // stack instances using the specified Amazon Web Services accounts. + // The Amazon Web Services Regions where you want to delete stack set instances. // // Regions is a required field Regions []*string `type:"list" required:"true"` - // The name or unique ID of the stack set that you want to create stack instances - // from. + // Removes the stack instances from the specified stack set, but doesn't delete + // the stacks. You can't reassociate a retained stack or add an existing, saved + // stack to a new stack set. + // + // For more information, see Stack set operation options (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-ops-options). + // + // RetainStacks is a required field + RetainStacks *bool `type:"boolean" required:"true"` + + // The name or unique ID of the stack set that you want to delete stack instances + // for. // // StackSetName is a required field StackSetName *string `type:"string" required:"true"` @@ -9161,7 +11400,7 @@ type CreateStackInstancesInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateStackInstancesInput) String() string { +func (s DeleteStackInstancesInput) String() string { return awsutil.Prettify(s) } @@ -9170,19 +11409,22 @@ func (s CreateStackInstancesInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateStackInstancesInput) GoString() string { +func (s DeleteStackInstancesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateStackInstancesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateStackInstancesInput"} +func (s *DeleteStackInstancesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteStackInstancesInput"} if s.OperationId != nil && len(*s.OperationId) < 1 { invalidParams.Add(request.NewErrParamMinLen("OperationId", 1)) } if s.Regions == nil { invalidParams.Add(request.NewErrParamRequired("Regions")) } + if s.RetainStacks == nil { + invalidParams.Add(request.NewErrParamRequired("RetainStacks")) + } if s.StackSetName == nil { invalidParams.Add(request.NewErrParamRequired("StackSetName")) } @@ -9204,54 +11446,54 @@ func (s *CreateStackInstancesInput) Validate() error { } // SetAccounts sets the Accounts field's value. -func (s *CreateStackInstancesInput) SetAccounts(v []*string) *CreateStackInstancesInput { +func (s *DeleteStackInstancesInput) SetAccounts(v []*string) *DeleteStackInstancesInput { s.Accounts = v return s } // SetCallAs sets the CallAs field's value. -func (s *CreateStackInstancesInput) SetCallAs(v string) *CreateStackInstancesInput { +func (s *DeleteStackInstancesInput) SetCallAs(v string) *DeleteStackInstancesInput { s.CallAs = &v return s } // SetDeploymentTargets sets the DeploymentTargets field's value. -func (s *CreateStackInstancesInput) SetDeploymentTargets(v *DeploymentTargets) *CreateStackInstancesInput { +func (s *DeleteStackInstancesInput) SetDeploymentTargets(v *DeploymentTargets) *DeleteStackInstancesInput { s.DeploymentTargets = v return s } // SetOperationId sets the OperationId field's value. -func (s *CreateStackInstancesInput) SetOperationId(v string) *CreateStackInstancesInput { +func (s *DeleteStackInstancesInput) SetOperationId(v string) *DeleteStackInstancesInput { s.OperationId = &v return s } // SetOperationPreferences sets the OperationPreferences field's value. -func (s *CreateStackInstancesInput) SetOperationPreferences(v *StackSetOperationPreferences) *CreateStackInstancesInput { +func (s *DeleteStackInstancesInput) SetOperationPreferences(v *StackSetOperationPreferences) *DeleteStackInstancesInput { s.OperationPreferences = v return s } -// SetParameterOverrides sets the ParameterOverrides field's value. -func (s *CreateStackInstancesInput) SetParameterOverrides(v []*Parameter) *CreateStackInstancesInput { - s.ParameterOverrides = v +// SetRegions sets the Regions field's value. +func (s *DeleteStackInstancesInput) SetRegions(v []*string) *DeleteStackInstancesInput { + s.Regions = v return s } -// SetRegions sets the Regions field's value. -func (s *CreateStackInstancesInput) SetRegions(v []*string) *CreateStackInstancesInput { - s.Regions = v +// SetRetainStacks sets the RetainStacks field's value. +func (s *DeleteStackInstancesInput) SetRetainStacks(v bool) *DeleteStackInstancesInput { + s.RetainStacks = &v return s } // SetStackSetName sets the StackSetName field's value. -func (s *CreateStackInstancesInput) SetStackSetName(v string) *CreateStackInstancesInput { +func (s *DeleteStackInstancesInput) SetStackSetName(v string) *DeleteStackInstancesInput { s.StackSetName = &v return s } -type CreateStackInstancesOutput struct { +type DeleteStackInstancesOutput struct { _ struct{} `type:"structure"` // The unique identifier for this stack set operation. @@ -9263,7 +11505,7 @@ type CreateStackInstancesOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateStackInstancesOutput) String() string { +func (s DeleteStackInstancesOutput) String() string { return awsutil.Prettify(s) } @@ -9272,22 +11514,18 @@ func (s CreateStackInstancesOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateStackInstancesOutput) GoString() string { +func (s DeleteStackInstancesOutput) GoString() string { return s.String() } // SetOperationId sets the OperationId field's value. -func (s *CreateStackInstancesOutput) SetOperationId(v string) *CreateStackInstancesOutput { +func (s *DeleteStackInstancesOutput) SetOperationId(v string) *DeleteStackInstancesOutput { s.OperationId = &v return s } -// The output for a CreateStack action. -type CreateStackOutput struct { +type DeleteStackOutput struct { _ struct{} `type:"structure"` - - // Unique identifier of the stack. - StackId *string `type:"string"` } // String returns the string representation. @@ -9295,7 +11533,7 @@ type CreateStackOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateStackOutput) String() string { +func (s DeleteStackOutput) String() string { return awsutil.Prettify(s) } @@ -9304,175 +11542,34 @@ func (s CreateStackOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateStackOutput) GoString() string { +func (s DeleteStackOutput) GoString() string { return s.String() } -// SetStackId sets the StackId field's value. -func (s *CreateStackOutput) SetStackId(v string) *CreateStackOutput { - s.StackId = &v - return s -} - -type CreateStackSetInput struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) of the IAM role to use to create this stack - // set. - // - // Specify an IAM role only if you are using customized administrator roles - // to control which users or groups can manage specific stack sets within the - // same administrator account. For more information, see Prerequisites: Granting - // Permissions for Stack Set Operations (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html) - // in the CloudFormation User Guide. - AdministrationRoleARN *string `min:"20" type:"string"` - - // Describes whether StackSets automatically deploys to Organizations accounts - // that are added to the target organization or organizational unit (OU). Specify - // only if PermissionModel is SERVICE_MANAGED. - AutoDeployment *AutoDeployment `type:"structure"` - - // [Service-managed permissions] Specifies whether you are acting as an account - // administrator in the organization's management account or as a delegated - // administrator in a member account. - // - // By default, SELF is specified. Use SELF for stack sets with self-managed - // permissions. - // - // * To create a stack set with service-managed permissions while signed - // in to the management account, specify SELF. - // - // * To create a stack set with service-managed permissions while signed - // in to a delegated administrator account, specify DELEGATED_ADMIN. Your - // Amazon Web Services account must be registered as a delegated admin in - // the management account. For more information, see Register a delegated - // administrator (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html) - // in the CloudFormation User Guide. - // - // Stack sets with service-managed permissions are created in the management - // account, including stack sets that are created by delegated administrators. - CallAs *string `type:"string" enum:"CallAs"` - - // In some cases, you must explicitly acknowledge that your stack set template - // contains certain capabilities in order for CloudFormation to create the stack - // set and related stack instances. - // - // * CAPABILITY_IAM and CAPABILITY_NAMED_IAM Some stack templates might include - // resources that can affect permissions in your Amazon Web Services account; - // for example, by creating new Identity and Access Management (IAM) users. - // For those stack sets, you must explicitly acknowledge this by specifying - // one of these capabilities. The following IAM resources require you to - // specify either the CAPABILITY_IAM or CAPABILITY_NAMED_IAM capability. - // If you have IAM resources, you can specify either capability. If you have - // IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM. - // If you don't specify either of these capabilities, CloudFormation returns - // an InsufficientCapabilities error. If your stack template contains these - // resources, we recommend that you review all permissions associated with - // them and edit their permissions if necessary. AWS::IAM::AccessKey (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html) - // AWS::IAM::Group (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html) - // AWS::IAM::InstanceProfile (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html) - // AWS::IAM::Policy (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html) - // AWS::IAM::Role (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html) - // AWS::IAM::User (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html) - // AWS::IAM::UserToGroupAddition (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html) - // For more information, see Acknowledging IAM Resources in CloudFormation - // Templates (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities). - // - // * CAPABILITY_AUTO_EXPAND Some templates reference macros. If your stack - // set template references one or more macros, you must create the stack - // set directly from the processed template, without first reviewing the - // resulting changes in a change set. To create the stack set directly, you - // must acknowledge this capability. For more information, see Using CloudFormation - // Macros to Perform Custom Processing on Templates (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros.html). - // Stack sets with service-managed permissions don't currently support the - // use of macros in templates. (This includes the AWS::Include (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html) - // and AWS::Serverless (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-aws-serverless.html) - // transforms, which are macros hosted by CloudFormation.) Even if you specify - // this capability for a stack set with service-managed permissions, if you - // reference a macro in your template the stack set operation will fail. - Capabilities []*string `type:"list" enum:"Capability"` - - // A unique identifier for this CreateStackSet request. Specify this token if - // you plan to retry requests so that CloudFormation knows that you're not attempting - // to create another stack set with the same name. You might retry CreateStackSet - // requests to ensure that CloudFormation successfully received them. - // - // If you don't specify an operation ID, the SDK generates one automatically. - ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` - - // A description of the stack set. You can use the description to identify the - // stack set's purpose or other important information. - Description *string `min:"1" type:"string"` - - // The name of the IAM execution role to use to create the stack set. If you - // do not specify an execution role, CloudFormation uses the AWSCloudFormationStackSetExecutionRole - // role for the stack set operation. - // - // Specify an IAM role only if you are using customized execution roles to control - // which stack resources users and groups can include in their stack sets. - ExecutionRoleName *string `min:"1" type:"string"` - - // Describes whether StackSets performs non-conflicting operations concurrently - // and queues conflicting operations. - ManagedExecution *ManagedExecution `type:"structure"` - - // The input parameters for the stack set template. - Parameters []*Parameter `type:"list"` - - // Describes how the IAM roles required for stack set operations are created. - // By default, SELF-MANAGED is specified. - // - // * With self-managed permissions, you must create the administrator and - // execution roles required to deploy to target accounts. For more information, - // see Grant Self-Managed Stack Set Permissions (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html). - // - // * With service-managed permissions, StackSets automatically creates the - // IAM roles required to deploy to accounts managed by Organizations. For - // more information, see Grant Service-Managed Stack Set Permissions (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-service-managed.html). - PermissionModel *string `type:"string" enum:"PermissionModels"` - - // The stack ID you are importing into a new stack set. Specify the Amazon Resource - // Name (ARN) of the stack. - StackId *string `type:"string"` - - // The name to associate with the stack set. The name must be unique in the - // Region where you create your stack set. - // - // A stack name can contain only alphanumeric characters (case-sensitive) and - // hyphens. It must start with an alphabetic character and can't be longer than - // 128 characters. - // - // StackSetName is a required field - StackSetName *string `type:"string" required:"true"` +type DeleteStackSetInput struct { + _ struct{} `type:"structure"` - // The key-value pairs to associate with this stack set and the stacks created - // from it. CloudFormation also propagates these tags to supported resources - // that are created in the stacks. A maximum number of 50 tags can be specified. + // [Service-managed permissions] Specifies whether you are acting as an account + // administrator in the organization's management account or as a delegated + // administrator in a member account. // - // If you specify tags as part of a CreateStackSet action, CloudFormation checks - // to see if you have the required IAM permission to tag resources. If you don't, - // the entire CreateStackSet action fails with an access denied error, and the - // stack set is not created. - Tags []*Tag `type:"list"` - - // The structure that contains the template body, with a minimum length of 1 - // byte and a maximum length of 51,200 bytes. For more information, see Template - // Anatomy (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) - // in the CloudFormation User Guide. + // By default, SELF is specified. Use SELF for stack sets with self-managed + // permissions. // - // Conditional: You must specify either the TemplateBody or the TemplateURL - // parameter, but not both. - TemplateBody *string `min:"1" type:"string"` + // * If you are signed in to the management account, specify SELF. + // + // * If you are signed in to a delegated administrator account, specify DELEGATED_ADMIN. + // Your Amazon Web Services account must be registered as a delegated administrator + // in the management account. For more information, see Register a delegated + // administrator (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html) + // in the CloudFormation User Guide. + CallAs *string `type:"string" enum:"CallAs"` - // The location of the file that contains the template body. The URL must point - // to a template (maximum size: 460,800 bytes) that's located in an Amazon S3 - // bucket or a Systems Manager document. For more information, see Template - // Anatomy (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) - // in the CloudFormation User Guide. + // The name or unique ID of the stack set that you're deleting. You can obtain + // this value by running ListStackSets. // - // Conditional: You must specify either the TemplateBody or the TemplateURL - // parameter, but not both. - TemplateURL *string `min:"1" type:"string"` + // StackSetName is a required field + StackSetName *string `type:"string" required:"true"` } // String returns the string representation. @@ -9480,7 +11577,7 @@ type CreateStackSetInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateStackSetInput) String() string { +func (s DeleteStackSetInput) String() string { return awsutil.Prettify(s) } @@ -9489,44 +11586,16 @@ func (s CreateStackSetInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateStackSetInput) GoString() string { +func (s DeleteStackSetInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateStackSetInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateStackSetInput"} - if s.AdministrationRoleARN != nil && len(*s.AdministrationRoleARN) < 20 { - invalidParams.Add(request.NewErrParamMinLen("AdministrationRoleARN", 20)) - } - if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) - } - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) - } - if s.ExecutionRoleName != nil && len(*s.ExecutionRoleName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ExecutionRoleName", 1)) - } +func (s *DeleteStackSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteStackSetInput"} if s.StackSetName == nil { invalidParams.Add(request.NewErrParamRequired("StackSetName")) } - if s.TemplateBody != nil && len(*s.TemplateBody) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1)) - } - if s.TemplateURL != nil && len(*s.TemplateURL) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TemplateURL", 1)) - } - if s.Tags != nil { - for i, v := range s.Tags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) - } - } - } if invalidParams.Len() > 0 { return invalidParams @@ -9534,101 +11603,160 @@ func (s *CreateStackSetInput) Validate() error { return nil } -// SetAdministrationRoleARN sets the AdministrationRoleARN field's value. -func (s *CreateStackSetInput) SetAdministrationRoleARN(v string) *CreateStackSetInput { - s.AdministrationRoleARN = &v - return s -} - -// SetAutoDeployment sets the AutoDeployment field's value. -func (s *CreateStackSetInput) SetAutoDeployment(v *AutoDeployment) *CreateStackSetInput { - s.AutoDeployment = v - return s -} - // SetCallAs sets the CallAs field's value. -func (s *CreateStackSetInput) SetCallAs(v string) *CreateStackSetInput { +func (s *DeleteStackSetInput) SetCallAs(v string) *DeleteStackSetInput { s.CallAs = &v return s } -// SetCapabilities sets the Capabilities field's value. -func (s *CreateStackSetInput) SetCapabilities(v []*string) *CreateStackSetInput { - s.Capabilities = v +// SetStackSetName sets the StackSetName field's value. +func (s *DeleteStackSetInput) SetStackSetName(v string) *DeleteStackSetInput { + s.StackSetName = &v return s } -// SetClientRequestToken sets the ClientRequestToken field's value. -func (s *CreateStackSetInput) SetClientRequestToken(v string) *CreateStackSetInput { - s.ClientRequestToken = &v - return s +type DeleteStackSetOutput struct { + _ struct{} `type:"structure"` } -// SetDescription sets the Description field's value. -func (s *CreateStackSetInput) SetDescription(v string) *CreateStackSetInput { - s.Description = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteStackSetOutput) String() string { + return awsutil.Prettify(s) } -// SetExecutionRoleName sets the ExecutionRoleName field's value. -func (s *CreateStackSetInput) SetExecutionRoleName(v string) *CreateStackSetInput { - s.ExecutionRoleName = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteStackSetOutput) GoString() string { + return s.String() } -// SetManagedExecution sets the ManagedExecution field's value. -func (s *CreateStackSetInput) SetManagedExecution(v *ManagedExecution) *CreateStackSetInput { - s.ManagedExecution = v - return s +// [Service-managed permissions] The Organizations accounts to which StackSets +// deploys. StackSets doesn't deploy stack instances to the organization management +// account, even if the organization management account is in your organization +// or in an OU in your organization. +// +// For update operations, you can specify either Accounts or OrganizationalUnitIds. +// For create and delete operations, specify OrganizationalUnitIds. +type DeploymentTargets struct { + _ struct{} `type:"structure"` + + // Limit deployment targets to individual accounts or include additional accounts + // with provided OUs. + // + // The following is a list of possible values for the AccountFilterType operation. + // + // * INTERSECTION: StackSets deploys to the accounts specified in Accounts + // parameter. + // + // * DIFFERENCE: StackSets excludes the accounts specified in Accounts parameter. + // This enables user to avoid certain accounts within an OU such as suspended + // accounts. + // + // * UNION: StackSets includes additional accounts deployment targets. This + // is the default value if AccountFilterType is not provided. This enables + // user to update an entire OU and individual accounts from a different OU + // in one request, which used to be two separate requests. + // + // * NONE: Deploys to all the accounts in specified organizational units + // (OU). + AccountFilterType *string `type:"string" enum:"AccountFilterType"` + + // The names of one or more Amazon Web Services accounts for which you want + // to deploy stack set updates. + Accounts []*string `type:"list"` + + // Returns the value of the AccountsUrl property. + AccountsUrl *string `min:"1" type:"string"` + + // The organization root ID or organizational unit (OU) IDs to which StackSets + // deploys. + OrganizationalUnitIds []*string `type:"list"` } -// SetParameters sets the Parameters field's value. -func (s *CreateStackSetInput) SetParameters(v []*Parameter) *CreateStackSetInput { - s.Parameters = v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeploymentTargets) String() string { + return awsutil.Prettify(s) } -// SetPermissionModel sets the PermissionModel field's value. -func (s *CreateStackSetInput) SetPermissionModel(v string) *CreateStackSetInput { - s.PermissionModel = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeploymentTargets) GoString() string { + return s.String() } -// SetStackId sets the StackId field's value. -func (s *CreateStackSetInput) SetStackId(v string) *CreateStackSetInput { - s.StackId = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeploymentTargets) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeploymentTargets"} + if s.AccountsUrl != nil && len(*s.AccountsUrl) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AccountsUrl", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetStackSetName sets the StackSetName field's value. -func (s *CreateStackSetInput) SetStackSetName(v string) *CreateStackSetInput { - s.StackSetName = &v +// SetAccountFilterType sets the AccountFilterType field's value. +func (s *DeploymentTargets) SetAccountFilterType(v string) *DeploymentTargets { + s.AccountFilterType = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateStackSetInput) SetTags(v []*Tag) *CreateStackSetInput { - s.Tags = v +// SetAccounts sets the Accounts field's value. +func (s *DeploymentTargets) SetAccounts(v []*string) *DeploymentTargets { + s.Accounts = v return s } -// SetTemplateBody sets the TemplateBody field's value. -func (s *CreateStackSetInput) SetTemplateBody(v string) *CreateStackSetInput { - s.TemplateBody = &v +// SetAccountsUrl sets the AccountsUrl field's value. +func (s *DeploymentTargets) SetAccountsUrl(v string) *DeploymentTargets { + s.AccountsUrl = &v return s } -// SetTemplateURL sets the TemplateURL field's value. -func (s *CreateStackSetInput) SetTemplateURL(v string) *CreateStackSetInput { - s.TemplateURL = &v +// SetOrganizationalUnitIds sets the OrganizationalUnitIds field's value. +func (s *DeploymentTargets) SetOrganizationalUnitIds(v []*string) *DeploymentTargets { + s.OrganizationalUnitIds = v return s } -type CreateStackSetOutput struct { +type DeregisterTypeInput struct { _ struct{} `type:"structure"` - // The ID of the stack set that you're creating. - StackSetId *string `type:"string"` + // The Amazon Resource Name (ARN) of the extension. + // + // Conditional: You must specify either TypeName and Type, or Arn. + Arn *string `type:"string"` + + // The kind of extension. + // + // Conditional: You must specify either TypeName and Type, or Arn. + Type *string `type:"string" enum:"RegistryType"` + + // The name of the extension. + // + // Conditional: You must specify either TypeName and Type, or Arn. + TypeName *string `min:"10" type:"string"` + + // The ID of a specific version of the extension. The version ID is the value + // at the end of the Amazon Resource Name (ARN) assigned to the extension version + // when it is registered. + VersionId *string `min:"1" type:"string"` } // String returns the string representation. @@ -9636,7 +11764,7 @@ type CreateStackSetOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateStackSetOutput) String() string { +func (s DeregisterTypeInput) String() string { return awsutil.Prettify(s) } @@ -9645,39 +11773,51 @@ func (s CreateStackSetOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateStackSetOutput) GoString() string { +func (s DeregisterTypeInput) GoString() string { return s.String() } -// SetStackSetId sets the StackSetId field's value. -func (s *CreateStackSetOutput) SetStackSetId(v string) *CreateStackSetOutput { - s.StackSetId = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeregisterTypeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeregisterTypeInput"} + if s.TypeName != nil && len(*s.TypeName) < 10 { + invalidParams.Add(request.NewErrParamMinLen("TypeName", 10)) + } + if s.VersionId != nil && len(*s.VersionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VersionId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *DeregisterTypeInput) SetArn(v string) *DeregisterTypeInput { + s.Arn = &v return s } -type DeactivateOrganizationsAccessInput struct { - _ struct{} `type:"structure"` +// SetType sets the Type field's value. +func (s *DeregisterTypeInput) SetType(v string) *DeregisterTypeInput { + s.Type = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DeactivateOrganizationsAccessInput) String() string { - return awsutil.Prettify(s) +// SetTypeName sets the TypeName field's value. +func (s *DeregisterTypeInput) SetTypeName(v string) *DeregisterTypeInput { + s.TypeName = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DeactivateOrganizationsAccessInput) GoString() string { - return s.String() +// SetVersionId sets the VersionId field's value. +func (s *DeregisterTypeInput) SetVersionId(v string) *DeregisterTypeInput { + s.VersionId = &v + return s } -type DeactivateOrganizationsAccessOutput struct { +type DeregisterTypeOutput struct { _ struct{} `type:"structure"` } @@ -9686,7 +11826,7 @@ type DeactivateOrganizationsAccessOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeactivateOrganizationsAccessOutput) String() string { +func (s DeregisterTypeOutput) String() string { return awsutil.Prettify(s) } @@ -9695,28 +11835,16 @@ func (s DeactivateOrganizationsAccessOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeactivateOrganizationsAccessOutput) GoString() string { +func (s DeregisterTypeOutput) GoString() string { return s.String() } -type DeactivateTypeInput struct { +// The input for the DescribeAccountLimits action. +type DescribeAccountLimitsInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) for the extension, in this account and Region. - // - // Conditional: You must specify either Arn, or TypeName and Type. - Arn *string `type:"string"` - - // The extension type. - // - // Conditional: You must specify either Arn, or TypeName and Type. - Type *string `type:"string" enum:"ThirdPartyType"` - - // The type name of the extension, in this account and Region. If you specified - // a type name alias when enabling the extension, use the type name alias. - // - // Conditional: You must specify either Arn, or TypeName and Type. - TypeName *string `min:"10" type:"string"` + // A string that identifies the next page of limits that you want to retrieve. + NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -9724,7 +11852,7 @@ type DeactivateTypeInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeactivateTypeInput) String() string { +func (s DescribeAccountLimitsInput) String() string { return awsutil.Prettify(s) } @@ -9733,15 +11861,15 @@ func (s DeactivateTypeInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeactivateTypeInput) GoString() string { +func (s DescribeAccountLimitsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeactivateTypeInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeactivateTypeInput"} - if s.TypeName != nil && len(*s.TypeName) < 10 { - invalidParams.Add(request.NewErrParamMinLen("TypeName", 10)) +func (s *DescribeAccountLimitsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAccountLimitsInput"} + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } if invalidParams.Len() > 0 { @@ -9750,26 +11878,23 @@ func (s *DeactivateTypeInput) Validate() error { return nil } -// SetArn sets the Arn field's value. -func (s *DeactivateTypeInput) SetArn(v string) *DeactivateTypeInput { - s.Arn = &v +// SetNextToken sets the NextToken field's value. +func (s *DescribeAccountLimitsInput) SetNextToken(v string) *DescribeAccountLimitsInput { + s.NextToken = &v return s } -// SetType sets the Type field's value. -func (s *DeactivateTypeInput) SetType(v string) *DeactivateTypeInput { - s.Type = &v - return s -} +// The output for the DescribeAccountLimits action. +type DescribeAccountLimitsOutput struct { + _ struct{} `type:"structure"` -// SetTypeName sets the TypeName field's value. -func (s *DeactivateTypeInput) SetTypeName(v string) *DeactivateTypeInput { - s.TypeName = &v - return s -} + // An account limit structure that contain a list of CloudFormation account + // limits and their values. + AccountLimits []*AccountLimit `type:"list"` -type DeactivateTypeOutput struct { - _ struct{} `type:"structure"` + // If the output exceeds 1 MB in size, a string that identifies the next page + // of limits. If no additional page exists, this value is null. + NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -9777,7 +11902,7 @@ type DeactivateTypeOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeactivateTypeOutput) String() string { +func (s DescribeAccountLimitsOutput) String() string { return awsutil.Prettify(s) } @@ -9786,22 +11911,40 @@ func (s DeactivateTypeOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeactivateTypeOutput) GoString() string { +func (s DescribeAccountLimitsOutput) GoString() string { return s.String() } -// The input for the DeleteChangeSet action. -type DeleteChangeSetInput struct { +// SetAccountLimits sets the AccountLimits field's value. +func (s *DescribeAccountLimitsOutput) SetAccountLimits(v []*AccountLimit) *DescribeAccountLimitsOutput { + s.AccountLimits = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeAccountLimitsOutput) SetNextToken(v string) *DescribeAccountLimitsOutput { + s.NextToken = &v + return s +} + +type DescribeChangeSetHooksInput struct { _ struct{} `type:"structure"` // The name or Amazon Resource Name (ARN) of the change set that you want to - // delete. + // describe. // // ChangeSetName is a required field ChangeSetName *string `min:"1" type:"string" required:"true"` - // If you specified the name of a change set to delete, specify the stack name - // or Amazon Resource Name (ARN) that's associated with it. + // If specified, lists only the hooks related to the specified LogicalResourceId. + LogicalResourceId *string `type:"string"` + + // A string, provided by the DescribeChangeSetHooks response output, that identifies + // the next page of information that you want to retrieve. + NextToken *string `min:"1" type:"string"` + + // If you specified the name of a change set, specify the stack name or stack + // ID (ARN) of the change set you want to describe. StackName *string `min:"1" type:"string"` } @@ -9810,7 +11953,7 @@ type DeleteChangeSetInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteChangeSetInput) String() string { +func (s DescribeChangeSetHooksInput) String() string { return awsutil.Prettify(s) } @@ -9819,19 +11962,22 @@ func (s DeleteChangeSetInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteChangeSetInput) GoString() string { +func (s DescribeChangeSetHooksInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteChangeSetInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteChangeSetInput"} +func (s *DescribeChangeSetHooksInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeChangeSetHooksInput"} if s.ChangeSetName == nil { invalidParams.Add(request.NewErrParamRequired("ChangeSetName")) } if s.ChangeSetName != nil && len(*s.ChangeSetName) < 1 { invalidParams.Add(request.NewErrParamMinLen("ChangeSetName", 1)) } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } if s.StackName != nil && len(*s.StackName) < 1 { invalidParams.Add(request.NewErrParamMinLen("StackName", 1)) } @@ -9843,20 +11989,52 @@ func (s *DeleteChangeSetInput) Validate() error { } // SetChangeSetName sets the ChangeSetName field's value. -func (s *DeleteChangeSetInput) SetChangeSetName(v string) *DeleteChangeSetInput { +func (s *DescribeChangeSetHooksInput) SetChangeSetName(v string) *DescribeChangeSetHooksInput { s.ChangeSetName = &v return s } +// SetLogicalResourceId sets the LogicalResourceId field's value. +func (s *DescribeChangeSetHooksInput) SetLogicalResourceId(v string) *DescribeChangeSetHooksInput { + s.LogicalResourceId = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeChangeSetHooksInput) SetNextToken(v string) *DescribeChangeSetHooksInput { + s.NextToken = &v + return s +} + // SetStackName sets the StackName field's value. -func (s *DeleteChangeSetInput) SetStackName(v string) *DeleteChangeSetInput { +func (s *DescribeChangeSetHooksInput) SetStackName(v string) *DescribeChangeSetHooksInput { s.StackName = &v return s } -// The output for the DeleteChangeSet action. -type DeleteChangeSetOutput struct { +type DescribeChangeSetHooksOutput struct { _ struct{} `type:"structure"` + + // The change set identifier (stack ID). + ChangeSetId *string `min:"1" type:"string"` + + // The change set name. + ChangeSetName *string `min:"1" type:"string"` + + // List of hook objects. + Hooks []*ChangeSetHook `type:"list"` + + // Pagination token, null or empty if no more results. + NextToken *string `min:"1" type:"string"` + + // The stack identifier (stack ID). + StackId *string `type:"string"` + + // The stack name. + StackName *string `type:"string"` + + // Provides the status of the change set hook. + Status *string `type:"string" enum:"ChangeSetHooksStatus"` } // String returns the string representation. @@ -9864,7 +12042,7 @@ type DeleteChangeSetOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteChangeSetOutput) String() string { +func (s DescribeChangeSetHooksOutput) String() string { return awsutil.Prettify(s) } @@ -9873,52 +12051,69 @@ func (s DeleteChangeSetOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteChangeSetOutput) GoString() string { +func (s DescribeChangeSetHooksOutput) GoString() string { return s.String() } -// The input for DeleteStack action. -type DeleteStackInput struct { - _ struct{} `type:"structure"` +// SetChangeSetId sets the ChangeSetId field's value. +func (s *DescribeChangeSetHooksOutput) SetChangeSetId(v string) *DescribeChangeSetHooksOutput { + s.ChangeSetId = &v + return s +} - // A unique identifier for this DeleteStack request. Specify this token if you - // plan to retry requests so that CloudFormation knows that you're not attempting - // to delete a stack with the same name. You might retry DeleteStack requests - // to ensure that CloudFormation successfully received them. - // - // All events initiated by a given stack operation are assigned the same client - // request token, which you can use to track operations. For example, if you - // execute a CreateStack operation with the token token1, then all the StackEvents - // generated by that operation will have ClientRequestToken set as token1. - // - // In the console, stack operations display the client request token on the - // Events tab. Stack operations that are initiated from the console use the - // token format Console-StackOperation-ID, which helps you easily identify the - // stack operation . For example, if you create a stack using the console, each - // stack event would be assigned the same token in the following format: Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002. - ClientRequestToken *string `min:"1" type:"string"` +// SetChangeSetName sets the ChangeSetName field's value. +func (s *DescribeChangeSetHooksOutput) SetChangeSetName(v string) *DescribeChangeSetHooksOutput { + s.ChangeSetName = &v + return s +} + +// SetHooks sets the Hooks field's value. +func (s *DescribeChangeSetHooksOutput) SetHooks(v []*ChangeSetHook) *DescribeChangeSetHooksOutput { + s.Hooks = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeChangeSetHooksOutput) SetNextToken(v string) *DescribeChangeSetHooksOutput { + s.NextToken = &v + return s +} + +// SetStackId sets the StackId field's value. +func (s *DescribeChangeSetHooksOutput) SetStackId(v string) *DescribeChangeSetHooksOutput { + s.StackId = &v + return s +} + +// SetStackName sets the StackName field's value. +func (s *DescribeChangeSetHooksOutput) SetStackName(v string) *DescribeChangeSetHooksOutput { + s.StackName = &v + return s +} - // For stacks in the DELETE_FAILED state, a list of resource logical IDs that - // are associated with the resources you want to retain. During deletion, CloudFormation - // deletes the stack but doesn't delete the retained resources. - // - // Retaining resources is useful when you can't delete a resource, such as a - // non-empty S3 bucket, but you want to delete the stack. - RetainResources []*string `type:"list"` +// SetStatus sets the Status field's value. +func (s *DescribeChangeSetHooksOutput) SetStatus(v string) *DescribeChangeSetHooksOutput { + s.Status = &v + return s +} - // The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) - // role that CloudFormation assumes to delete the stack. CloudFormation uses - // the role's credentials to make calls on your behalf. - // - // If you don't specify a value, CloudFormation uses the role that was previously - // associated with the stack. If no role is available, CloudFormation uses a - // temporary session that's generated from your user credentials. - RoleARN *string `min:"20" type:"string"` +// The input for the DescribeChangeSet action. +type DescribeChangeSetInput struct { + _ struct{} `type:"structure"` - // The name or the unique stack ID that's associated with the stack. + // The name or Amazon Resource Name (ARN) of the change set that you want to + // describe. // - // StackName is a required field - StackName *string `type:"string" required:"true"` + // ChangeSetName is a required field + ChangeSetName *string `min:"1" type:"string" required:"true"` + + // A string (provided by the DescribeChangeSet response output) that identifies + // the next page of information that you want to retrieve. + NextToken *string `min:"1" type:"string"` + + // If you specified the name of a change set, specify the stack name or ID (ARN) + // of the change set you want to describe. + StackName *string `min:"1" type:"string"` } // String returns the string representation. @@ -9926,7 +12121,7 @@ type DeleteStackInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteStackInput) String() string { +func (s DescribeChangeSetInput) String() string { return awsutil.Prettify(s) } @@ -9935,21 +12130,24 @@ func (s DeleteStackInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteStackInput) GoString() string { +func (s DescribeChangeSetInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteStackInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteStackInput"} - if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) +func (s *DescribeChangeSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeChangeSetInput"} + if s.ChangeSetName == nil { + invalidParams.Add(request.NewErrParamRequired("ChangeSetName")) } - if s.RoleARN != nil && len(*s.RoleARN) < 20 { - invalidParams.Add(request.NewErrParamMinLen("RoleARN", 20)) + if s.ChangeSetName != nil && len(*s.ChangeSetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeSetName", 1)) } - if s.StackName == nil { - invalidParams.Add(request.NewErrParamRequired("StackName")) + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.StackName != nil && len(*s.StackName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StackName", 1)) } if invalidParams.Len() > 0 { @@ -9958,96 +12156,128 @@ func (s *DeleteStackInput) Validate() error { return nil } -// SetClientRequestToken sets the ClientRequestToken field's value. -func (s *DeleteStackInput) SetClientRequestToken(v string) *DeleteStackInput { - s.ClientRequestToken = &v - return s -} - -// SetRetainResources sets the RetainResources field's value. -func (s *DeleteStackInput) SetRetainResources(v []*string) *DeleteStackInput { - s.RetainResources = v +// SetChangeSetName sets the ChangeSetName field's value. +func (s *DescribeChangeSetInput) SetChangeSetName(v string) *DescribeChangeSetInput { + s.ChangeSetName = &v return s } -// SetRoleARN sets the RoleARN field's value. -func (s *DeleteStackInput) SetRoleARN(v string) *DeleteStackInput { - s.RoleARN = &v +// SetNextToken sets the NextToken field's value. +func (s *DescribeChangeSetInput) SetNextToken(v string) *DescribeChangeSetInput { + s.NextToken = &v return s } // SetStackName sets the StackName field's value. -func (s *DeleteStackInput) SetStackName(v string) *DeleteStackInput { +func (s *DescribeChangeSetInput) SetStackName(v string) *DescribeChangeSetInput { s.StackName = &v return s } -type DeleteStackInstancesInput struct { +// The output for the DescribeChangeSet action. +type DescribeChangeSetOutput struct { _ struct{} `type:"structure"` - // [Self-managed permissions] The names of the Amazon Web Services accounts - // that you want to delete stack instances for. - // - // You can specify Accounts or DeploymentTargets, but not both. - Accounts []*string `type:"list"` + // If you execute the change set, the list of capabilities that were explicitly + // acknowledged when the change set was created. + Capabilities []*string `type:"list" enum:"Capability"` - // [Service-managed permissions] Specifies whether you are acting as an account - // administrator in the organization's management account or as a delegated - // administrator in a member account. - // - // By default, SELF is specified. Use SELF for stack sets with self-managed - // permissions. - // - // * If you are signed in to the management account, specify SELF. - // - // * If you are signed in to a delegated administrator account, specify DELEGATED_ADMIN. - // Your Amazon Web Services account must be registered as a delegated administrator - // in the management account. For more information, see Register a delegated - // administrator (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html) - // in the CloudFormation User Guide. - CallAs *string `type:"string" enum:"CallAs"` + // The Amazon Resource Name (ARN) of the change set. + ChangeSetId *string `min:"1" type:"string"` - // [Service-managed permissions] The Organizations accounts from which to delete - // stack instances. + // The name of the change set. + ChangeSetName *string `min:"1" type:"string"` + + // A list of Change structures that describes the resources CloudFormation changes + // if you execute the change set. + Changes []*Change `type:"list"` + + // The start time when the change set was created, in UTC. + CreationTime *time.Time `type:"timestamp"` + + // Information about the change set. + Description *string `min:"1" type:"string"` + + // If the change set execution status is AVAILABLE, you can execute the change + // set. If you can't execute the change set, the status indicates why. For example, + // a change set might be in an UNAVAILABLE state because CloudFormation is still + // creating it or in an OBSOLETE state because the stack was already updated. + ExecutionStatus *string `type:"string" enum:"ExecutionStatus"` + + // Indicates if the change set imports resources that already exist. // - // You can specify Accounts or DeploymentTargets, but not both. - DeploymentTargets *DeploymentTargets `type:"structure"` + // This parameter can only import resources that have custom names (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) + // in templates. To import resources that do not accept custom names, such as + // EC2 instances, use the resource import (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resource-import.html) + // feature instead. + ImportExistingResources *bool `type:"boolean"` - // The unique identifier for this stack set operation. + // Verifies if IncludeNestedStacks is set to True. + IncludeNestedStacks *bool `type:"boolean"` + + // If the output exceeds 1 MB, a string that identifies the next page of changes. + // If there is no additional page, this value is null. + NextToken *string `min:"1" type:"string"` + + // The ARNs of the Amazon Simple Notification Service (Amazon SNS) topics that + // will be associated with the stack if you execute the change set. + NotificationARNs []*string `type:"list"` + + // Determines what action will be taken if stack creation fails. When this parameter + // is specified, the DisableRollback parameter to the ExecuteChangeSet (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ExecuteChangeSet.html) + // API operation must not be specified. This must be one of these values: // - // If you don't specify an operation ID, the SDK generates one automatically. + // * DELETE - Deletes the change set if the stack creation fails. This is + // only valid when the ChangeSetType parameter is set to CREATE. If the deletion + // of the stack fails, the status of the stack is DELETE_FAILED. // - // The operation ID also functions as an idempotency token, to ensure that CloudFormation - // performs the stack set operation only once, even if you retry the request - // multiple times. You can retry stack set operation requests to ensure that - // CloudFormation successfully received them. + // * DO_NOTHING - if the stack creation fails, do nothing. This is equivalent + // to specifying true for the DisableRollback parameter to the ExecuteChangeSet + // (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ExecuteChangeSet.html) + // API operation. // - // Repeating this stack set operation with a new operation ID retries all stack - // instances whose status is OUTDATED. - OperationId *string `min:"1" type:"string" idempotencyToken:"true"` + // * ROLLBACK - if the stack creation fails, roll back the stack. This is + // equivalent to specifying false for the DisableRollback parameter to the + // ExecuteChangeSet (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ExecuteChangeSet.html) + // API operation. + OnStackFailure *string `type:"string" enum:"OnStackFailure"` - // Preferences for how CloudFormation performs this stack set operation. - OperationPreferences *StackSetOperationPreferences `type:"structure"` + // A list of Parameter structures that describes the input parameters and their + // values used to create the change set. For more information, see the Parameter + // (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Parameter.html) + // data type. + Parameters []*Parameter `type:"list"` - // The Amazon Web Services Regions where you want to delete stack set instances. - // - // Regions is a required field - Regions []*string `type:"list" required:"true"` + // Specifies the change set ID of the parent change set in the current nested + // change set hierarchy. + ParentChangeSetId *string `min:"1" type:"string"` - // Removes the stack instances from the specified stack set, but doesn't delete - // the stacks. You can't reassociate a retained stack or add an existing, saved - // stack to a new stack set. - // - // For more information, see Stack set operation options (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-ops-options). - // - // RetainStacks is a required field - RetainStacks *bool `type:"boolean" required:"true"` + // The rollback triggers for CloudFormation to monitor during stack creation + // and updating operations, and for the specified monitoring period afterwards. + RollbackConfiguration *RollbackConfiguration `type:"structure"` - // The name or unique ID of the stack set that you want to delete stack instances - // for. - // - // StackSetName is a required field - StackSetName *string `type:"string" required:"true"` + // Specifies the change set ID of the root change set in the current nested + // change set hierarchy. + RootChangeSetId *string `min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the stack that's associated with the change + // set. + StackId *string `type:"string"` + + // The name of the stack that's associated with the change set. + StackName *string `type:"string"` + + // The current status of the change set, such as CREATE_IN_PROGRESS, CREATE_COMPLETE, + // or FAILED. + Status *string `type:"string" enum:"ChangeSetStatus"` + + // A description of the change set's status. For example, if your attempt to + // create a change set failed, CloudFormation shows the error message. + StatusReason *string `type:"string"` + + // If you execute the change set, the tags that will be associated with the + // stack. + Tags []*Tag `type:"list"` } // String returns the string representation. @@ -10055,176 +12285,152 @@ type DeleteStackInstancesInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteStackInstancesInput) String() string { +func (s DescribeChangeSetOutput) String() string { return awsutil.Prettify(s) } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DeleteStackInstancesInput) GoString() string { - return s.String() +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeChangeSetOutput) GoString() string { + return s.String() +} + +// SetCapabilities sets the Capabilities field's value. +func (s *DescribeChangeSetOutput) SetCapabilities(v []*string) *DescribeChangeSetOutput { + s.Capabilities = v + return s +} + +// SetChangeSetId sets the ChangeSetId field's value. +func (s *DescribeChangeSetOutput) SetChangeSetId(v string) *DescribeChangeSetOutput { + s.ChangeSetId = &v + return s +} + +// SetChangeSetName sets the ChangeSetName field's value. +func (s *DescribeChangeSetOutput) SetChangeSetName(v string) *DescribeChangeSetOutput { + s.ChangeSetName = &v + return s +} + +// SetChanges sets the Changes field's value. +func (s *DescribeChangeSetOutput) SetChanges(v []*Change) *DescribeChangeSetOutput { + s.Changes = v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteStackInstancesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteStackInstancesInput"} - if s.OperationId != nil && len(*s.OperationId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("OperationId", 1)) - } - if s.Regions == nil { - invalidParams.Add(request.NewErrParamRequired("Regions")) - } - if s.RetainStacks == nil { - invalidParams.Add(request.NewErrParamRequired("RetainStacks")) - } - if s.StackSetName == nil { - invalidParams.Add(request.NewErrParamRequired("StackSetName")) - } - if s.DeploymentTargets != nil { - if err := s.DeploymentTargets.Validate(); err != nil { - invalidParams.AddNested("DeploymentTargets", err.(request.ErrInvalidParams)) - } - } - if s.OperationPreferences != nil { - if err := s.OperationPreferences.Validate(); err != nil { - invalidParams.AddNested("OperationPreferences", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCreationTime sets the CreationTime field's value. +func (s *DescribeChangeSetOutput) SetCreationTime(v time.Time) *DescribeChangeSetOutput { + s.CreationTime = &v + return s } -// SetAccounts sets the Accounts field's value. -func (s *DeleteStackInstancesInput) SetAccounts(v []*string) *DeleteStackInstancesInput { - s.Accounts = v +// SetDescription sets the Description field's value. +func (s *DescribeChangeSetOutput) SetDescription(v string) *DescribeChangeSetOutput { + s.Description = &v return s } -// SetCallAs sets the CallAs field's value. -func (s *DeleteStackInstancesInput) SetCallAs(v string) *DeleteStackInstancesInput { - s.CallAs = &v +// SetExecutionStatus sets the ExecutionStatus field's value. +func (s *DescribeChangeSetOutput) SetExecutionStatus(v string) *DescribeChangeSetOutput { + s.ExecutionStatus = &v return s } -// SetDeploymentTargets sets the DeploymentTargets field's value. -func (s *DeleteStackInstancesInput) SetDeploymentTargets(v *DeploymentTargets) *DeleteStackInstancesInput { - s.DeploymentTargets = v +// SetImportExistingResources sets the ImportExistingResources field's value. +func (s *DescribeChangeSetOutput) SetImportExistingResources(v bool) *DescribeChangeSetOutput { + s.ImportExistingResources = &v return s } -// SetOperationId sets the OperationId field's value. -func (s *DeleteStackInstancesInput) SetOperationId(v string) *DeleteStackInstancesInput { - s.OperationId = &v +// SetIncludeNestedStacks sets the IncludeNestedStacks field's value. +func (s *DescribeChangeSetOutput) SetIncludeNestedStacks(v bool) *DescribeChangeSetOutput { + s.IncludeNestedStacks = &v return s } -// SetOperationPreferences sets the OperationPreferences field's value. -func (s *DeleteStackInstancesInput) SetOperationPreferences(v *StackSetOperationPreferences) *DeleteStackInstancesInput { - s.OperationPreferences = v +// SetNextToken sets the NextToken field's value. +func (s *DescribeChangeSetOutput) SetNextToken(v string) *DescribeChangeSetOutput { + s.NextToken = &v return s } -// SetRegions sets the Regions field's value. -func (s *DeleteStackInstancesInput) SetRegions(v []*string) *DeleteStackInstancesInput { - s.Regions = v +// SetNotificationARNs sets the NotificationARNs field's value. +func (s *DescribeChangeSetOutput) SetNotificationARNs(v []*string) *DescribeChangeSetOutput { + s.NotificationARNs = v return s } -// SetRetainStacks sets the RetainStacks field's value. -func (s *DeleteStackInstancesInput) SetRetainStacks(v bool) *DeleteStackInstancesInput { - s.RetainStacks = &v +// SetOnStackFailure sets the OnStackFailure field's value. +func (s *DescribeChangeSetOutput) SetOnStackFailure(v string) *DescribeChangeSetOutput { + s.OnStackFailure = &v return s } -// SetStackSetName sets the StackSetName field's value. -func (s *DeleteStackInstancesInput) SetStackSetName(v string) *DeleteStackInstancesInput { - s.StackSetName = &v +// SetParameters sets the Parameters field's value. +func (s *DescribeChangeSetOutput) SetParameters(v []*Parameter) *DescribeChangeSetOutput { + s.Parameters = v return s } -type DeleteStackInstancesOutput struct { - _ struct{} `type:"structure"` +// SetParentChangeSetId sets the ParentChangeSetId field's value. +func (s *DescribeChangeSetOutput) SetParentChangeSetId(v string) *DescribeChangeSetOutput { + s.ParentChangeSetId = &v + return s +} - // The unique identifier for this stack set operation. - OperationId *string `min:"1" type:"string"` +// SetRollbackConfiguration sets the RollbackConfiguration field's value. +func (s *DescribeChangeSetOutput) SetRollbackConfiguration(v *RollbackConfiguration) *DescribeChangeSetOutput { + s.RollbackConfiguration = v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DeleteStackInstancesOutput) String() string { - return awsutil.Prettify(s) +// SetRootChangeSetId sets the RootChangeSetId field's value. +func (s *DescribeChangeSetOutput) SetRootChangeSetId(v string) *DescribeChangeSetOutput { + s.RootChangeSetId = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DeleteStackInstancesOutput) GoString() string { - return s.String() +// SetStackId sets the StackId field's value. +func (s *DescribeChangeSetOutput) SetStackId(v string) *DescribeChangeSetOutput { + s.StackId = &v + return s } -// SetOperationId sets the OperationId field's value. -func (s *DeleteStackInstancesOutput) SetOperationId(v string) *DeleteStackInstancesOutput { - s.OperationId = &v +// SetStackName sets the StackName field's value. +func (s *DescribeChangeSetOutput) SetStackName(v string) *DescribeChangeSetOutput { + s.StackName = &v return s } -type DeleteStackOutput struct { - _ struct{} `type:"structure"` +// SetStatus sets the Status field's value. +func (s *DescribeChangeSetOutput) SetStatus(v string) *DescribeChangeSetOutput { + s.Status = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DeleteStackOutput) String() string { - return awsutil.Prettify(s) +// SetStatusReason sets the StatusReason field's value. +func (s *DescribeChangeSetOutput) SetStatusReason(v string) *DescribeChangeSetOutput { + s.StatusReason = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DeleteStackOutput) GoString() string { - return s.String() +// SetTags sets the Tags field's value. +func (s *DescribeChangeSetOutput) SetTags(v []*Tag) *DescribeChangeSetOutput { + s.Tags = v + return s } -type DeleteStackSetInput struct { +type DescribeGeneratedTemplateInput struct { _ struct{} `type:"structure"` - // [Service-managed permissions] Specifies whether you are acting as an account - // administrator in the organization's management account or as a delegated - // administrator in a member account. - // - // By default, SELF is specified. Use SELF for stack sets with self-managed - // permissions. - // - // * If you are signed in to the management account, specify SELF. - // - // * If you are signed in to a delegated administrator account, specify DELEGATED_ADMIN. - // Your Amazon Web Services account must be registered as a delegated administrator - // in the management account. For more information, see Register a delegated - // administrator (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html) - // in the CloudFormation User Guide. - CallAs *string `type:"string" enum:"CallAs"` - - // The name or unique ID of the stack set that you're deleting. You can obtain - // this value by running ListStackSets. + // The name or Amazon Resource Name (ARN) of a generated template. // - // StackSetName is a required field - StackSetName *string `type:"string" required:"true"` + // GeneratedTemplateName is a required field + GeneratedTemplateName *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -10232,7 +12438,7 @@ type DeleteStackSetInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteStackSetInput) String() string { +func (s DescribeGeneratedTemplateInput) String() string { return awsutil.Prettify(s) } @@ -10241,15 +12447,18 @@ func (s DeleteStackSetInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteStackSetInput) GoString() string { +func (s DescribeGeneratedTemplateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteStackSetInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteStackSetInput"} - if s.StackSetName == nil { - invalidParams.Add(request.NewErrParamRequired("StackSetName")) +func (s *DescribeGeneratedTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeGeneratedTemplateInput"} + if s.GeneratedTemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("GeneratedTemplateName")) + } + if s.GeneratedTemplateName != nil && len(*s.GeneratedTemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GeneratedTemplateName", 1)) } if invalidParams.Len() > 0 { @@ -10258,81 +12467,69 @@ func (s *DeleteStackSetInput) Validate() error { return nil } -// SetCallAs sets the CallAs field's value. -func (s *DeleteStackSetInput) SetCallAs(v string) *DeleteStackSetInput { - s.CallAs = &v - return s -} - -// SetStackSetName sets the StackSetName field's value. -func (s *DeleteStackSetInput) SetStackSetName(v string) *DeleteStackSetInput { - s.StackSetName = &v +// SetGeneratedTemplateName sets the GeneratedTemplateName field's value. +func (s *DescribeGeneratedTemplateInput) SetGeneratedTemplateName(v string) *DescribeGeneratedTemplateInput { + s.GeneratedTemplateName = &v return s } -type DeleteStackSetOutput struct { +type DescribeGeneratedTemplateOutput struct { _ struct{} `type:"structure"` -} -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DeleteStackSetOutput) String() string { - return awsutil.Prettify(s) -} + // The time the generated template was created. + CreationTime *time.Time `type:"timestamp"` -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DeleteStackSetOutput) GoString() string { - return s.String() -} + // The Amazon Resource Name (ARN) of the generated template. The format is arn:${Partition}:cloudformation:${Region}:${Account}:generatedtemplate/${Id}. + // For example, arn:aws:cloudformation:us-east-1:123456789012:generatedtemplate/2e8465c1-9a80-43ea-a3a3-4f2d692fe6dc . + GeneratedTemplateId *string `min:"1" type:"string"` -// [Service-managed permissions] The Organizations accounts to which StackSets -// deploys. StackSets doesn't deploy stack instances to the organization management -// account, even if the organization management account is in your organization -// or in an OU in your organization. -// -// For update operations, you can specify either Accounts or OrganizationalUnitIds. -// For create and delete operations, specify OrganizationalUnitIds. -type DeploymentTargets struct { - _ struct{} `type:"structure"` + // The name of the generated template. + GeneratedTemplateName *string `min:"1" type:"string"` - // Limit deployment targets to individual accounts or include additional accounts - // with provided OUs. + // The time the generated template was last updated. + LastUpdatedTime *time.Time `type:"timestamp"` + + // An object describing the progress of the template generation. + Progress *TemplateProgress `type:"structure"` + + // A list of objects describing the details of the resources in the template + // generation. + Resources []*ResourceDetail `min:"1" type:"list"` + + // The stack ARN of the base stack if a base stack was provided when generating + // the template. + StackId *string `type:"string"` + + // The status of the template generation. Supported values are: // - // The following is a list of possible values for the AccountFilterType operation. + // * CreatePending - the creation of the template is pending. // - // * INTERSECTION: StackSets deploys to the accounts specified in Accounts - // parameter. + // * CreateInProgress - the creation of the template is in progress. // - // * DIFFERENCE: StackSets excludes the accounts specified in Accounts parameter. - // This enables user to avoid certain accounts within an OU such as suspended - // accounts. + // * DeletePending - the deletion of the template is pending. // - // * UNION: StackSets includes additional accounts deployment targets. This - // is the default value if AccountFilterType is not provided. This enables - // user to update an entire OU and individual accounts from a different OU - // in one request, which used to be two separate requests. + // * DeleteInProgress - the deletion of the template is in progress. // - // * NONE: Deploys to all the accounts in specified organizational units - // (OU). - AccountFilterType *string `type:"string" enum:"AccountFilterType"` + // * UpdatePending - the update of the template is pending. + // + // * UpdateInProgress - the update of the template is in progress. + // + // * Failed - the template operation failed. + // + // * Complete - the template operation is complete. + Status *string `type:"string" enum:"GeneratedTemplateStatus"` - // The names of one or more Amazon Web Services accounts for which you want - // to deploy stack set updates. - Accounts []*string `type:"list"` + // The reason for the current template generation status. This will provide + // more details if a failure happened. + StatusReason *string `min:"1" type:"string"` - // Returns the value of the AccountsUrl property. - AccountsUrl *string `min:"1" type:"string"` + // The configuration details of the generated template, including the DeletionPolicy + // and UpdateReplacePolicy. + TemplateConfiguration *TemplateConfiguration `type:"structure"` - // The organization root ID or organizational unit (OU) IDs to which StackSets - // deploys. - OrganizationalUnitIds []*string `type:"list"` + // The number of warnings generated for this template. The warnings are found + // in the details of each of the resources in the template. + TotalWarnings *int64 `type:"integer"` } // String returns the string representation. @@ -10340,7 +12537,7 @@ type DeploymentTargets struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeploymentTargets) String() string { +func (s DescribeGeneratedTemplateOutput) String() string { return awsutil.Prettify(s) } @@ -10349,69 +12546,93 @@ func (s DeploymentTargets) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeploymentTargets) GoString() string { +func (s DescribeGeneratedTemplateOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeploymentTargets) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeploymentTargets"} - if s.AccountsUrl != nil && len(*s.AccountsUrl) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AccountsUrl", 1)) - } +// SetCreationTime sets the CreationTime field's value. +func (s *DescribeGeneratedTemplateOutput) SetCreationTime(v time.Time) *DescribeGeneratedTemplateOutput { + s.CreationTime = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetGeneratedTemplateId sets the GeneratedTemplateId field's value. +func (s *DescribeGeneratedTemplateOutput) SetGeneratedTemplateId(v string) *DescribeGeneratedTemplateOutput { + s.GeneratedTemplateId = &v + return s } -// SetAccountFilterType sets the AccountFilterType field's value. -func (s *DeploymentTargets) SetAccountFilterType(v string) *DeploymentTargets { - s.AccountFilterType = &v +// SetGeneratedTemplateName sets the GeneratedTemplateName field's value. +func (s *DescribeGeneratedTemplateOutput) SetGeneratedTemplateName(v string) *DescribeGeneratedTemplateOutput { + s.GeneratedTemplateName = &v return s } -// SetAccounts sets the Accounts field's value. -func (s *DeploymentTargets) SetAccounts(v []*string) *DeploymentTargets { - s.Accounts = v +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *DescribeGeneratedTemplateOutput) SetLastUpdatedTime(v time.Time) *DescribeGeneratedTemplateOutput { + s.LastUpdatedTime = &v return s } -// SetAccountsUrl sets the AccountsUrl field's value. -func (s *DeploymentTargets) SetAccountsUrl(v string) *DeploymentTargets { - s.AccountsUrl = &v +// SetProgress sets the Progress field's value. +func (s *DescribeGeneratedTemplateOutput) SetProgress(v *TemplateProgress) *DescribeGeneratedTemplateOutput { + s.Progress = v return s } -// SetOrganizationalUnitIds sets the OrganizationalUnitIds field's value. -func (s *DeploymentTargets) SetOrganizationalUnitIds(v []*string) *DeploymentTargets { - s.OrganizationalUnitIds = v +// SetResources sets the Resources field's value. +func (s *DescribeGeneratedTemplateOutput) SetResources(v []*ResourceDetail) *DescribeGeneratedTemplateOutput { + s.Resources = v return s } -type DeregisterTypeInput struct { +// SetStackId sets the StackId field's value. +func (s *DescribeGeneratedTemplateOutput) SetStackId(v string) *DescribeGeneratedTemplateOutput { + s.StackId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DescribeGeneratedTemplateOutput) SetStatus(v string) *DescribeGeneratedTemplateOutput { + s.Status = &v + return s +} + +// SetStatusReason sets the StatusReason field's value. +func (s *DescribeGeneratedTemplateOutput) SetStatusReason(v string) *DescribeGeneratedTemplateOutput { + s.StatusReason = &v + return s +} + +// SetTemplateConfiguration sets the TemplateConfiguration field's value. +func (s *DescribeGeneratedTemplateOutput) SetTemplateConfiguration(v *TemplateConfiguration) *DescribeGeneratedTemplateOutput { + s.TemplateConfiguration = v + return s +} + +// SetTotalWarnings sets the TotalWarnings field's value. +func (s *DescribeGeneratedTemplateOutput) SetTotalWarnings(v int64) *DescribeGeneratedTemplateOutput { + s.TotalWarnings = &v + return s +} + +type DescribeOrganizationsAccessInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the extension. + // [Service-managed permissions] Specifies whether you are acting as an account + // administrator in the organization's management account or as a delegated + // administrator in a member account. // - // Conditional: You must specify either TypeName and Type, or Arn. - Arn *string `type:"string"` - - // The kind of extension. + // By default, SELF is specified. // - // Conditional: You must specify either TypeName and Type, or Arn. - Type *string `type:"string" enum:"RegistryType"` - - // The name of the extension. + // * If you are signed in to the management account, specify SELF. // - // Conditional: You must specify either TypeName and Type, or Arn. - TypeName *string `min:"10" type:"string"` - - // The ID of a specific version of the extension. The version ID is the value - // at the end of the Amazon Resource Name (ARN) assigned to the extension version - // when it is registered. - VersionId *string `min:"1" type:"string"` + // * If you are signed in to a delegated administrator account, specify DELEGATED_ADMIN. + // Your Amazon Web Services account must be registered as a delegated administrator + // in the management account. For more information, see Register a delegated + // administrator (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html) + // in the CloudFormation User Guide. + CallAs *string `type:"string" enum:"CallAs"` } // String returns the string representation. @@ -10419,7 +12640,7 @@ type DeregisterTypeInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeregisterTypeInput) String() string { +func (s DescribeOrganizationsAccessInput) String() string { return awsutil.Prettify(s) } @@ -10428,52 +12649,21 @@ func (s DeregisterTypeInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeregisterTypeInput) GoString() string { +func (s DescribeOrganizationsAccessInput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeregisterTypeInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeregisterTypeInput"} - if s.TypeName != nil && len(*s.TypeName) < 10 { - invalidParams.Add(request.NewErrParamMinLen("TypeName", 10)) - } - if s.VersionId != nil && len(*s.VersionId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VersionId", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetArn sets the Arn field's value. -func (s *DeregisterTypeInput) SetArn(v string) *DeregisterTypeInput { - s.Arn = &v - return s -} - -// SetType sets the Type field's value. -func (s *DeregisterTypeInput) SetType(v string) *DeregisterTypeInput { - s.Type = &v - return s -} - -// SetTypeName sets the TypeName field's value. -func (s *DeregisterTypeInput) SetTypeName(v string) *DeregisterTypeInput { - s.TypeName = &v - return s -} - -// SetVersionId sets the VersionId field's value. -func (s *DeregisterTypeInput) SetVersionId(v string) *DeregisterTypeInput { - s.VersionId = &v +// SetCallAs sets the CallAs field's value. +func (s *DescribeOrganizationsAccessInput) SetCallAs(v string) *DescribeOrganizationsAccessInput { + s.CallAs = &v return s } -type DeregisterTypeOutput struct { +type DescribeOrganizationsAccessOutput struct { _ struct{} `type:"structure"` + + // Presents the status of the OrganizationAccess. + Status *string `type:"string" enum:"OrganizationStatus"` } // String returns the string representation. @@ -10481,7 +12671,7 @@ type DeregisterTypeOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeregisterTypeOutput) String() string { +func (s DescribeOrganizationsAccessOutput) String() string { return awsutil.Prettify(s) } @@ -10490,16 +12680,25 @@ func (s DeregisterTypeOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeregisterTypeOutput) GoString() string { +func (s DescribeOrganizationsAccessOutput) GoString() string { return s.String() } -// The input for the DescribeAccountLimits action. -type DescribeAccountLimitsInput struct { +// SetStatus sets the Status field's value. +func (s *DescribeOrganizationsAccessOutput) SetStatus(v string) *DescribeOrganizationsAccessOutput { + s.Status = &v + return s +} + +type DescribePublisherInput struct { _ struct{} `type:"structure"` - // A string that identifies the next page of limits that you want to retrieve. - NextToken *string `min:"1" type:"string"` + // The ID of the extension publisher. + // + // If you don't supply a PublisherId, and you have registered as an extension + // publisher, DescribePublisher returns information about your own publisher + // account. + PublisherId *string `min:"1" type:"string"` } // String returns the string representation. @@ -10507,7 +12706,7 @@ type DescribeAccountLimitsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeAccountLimitsInput) String() string { +func (s DescribePublisherInput) String() string { return awsutil.Prettify(s) } @@ -10516,15 +12715,15 @@ func (s DescribeAccountLimitsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeAccountLimitsInput) GoString() string { +func (s DescribePublisherInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeAccountLimitsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeAccountLimitsInput"} - if s.NextToken != nil && len(*s.NextToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) +func (s *DescribePublisherInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribePublisherInput"} + if s.PublisherId != nil && len(*s.PublisherId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PublisherId", 1)) } if invalidParams.Len() > 0 { @@ -10533,23 +12732,28 @@ func (s *DescribeAccountLimitsInput) Validate() error { return nil } -// SetNextToken sets the NextToken field's value. -func (s *DescribeAccountLimitsInput) SetNextToken(v string) *DescribeAccountLimitsInput { - s.NextToken = &v +// SetPublisherId sets the PublisherId field's value. +func (s *DescribePublisherInput) SetPublisherId(v string) *DescribePublisherInput { + s.PublisherId = &v return s } -// The output for the DescribeAccountLimits action. -type DescribeAccountLimitsOutput struct { +type DescribePublisherOutput struct { _ struct{} `type:"structure"` - // An account limit structure that contain a list of CloudFormation account - // limits and their values. - AccountLimits []*AccountLimit `type:"list"` + // The type of account used as the identity provider when registering this publisher + // with CloudFormation. + IdentityProvider *string `type:"string" enum:"IdentityProvider"` - // If the output exceeds 1 MB in size, a string that identifies the next page - // of limits. If no additional page exists, this value is null. - NextToken *string `min:"1" type:"string"` + // The ID of the extension publisher. + PublisherId *string `min:"1" type:"string"` + + // The URL to the publisher's profile with the identity provider. + PublisherProfile *string `type:"string"` + + // Whether the publisher is verified. Currently, all registered publishers are + // verified. + PublisherStatus *string `type:"string" enum:"PublisherStatus"` } // String returns the string representation. @@ -10557,7 +12761,7 @@ type DescribeAccountLimitsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeAccountLimitsOutput) String() string { +func (s DescribePublisherOutput) String() string { return awsutil.Prettify(s) } @@ -10566,41 +12770,41 @@ func (s DescribeAccountLimitsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeAccountLimitsOutput) GoString() string { +func (s DescribePublisherOutput) GoString() string { return s.String() } -// SetAccountLimits sets the AccountLimits field's value. -func (s *DescribeAccountLimitsOutput) SetAccountLimits(v []*AccountLimit) *DescribeAccountLimitsOutput { - s.AccountLimits = v +// SetIdentityProvider sets the IdentityProvider field's value. +func (s *DescribePublisherOutput) SetIdentityProvider(v string) *DescribePublisherOutput { + s.IdentityProvider = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *DescribeAccountLimitsOutput) SetNextToken(v string) *DescribeAccountLimitsOutput { - s.NextToken = &v +// SetPublisherId sets the PublisherId field's value. +func (s *DescribePublisherOutput) SetPublisherId(v string) *DescribePublisherOutput { + s.PublisherId = &v return s } -type DescribeChangeSetHooksInput struct { - _ struct{} `type:"structure"` - - // The name or Amazon Resource Name (ARN) of the change set that you want to - // describe. - // - // ChangeSetName is a required field - ChangeSetName *string `min:"1" type:"string" required:"true"` +// SetPublisherProfile sets the PublisherProfile field's value. +func (s *DescribePublisherOutput) SetPublisherProfile(v string) *DescribePublisherOutput { + s.PublisherProfile = &v + return s +} - // If specified, lists only the hooks related to the specified LogicalResourceId. - LogicalResourceId *string `type:"string"` +// SetPublisherStatus sets the PublisherStatus field's value. +func (s *DescribePublisherOutput) SetPublisherStatus(v string) *DescribePublisherOutput { + s.PublisherStatus = &v + return s +} - // A string, provided by the DescribeChangeSetHooks response output, that identifies - // the next page of information that you want to retrieve. - NextToken *string `min:"1" type:"string"` +type DescribeResourceScanInput struct { + _ struct{} `type:"structure"` - // If you specified the name of a change set, specify the stack name or stack - // ID (ARN) of the change set you want to describe. - StackName *string `min:"1" type:"string"` + // The Amazon Resource Name (ARN) of the resource scan. + // + // ResourceScanId is a required field + ResourceScanId *string `type:"string" required:"true"` } // String returns the string representation. @@ -10608,7 +12812,7 @@ type DescribeChangeSetHooksInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeChangeSetHooksInput) String() string { +func (s DescribeResourceScanInput) String() string { return awsutil.Prettify(s) } @@ -10617,24 +12821,15 @@ func (s DescribeChangeSetHooksInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeChangeSetHooksInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeChangeSetHooksInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeChangeSetHooksInput"} - if s.ChangeSetName == nil { - invalidParams.Add(request.NewErrParamRequired("ChangeSetName")) - } - if s.ChangeSetName != nil && len(*s.ChangeSetName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ChangeSetName", 1)) - } - if s.NextToken != nil && len(*s.NextToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) - } - if s.StackName != nil && len(*s.StackName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("StackName", 1)) +func (s DescribeResourceScanInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeResourceScanInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeResourceScanInput"} + if s.ResourceScanId == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceScanId")) } if invalidParams.Len() > 0 { @@ -10643,53 +12838,64 @@ func (s *DescribeChangeSetHooksInput) Validate() error { return nil } -// SetChangeSetName sets the ChangeSetName field's value. -func (s *DescribeChangeSetHooksInput) SetChangeSetName(v string) *DescribeChangeSetHooksInput { - s.ChangeSetName = &v - return s -} - -// SetLogicalResourceId sets the LogicalResourceId field's value. -func (s *DescribeChangeSetHooksInput) SetLogicalResourceId(v string) *DescribeChangeSetHooksInput { - s.LogicalResourceId = &v +// SetResourceScanId sets the ResourceScanId field's value. +func (s *DescribeResourceScanInput) SetResourceScanId(v string) *DescribeResourceScanInput { + s.ResourceScanId = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *DescribeChangeSetHooksInput) SetNextToken(v string) *DescribeChangeSetHooksInput { - s.NextToken = &v - return s -} +type DescribeResourceScanOutput struct { + _ struct{} `type:"structure"` -// SetStackName sets the StackName field's value. -func (s *DescribeChangeSetHooksInput) SetStackName(v string) *DescribeChangeSetHooksInput { - s.StackName = &v - return s -} + // The time that the resource scan was finished. + EndTime *time.Time `type:"timestamp"` -type DescribeChangeSetHooksOutput struct { - _ struct{} `type:"structure"` + // The percentage of the resource scan that has been completed. + PercentageCompleted *float64 `type:"double"` - // The change set identifier (stack ID). - ChangeSetId *string `min:"1" type:"string"` + // The Amazon Resource Name (ARN) of the resource scan. The format is arn:${Partition}:cloudformation:${Region}:${Account}:resourceScan/${Id}. + // An example is arn:aws:cloudformation:us-east-1:123456789012:resourceScan/f5b490f7-7ed4-428a-aa06-31ff25db0772 . + ResourceScanId *string `type:"string"` - // The change set name. - ChangeSetName *string `min:"1" type:"string"` + // The list of resource types for the specified scan. Resource types are only + // available for scans with a Status set to COMPLETE or FAILED . + ResourceTypes []*string `type:"list"` - // List of hook objects. - Hooks []*ChangeSetHook `type:"list"` + // The number of resources that were read. This is only available for scans + // with a Status set to COMPLETE, EXPIRED, or FAILED . + // + // This field may be 0 if the resource scan failed with a ResourceScanLimitExceededException. + ResourcesRead *int64 `type:"integer"` - // Pagination token, null or empty if no more results. - NextToken *string `min:"1" type:"string"` + // The number of resources that were listed. This is only available for scans + // with a Status set to COMPLETE, EXPIRED, or FAILED . + ResourcesScanned *int64 `type:"integer"` - // The stack identifier (stack ID). - StackId *string `type:"string"` + // The time that the resource scan was started. + StartTime *time.Time `type:"timestamp"` - // The stack name. - StackName *string `type:"string"` + // Status of the resource scan. + // + // INPROGRESS + // + // The resource scan is still in progress. + // + // COMPLETE + // + // The resource scan is complete. + // + // EXPIRED + // + // The resource scan has expired. + // + // FAILED + // + // The resource scan has failed. + Status *string `type:"string" enum:"ResourceScanStatus"` - // Provides the status of the change set hook. - Status *string `type:"string" enum:"ChangeSetHooksStatus"` + // The reason for the resource scan status, providing more information if a + // failure happened. + StatusReason *string `type:"string"` } // String returns the string representation. @@ -10697,7 +12903,7 @@ type DescribeChangeSetHooksOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeChangeSetHooksOutput) String() string { +func (s DescribeResourceScanOutput) String() string { return awsutil.Prettify(s) } @@ -10706,69 +12912,75 @@ func (s DescribeChangeSetHooksOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeChangeSetHooksOutput) GoString() string { +func (s DescribeResourceScanOutput) GoString() string { return s.String() } -// SetChangeSetId sets the ChangeSetId field's value. -func (s *DescribeChangeSetHooksOutput) SetChangeSetId(v string) *DescribeChangeSetHooksOutput { - s.ChangeSetId = &v +// SetEndTime sets the EndTime field's value. +func (s *DescribeResourceScanOutput) SetEndTime(v time.Time) *DescribeResourceScanOutput { + s.EndTime = &v return s } -// SetChangeSetName sets the ChangeSetName field's value. -func (s *DescribeChangeSetHooksOutput) SetChangeSetName(v string) *DescribeChangeSetHooksOutput { - s.ChangeSetName = &v +// SetPercentageCompleted sets the PercentageCompleted field's value. +func (s *DescribeResourceScanOutput) SetPercentageCompleted(v float64) *DescribeResourceScanOutput { + s.PercentageCompleted = &v return s } -// SetHooks sets the Hooks field's value. -func (s *DescribeChangeSetHooksOutput) SetHooks(v []*ChangeSetHook) *DescribeChangeSetHooksOutput { - s.Hooks = v +// SetResourceScanId sets the ResourceScanId field's value. +func (s *DescribeResourceScanOutput) SetResourceScanId(v string) *DescribeResourceScanOutput { + s.ResourceScanId = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *DescribeChangeSetHooksOutput) SetNextToken(v string) *DescribeChangeSetHooksOutput { - s.NextToken = &v +// SetResourceTypes sets the ResourceTypes field's value. +func (s *DescribeResourceScanOutput) SetResourceTypes(v []*string) *DescribeResourceScanOutput { + s.ResourceTypes = v return s } -// SetStackId sets the StackId field's value. -func (s *DescribeChangeSetHooksOutput) SetStackId(v string) *DescribeChangeSetHooksOutput { - s.StackId = &v +// SetResourcesRead sets the ResourcesRead field's value. +func (s *DescribeResourceScanOutput) SetResourcesRead(v int64) *DescribeResourceScanOutput { + s.ResourcesRead = &v return s } -// SetStackName sets the StackName field's value. -func (s *DescribeChangeSetHooksOutput) SetStackName(v string) *DescribeChangeSetHooksOutput { - s.StackName = &v +// SetResourcesScanned sets the ResourcesScanned field's value. +func (s *DescribeResourceScanOutput) SetResourcesScanned(v int64) *DescribeResourceScanOutput { + s.ResourcesScanned = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *DescribeResourceScanOutput) SetStartTime(v time.Time) *DescribeResourceScanOutput { + s.StartTime = &v return s } // SetStatus sets the Status field's value. -func (s *DescribeChangeSetHooksOutput) SetStatus(v string) *DescribeChangeSetHooksOutput { +func (s *DescribeResourceScanOutput) SetStatus(v string) *DescribeResourceScanOutput { s.Status = &v return s } -// The input for the DescribeChangeSet action. -type DescribeChangeSetInput struct { +// SetStatusReason sets the StatusReason field's value. +func (s *DescribeResourceScanOutput) SetStatusReason(v string) *DescribeResourceScanOutput { + s.StatusReason = &v + return s +} + +type DescribeStackDriftDetectionStatusInput struct { _ struct{} `type:"structure"` - // The name or Amazon Resource Name (ARN) of the change set that you want to - // describe. + // The ID of the drift detection results of this operation. // - // ChangeSetName is a required field - ChangeSetName *string `min:"1" type:"string" required:"true"` - - // A string (provided by the DescribeChangeSet response output) that identifies - // the next page of information that you want to retrieve. - NextToken *string `min:"1" type:"string"` - - // If you specified the name of a change set, specify the stack name or ID (ARN) - // of the change set you want to describe. - StackName *string `min:"1" type:"string"` + // CloudFormation generates new results, with a new drift detection ID, each + // time this operation is run. However, the number of drift results CloudFormation + // retains for any given stack, and for how long, may vary. + // + // StackDriftDetectionId is a required field + StackDriftDetectionId *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -10776,7 +12988,7 @@ type DescribeChangeSetInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeChangeSetInput) String() string { +func (s DescribeStackDriftDetectionStatusInput) String() string { return awsutil.Prettify(s) } @@ -10785,24 +12997,18 @@ func (s DescribeChangeSetInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeChangeSetInput) GoString() string { +func (s DescribeStackDriftDetectionStatusInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeChangeSetInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeChangeSetInput"} - if s.ChangeSetName == nil { - invalidParams.Add(request.NewErrParamRequired("ChangeSetName")) - } - if s.ChangeSetName != nil && len(*s.ChangeSetName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ChangeSetName", 1)) - } - if s.NextToken != nil && len(*s.NextToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) +func (s *DescribeStackDriftDetectionStatusInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeStackDriftDetectionStatusInput"} + if s.StackDriftDetectionId == nil { + invalidParams.Add(request.NewErrParamRequired("StackDriftDetectionId")) } - if s.StackName != nil && len(*s.StackName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("StackName", 1)) + if s.StackDriftDetectionId != nil && len(*s.StackDriftDetectionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StackDriftDetectionId", 1)) } if invalidParams.Len() > 0 { @@ -10811,128 +13017,75 @@ func (s *DescribeChangeSetInput) Validate() error { return nil } -// SetChangeSetName sets the ChangeSetName field's value. -func (s *DescribeChangeSetInput) SetChangeSetName(v string) *DescribeChangeSetInput { - s.ChangeSetName = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribeChangeSetInput) SetNextToken(v string) *DescribeChangeSetInput { - s.NextToken = &v - return s -} - -// SetStackName sets the StackName field's value. -func (s *DescribeChangeSetInput) SetStackName(v string) *DescribeChangeSetInput { - s.StackName = &v +// SetStackDriftDetectionId sets the StackDriftDetectionId field's value. +func (s *DescribeStackDriftDetectionStatusInput) SetStackDriftDetectionId(v string) *DescribeStackDriftDetectionStatusInput { + s.StackDriftDetectionId = &v return s } -// The output for the DescribeChangeSet action. -type DescribeChangeSetOutput struct { +type DescribeStackDriftDetectionStatusOutput struct { _ struct{} `type:"structure"` - // If you execute the change set, the list of capabilities that were explicitly - // acknowledged when the change set was created. - Capabilities []*string `type:"list" enum:"Capability"` - - // The Amazon Resource Name (ARN) of the change set. - ChangeSetId *string `min:"1" type:"string"` - - // The name of the change set. - ChangeSetName *string `min:"1" type:"string"` - - // A list of Change structures that describes the resources CloudFormation changes - // if you execute the change set. - Changes []*Change `type:"list"` - - // The start time when the change set was created, in UTC. - CreationTime *time.Time `type:"timestamp"` - - // Information about the change set. - Description *string `min:"1" type:"string"` - - // If the change set execution status is AVAILABLE, you can execute the change - // set. If you can't execute the change set, the status indicates why. For example, - // a change set might be in an UNAVAILABLE state because CloudFormation is still - // creating it or in an OBSOLETE state because the stack was already updated. - ExecutionStatus *string `type:"string" enum:"ExecutionStatus"` - - // Indicates if the change set imports resources that already exist. + // The status of the stack drift detection operation. // - // This parameter can only import resources that have custom names (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) - // in templates. To import resources that do not accept custom names, such as - // EC2 instances, use the resource import (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resource-import.html) - // feature instead. - ImportExistingResources *bool `type:"boolean"` - - // Verifies if IncludeNestedStacks is set to True. - IncludeNestedStacks *bool `type:"boolean"` - - // If the output exceeds 1 MB, a string that identifies the next page of changes. - // If there is no additional page, this value is null. - NextToken *string `min:"1" type:"string"` - - // The ARNs of the Amazon Simple Notification Service (Amazon SNS) topics that - // will be associated with the stack if you execute the change set. - NotificationARNs []*string `type:"list"` - - // Determines what action will be taken if stack creation fails. When this parameter - // is specified, the DisableRollback parameter to the ExecuteChangeSet (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ExecuteChangeSet.html) - // API operation must not be specified. This must be one of these values: + // * DETECTION_COMPLETE: The stack drift detection operation has successfully + // completed for all resources in the stack that support drift detection. + // (Resources that don't currently support stack detection remain unchecked.) + // If you specified logical resource IDs for CloudFormation to use as a filter + // for the stack drift detection operation, only the resources with those + // logical IDs are checked for drift. // - // * DELETE - Deletes the change set if the stack creation fails. This is - // only valid when the ChangeSetType parameter is set to CREATE. If the deletion - // of the stack fails, the status of the stack is DELETE_FAILED. + // * DETECTION_FAILED: The stack drift detection operation has failed for + // at least one resource in the stack. Results will be available for resources + // on which CloudFormation successfully completed drift detection. // - // * DO_NOTHING - if the stack creation fails, do nothing. This is equivalent - // to specifying true for the DisableRollback parameter to the ExecuteChangeSet - // (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ExecuteChangeSet.html) - // API operation. + // * DETECTION_IN_PROGRESS: The stack drift detection operation is currently + // in progress. // - // * ROLLBACK - if the stack creation fails, roll back the stack. This is - // equivalent to specifying false for the DisableRollback parameter to the - // ExecuteChangeSet (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ExecuteChangeSet.html) - // API operation. - OnStackFailure *string `type:"string" enum:"OnStackFailure"` - - // A list of Parameter structures that describes the input parameters and their - // values used to create the change set. For more information, see the Parameter - // (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Parameter.html) - // data type. - Parameters []*Parameter `type:"list"` - - // Specifies the change set ID of the parent change set in the current nested - // change set hierarchy. - ParentChangeSetId *string `min:"1" type:"string"` - - // The rollback triggers for CloudFormation to monitor during stack creation - // and updating operations, and for the specified monitoring period afterwards. - RollbackConfiguration *RollbackConfiguration `type:"structure"` + // DetectionStatus is a required field + DetectionStatus *string `type:"string" required:"true" enum:"StackDriftDetectionStatus"` - // Specifies the change set ID of the root change set in the current nested - // change set hierarchy. - RootChangeSetId *string `min:"1" type:"string"` + // The reason the stack drift detection operation has its current status. + DetectionStatusReason *string `type:"string"` - // The Amazon Resource Name (ARN) of the stack that's associated with the change - // set. - StackId *string `type:"string"` + // Total number of stack resources that have drifted. This is NULL until the + // drift detection operation reaches a status of DETECTION_COMPLETE. This value + // will be 0 for stacks whose drift status is IN_SYNC. + DriftedStackResourceCount *int64 `type:"integer"` - // The name of the stack that's associated with the change set. - StackName *string `type:"string"` + // The ID of the drift detection results of this operation. + // + // CloudFormation generates new results, with a new drift detection ID, each + // time this operation is run. However, the number of reports CloudFormation + // retains for any given stack, and for how long, may vary. + // + // StackDriftDetectionId is a required field + StackDriftDetectionId *string `min:"1" type:"string" required:"true"` - // The current status of the change set, such as CREATE_IN_PROGRESS, CREATE_COMPLETE, - // or FAILED. - Status *string `type:"string" enum:"ChangeSetStatus"` + // Status of the stack's actual configuration compared to its expected configuration. + // + // * DRIFTED: The stack differs from its expected template configuration. + // A stack is considered to have drifted if one or more of its resources + // have drifted. + // + // * NOT_CHECKED: CloudFormation hasn't checked if the stack differs from + // its expected template configuration. + // + // * IN_SYNC: The stack's actual configuration matches its expected template + // configuration. + // + // * UNKNOWN: This value is reserved for future use. + StackDriftStatus *string `type:"string" enum:"StackDriftStatus"` - // A description of the change set's status. For example, if your attempt to - // create a change set failed, CloudFormation shows the error message. - StatusReason *string `type:"string"` + // The ID of the stack. + // + // StackId is a required field + StackId *string `type:"string" required:"true"` - // If you execute the change set, the tags that will be associated with the - // stack. - Tags []*Tag `type:"list"` + // Time at which the stack drift detection operation was initiated. + // + // Timestamp is a required field + Timestamp *time.Time `type:"timestamp" required:"true"` } // String returns the string representation. @@ -10940,7 +13093,7 @@ type DescribeChangeSetOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeChangeSetOutput) String() string { +func (s DescribeStackDriftDetectionStatusOutput) String() string { return awsutil.Prettify(s) } @@ -10949,153 +13102,259 @@ func (s DescribeChangeSetOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeChangeSetOutput) GoString() string { +func (s DescribeStackDriftDetectionStatusOutput) GoString() string { return s.String() } -// SetCapabilities sets the Capabilities field's value. -func (s *DescribeChangeSetOutput) SetCapabilities(v []*string) *DescribeChangeSetOutput { - s.Capabilities = v +// SetDetectionStatus sets the DetectionStatus field's value. +func (s *DescribeStackDriftDetectionStatusOutput) SetDetectionStatus(v string) *DescribeStackDriftDetectionStatusOutput { + s.DetectionStatus = &v return s } -// SetChangeSetId sets the ChangeSetId field's value. -func (s *DescribeChangeSetOutput) SetChangeSetId(v string) *DescribeChangeSetOutput { - s.ChangeSetId = &v +// SetDetectionStatusReason sets the DetectionStatusReason field's value. +func (s *DescribeStackDriftDetectionStatusOutput) SetDetectionStatusReason(v string) *DescribeStackDriftDetectionStatusOutput { + s.DetectionStatusReason = &v return s } -// SetChangeSetName sets the ChangeSetName field's value. -func (s *DescribeChangeSetOutput) SetChangeSetName(v string) *DescribeChangeSetOutput { - s.ChangeSetName = &v +// SetDriftedStackResourceCount sets the DriftedStackResourceCount field's value. +func (s *DescribeStackDriftDetectionStatusOutput) SetDriftedStackResourceCount(v int64) *DescribeStackDriftDetectionStatusOutput { + s.DriftedStackResourceCount = &v return s } -// SetChanges sets the Changes field's value. -func (s *DescribeChangeSetOutput) SetChanges(v []*Change) *DescribeChangeSetOutput { - s.Changes = v +// SetStackDriftDetectionId sets the StackDriftDetectionId field's value. +func (s *DescribeStackDriftDetectionStatusOutput) SetStackDriftDetectionId(v string) *DescribeStackDriftDetectionStatusOutput { + s.StackDriftDetectionId = &v return s } -// SetCreationTime sets the CreationTime field's value. -func (s *DescribeChangeSetOutput) SetCreationTime(v time.Time) *DescribeChangeSetOutput { - s.CreationTime = &v +// SetStackDriftStatus sets the StackDriftStatus field's value. +func (s *DescribeStackDriftDetectionStatusOutput) SetStackDriftStatus(v string) *DescribeStackDriftDetectionStatusOutput { + s.StackDriftStatus = &v return s } -// SetDescription sets the Description field's value. -func (s *DescribeChangeSetOutput) SetDescription(v string) *DescribeChangeSetOutput { - s.Description = &v +// SetStackId sets the StackId field's value. +func (s *DescribeStackDriftDetectionStatusOutput) SetStackId(v string) *DescribeStackDriftDetectionStatusOutput { + s.StackId = &v return s } -// SetExecutionStatus sets the ExecutionStatus field's value. -func (s *DescribeChangeSetOutput) SetExecutionStatus(v string) *DescribeChangeSetOutput { - s.ExecutionStatus = &v +// SetTimestamp sets the Timestamp field's value. +func (s *DescribeStackDriftDetectionStatusOutput) SetTimestamp(v time.Time) *DescribeStackDriftDetectionStatusOutput { + s.Timestamp = &v return s } -// SetImportExistingResources sets the ImportExistingResources field's value. -func (s *DescribeChangeSetOutput) SetImportExistingResources(v bool) *DescribeChangeSetOutput { - s.ImportExistingResources = &v - return s +// The input for DescribeStackEvents action. +type DescribeStackEventsInput struct { + _ struct{} `type:"structure"` + + // A string that identifies the next page of events that you want to retrieve. + NextToken *string `min:"1" type:"string"` + + // The name or the unique stack ID that's associated with the stack, which aren't + // always interchangeable: + // + // * Running stacks: You can specify either the stack's name or its unique + // stack ID. + // + // * Deleted stacks: You must specify the unique stack ID. + // + // Default: There is no default value. + StackName *string `type:"string"` } -// SetIncludeNestedStacks sets the IncludeNestedStacks field's value. -func (s *DescribeChangeSetOutput) SetIncludeNestedStacks(v bool) *DescribeChangeSetOutput { - s.IncludeNestedStacks = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeStackEventsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeStackEventsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeStackEventsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeStackEventsInput"} + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } // SetNextToken sets the NextToken field's value. -func (s *DescribeChangeSetOutput) SetNextToken(v string) *DescribeChangeSetOutput { +func (s *DescribeStackEventsInput) SetNextToken(v string) *DescribeStackEventsInput { s.NextToken = &v return s } -// SetNotificationARNs sets the NotificationARNs field's value. -func (s *DescribeChangeSetOutput) SetNotificationARNs(v []*string) *DescribeChangeSetOutput { - s.NotificationARNs = v +// SetStackName sets the StackName field's value. +func (s *DescribeStackEventsInput) SetStackName(v string) *DescribeStackEventsInput { + s.StackName = &v return s } -// SetOnStackFailure sets the OnStackFailure field's value. -func (s *DescribeChangeSetOutput) SetOnStackFailure(v string) *DescribeChangeSetOutput { - s.OnStackFailure = &v - return s +// The output for a DescribeStackEvents action. +type DescribeStackEventsOutput struct { + _ struct{} `type:"structure"` + + // If the output exceeds 1 MB in size, a string that identifies the next page + // of events. If no additional page exists, this value is null. + NextToken *string `min:"1" type:"string"` + + // A list of StackEvents structures. + StackEvents []*StackEvent `type:"list"` } -// SetParameters sets the Parameters field's value. -func (s *DescribeChangeSetOutput) SetParameters(v []*Parameter) *DescribeChangeSetOutput { - s.Parameters = v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeStackEventsOutput) String() string { + return awsutil.Prettify(s) } -// SetParentChangeSetId sets the ParentChangeSetId field's value. -func (s *DescribeChangeSetOutput) SetParentChangeSetId(v string) *DescribeChangeSetOutput { - s.ParentChangeSetId = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeStackEventsOutput) GoString() string { + return s.String() } -// SetRollbackConfiguration sets the RollbackConfiguration field's value. -func (s *DescribeChangeSetOutput) SetRollbackConfiguration(v *RollbackConfiguration) *DescribeChangeSetOutput { - s.RollbackConfiguration = v +// SetNextToken sets the NextToken field's value. +func (s *DescribeStackEventsOutput) SetNextToken(v string) *DescribeStackEventsOutput { + s.NextToken = &v return s } -// SetRootChangeSetId sets the RootChangeSetId field's value. -func (s *DescribeChangeSetOutput) SetRootChangeSetId(v string) *DescribeChangeSetOutput { - s.RootChangeSetId = &v +// SetStackEvents sets the StackEvents field's value. +func (s *DescribeStackEventsOutput) SetStackEvents(v []*StackEvent) *DescribeStackEventsOutput { + s.StackEvents = v return s } -// SetStackId sets the StackId field's value. -func (s *DescribeChangeSetOutput) SetStackId(v string) *DescribeChangeSetOutput { - s.StackId = &v - return s +type DescribeStackInstanceInput struct { + _ struct{} `type:"structure"` + + // [Service-managed permissions] Specifies whether you are acting as an account + // administrator in the organization's management account or as a delegated + // administrator in a member account. + // + // By default, SELF is specified. Use SELF for stack sets with self-managed + // permissions. + // + // * If you are signed in to the management account, specify SELF. + // + // * If you are signed in to a delegated administrator account, specify DELEGATED_ADMIN. + // Your Amazon Web Services account must be registered as a delegated administrator + // in the management account. For more information, see Register a delegated + // administrator (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html) + // in the CloudFormation User Guide. + CallAs *string `type:"string" enum:"CallAs"` + + // The ID of an Amazon Web Services account that's associated with this stack + // instance. + // + // StackInstanceAccount is a required field + StackInstanceAccount *string `type:"string" required:"true"` + + // The name of a Region that's associated with this stack instance. + // + // StackInstanceRegion is a required field + StackInstanceRegion *string `type:"string" required:"true"` + + // The name or the unique stack ID of the stack set that you want to get stack + // instance information for. + // + // StackSetName is a required field + StackSetName *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeStackInstanceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeStackInstanceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeStackInstanceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeStackInstanceInput"} + if s.StackInstanceAccount == nil { + invalidParams.Add(request.NewErrParamRequired("StackInstanceAccount")) + } + if s.StackInstanceRegion == nil { + invalidParams.Add(request.NewErrParamRequired("StackInstanceRegion")) + } + if s.StackSetName == nil { + invalidParams.Add(request.NewErrParamRequired("StackSetName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetStackName sets the StackName field's value. -func (s *DescribeChangeSetOutput) SetStackName(v string) *DescribeChangeSetOutput { - s.StackName = &v +// SetCallAs sets the CallAs field's value. +func (s *DescribeStackInstanceInput) SetCallAs(v string) *DescribeStackInstanceInput { + s.CallAs = &v return s } -// SetStatus sets the Status field's value. -func (s *DescribeChangeSetOutput) SetStatus(v string) *DescribeChangeSetOutput { - s.Status = &v +// SetStackInstanceAccount sets the StackInstanceAccount field's value. +func (s *DescribeStackInstanceInput) SetStackInstanceAccount(v string) *DescribeStackInstanceInput { + s.StackInstanceAccount = &v return s } -// SetStatusReason sets the StatusReason field's value. -func (s *DescribeChangeSetOutput) SetStatusReason(v string) *DescribeChangeSetOutput { - s.StatusReason = &v +// SetStackInstanceRegion sets the StackInstanceRegion field's value. +func (s *DescribeStackInstanceInput) SetStackInstanceRegion(v string) *DescribeStackInstanceInput { + s.StackInstanceRegion = &v return s } -// SetTags sets the Tags field's value. -func (s *DescribeChangeSetOutput) SetTags(v []*Tag) *DescribeChangeSetOutput { - s.Tags = v +// SetStackSetName sets the StackSetName field's value. +func (s *DescribeStackInstanceInput) SetStackSetName(v string) *DescribeStackInstanceInput { + s.StackSetName = &v return s } -type DescribeOrganizationsAccessInput struct { +type DescribeStackInstanceOutput struct { _ struct{} `type:"structure"` - // [Service-managed permissions] Specifies whether you are acting as an account - // administrator in the organization's management account or as a delegated - // administrator in a member account. - // - // By default, SELF is specified. - // - // * If you are signed in to the management account, specify SELF. - // - // * If you are signed in to a delegated administrator account, specify DELEGATED_ADMIN. - // Your Amazon Web Services account must be registered as a delegated administrator - // in the management account. For more information, see Register a delegated - // administrator (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html) - // in the CloudFormation User Guide. - CallAs *string `type:"string" enum:"CallAs"` + // The stack instance that matches the specified request parameters. + StackInstance *StackInstance `type:"structure"` } // String returns the string representation. @@ -11103,7 +13362,7 @@ type DescribeOrganizationsAccessInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeOrganizationsAccessInput) String() string { +func (s DescribeStackInstanceOutput) String() string { return awsutil.Prettify(s) } @@ -11112,21 +13371,47 @@ func (s DescribeOrganizationsAccessInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeOrganizationsAccessInput) GoString() string { +func (s DescribeStackInstanceOutput) GoString() string { return s.String() } -// SetCallAs sets the CallAs field's value. -func (s *DescribeOrganizationsAccessInput) SetCallAs(v string) *DescribeOrganizationsAccessInput { - s.CallAs = &v +// SetStackInstance sets the StackInstance field's value. +func (s *DescribeStackInstanceOutput) SetStackInstance(v *StackInstance) *DescribeStackInstanceOutput { + s.StackInstance = v return s } -type DescribeOrganizationsAccessOutput struct { +type DescribeStackResourceDriftsInput struct { _ struct{} `type:"structure"` - // Presents the status of the OrganizationAccess. - Status *string `type:"string" enum:"OrganizationStatus"` + // The maximum number of results to be returned with a single call. If the number + // of available results exceeds this maximum, the response includes a NextToken + // value that you can assign to the NextToken request parameter to get the next + // set of results. + MaxResults *int64 `min:"1" type:"integer"` + + // A string that identifies the next page of stack resource drift results. + NextToken *string `min:"1" type:"string"` + + // The name of the stack for which you want drift information. + // + // StackName is a required field + StackName *string `min:"1" type:"string" required:"true"` + + // The resource drift status values to use as filters for the resource drift + // results returned. + // + // * DELETED: The resource differs from its expected template configuration + // in that the resource has been deleted. + // + // * MODIFIED: One or more resource properties differ from their expected + // template values. + // + // * IN_SYNC: The resource's actual configuration matches its expected template + // configuration. + // + // * NOT_CHECKED: CloudFormation doesn't currently return this value. + StackResourceDriftStatusFilters []*string `min:"1" type:"list" enum:"StackResourceDriftStatus"` } // String returns the string representation. @@ -11134,7 +13419,7 @@ type DescribeOrganizationsAccessOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeOrganizationsAccessOutput) String() string { +func (s DescribeStackResourceDriftsInput) String() string { return awsutil.Prettify(s) } @@ -11143,25 +13428,80 @@ func (s DescribeOrganizationsAccessOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeOrganizationsAccessOutput) GoString() string { +func (s DescribeStackResourceDriftsInput) GoString() string { return s.String() } -// SetStatus sets the Status field's value. -func (s *DescribeOrganizationsAccessOutput) SetStatus(v string) *DescribeOrganizationsAccessOutput { - s.Status = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeStackResourceDriftsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeStackResourceDriftsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.StackName == nil { + invalidParams.Add(request.NewErrParamRequired("StackName")) + } + if s.StackName != nil && len(*s.StackName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StackName", 1)) + } + if s.StackResourceDriftStatusFilters != nil && len(s.StackResourceDriftStatusFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StackResourceDriftStatusFilters", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeStackResourceDriftsInput) SetMaxResults(v int64) *DescribeStackResourceDriftsInput { + s.MaxResults = &v return s } -type DescribePublisherInput struct { +// SetNextToken sets the NextToken field's value. +func (s *DescribeStackResourceDriftsInput) SetNextToken(v string) *DescribeStackResourceDriftsInput { + s.NextToken = &v + return s +} + +// SetStackName sets the StackName field's value. +func (s *DescribeStackResourceDriftsInput) SetStackName(v string) *DescribeStackResourceDriftsInput { + s.StackName = &v + return s +} + +// SetStackResourceDriftStatusFilters sets the StackResourceDriftStatusFilters field's value. +func (s *DescribeStackResourceDriftsInput) SetStackResourceDriftStatusFilters(v []*string) *DescribeStackResourceDriftsInput { + s.StackResourceDriftStatusFilters = v + return s +} + +type DescribeStackResourceDriftsOutput struct { _ struct{} `type:"structure"` - // The ID of the extension publisher. + // If the request doesn't return all the remaining results, NextToken is set + // to a token. To retrieve the next set of results, call DescribeStackResourceDrifts + // again and assign that token to the request object's NextToken parameter. + // If the request returns all results, NextToken is set to null. + NextToken *string `min:"1" type:"string"` + + // Drift information for the resources that have been checked for drift in the + // specified stack. This includes actual and expected configuration values for + // resources where CloudFormation detects drift. // - // If you don't supply a PublisherId, and you have registered as an extension - // publisher, DescribePublisher returns information about your own publisher - // account. - PublisherId *string `min:"1" type:"string"` + // For a given stack, there will be one StackResourceDrift for each stack resource + // that has been checked for drift. Resources that haven't yet been checked + // for drift aren't included. Resources that do not currently support drift + // detection aren't checked, and so not included. For a list of resources that + // support drift detection, see Resources that Support Drift Detection (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift-resource-list.html). + // + // StackResourceDrifts is a required field + StackResourceDrifts []*StackResourceDrift `type:"list" required:"true"` } // String returns the string representation. @@ -11169,7 +13509,7 @@ type DescribePublisherInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribePublisherInput) String() string { +func (s DescribeStackResourceDriftsOutput) String() string { return awsutil.Prettify(s) } @@ -11178,45 +13518,45 @@ func (s DescribePublisherInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribePublisherInput) GoString() string { +func (s DescribeStackResourceDriftsOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribePublisherInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribePublisherInput"} - if s.PublisherId != nil && len(*s.PublisherId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("PublisherId", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetNextToken sets the NextToken field's value. +func (s *DescribeStackResourceDriftsOutput) SetNextToken(v string) *DescribeStackResourceDriftsOutput { + s.NextToken = &v + return s } -// SetPublisherId sets the PublisherId field's value. -func (s *DescribePublisherInput) SetPublisherId(v string) *DescribePublisherInput { - s.PublisherId = &v +// SetStackResourceDrifts sets the StackResourceDrifts field's value. +func (s *DescribeStackResourceDriftsOutput) SetStackResourceDrifts(v []*StackResourceDrift) *DescribeStackResourceDriftsOutput { + s.StackResourceDrifts = v return s } -type DescribePublisherOutput struct { +// The input for DescribeStackResource action. +type DescribeStackResourceInput struct { _ struct{} `type:"structure"` - // The type of account used as the identity provider when registering this publisher - // with CloudFormation. - IdentityProvider *string `type:"string" enum:"IdentityProvider"` - - // The ID of the extension publisher. - PublisherId *string `min:"1" type:"string"` - - // The URL to the publisher's profile with the identity provider. - PublisherProfile *string `type:"string"` + // The logical name of the resource as specified in the template. + // + // Default: There is no default value. + // + // LogicalResourceId is a required field + LogicalResourceId *string `type:"string" required:"true"` - // Whether the publisher is verified. Currently, all registered publishers are - // verified. - PublisherStatus *string `type:"string" enum:"PublisherStatus"` + // The name or the unique stack ID that's associated with the stack, which aren't + // always interchangeable: + // + // * Running stacks: You can specify either the stack's name or its unique + // stack ID. + // + // * Deleted stacks: You must specify the unique stack ID. + // + // Default: There is no default value. + // + // StackName is a required field + StackName *string `type:"string" required:"true"` } // String returns the string representation. @@ -11224,7 +13564,7 @@ type DescribePublisherOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribePublisherOutput) String() string { +func (s DescribeStackResourceInput) String() string { return awsutil.Prettify(s) } @@ -11233,45 +13573,45 @@ func (s DescribePublisherOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribePublisherOutput) GoString() string { +func (s DescribeStackResourceInput) GoString() string { return s.String() } -// SetIdentityProvider sets the IdentityProvider field's value. -func (s *DescribePublisherOutput) SetIdentityProvider(v string) *DescribePublisherOutput { - s.IdentityProvider = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeStackResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeStackResourceInput"} + if s.LogicalResourceId == nil { + invalidParams.Add(request.NewErrParamRequired("LogicalResourceId")) + } + if s.StackName == nil { + invalidParams.Add(request.NewErrParamRequired("StackName")) + } -// SetPublisherId sets the PublisherId field's value. -func (s *DescribePublisherOutput) SetPublisherId(v string) *DescribePublisherOutput { - s.PublisherId = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetPublisherProfile sets the PublisherProfile field's value. -func (s *DescribePublisherOutput) SetPublisherProfile(v string) *DescribePublisherOutput { - s.PublisherProfile = &v +// SetLogicalResourceId sets the LogicalResourceId field's value. +func (s *DescribeStackResourceInput) SetLogicalResourceId(v string) *DescribeStackResourceInput { + s.LogicalResourceId = &v return s } -// SetPublisherStatus sets the PublisherStatus field's value. -func (s *DescribePublisherOutput) SetPublisherStatus(v string) *DescribePublisherOutput { - s.PublisherStatus = &v +// SetStackName sets the StackName field's value. +func (s *DescribeStackResourceInput) SetStackName(v string) *DescribeStackResourceInput { + s.StackName = &v return s } -type DescribeStackDriftDetectionStatusInput struct { +// The output for a DescribeStackResource action. +type DescribeStackResourceOutput struct { _ struct{} `type:"structure"` - // The ID of the drift detection results of this operation. - // - // CloudFormation generates new results, with a new drift detection ID, each - // time this operation is run. However, the number of drift results CloudFormation - // retains for any given stack, and for how long, may vary. - // - // StackDriftDetectionId is a required field - StackDriftDetectionId *string `min:"1" type:"string" required:"true"` + // A StackResourceDetail structure containing the description of the specified + // resource in the specified stack. + StackResourceDetail *StackResourceDetail `type:"structure"` } // String returns the string representation. @@ -11279,7 +13619,7 @@ type DescribeStackDriftDetectionStatusInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeStackDriftDetectionStatusInput) String() string { +func (s DescribeStackResourceOutput) String() string { return awsutil.Prettify(s) } @@ -11288,95 +13628,51 @@ func (s DescribeStackDriftDetectionStatusInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeStackDriftDetectionStatusInput) GoString() string { +func (s DescribeStackResourceOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeStackDriftDetectionStatusInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeStackDriftDetectionStatusInput"} - if s.StackDriftDetectionId == nil { - invalidParams.Add(request.NewErrParamRequired("StackDriftDetectionId")) - } - if s.StackDriftDetectionId != nil && len(*s.StackDriftDetectionId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("StackDriftDetectionId", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetStackDriftDetectionId sets the StackDriftDetectionId field's value. -func (s *DescribeStackDriftDetectionStatusInput) SetStackDriftDetectionId(v string) *DescribeStackDriftDetectionStatusInput { - s.StackDriftDetectionId = &v +// SetStackResourceDetail sets the StackResourceDetail field's value. +func (s *DescribeStackResourceOutput) SetStackResourceDetail(v *StackResourceDetail) *DescribeStackResourceOutput { + s.StackResourceDetail = v return s } -type DescribeStackDriftDetectionStatusOutput struct { +// The input for DescribeStackResources action. +type DescribeStackResourcesInput struct { _ struct{} `type:"structure"` - // The status of the stack drift detection operation. - // - // * DETECTION_COMPLETE: The stack drift detection operation has successfully - // completed for all resources in the stack that support drift detection. - // (Resources that don't currently support stack detection remain unchecked.) - // If you specified logical resource IDs for CloudFormation to use as a filter - // for the stack drift detection operation, only the resources with those - // logical IDs are checked for drift. - // - // * DETECTION_FAILED: The stack drift detection operation has failed for - // at least one resource in the stack. Results will be available for resources - // on which CloudFormation successfully completed drift detection. - // - // * DETECTION_IN_PROGRESS: The stack drift detection operation is currently - // in progress. + // The logical name of the resource as specified in the template. // - // DetectionStatus is a required field - DetectionStatus *string `type:"string" required:"true" enum:"StackDriftDetectionStatus"` - - // The reason the stack drift detection operation has its current status. - DetectionStatusReason *string `type:"string"` - - // Total number of stack resources that have drifted. This is NULL until the - // drift detection operation reaches a status of DETECTION_COMPLETE. This value - // will be 0 for stacks whose drift status is IN_SYNC. - DriftedStackResourceCount *int64 `type:"integer"` + // Default: There is no default value. + LogicalResourceId *string `type:"string"` - // The ID of the drift detection results of this operation. - // - // CloudFormation generates new results, with a new drift detection ID, each - // time this operation is run. However, the number of reports CloudFormation - // retains for any given stack, and for how long, may vary. + // The name or unique identifier that corresponds to a physical instance ID + // of a resource supported by CloudFormation. // - // StackDriftDetectionId is a required field - StackDriftDetectionId *string `min:"1" type:"string" required:"true"` - - // Status of the stack's actual configuration compared to its expected configuration. + // For example, for an Amazon Elastic Compute Cloud (EC2) instance, PhysicalResourceId + // corresponds to the InstanceId. You can pass the EC2 InstanceId to DescribeStackResources + // to find which stack the instance belongs to and what other resources are + // part of the stack. // - // * DRIFTED: The stack differs from its expected template configuration. - // A stack is considered to have drifted if one or more of its resources - // have drifted. + // Required: Conditional. If you don't specify PhysicalResourceId, you must + // specify StackName. // - // * NOT_CHECKED: CloudFormation hasn't checked if the stack differs from - // its expected template configuration. + // Default: There is no default value. + PhysicalResourceId *string `type:"string"` + + // The name or the unique stack ID that is associated with the stack, which + // aren't always interchangeable: // - // * IN_SYNC: The stack's actual configuration matches its expected template - // configuration. + // * Running stacks: You can specify either the stack's name or its unique + // stack ID. // - // * UNKNOWN: This value is reserved for future use. - StackDriftStatus *string `type:"string" enum:"StackDriftStatus"` - - // The ID of the stack. + // * Deleted stacks: You must specify the unique stack ID. // - // StackId is a required field - StackId *string `type:"string" required:"true"` - - // Time at which the stack drift detection operation was initiated. + // Default: There is no default value. // - // Timestamp is a required field - Timestamp *time.Time `type:"timestamp" required:"true"` + // Required: Conditional. If you don't specify StackName, you must specify PhysicalResourceId. + StackName *string `type:"string"` } // String returns the string representation. @@ -11384,7 +13680,7 @@ type DescribeStackDriftDetectionStatusOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeStackDriftDetectionStatusOutput) String() string { +func (s DescribeStackResourcesInput) String() string { return awsutil.Prettify(s) } @@ -11393,69 +13689,34 @@ func (s DescribeStackDriftDetectionStatusOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeStackDriftDetectionStatusOutput) GoString() string { +func (s DescribeStackResourcesInput) GoString() string { return s.String() } -// SetDetectionStatus sets the DetectionStatus field's value. -func (s *DescribeStackDriftDetectionStatusOutput) SetDetectionStatus(v string) *DescribeStackDriftDetectionStatusOutput { - s.DetectionStatus = &v - return s -} - -// SetDetectionStatusReason sets the DetectionStatusReason field's value. -func (s *DescribeStackDriftDetectionStatusOutput) SetDetectionStatusReason(v string) *DescribeStackDriftDetectionStatusOutput { - s.DetectionStatusReason = &v - return s -} - -// SetDriftedStackResourceCount sets the DriftedStackResourceCount field's value. -func (s *DescribeStackDriftDetectionStatusOutput) SetDriftedStackResourceCount(v int64) *DescribeStackDriftDetectionStatusOutput { - s.DriftedStackResourceCount = &v - return s -} - -// SetStackDriftDetectionId sets the StackDriftDetectionId field's value. -func (s *DescribeStackDriftDetectionStatusOutput) SetStackDriftDetectionId(v string) *DescribeStackDriftDetectionStatusOutput { - s.StackDriftDetectionId = &v - return s -} - -// SetStackDriftStatus sets the StackDriftStatus field's value. -func (s *DescribeStackDriftDetectionStatusOutput) SetStackDriftStatus(v string) *DescribeStackDriftDetectionStatusOutput { - s.StackDriftStatus = &v +// SetLogicalResourceId sets the LogicalResourceId field's value. +func (s *DescribeStackResourcesInput) SetLogicalResourceId(v string) *DescribeStackResourcesInput { + s.LogicalResourceId = &v return s } -// SetStackId sets the StackId field's value. -func (s *DescribeStackDriftDetectionStatusOutput) SetStackId(v string) *DescribeStackDriftDetectionStatusOutput { - s.StackId = &v +// SetPhysicalResourceId sets the PhysicalResourceId field's value. +func (s *DescribeStackResourcesInput) SetPhysicalResourceId(v string) *DescribeStackResourcesInput { + s.PhysicalResourceId = &v return s } -// SetTimestamp sets the Timestamp field's value. -func (s *DescribeStackDriftDetectionStatusOutput) SetTimestamp(v time.Time) *DescribeStackDriftDetectionStatusOutput { - s.Timestamp = &v +// SetStackName sets the StackName field's value. +func (s *DescribeStackResourcesInput) SetStackName(v string) *DescribeStackResourcesInput { + s.StackName = &v return s } -// The input for DescribeStackEvents action. -type DescribeStackEventsInput struct { +// The output for a DescribeStackResources action. +type DescribeStackResourcesOutput struct { _ struct{} `type:"structure"` - // A string that identifies the next page of events that you want to retrieve. - NextToken *string `min:"1" type:"string"` - - // The name or the unique stack ID that's associated with the stack, which aren't - // always interchangeable: - // - // * Running stacks: You can specify either the stack's name or its unique - // stack ID. - // - // * Deleted stacks: You must specify the unique stack ID. - // - // Default: There is no default value. - StackName *string `type:"string"` + // A list of StackResource structures. + StackResources []*StackResource `type:"list"` } // String returns the string representation. @@ -11463,7 +13724,7 @@ type DescribeStackEventsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeStackEventsInput) String() string { +func (s DescribeStackResourcesOutput) String() string { return awsutil.Prettify(s) } @@ -11472,45 +13733,39 @@ func (s DescribeStackEventsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeStackEventsInput) GoString() string { +func (s DescribeStackResourcesOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeStackEventsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeStackEventsInput"} - if s.NextToken != nil && len(*s.NextToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribeStackEventsInput) SetNextToken(v string) *DescribeStackEventsInput { - s.NextToken = &v - return s -} - -// SetStackName sets the StackName field's value. -func (s *DescribeStackEventsInput) SetStackName(v string) *DescribeStackEventsInput { - s.StackName = &v +// SetStackResources sets the StackResources field's value. +func (s *DescribeStackResourcesOutput) SetStackResources(v []*StackResource) *DescribeStackResourcesOutput { + s.StackResources = v return s } -// The output for a DescribeStackEvents action. -type DescribeStackEventsOutput struct { +type DescribeStackSetInput struct { _ struct{} `type:"structure"` - // If the output exceeds 1 MB in size, a string that identifies the next page - // of events. If no additional page exists, this value is null. - NextToken *string `min:"1" type:"string"` + // [Service-managed permissions] Specifies whether you are acting as an account + // administrator in the organization's management account or as a delegated + // administrator in a member account. + // + // By default, SELF is specified. Use SELF for stack sets with self-managed + // permissions. + // + // * If you are signed in to the management account, specify SELF. + // + // * If you are signed in to a delegated administrator account, specify DELEGATED_ADMIN. + // Your Amazon Web Services account must be registered as a delegated administrator + // in the management account. For more information, see Register a delegated + // administrator (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html) + // in the CloudFormation User Guide. + CallAs *string `type:"string" enum:"CallAs"` - // A list of StackEvents structures. - StackEvents []*StackEvent `type:"list"` + // The name or unique ID of the stack set whose description you want. + // + // StackSetName is a required field + StackSetName *string `type:"string" required:"true"` } // String returns the string representation. @@ -11518,7 +13773,7 @@ type DescribeStackEventsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeStackEventsOutput) String() string { +func (s DescribeStackSetInput) String() string { return awsutil.Prettify(s) } @@ -11527,23 +13782,36 @@ func (s DescribeStackEventsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeStackEventsOutput) GoString() string { +func (s DescribeStackSetInput) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *DescribeStackEventsOutput) SetNextToken(v string) *DescribeStackEventsOutput { - s.NextToken = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeStackSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeStackSetInput"} + if s.StackSetName == nil { + invalidParams.Add(request.NewErrParamRequired("StackSetName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCallAs sets the CallAs field's value. +func (s *DescribeStackSetInput) SetCallAs(v string) *DescribeStackSetInput { + s.CallAs = &v return s } -// SetStackEvents sets the StackEvents field's value. -func (s *DescribeStackEventsOutput) SetStackEvents(v []*StackEvent) *DescribeStackEventsOutput { - s.StackEvents = v +// SetStackSetName sets the StackSetName field's value. +func (s *DescribeStackSetInput) SetStackSetName(v string) *DescribeStackSetInput { + s.StackSetName = &v return s } -type DescribeStackInstanceInput struct { +type DescribeStackSetOperationInput struct { _ struct{} `type:"structure"` // [Service-managed permissions] Specifies whether you are acting as an account @@ -11562,19 +13830,12 @@ type DescribeStackInstanceInput struct { // in the CloudFormation User Guide. CallAs *string `type:"string" enum:"CallAs"` - // The ID of an Amazon Web Services account that's associated with this stack - // instance. - // - // StackInstanceAccount is a required field - StackInstanceAccount *string `type:"string" required:"true"` - - // The name of a Region that's associated with this stack instance. + // The unique ID of the stack set operation. // - // StackInstanceRegion is a required field - StackInstanceRegion *string `type:"string" required:"true"` + // OperationId is a required field + OperationId *string `min:"1" type:"string" required:"true"` - // The name or the unique stack ID of the stack set that you want to get stack - // instance information for. + // The name or the unique stack ID of the stack set for the stack operation. // // StackSetName is a required field StackSetName *string `type:"string" required:"true"` @@ -11585,7 +13846,7 @@ type DescribeStackInstanceInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeStackInstanceInput) String() string { +func (s DescribeStackSetOperationInput) String() string { return awsutil.Prettify(s) } @@ -11594,18 +13855,18 @@ func (s DescribeStackInstanceInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeStackInstanceInput) GoString() string { +func (s DescribeStackSetOperationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeStackInstanceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeStackInstanceInput"} - if s.StackInstanceAccount == nil { - invalidParams.Add(request.NewErrParamRequired("StackInstanceAccount")) +func (s *DescribeStackSetOperationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeStackSetOperationInput"} + if s.OperationId == nil { + invalidParams.Add(request.NewErrParamRequired("OperationId")) } - if s.StackInstanceRegion == nil { - invalidParams.Add(request.NewErrParamRequired("StackInstanceRegion")) + if s.OperationId != nil && len(*s.OperationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OperationId", 1)) } if s.StackSetName == nil { invalidParams.Add(request.NewErrParamRequired("StackSetName")) @@ -11618,34 +13879,28 @@ func (s *DescribeStackInstanceInput) Validate() error { } // SetCallAs sets the CallAs field's value. -func (s *DescribeStackInstanceInput) SetCallAs(v string) *DescribeStackInstanceInput { +func (s *DescribeStackSetOperationInput) SetCallAs(v string) *DescribeStackSetOperationInput { s.CallAs = &v return s } -// SetStackInstanceAccount sets the StackInstanceAccount field's value. -func (s *DescribeStackInstanceInput) SetStackInstanceAccount(v string) *DescribeStackInstanceInput { - s.StackInstanceAccount = &v - return s -} - -// SetStackInstanceRegion sets the StackInstanceRegion field's value. -func (s *DescribeStackInstanceInput) SetStackInstanceRegion(v string) *DescribeStackInstanceInput { - s.StackInstanceRegion = &v +// SetOperationId sets the OperationId field's value. +func (s *DescribeStackSetOperationInput) SetOperationId(v string) *DescribeStackSetOperationInput { + s.OperationId = &v return s } // SetStackSetName sets the StackSetName field's value. -func (s *DescribeStackInstanceInput) SetStackSetName(v string) *DescribeStackInstanceInput { +func (s *DescribeStackSetOperationInput) SetStackSetName(v string) *DescribeStackSetOperationInput { s.StackSetName = &v return s } -type DescribeStackInstanceOutput struct { +type DescribeStackSetOperationOutput struct { _ struct{} `type:"structure"` - // The stack instance that matches the specified request parameters. - StackInstance *StackInstance `type:"structure"` + // The specified stack set operation. + StackSetOperation *StackSetOperation `type:"structure"` } // String returns the string representation. @@ -11653,7 +13908,7 @@ type DescribeStackInstanceOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeStackInstanceOutput) String() string { +func (s DescribeStackSetOperationOutput) String() string { return awsutil.Prettify(s) } @@ -11662,47 +13917,78 @@ func (s DescribeStackInstanceOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeStackInstanceOutput) GoString() string { +func (s DescribeStackSetOperationOutput) GoString() string { return s.String() } -// SetStackInstance sets the StackInstance field's value. -func (s *DescribeStackInstanceOutput) SetStackInstance(v *StackInstance) *DescribeStackInstanceOutput { - s.StackInstance = v +// SetStackSetOperation sets the StackSetOperation field's value. +func (s *DescribeStackSetOperationOutput) SetStackSetOperation(v *StackSetOperation) *DescribeStackSetOperationOutput { + s.StackSetOperation = v return s } -type DescribeStackResourceDriftsInput struct { +type DescribeStackSetOutput struct { _ struct{} `type:"structure"` - // The maximum number of results to be returned with a single call. If the number - // of available results exceeds this maximum, the response includes a NextToken - // value that you can assign to the NextToken request parameter to get the next - // set of results. - MaxResults *int64 `min:"1" type:"integer"` + // The specified stack set. + StackSet *StackSet `type:"structure"` +} - // A string that identifies the next page of stack resource drift results. +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeStackSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeStackSetOutput) GoString() string { + return s.String() +} + +// SetStackSet sets the StackSet field's value. +func (s *DescribeStackSetOutput) SetStackSet(v *StackSet) *DescribeStackSetOutput { + s.StackSet = v + return s +} + +// The input for DescribeStacks action. +type DescribeStacksInput struct { + _ struct{} `type:"structure"` + + // A string that identifies the next page of stacks that you want to retrieve. NextToken *string `min:"1" type:"string"` - // The name of the stack for which you want drift information. // - // StackName is a required field - StackName *string `min:"1" type:"string" required:"true"` - - // The resource drift status values to use as filters for the resource drift - // results returned. + // If you don't pass a parameter to StackName, the API returns a response that + // describes all resources in the account, which can impact performance. This + // requires ListStacks and DescribeStacks permissions. // - // * DELETED: The resource differs from its expected template configuration - // in that the resource has been deleted. + // Consider using the ListStacks API if you're not passing a parameter to StackName. // - // * MODIFIED: One or more resource properties differ from their expected - // template values. + // The IAM policy below can be added to IAM policies when you want to limit + // resource-level permissions and avoid returning a response when no parameter + // is sent in the request: // - // * IN_SYNC: The resource's actual configuration matches its expected template - // configuration. + // { "Version": "2012-10-17", "Statement": [{ "Effect": "Deny", "Action": "cloudformation:DescribeStacks", + // "NotResource": "arn:aws:cloudformation:*:*:stack/*/*" }] } // - // * NOT_CHECKED: CloudFormation doesn't currently return this value. - StackResourceDriftStatusFilters []*string `min:"1" type:"list" enum:"StackResourceDriftStatus"` + // The name or the unique stack ID that's associated with the stack, which aren't + // always interchangeable: + // + // * Running stacks: You can specify either the stack's name or its unique + // stack ID. + // + // * Deleted stacks: You must specify the unique stack ID. + // + // Default: There is no default value. + StackName *string `type:"string"` } // String returns the string representation. @@ -11710,7 +13996,7 @@ type DescribeStackResourceDriftsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeStackResourceDriftsInput) String() string { +func (s DescribeStacksInput) String() string { return awsutil.Prettify(s) } @@ -11719,28 +14005,16 @@ func (s DescribeStackResourceDriftsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeStackResourceDriftsInput) GoString() string { +func (s DescribeStacksInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeStackResourceDriftsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeStackResourceDriftsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } +func (s *DescribeStacksInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeStacksInput"} if s.NextToken != nil && len(*s.NextToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } - if s.StackName == nil { - invalidParams.Add(request.NewErrParamRequired("StackName")) - } - if s.StackName != nil && len(*s.StackName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("StackName", 1)) - } - if s.StackResourceDriftStatusFilters != nil && len(s.StackResourceDriftStatusFilters) < 1 { - invalidParams.Add(request.NewErrParamMinLen("StackResourceDriftStatusFilters", 1)) - } if invalidParams.Len() > 0 { return invalidParams @@ -11748,51 +14022,28 @@ func (s *DescribeStackResourceDriftsInput) Validate() error { return nil } -// SetMaxResults sets the MaxResults field's value. -func (s *DescribeStackResourceDriftsInput) SetMaxResults(v int64) *DescribeStackResourceDriftsInput { - s.MaxResults = &v - return s -} - // SetNextToken sets the NextToken field's value. -func (s *DescribeStackResourceDriftsInput) SetNextToken(v string) *DescribeStackResourceDriftsInput { +func (s *DescribeStacksInput) SetNextToken(v string) *DescribeStacksInput { s.NextToken = &v return s } // SetStackName sets the StackName field's value. -func (s *DescribeStackResourceDriftsInput) SetStackName(v string) *DescribeStackResourceDriftsInput { +func (s *DescribeStacksInput) SetStackName(v string) *DescribeStacksInput { s.StackName = &v return s } -// SetStackResourceDriftStatusFilters sets the StackResourceDriftStatusFilters field's value. -func (s *DescribeStackResourceDriftsInput) SetStackResourceDriftStatusFilters(v []*string) *DescribeStackResourceDriftsInput { - s.StackResourceDriftStatusFilters = v - return s -} - -type DescribeStackResourceDriftsOutput struct { +// The output for a DescribeStacks action. +type DescribeStacksOutput struct { _ struct{} `type:"structure"` - // If the request doesn't return all the remaining results, NextToken is set - // to a token. To retrieve the next set of results, call DescribeStackResourceDrifts - // again and assign that token to the request object's NextToken parameter. - // If the request returns all results, NextToken is set to null. + // If the output exceeds 1 MB in size, a string that identifies the next page + // of stacks. If no additional page exists, this value is null. NextToken *string `min:"1" type:"string"` - // Drift information for the resources that have been checked for drift in the - // specified stack. This includes actual and expected configuration values for - // resources where CloudFormation detects drift. - // - // For a given stack, there will be one StackResourceDrift for each stack resource - // that has been checked for drift. Resources that haven't yet been checked - // for drift aren't included. Resources that do not currently support drift - // detection aren't checked, and so not included. For a list of resources that - // support drift detection, see Resources that Support Drift Detection (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift-resource-list.html). - // - // StackResourceDrifts is a required field - StackResourceDrifts []*StackResourceDrift `type:"list" required:"true"` + // A list of stack structures. + Stacks []*Stack `type:"list"` } // String returns the string representation. @@ -11800,7 +14051,7 @@ type DescribeStackResourceDriftsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeStackResourceDriftsOutput) String() string { +func (s DescribeStacksOutput) String() string { return awsutil.Prettify(s) } @@ -11809,45 +14060,56 @@ func (s DescribeStackResourceDriftsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeStackResourceDriftsOutput) GoString() string { +func (s DescribeStacksOutput) GoString() string { return s.String() } // SetNextToken sets the NextToken field's value. -func (s *DescribeStackResourceDriftsOutput) SetNextToken(v string) *DescribeStackResourceDriftsOutput { +func (s *DescribeStacksOutput) SetNextToken(v string) *DescribeStacksOutput { s.NextToken = &v return s } -// SetStackResourceDrifts sets the StackResourceDrifts field's value. -func (s *DescribeStackResourceDriftsOutput) SetStackResourceDrifts(v []*StackResourceDrift) *DescribeStackResourceDriftsOutput { - s.StackResourceDrifts = v +// SetStacks sets the Stacks field's value. +func (s *DescribeStacksOutput) SetStacks(v []*Stack) *DescribeStacksOutput { + s.Stacks = v return s } -// The input for DescribeStackResource action. -type DescribeStackResourceInput struct { +type DescribeTypeInput struct { _ struct{} `type:"structure"` - // The logical name of the resource as specified in the template. - // - // Default: There is no default value. + // The Amazon Resource Name (ARN) of the extension. // - // LogicalResourceId is a required field - LogicalResourceId *string `type:"string" required:"true"` + // Conditional: You must specify either TypeName and Type, or Arn. + Arn *string `type:"string"` - // The name or the unique stack ID that's associated with the stack, which aren't - // always interchangeable: + // The version number of a public third-party extension. + PublicVersionNumber *string `min:"5" type:"string"` + + // The publisher ID of the extension publisher. // - // * Running stacks: You can specify either the stack's name or its unique - // stack ID. + // Extensions provided by Amazon Web Services are not assigned a publisher ID. + PublisherId *string `min:"1" type:"string"` + + // The kind of extension. // - // * Deleted stacks: You must specify the unique stack ID. + // Conditional: You must specify either TypeName and Type, or Arn. + Type *string `type:"string" enum:"RegistryType"` + + // The name of the extension. // - // Default: There is no default value. + // Conditional: You must specify either TypeName and Type, or Arn. + TypeName *string `min:"10" type:"string"` + + // The ID of a specific version of the extension. The version ID is the value + // at the end of the Amazon Resource Name (ARN) assigned to the extension version + // when it is registered. // - // StackName is a required field - StackName *string `type:"string" required:"true"` + // If you specify a VersionId, DescribeType returns information about that specific + // extension version. Otherwise, it returns information about the default extension + // version. + VersionId *string `min:"1" type:"string"` } // String returns the string representation. @@ -11855,7 +14117,7 @@ type DescribeStackResourceInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeStackResourceInput) String() string { +func (s DescribeTypeInput) String() string { return awsutil.Prettify(s) } @@ -11864,18 +14126,24 @@ func (s DescribeStackResourceInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeStackResourceInput) GoString() string { +func (s DescribeTypeInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeStackResourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeStackResourceInput"} - if s.LogicalResourceId == nil { - invalidParams.Add(request.NewErrParamRequired("LogicalResourceId")) +func (s *DescribeTypeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeTypeInput"} + if s.PublicVersionNumber != nil && len(*s.PublicVersionNumber) < 5 { + invalidParams.Add(request.NewErrParamMinLen("PublicVersionNumber", 5)) } - if s.StackName == nil { - invalidParams.Add(request.NewErrParamRequired("StackName")) + if s.PublisherId != nil && len(*s.PublisherId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PublisherId", 1)) + } + if s.TypeName != nil && len(*s.TypeName) < 10 { + invalidParams.Add(request.NewErrParamMinLen("TypeName", 10)) + } + if s.VersionId != nil && len(*s.VersionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VersionId", 1)) } if invalidParams.Len() > 0 { @@ -11884,86 +14152,254 @@ func (s *DescribeStackResourceInput) Validate() error { return nil } -// SetLogicalResourceId sets the LogicalResourceId field's value. -func (s *DescribeStackResourceInput) SetLogicalResourceId(v string) *DescribeStackResourceInput { - s.LogicalResourceId = &v +// SetArn sets the Arn field's value. +func (s *DescribeTypeInput) SetArn(v string) *DescribeTypeInput { + s.Arn = &v return s } -// SetStackName sets the StackName field's value. -func (s *DescribeStackResourceInput) SetStackName(v string) *DescribeStackResourceInput { - s.StackName = &v +// SetPublicVersionNumber sets the PublicVersionNumber field's value. +func (s *DescribeTypeInput) SetPublicVersionNumber(v string) *DescribeTypeInput { + s.PublicVersionNumber = &v return s } -// The output for a DescribeStackResource action. -type DescribeStackResourceOutput struct { - _ struct{} `type:"structure"` - - // A StackResourceDetail structure containing the description of the specified - // resource in the specified stack. - StackResourceDetail *StackResourceDetail `type:"structure"` +// SetPublisherId sets the PublisherId field's value. +func (s *DescribeTypeInput) SetPublisherId(v string) *DescribeTypeInput { + s.PublisherId = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DescribeStackResourceOutput) String() string { - return awsutil.Prettify(s) +// SetType sets the Type field's value. +func (s *DescribeTypeInput) SetType(v string) *DescribeTypeInput { + s.Type = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DescribeStackResourceOutput) GoString() string { - return s.String() +// SetTypeName sets the TypeName field's value. +func (s *DescribeTypeInput) SetTypeName(v string) *DescribeTypeInput { + s.TypeName = &v + return s } -// SetStackResourceDetail sets the StackResourceDetail field's value. -func (s *DescribeStackResourceOutput) SetStackResourceDetail(v *StackResourceDetail) *DescribeStackResourceOutput { - s.StackResourceDetail = v +// SetVersionId sets the VersionId field's value. +func (s *DescribeTypeInput) SetVersionId(v string) *DescribeTypeInput { + s.VersionId = &v return s } -// The input for DescribeStackResources action. -type DescribeStackResourcesInput struct { +type DescribeTypeOutput struct { _ struct{} `type:"structure"` - // The logical name of the resource as specified in the template. + // The Amazon Resource Name (ARN) of the extension. + Arn *string `type:"string"` + + // Whether CloudFormation automatically updates the extension in this account + // and Region when a new minor version is published by the extension publisher. + // Major versions released by the publisher must be manually updated. For more + // information, see Activating public extensions for use in your account (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-public.html#registry-public-enable) + // in the CloudFormation User Guide. + AutoUpdate *bool `type:"boolean"` + + // A JSON string that represent the current configuration data for the extension + // in this account and Region. + // + // To set the configuration data for an extension, use SetTypeConfiguration + // (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_SetTypeConfiguration.html). + // For more information, see Configuring extensions at the account level (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-register.html#registry-set-configuration) + // in the CloudFormation User Guide. + ConfigurationSchema *string `min:"1" type:"string"` + + // The ID of the default version of the extension. The default version is used + // when the extension version isn't specified. + // + // This applies only to private extensions you have registered in your account. + // For public extensions, both those provided by Amazon Web Services and published + // by third parties, CloudFormation returns null. For more information, see + // RegisterType (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_RegisterType.html). + // + // To set the default version of an extension, use SetTypeDefaultVersion. + DefaultVersionId *string `min:"1" type:"string"` + + // The deprecation status of the extension version. + // + // Valid values include: + // + // * LIVE: The extension is activated or registered and can be used in CloudFormation + // operations, dependent on its provisioning behavior and visibility scope. + // + // * DEPRECATED: The extension has been deactivated or deregistered and can + // no longer be used in CloudFormation operations. + // + // For public third-party extensions, CloudFormation returns null. + DeprecatedStatus *string `type:"string" enum:"DeprecatedStatus"` + + // The description of the extension. + Description *string `min:"1" type:"string"` + + // The URL of a page providing detailed documentation for this extension. + DocumentationUrl *string `type:"string"` + + // The Amazon Resource Name (ARN) of the IAM execution role used to register + // the extension. This applies only to private extensions you have registered + // in your account. For more information, see RegisterType (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_RegisterType.html). + // + // If the registered extension calls any Amazon Web Services APIs, you must + // create an IAM execution role (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) + // that includes the necessary permissions to call those Amazon Web Services + // APIs, and provision that execution role in your account. CloudFormation then + // assumes that execution role to provide your extension with the appropriate + // credentials. + ExecutionRoleArn *string `min:"1" type:"string"` + + // Whether the extension is activated in the account and Region. + // + // This only applies to public third-party extensions. For all other extensions, + // CloudFormation returns null. + IsActivated *bool `type:"boolean"` + + // Whether the specified extension version is set as the default version. + // + // This applies only to private extensions you have registered in your account, + // and extensions published by Amazon Web Services. For public third-party extensions, + // whether they are activated in your account, CloudFormation returns null. + IsDefaultVersion *bool `type:"boolean"` + + // When the specified extension version was registered. This applies only to: + // + // * Private extensions you have registered in your account. For more information, + // see RegisterType (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_RegisterType.html). + // + // * Public extensions you have activated in your account with auto-update + // specified. For more information, see ActivateType (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ActivateType.html). + LastUpdated *time.Time `type:"timestamp"` + + // The latest version of a public extension that is available for use. + // + // This only applies if you specify a public extension, and you don't specify + // a version. For all other requests, CloudFormation returns null. + LatestPublicVersion *string `min:"5" type:"string"` + + // Contains logging configuration information for private extensions. This applies + // only to private extensions you have registered in your account. For public + // extensions, both those provided by Amazon Web Services and published by third + // parties, CloudFormation returns null. For more information, see RegisterType + // (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_RegisterType.html). + LoggingConfig *LoggingConfig `type:"structure"` + + // For public extensions that have been activated for this account and Region, + // the Amazon Resource Name (ARN) of the public extension. + OriginalTypeArn *string `type:"string"` + + // For public extensions that have been activated for this account and Region, + // the type name of the public extension. + // + // If you specified a TypeNameAlias when enabling the extension in this account + // and Region, CloudFormation treats that alias as the extension's type name + // within the account and Region, not the type name of the public extension. + // For more information, see Specifying aliases to refer to extensions (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-public.html#registry-public-enable-alias) + // in the CloudFormation User Guide. + OriginalTypeName *string `min:"10" type:"string"` + + // For resource type extensions, the provisioning behavior of the resource type. + // CloudFormation determines the provisioning type during registration, based + // on the types of handlers in the schema handler package submitted. + // + // Valid values include: + // + // * FULLY_MUTABLE: The resource type includes an update handler to process + // updates to the type during stack update operations. + // + // * IMMUTABLE: The resource type doesn't include an update handler, so the + // type can't be updated and must instead be replaced during stack update + // operations. + // + // * NON_PROVISIONABLE: The resource type doesn't include all the following + // handlers, and therefore can't actually be provisioned. create read delete + ProvisioningType *string `type:"string" enum:"ProvisioningType"` + + // The version number of a public third-party extension. + // + // This applies only if you specify a public extension you have activated in + // your account, or specify a public extension without specifying a version. + // For all other extensions, CloudFormation returns null. + PublicVersionNumber *string `min:"5" type:"string"` + + // The publisher ID of the extension publisher. + // + // This applies only to public third-party extensions. For private registered + // extensions, and extensions provided by Amazon Web Services, CloudFormation + // returns null. + PublisherId *string `min:"1" type:"string"` + + // For extensions that are modules, the public third-party extensions that must + // be activated in your account in order for the module itself to be activated. + RequiredActivatedTypes []*RequiredActivatedType `type:"list"` + + // The schema that defines the extension. + // + // For more information about extension schemas, see Resource Provider Schema + // (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html) + // in the CloudFormation CLI User Guide. + Schema *string `min:"1" type:"string"` + + // The URL of the source code for the extension. + SourceUrl *string `type:"string"` + + // When the specified private extension version was registered or activated + // in your account. + TimeCreated *time.Time `type:"timestamp"` + + // The kind of extension. + Type *string `type:"string" enum:"RegistryType"` + + // The name of the extension. + // + // If the extension is a public third-party type you have activated with a type + // name alias, CloudFormation returns the type name alias. For more information, + // see ActivateType (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ActivateType.html). + TypeName *string `min:"10" type:"string"` + + // The contract test status of the registered extension version. To return the + // extension test status of a specific extension version, you must specify VersionId. // - // Default: There is no default value. - LogicalResourceId *string `type:"string"` - - // The name or unique identifier that corresponds to a physical instance ID - // of a resource supported by CloudFormation. + // This applies only to registered private extension versions. CloudFormation + // doesn't return this information for public extensions, whether they are activated + // in your account. // - // For example, for an Amazon Elastic Compute Cloud (EC2) instance, PhysicalResourceId - // corresponds to the InstanceId. You can pass the EC2 InstanceId to DescribeStackResources - // to find which stack the instance belongs to and what other resources are - // part of the stack. + // * PASSED: The extension has passed all its contract tests. An extension + // must have a test status of PASSED before it can be published. For more + // information, see Publishing extensions to make them available for public + // use (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-publish.html) + // in the CloudFormation Command Line Interface User Guide. // - // Required: Conditional. If you don't specify PhysicalResourceId, you must - // specify StackName. + // * FAILED: The extension has failed one or more contract tests. // - // Default: There is no default value. - PhysicalResourceId *string `type:"string"` + // * IN_PROGRESS: Contract tests are currently being performed on the extension. + // + // * NOT_TESTED: Contract tests haven't been performed on the extension. + TypeTestsStatus *string `type:"string" enum:"TypeTestsStatus"` - // The name or the unique stack ID that is associated with the stack, which - // aren't always interchangeable: + // The description of the test status. To return the extension test status of + // a specific extension version, you must specify VersionId. // - // * Running stacks: You can specify either the stack's name or its unique - // stack ID. + // This applies only to registered private extension versions. CloudFormation + // doesn't return this information for public extensions, whether they are activated + // in your account. + TypeTestsStatusDescription *string `min:"1" type:"string"` + + // The scope at which the extension is visible and usable in CloudFormation + // operations. // - // * Deleted stacks: You must specify the unique stack ID. + // Valid values include: // - // Default: There is no default value. + // * PRIVATE: The extension is only visible and usable within the account + // in which it is registered. CloudFormation marks any extensions you register + // as PRIVATE. // - // Required: Conditional. If you don't specify StackName, you must specify PhysicalResourceId. - StackName *string `type:"string"` + // * PUBLIC: The extension is publicly visible and usable within any Amazon + // Web Services account. + Visibility *string `type:"string" enum:"Visibility"` } // String returns the string representation. @@ -11971,7 +14407,7 @@ type DescribeStackResourcesInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeStackResourcesInput) String() string { +func (s DescribeTypeOutput) String() string { return awsutil.Prettify(s) } @@ -11980,306 +14416,182 @@ func (s DescribeStackResourcesInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeStackResourcesInput) GoString() string { +func (s DescribeTypeOutput) GoString() string { return s.String() } -// SetLogicalResourceId sets the LogicalResourceId field's value. -func (s *DescribeStackResourcesInput) SetLogicalResourceId(v string) *DescribeStackResourcesInput { - s.LogicalResourceId = &v +// SetArn sets the Arn field's value. +func (s *DescribeTypeOutput) SetArn(v string) *DescribeTypeOutput { + s.Arn = &v return s } -// SetPhysicalResourceId sets the PhysicalResourceId field's value. -func (s *DescribeStackResourcesInput) SetPhysicalResourceId(v string) *DescribeStackResourcesInput { - s.PhysicalResourceId = &v +// SetAutoUpdate sets the AutoUpdate field's value. +func (s *DescribeTypeOutput) SetAutoUpdate(v bool) *DescribeTypeOutput { + s.AutoUpdate = &v return s } -// SetStackName sets the StackName field's value. -func (s *DescribeStackResourcesInput) SetStackName(v string) *DescribeStackResourcesInput { - s.StackName = &v +// SetConfigurationSchema sets the ConfigurationSchema field's value. +func (s *DescribeTypeOutput) SetConfigurationSchema(v string) *DescribeTypeOutput { + s.ConfigurationSchema = &v return s } -// The output for a DescribeStackResources action. -type DescribeStackResourcesOutput struct { - _ struct{} `type:"structure"` - - // A list of StackResource structures. - StackResources []*StackResource `type:"list"` -} - -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DescribeStackResourcesOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DescribeStackResourcesOutput) GoString() string { - return s.String() -} - -// SetStackResources sets the StackResources field's value. -func (s *DescribeStackResourcesOutput) SetStackResources(v []*StackResource) *DescribeStackResourcesOutput { - s.StackResources = v +// SetDefaultVersionId sets the DefaultVersionId field's value. +func (s *DescribeTypeOutput) SetDefaultVersionId(v string) *DescribeTypeOutput { + s.DefaultVersionId = &v return s } -type DescribeStackSetInput struct { - _ struct{} `type:"structure"` - - // [Service-managed permissions] Specifies whether you are acting as an account - // administrator in the organization's management account or as a delegated - // administrator in a member account. - // - // By default, SELF is specified. Use SELF for stack sets with self-managed - // permissions. - // - // * If you are signed in to the management account, specify SELF. - // - // * If you are signed in to a delegated administrator account, specify DELEGATED_ADMIN. - // Your Amazon Web Services account must be registered as a delegated administrator - // in the management account. For more information, see Register a delegated - // administrator (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html) - // in the CloudFormation User Guide. - CallAs *string `type:"string" enum:"CallAs"` - - // The name or unique ID of the stack set whose description you want. - // - // StackSetName is a required field - StackSetName *string `type:"string" required:"true"` -} - -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DescribeStackSetInput) String() string { - return awsutil.Prettify(s) +// SetDeprecatedStatus sets the DeprecatedStatus field's value. +func (s *DescribeTypeOutput) SetDeprecatedStatus(v string) *DescribeTypeOutput { + s.DeprecatedStatus = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DescribeStackSetInput) GoString() string { - return s.String() +// SetDescription sets the Description field's value. +func (s *DescribeTypeOutput) SetDescription(v string) *DescribeTypeOutput { + s.Description = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeStackSetInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeStackSetInput"} - if s.StackSetName == nil { - invalidParams.Add(request.NewErrParamRequired("StackSetName")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetDocumentationUrl sets the DocumentationUrl field's value. +func (s *DescribeTypeOutput) SetDocumentationUrl(v string) *DescribeTypeOutput { + s.DocumentationUrl = &v + return s } -// SetCallAs sets the CallAs field's value. -func (s *DescribeStackSetInput) SetCallAs(v string) *DescribeStackSetInput { - s.CallAs = &v +// SetExecutionRoleArn sets the ExecutionRoleArn field's value. +func (s *DescribeTypeOutput) SetExecutionRoleArn(v string) *DescribeTypeOutput { + s.ExecutionRoleArn = &v return s } -// SetStackSetName sets the StackSetName field's value. -func (s *DescribeStackSetInput) SetStackSetName(v string) *DescribeStackSetInput { - s.StackSetName = &v +// SetIsActivated sets the IsActivated field's value. +func (s *DescribeTypeOutput) SetIsActivated(v bool) *DescribeTypeOutput { + s.IsActivated = &v return s } -type DescribeStackSetOperationInput struct { - _ struct{} `type:"structure"` - - // [Service-managed permissions] Specifies whether you are acting as an account - // administrator in the organization's management account or as a delegated - // administrator in a member account. - // - // By default, SELF is specified. Use SELF for stack sets with self-managed - // permissions. - // - // * If you are signed in to the management account, specify SELF. - // - // * If you are signed in to a delegated administrator account, specify DELEGATED_ADMIN. - // Your Amazon Web Services account must be registered as a delegated administrator - // in the management account. For more information, see Register a delegated - // administrator (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html) - // in the CloudFormation User Guide. - CallAs *string `type:"string" enum:"CallAs"` - - // The unique ID of the stack set operation. - // - // OperationId is a required field - OperationId *string `min:"1" type:"string" required:"true"` - - // The name or the unique stack ID of the stack set for the stack operation. - // - // StackSetName is a required field - StackSetName *string `type:"string" required:"true"` +// SetIsDefaultVersion sets the IsDefaultVersion field's value. +func (s *DescribeTypeOutput) SetIsDefaultVersion(v bool) *DescribeTypeOutput { + s.IsDefaultVersion = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DescribeStackSetOperationInput) String() string { - return awsutil.Prettify(s) +// SetLastUpdated sets the LastUpdated field's value. +func (s *DescribeTypeOutput) SetLastUpdated(v time.Time) *DescribeTypeOutput { + s.LastUpdated = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DescribeStackSetOperationInput) GoString() string { - return s.String() +// SetLatestPublicVersion sets the LatestPublicVersion field's value. +func (s *DescribeTypeOutput) SetLatestPublicVersion(v string) *DescribeTypeOutput { + s.LatestPublicVersion = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeStackSetOperationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeStackSetOperationInput"} - if s.OperationId == nil { - invalidParams.Add(request.NewErrParamRequired("OperationId")) - } - if s.OperationId != nil && len(*s.OperationId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("OperationId", 1)) - } - if s.StackSetName == nil { - invalidParams.Add(request.NewErrParamRequired("StackSetName")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetLoggingConfig sets the LoggingConfig field's value. +func (s *DescribeTypeOutput) SetLoggingConfig(v *LoggingConfig) *DescribeTypeOutput { + s.LoggingConfig = v + return s } -// SetCallAs sets the CallAs field's value. -func (s *DescribeStackSetOperationInput) SetCallAs(v string) *DescribeStackSetOperationInput { - s.CallAs = &v +// SetOriginalTypeArn sets the OriginalTypeArn field's value. +func (s *DescribeTypeOutput) SetOriginalTypeArn(v string) *DescribeTypeOutput { + s.OriginalTypeArn = &v return s } -// SetOperationId sets the OperationId field's value. -func (s *DescribeStackSetOperationInput) SetOperationId(v string) *DescribeStackSetOperationInput { - s.OperationId = &v +// SetOriginalTypeName sets the OriginalTypeName field's value. +func (s *DescribeTypeOutput) SetOriginalTypeName(v string) *DescribeTypeOutput { + s.OriginalTypeName = &v return s } -// SetStackSetName sets the StackSetName field's value. -func (s *DescribeStackSetOperationInput) SetStackSetName(v string) *DescribeStackSetOperationInput { - s.StackSetName = &v +// SetProvisioningType sets the ProvisioningType field's value. +func (s *DescribeTypeOutput) SetProvisioningType(v string) *DescribeTypeOutput { + s.ProvisioningType = &v return s } -type DescribeStackSetOperationOutput struct { - _ struct{} `type:"structure"` +// SetPublicVersionNumber sets the PublicVersionNumber field's value. +func (s *DescribeTypeOutput) SetPublicVersionNumber(v string) *DescribeTypeOutput { + s.PublicVersionNumber = &v + return s +} - // The specified stack set operation. - StackSetOperation *StackSetOperation `type:"structure"` +// SetPublisherId sets the PublisherId field's value. +func (s *DescribeTypeOutput) SetPublisherId(v string) *DescribeTypeOutput { + s.PublisherId = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DescribeStackSetOperationOutput) String() string { - return awsutil.Prettify(s) +// SetRequiredActivatedTypes sets the RequiredActivatedTypes field's value. +func (s *DescribeTypeOutput) SetRequiredActivatedTypes(v []*RequiredActivatedType) *DescribeTypeOutput { + s.RequiredActivatedTypes = v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DescribeStackSetOperationOutput) GoString() string { - return s.String() +// SetSchema sets the Schema field's value. +func (s *DescribeTypeOutput) SetSchema(v string) *DescribeTypeOutput { + s.Schema = &v + return s } -// SetStackSetOperation sets the StackSetOperation field's value. -func (s *DescribeStackSetOperationOutput) SetStackSetOperation(v *StackSetOperation) *DescribeStackSetOperationOutput { - s.StackSetOperation = v +// SetSourceUrl sets the SourceUrl field's value. +func (s *DescribeTypeOutput) SetSourceUrl(v string) *DescribeTypeOutput { + s.SourceUrl = &v return s } -type DescribeStackSetOutput struct { - _ struct{} `type:"structure"` +// SetTimeCreated sets the TimeCreated field's value. +func (s *DescribeTypeOutput) SetTimeCreated(v time.Time) *DescribeTypeOutput { + s.TimeCreated = &v + return s +} - // The specified stack set. - StackSet *StackSet `type:"structure"` +// SetType sets the Type field's value. +func (s *DescribeTypeOutput) SetType(v string) *DescribeTypeOutput { + s.Type = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DescribeStackSetOutput) String() string { - return awsutil.Prettify(s) +// SetTypeName sets the TypeName field's value. +func (s *DescribeTypeOutput) SetTypeName(v string) *DescribeTypeOutput { + s.TypeName = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DescribeStackSetOutput) GoString() string { - return s.String() +// SetTypeTestsStatus sets the TypeTestsStatus field's value. +func (s *DescribeTypeOutput) SetTypeTestsStatus(v string) *DescribeTypeOutput { + s.TypeTestsStatus = &v + return s } -// SetStackSet sets the StackSet field's value. -func (s *DescribeStackSetOutput) SetStackSet(v *StackSet) *DescribeStackSetOutput { - s.StackSet = v +// SetTypeTestsStatusDescription sets the TypeTestsStatusDescription field's value. +func (s *DescribeTypeOutput) SetTypeTestsStatusDescription(v string) *DescribeTypeOutput { + s.TypeTestsStatusDescription = &v return s } -// The input for DescribeStacks action. -type DescribeStacksInput struct { - _ struct{} `type:"structure"` +// SetVisibility sets the Visibility field's value. +func (s *DescribeTypeOutput) SetVisibility(v string) *DescribeTypeOutput { + s.Visibility = &v + return s +} - // A string that identifies the next page of stacks that you want to retrieve. - NextToken *string `min:"1" type:"string"` +type DescribeTypeRegistrationInput struct { + _ struct{} `type:"structure"` + // The identifier for this registration request. // - // If you don't pass a parameter to StackName, the API returns a response that - // describes all resources in the account, which can impact performance. This - // requires ListStacks and DescribeStacks permissions. - // - // Consider using the ListStacks API if you're not passing a parameter to StackName. - // - // The IAM policy below can be added to IAM policies when you want to limit - // resource-level permissions and avoid returning a response when no parameter - // is sent in the request: - // - // { "Version": "2012-10-17", "Statement": [{ "Effect": "Deny", "Action": "cloudformation:DescribeStacks", - // "NotResource": "arn:aws:cloudformation:*:*:stack/*/*" }] } - // - // The name or the unique stack ID that's associated with the stack, which aren't - // always interchangeable: - // - // * Running stacks: You can specify either the stack's name or its unique - // stack ID. - // - // * Deleted stacks: You must specify the unique stack ID. + // This registration token is generated by CloudFormation when you initiate + // a registration request using RegisterType. // - // Default: There is no default value. - StackName *string `type:"string"` + // RegistrationToken is a required field + RegistrationToken *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -12287,7 +14599,7 @@ type DescribeStacksInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeStacksInput) String() string { +func (s DescribeTypeRegistrationInput) String() string { return awsutil.Prettify(s) } @@ -12296,15 +14608,18 @@ func (s DescribeStacksInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeStacksInput) GoString() string { +func (s DescribeTypeRegistrationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeStacksInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeStacksInput"} - if s.NextToken != nil && len(*s.NextToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) +func (s *DescribeTypeRegistrationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeTypeRegistrationInput"} + if s.RegistrationToken == nil { + invalidParams.Add(request.NewErrParamRequired("RegistrationToken")) + } + if s.RegistrationToken != nil && len(*s.RegistrationToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RegistrationToken", 1)) } if invalidParams.Len() > 0 { @@ -12313,28 +14628,33 @@ func (s *DescribeStacksInput) Validate() error { return nil } -// SetNextToken sets the NextToken field's value. -func (s *DescribeStacksInput) SetNextToken(v string) *DescribeStacksInput { - s.NextToken = &v - return s -} - -// SetStackName sets the StackName field's value. -func (s *DescribeStacksInput) SetStackName(v string) *DescribeStacksInput { - s.StackName = &v +// SetRegistrationToken sets the RegistrationToken field's value. +func (s *DescribeTypeRegistrationInput) SetRegistrationToken(v string) *DescribeTypeRegistrationInput { + s.RegistrationToken = &v return s } -// The output for a DescribeStacks action. -type DescribeStacksOutput struct { +type DescribeTypeRegistrationOutput struct { _ struct{} `type:"structure"` - // If the output exceeds 1 MB in size, a string that identifies the next page - // of stacks. If no additional page exists, this value is null. - NextToken *string `min:"1" type:"string"` + // The description of the extension registration request. + Description *string `min:"1" type:"string"` - // A list of stack structures. - Stacks []*Stack `type:"list"` + // The current status of the extension registration request. + ProgressStatus *string `type:"string" enum:"RegistrationStatus"` + + // The Amazon Resource Name (ARN) of the extension being registered. + // + // For registration requests with a ProgressStatus of other than COMPLETE, this + // will be null. + TypeArn *string `type:"string"` + + // The Amazon Resource Name (ARN) of this specific version of the extension + // being registered. + // + // For registration requests with a ProgressStatus of other than COMPLETE, this + // will be null. + TypeVersionArn *string `type:"string"` } // String returns the string representation. @@ -12342,7 +14662,7 @@ type DescribeStacksOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeStacksOutput) String() string { +func (s DescribeTypeRegistrationOutput) String() string { return awsutil.Prettify(s) } @@ -12351,56 +14671,44 @@ func (s DescribeStacksOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeStacksOutput) GoString() string { +func (s DescribeTypeRegistrationOutput) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *DescribeStacksOutput) SetNextToken(v string) *DescribeStacksOutput { - s.NextToken = &v +// SetDescription sets the Description field's value. +func (s *DescribeTypeRegistrationOutput) SetDescription(v string) *DescribeTypeRegistrationOutput { + s.Description = &v return s } -// SetStacks sets the Stacks field's value. -func (s *DescribeStacksOutput) SetStacks(v []*Stack) *DescribeStacksOutput { - s.Stacks = v +// SetProgressStatus sets the ProgressStatus field's value. +func (s *DescribeTypeRegistrationOutput) SetProgressStatus(v string) *DescribeTypeRegistrationOutput { + s.ProgressStatus = &v return s } -type DescribeTypeInput struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) of the extension. - // - // Conditional: You must specify either TypeName and Type, or Arn. - Arn *string `type:"string"` - - // The version number of a public third-party extension. - PublicVersionNumber *string `min:"5" type:"string"` +// SetTypeArn sets the TypeArn field's value. +func (s *DescribeTypeRegistrationOutput) SetTypeArn(v string) *DescribeTypeRegistrationOutput { + s.TypeArn = &v + return s +} - // The publisher ID of the extension publisher. - // - // Extensions provided by Amazon Web Services are not assigned a publisher ID. - PublisherId *string `min:"1" type:"string"` +// SetTypeVersionArn sets the TypeVersionArn field's value. +func (s *DescribeTypeRegistrationOutput) SetTypeVersionArn(v string) *DescribeTypeRegistrationOutput { + s.TypeVersionArn = &v + return s +} - // The kind of extension. - // - // Conditional: You must specify either TypeName and Type, or Arn. - Type *string `type:"string" enum:"RegistryType"` +type DetectStackDriftInput struct { + _ struct{} `type:"structure"` - // The name of the extension. - // - // Conditional: You must specify either TypeName and Type, or Arn. - TypeName *string `min:"10" type:"string"` + // The logical names of any resources you want to use as filters. + LogicalResourceIds []*string `min:"1" type:"list"` - // The ID of a specific version of the extension. The version ID is the value - // at the end of the Amazon Resource Name (ARN) assigned to the extension version - // when it is registered. + // The name of the stack for which you want to detect drift. // - // If you specify a VersionId, DescribeType returns information about that specific - // extension version. Otherwise, it returns information about the default extension - // version. - VersionId *string `min:"1" type:"string"` + // StackName is a required field + StackName *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -12408,7 +14716,7 @@ type DescribeTypeInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeTypeInput) String() string { +func (s DetectStackDriftInput) String() string { return awsutil.Prettify(s) } @@ -12417,24 +14725,21 @@ func (s DescribeTypeInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeTypeInput) GoString() string { +func (s DetectStackDriftInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeTypeInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeTypeInput"} - if s.PublicVersionNumber != nil && len(*s.PublicVersionNumber) < 5 { - invalidParams.Add(request.NewErrParamMinLen("PublicVersionNumber", 5)) - } - if s.PublisherId != nil && len(*s.PublisherId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("PublisherId", 1)) +func (s *DetectStackDriftInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DetectStackDriftInput"} + if s.LogicalResourceIds != nil && len(s.LogicalResourceIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LogicalResourceIds", 1)) } - if s.TypeName != nil && len(*s.TypeName) < 10 { - invalidParams.Add(request.NewErrParamMinLen("TypeName", 10)) + if s.StackName == nil { + invalidParams.Add(request.NewErrParamRequired("StackName")) } - if s.VersionId != nil && len(*s.VersionId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VersionId", 1)) + if s.StackName != nil && len(*s.StackName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StackName", 1)) } if invalidParams.Len() > 0 { @@ -12443,254 +14748,29 @@ func (s *DescribeTypeInput) Validate() error { return nil } -// SetArn sets the Arn field's value. -func (s *DescribeTypeInput) SetArn(v string) *DescribeTypeInput { - s.Arn = &v - return s -} - -// SetPublicVersionNumber sets the PublicVersionNumber field's value. -func (s *DescribeTypeInput) SetPublicVersionNumber(v string) *DescribeTypeInput { - s.PublicVersionNumber = &v - return s -} - -// SetPublisherId sets the PublisherId field's value. -func (s *DescribeTypeInput) SetPublisherId(v string) *DescribeTypeInput { - s.PublisherId = &v - return s -} - -// SetType sets the Type field's value. -func (s *DescribeTypeInput) SetType(v string) *DescribeTypeInput { - s.Type = &v - return s -} - -// SetTypeName sets the TypeName field's value. -func (s *DescribeTypeInput) SetTypeName(v string) *DescribeTypeInput { - s.TypeName = &v +// SetLogicalResourceIds sets the LogicalResourceIds field's value. +func (s *DetectStackDriftInput) SetLogicalResourceIds(v []*string) *DetectStackDriftInput { + s.LogicalResourceIds = v return s } -// SetVersionId sets the VersionId field's value. -func (s *DescribeTypeInput) SetVersionId(v string) *DescribeTypeInput { - s.VersionId = &v +// SetStackName sets the StackName field's value. +func (s *DetectStackDriftInput) SetStackName(v string) *DetectStackDriftInput { + s.StackName = &v return s } -type DescribeTypeOutput struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) of the extension. - Arn *string `type:"string"` - - // Whether CloudFormation automatically updates the extension in this account - // and Region when a new minor version is published by the extension publisher. - // Major versions released by the publisher must be manually updated. For more - // information, see Activating public extensions for use in your account (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-public.html#registry-public-enable) - // in the CloudFormation User Guide. - AutoUpdate *bool `type:"boolean"` - - // A JSON string that represent the current configuration data for the extension - // in this account and Region. - // - // To set the configuration data for an extension, use SetTypeConfiguration - // (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_SetTypeConfiguration.html). - // For more information, see Configuring extensions at the account level (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-register.html#registry-set-configuration) - // in the CloudFormation User Guide. - ConfigurationSchema *string `min:"1" type:"string"` - - // The ID of the default version of the extension. The default version is used - // when the extension version isn't specified. - // - // This applies only to private extensions you have registered in your account. - // For public extensions, both those provided by Amazon Web Services and published - // by third parties, CloudFormation returns null. For more information, see - // RegisterType (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_RegisterType.html). - // - // To set the default version of an extension, use SetTypeDefaultVersion. - DefaultVersionId *string `min:"1" type:"string"` - - // The deprecation status of the extension version. - // - // Valid values include: - // - // * LIVE: The extension is activated or registered and can be used in CloudFormation - // operations, dependent on its provisioning behavior and visibility scope. - // - // * DEPRECATED: The extension has been deactivated or deregistered and can - // no longer be used in CloudFormation operations. - // - // For public third-party extensions, CloudFormation returns null. - DeprecatedStatus *string `type:"string" enum:"DeprecatedStatus"` - - // The description of the extension. - Description *string `min:"1" type:"string"` - - // The URL of a page providing detailed documentation for this extension. - DocumentationUrl *string `type:"string"` - - // The Amazon Resource Name (ARN) of the IAM execution role used to register - // the extension. This applies only to private extensions you have registered - // in your account. For more information, see RegisterType (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_RegisterType.html). - // - // If the registered extension calls any Amazon Web Services APIs, you must - // create an IAM execution role (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) - // that includes the necessary permissions to call those Amazon Web Services - // APIs, and provision that execution role in your account. CloudFormation then - // assumes that execution role to provide your extension with the appropriate - // credentials. - ExecutionRoleArn *string `min:"1" type:"string"` - - // Whether the extension is activated in the account and Region. - // - // This only applies to public third-party extensions. For all other extensions, - // CloudFormation returns null. - IsActivated *bool `type:"boolean"` - - // Whether the specified extension version is set as the default version. - // - // This applies only to private extensions you have registered in your account, - // and extensions published by Amazon Web Services. For public third-party extensions, - // whether they are activated in your account, CloudFormation returns null. - IsDefaultVersion *bool `type:"boolean"` - - // When the specified extension version was registered. This applies only to: - // - // * Private extensions you have registered in your account. For more information, - // see RegisterType (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_RegisterType.html). - // - // * Public extensions you have activated in your account with auto-update - // specified. For more information, see ActivateType (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ActivateType.html). - LastUpdated *time.Time `type:"timestamp"` - - // The latest version of a public extension that is available for use. - // - // This only applies if you specify a public extension, and you don't specify - // a version. For all other requests, CloudFormation returns null. - LatestPublicVersion *string `min:"5" type:"string"` - - // Contains logging configuration information for private extensions. This applies - // only to private extensions you have registered in your account. For public - // extensions, both those provided by Amazon Web Services and published by third - // parties, CloudFormation returns null. For more information, see RegisterType - // (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_RegisterType.html). - LoggingConfig *LoggingConfig `type:"structure"` - - // For public extensions that have been activated for this account and Region, - // the Amazon Resource Name (ARN) of the public extension. - OriginalTypeArn *string `type:"string"` - - // For public extensions that have been activated for this account and Region, - // the type name of the public extension. - // - // If you specified a TypeNameAlias when enabling the extension in this account - // and Region, CloudFormation treats that alias as the extension's type name - // within the account and Region, not the type name of the public extension. - // For more information, see Specifying aliases to refer to extensions (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-public.html#registry-public-enable-alias) - // in the CloudFormation User Guide. - OriginalTypeName *string `min:"10" type:"string"` - - // For resource type extensions, the provisioning behavior of the resource type. - // CloudFormation determines the provisioning type during registration, based - // on the types of handlers in the schema handler package submitted. - // - // Valid values include: - // - // * FULLY_MUTABLE: The resource type includes an update handler to process - // updates to the type during stack update operations. - // - // * IMMUTABLE: The resource type doesn't include an update handler, so the - // type can't be updated and must instead be replaced during stack update - // operations. - // - // * NON_PROVISIONABLE: The resource type doesn't include all the following - // handlers, and therefore can't actually be provisioned. create read delete - ProvisioningType *string `type:"string" enum:"ProvisioningType"` - - // The version number of a public third-party extension. - // - // This applies only if you specify a public extension you have activated in - // your account, or specify a public extension without specifying a version. - // For all other extensions, CloudFormation returns null. - PublicVersionNumber *string `min:"5" type:"string"` - - // The publisher ID of the extension publisher. - // - // This applies only to public third-party extensions. For private registered - // extensions, and extensions provided by Amazon Web Services, CloudFormation - // returns null. - PublisherId *string `min:"1" type:"string"` - - // For extensions that are modules, the public third-party extensions that must - // be activated in your account in order for the module itself to be activated. - RequiredActivatedTypes []*RequiredActivatedType `type:"list"` - - // The schema that defines the extension. - // - // For more information about extension schemas, see Resource Provider Schema - // (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html) - // in the CloudFormation CLI User Guide. - Schema *string `min:"1" type:"string"` - - // The URL of the source code for the extension. - SourceUrl *string `type:"string"` - - // When the specified private extension version was registered or activated - // in your account. - TimeCreated *time.Time `type:"timestamp"` - - // The kind of extension. - Type *string `type:"string" enum:"RegistryType"` - - // The name of the extension. - // - // If the extension is a public third-party type you have activated with a type - // name alias, CloudFormation returns the type name alias. For more information, - // see ActivateType (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ActivateType.html). - TypeName *string `min:"10" type:"string"` - - // The contract test status of the registered extension version. To return the - // extension test status of a specific extension version, you must specify VersionId. - // - // This applies only to registered private extension versions. CloudFormation - // doesn't return this information for public extensions, whether they are activated - // in your account. - // - // * PASSED: The extension has passed all its contract tests. An extension - // must have a test status of PASSED before it can be published. For more - // information, see Publishing extensions to make them available for public - // use (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-publish.html) - // in the CloudFormation Command Line Interface User Guide. - // - // * FAILED: The extension has failed one or more contract tests. - // - // * IN_PROGRESS: Contract tests are currently being performed on the extension. - // - // * NOT_TESTED: Contract tests haven't been performed on the extension. - TypeTestsStatus *string `type:"string" enum:"TypeTestsStatus"` - - // The description of the test status. To return the extension test status of - // a specific extension version, you must specify VersionId. - // - // This applies only to registered private extension versions. CloudFormation - // doesn't return this information for public extensions, whether they are activated - // in your account. - TypeTestsStatusDescription *string `min:"1" type:"string"` +type DetectStackDriftOutput struct { + _ struct{} `type:"structure"` - // The scope at which the extension is visible and usable in CloudFormation - // operations. - // - // Valid values include: + // The ID of the drift detection results of this operation. // - // * PRIVATE: The extension is only visible and usable within the account - // in which it is registered. CloudFormation marks any extensions you register - // as PRIVATE. + // CloudFormation generates new results, with a new drift detection ID, each + // time this operation is run. However, the number of drift results CloudFormation + // retains for any given stack, and for how long, may vary. // - // * PUBLIC: The extension is publicly visible and usable within any Amazon - // Web Services account. - Visibility *string `type:"string" enum:"Visibility"` + // StackDriftDetectionId is a required field + StackDriftDetectionId *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -12698,7 +14778,7 @@ type DescribeTypeOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeTypeOutput) String() string { +func (s DetectStackDriftOutput) String() string { return awsutil.Prettify(s) } @@ -12707,182 +14787,270 @@ func (s DescribeTypeOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeTypeOutput) GoString() string { +func (s DetectStackDriftOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *DescribeTypeOutput) SetArn(v string) *DescribeTypeOutput { - s.Arn = &v +// SetStackDriftDetectionId sets the StackDriftDetectionId field's value. +func (s *DetectStackDriftOutput) SetStackDriftDetectionId(v string) *DetectStackDriftOutput { + s.StackDriftDetectionId = &v return s } -// SetAutoUpdate sets the AutoUpdate field's value. -func (s *DescribeTypeOutput) SetAutoUpdate(v bool) *DescribeTypeOutput { - s.AutoUpdate = &v - return s -} +type DetectStackResourceDriftInput struct { + _ struct{} `type:"structure"` -// SetConfigurationSchema sets the ConfigurationSchema field's value. -func (s *DescribeTypeOutput) SetConfigurationSchema(v string) *DescribeTypeOutput { - s.ConfigurationSchema = &v - return s -} + // The logical name of the resource for which to return drift information. + // + // LogicalResourceId is a required field + LogicalResourceId *string `type:"string" required:"true"` -// SetDefaultVersionId sets the DefaultVersionId field's value. -func (s *DescribeTypeOutput) SetDefaultVersionId(v string) *DescribeTypeOutput { - s.DefaultVersionId = &v - return s + // The name of the stack to which the resource belongs. + // + // StackName is a required field + StackName *string `min:"1" type:"string" required:"true"` } -// SetDeprecatedStatus sets the DeprecatedStatus field's value. -func (s *DescribeTypeOutput) SetDeprecatedStatus(v string) *DescribeTypeOutput { - s.DeprecatedStatus = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DetectStackResourceDriftInput) String() string { + return awsutil.Prettify(s) } -// SetDescription sets the Description field's value. -func (s *DescribeTypeOutput) SetDescription(v string) *DescribeTypeOutput { - s.Description = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DetectStackResourceDriftInput) GoString() string { + return s.String() } -// SetDocumentationUrl sets the DocumentationUrl field's value. -func (s *DescribeTypeOutput) SetDocumentationUrl(v string) *DescribeTypeOutput { - s.DocumentationUrl = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *DetectStackResourceDriftInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DetectStackResourceDriftInput"} + if s.LogicalResourceId == nil { + invalidParams.Add(request.NewErrParamRequired("LogicalResourceId")) + } + if s.StackName == nil { + invalidParams.Add(request.NewErrParamRequired("StackName")) + } + if s.StackName != nil && len(*s.StackName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StackName", 1)) + } -// SetExecutionRoleArn sets the ExecutionRoleArn field's value. -func (s *DescribeTypeOutput) SetExecutionRoleArn(v string) *DescribeTypeOutput { - s.ExecutionRoleArn = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetIsActivated sets the IsActivated field's value. -func (s *DescribeTypeOutput) SetIsActivated(v bool) *DescribeTypeOutput { - s.IsActivated = &v +// SetLogicalResourceId sets the LogicalResourceId field's value. +func (s *DetectStackResourceDriftInput) SetLogicalResourceId(v string) *DetectStackResourceDriftInput { + s.LogicalResourceId = &v return s } -// SetIsDefaultVersion sets the IsDefaultVersion field's value. -func (s *DescribeTypeOutput) SetIsDefaultVersion(v bool) *DescribeTypeOutput { - s.IsDefaultVersion = &v +// SetStackName sets the StackName field's value. +func (s *DetectStackResourceDriftInput) SetStackName(v string) *DetectStackResourceDriftInput { + s.StackName = &v return s } -// SetLastUpdated sets the LastUpdated field's value. -func (s *DescribeTypeOutput) SetLastUpdated(v time.Time) *DescribeTypeOutput { - s.LastUpdated = &v - return s -} +type DetectStackResourceDriftOutput struct { + _ struct{} `type:"structure"` -// SetLatestPublicVersion sets the LatestPublicVersion field's value. -func (s *DescribeTypeOutput) SetLatestPublicVersion(v string) *DescribeTypeOutput { - s.LatestPublicVersion = &v - return s + // Information about whether the resource's actual configuration has drifted + // from its expected template configuration, including actual and expected property + // values and any differences detected. + // + // StackResourceDrift is a required field + StackResourceDrift *StackResourceDrift `type:"structure" required:"true"` } -// SetLoggingConfig sets the LoggingConfig field's value. -func (s *DescribeTypeOutput) SetLoggingConfig(v *LoggingConfig) *DescribeTypeOutput { - s.LoggingConfig = v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DetectStackResourceDriftOutput) String() string { + return awsutil.Prettify(s) } -// SetOriginalTypeArn sets the OriginalTypeArn field's value. -func (s *DescribeTypeOutput) SetOriginalTypeArn(v string) *DescribeTypeOutput { - s.OriginalTypeArn = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DetectStackResourceDriftOutput) GoString() string { + return s.String() } -// SetOriginalTypeName sets the OriginalTypeName field's value. -func (s *DescribeTypeOutput) SetOriginalTypeName(v string) *DescribeTypeOutput { - s.OriginalTypeName = &v +// SetStackResourceDrift sets the StackResourceDrift field's value. +func (s *DetectStackResourceDriftOutput) SetStackResourceDrift(v *StackResourceDrift) *DetectStackResourceDriftOutput { + s.StackResourceDrift = v return s } -// SetProvisioningType sets the ProvisioningType field's value. -func (s *DescribeTypeOutput) SetProvisioningType(v string) *DescribeTypeOutput { - s.ProvisioningType = &v - return s +type DetectStackSetDriftInput struct { + _ struct{} `type:"structure"` + + // [Service-managed permissions] Specifies whether you are acting as an account + // administrator in the organization's management account or as a delegated + // administrator in a member account. + // + // By default, SELF is specified. Use SELF for stack sets with self-managed + // permissions. + // + // * If you are signed in to the management account, specify SELF. + // + // * If you are signed in to a delegated administrator account, specify DELEGATED_ADMIN. + // Your Amazon Web Services account must be registered as a delegated administrator + // in the management account. For more information, see Register a delegated + // administrator (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html) + // in the CloudFormation User Guide. + CallAs *string `type:"string" enum:"CallAs"` + + // The ID of the stack set operation. + OperationId *string `min:"1" type:"string" idempotencyToken:"true"` + + // The user-specified preferences for how CloudFormation performs a stack set + // operation. + // + // For more information about maximum concurrent accounts and failure tolerance, + // see Stack set operation options (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-ops-options). + OperationPreferences *StackSetOperationPreferences `type:"structure"` + + // The name of the stack set on which to perform the drift detection operation. + // + // StackSetName is a required field + StackSetName *string `type:"string" required:"true"` } -// SetPublicVersionNumber sets the PublicVersionNumber field's value. -func (s *DescribeTypeOutput) SetPublicVersionNumber(v string) *DescribeTypeOutput { - s.PublicVersionNumber = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DetectStackSetDriftInput) String() string { + return awsutil.Prettify(s) } -// SetPublisherId sets the PublisherId field's value. -func (s *DescribeTypeOutput) SetPublisherId(v string) *DescribeTypeOutput { - s.PublisherId = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DetectStackSetDriftInput) GoString() string { + return s.String() } -// SetRequiredActivatedTypes sets the RequiredActivatedTypes field's value. -func (s *DescribeTypeOutput) SetRequiredActivatedTypes(v []*RequiredActivatedType) *DescribeTypeOutput { - s.RequiredActivatedTypes = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DetectStackSetDriftInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DetectStackSetDriftInput"} + if s.OperationId != nil && len(*s.OperationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OperationId", 1)) + } + if s.StackSetName == nil { + invalidParams.Add(request.NewErrParamRequired("StackSetName")) + } + if s.OperationPreferences != nil { + if err := s.OperationPreferences.Validate(); err != nil { + invalidParams.AddNested("OperationPreferences", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetSchema sets the Schema field's value. -func (s *DescribeTypeOutput) SetSchema(v string) *DescribeTypeOutput { - s.Schema = &v +// SetCallAs sets the CallAs field's value. +func (s *DetectStackSetDriftInput) SetCallAs(v string) *DetectStackSetDriftInput { + s.CallAs = &v return s } -// SetSourceUrl sets the SourceUrl field's value. -func (s *DescribeTypeOutput) SetSourceUrl(v string) *DescribeTypeOutput { - s.SourceUrl = &v +// SetOperationId sets the OperationId field's value. +func (s *DetectStackSetDriftInput) SetOperationId(v string) *DetectStackSetDriftInput { + s.OperationId = &v return s } -// SetTimeCreated sets the TimeCreated field's value. -func (s *DescribeTypeOutput) SetTimeCreated(v time.Time) *DescribeTypeOutput { - s.TimeCreated = &v +// SetOperationPreferences sets the OperationPreferences field's value. +func (s *DetectStackSetDriftInput) SetOperationPreferences(v *StackSetOperationPreferences) *DetectStackSetDriftInput { + s.OperationPreferences = v return s } -// SetType sets the Type field's value. -func (s *DescribeTypeOutput) SetType(v string) *DescribeTypeOutput { - s.Type = &v +// SetStackSetName sets the StackSetName field's value. +func (s *DetectStackSetDriftInput) SetStackSetName(v string) *DetectStackSetDriftInput { + s.StackSetName = &v return s } -// SetTypeName sets the TypeName field's value. -func (s *DescribeTypeOutput) SetTypeName(v string) *DescribeTypeOutput { - s.TypeName = &v - return s +type DetectStackSetDriftOutput struct { + _ struct{} `type:"structure"` + + // The ID of the drift detection stack set operation. + // + // You can use this operation ID with DescribeStackSetOperation to monitor the + // progress of the drift detection operation. + OperationId *string `min:"1" type:"string"` } -// SetTypeTestsStatus sets the TypeTestsStatus field's value. -func (s *DescribeTypeOutput) SetTypeTestsStatus(v string) *DescribeTypeOutput { - s.TypeTestsStatus = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DetectStackSetDriftOutput) String() string { + return awsutil.Prettify(s) } -// SetTypeTestsStatusDescription sets the TypeTestsStatusDescription field's value. -func (s *DescribeTypeOutput) SetTypeTestsStatusDescription(v string) *DescribeTypeOutput { - s.TypeTestsStatusDescription = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DetectStackSetDriftOutput) GoString() string { + return s.String() } -// SetVisibility sets the Visibility field's value. -func (s *DescribeTypeOutput) SetVisibility(v string) *DescribeTypeOutput { - s.Visibility = &v +// SetOperationId sets the OperationId field's value. +func (s *DetectStackSetDriftOutput) SetOperationId(v string) *DetectStackSetDriftOutput { + s.OperationId = &v return s } -type DescribeTypeRegistrationInput struct { +// The input for an EstimateTemplateCost action. +type EstimateTemplateCostInput struct { _ struct{} `type:"structure"` - // The identifier for this registration request. + // A list of Parameter structures that specify input parameters. + Parameters []*Parameter `type:"list"` + + // Structure containing the template body with a minimum length of 1 byte and + // a maximum length of 51,200 bytes. (For more information, go to Template Anatomy + // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) + // in the CloudFormation User Guide.) // - // This registration token is generated by CloudFormation when you initiate - // a registration request using RegisterType. + // Conditional: You must pass TemplateBody or TemplateURL. If both are passed, + // only TemplateBody is used. + TemplateBody *string `min:"1" type:"string"` + + // Location of file containing the template body. The URL must point to a template + // that's located in an Amazon S3 bucket or a Systems Manager document. For + // more information, go to Template Anatomy (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) + // in the CloudFormation User Guide. // - // RegistrationToken is a required field - RegistrationToken *string `min:"1" type:"string" required:"true"` + // Conditional: You must pass TemplateURL or TemplateBody. If both are passed, + // only TemplateBody is used. + TemplateURL *string `min:"1" type:"string"` } // String returns the string representation. @@ -12890,7 +15058,7 @@ type DescribeTypeRegistrationInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeTypeRegistrationInput) String() string { +func (s EstimateTemplateCostInput) String() string { return awsutil.Prettify(s) } @@ -12899,18 +15067,18 @@ func (s DescribeTypeRegistrationInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeTypeRegistrationInput) GoString() string { +func (s EstimateTemplateCostInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeTypeRegistrationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeTypeRegistrationInput"} - if s.RegistrationToken == nil { - invalidParams.Add(request.NewErrParamRequired("RegistrationToken")) +func (s *EstimateTemplateCostInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EstimateTemplateCostInput"} + if s.TemplateBody != nil && len(*s.TemplateBody) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1)) } - if s.RegistrationToken != nil && len(*s.RegistrationToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("RegistrationToken", 1)) + if s.TemplateURL != nil && len(*s.TemplateURL) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateURL", 1)) } if invalidParams.Len() > 0 { @@ -12919,33 +15087,31 @@ func (s *DescribeTypeRegistrationInput) Validate() error { return nil } -// SetRegistrationToken sets the RegistrationToken field's value. -func (s *DescribeTypeRegistrationInput) SetRegistrationToken(v string) *DescribeTypeRegistrationInput { - s.RegistrationToken = &v +// SetParameters sets the Parameters field's value. +func (s *EstimateTemplateCostInput) SetParameters(v []*Parameter) *EstimateTemplateCostInput { + s.Parameters = v return s } -type DescribeTypeRegistrationOutput struct { - _ struct{} `type:"structure"` - - // The description of the extension registration request. - Description *string `min:"1" type:"string"` +// SetTemplateBody sets the TemplateBody field's value. +func (s *EstimateTemplateCostInput) SetTemplateBody(v string) *EstimateTemplateCostInput { + s.TemplateBody = &v + return s +} - // The current status of the extension registration request. - ProgressStatus *string `type:"string" enum:"RegistrationStatus"` +// SetTemplateURL sets the TemplateURL field's value. +func (s *EstimateTemplateCostInput) SetTemplateURL(v string) *EstimateTemplateCostInput { + s.TemplateURL = &v + return s +} - // The Amazon Resource Name (ARN) of the extension being registered. - // - // For registration requests with a ProgressStatus of other than COMPLETE, this - // will be null. - TypeArn *string `type:"string"` +// The output for a EstimateTemplateCost action. +type EstimateTemplateCostOutput struct { + _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of this specific version of the extension - // being registered. - // - // For registration requests with a ProgressStatus of other than COMPLETE, this - // will be null. - TypeVersionArn *string `type:"string"` + // An Amazon Web Services Simple Monthly Calculator URL with a query string + // that describes the resources required to run the template. + Url *string `type:"string"` } // String returns the string representation. @@ -12953,7 +15119,7 @@ type DescribeTypeRegistrationOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeTypeRegistrationOutput) String() string { +func (s EstimateTemplateCostOutput) String() string { return awsutil.Prettify(s) } @@ -12962,44 +15128,61 @@ func (s DescribeTypeRegistrationOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeTypeRegistrationOutput) GoString() string { +func (s EstimateTemplateCostOutput) GoString() string { return s.String() } -// SetDescription sets the Description field's value. -func (s *DescribeTypeRegistrationOutput) SetDescription(v string) *DescribeTypeRegistrationOutput { - s.Description = &v - return s -} - -// SetProgressStatus sets the ProgressStatus field's value. -func (s *DescribeTypeRegistrationOutput) SetProgressStatus(v string) *DescribeTypeRegistrationOutput { - s.ProgressStatus = &v +// SetUrl sets the Url field's value. +func (s *EstimateTemplateCostOutput) SetUrl(v string) *EstimateTemplateCostOutput { + s.Url = &v return s } -// SetTypeArn sets the TypeArn field's value. -func (s *DescribeTypeRegistrationOutput) SetTypeArn(v string) *DescribeTypeRegistrationOutput { - s.TypeArn = &v - return s -} +// The input for the ExecuteChangeSet action. +type ExecuteChangeSetInput struct { + _ struct{} `type:"structure"` -// SetTypeVersionArn sets the TypeVersionArn field's value. -func (s *DescribeTypeRegistrationOutput) SetTypeVersionArn(v string) *DescribeTypeRegistrationOutput { - s.TypeVersionArn = &v - return s -} + // The name or Amazon Resource Name (ARN) of the change set that you want use + // to update the specified stack. + // + // ChangeSetName is a required field + ChangeSetName *string `min:"1" type:"string" required:"true"` -type DetectStackDriftInput struct { - _ struct{} `type:"structure"` + // A unique identifier for this ExecuteChangeSet request. Specify this token + // if you plan to retry requests so that CloudFormation knows that you're not + // attempting to execute a change set to update a stack with the same name. + // You might retry ExecuteChangeSet requests to ensure that CloudFormation successfully + // received them. + ClientRequestToken *string `min:"1" type:"string"` - // The logical names of any resources you want to use as filters. - LogicalResourceIds []*string `min:"1" type:"list"` + // Preserves the state of previously provisioned resources when an operation + // fails. This parameter can't be specified when the OnStackFailure parameter + // to the CreateChangeSet (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateChangeSet.html) + // API operation was specified. + // + // * True - if the stack creation fails, do nothing. This is equivalent to + // specifying DO_NOTHING for the OnStackFailure parameter to the CreateChangeSet + // (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateChangeSet.html) + // API operation. + // + // * False - if the stack creation fails, roll back the stack. This is equivalent + // to specifying ROLLBACK for the OnStackFailure parameter to the CreateChangeSet + // (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateChangeSet.html) + // API operation. + // + // Default: True + DisableRollback *bool `type:"boolean"` - // The name of the stack for which you want to detect drift. + // When set to true, newly created resources are deleted when the operation + // rolls back. This includes newly created resources marked with a deletion + // policy of Retain. // - // StackName is a required field - StackName *string `min:"1" type:"string" required:"true"` + // Default: false + RetainExceptOnCreate *bool `type:"boolean"` + + // If you specified the name of a change set, specify the stack name or Amazon + // Resource Name (ARN) that's associated with the change set you want to execute. + StackName *string `min:"1" type:"string"` } // String returns the string representation. @@ -13007,7 +15190,7 @@ type DetectStackDriftInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DetectStackDriftInput) String() string { +func (s ExecuteChangeSetInput) String() string { return awsutil.Prettify(s) } @@ -13016,18 +15199,21 @@ func (s DetectStackDriftInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DetectStackDriftInput) GoString() string { +func (s ExecuteChangeSetInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DetectStackDriftInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DetectStackDriftInput"} - if s.LogicalResourceIds != nil && len(s.LogicalResourceIds) < 1 { - invalidParams.Add(request.NewErrParamMinLen("LogicalResourceIds", 1)) +func (s *ExecuteChangeSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ExecuteChangeSetInput"} + if s.ChangeSetName == nil { + invalidParams.Add(request.NewErrParamRequired("ChangeSetName")) } - if s.StackName == nil { - invalidParams.Add(request.NewErrParamRequired("StackName")) + if s.ChangeSetName != nil && len(*s.ChangeSetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeSetName", 1)) + } + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) } if s.StackName != nil && len(*s.StackName) < 1 { invalidParams.Add(request.NewErrParamMinLen("StackName", 1)) @@ -13039,29 +15225,74 @@ func (s *DetectStackDriftInput) Validate() error { return nil } -// SetLogicalResourceIds sets the LogicalResourceIds field's value. -func (s *DetectStackDriftInput) SetLogicalResourceIds(v []*string) *DetectStackDriftInput { - s.LogicalResourceIds = v +// SetChangeSetName sets the ChangeSetName field's value. +func (s *ExecuteChangeSetInput) SetChangeSetName(v string) *ExecuteChangeSetInput { + s.ChangeSetName = &v + return s +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *ExecuteChangeSetInput) SetClientRequestToken(v string) *ExecuteChangeSetInput { + s.ClientRequestToken = &v + return s +} + +// SetDisableRollback sets the DisableRollback field's value. +func (s *ExecuteChangeSetInput) SetDisableRollback(v bool) *ExecuteChangeSetInput { + s.DisableRollback = &v + return s +} + +// SetRetainExceptOnCreate sets the RetainExceptOnCreate field's value. +func (s *ExecuteChangeSetInput) SetRetainExceptOnCreate(v bool) *ExecuteChangeSetInput { + s.RetainExceptOnCreate = &v + return s +} + +// SetStackName sets the StackName field's value. +func (s *ExecuteChangeSetInput) SetStackName(v string) *ExecuteChangeSetInput { + s.StackName = &v return s } -// SetStackName sets the StackName field's value. -func (s *DetectStackDriftInput) SetStackName(v string) *DetectStackDriftInput { - s.StackName = &v - return s +// The output for the ExecuteChangeSet action. +type ExecuteChangeSetOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ExecuteChangeSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ExecuteChangeSetOutput) GoString() string { + return s.String() } -type DetectStackDriftOutput struct { +// The Export structure describes the exported output values for a stack. +type Export struct { _ struct{} `type:"structure"` - // The ID of the drift detection results of this operation. - // - // CloudFormation generates new results, with a new drift detection ID, each - // time this operation is run. However, the number of drift results CloudFormation - // retains for any given stack, and for how long, may vary. - // - // StackDriftDetectionId is a required field - StackDriftDetectionId *string `min:"1" type:"string" required:"true"` + // The stack that contains the exported output name and value. + ExportingStackId *string `type:"string"` + + // The name of exported output value. Use this name and the Fn::ImportValue + // function to import the associated value into other stacks. The name is defined + // in the Export field in the associated stack's Outputs section. + Name *string `type:"string"` + + // The value of the exported output, such as a resource physical ID. This value + // is defined in the Export field in the associated stack's Outputs section. + Value *string `type:"string"` } // String returns the string representation. @@ -13069,7 +15300,7 @@ type DetectStackDriftOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DetectStackDriftOutput) String() string { +func (s Export) String() string { return awsutil.Prettify(s) } @@ -13078,28 +15309,45 @@ func (s DetectStackDriftOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DetectStackDriftOutput) GoString() string { +func (s Export) GoString() string { return s.String() } -// SetStackDriftDetectionId sets the StackDriftDetectionId field's value. -func (s *DetectStackDriftOutput) SetStackDriftDetectionId(v string) *DetectStackDriftOutput { - s.StackDriftDetectionId = &v +// SetExportingStackId sets the ExportingStackId field's value. +func (s *Export) SetExportingStackId(v string) *Export { + s.ExportingStackId = &v return s } -type DetectStackResourceDriftInput struct { +// SetName sets the Name field's value. +func (s *Export) SetName(v string) *Export { + s.Name = &v + return s +} + +// SetValue sets the Value field's value. +func (s *Export) SetValue(v string) *Export { + s.Value = &v + return s +} + +type GetGeneratedTemplateInput struct { _ struct{} `type:"structure"` - // The logical name of the resource for which to return drift information. + // The language to use to retrieve for the generated template. Supported values + // are: // - // LogicalResourceId is a required field - LogicalResourceId *string `type:"string" required:"true"` + // * JSON + // + // * YAML + Format *string `type:"string" enum:"TemplateFormat"` - // The name of the stack to which the resource belongs. + // The name or Amazon Resource Name (ARN) of the generated template. The format + // is arn:${Partition}:cloudformation:${Region}:${Account}:generatedtemplate/${Id}. + // For example, arn:aws:cloudformation:us-east-1:123456789012:generatedtemplate/2e8465c1-9a80-43ea-a3a3-4f2d692fe6dc . // - // StackName is a required field - StackName *string `min:"1" type:"string" required:"true"` + // GeneratedTemplateName is a required field + GeneratedTemplateName *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -13107,7 +15355,7 @@ type DetectStackResourceDriftInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DetectStackResourceDriftInput) String() string { +func (s GetGeneratedTemplateInput) String() string { return awsutil.Prettify(s) } @@ -13116,21 +15364,18 @@ func (s DetectStackResourceDriftInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DetectStackResourceDriftInput) GoString() string { +func (s GetGeneratedTemplateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DetectStackResourceDriftInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DetectStackResourceDriftInput"} - if s.LogicalResourceId == nil { - invalidParams.Add(request.NewErrParamRequired("LogicalResourceId")) - } - if s.StackName == nil { - invalidParams.Add(request.NewErrParamRequired("StackName")) +func (s *GetGeneratedTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetGeneratedTemplateInput"} + if s.GeneratedTemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("GeneratedTemplateName")) } - if s.StackName != nil && len(*s.StackName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("StackName", 1)) + if s.GeneratedTemplateName != nil && len(*s.GeneratedTemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GeneratedTemplateName", 1)) } if invalidParams.Len() > 0 { @@ -13139,27 +15384,43 @@ func (s *DetectStackResourceDriftInput) Validate() error { return nil } -// SetLogicalResourceId sets the LogicalResourceId field's value. -func (s *DetectStackResourceDriftInput) SetLogicalResourceId(v string) *DetectStackResourceDriftInput { - s.LogicalResourceId = &v +// SetFormat sets the Format field's value. +func (s *GetGeneratedTemplateInput) SetFormat(v string) *GetGeneratedTemplateInput { + s.Format = &v return s } -// SetStackName sets the StackName field's value. -func (s *DetectStackResourceDriftInput) SetStackName(v string) *DetectStackResourceDriftInput { - s.StackName = &v +// SetGeneratedTemplateName sets the GeneratedTemplateName field's value. +func (s *GetGeneratedTemplateInput) SetGeneratedTemplateName(v string) *GetGeneratedTemplateInput { + s.GeneratedTemplateName = &v return s } -type DetectStackResourceDriftOutput struct { +type GetGeneratedTemplateOutput struct { _ struct{} `type:"structure"` - // Information about whether the resource's actual configuration has drifted - // from its expected template configuration, including actual and expected property - // values and any differences detected. + // The status of the template generation. Supported values are: // - // StackResourceDrift is a required field - StackResourceDrift *StackResourceDrift `type:"structure" required:"true"` + // * CreatePending - the creation of the template is pending. + // + // * CreateInProgress - the creation of the template is in progress. + // + // * DeletePending - the deletion of the template is pending. + // + // * DeleteInProgress - the deletion of the template is in progress. + // + // * UpdatePending - the update of the template is pending. + // + // * UpdateInProgress - the update of the template is in progress. + // + // * Failed - the template operation failed. + // + // * Complete - the template operation is complete. + Status *string `type:"string" enum:"GeneratedTemplateStatus"` + + // The template body of the generated template, in the language specified by + // the Language parameter. + TemplateBody *string `min:"1" type:"string"` } // String returns the string representation. @@ -13167,7 +15428,7 @@ type DetectStackResourceDriftOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DetectStackResourceDriftOutput) String() string { +func (s GetGeneratedTemplateOutput) String() string { return awsutil.Prettify(s) } @@ -13176,49 +15437,31 @@ func (s DetectStackResourceDriftOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DetectStackResourceDriftOutput) GoString() string { +func (s GetGeneratedTemplateOutput) GoString() string { return s.String() } -// SetStackResourceDrift sets the StackResourceDrift field's value. -func (s *DetectStackResourceDriftOutput) SetStackResourceDrift(v *StackResourceDrift) *DetectStackResourceDriftOutput { - s.StackResourceDrift = v +// SetStatus sets the Status field's value. +func (s *GetGeneratedTemplateOutput) SetStatus(v string) *GetGeneratedTemplateOutput { + s.Status = &v return s } -type DetectStackSetDriftInput struct { - _ struct{} `type:"structure"` - - // [Service-managed permissions] Specifies whether you are acting as an account - // administrator in the organization's management account or as a delegated - // administrator in a member account. - // - // By default, SELF is specified. Use SELF for stack sets with self-managed - // permissions. - // - // * If you are signed in to the management account, specify SELF. - // - // * If you are signed in to a delegated administrator account, specify DELEGATED_ADMIN. - // Your Amazon Web Services account must be registered as a delegated administrator - // in the management account. For more information, see Register a delegated - // administrator (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html) - // in the CloudFormation User Guide. - CallAs *string `type:"string" enum:"CallAs"` - - // The ID of the stack set operation. - OperationId *string `min:"1" type:"string" idempotencyToken:"true"` +// SetTemplateBody sets the TemplateBody field's value. +func (s *GetGeneratedTemplateOutput) SetTemplateBody(v string) *GetGeneratedTemplateOutput { + s.TemplateBody = &v + return s +} - // The user-specified preferences for how CloudFormation performs a stack set - // operation. - // - // For more information about maximum concurrent accounts and failure tolerance, - // see Stack set operation options (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-ops-options). - OperationPreferences *StackSetOperationPreferences `type:"structure"` +// The input for the GetStackPolicy action. +type GetStackPolicyInput struct { + _ struct{} `type:"structure"` - // The name of the stack set on which to perform the drift detection operation. + // The name or unique stack ID that's associated with the stack whose policy + // you want to get. // - // StackSetName is a required field - StackSetName *string `type:"string" required:"true"` + // StackName is a required field + StackName *string `type:"string" required:"true"` } // String returns the string representation. @@ -13226,7 +15469,7 @@ type DetectStackSetDriftInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DetectStackSetDriftInput) String() string { +func (s GetStackPolicyInput) String() string { return awsutil.Prettify(s) } @@ -13235,23 +15478,15 @@ func (s DetectStackSetDriftInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DetectStackSetDriftInput) GoString() string { +func (s GetStackPolicyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DetectStackSetDriftInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DetectStackSetDriftInput"} - if s.OperationId != nil && len(*s.OperationId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("OperationId", 1)) - } - if s.StackSetName == nil { - invalidParams.Add(request.NewErrParamRequired("StackSetName")) - } - if s.OperationPreferences != nil { - if err := s.OperationPreferences.Validate(); err != nil { - invalidParams.AddNested("OperationPreferences", err.(request.ErrInvalidParams)) - } +func (s *GetStackPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetStackPolicyInput"} + if s.StackName == nil { + invalidParams.Add(request.NewErrParamRequired("StackName")) } if invalidParams.Len() > 0 { @@ -13260,38 +15495,20 @@ func (s *DetectStackSetDriftInput) Validate() error { return nil } -// SetCallAs sets the CallAs field's value. -func (s *DetectStackSetDriftInput) SetCallAs(v string) *DetectStackSetDriftInput { - s.CallAs = &v - return s -} - -// SetOperationId sets the OperationId field's value. -func (s *DetectStackSetDriftInput) SetOperationId(v string) *DetectStackSetDriftInput { - s.OperationId = &v - return s -} - -// SetOperationPreferences sets the OperationPreferences field's value. -func (s *DetectStackSetDriftInput) SetOperationPreferences(v *StackSetOperationPreferences) *DetectStackSetDriftInput { - s.OperationPreferences = v - return s -} - -// SetStackSetName sets the StackSetName field's value. -func (s *DetectStackSetDriftInput) SetStackSetName(v string) *DetectStackSetDriftInput { - s.StackSetName = &v +// SetStackName sets the StackName field's value. +func (s *GetStackPolicyInput) SetStackName(v string) *GetStackPolicyInput { + s.StackName = &v return s } -type DetectStackSetDriftOutput struct { +// The output for the GetStackPolicy action. +type GetStackPolicyOutput struct { _ struct{} `type:"structure"` - // The ID of the drift detection stack set operation. - // - // You can use this operation ID with DescribeStackSetOperation to monitor the - // progress of the drift detection operation. - OperationId *string `min:"1" type:"string"` + // Structure containing the stack policy body. (For more information, go to + // Prevent Updates to Stack Resources (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html) + // in the CloudFormation User Guide.) + StackPolicyBody *string `min:"1" type:"string"` } // String returns the string representation. @@ -13299,7 +15516,7 @@ type DetectStackSetDriftOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DetectStackSetDriftOutput) String() string { +func (s GetStackPolicyOutput) String() string { return awsutil.Prettify(s) } @@ -13308,40 +15525,43 @@ func (s DetectStackSetDriftOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DetectStackSetDriftOutput) GoString() string { +func (s GetStackPolicyOutput) GoString() string { return s.String() } -// SetOperationId sets the OperationId field's value. -func (s *DetectStackSetDriftOutput) SetOperationId(v string) *DetectStackSetDriftOutput { - s.OperationId = &v +// SetStackPolicyBody sets the StackPolicyBody field's value. +func (s *GetStackPolicyOutput) SetStackPolicyBody(v string) *GetStackPolicyOutput { + s.StackPolicyBody = &v return s } -// The input for an EstimateTemplateCost action. -type EstimateTemplateCostInput struct { +// The input for a GetTemplate action. +type GetTemplateInput struct { _ struct{} `type:"structure"` - // A list of Parameter structures that specify input parameters. - Parameters []*Parameter `type:"list"` + // The name or Amazon Resource Name (ARN) of a change set for which CloudFormation + // returns the associated template. If you specify a name, you must also specify + // the StackName. + ChangeSetName *string `min:"1" type:"string"` - // Structure containing the template body with a minimum length of 1 byte and - // a maximum length of 51,200 bytes. (For more information, go to Template Anatomy - // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) - // in the CloudFormation User Guide.) + // The name or the unique stack ID that's associated with the stack, which aren't + // always interchangeable: // - // Conditional: You must pass TemplateBody or TemplateURL. If both are passed, - // only TemplateBody is used. - TemplateBody *string `min:"1" type:"string"` + // * Running stacks: You can specify either the stack's name or its unique + // stack ID. + // + // * Deleted stacks: You must specify the unique stack ID. + // + // Default: There is no default value. + StackName *string `type:"string"` - // Location of file containing the template body. The URL must point to a template - // that's located in an Amazon S3 bucket or a Systems Manager document. For - // more information, go to Template Anatomy (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) - // in the CloudFormation User Guide. + // For templates that include transforms, the stage of the template that CloudFormation + // returns. To get the user-submitted template, specify Original. To get the + // template after CloudFormation has processed all transforms, specify Processed. // - // Conditional: You must pass TemplateURL or TemplateBody. If both are passed, - // only TemplateBody is used. - TemplateURL *string `min:"1" type:"string"` + // If the template doesn't include transforms, Original and Processed return + // the same template. By default, CloudFormation specifies Processed. + TemplateStage *string `type:"string" enum:"TemplateStage"` } // String returns the string representation. @@ -13349,7 +15569,7 @@ type EstimateTemplateCostInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s EstimateTemplateCostInput) String() string { +func (s GetTemplateInput) String() string { return awsutil.Prettify(s) } @@ -13358,18 +15578,15 @@ func (s EstimateTemplateCostInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s EstimateTemplateCostInput) GoString() string { +func (s GetTemplateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *EstimateTemplateCostInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "EstimateTemplateCostInput"} - if s.TemplateBody != nil && len(*s.TemplateBody) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1)) - } - if s.TemplateURL != nil && len(*s.TemplateURL) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TemplateURL", 1)) +func (s *GetTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetTemplateInput"} + if s.ChangeSetName != nil && len(*s.ChangeSetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeSetName", 1)) } if invalidParams.Len() > 0 { @@ -13378,31 +15595,41 @@ func (s *EstimateTemplateCostInput) Validate() error { return nil } -// SetParameters sets the Parameters field's value. -func (s *EstimateTemplateCostInput) SetParameters(v []*Parameter) *EstimateTemplateCostInput { - s.Parameters = v +// SetChangeSetName sets the ChangeSetName field's value. +func (s *GetTemplateInput) SetChangeSetName(v string) *GetTemplateInput { + s.ChangeSetName = &v return s } -// SetTemplateBody sets the TemplateBody field's value. -func (s *EstimateTemplateCostInput) SetTemplateBody(v string) *EstimateTemplateCostInput { - s.TemplateBody = &v +// SetStackName sets the StackName field's value. +func (s *GetTemplateInput) SetStackName(v string) *GetTemplateInput { + s.StackName = &v return s } -// SetTemplateURL sets the TemplateURL field's value. -func (s *EstimateTemplateCostInput) SetTemplateURL(v string) *EstimateTemplateCostInput { - s.TemplateURL = &v +// SetTemplateStage sets the TemplateStage field's value. +func (s *GetTemplateInput) SetTemplateStage(v string) *GetTemplateInput { + s.TemplateStage = &v return s } -// The output for a EstimateTemplateCost action. -type EstimateTemplateCostOutput struct { +// The output for GetTemplate action. +type GetTemplateOutput struct { _ struct{} `type:"structure"` - // An Amazon Web Services Simple Monthly Calculator URL with a query string - // that describes the resources required to run the template. - Url *string `type:"string"` + // The stage of the template that you can retrieve. For stacks, the Original + // and Processed templates are always available. For change sets, the Original + // template is always available. After CloudFormation finishes creating the + // change set, the Processed template becomes available. + StagesAvailable []*string `type:"list" enum:"TemplateStage"` + + // Structure containing the template body. (For more information, go to Template + // Anatomy (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) + // in the CloudFormation User Guide.) + // + // CloudFormation returns the same template that was used when the stack was + // created. + TemplateBody *string `min:"1" type:"string"` } // String returns the string representation. @@ -13410,7 +15637,7 @@ type EstimateTemplateCostOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s EstimateTemplateCostOutput) String() string { +func (s GetTemplateOutput) String() string { return awsutil.Prettify(s) } @@ -13419,61 +15646,78 @@ func (s EstimateTemplateCostOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s EstimateTemplateCostOutput) GoString() string { +func (s GetTemplateOutput) GoString() string { return s.String() } -// SetUrl sets the Url field's value. -func (s *EstimateTemplateCostOutput) SetUrl(v string) *EstimateTemplateCostOutput { - s.Url = &v +// SetStagesAvailable sets the StagesAvailable field's value. +func (s *GetTemplateOutput) SetStagesAvailable(v []*string) *GetTemplateOutput { + s.StagesAvailable = v return s } -// The input for the ExecuteChangeSet action. -type ExecuteChangeSetInput struct { +// SetTemplateBody sets the TemplateBody field's value. +func (s *GetTemplateOutput) SetTemplateBody(v string) *GetTemplateOutput { + s.TemplateBody = &v + return s +} + +// The input for the GetTemplateSummary action. +type GetTemplateSummaryInput struct { _ struct{} `type:"structure"` - // The name or Amazon Resource Name (ARN) of the change set that you want use - // to update the specified stack. + // [Service-managed permissions] Specifies whether you are acting as an account + // administrator in the organization's management account or as a delegated + // administrator in a member account. // - // ChangeSetName is a required field - ChangeSetName *string `min:"1" type:"string" required:"true"` - - // A unique identifier for this ExecuteChangeSet request. Specify this token - // if you plan to retry requests so that CloudFormation knows that you're not - // attempting to execute a change set to update a stack with the same name. - // You might retry ExecuteChangeSet requests to ensure that CloudFormation successfully - // received them. - ClientRequestToken *string `min:"1" type:"string"` - - // Preserves the state of previously provisioned resources when an operation - // fails. This parameter can't be specified when the OnStackFailure parameter - // to the CreateChangeSet (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateChangeSet.html) - // API operation was specified. + // By default, SELF is specified. Use SELF for stack sets with self-managed + // permissions. // - // * True - if the stack creation fails, do nothing. This is equivalent to - // specifying DO_NOTHING for the OnStackFailure parameter to the CreateChangeSet - // (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateChangeSet.html) - // API operation. + // * If you are signed in to the management account, specify SELF. // - // * False - if the stack creation fails, roll back the stack. This is equivalent - // to specifying ROLLBACK for the OnStackFailure parameter to the CreateChangeSet - // (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateChangeSet.html) - // API operation. + // * If you are signed in to a delegated administrator account, specify DELEGATED_ADMIN. + // Your Amazon Web Services account must be registered as a delegated administrator + // in the management account. For more information, see Register a delegated + // administrator (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html) + // in the CloudFormation User Guide. + CallAs *string `type:"string" enum:"CallAs"` + + // The name or the stack ID that's associated with the stack, which aren't always + // interchangeable. For running stacks, you can specify either the stack's name + // or its unique stack ID. For deleted stack, you must specify the unique stack + // ID. // - // Default: True - DisableRollback *bool `type:"boolean"` + // Conditional: You must specify only one of the following parameters: StackName, + // StackSetName, TemplateBody, or TemplateURL. + StackName *string `min:"1" type:"string"` - // When set to true, newly created resources are deleted when the operation - // rolls back. This includes newly created resources marked with a deletion - // policy of Retain. + // The name or unique ID of the stack set from which the stack was created. // - // Default: false - RetainExceptOnCreate *bool `type:"boolean"` + // Conditional: You must specify only one of the following parameters: StackName, + // StackSetName, TemplateBody, or TemplateURL. + StackSetName *string `type:"string"` - // If you specified the name of a change set, specify the stack name or Amazon - // Resource Name (ARN) that's associated with the change set you want to execute. - StackName *string `min:"1" type:"string"` + // Structure containing the template body with a minimum length of 1 byte and + // a maximum length of 51,200 bytes. For more information about templates, see + // Template anatomy (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) + // in the CloudFormation User Guide. + // + // Conditional: You must specify only one of the following parameters: StackName, + // StackSetName, TemplateBody, or TemplateURL. + TemplateBody *string `min:"1" type:"string"` + + // Specifies options for the GetTemplateSummary API action. + TemplateSummaryConfig *TemplateSummaryConfig `type:"structure"` + + // Location of file containing the template body. The URL must point to a template + // (max size: 460,800 bytes) that's located in an Amazon S3 bucket or a Systems + // Manager document. For more information about templates, see Template anatomy + // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) + // in the CloudFormation User Guide. + // + // Conditional: You must specify only one of the following parameters: StackName, + // StackSetName, TemplateBody, or TemplateURL. + TemplateURL *string `min:"1" type:"string"` } // String returns the string representation. @@ -13481,7 +15725,7 @@ type ExecuteChangeSetInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ExecuteChangeSetInput) String() string { +func (s GetTemplateSummaryInput) String() string { return awsutil.Prettify(s) } @@ -13490,25 +15734,22 @@ func (s ExecuteChangeSetInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ExecuteChangeSetInput) GoString() string { +func (s GetTemplateSummaryInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ExecuteChangeSetInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ExecuteChangeSetInput"} - if s.ChangeSetName == nil { - invalidParams.Add(request.NewErrParamRequired("ChangeSetName")) - } - if s.ChangeSetName != nil && len(*s.ChangeSetName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ChangeSetName", 1)) - } - if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) - } +func (s *GetTemplateSummaryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetTemplateSummaryInput"} if s.StackName != nil && len(*s.StackName) < 1 { invalidParams.Add(request.NewErrParamMinLen("StackName", 1)) } + if s.TemplateBody != nil && len(*s.TemplateBody) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1)) + } + if s.TemplateURL != nil && len(*s.TemplateURL) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateURL", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -13516,39 +15757,89 @@ func (s *ExecuteChangeSetInput) Validate() error { return nil } -// SetChangeSetName sets the ChangeSetName field's value. -func (s *ExecuteChangeSetInput) SetChangeSetName(v string) *ExecuteChangeSetInput { - s.ChangeSetName = &v +// SetCallAs sets the CallAs field's value. +func (s *GetTemplateSummaryInput) SetCallAs(v string) *GetTemplateSummaryInput { + s.CallAs = &v return s } -// SetClientRequestToken sets the ClientRequestToken field's value. -func (s *ExecuteChangeSetInput) SetClientRequestToken(v string) *ExecuteChangeSetInput { - s.ClientRequestToken = &v +// SetStackName sets the StackName field's value. +func (s *GetTemplateSummaryInput) SetStackName(v string) *GetTemplateSummaryInput { + s.StackName = &v return s } -// SetDisableRollback sets the DisableRollback field's value. -func (s *ExecuteChangeSetInput) SetDisableRollback(v bool) *ExecuteChangeSetInput { - s.DisableRollback = &v +// SetStackSetName sets the StackSetName field's value. +func (s *GetTemplateSummaryInput) SetStackSetName(v string) *GetTemplateSummaryInput { + s.StackSetName = &v return s } -// SetRetainExceptOnCreate sets the RetainExceptOnCreate field's value. -func (s *ExecuteChangeSetInput) SetRetainExceptOnCreate(v bool) *ExecuteChangeSetInput { - s.RetainExceptOnCreate = &v +// SetTemplateBody sets the TemplateBody field's value. +func (s *GetTemplateSummaryInput) SetTemplateBody(v string) *GetTemplateSummaryInput { + s.TemplateBody = &v return s } -// SetStackName sets the StackName field's value. -func (s *ExecuteChangeSetInput) SetStackName(v string) *ExecuteChangeSetInput { - s.StackName = &v +// SetTemplateSummaryConfig sets the TemplateSummaryConfig field's value. +func (s *GetTemplateSummaryInput) SetTemplateSummaryConfig(v *TemplateSummaryConfig) *GetTemplateSummaryInput { + s.TemplateSummaryConfig = v + return s +} + +// SetTemplateURL sets the TemplateURL field's value. +func (s *GetTemplateSummaryInput) SetTemplateURL(v string) *GetTemplateSummaryInput { + s.TemplateURL = &v return s } -// The output for the ExecuteChangeSet action. -type ExecuteChangeSetOutput struct { - _ struct{} `type:"structure"` +// The output for the GetTemplateSummary action. +type GetTemplateSummaryOutput struct { + _ struct{} `type:"structure"` + + // The capabilities found within the template. If your template contains IAM + // resources, you must specify the CAPABILITY_IAM or CAPABILITY_NAMED_IAM value + // for this parameter when you use the CreateStack or UpdateStack actions with + // your template; otherwise, those actions return an InsufficientCapabilities + // error. + // + // For more information, see Acknowledging IAM Resources in CloudFormation Templates + // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities). + Capabilities []*string `type:"list" enum:"Capability"` + + // The list of resources that generated the values in the Capabilities response + // element. + CapabilitiesReason *string `type:"string"` + + // A list of the transforms that are declared in the template. + DeclaredTransforms []*string `type:"list"` + + // The value that's defined in the Description property of the template. + Description *string `min:"1" type:"string"` + + // The value that's defined for the Metadata property of the template. + Metadata *string `type:"string"` + + // A list of parameter declarations that describe various properties for each + // parameter. + Parameters []*ParameterDeclaration `type:"list"` + + // A list of resource identifier summaries that describe the target resources + // of an import operation and the properties you can provide during the import + // to identify the target resources. For example, BucketName is a possible identifier + // property for an AWS::S3::Bucket resource. + ResourceIdentifierSummaries []*ResourceIdentifierSummary `type:"list"` + + // A list of all the template resource types that are defined in the template, + // such as AWS::EC2::Instance, AWS::Dynamo::Table, and Custom::MyCustomInstance. + ResourceTypes []*string `type:"list"` + + // The Amazon Web Services template format version, which identifies the capabilities + // of the template. + Version *string `type:"string"` + + // An object containing any warnings returned. + Warnings *Warnings `type:"structure"` } // String returns the string representation. @@ -13556,7 +15847,7 @@ type ExecuteChangeSetOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ExecuteChangeSetOutput) String() string { +func (s GetTemplateSummaryOutput) String() string { return awsutil.Prettify(s) } @@ -13565,72 +15856,111 @@ func (s ExecuteChangeSetOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ExecuteChangeSetOutput) GoString() string { +func (s GetTemplateSummaryOutput) GoString() string { return s.String() } -// The Export structure describes the exported output values for a stack. -type Export struct { - _ struct{} `type:"structure"` +// SetCapabilities sets the Capabilities field's value. +func (s *GetTemplateSummaryOutput) SetCapabilities(v []*string) *GetTemplateSummaryOutput { + s.Capabilities = v + return s +} - // The stack that contains the exported output name and value. - ExportingStackId *string `type:"string"` +// SetCapabilitiesReason sets the CapabilitiesReason field's value. +func (s *GetTemplateSummaryOutput) SetCapabilitiesReason(v string) *GetTemplateSummaryOutput { + s.CapabilitiesReason = &v + return s +} - // The name of exported output value. Use this name and the Fn::ImportValue - // function to import the associated value into other stacks. The name is defined - // in the Export field in the associated stack's Outputs section. - Name *string `type:"string"` +// SetDeclaredTransforms sets the DeclaredTransforms field's value. +func (s *GetTemplateSummaryOutput) SetDeclaredTransforms(v []*string) *GetTemplateSummaryOutput { + s.DeclaredTransforms = v + return s +} - // The value of the exported output, such as a resource physical ID. This value - // is defined in the Export field in the associated stack's Outputs section. - Value *string `type:"string"` +// SetDescription sets the Description field's value. +func (s *GetTemplateSummaryOutput) SetDescription(v string) *GetTemplateSummaryOutput { + s.Description = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s Export) String() string { - return awsutil.Prettify(s) +// SetMetadata sets the Metadata field's value. +func (s *GetTemplateSummaryOutput) SetMetadata(v string) *GetTemplateSummaryOutput { + s.Metadata = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s Export) GoString() string { - return s.String() +// SetParameters sets the Parameters field's value. +func (s *GetTemplateSummaryOutput) SetParameters(v []*ParameterDeclaration) *GetTemplateSummaryOutput { + s.Parameters = v + return s } -// SetExportingStackId sets the ExportingStackId field's value. -func (s *Export) SetExportingStackId(v string) *Export { - s.ExportingStackId = &v +// SetResourceIdentifierSummaries sets the ResourceIdentifierSummaries field's value. +func (s *GetTemplateSummaryOutput) SetResourceIdentifierSummaries(v []*ResourceIdentifierSummary) *GetTemplateSummaryOutput { + s.ResourceIdentifierSummaries = v return s } -// SetName sets the Name field's value. -func (s *Export) SetName(v string) *Export { - s.Name = &v +// SetResourceTypes sets the ResourceTypes field's value. +func (s *GetTemplateSummaryOutput) SetResourceTypes(v []*string) *GetTemplateSummaryOutput { + s.ResourceTypes = v return s } -// SetValue sets the Value field's value. -func (s *Export) SetValue(v string) *Export { - s.Value = &v +// SetVersion sets the Version field's value. +func (s *GetTemplateSummaryOutput) SetVersion(v string) *GetTemplateSummaryOutput { + s.Version = &v return s } -// The input for the GetStackPolicy action. -type GetStackPolicyInput struct { +// SetWarnings sets the Warnings field's value. +func (s *GetTemplateSummaryOutput) SetWarnings(v *Warnings) *GetTemplateSummaryOutput { + s.Warnings = v + return s +} + +type ImportStacksToStackSetInput struct { _ struct{} `type:"structure"` - // The name or unique stack ID that's associated with the stack whose policy - // you want to get. + // By default, SELF is specified. Use SELF for stack sets with self-managed + // permissions. // - // StackName is a required field - StackName *string `type:"string" required:"true"` + // * If you are signed in to the management account, specify SELF. + // + // * For service managed stack sets, specify DELEGATED_ADMIN. + CallAs *string `type:"string" enum:"CallAs"` + + // A unique, user defined, identifier for the stack set operation. + OperationId *string `min:"1" type:"string" idempotencyToken:"true"` + + // The user-specified preferences for how CloudFormation performs a stack set + // operation. + // + // For more information about maximum concurrent accounts and failure tolerance, + // see Stack set operation options (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-ops-options). + OperationPreferences *StackSetOperationPreferences `type:"structure"` + + // The list of OU ID's to which the stacks being imported has to be mapped as + // deployment target. + OrganizationalUnitIds []*string `type:"list"` + + // The IDs of the stacks you are importing into a stack set. You import up to + // 10 stacks per stack set at a time. + // + // Specify either StackIds or StackIdsUrl. + StackIds []*string `type:"list"` + + // The Amazon S3 URL which contains list of stack ids to be inputted. + // + // Specify either StackIds or StackIdsUrl. + StackIdsUrl *string `min:"1" type:"string"` + + // The name of the stack set. The name must be unique in the Region where you + // create your stack set. + // + // StackSetName is a required field + StackSetName *string `type:"string" required:"true"` } // String returns the string representation. @@ -13638,7 +15968,7 @@ type GetStackPolicyInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetStackPolicyInput) String() string { +func (s ImportStacksToStackSetInput) String() string { return awsutil.Prettify(s) } @@ -13647,15 +15977,26 @@ func (s GetStackPolicyInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetStackPolicyInput) GoString() string { +func (s ImportStacksToStackSetInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetStackPolicyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetStackPolicyInput"} - if s.StackName == nil { - invalidParams.Add(request.NewErrParamRequired("StackName")) +func (s *ImportStacksToStackSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ImportStacksToStackSetInput"} + if s.OperationId != nil && len(*s.OperationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OperationId", 1)) + } + if s.StackIdsUrl != nil && len(*s.StackIdsUrl) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StackIdsUrl", 1)) + } + if s.StackSetName == nil { + invalidParams.Add(request.NewErrParamRequired("StackSetName")) + } + if s.OperationPreferences != nil { + if err := s.OperationPreferences.Validate(); err != nil { + invalidParams.AddNested("OperationPreferences", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -13664,20 +16005,53 @@ func (s *GetStackPolicyInput) Validate() error { return nil } -// SetStackName sets the StackName field's value. -func (s *GetStackPolicyInput) SetStackName(v string) *GetStackPolicyInput { - s.StackName = &v +// SetCallAs sets the CallAs field's value. +func (s *ImportStacksToStackSetInput) SetCallAs(v string) *ImportStacksToStackSetInput { + s.CallAs = &v return s } -// The output for the GetStackPolicy action. -type GetStackPolicyOutput struct { +// SetOperationId sets the OperationId field's value. +func (s *ImportStacksToStackSetInput) SetOperationId(v string) *ImportStacksToStackSetInput { + s.OperationId = &v + return s +} + +// SetOperationPreferences sets the OperationPreferences field's value. +func (s *ImportStacksToStackSetInput) SetOperationPreferences(v *StackSetOperationPreferences) *ImportStacksToStackSetInput { + s.OperationPreferences = v + return s +} + +// SetOrganizationalUnitIds sets the OrganizationalUnitIds field's value. +func (s *ImportStacksToStackSetInput) SetOrganizationalUnitIds(v []*string) *ImportStacksToStackSetInput { + s.OrganizationalUnitIds = v + return s +} + +// SetStackIds sets the StackIds field's value. +func (s *ImportStacksToStackSetInput) SetStackIds(v []*string) *ImportStacksToStackSetInput { + s.StackIds = v + return s +} + +// SetStackIdsUrl sets the StackIdsUrl field's value. +func (s *ImportStacksToStackSetInput) SetStackIdsUrl(v string) *ImportStacksToStackSetInput { + s.StackIdsUrl = &v + return s +} + +// SetStackSetName sets the StackSetName field's value. +func (s *ImportStacksToStackSetInput) SetStackSetName(v string) *ImportStacksToStackSetInput { + s.StackSetName = &v + return s +} + +type ImportStacksToStackSetOutput struct { _ struct{} `type:"structure"` - // Structure containing the stack policy body. (For more information, go to - // Prevent Updates to Stack Resources (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html) - // in the CloudFormation User Guide.) - StackPolicyBody *string `min:"1" type:"string"` + // The unique identifier for the stack set operation. + OperationId *string `min:"1" type:"string"` } // String returns the string representation. @@ -13685,7 +16059,7 @@ type GetStackPolicyOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetStackPolicyOutput) String() string { +func (s ImportStacksToStackSetOutput) String() string { return awsutil.Prettify(s) } @@ -13694,43 +16068,29 @@ func (s GetStackPolicyOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetStackPolicyOutput) GoString() string { +func (s ImportStacksToStackSetOutput) GoString() string { return s.String() } -// SetStackPolicyBody sets the StackPolicyBody field's value. -func (s *GetStackPolicyOutput) SetStackPolicyBody(v string) *GetStackPolicyOutput { - s.StackPolicyBody = &v +// SetOperationId sets the OperationId field's value. +func (s *ImportStacksToStackSetOutput) SetOperationId(v string) *ImportStacksToStackSetOutput { + s.OperationId = &v return s } -// The input for a GetTemplate action. -type GetTemplateInput struct { +// The input for the ListChangeSets action. +type ListChangeSetsInput struct { _ struct{} `type:"structure"` - // The name or Amazon Resource Name (ARN) of a change set for which CloudFormation - // returns the associated template. If you specify a name, you must also specify - // the StackName. - ChangeSetName *string `min:"1" type:"string"` - - // The name or the unique stack ID that's associated with the stack, which aren't - // always interchangeable: - // - // * Running stacks: You can specify either the stack's name or its unique - // stack ID. - // - // * Deleted stacks: You must specify the unique stack ID. - // - // Default: There is no default value. - StackName *string `type:"string"` + // A string (provided by the ListChangeSets response output) that identifies + // the next page of change sets that you want to retrieve. + NextToken *string `min:"1" type:"string"` - // For templates that include transforms, the stage of the template that CloudFormation - // returns. To get the user-submitted template, specify Original. To get the - // template after CloudFormation has processed all transforms, specify Processed. + // The name or the Amazon Resource Name (ARN) of the stack for which you want + // to list change sets. // - // If the template doesn't include transforms, Original and Processed return - // the same template. By default, CloudFormation specifies Processed. - TemplateStage *string `type:"string" enum:"TemplateStage"` + // StackName is a required field + StackName *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -13738,7 +16098,7 @@ type GetTemplateInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetTemplateInput) String() string { +func (s ListChangeSetsInput) String() string { return awsutil.Prettify(s) } @@ -13747,15 +16107,21 @@ func (s GetTemplateInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetTemplateInput) GoString() string { +func (s ListChangeSetsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetTemplateInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetTemplateInput"} - if s.ChangeSetName != nil && len(*s.ChangeSetName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ChangeSetName", 1)) +func (s *ListChangeSetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListChangeSetsInput"} + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.StackName == nil { + invalidParams.Add(request.NewErrParamRequired("StackName")) + } + if s.StackName != nil && len(*s.StackName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StackName", 1)) } if invalidParams.Len() > 0 { @@ -13764,41 +16130,29 @@ func (s *GetTemplateInput) Validate() error { return nil } -// SetChangeSetName sets the ChangeSetName field's value. -func (s *GetTemplateInput) SetChangeSetName(v string) *GetTemplateInput { - s.ChangeSetName = &v +// SetNextToken sets the NextToken field's value. +func (s *ListChangeSetsInput) SetNextToken(v string) *ListChangeSetsInput { + s.NextToken = &v return s } // SetStackName sets the StackName field's value. -func (s *GetTemplateInput) SetStackName(v string) *GetTemplateInput { +func (s *ListChangeSetsInput) SetStackName(v string) *ListChangeSetsInput { s.StackName = &v return s } -// SetTemplateStage sets the TemplateStage field's value. -func (s *GetTemplateInput) SetTemplateStage(v string) *GetTemplateInput { - s.TemplateStage = &v - return s -} - -// The output for GetTemplate action. -type GetTemplateOutput struct { +// The output for the ListChangeSets action. +type ListChangeSetsOutput struct { _ struct{} `type:"structure"` - // The stage of the template that you can retrieve. For stacks, the Original - // and Processed templates are always available. For change sets, the Original - // template is always available. After CloudFormation finishes creating the - // change set, the Processed template becomes available. - StagesAvailable []*string `type:"list" enum:"TemplateStage"` + // If the output exceeds 1 MB, a string that identifies the next page of change + // sets. If there is no additional page, this value is null. + NextToken *string `min:"1" type:"string"` - // Structure containing the template body. (For more information, go to Template - // Anatomy (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) - // in the CloudFormation User Guide.) - // - // CloudFormation returns the same template that was used when the stack was - // created. - TemplateBody *string `min:"1" type:"string"` + // A list of ChangeSetSummary structures that provides the ID and status of + // each change set for the specified stack. + Summaries []*ChangeSetSummary `type:"list"` } // String returns the string representation. @@ -13806,7 +16160,7 @@ type GetTemplateOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetTemplateOutput) String() string { +func (s ListChangeSetsOutput) String() string { return awsutil.Prettify(s) } @@ -13815,78 +16169,28 @@ func (s GetTemplateOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetTemplateOutput) GoString() string { +func (s ListChangeSetsOutput) GoString() string { return s.String() } -// SetStagesAvailable sets the StagesAvailable field's value. -func (s *GetTemplateOutput) SetStagesAvailable(v []*string) *GetTemplateOutput { - s.StagesAvailable = v +// SetNextToken sets the NextToken field's value. +func (s *ListChangeSetsOutput) SetNextToken(v string) *ListChangeSetsOutput { + s.NextToken = &v return s } -// SetTemplateBody sets the TemplateBody field's value. -func (s *GetTemplateOutput) SetTemplateBody(v string) *GetTemplateOutput { - s.TemplateBody = &v +// SetSummaries sets the Summaries field's value. +func (s *ListChangeSetsOutput) SetSummaries(v []*ChangeSetSummary) *ListChangeSetsOutput { + s.Summaries = v return s } -// The input for the GetTemplateSummary action. -type GetTemplateSummaryInput struct { +type ListExportsInput struct { _ struct{} `type:"structure"` - // [Service-managed permissions] Specifies whether you are acting as an account - // administrator in the organization's management account or as a delegated - // administrator in a member account. - // - // By default, SELF is specified. Use SELF for stack sets with self-managed - // permissions. - // - // * If you are signed in to the management account, specify SELF. - // - // * If you are signed in to a delegated administrator account, specify DELEGATED_ADMIN. - // Your Amazon Web Services account must be registered as a delegated administrator - // in the management account. For more information, see Register a delegated - // administrator (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html) - // in the CloudFormation User Guide. - CallAs *string `type:"string" enum:"CallAs"` - - // The name or the stack ID that's associated with the stack, which aren't always - // interchangeable. For running stacks, you can specify either the stack's name - // or its unique stack ID. For deleted stack, you must specify the unique stack - // ID. - // - // Conditional: You must specify only one of the following parameters: StackName, - // StackSetName, TemplateBody, or TemplateURL. - StackName *string `min:"1" type:"string"` - - // The name or unique ID of the stack set from which the stack was created. - // - // Conditional: You must specify only one of the following parameters: StackName, - // StackSetName, TemplateBody, or TemplateURL. - StackSetName *string `type:"string"` - - // Structure containing the template body with a minimum length of 1 byte and - // a maximum length of 51,200 bytes. For more information about templates, see - // Template anatomy (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) - // in the CloudFormation User Guide. - // - // Conditional: You must specify only one of the following parameters: StackName, - // StackSetName, TemplateBody, or TemplateURL. - TemplateBody *string `min:"1" type:"string"` - - // Specifies options for the GetTemplateSummary API action. - TemplateSummaryConfig *TemplateSummaryConfig `type:"structure"` - - // Location of file containing the template body. The URL must point to a template - // (max size: 460,800 bytes) that's located in an Amazon S3 bucket or a Systems - // Manager document. For more information about templates, see Template anatomy - // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) - // in the CloudFormation User Guide. - // - // Conditional: You must specify only one of the following parameters: StackName, - // StackSetName, TemplateBody, or TemplateURL. - TemplateURL *string `min:"1" type:"string"` + // A string (provided by the ListExports response output) that identifies the + // next page of exported output values that you asked to retrieve. + NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -13894,7 +16198,7 @@ type GetTemplateSummaryInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetTemplateSummaryInput) String() string { +func (s ListExportsInput) String() string { return awsutil.Prettify(s) } @@ -13903,21 +16207,15 @@ func (s GetTemplateSummaryInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetTemplateSummaryInput) GoString() string { +func (s ListExportsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetTemplateSummaryInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetTemplateSummaryInput"} - if s.StackName != nil && len(*s.StackName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("StackName", 1)) - } - if s.TemplateBody != nil && len(*s.TemplateBody) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1)) - } - if s.TemplateURL != nil && len(*s.TemplateURL) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TemplateURL", 1)) +func (s *ListExportsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListExportsInput"} + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } if invalidParams.Len() > 0 { @@ -13926,89 +16224,64 @@ func (s *GetTemplateSummaryInput) Validate() error { return nil } -// SetCallAs sets the CallAs field's value. -func (s *GetTemplateSummaryInput) SetCallAs(v string) *GetTemplateSummaryInput { - s.CallAs = &v +// SetNextToken sets the NextToken field's value. +func (s *ListExportsInput) SetNextToken(v string) *ListExportsInput { + s.NextToken = &v return s } -// SetStackName sets the StackName field's value. -func (s *GetTemplateSummaryInput) SetStackName(v string) *GetTemplateSummaryInput { - s.StackName = &v - return s +type ListExportsOutput struct { + _ struct{} `type:"structure"` + + // The output for the ListExports action. + Exports []*Export `type:"list"` + + // If the output exceeds 100 exported output values, a string that identifies + // the next page of exports. If there is no additional page, this value is null. + NextToken *string `min:"1" type:"string"` } -// SetStackSetName sets the StackSetName field's value. -func (s *GetTemplateSummaryInput) SetStackSetName(v string) *GetTemplateSummaryInput { - s.StackSetName = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListExportsOutput) String() string { + return awsutil.Prettify(s) } -// SetTemplateBody sets the TemplateBody field's value. -func (s *GetTemplateSummaryInput) SetTemplateBody(v string) *GetTemplateSummaryInput { - s.TemplateBody = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListExportsOutput) GoString() string { + return s.String() } -// SetTemplateSummaryConfig sets the TemplateSummaryConfig field's value. -func (s *GetTemplateSummaryInput) SetTemplateSummaryConfig(v *TemplateSummaryConfig) *GetTemplateSummaryInput { - s.TemplateSummaryConfig = v +// SetExports sets the Exports field's value. +func (s *ListExportsOutput) SetExports(v []*Export) *ListExportsOutput { + s.Exports = v return s } -// SetTemplateURL sets the TemplateURL field's value. -func (s *GetTemplateSummaryInput) SetTemplateURL(v string) *GetTemplateSummaryInput { - s.TemplateURL = &v +// SetNextToken sets the NextToken field's value. +func (s *ListExportsOutput) SetNextToken(v string) *ListExportsOutput { + s.NextToken = &v return s } -// The output for the GetTemplateSummary action. -type GetTemplateSummaryOutput struct { +type ListGeneratedTemplatesInput struct { _ struct{} `type:"structure"` - // The capabilities found within the template. If your template contains IAM - // resources, you must specify the CAPABILITY_IAM or CAPABILITY_NAMED_IAM value - // for this parameter when you use the CreateStack or UpdateStack actions with - // your template; otherwise, those actions return an InsufficientCapabilities - // error. - // - // For more information, see Acknowledging IAM Resources in CloudFormation Templates - // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities). - Capabilities []*string `type:"list" enum:"Capability"` - - // The list of resources that generated the values in the Capabilities response - // element. - CapabilitiesReason *string `type:"string"` - - // A list of the transforms that are declared in the template. - DeclaredTransforms []*string `type:"list"` - - // The value that's defined in the Description property of the template. - Description *string `min:"1" type:"string"` - - // The value that's defined for the Metadata property of the template. - Metadata *string `type:"string"` - - // A list of parameter declarations that describe various properties for each - // parameter. - Parameters []*ParameterDeclaration `type:"list"` - - // A list of resource identifier summaries that describe the target resources - // of an import operation and the properties you can provide during the import - // to identify the target resources. For example, BucketName is a possible identifier - // property for an AWS::S3::Bucket resource. - ResourceIdentifierSummaries []*ResourceIdentifierSummary `type:"list"` - - // A list of all the template resource types that are defined in the template, - // such as AWS::EC2::Instance, AWS::Dynamo::Table, and Custom::MyCustomInstance. - ResourceTypes []*string `type:"list"` - - // The Amazon Web Services template format version, which identifies the capabilities - // of the template. - Version *string `type:"string"` + // If the number of available results exceeds this maximum, the response includes + // a NextToken value that you can use for the NextToken parameter to get the + // next set of results. By default the ListGeneratedTemplates API action will + // return at most 50 results in each response. The maximum value is 100. + MaxResults *int64 `min:"1" type:"integer"` - // An object containing any warnings returned. - Warnings *Warnings `type:"structure"` + // A string that identifies the next page of resource scan results. + NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -14016,7 +16289,7 @@ type GetTemplateSummaryOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetTemplateSummaryOutput) String() string { +func (s ListGeneratedTemplatesInput) String() string { return awsutil.Prettify(s) } @@ -14025,111 +16298,93 @@ func (s GetTemplateSummaryOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetTemplateSummaryOutput) GoString() string { +func (s ListGeneratedTemplatesInput) GoString() string { return s.String() } -// SetCapabilities sets the Capabilities field's value. -func (s *GetTemplateSummaryOutput) SetCapabilities(v []*string) *GetTemplateSummaryOutput { - s.Capabilities = v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListGeneratedTemplatesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListGeneratedTemplatesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } -// SetCapabilitiesReason sets the CapabilitiesReason field's value. -func (s *GetTemplateSummaryOutput) SetCapabilitiesReason(v string) *GetTemplateSummaryOutput { - s.CapabilitiesReason = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetDeclaredTransforms sets the DeclaredTransforms field's value. -func (s *GetTemplateSummaryOutput) SetDeclaredTransforms(v []*string) *GetTemplateSummaryOutput { - s.DeclaredTransforms = v +// SetMaxResults sets the MaxResults field's value. +func (s *ListGeneratedTemplatesInput) SetMaxResults(v int64) *ListGeneratedTemplatesInput { + s.MaxResults = &v return s } -// SetDescription sets the Description field's value. -func (s *GetTemplateSummaryOutput) SetDescription(v string) *GetTemplateSummaryOutput { - s.Description = &v +// SetNextToken sets the NextToken field's value. +func (s *ListGeneratedTemplatesInput) SetNextToken(v string) *ListGeneratedTemplatesInput { + s.NextToken = &v return s } -// SetMetadata sets the Metadata field's value. -func (s *GetTemplateSummaryOutput) SetMetadata(v string) *GetTemplateSummaryOutput { - s.Metadata = &v - return s -} +type ListGeneratedTemplatesOutput struct { + _ struct{} `type:"structure"` -// SetParameters sets the Parameters field's value. -func (s *GetTemplateSummaryOutput) SetParameters(v []*ParameterDeclaration) *GetTemplateSummaryOutput { - s.Parameters = v - return s + // If the request doesn't return all the remaining results, NextToken is set + // to a token. To retrieve the next set of results, call ListGeneratedTemplates + // again and use that value for the NextToken parameter. If the request returns + // all results, NextToken is set to an empty string. + NextToken *string `min:"1" type:"string"` + + // A list of summaries of the generated templates. + Summaries []*TemplateSummary `type:"list"` } -// SetResourceIdentifierSummaries sets the ResourceIdentifierSummaries field's value. -func (s *GetTemplateSummaryOutput) SetResourceIdentifierSummaries(v []*ResourceIdentifierSummary) *GetTemplateSummaryOutput { - s.ResourceIdentifierSummaries = v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListGeneratedTemplatesOutput) String() string { + return awsutil.Prettify(s) } -// SetResourceTypes sets the ResourceTypes field's value. -func (s *GetTemplateSummaryOutput) SetResourceTypes(v []*string) *GetTemplateSummaryOutput { - s.ResourceTypes = v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListGeneratedTemplatesOutput) GoString() string { + return s.String() } -// SetVersion sets the Version field's value. -func (s *GetTemplateSummaryOutput) SetVersion(v string) *GetTemplateSummaryOutput { - s.Version = &v +// SetNextToken sets the NextToken field's value. +func (s *ListGeneratedTemplatesOutput) SetNextToken(v string) *ListGeneratedTemplatesOutput { + s.NextToken = &v return s } -// SetWarnings sets the Warnings field's value. -func (s *GetTemplateSummaryOutput) SetWarnings(v *Warnings) *GetTemplateSummaryOutput { - s.Warnings = v +// SetSummaries sets the Summaries field's value. +func (s *ListGeneratedTemplatesOutput) SetSummaries(v []*TemplateSummary) *ListGeneratedTemplatesOutput { + s.Summaries = v return s } -type ImportStacksToStackSetInput struct { +type ListImportsInput struct { _ struct{} `type:"structure"` - // By default, SELF is specified. Use SELF for stack sets with self-managed - // permissions. - // - // * If you are signed in to the management account, specify SELF. - // - // * For service managed stack sets, specify DELEGATED_ADMIN. - CallAs *string `type:"string" enum:"CallAs"` - - // A unique, user defined, identifier for the stack set operation. - OperationId *string `min:"1" type:"string" idempotencyToken:"true"` - - // The user-specified preferences for how CloudFormation performs a stack set - // operation. - // - // For more information about maximum concurrent accounts and failure tolerance, - // see Stack set operation options (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-ops-options). - OperationPreferences *StackSetOperationPreferences `type:"structure"` - - // The list of OU ID's to which the stacks being imported has to be mapped as - // deployment target. - OrganizationalUnitIds []*string `type:"list"` - - // The IDs of the stacks you are importing into a stack set. You import up to - // 10 stacks per stack set at a time. - // - // Specify either StackIds or StackIdsUrl. - StackIds []*string `type:"list"` - - // The Amazon S3 URL which contains list of stack ids to be inputted. + // The name of the exported output value. CloudFormation returns the stack names + // that are importing this value. // - // Specify either StackIds or StackIdsUrl. - StackIdsUrl *string `min:"1" type:"string"` + // ExportName is a required field + ExportName *string `type:"string" required:"true"` - // The name of the stack set. The name must be unique in the Region where you - // create your stack set. - // - // StackSetName is a required field - StackSetName *string `type:"string" required:"true"` + // A string (provided by the ListImports response output) that identifies the + // next page of stacks that are importing the specified exported output value. + NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -14137,7 +16392,7 @@ type ImportStacksToStackSetInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImportStacksToStackSetInput) String() string { +func (s ListImportsInput) String() string { return awsutil.Prettify(s) } @@ -14146,26 +16401,18 @@ func (s ImportStacksToStackSetInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImportStacksToStackSetInput) GoString() string { +func (s ListImportsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ImportStacksToStackSetInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ImportStacksToStackSetInput"} - if s.OperationId != nil && len(*s.OperationId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("OperationId", 1)) - } - if s.StackIdsUrl != nil && len(*s.StackIdsUrl) < 1 { - invalidParams.Add(request.NewErrParamMinLen("StackIdsUrl", 1)) - } - if s.StackSetName == nil { - invalidParams.Add(request.NewErrParamRequired("StackSetName")) +func (s *ListImportsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListImportsInput"} + if s.ExportName == nil { + invalidParams.Add(request.NewErrParamRequired("ExportName")) } - if s.OperationPreferences != nil { - if err := s.OperationPreferences.Validate(); err != nil { - invalidParams.AddNested("OperationPreferences", err.(request.ErrInvalidParams)) - } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } if invalidParams.Len() > 0 { @@ -14174,53 +16421,27 @@ func (s *ImportStacksToStackSetInput) Validate() error { return nil } -// SetCallAs sets the CallAs field's value. -func (s *ImportStacksToStackSetInput) SetCallAs(v string) *ImportStacksToStackSetInput { - s.CallAs = &v - return s -} - -// SetOperationId sets the OperationId field's value. -func (s *ImportStacksToStackSetInput) SetOperationId(v string) *ImportStacksToStackSetInput { - s.OperationId = &v - return s -} - -// SetOperationPreferences sets the OperationPreferences field's value. -func (s *ImportStacksToStackSetInput) SetOperationPreferences(v *StackSetOperationPreferences) *ImportStacksToStackSetInput { - s.OperationPreferences = v - return s -} - -// SetOrganizationalUnitIds sets the OrganizationalUnitIds field's value. -func (s *ImportStacksToStackSetInput) SetOrganizationalUnitIds(v []*string) *ImportStacksToStackSetInput { - s.OrganizationalUnitIds = v - return s -} - -// SetStackIds sets the StackIds field's value. -func (s *ImportStacksToStackSetInput) SetStackIds(v []*string) *ImportStacksToStackSetInput { - s.StackIds = v - return s -} - -// SetStackIdsUrl sets the StackIdsUrl field's value. -func (s *ImportStacksToStackSetInput) SetStackIdsUrl(v string) *ImportStacksToStackSetInput { - s.StackIdsUrl = &v +// SetExportName sets the ExportName field's value. +func (s *ListImportsInput) SetExportName(v string) *ListImportsInput { + s.ExportName = &v return s } -// SetStackSetName sets the StackSetName field's value. -func (s *ImportStacksToStackSetInput) SetStackSetName(v string) *ImportStacksToStackSetInput { - s.StackSetName = &v +// SetNextToken sets the NextToken field's value. +func (s *ListImportsInput) SetNextToken(v string) *ListImportsInput { + s.NextToken = &v return s } -type ImportStacksToStackSetOutput struct { +type ListImportsOutput struct { _ struct{} `type:"structure"` - // The unique identifier for the stack set operation. - OperationId *string `min:"1" type:"string"` + // A list of stack names that are importing the specified exported output value. + Imports []*string `type:"list"` + + // A string that identifies the next page of exports. If there is no additional + // page, this value is null. + NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -14228,7 +16449,7 @@ type ImportStacksToStackSetOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImportStacksToStackSetOutput) String() string { +func (s ListImportsOutput) String() string { return awsutil.Prettify(s) } @@ -14237,29 +16458,45 @@ func (s ImportStacksToStackSetOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ImportStacksToStackSetOutput) GoString() string { +func (s ListImportsOutput) GoString() string { return s.String() } -// SetOperationId sets the OperationId field's value. -func (s *ImportStacksToStackSetOutput) SetOperationId(v string) *ImportStacksToStackSetOutput { - s.OperationId = &v +// SetImports sets the Imports field's value. +func (s *ListImportsOutput) SetImports(v []*string) *ListImportsOutput { + s.Imports = v return s } -// The input for the ListChangeSets action. -type ListChangeSetsInput struct { +// SetNextToken sets the NextToken field's value. +func (s *ListImportsOutput) SetNextToken(v string) *ListImportsOutput { + s.NextToken = &v + return s +} + +type ListResourceScanRelatedResourcesInput struct { _ struct{} `type:"structure"` - // A string (provided by the ListChangeSets response output) that identifies - // the next page of change sets that you want to retrieve. + // If the number of available results exceeds this maximum, the response includes + // a NextToken value that you can use for the NextToken parameter to get the + // next set of results. By default the ListResourceScanRelatedResources API + // action will return up to 100 results in each response. The maximum value + // is 100. + MaxResults *int64 `min:"1" type:"integer"` + + // A string that identifies the next page of resource scan results. NextToken *string `min:"1" type:"string"` - // The name or the Amazon Resource Name (ARN) of the stack for which you want - // to list change sets. + // The Amazon Resource Name (ARN) of the resource scan. // - // StackName is a required field - StackName *string `min:"1" type:"string" required:"true"` + // ResourceScanId is a required field + ResourceScanId *string `type:"string" required:"true"` + + // The list of resources for which you want to get the related resources. Up + // to 100 resources can be provided. + // + // Resources is a required field + Resources []*ScannedResourceIdentifier `type:"list" required:"true"` } // String returns the string representation. @@ -14267,7 +16504,7 @@ type ListChangeSetsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListChangeSetsInput) String() string { +func (s ListResourceScanRelatedResourcesInput) String() string { return awsutil.Prettify(s) } @@ -14276,21 +16513,34 @@ func (s ListChangeSetsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListChangeSetsInput) GoString() string { +func (s ListResourceScanRelatedResourcesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListChangeSetsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListChangeSetsInput"} +func (s *ListResourceScanRelatedResourcesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListResourceScanRelatedResourcesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } if s.NextToken != nil && len(*s.NextToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } - if s.StackName == nil { - invalidParams.Add(request.NewErrParamRequired("StackName")) + if s.ResourceScanId == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceScanId")) } - if s.StackName != nil && len(*s.StackName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("StackName", 1)) + if s.Resources == nil { + invalidParams.Add(request.NewErrParamRequired("Resources")) + } + if s.Resources != nil { + for i, v := range s.Resources { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Resources", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -14299,29 +16549,42 @@ func (s *ListChangeSetsInput) Validate() error { return nil } +// SetMaxResults sets the MaxResults field's value. +func (s *ListResourceScanRelatedResourcesInput) SetMaxResults(v int64) *ListResourceScanRelatedResourcesInput { + s.MaxResults = &v + return s +} + // SetNextToken sets the NextToken field's value. -func (s *ListChangeSetsInput) SetNextToken(v string) *ListChangeSetsInput { +func (s *ListResourceScanRelatedResourcesInput) SetNextToken(v string) *ListResourceScanRelatedResourcesInput { s.NextToken = &v return s } -// SetStackName sets the StackName field's value. -func (s *ListChangeSetsInput) SetStackName(v string) *ListChangeSetsInput { - s.StackName = &v +// SetResourceScanId sets the ResourceScanId field's value. +func (s *ListResourceScanRelatedResourcesInput) SetResourceScanId(v string) *ListResourceScanRelatedResourcesInput { + s.ResourceScanId = &v return s } -// The output for the ListChangeSets action. -type ListChangeSetsOutput struct { +// SetResources sets the Resources field's value. +func (s *ListResourceScanRelatedResourcesInput) SetResources(v []*ScannedResourceIdentifier) *ListResourceScanRelatedResourcesInput { + s.Resources = v + return s +} + +type ListResourceScanRelatedResourcesOutput struct { _ struct{} `type:"structure"` - // If the output exceeds 1 MB, a string that identifies the next page of change - // sets. If there is no additional page, this value is null. + // If the request doesn't return all the remaining results, NextToken is set + // to a token. To retrieve the next set of results, call ListResourceScanRelatedResources + // again and use that value for the NextToken parameter. If the request returns + // all results, NextToken is set to an empty string. NextToken *string `min:"1" type:"string"` - // A list of ChangeSetSummary structures that provides the ID and status of - // each change set for the specified stack. - Summaries []*ChangeSetSummary `type:"list"` + // List of up to MaxResults resources in the specified resource scan related + // to the specified resources. + RelatedResources []*ScannedResource `type:"list"` } // String returns the string representation. @@ -14329,7 +16592,7 @@ type ListChangeSetsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListChangeSetsOutput) String() string { +func (s ListResourceScanRelatedResourcesOutput) String() string { return awsutil.Prettify(s) } @@ -14338,28 +16601,52 @@ func (s ListChangeSetsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListChangeSetsOutput) GoString() string { +func (s ListResourceScanRelatedResourcesOutput) GoString() string { return s.String() } // SetNextToken sets the NextToken field's value. -func (s *ListChangeSetsOutput) SetNextToken(v string) *ListChangeSetsOutput { +func (s *ListResourceScanRelatedResourcesOutput) SetNextToken(v string) *ListResourceScanRelatedResourcesOutput { s.NextToken = &v return s } -// SetSummaries sets the Summaries field's value. -func (s *ListChangeSetsOutput) SetSummaries(v []*ChangeSetSummary) *ListChangeSetsOutput { - s.Summaries = v +// SetRelatedResources sets the RelatedResources field's value. +func (s *ListResourceScanRelatedResourcesOutput) SetRelatedResources(v []*ScannedResource) *ListResourceScanRelatedResourcesOutput { + s.RelatedResources = v return s } -type ListExportsInput struct { +type ListResourceScanResourcesInput struct { _ struct{} `type:"structure"` - // A string (provided by the ListExports response output) that identifies the - // next page of exported output values that you asked to retrieve. - NextToken *string `min:"1" type:"string"` + // If the number of available results exceeds this maximum, the response includes + // a NextToken value that you can use for the NextToken parameter to get the + // next set of results. By default the ListResourceScanResources API action + // will return at most 100 results in each response. The maximum value is 100. + MaxResults *int64 `type:"integer"` + + // A string that identifies the next page of resource scan results. + NextToken *string `min:"1" type:"string"` + + // If specified, the returned resources will have the specified resource identifier + // (or one of them in the case where the resource has multiple identifiers). + ResourceIdentifier *string `type:"string"` + + // The Amazon Resource Name (ARN) of the resource scan. + // + // ResourceScanId is a required field + ResourceScanId *string `type:"string" required:"true"` + + // If specified, the returned resources will be of any of the resource types + // with the specified prefix. + ResourceTypePrefix *string `type:"string"` + + // If specified, the returned resources will have a matching tag key. + TagKey *string `min:"1" type:"string"` + + // If specified, the returned resources will have a matching tag value. + TagValue *string `min:"1" type:"string"` } // String returns the string representation. @@ -14367,7 +16654,7 @@ type ListExportsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListExportsInput) String() string { +func (s ListResourceScanResourcesInput) String() string { return awsutil.Prettify(s) } @@ -14376,16 +16663,25 @@ func (s ListExportsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListExportsInput) GoString() string { +func (s ListResourceScanResourcesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListExportsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListExportsInput"} +func (s *ListResourceScanResourcesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListResourceScanResourcesInput"} if s.NextToken != nil && len(*s.NextToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } + if s.ResourceScanId == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceScanId")) + } + if s.TagKey != nil && len(*s.TagKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TagKey", 1)) + } + if s.TagValue != nil && len(*s.TagValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TagValue", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -14393,21 +16689,60 @@ func (s *ListExportsInput) Validate() error { return nil } +// SetMaxResults sets the MaxResults field's value. +func (s *ListResourceScanResourcesInput) SetMaxResults(v int64) *ListResourceScanResourcesInput { + s.MaxResults = &v + return s +} + // SetNextToken sets the NextToken field's value. -func (s *ListExportsInput) SetNextToken(v string) *ListExportsInput { +func (s *ListResourceScanResourcesInput) SetNextToken(v string) *ListResourceScanResourcesInput { s.NextToken = &v return s } -type ListExportsOutput struct { - _ struct{} `type:"structure"` +// SetResourceIdentifier sets the ResourceIdentifier field's value. +func (s *ListResourceScanResourcesInput) SetResourceIdentifier(v string) *ListResourceScanResourcesInput { + s.ResourceIdentifier = &v + return s +} - // The output for the ListExports action. - Exports []*Export `type:"list"` +// SetResourceScanId sets the ResourceScanId field's value. +func (s *ListResourceScanResourcesInput) SetResourceScanId(v string) *ListResourceScanResourcesInput { + s.ResourceScanId = &v + return s +} - // If the output exceeds 100 exported output values, a string that identifies - // the next page of exports. If there is no additional page, this value is null. +// SetResourceTypePrefix sets the ResourceTypePrefix field's value. +func (s *ListResourceScanResourcesInput) SetResourceTypePrefix(v string) *ListResourceScanResourcesInput { + s.ResourceTypePrefix = &v + return s +} + +// SetTagKey sets the TagKey field's value. +func (s *ListResourceScanResourcesInput) SetTagKey(v string) *ListResourceScanResourcesInput { + s.TagKey = &v + return s +} + +// SetTagValue sets the TagValue field's value. +func (s *ListResourceScanResourcesInput) SetTagValue(v string) *ListResourceScanResourcesInput { + s.TagValue = &v + return s +} + +type ListResourceScanResourcesOutput struct { + _ struct{} `type:"structure"` + + // If the request doesn't return all the remaining results, NextToken is set + // to a token. To retrieve the next set of results, call ListResourceScanResources + // again and use that value for the NextToken parameter. If the request returns + // all results, NextToken is set to an empty string. NextToken *string `min:"1" type:"string"` + + // List of up to MaxResults resources in the specified resource scan that match + // all of the specified filters. + Resources []*ScannedResource `type:"list"` } // String returns the string representation. @@ -14415,7 +16750,7 @@ type ListExportsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListExportsOutput) String() string { +func (s ListResourceScanResourcesOutput) String() string { return awsutil.Prettify(s) } @@ -14424,33 +16759,31 @@ func (s ListExportsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListExportsOutput) GoString() string { +func (s ListResourceScanResourcesOutput) GoString() string { return s.String() } -// SetExports sets the Exports field's value. -func (s *ListExportsOutput) SetExports(v []*Export) *ListExportsOutput { - s.Exports = v +// SetNextToken sets the NextToken field's value. +func (s *ListResourceScanResourcesOutput) SetNextToken(v string) *ListResourceScanResourcesOutput { + s.NextToken = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListExportsOutput) SetNextToken(v string) *ListExportsOutput { - s.NextToken = &v +// SetResources sets the Resources field's value. +func (s *ListResourceScanResourcesOutput) SetResources(v []*ScannedResource) *ListResourceScanResourcesOutput { + s.Resources = v return s } -type ListImportsInput struct { +type ListResourceScansInput struct { _ struct{} `type:"structure"` - // The name of the exported output value. CloudFormation returns the stack names - // that are importing this value. - // - // ExportName is a required field - ExportName *string `type:"string" required:"true"` + // If the number of available results exceeds this maximum, the response includes + // a NextToken value that you can use for the NextToken parameter to get the + // next set of results. The default value is 10. The maximum value is 100. + MaxResults *int64 `type:"integer"` - // A string (provided by the ListImports response output) that identifies the - // next page of stacks that are importing the specified exported output value. + // A string that identifies the next page of resource scan results. NextToken *string `min:"1" type:"string"` } @@ -14459,7 +16792,7 @@ type ListImportsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImportsInput) String() string { +func (s ListResourceScansInput) String() string { return awsutil.Prettify(s) } @@ -14468,16 +16801,13 @@ func (s ListImportsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImportsInput) GoString() string { +func (s ListResourceScansInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListImportsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListImportsInput"} - if s.ExportName == nil { - invalidParams.Add(request.NewErrParamRequired("ExportName")) - } +func (s *ListResourceScansInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListResourceScansInput"} if s.NextToken != nil && len(*s.NextToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } @@ -14488,27 +16818,29 @@ func (s *ListImportsInput) Validate() error { return nil } -// SetExportName sets the ExportName field's value. -func (s *ListImportsInput) SetExportName(v string) *ListImportsInput { - s.ExportName = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListResourceScansInput) SetMaxResults(v int64) *ListResourceScansInput { + s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListImportsInput) SetNextToken(v string) *ListImportsInput { +func (s *ListResourceScansInput) SetNextToken(v string) *ListResourceScansInput { s.NextToken = &v return s } -type ListImportsOutput struct { +type ListResourceScansOutput struct { _ struct{} `type:"structure"` - // A list of stack names that are importing the specified exported output value. - Imports []*string `type:"list"` - - // A string that identifies the next page of exports. If there is no additional - // page, this value is null. + // If the request doesn't return all the remaining results, NextToken is set + // to a token. To retrieve the next set of results, call ListResourceScans again + // and use that value for the NextToken parameter. If the request returns all + // results, NextToken is set to an empty string. NextToken *string `min:"1" type:"string"` + + // The list of scans returned. + ResourceScanSummaries []*ResourceScanSummary `type:"list"` } // String returns the string representation. @@ -14516,7 +16848,7 @@ type ListImportsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImportsOutput) String() string { +func (s ListResourceScansOutput) String() string { return awsutil.Prettify(s) } @@ -14525,19 +16857,19 @@ func (s ListImportsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListImportsOutput) GoString() string { +func (s ListResourceScansOutput) GoString() string { return s.String() } -// SetImports sets the Imports field's value. -func (s *ListImportsOutput) SetImports(v []*string) *ListImportsOutput { - s.Imports = v +// SetNextToken sets the NextToken field's value. +func (s *ListResourceScansOutput) SetNextToken(v string) *ListResourceScansOutput { + s.NextToken = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListImportsOutput) SetNextToken(v string) *ListImportsOutput { - s.NextToken = &v +// SetResourceScanSummaries sets the ResourceScanSummaries field's value. +func (s *ListResourceScansOutput) SetResourceScanSummaries(v []*ResourceScanSummary) *ListResourceScansOutput { + s.ResourceScanSummaries = v return s } @@ -17470,81 +19802,258 @@ func (s *ResourceChange) SetPhysicalResourceId(v string) *ResourceChange { return s } -// SetReplacement sets the Replacement field's value. -func (s *ResourceChange) SetReplacement(v string) *ResourceChange { - s.Replacement = &v +// SetReplacement sets the Replacement field's value. +func (s *ResourceChange) SetReplacement(v string) *ResourceChange { + s.Replacement = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *ResourceChange) SetResourceType(v string) *ResourceChange { + s.ResourceType = &v + return s +} + +// SetScope sets the Scope field's value. +func (s *ResourceChange) SetScope(v []*string) *ResourceChange { + s.Scope = v + return s +} + +// For a resource with Modify as the action, the ResourceChange structure describes +// the changes CloudFormation will make to that resource. +type ResourceChangeDetail struct { + _ struct{} `type:"structure"` + + // The identity of the entity that triggered this change. This entity is a member + // of the group that's specified by the ChangeSource field. For example, if + // you modified the value of the KeyPairName parameter, the CausingEntity is + // the name of the parameter (KeyPairName). + // + // If the ChangeSource value is DirectModification, no value is given for CausingEntity. + CausingEntity *string `type:"string"` + + // The group to which the CausingEntity value belongs. There are five entity + // groups: + // + // * ResourceReference entities are Ref intrinsic functions that refer to + // resources in the template, such as { "Ref" : "MyEC2InstanceResource" }. + // + // * ParameterReference entities are Ref intrinsic functions that get template + // parameter values, such as { "Ref" : "MyPasswordParameter" }. + // + // * ResourceAttribute entities are Fn::GetAtt intrinsic functions that get + // resource attribute values, such as { "Fn::GetAtt" : [ "MyEC2InstanceResource", + // "PublicDnsName" ] }. + // + // * DirectModification entities are changes that are made directly to the + // template. + // + // * Automatic entities are AWS::CloudFormation::Stack resource types, which + // are also known as nested stacks. If you made no changes to the AWS::CloudFormation::Stack + // resource, CloudFormation sets the ChangeSource to Automatic because the + // nested stack's template might have changed. Changes to a nested stack's + // template aren't visible to CloudFormation until you run an update on the + // parent stack. + ChangeSource *string `type:"string" enum:"ChangeSource"` + + // Indicates whether CloudFormation can determine the target value, and whether + // the target value will change before you execute a change set. + // + // For Static evaluations, CloudFormation can determine that the target value + // will change, and its value. For example, if you directly modify the InstanceType + // property of an EC2 instance, CloudFormation knows that this property value + // will change, and its value, so this is a Static evaluation. + // + // For Dynamic evaluations, can't determine the target value because it depends + // on the result of an intrinsic function, such as a Ref or Fn::GetAtt intrinsic + // function, when the stack is updated. For example, if your template includes + // a reference to a resource that's conditionally recreated, the value of the + // reference (the physical ID of the resource) might change, depending on if + // the resource is recreated. If the resource is recreated, it will have a new + // physical ID, so all references to that resource will also be updated. + Evaluation *string `type:"string" enum:"EvaluationType"` + + // A ResourceTargetDefinition structure that describes the field that CloudFormation + // will change and whether the resource will be recreated. + Target *ResourceTargetDefinition `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceChangeDetail) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceChangeDetail) GoString() string { + return s.String() +} + +// SetCausingEntity sets the CausingEntity field's value. +func (s *ResourceChangeDetail) SetCausingEntity(v string) *ResourceChangeDetail { + s.CausingEntity = &v + return s +} + +// SetChangeSource sets the ChangeSource field's value. +func (s *ResourceChangeDetail) SetChangeSource(v string) *ResourceChangeDetail { + s.ChangeSource = &v + return s +} + +// SetEvaluation sets the Evaluation field's value. +func (s *ResourceChangeDetail) SetEvaluation(v string) *ResourceChangeDetail { + s.Evaluation = &v + return s +} + +// SetTarget sets the Target field's value. +func (s *ResourceChangeDetail) SetTarget(v *ResourceTargetDefinition) *ResourceChangeDetail { + s.Target = v + return s +} + +// A resource included in a generated template. This data type is used with +// the CreateGeneratedTemplate and UpdateGeneratedTemplate API actions. +type ResourceDefinition struct { + _ struct{} `type:"structure"` + + // The logical resource id for this resource in the generated template. + LogicalResourceId *string `type:"string"` + + // A list of up to 256 key-value pairs that identifies the scanned resource. + // The key is the name of one of the primary identifiers for the resource. (Primary + // identifiers are specified in the primaryIdentifier list in the resource schema.) + // The value is the value of that primary identifier. For example, for a AWS::DynamoDB::Table + // resource, the primary identifiers is TableName so the key-value pair could + // be "TableName": "MyDDBTable". For more information, see primaryIdentifier + // (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html#schema-properties-primaryidentifier) + // in the CloudFormation Command Line Interface User guide for extension development. + // + // ResourceIdentifier is a required field + ResourceIdentifier map[string]*string `min:"1" type:"map" required:"true"` + + // The type of the resource, such as AWS::DynamoDB::Table. For the list of supported + // resources, see IaC generator supported resource types (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/generate-IaC-supported-resources.html) + // in the CloudFormation User Guide + // + // ResourceType is a required field + ResourceType *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceDefinition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceDefinition) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResourceDefinition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResourceDefinition"} + if s.ResourceIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceIdentifier")) + } + if s.ResourceIdentifier != nil && len(s.ResourceIdentifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceIdentifier", 1)) + } + if s.ResourceType == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceType")) + } + if s.ResourceType != nil && len(*s.ResourceType) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLogicalResourceId sets the LogicalResourceId field's value. +func (s *ResourceDefinition) SetLogicalResourceId(v string) *ResourceDefinition { + s.LogicalResourceId = &v return s } -// SetResourceType sets the ResourceType field's value. -func (s *ResourceChange) SetResourceType(v string) *ResourceChange { - s.ResourceType = &v +// SetResourceIdentifier sets the ResourceIdentifier field's value. +func (s *ResourceDefinition) SetResourceIdentifier(v map[string]*string) *ResourceDefinition { + s.ResourceIdentifier = v return s } -// SetScope sets the Scope field's value. -func (s *ResourceChange) SetScope(v []*string) *ResourceChange { - s.Scope = v +// SetResourceType sets the ResourceType field's value. +func (s *ResourceDefinition) SetResourceType(v string) *ResourceDefinition { + s.ResourceType = &v return s } -// For a resource with Modify as the action, the ResourceChange structure describes -// the changes CloudFormation will make to that resource. -type ResourceChangeDetail struct { +// Details about a resource in a generated template +type ResourceDetail struct { _ struct{} `type:"structure"` - // The identity of the entity that triggered this change. This entity is a member - // of the group that's specified by the ChangeSource field. For example, if - // you modified the value of the KeyPairName parameter, the CausingEntity is - // the name of the parameter (KeyPairName). - // - // If the ChangeSource value is DirectModification, no value is given for CausingEntity. - CausingEntity *string `type:"string"` + // The logical id for this resource in the final generated template. + LogicalResourceId *string `type:"string"` - // The group to which the CausingEntity value belongs. There are five entity - // groups: + // A list of up to 256 key-value pairs that identifies the resource in the generated + // template. The key is the name of one of the primary identifiers for the resource. + // (Primary identifiers are specified in the primaryIdentifier list in the resource + // schema.) The value is the value of that primary identifier. For example, + // for a AWS::DynamoDB::Table resource, the primary identifiers is TableName + // so the key-value pair could be "TableName": "MyDDBTable". For more information, + // see primaryIdentifier (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html#schema-properties-primaryidentifier) + // in the CloudFormation Command Line Interface User guide for extension development. + ResourceIdentifier map[string]*string `min:"1" type:"map"` + + // Status of the processing of a resource in a generated template. // - // * ResourceReference entities are Ref intrinsic functions that refer to - // resources in the template, such as { "Ref" : "MyEC2InstanceResource" }. + // InProgress // - // * ParameterReference entities are Ref intrinsic functions that get template - // parameter values, such as { "Ref" : "MyPasswordParameter" }. + // The resource processing is still in progress. // - // * ResourceAttribute entities are Fn::GetAtt intrinsic functions that get - // resource attribute values, such as { "Fn::GetAtt" : [ "MyEC2InstanceResource", - // "PublicDnsName" ] }. + // Complete // - // * DirectModification entities are changes that are made directly to the - // template. + // The resource processing is complete. // - // * Automatic entities are AWS::CloudFormation::Stack resource types, which - // are also known as nested stacks. If you made no changes to the AWS::CloudFormation::Stack - // resource, CloudFormation sets the ChangeSource to Automatic because the - // nested stack's template might have changed. Changes to a nested stack's - // template aren't visible to CloudFormation until you run an update on the - // parent stack. - ChangeSource *string `type:"string" enum:"ChangeSource"` - - // Indicates whether CloudFormation can determine the target value, and whether - // the target value will change before you execute a change set. + // Pending // - // For Static evaluations, CloudFormation can determine that the target value - // will change, and its value. For example, if you directly modify the InstanceType - // property of an EC2 instance, CloudFormation knows that this property value - // will change, and its value, so this is a Static evaluation. + // The resource processing is pending. // - // For Dynamic evaluations, can't determine the target value because it depends - // on the result of an intrinsic function, such as a Ref or Fn::GetAtt intrinsic - // function, when the stack is updated. For example, if your template includes - // a reference to a resource that's conditionally recreated, the value of the - // reference (the physical ID of the resource) might change, depending on if - // the resource is recreated. If the resource is recreated, it will have a new - // physical ID, so all references to that resource will also be updated. - Evaluation *string `type:"string" enum:"EvaluationType"` + // Failed + // + // The resource processing has failed. + ResourceStatus *string `type:"string" enum:"GeneratedTemplateResourceStatus"` - // A ResourceTargetDefinition structure that describes the field that CloudFormation - // will change and whether the resource will be recreated. - Target *ResourceTargetDefinition `type:"structure"` + // The reason for the resource detail, providing more information if a failure + // happened. + ResourceStatusReason *string `type:"string"` + + // The type of the resource, such as AWS::DynamoDB::Table. For the list of supported + // resources, see IaC generator supported resource types (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/generate-IaC-supported-resources.html) + // In the CloudFormation User Guide + ResourceType *string `min:"1" type:"string"` + + // The warnings generated for this resource. + Warnings []*WarningDetail `type:"list"` } // String returns the string representation. @@ -17552,7 +20061,7 @@ type ResourceChangeDetail struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceChangeDetail) String() string { +func (s ResourceDetail) String() string { return awsutil.Prettify(s) } @@ -17561,31 +20070,43 @@ func (s ResourceChangeDetail) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceChangeDetail) GoString() string { +func (s ResourceDetail) GoString() string { return s.String() } -// SetCausingEntity sets the CausingEntity field's value. -func (s *ResourceChangeDetail) SetCausingEntity(v string) *ResourceChangeDetail { - s.CausingEntity = &v +// SetLogicalResourceId sets the LogicalResourceId field's value. +func (s *ResourceDetail) SetLogicalResourceId(v string) *ResourceDetail { + s.LogicalResourceId = &v return s } -// SetChangeSource sets the ChangeSource field's value. -func (s *ResourceChangeDetail) SetChangeSource(v string) *ResourceChangeDetail { - s.ChangeSource = &v +// SetResourceIdentifier sets the ResourceIdentifier field's value. +func (s *ResourceDetail) SetResourceIdentifier(v map[string]*string) *ResourceDetail { + s.ResourceIdentifier = v return s } -// SetEvaluation sets the Evaluation field's value. -func (s *ResourceChangeDetail) SetEvaluation(v string) *ResourceChangeDetail { - s.Evaluation = &v +// SetResourceStatus sets the ResourceStatus field's value. +func (s *ResourceDetail) SetResourceStatus(v string) *ResourceDetail { + s.ResourceStatus = &v return s } -// SetTarget sets the Target field's value. -func (s *ResourceChangeDetail) SetTarget(v *ResourceTargetDefinition) *ResourceChangeDetail { - s.Target = v +// SetResourceStatusReason sets the ResourceStatusReason field's value. +func (s *ResourceDetail) SetResourceStatusReason(v string) *ResourceDetail { + s.ResourceStatusReason = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *ResourceDetail) SetResourceType(v string) *ResourceDetail { + s.ResourceType = &v + return s +} + +// SetWarnings sets the Warnings field's value. +func (s *ResourceDetail) SetWarnings(v []*WarningDetail) *ResourceDetail { + s.Warnings = v return s } @@ -17644,6 +20165,101 @@ func (s *ResourceIdentifierSummary) SetResourceType(v string) *ResourceIdentifie return s } +// A summary of the resource scan. This is returned by the ListResourceScan +// API action. +type ResourceScanSummary struct { + _ struct{} `type:"structure"` + + // The time that the resource scan was finished. + EndTime *time.Time `type:"timestamp"` + + // The percentage of the resource scan that has been completed. + PercentageCompleted *float64 `type:"double"` + + // The Amazon Resource Name (ARN) of the resource scan. + ResourceScanId *string `type:"string"` + + // The time that the resource scan was started. + StartTime *time.Time `type:"timestamp"` + + // Status of the resource scan. + // + // INPROGRESS + // + // The resource scan is still in progress. + // + // COMPLETE + // + // The resource scan is complete. + // + // EXPIRED + // + // The resource scan has expired. + // + // FAILED + // + // The resource scan has failed. + Status *string `type:"string" enum:"ResourceScanStatus"` + + // The reason for the resource scan status, providing more information if a + // failure happened. + StatusReason *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceScanSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceScanSummary) GoString() string { + return s.String() +} + +// SetEndTime sets the EndTime field's value. +func (s *ResourceScanSummary) SetEndTime(v time.Time) *ResourceScanSummary { + s.EndTime = &v + return s +} + +// SetPercentageCompleted sets the PercentageCompleted field's value. +func (s *ResourceScanSummary) SetPercentageCompleted(v float64) *ResourceScanSummary { + s.PercentageCompleted = &v + return s +} + +// SetResourceScanId sets the ResourceScanId field's value. +func (s *ResourceScanSummary) SetResourceScanId(v string) *ResourceScanSummary { + s.ResourceScanId = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *ResourceScanSummary) SetStartTime(v time.Time) *ResourceScanSummary { + s.StartTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ResourceScanSummary) SetStatus(v string) *ResourceScanSummary { + s.Status = &v + return s +} + +// SetStatusReason sets the StatusReason field's value. +func (s *ResourceScanSummary) SetStatusReason(v string) *ResourceScanSummary { + s.StatusReason = &v + return s +} + // The field that CloudFormation will change, such as the name of a resource's // property, and whether the resource will be recreated. type ResourceTargetDefinition struct { @@ -17992,7 +20608,124 @@ type RollbackStackOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s RollbackStackOutput) String() string { +func (s RollbackStackOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RollbackStackOutput) GoString() string { + return s.String() +} + +// SetStackId sets the StackId field's value. +func (s *RollbackStackOutput) SetStackId(v string) *RollbackStackOutput { + s.StackId = &v + return s +} + +// A rollback trigger CloudFormation monitors during creation and updating of +// stacks. If any of the alarms you specify goes to ALARM state during the stack +// operation or within the specified monitoring period afterwards, CloudFormation +// rolls back the entire stack operation. +type RollbackTrigger struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the rollback trigger. + // + // If a specified trigger is missing, the entire stack operation fails and is + // rolled back. + // + // Arn is a required field + Arn *string `type:"string" required:"true"` + + // The resource type of the rollback trigger. Specify either AWS::CloudWatch::Alarm + // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html) + // or AWS::CloudWatch::CompositeAlarm (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-compositealarm.html) + // resource types. + // + // Type is a required field + Type *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RollbackTrigger) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RollbackTrigger) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RollbackTrigger) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RollbackTrigger"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *RollbackTrigger) SetArn(v string) *RollbackTrigger { + s.Arn = &v + return s +} + +// SetType sets the Type field's value. +func (s *RollbackTrigger) SetType(v string) *RollbackTrigger { + s.Type = &v + return s +} + +// A scanned resource returned by ListResourceScanResources or ListResourceScanRelatedResources. +type ScannedResource struct { + _ struct{} `type:"structure"` + + // If true, the resource is managed by a CloudFormation stack. + ManagedByStack *bool `type:"boolean"` + + // A list of up to 256 key-value pairs that identifies for the scanned resource. + // The key is the name of one of the primary identifiers for the resource. (Primary + // identifiers are specified in the primaryIdentifier list in the resource schema.) + // The value is the value of that primary identifier. For example, for a AWS::DynamoDB::Table + // resource, the primary identifiers is TableName so the key-value pair could + // be "TableName": "MyDDBTable". For more information, see primaryIdentifier + // (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html#schema-properties-primaryidentifier) + // in the CloudFormation Command Line Interface User guide for extension development. + ResourceIdentifier map[string]*string `type:"map"` + + // The type of the resource, such as AWS::DynamoDB::Table. For the list of supported + // resources, see IaC generator supported resource types (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/generate-IaC-supported-resources.html) + // In the CloudFormation User Guide + ResourceType *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ScannedResource) String() string { return awsutil.Prettify(s) } @@ -18001,38 +20734,51 @@ func (s RollbackStackOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s RollbackStackOutput) GoString() string { +func (s ScannedResource) GoString() string { return s.String() } -// SetStackId sets the StackId field's value. -func (s *RollbackStackOutput) SetStackId(v string) *RollbackStackOutput { - s.StackId = &v +// SetManagedByStack sets the ManagedByStack field's value. +func (s *ScannedResource) SetManagedByStack(v bool) *ScannedResource { + s.ManagedByStack = &v return s } -// A rollback trigger CloudFormation monitors during creation and updating of -// stacks. If any of the alarms you specify goes to ALARM state during the stack -// operation or within the specified monitoring period afterwards, CloudFormation -// rolls back the entire stack operation. -type RollbackTrigger struct { +// SetResourceIdentifier sets the ResourceIdentifier field's value. +func (s *ScannedResource) SetResourceIdentifier(v map[string]*string) *ScannedResource { + s.ResourceIdentifier = v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *ScannedResource) SetResourceType(v string) *ScannedResource { + s.ResourceType = &v + return s +} + +// Identifies a scanned resource. This is used with the ListResourceScanRelatedResources +// API action. +type ScannedResourceIdentifier struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the rollback trigger. - // - // If a specified trigger is missing, the entire stack operation fails and is - // rolled back. + // A list of up to 256 key-value pairs that identifies the scanned resource. + // The key is the name of one of the primary identifiers for the resource. (Primary + // identifiers are specified in the primaryIdentifier list in the resource schema.) + // The value is the value of that primary identifier. For example, for a AWS::DynamoDB::Table + // resource, the primary identifiers is TableName so the key-value pair could + // be "TableName": "MyDDBTable". For more information, see primaryIdentifier + // (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html#schema-properties-primaryidentifier) + // in the CloudFormation Command Line Interface User guide for extension development. // - // Arn is a required field - Arn *string `type:"string" required:"true"` + // ResourceIdentifier is a required field + ResourceIdentifier map[string]*string `type:"map" required:"true"` - // The resource type of the rollback trigger. Specify either AWS::CloudWatch::Alarm - // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html) - // or AWS::CloudWatch::CompositeAlarm (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-compositealarm.html) - // resource types. + // The type of the resource, such as AWS::DynamoDB::Table. For the list of supported + // resources, see IaC generator supported resource types (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/generate-IaC-supported-resources.html) + // In the CloudFormation User Guide // - // Type is a required field - Type *string `type:"string" required:"true"` + // ResourceType is a required field + ResourceType *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -18040,7 +20786,7 @@ type RollbackTrigger struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s RollbackTrigger) String() string { +func (s ScannedResourceIdentifier) String() string { return awsutil.Prettify(s) } @@ -18049,18 +20795,21 @@ func (s RollbackTrigger) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s RollbackTrigger) GoString() string { +func (s ScannedResourceIdentifier) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *RollbackTrigger) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "RollbackTrigger"} - if s.Arn == nil { - invalidParams.Add(request.NewErrParamRequired("Arn")) +func (s *ScannedResourceIdentifier) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ScannedResourceIdentifier"} + if s.ResourceIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceIdentifier")) } - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) + if s.ResourceType == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceType")) + } + if s.ResourceType != nil && len(*s.ResourceType) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1)) } if invalidParams.Len() > 0 { @@ -18069,15 +20818,15 @@ func (s *RollbackTrigger) Validate() error { return nil } -// SetArn sets the Arn field's value. -func (s *RollbackTrigger) SetArn(v string) *RollbackTrigger { - s.Arn = &v +// SetResourceIdentifier sets the ResourceIdentifier field's value. +func (s *ScannedResourceIdentifier) SetResourceIdentifier(v map[string]*string) *ScannedResourceIdentifier { + s.ResourceIdentifier = v return s } -// SetType sets the Type field's value. -func (s *RollbackTrigger) SetType(v string) *RollbackTrigger { - s.Type = &v +// SetResourceType sets the ResourceType field's value. +func (s *ScannedResourceIdentifier) SetResourceType(v string) *ScannedResourceIdentifier { + s.ResourceType = &v return s } @@ -21037,6 +23786,8 @@ type StackSetOperationPreferences struct { RegionConcurrencyType *string `type:"string" enum:"RegionConcurrencyType"` // The order of the Regions where you want to perform the stack operation. + // + // RegionOrder isn't followed if AutoDeployment is enabled. RegionOrder []*string `type:"list"` } @@ -21652,6 +24403,84 @@ func (s *StackSummary) SetTemplateDescription(v string) *StackSummary { return s } +type StartResourceScanInput struct { + _ struct{} `type:"structure"` + + // A unique identifier for this StartResourceScan request. Specify this token + // if you plan to retry requests so that CloudFormation knows that you're not + // attempting to start a new resource scan. + ClientRequestToken *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartResourceScanInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartResourceScanInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartResourceScanInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartResourceScanInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *StartResourceScanInput) SetClientRequestToken(v string) *StartResourceScanInput { + s.ClientRequestToken = &v + return s +} + +type StartResourceScanOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource scan. The format is arn:${Partition}:cloudformation:${Region}:${Account}:resourceScan/${Id}. + // An example is arn:aws:cloudformation:us-east-1:123456789012:resourceScan/f5b490f7-7ed4-428a-aa06-31ff25db0772 . + ResourceScanId *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartResourceScanOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartResourceScanOutput) GoString() string { + return s.String() +} + +// SetResourceScanId sets the ResourceScanId field's value. +func (s *StartResourceScanOutput) SetResourceScanId(v string) *StartResourceScanOutput { + s.ResourceScanId = &v + return s +} + type StopStackSetOperationInput struct { _ struct{} `type:"structure"` @@ -21831,6 +24660,65 @@ func (s *Tag) SetValue(v string) *Tag { return s } +// The configuration details of a generated template. +type TemplateConfiguration struct { + _ struct{} `type:"structure"` + + // The DeletionPolicy assigned to resources in the generated template. Supported + // values are: + // + // * DELETE - delete all resources when the stack is deleted. + // + // * RETAIN - retain all resources when the stack is deleted. + // + // For more information, see DeletionPolicy attribute (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html) + // in the CloudFormation User Guide. + DeletionPolicy *string `type:"string" enum:"GeneratedTemplateDeletionPolicy"` + + // The UpdateReplacePolicy assigned to resources in the generated template. + // Supported values are: + // + // * DELETE - delete all resources when the resource is replaced during an + // update operation. + // + // * RETAIN - retain all resources when the resource is replaced during an + // update operation. + // + // For more information, see UpdateReplacePolicy attribute (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatereplacepolicy.html) + // in the CloudFormation User Guide. + UpdateReplacePolicy *string `type:"string" enum:"GeneratedTemplateUpdateReplacePolicy"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TemplateConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TemplateConfiguration) GoString() string { + return s.String() +} + +// SetDeletionPolicy sets the DeletionPolicy field's value. +func (s *TemplateConfiguration) SetDeletionPolicy(v string) *TemplateConfiguration { + s.DeletionPolicy = &v + return s +} + +// SetUpdateReplacePolicy sets the UpdateReplacePolicy field's value. +func (s *TemplateConfiguration) SetUpdateReplacePolicy(v string) *TemplateConfiguration { + s.UpdateReplacePolicy = &v + return s +} + // The TemplateParameter data type. type TemplateParameter struct { _ struct{} `type:"structure"` @@ -21845,8 +24733,154 @@ type TemplateParameter struct { // logs and UIs. NoEcho *bool `type:"boolean"` - // The name associated with the parameter. - ParameterKey *string `type:"string"` + // The name associated with the parameter. + ParameterKey *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TemplateParameter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TemplateParameter) GoString() string { + return s.String() +} + +// SetDefaultValue sets the DefaultValue field's value. +func (s *TemplateParameter) SetDefaultValue(v string) *TemplateParameter { + s.DefaultValue = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *TemplateParameter) SetDescription(v string) *TemplateParameter { + s.Description = &v + return s +} + +// SetNoEcho sets the NoEcho field's value. +func (s *TemplateParameter) SetNoEcho(v bool) *TemplateParameter { + s.NoEcho = &v + return s +} + +// SetParameterKey sets the ParameterKey field's value. +func (s *TemplateParameter) SetParameterKey(v string) *TemplateParameter { + s.ParameterKey = &v + return s +} + +// A summary of the progress of the template generation. +type TemplateProgress struct { + _ struct{} `type:"structure"` + + // The number of resources that failed the template generation. + ResourcesFailed *int64 `type:"integer"` + + // The number of resources that are still pending the template generation. + ResourcesPending *int64 `type:"integer"` + + // The number of resources that are in-process for the template generation. + ResourcesProcessing *int64 `type:"integer"` + + // The number of resources that succeeded the template generation. + ResourcesSucceeded *int64 `type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TemplateProgress) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TemplateProgress) GoString() string { + return s.String() +} + +// SetResourcesFailed sets the ResourcesFailed field's value. +func (s *TemplateProgress) SetResourcesFailed(v int64) *TemplateProgress { + s.ResourcesFailed = &v + return s +} + +// SetResourcesPending sets the ResourcesPending field's value. +func (s *TemplateProgress) SetResourcesPending(v int64) *TemplateProgress { + s.ResourcesPending = &v + return s +} + +// SetResourcesProcessing sets the ResourcesProcessing field's value. +func (s *TemplateProgress) SetResourcesProcessing(v int64) *TemplateProgress { + s.ResourcesProcessing = &v + return s +} + +// SetResourcesSucceeded sets the ResourcesSucceeded field's value. +func (s *TemplateProgress) SetResourcesSucceeded(v int64) *TemplateProgress { + s.ResourcesSucceeded = &v + return s +} + +// The summary of a generated template. +type TemplateSummary struct { + _ struct{} `type:"structure"` + + // The time the generated template was created. + CreationTime *time.Time `type:"timestamp"` + + // The Amazon Resource Name (ARN) of the generated template. The format is arn:${Partition}:cloudformation:${Region}:${Account}:generatedtemplate/${Id}. + // For example, arn:aws:cloudformation:us-east-1:123456789012:generatedtemplate/2e8465c1-9a80-43ea-a3a3-4f2d692fe6dc . + GeneratedTemplateId *string `min:"1" type:"string"` + + // The name of the generated template. + GeneratedTemplateName *string `min:"1" type:"string"` + + // The time the generated template was last updated. + LastUpdatedTime *time.Time `type:"timestamp"` + + // The number of resources in the generated template. This is a total of resources + // in pending, in-progress, completed, and failed states. + NumberOfResources *int64 `type:"integer"` + + // The status of the template generation. Supported values are: + // + // * CreatePending - the creation of the template is pending. + // + // * CreateInProgress - the creation of the template is in progress. + // + // * DeletePending - the deletion of the template is pending. + // + // * DeleteInProgress - the deletion of the template is in progress. + // + // * UpdatePending - the update of the template is pending. + // + // * UpdateInProgress - the update of the template is in progress. + // + // * Failed - the template operation failed. + // + // * Complete - the template operation is complete. + Status *string `type:"string" enum:"GeneratedTemplateStatus"` + + // The reason for the current template generation status. This will provide + // more details if a failure happened. + StatusReason *string `min:"1" type:"string"` } // String returns the string representation. @@ -21854,7 +24888,7 @@ type TemplateParameter struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s TemplateParameter) String() string { +func (s TemplateSummary) String() string { return awsutil.Prettify(s) } @@ -21863,31 +24897,49 @@ func (s TemplateParameter) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s TemplateParameter) GoString() string { +func (s TemplateSummary) GoString() string { return s.String() } -// SetDefaultValue sets the DefaultValue field's value. -func (s *TemplateParameter) SetDefaultValue(v string) *TemplateParameter { - s.DefaultValue = &v +// SetCreationTime sets the CreationTime field's value. +func (s *TemplateSummary) SetCreationTime(v time.Time) *TemplateSummary { + s.CreationTime = &v return s } -// SetDescription sets the Description field's value. -func (s *TemplateParameter) SetDescription(v string) *TemplateParameter { - s.Description = &v +// SetGeneratedTemplateId sets the GeneratedTemplateId field's value. +func (s *TemplateSummary) SetGeneratedTemplateId(v string) *TemplateSummary { + s.GeneratedTemplateId = &v return s } -// SetNoEcho sets the NoEcho field's value. -func (s *TemplateParameter) SetNoEcho(v bool) *TemplateParameter { - s.NoEcho = &v +// SetGeneratedTemplateName sets the GeneratedTemplateName field's value. +func (s *TemplateSummary) SetGeneratedTemplateName(v string) *TemplateSummary { + s.GeneratedTemplateName = &v return s } -// SetParameterKey sets the ParameterKey field's value. -func (s *TemplateParameter) SetParameterKey(v string) *TemplateParameter { - s.ParameterKey = &v +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *TemplateSummary) SetLastUpdatedTime(v time.Time) *TemplateSummary { + s.LastUpdatedTime = &v + return s +} + +// SetNumberOfResources sets the NumberOfResources field's value. +func (s *TemplateSummary) SetNumberOfResources(v int64) *TemplateSummary { + s.NumberOfResources = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *TemplateSummary) SetStatus(v string) *TemplateSummary { + s.Status = &v + return s +} + +// SetStatusReason sets the StatusReason field's value. +func (s *TemplateSummary) SetStatusReason(v string) *TemplateSummary { + s.StatusReason = &v return s } @@ -22649,6 +25701,156 @@ func (s *TypeVersionSummary) SetVersionId(v string) *TypeVersionSummary { return s } +type UpdateGeneratedTemplateInput struct { + _ struct{} `type:"structure"` + + // An optional list of resources to be added to the generated template. + AddResources []*ResourceDefinition `min:"1" type:"list"` + + // The name or Amazon Resource Name (ARN) of a generated template. + // + // GeneratedTemplateName is a required field + GeneratedTemplateName *string `min:"1" type:"string" required:"true"` + + // An optional new name to assign to the generated template. + NewGeneratedTemplateName *string `min:"1" type:"string"` + + // If true, update the resource properties in the generated template with their + // current live state. This feature is useful when the resource properties in + // your generated a template does not reflect the live state of the resource + // properties. This happens when a user update the resource properties after + // generating a template. + RefreshAllResources *bool `type:"boolean"` + + // A list of logical ids for resources to remove from the generated template. + RemoveResources []*string `min:"1" type:"list"` + + // The configuration details of the generated template, including the DeletionPolicy + // and UpdateReplacePolicy. + TemplateConfiguration *TemplateConfiguration `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateGeneratedTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateGeneratedTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateGeneratedTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateGeneratedTemplateInput"} + if s.AddResources != nil && len(s.AddResources) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AddResources", 1)) + } + if s.GeneratedTemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("GeneratedTemplateName")) + } + if s.GeneratedTemplateName != nil && len(*s.GeneratedTemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GeneratedTemplateName", 1)) + } + if s.NewGeneratedTemplateName != nil && len(*s.NewGeneratedTemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NewGeneratedTemplateName", 1)) + } + if s.RemoveResources != nil && len(s.RemoveResources) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RemoveResources", 1)) + } + if s.AddResources != nil { + for i, v := range s.AddResources { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddResources", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAddResources sets the AddResources field's value. +func (s *UpdateGeneratedTemplateInput) SetAddResources(v []*ResourceDefinition) *UpdateGeneratedTemplateInput { + s.AddResources = v + return s +} + +// SetGeneratedTemplateName sets the GeneratedTemplateName field's value. +func (s *UpdateGeneratedTemplateInput) SetGeneratedTemplateName(v string) *UpdateGeneratedTemplateInput { + s.GeneratedTemplateName = &v + return s +} + +// SetNewGeneratedTemplateName sets the NewGeneratedTemplateName field's value. +func (s *UpdateGeneratedTemplateInput) SetNewGeneratedTemplateName(v string) *UpdateGeneratedTemplateInput { + s.NewGeneratedTemplateName = &v + return s +} + +// SetRefreshAllResources sets the RefreshAllResources field's value. +func (s *UpdateGeneratedTemplateInput) SetRefreshAllResources(v bool) *UpdateGeneratedTemplateInput { + s.RefreshAllResources = &v + return s +} + +// SetRemoveResources sets the RemoveResources field's value. +func (s *UpdateGeneratedTemplateInput) SetRemoveResources(v []*string) *UpdateGeneratedTemplateInput { + s.RemoveResources = v + return s +} + +// SetTemplateConfiguration sets the TemplateConfiguration field's value. +func (s *UpdateGeneratedTemplateInput) SetTemplateConfiguration(v *TemplateConfiguration) *UpdateGeneratedTemplateInput { + s.TemplateConfiguration = v + return s +} + +type UpdateGeneratedTemplateOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the generated template. The format is arn:${Partition}:cloudformation:${Region}:${Account}:generatedtemplate/${Id}. + // For example, arn:aws:cloudformation:us-east-1:123456789012:generatedtemplate/2e8465c1-9a80-43ea-a3a3-4f2d692fe6dc . + GeneratedTemplateId *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateGeneratedTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateGeneratedTemplateOutput) GoString() string { + return s.String() +} + +// SetGeneratedTemplateId sets the GeneratedTemplateId field's value. +func (s *UpdateGeneratedTemplateOutput) SetGeneratedTemplateId(v string) *UpdateGeneratedTemplateOutput { + s.GeneratedTemplateId = &v + return s +} + // The input for an UpdateStack action. type UpdateStackInput struct { _ struct{} `type:"structure"` @@ -23974,6 +27176,119 @@ func (s *ValidateTemplateOutput) SetParameters(v []*TemplateParameter) *Validate return s } +// The warnings generated for a specific resource for this generated template. +type WarningDetail struct { + _ struct{} `type:"structure"` + + // The properties of the resource that are impacted by this warning. + Properties []*WarningProperty `type:"list"` + + // The type of this warning. For more information, see IaC generator and write-only + // properties (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/generate-IaC-write-only-properties.html) + // in the CloudFormation User Guide. + // + // * MUTUALLY_EXCLUSIVE_PROPERTIES - The resource requires mutually-exclusive + // write-only properties. The IaC generator selects one set of mutually exclusive + // properties and converts the included properties into parameters. The parameter + // names have a suffix OneOf and the parameter descriptions indicate that + // the corresponding property can be replaced with other exclusive properties. + // + // * UNSUPPORTED_PROPERTIES - Unsupported properties are present in the resource. + // One example of unsupported properties would be a required write-only property + // that is an array, because a parameter cannot be an array. Another example + // is an optional write-only property. + // + // * MUTUALLY_EXCLUSIVE_TYPES - One or more required write-only properties + // are found in the resource, and the type of that property can be any of + // several types. + // + // Currently the resource and property reference documentation does not indicate + // if a property uses a type of oneOf or anyOf. You need to look at the resource + // provider schema. + Type *string `type:"string" enum:"WarningType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s WarningDetail) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s WarningDetail) GoString() string { + return s.String() +} + +// SetProperties sets the Properties field's value. +func (s *WarningDetail) SetProperties(v []*WarningProperty) *WarningDetail { + s.Properties = v + return s +} + +// SetType sets the Type field's value. +func (s *WarningDetail) SetType(v string) *WarningDetail { + s.Type = &v + return s +} + +// A specific property that is impacted by a warning. +type WarningProperty struct { + _ struct{} `type:"structure"` + + // The description of the property from the resource provider schema. + Description *string `type:"string"` + + // The path of the property. For example, if this is for the S3Bucket member + // of the Code property, the property path would be Code/S3Bucket. + PropertyPath *string `type:"string"` + + // If true, the specified property is required. + Required *bool `type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s WarningProperty) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s WarningProperty) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *WarningProperty) SetDescription(v string) *WarningProperty { + s.Description = &v + return s +} + +// SetPropertyPath sets the PropertyPath field's value. +func (s *WarningProperty) SetPropertyPath(v string) *WarningProperty { + s.PropertyPath = &v + return s +} + +// SetRequired sets the Required field's value. +func (s *WarningProperty) SetRequired(v bool) *WarningProperty { + s.Required = &v + return s +} + // Contains any warnings returned by the GetTemplateSummary API action. type Warnings struct { _ struct{} `type:"structure"` @@ -24360,6 +27675,102 @@ func ExecutionStatus_Values() []string { } } +const ( + // GeneratedTemplateDeletionPolicyDelete is a GeneratedTemplateDeletionPolicy enum value + GeneratedTemplateDeletionPolicyDelete = "DELETE" + + // GeneratedTemplateDeletionPolicyRetain is a GeneratedTemplateDeletionPolicy enum value + GeneratedTemplateDeletionPolicyRetain = "RETAIN" +) + +// GeneratedTemplateDeletionPolicy_Values returns all elements of the GeneratedTemplateDeletionPolicy enum +func GeneratedTemplateDeletionPolicy_Values() []string { + return []string{ + GeneratedTemplateDeletionPolicyDelete, + GeneratedTemplateDeletionPolicyRetain, + } +} + +const ( + // GeneratedTemplateResourceStatusPending is a GeneratedTemplateResourceStatus enum value + GeneratedTemplateResourceStatusPending = "PENDING" + + // GeneratedTemplateResourceStatusInProgress is a GeneratedTemplateResourceStatus enum value + GeneratedTemplateResourceStatusInProgress = "IN_PROGRESS" + + // GeneratedTemplateResourceStatusFailed is a GeneratedTemplateResourceStatus enum value + GeneratedTemplateResourceStatusFailed = "FAILED" + + // GeneratedTemplateResourceStatusComplete is a GeneratedTemplateResourceStatus enum value + GeneratedTemplateResourceStatusComplete = "COMPLETE" +) + +// GeneratedTemplateResourceStatus_Values returns all elements of the GeneratedTemplateResourceStatus enum +func GeneratedTemplateResourceStatus_Values() []string { + return []string{ + GeneratedTemplateResourceStatusPending, + GeneratedTemplateResourceStatusInProgress, + GeneratedTemplateResourceStatusFailed, + GeneratedTemplateResourceStatusComplete, + } +} + +const ( + // GeneratedTemplateStatusCreatePending is a GeneratedTemplateStatus enum value + GeneratedTemplateStatusCreatePending = "CREATE_PENDING" + + // GeneratedTemplateStatusUpdatePending is a GeneratedTemplateStatus enum value + GeneratedTemplateStatusUpdatePending = "UPDATE_PENDING" + + // GeneratedTemplateStatusDeletePending is a GeneratedTemplateStatus enum value + GeneratedTemplateStatusDeletePending = "DELETE_PENDING" + + // GeneratedTemplateStatusCreateInProgress is a GeneratedTemplateStatus enum value + GeneratedTemplateStatusCreateInProgress = "CREATE_IN_PROGRESS" + + // GeneratedTemplateStatusUpdateInProgress is a GeneratedTemplateStatus enum value + GeneratedTemplateStatusUpdateInProgress = "UPDATE_IN_PROGRESS" + + // GeneratedTemplateStatusDeleteInProgress is a GeneratedTemplateStatus enum value + GeneratedTemplateStatusDeleteInProgress = "DELETE_IN_PROGRESS" + + // GeneratedTemplateStatusFailed is a GeneratedTemplateStatus enum value + GeneratedTemplateStatusFailed = "FAILED" + + // GeneratedTemplateStatusComplete is a GeneratedTemplateStatus enum value + GeneratedTemplateStatusComplete = "COMPLETE" +) + +// GeneratedTemplateStatus_Values returns all elements of the GeneratedTemplateStatus enum +func GeneratedTemplateStatus_Values() []string { + return []string{ + GeneratedTemplateStatusCreatePending, + GeneratedTemplateStatusUpdatePending, + GeneratedTemplateStatusDeletePending, + GeneratedTemplateStatusCreateInProgress, + GeneratedTemplateStatusUpdateInProgress, + GeneratedTemplateStatusDeleteInProgress, + GeneratedTemplateStatusFailed, + GeneratedTemplateStatusComplete, + } +} + +const ( + // GeneratedTemplateUpdateReplacePolicyDelete is a GeneratedTemplateUpdateReplacePolicy enum value + GeneratedTemplateUpdateReplacePolicyDelete = "DELETE" + + // GeneratedTemplateUpdateReplacePolicyRetain is a GeneratedTemplateUpdateReplacePolicy enum value + GeneratedTemplateUpdateReplacePolicyRetain = "RETAIN" +) + +// GeneratedTemplateUpdateReplacePolicy_Values returns all elements of the GeneratedTemplateUpdateReplacePolicy enum +func GeneratedTemplateUpdateReplacePolicy_Values() []string { + return []string{ + GeneratedTemplateUpdateReplacePolicyDelete, + GeneratedTemplateUpdateReplacePolicyRetain, + } +} + const ( // HandlerErrorCodeNotUpdatable is a HandlerErrorCode enum value HandlerErrorCodeNotUpdatable = "NotUpdatable" @@ -24808,6 +28219,30 @@ func ResourceAttribute_Values() []string { } } +const ( + // ResourceScanStatusInProgress is a ResourceScanStatus enum value + ResourceScanStatusInProgress = "IN_PROGRESS" + + // ResourceScanStatusFailed is a ResourceScanStatus enum value + ResourceScanStatusFailed = "FAILED" + + // ResourceScanStatusComplete is a ResourceScanStatus enum value + ResourceScanStatusComplete = "COMPLETE" + + // ResourceScanStatusExpired is a ResourceScanStatus enum value + ResourceScanStatusExpired = "EXPIRED" +) + +// ResourceScanStatus_Values returns all elements of the ResourceScanStatus enum +func ResourceScanStatus_Values() []string { + return []string{ + ResourceScanStatusInProgress, + ResourceScanStatusFailed, + ResourceScanStatusComplete, + ResourceScanStatusExpired, + } +} + const ( // ResourceSignalStatusSuccess is a ResourceSignalStatus enum value ResourceSignalStatusSuccess = "SUCCESS" @@ -25312,6 +28747,22 @@ func StackStatus_Values() []string { } } +const ( + // TemplateFormatJson is a TemplateFormat enum value + TemplateFormatJson = "JSON" + + // TemplateFormatYaml is a TemplateFormat enum value + TemplateFormatYaml = "YAML" +) + +// TemplateFormat_Values returns all elements of the TemplateFormat enum +func TemplateFormat_Values() []string { + return []string{ + TemplateFormatJson, + TemplateFormatYaml, + } +} + const ( // TemplateStageOriginal is a TemplateStage enum value TemplateStageOriginal = "Original" @@ -25403,3 +28854,23 @@ func Visibility_Values() []string { VisibilityPrivate, } } + +const ( + // WarningTypeMutuallyExclusiveProperties is a WarningType enum value + WarningTypeMutuallyExclusiveProperties = "MUTUALLY_EXCLUSIVE_PROPERTIES" + + // WarningTypeUnsupportedProperties is a WarningType enum value + WarningTypeUnsupportedProperties = "UNSUPPORTED_PROPERTIES" + + // WarningTypeMutuallyExclusiveTypes is a WarningType enum value + WarningTypeMutuallyExclusiveTypes = "MUTUALLY_EXCLUSIVE_TYPES" +) + +// WarningType_Values returns all elements of the WarningType enum +func WarningType_Values() []string { + return []string{ + WarningTypeMutuallyExclusiveProperties, + WarningTypeUnsupportedProperties, + WarningTypeMutuallyExclusiveTypes, + } +} diff --git a/service/cloudformation/cloudformationiface/interface.go b/service/cloudformation/cloudformationiface/interface.go index c05bf90a16a..03975a06b36 100644 --- a/service/cloudformation/cloudformationiface/interface.go +++ b/service/cloudformation/cloudformationiface/interface.go @@ -84,6 +84,10 @@ type CloudFormationAPI interface { CreateChangeSetWithContext(aws.Context, *cloudformation.CreateChangeSetInput, ...request.Option) (*cloudformation.CreateChangeSetOutput, error) CreateChangeSetRequest(*cloudformation.CreateChangeSetInput) (*request.Request, *cloudformation.CreateChangeSetOutput) + CreateGeneratedTemplate(*cloudformation.CreateGeneratedTemplateInput) (*cloudformation.CreateGeneratedTemplateOutput, error) + CreateGeneratedTemplateWithContext(aws.Context, *cloudformation.CreateGeneratedTemplateInput, ...request.Option) (*cloudformation.CreateGeneratedTemplateOutput, error) + CreateGeneratedTemplateRequest(*cloudformation.CreateGeneratedTemplateInput) (*request.Request, *cloudformation.CreateGeneratedTemplateOutput) + CreateStack(*cloudformation.CreateStackInput) (*cloudformation.CreateStackOutput, error) CreateStackWithContext(aws.Context, *cloudformation.CreateStackInput, ...request.Option) (*cloudformation.CreateStackOutput, error) CreateStackRequest(*cloudformation.CreateStackInput) (*request.Request, *cloudformation.CreateStackOutput) @@ -108,6 +112,10 @@ type CloudFormationAPI interface { DeleteChangeSetWithContext(aws.Context, *cloudformation.DeleteChangeSetInput, ...request.Option) (*cloudformation.DeleteChangeSetOutput, error) DeleteChangeSetRequest(*cloudformation.DeleteChangeSetInput) (*request.Request, *cloudformation.DeleteChangeSetOutput) + DeleteGeneratedTemplate(*cloudformation.DeleteGeneratedTemplateInput) (*cloudformation.DeleteGeneratedTemplateOutput, error) + DeleteGeneratedTemplateWithContext(aws.Context, *cloudformation.DeleteGeneratedTemplateInput, ...request.Option) (*cloudformation.DeleteGeneratedTemplateOutput, error) + DeleteGeneratedTemplateRequest(*cloudformation.DeleteGeneratedTemplateInput) (*request.Request, *cloudformation.DeleteGeneratedTemplateOutput) + DeleteStack(*cloudformation.DeleteStackInput) (*cloudformation.DeleteStackOutput, error) DeleteStackWithContext(aws.Context, *cloudformation.DeleteStackInput, ...request.Option) (*cloudformation.DeleteStackOutput, error) DeleteStackRequest(*cloudformation.DeleteStackInput) (*request.Request, *cloudformation.DeleteStackOutput) @@ -139,6 +147,10 @@ type CloudFormationAPI interface { DescribeChangeSetHooksWithContext(aws.Context, *cloudformation.DescribeChangeSetHooksInput, ...request.Option) (*cloudformation.DescribeChangeSetHooksOutput, error) DescribeChangeSetHooksRequest(*cloudformation.DescribeChangeSetHooksInput) (*request.Request, *cloudformation.DescribeChangeSetHooksOutput) + DescribeGeneratedTemplate(*cloudformation.DescribeGeneratedTemplateInput) (*cloudformation.DescribeGeneratedTemplateOutput, error) + DescribeGeneratedTemplateWithContext(aws.Context, *cloudformation.DescribeGeneratedTemplateInput, ...request.Option) (*cloudformation.DescribeGeneratedTemplateOutput, error) + DescribeGeneratedTemplateRequest(*cloudformation.DescribeGeneratedTemplateInput) (*request.Request, *cloudformation.DescribeGeneratedTemplateOutput) + DescribeOrganizationsAccess(*cloudformation.DescribeOrganizationsAccessInput) (*cloudformation.DescribeOrganizationsAccessOutput, error) DescribeOrganizationsAccessWithContext(aws.Context, *cloudformation.DescribeOrganizationsAccessInput, ...request.Option) (*cloudformation.DescribeOrganizationsAccessOutput, error) DescribeOrganizationsAccessRequest(*cloudformation.DescribeOrganizationsAccessInput) (*request.Request, *cloudformation.DescribeOrganizationsAccessOutput) @@ -147,6 +159,10 @@ type CloudFormationAPI interface { DescribePublisherWithContext(aws.Context, *cloudformation.DescribePublisherInput, ...request.Option) (*cloudformation.DescribePublisherOutput, error) DescribePublisherRequest(*cloudformation.DescribePublisherInput) (*request.Request, *cloudformation.DescribePublisherOutput) + DescribeResourceScan(*cloudformation.DescribeResourceScanInput) (*cloudformation.DescribeResourceScanOutput, error) + DescribeResourceScanWithContext(aws.Context, *cloudformation.DescribeResourceScanInput, ...request.Option) (*cloudformation.DescribeResourceScanOutput, error) + DescribeResourceScanRequest(*cloudformation.DescribeResourceScanInput) (*request.Request, *cloudformation.DescribeResourceScanOutput) + DescribeStackDriftDetectionStatus(*cloudformation.DescribeStackDriftDetectionStatusInput) (*cloudformation.DescribeStackDriftDetectionStatusOutput, error) DescribeStackDriftDetectionStatusWithContext(aws.Context, *cloudformation.DescribeStackDriftDetectionStatusInput, ...request.Option) (*cloudformation.DescribeStackDriftDetectionStatusOutput, error) DescribeStackDriftDetectionStatusRequest(*cloudformation.DescribeStackDriftDetectionStatusInput) (*request.Request, *cloudformation.DescribeStackDriftDetectionStatusOutput) @@ -220,6 +236,10 @@ type CloudFormationAPI interface { ExecuteChangeSetWithContext(aws.Context, *cloudformation.ExecuteChangeSetInput, ...request.Option) (*cloudformation.ExecuteChangeSetOutput, error) ExecuteChangeSetRequest(*cloudformation.ExecuteChangeSetInput) (*request.Request, *cloudformation.ExecuteChangeSetOutput) + GetGeneratedTemplate(*cloudformation.GetGeneratedTemplateInput) (*cloudformation.GetGeneratedTemplateOutput, error) + GetGeneratedTemplateWithContext(aws.Context, *cloudformation.GetGeneratedTemplateInput, ...request.Option) (*cloudformation.GetGeneratedTemplateOutput, error) + GetGeneratedTemplateRequest(*cloudformation.GetGeneratedTemplateInput) (*request.Request, *cloudformation.GetGeneratedTemplateOutput) + GetStackPolicy(*cloudformation.GetStackPolicyInput) (*cloudformation.GetStackPolicyOutput, error) GetStackPolicyWithContext(aws.Context, *cloudformation.GetStackPolicyInput, ...request.Option) (*cloudformation.GetStackPolicyOutput, error) GetStackPolicyRequest(*cloudformation.GetStackPolicyInput) (*request.Request, *cloudformation.GetStackPolicyOutput) @@ -250,6 +270,13 @@ type CloudFormationAPI interface { ListExportsPages(*cloudformation.ListExportsInput, func(*cloudformation.ListExportsOutput, bool) bool) error ListExportsPagesWithContext(aws.Context, *cloudformation.ListExportsInput, func(*cloudformation.ListExportsOutput, bool) bool, ...request.Option) error + ListGeneratedTemplates(*cloudformation.ListGeneratedTemplatesInput) (*cloudformation.ListGeneratedTemplatesOutput, error) + ListGeneratedTemplatesWithContext(aws.Context, *cloudformation.ListGeneratedTemplatesInput, ...request.Option) (*cloudformation.ListGeneratedTemplatesOutput, error) + ListGeneratedTemplatesRequest(*cloudformation.ListGeneratedTemplatesInput) (*request.Request, *cloudformation.ListGeneratedTemplatesOutput) + + ListGeneratedTemplatesPages(*cloudformation.ListGeneratedTemplatesInput, func(*cloudformation.ListGeneratedTemplatesOutput, bool) bool) error + ListGeneratedTemplatesPagesWithContext(aws.Context, *cloudformation.ListGeneratedTemplatesInput, func(*cloudformation.ListGeneratedTemplatesOutput, bool) bool, ...request.Option) error + ListImports(*cloudformation.ListImportsInput) (*cloudformation.ListImportsOutput, error) ListImportsWithContext(aws.Context, *cloudformation.ListImportsInput, ...request.Option) (*cloudformation.ListImportsOutput, error) ListImportsRequest(*cloudformation.ListImportsInput) (*request.Request, *cloudformation.ListImportsOutput) @@ -257,6 +284,27 @@ type CloudFormationAPI interface { ListImportsPages(*cloudformation.ListImportsInput, func(*cloudformation.ListImportsOutput, bool) bool) error ListImportsPagesWithContext(aws.Context, *cloudformation.ListImportsInput, func(*cloudformation.ListImportsOutput, bool) bool, ...request.Option) error + ListResourceScanRelatedResources(*cloudformation.ListResourceScanRelatedResourcesInput) (*cloudformation.ListResourceScanRelatedResourcesOutput, error) + ListResourceScanRelatedResourcesWithContext(aws.Context, *cloudformation.ListResourceScanRelatedResourcesInput, ...request.Option) (*cloudformation.ListResourceScanRelatedResourcesOutput, error) + ListResourceScanRelatedResourcesRequest(*cloudformation.ListResourceScanRelatedResourcesInput) (*request.Request, *cloudformation.ListResourceScanRelatedResourcesOutput) + + ListResourceScanRelatedResourcesPages(*cloudformation.ListResourceScanRelatedResourcesInput, func(*cloudformation.ListResourceScanRelatedResourcesOutput, bool) bool) error + ListResourceScanRelatedResourcesPagesWithContext(aws.Context, *cloudformation.ListResourceScanRelatedResourcesInput, func(*cloudformation.ListResourceScanRelatedResourcesOutput, bool) bool, ...request.Option) error + + ListResourceScanResources(*cloudformation.ListResourceScanResourcesInput) (*cloudformation.ListResourceScanResourcesOutput, error) + ListResourceScanResourcesWithContext(aws.Context, *cloudformation.ListResourceScanResourcesInput, ...request.Option) (*cloudformation.ListResourceScanResourcesOutput, error) + ListResourceScanResourcesRequest(*cloudformation.ListResourceScanResourcesInput) (*request.Request, *cloudformation.ListResourceScanResourcesOutput) + + ListResourceScanResourcesPages(*cloudformation.ListResourceScanResourcesInput, func(*cloudformation.ListResourceScanResourcesOutput, bool) bool) error + ListResourceScanResourcesPagesWithContext(aws.Context, *cloudformation.ListResourceScanResourcesInput, func(*cloudformation.ListResourceScanResourcesOutput, bool) bool, ...request.Option) error + + ListResourceScans(*cloudformation.ListResourceScansInput) (*cloudformation.ListResourceScansOutput, error) + ListResourceScansWithContext(aws.Context, *cloudformation.ListResourceScansInput, ...request.Option) (*cloudformation.ListResourceScansOutput, error) + ListResourceScansRequest(*cloudformation.ListResourceScansInput) (*request.Request, *cloudformation.ListResourceScansOutput) + + ListResourceScansPages(*cloudformation.ListResourceScansInput, func(*cloudformation.ListResourceScansOutput, bool) bool) error + ListResourceScansPagesWithContext(aws.Context, *cloudformation.ListResourceScansInput, func(*cloudformation.ListResourceScansOutput, bool) bool, ...request.Option) error + ListStackInstanceResourceDrifts(*cloudformation.ListStackInstanceResourceDriftsInput) (*cloudformation.ListStackInstanceResourceDriftsOutput, error) ListStackInstanceResourceDriftsWithContext(aws.Context, *cloudformation.ListStackInstanceResourceDriftsInput, ...request.Option) (*cloudformation.ListStackInstanceResourceDriftsOutput, error) ListStackInstanceResourceDriftsRequest(*cloudformation.ListStackInstanceResourceDriftsInput) (*request.Request, *cloudformation.ListStackInstanceResourceDriftsOutput) @@ -360,6 +408,10 @@ type CloudFormationAPI interface { SignalResourceWithContext(aws.Context, *cloudformation.SignalResourceInput, ...request.Option) (*cloudformation.SignalResourceOutput, error) SignalResourceRequest(*cloudformation.SignalResourceInput) (*request.Request, *cloudformation.SignalResourceOutput) + StartResourceScan(*cloudformation.StartResourceScanInput) (*cloudformation.StartResourceScanOutput, error) + StartResourceScanWithContext(aws.Context, *cloudformation.StartResourceScanInput, ...request.Option) (*cloudformation.StartResourceScanOutput, error) + StartResourceScanRequest(*cloudformation.StartResourceScanInput) (*request.Request, *cloudformation.StartResourceScanOutput) + StopStackSetOperation(*cloudformation.StopStackSetOperationInput) (*cloudformation.StopStackSetOperationOutput, error) StopStackSetOperationWithContext(aws.Context, *cloudformation.StopStackSetOperationInput, ...request.Option) (*cloudformation.StopStackSetOperationOutput, error) StopStackSetOperationRequest(*cloudformation.StopStackSetOperationInput) (*request.Request, *cloudformation.StopStackSetOperationOutput) @@ -368,6 +420,10 @@ type CloudFormationAPI interface { TestTypeWithContext(aws.Context, *cloudformation.TestTypeInput, ...request.Option) (*cloudformation.TestTypeOutput, error) TestTypeRequest(*cloudformation.TestTypeInput) (*request.Request, *cloudformation.TestTypeOutput) + UpdateGeneratedTemplate(*cloudformation.UpdateGeneratedTemplateInput) (*cloudformation.UpdateGeneratedTemplateOutput, error) + UpdateGeneratedTemplateWithContext(aws.Context, *cloudformation.UpdateGeneratedTemplateInput, ...request.Option) (*cloudformation.UpdateGeneratedTemplateOutput, error) + UpdateGeneratedTemplateRequest(*cloudformation.UpdateGeneratedTemplateInput) (*request.Request, *cloudformation.UpdateGeneratedTemplateOutput) + UpdateStack(*cloudformation.UpdateStackInput) (*cloudformation.UpdateStackOutput, error) UpdateStackWithContext(aws.Context, *cloudformation.UpdateStackInput, ...request.Option) (*cloudformation.UpdateStackOutput, error) UpdateStackRequest(*cloudformation.UpdateStackInput) (*request.Request, *cloudformation.UpdateStackOutput) diff --git a/service/cloudformation/errors.go b/service/cloudformation/errors.go index f8a151fa954..3f366d7c7ef 100644 --- a/service/cloudformation/errors.go +++ b/service/cloudformation/errors.go @@ -23,12 +23,26 @@ const ( // for a stack, use the ListChangeSets operation. ErrCodeChangeSetNotFoundException = "ChangeSetNotFound" + // ErrCodeConcurrentResourcesLimitExceededException for service response error code + // "ConcurrentResourcesLimitExceeded". + // + // No more than 5 generated templates can be in an InProgress or Pending status + // at one time. This error is also returned if a generated template that is + // in an InProgress or Pending status is attempted to be updated or deleted. + ErrCodeConcurrentResourcesLimitExceededException = "ConcurrentResourcesLimitExceeded" + // ErrCodeCreatedButModifiedException for service response error code // "CreatedButModifiedException". // // The specified resource exists, but has been changed. ErrCodeCreatedButModifiedException = "CreatedButModifiedException" + // ErrCodeGeneratedTemplateNotFoundException for service response error code + // "GeneratedTemplateNotFound". + // + // The generated template was not found. + ErrCodeGeneratedTemplateNotFoundException = "GeneratedTemplateNotFound" + // ErrCodeInsufficientCapabilitiesException for service response error code // "InsufficientCapabilitiesException". // @@ -99,6 +113,33 @@ const ( // CloudFormation doesn't return this error to users. ErrCodeOperationStatusCheckFailedException = "ConditionalCheckFailed" + // ErrCodeResourceScanInProgressException for service response error code + // "ResourceScanInProgress". + // + // A resource scan is currently in progress. Only one can be run at a time for + // an account in a Region. + ErrCodeResourceScanInProgressException = "ResourceScanInProgress" + + // ErrCodeResourceScanLimitExceededException for service response error code + // "ResourceScanLimitExceeded". + // + // The limit on resource scans has been exceeded. Reasons include: + // + // * Exceeded the daily quota for resource scans. + // + // * A resource scan recently failed. You must wait 10 minutes before starting + // a new resource scan. + // + // * The last resource scan failed after exceeding 100,000 resources. When + // this happens, you must wait 24 hours before starting a new resource scan. + ErrCodeResourceScanLimitExceededException = "ResourceScanLimitExceeded" + + // ErrCodeResourceScanNotFoundException for service response error code + // "ResourceScanNotFound". + // + // The resource scan was not found. + ErrCodeResourceScanNotFoundException = "ResourceScanNotFound" + // ErrCodeStackInstanceNotFoundException for service response error code // "StackInstanceNotFoundException". // diff --git a/service/cloudformation/examples_test.go b/service/cloudformation/examples_test.go new file mode 100644 index 00000000000..870f42dc816 --- /dev/null +++ b/service/cloudformation/examples_test.go @@ -0,0 +1,512 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package cloudformation_test + +import ( + "fmt" + "strings" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awserr" + "github.com/aws/aws-sdk-go/aws/session" + "github.com/aws/aws-sdk-go/service/cloudformation" +) + +var _ time.Duration +var _ strings.Reader +var _ aws.Config + +func parseTime(layout, value string) *time.Time { + t, err := time.Parse(layout, value) + if err != nil { + panic(err) + } + return &t +} + +// To create a generated template +// This example creates a generated template with a resources file. +func ExampleCloudFormation_CreateGeneratedTemplate_shared00() { + svc := cloudformation.New(session.New()) + input := &cloudformation.CreateGeneratedTemplateInput{ + GeneratedTemplateName: aws.String("JazzyTemplate"), + Resources: []*cloudformation.ResourceDefinition{ + { + ResourceIdentifier: map[string]*string{ + "BucketName": aws.String("jazz-bucket"), + }, + ResourceType: aws.String("AWS::S3::Bucket"), + }, + { + ResourceIdentifier: map[string]*string{ + "DhcpOptionsId": aws.String("random-id123"), + }, + ResourceType: aws.String("AWS::EC2::DHCPOptions"), + }, + }, + } + + result, err := svc.CreateGeneratedTemplate(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case cloudformation.ErrCodeAlreadyExistsException: + fmt.Println(cloudformation.ErrCodeAlreadyExistsException, aerr.Error()) + case cloudformation.ErrCodeLimitExceededException: + fmt.Println(cloudformation.ErrCodeLimitExceededException, aerr.Error()) + case cloudformation.ErrCodeConcurrentResourcesLimitExceededException: + fmt.Println(cloudformation.ErrCodeConcurrentResourcesLimitExceededException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To delete a generated template +// This example deletes a generated template +func ExampleCloudFormation_DeleteGeneratedTemplate_shared00() { + svc := cloudformation.New(session.New()) + input := &cloudformation.DeleteGeneratedTemplateInput{ + GeneratedTemplateName: aws.String("JazzyTemplate"), + } + + result, err := svc.DeleteGeneratedTemplate(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case cloudformation.ErrCodeGeneratedTemplateNotFoundException: + fmt.Println(cloudformation.ErrCodeGeneratedTemplateNotFoundException, aerr.Error()) + case cloudformation.ErrCodeConcurrentResourcesLimitExceededException: + fmt.Println(cloudformation.ErrCodeConcurrentResourcesLimitExceededException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To describe a generated template +// This example describes a generated template +func ExampleCloudFormation_DescribeGeneratedTemplate_shared00() { + svc := cloudformation.New(session.New()) + input := &cloudformation.DescribeGeneratedTemplateInput{ + GeneratedTemplateName: aws.String("JazzyTemplate"), + } + + result, err := svc.DescribeGeneratedTemplate(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case cloudformation.ErrCodeGeneratedTemplateNotFoundException: + fmt.Println(cloudformation.ErrCodeGeneratedTemplateNotFoundException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To describe a selected resource scan +// This example describes a selected resource scan +func ExampleCloudFormation_DescribeResourceScan_shared00() { + svc := cloudformation.New(session.New()) + input := &cloudformation.DescribeResourceScanInput{ + ResourceScanId: aws.String("arn:aws:cloudformation:us-east-1:123456789012:resourceScan/c19304f6-c4f1-4ff8-8e1f-35162e41d7e1"), + } + + result, err := svc.DescribeResourceScan(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case cloudformation.ErrCodeResourceScanNotFoundException: + fmt.Println(cloudformation.ErrCodeResourceScanNotFoundException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To get a generated template in JSON format +// This example gets a generated template ins JSON format. +func ExampleCloudFormation_GetGeneratedTemplate_shared00() { + svc := cloudformation.New(session.New()) + input := &cloudformation.GetGeneratedTemplateInput{ + GeneratedTemplateName: aws.String("JazzyTemplate"), + } + + result, err := svc.GetGeneratedTemplate(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case cloudformation.ErrCodeGeneratedTemplateNotFoundException: + fmt.Println(cloudformation.ErrCodeGeneratedTemplateNotFoundException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To get a generated template in YAML format +// This example gets a generated template in YAML format. +func ExampleCloudFormation_GetGeneratedTemplate_shared01() { + svc := cloudformation.New(session.New()) + input := &cloudformation.GetGeneratedTemplateInput{ + Format: aws.String("YAML"), + GeneratedTemplateName: aws.String("JazzyTemplate"), + } + + result, err := svc.GetGeneratedTemplate(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case cloudformation.ErrCodeGeneratedTemplateNotFoundException: + fmt.Println(cloudformation.ErrCodeGeneratedTemplateNotFoundException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To list generated templates +// This example lists the generated templates. +func ExampleCloudFormation_ListGeneratedTemplates_shared00() { + svc := cloudformation.New(session.New()) + input := &cloudformation.ListGeneratedTemplatesInput{} + + result, err := svc.ListGeneratedTemplates(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To list resource scan related resources +// This example lists the resources related to the passed in resources +func ExampleCloudFormation_ListResourceScanRelatedResources_shared00() { + svc := cloudformation.New(session.New()) + input := &cloudformation.ListResourceScanRelatedResourcesInput{ + ResourceScanId: aws.String("arn:aws:cloudformation:us-east-1:123456789012:resourceScan/c19304f6-c4f1-4ff8-8e1f-35162e41d7e1"), + Resources: []*cloudformation.ScannedResourceIdentifier{ + { + ResourceIdentifier: map[string]*string{ + "BucketName": aws.String("jazz-bucket"), + }, + ResourceType: aws.String("AWS::S3::Bucket"), + }, + { + ResourceIdentifier: map[string]*string{ + "DhcpOptionsId": aws.String("random-id123"), + }, + ResourceType: aws.String("AWS::EC2::DHCPOptions"), + }, + }, + } + + result, err := svc.ListResourceScanRelatedResources(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case cloudformation.ErrCodeResourceScanNotFoundException: + fmt.Println(cloudformation.ErrCodeResourceScanNotFoundException, aerr.Error()) + case cloudformation.ErrCodeResourceScanInProgressException: + fmt.Println(cloudformation.ErrCodeResourceScanInProgressException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To list the resources in your resource scan +// This example lists the resources in your resource scan +func ExampleCloudFormation_ListResourceScanResources_shared00() { + svc := cloudformation.New(session.New()) + input := &cloudformation.ListResourceScanResourcesInput{ + ResourceScanId: aws.String("arn:aws:cloudformation:us-east-1:123456789012:resourceScan/c19304f6-c4f1-4ff8-8e1f-35162e41d7e1"), + } + + result, err := svc.ListResourceScanResources(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case cloudformation.ErrCodeResourceScanNotFoundException: + fmt.Println(cloudformation.ErrCodeResourceScanNotFoundException, aerr.Error()) + case cloudformation.ErrCodeResourceScanInProgressException: + fmt.Println(cloudformation.ErrCodeResourceScanInProgressException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To list the resources in your resource scan for specific resource type +// This example lists the resources in your resource scan filtering only the resources +// that start with the passed in prefix +func ExampleCloudFormation_ListResourceScanResources_shared01() { + svc := cloudformation.New(session.New()) + input := &cloudformation.ListResourceScanResourcesInput{ + ResourceScanId: aws.String("arn:aws:cloudformation:us-east-1:123456789012:resourceScan/c19304f6-c4f1-4ff8-8e1f-35162e41d7e1"), + ResourceTypePrefix: aws.String("AWS::S3"), + } + + result, err := svc.ListResourceScanResources(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case cloudformation.ErrCodeResourceScanNotFoundException: + fmt.Println(cloudformation.ErrCodeResourceScanNotFoundException, aerr.Error()) + case cloudformation.ErrCodeResourceScanInProgressException: + fmt.Println(cloudformation.ErrCodeResourceScanInProgressException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// Listing Resource Scans +// This example shows how to list resource scans +func ExampleCloudFormation_ListResourceScans_shared00() { + svc := cloudformation.New(session.New()) + input := &cloudformation.ListResourceScansInput{} + + result, err := svc.ListResourceScans(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To start a resource scan +// This example shows how to start a new resource scan +func ExampleCloudFormation_StartResourceScan_shared00() { + svc := cloudformation.New(session.New()) + input := &cloudformation.StartResourceScanInput{} + + result, err := svc.StartResourceScan(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case cloudformation.ErrCodeResourceScanInProgressException: + fmt.Println(cloudformation.ErrCodeResourceScanInProgressException, aerr.Error()) + case cloudformation.ErrCodeResourceScanLimitExceededException: + fmt.Println(cloudformation.ErrCodeResourceScanLimitExceededException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To update a generated template's name +// This example updates a generated template with a new name. +func ExampleCloudFormation_UpdateGeneratedTemplate_shared00() { + svc := cloudformation.New(session.New()) + input := &cloudformation.UpdateGeneratedTemplateInput{ + GeneratedTemplateName: aws.String("JazzyTemplate"), + NewGeneratedTemplateName: aws.String("JazzierTemplate"), + } + + result, err := svc.UpdateGeneratedTemplate(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case cloudformation.ErrCodeAlreadyExistsException: + fmt.Println(cloudformation.ErrCodeAlreadyExistsException, aerr.Error()) + case cloudformation.ErrCodeGeneratedTemplateNotFoundException: + fmt.Println(cloudformation.ErrCodeGeneratedTemplateNotFoundException, aerr.Error()) + case cloudformation.ErrCodeLimitExceededException: + fmt.Println(cloudformation.ErrCodeLimitExceededException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To remove resources from a generated template +// This example removes resources from a generated template +func ExampleCloudFormation_UpdateGeneratedTemplate_shared01() { + svc := cloudformation.New(session.New()) + input := &cloudformation.UpdateGeneratedTemplateInput{ + GeneratedTemplateName: aws.String("JazzyTemplate"), + RemoveResources: []*string{ + aws.String("LogicalResourceId1"), + aws.String("LogicalResourceId2"), + }, + } + + result, err := svc.UpdateGeneratedTemplate(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case cloudformation.ErrCodeAlreadyExistsException: + fmt.Println(cloudformation.ErrCodeAlreadyExistsException, aerr.Error()) + case cloudformation.ErrCodeGeneratedTemplateNotFoundException: + fmt.Println(cloudformation.ErrCodeGeneratedTemplateNotFoundException, aerr.Error()) + case cloudformation.ErrCodeLimitExceededException: + fmt.Println(cloudformation.ErrCodeLimitExceededException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To add resources to a generated template +// This example adds resources to a generated template +func ExampleCloudFormation_UpdateGeneratedTemplate_shared02() { + svc := cloudformation.New(session.New()) + input := &cloudformation.UpdateGeneratedTemplateInput{ + AddResources: []*cloudformation.ResourceDefinition{ + { + ResourceIdentifier: map[string]*string{ + "BucketName": aws.String("jazz-bucket"), + }, + ResourceType: aws.String("AWS::S3::Bucket"), + }, + { + ResourceIdentifier: map[string]*string{ + "DhcpOptionsId": aws.String("random-id123"), + }, + ResourceType: aws.String("AWS::EC2::DHCPOptions"), + }, + }, + GeneratedTemplateName: aws.String("JazzyTemplate"), + } + + result, err := svc.UpdateGeneratedTemplate(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case cloudformation.ErrCodeAlreadyExistsException: + fmt.Println(cloudformation.ErrCodeAlreadyExistsException, aerr.Error()) + case cloudformation.ErrCodeGeneratedTemplateNotFoundException: + fmt.Println(cloudformation.ErrCodeGeneratedTemplateNotFoundException, aerr.Error()) + case cloudformation.ErrCodeLimitExceededException: + fmt.Println(cloudformation.ErrCodeLimitExceededException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} diff --git a/service/elbv2/api.go b/service/elbv2/api.go index 406c1bc7f01..0f530edec93 100644 --- a/service/elbv2/api.go +++ b/service/elbv2/api.go @@ -5648,7 +5648,7 @@ type CreateLoadBalancerInput struct { // groups for the load balancer. SecurityGroups []*string `type:"list"` - // The IDs of the public subnets. You can specify only one subnet per Availability + // 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. // // [Application Load Balancers] You must specify subnets from at least two Availability @@ -5670,7 +5670,7 @@ type CreateLoadBalancerInput struct { // Zones. You cannot specify Elastic IP addresses for your subnets. SubnetMappings []*SubnetMapping `type:"list"` - // The IDs of the public subnets. You can specify only one subnet per Availability + // 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. // @@ -11672,6 +11672,8 @@ type SourceIpConditionConfig struct { // IP address of the request matches one of the CIDR blocks. This condition // is not satisfied by the addresses in the X-Forwarded-For header. To search // for addresses in the X-Forwarded-For header, use HttpHeaderConditionConfig. + // + // The total number of values must be less than, or equal to five. Values []*string `type:"list"` } @@ -12334,6 +12336,13 @@ type TargetGroupAttribute struct { // whether the load balancer terminates connections to unhealthy targets. // The value is true or false. The default is true. // + // * target_health_state.unhealthy.draining_interval_seconds - The amount + // of time for Elastic Load Balancing to wait before changing the state of + // an unhealthy target from unhealthy.draining to unhealthy. The range is + // 0-360000 seconds. The default value is 0 seconds. Note: This attribute + // can only be configured when target_health_state.unhealthy.connection_termination.enabled + // is false. + // // The following attributes are supported only by Gateway Load Balancers: // // * target_failover.on_deregistration - Indicates how the Gateway Load Balancer @@ -13152,6 +13161,9 @@ const ( // TargetHealthStateEnumUnhealthy is a TargetHealthStateEnum enum value TargetHealthStateEnumUnhealthy = "unhealthy" + // TargetHealthStateEnumUnhealthyDraining is a TargetHealthStateEnum enum value + TargetHealthStateEnumUnhealthyDraining = "unhealthy.draining" + // TargetHealthStateEnumUnused is a TargetHealthStateEnum enum value TargetHealthStateEnumUnused = "unused" @@ -13168,6 +13180,7 @@ func TargetHealthStateEnum_Values() []string { TargetHealthStateEnumInitial, TargetHealthStateEnumHealthy, TargetHealthStateEnumUnhealthy, + TargetHealthStateEnumUnhealthyDraining, TargetHealthStateEnumUnused, TargetHealthStateEnumDraining, TargetHealthStateEnumUnavailable, diff --git a/service/glue/api.go b/service/glue/api.go index ce4fdc94af5..b644d34e6cc 100644 --- a/service/glue/api.go +++ b/service/glue/api.go @@ -54392,8 +54392,8 @@ type JobCommand struct { // In Ray jobs, Runtime is used to specify the versions of Ray, Python and additional // libraries available in your environment. This field is not used in other - // job types. For supported runtime environment values, see Working with Ray - // jobs (https://docs.aws.amazon.com/glue/latest/dg/author-job-ray-runtimes.html) + // job types. For supported runtime environment values, see Supported Ray runtime + // environments (https://docs.aws.amazon.com/glue/latest/dg/ray-jobs-section.html) // in the Glue Developer Guide. Runtime *string `type:"string"` diff --git a/service/ssm/api.go b/service/ssm/api.go index 673ad831d17..b2cee35efa3 100644 --- a/service/ssm/api.go +++ b/service/ssm/api.go @@ -3746,6 +3746,9 @@ func (c *SSM) DescribeAvailablePatchesRequest(input *DescribeAvailablePatchesInp // // Lists all patches eligible to be included in a patch baseline. // +// Currently, DescribeAvailablePatches supports only the Amazon Linux 1, Amazon +// Linux 2, and Windows Server operating systems. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -16767,6 +16770,11 @@ type Association struct { // form another account, you must set the document version to default. DocumentVersion *string `type:"string"` + // The number of hours that an association can run on specified targets. After + // the resulting cutoff time passes, associations that are currently running + // are cancelled, and no pending executions are started on remaining targets. + Duration *int64 `min:"1" type:"integer"` + // The managed node ID. InstanceId *string `type:"string"` @@ -16838,6 +16846,12 @@ func (s *Association) SetDocumentVersion(v string) *Association { return s } +// SetDuration sets the Duration field's value. +func (s *Association) SetDuration(v int64) *Association { + s.Duration = &v + return s +} + // SetInstanceId sets the InstanceId field's value. func (s *Association) SetInstanceId(v string) *Association { s.InstanceId = &v @@ -16994,6 +17008,11 @@ type AssociationDescription struct { // The document version. DocumentVersion *string `type:"string"` + // The number of hours that an association can run on specified targets. After + // the resulting cutoff time passes, associations that are currently running + // are cancelled, and no pending executions are started on remaining targets. + Duration *int64 `min:"1" type:"integer"` + // The managed node ID. InstanceId *string `type:"string"` @@ -17164,6 +17183,12 @@ func (s *AssociationDescription) SetDocumentVersion(v string) *AssociationDescri return s } +// SetDuration sets the Duration field's value. +func (s *AssociationDescription) SetDuration(v int64) *AssociationDescription { + s.Duration = &v + return s +} + // SetInstanceId sets the InstanceId field's value. func (s *AssociationDescription) SetInstanceId(v string) *AssociationDescription { s.InstanceId = &v @@ -18066,6 +18091,11 @@ type AssociationVersionInfo struct { // used when the association version was created. DocumentVersion *string `type:"string"` + // The number of hours that an association can run on specified targets. After + // the resulting cutoff time passes, associations that are currently running + // are cancelled, and no pending executions are started on remaining targets. + Duration *int64 `min:"1" type:"integer"` + // The maximum number of targets allowed to run the association at the same // time. You can specify a number, for example 10, or a percentage of the target // set, for example 10%. The default value is 100%, which means all targets @@ -18207,6 +18237,12 @@ func (s *AssociationVersionInfo) SetDocumentVersion(v string) *AssociationVersio return s } +// SetDuration sets the Duration field's value. +func (s *AssociationVersionInfo) SetDuration(v int64) *AssociationVersionInfo { + s.Duration = &v + return s +} + // SetMaxConcurrency sets the MaxConcurrency field's value. func (s *AssociationVersionInfo) SetMaxConcurrency(v string) *AssociationVersionInfo { s.MaxConcurrency = &v @@ -21693,6 +21729,22 @@ type CreateAssociationBatchRequestEntry struct { // The document version. DocumentVersion *string `type:"string"` + // The number of hours the association can run before it is canceled. Duration + // applies to associations that are currently running, and any pending and in + // progress commands on all targets. If a target was taken offline for the association + // to run, it is made available again immediately, without a reboot. + // + // The Duration parameter applies only when both these conditions are true: + // + // * The association for which you specify a duration is cancelable according + // to the parameters of the SSM command document or Automation runbook associated + // with this execution. + // + // * The command specifies the ApplyOnlyAtCronInterval (https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_CreateAssociationBatchRequestEntry.html#systemsmanager-Type-CreateAssociationBatchRequestEntry-ApplyOnlyAtCronInterval) + // parameter, which means that the association doesn't run immediately after + // it is created, but only according to the specified schedule. + Duration *int64 `min:"1" type:"integer"` + // The managed node ID. // // InstanceId has been deprecated. To specify a managed node ID for an association, @@ -21819,6 +21871,9 @@ func (s *CreateAssociationBatchRequestEntry) Validate() error { if s.AutomationTargetParameterName != nil && len(*s.AutomationTargetParameterName) < 1 { invalidParams.Add(request.NewErrParamMinLen("AutomationTargetParameterName", 1)) } + if s.Duration != nil && *s.Duration < 1 { + invalidParams.Add(request.NewErrParamMinValue("Duration", 1)) + } if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 { invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1)) } @@ -21916,6 +21971,12 @@ func (s *CreateAssociationBatchRequestEntry) SetDocumentVersion(v string) *Creat return s } +// SetDuration sets the Duration field's value. +func (s *CreateAssociationBatchRequestEntry) SetDuration(v int64) *CreateAssociationBatchRequestEntry { + s.Duration = &v + return s +} + // SetInstanceId sets the InstanceId field's value. func (s *CreateAssociationBatchRequestEntry) SetInstanceId(v string) *CreateAssociationBatchRequestEntry { s.InstanceId = &v @@ -22030,6 +22091,22 @@ type CreateAssociationInput struct { // form another account, you must set the document version to default. DocumentVersion *string `type:"string"` + // The number of hours the association can run before it is canceled. Duration + // applies to associations that are currently running, and any pending and in + // progress commands on all targets. If a target was taken offline for the association + // to run, it is made available again immediately, without a reboot. + // + // The Duration parameter applies only when both these conditions are true: + // + // * The association for which you specify a duration is cancelable according + // to the parameters of the SSM command document or Automation runbook associated + // with this execution. + // + // * The command specifies the ApplyOnlyAtCronInterval (https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_CreateAssociation.html#systemsmanager-CreateAssociation-request-ApplyOnlyAtCronInterval) + // parameter, which means that the association doesn't run immediately after + // it is created, but only according to the specified schedule. + Duration *int64 `min:"1" type:"integer"` + // The managed node ID. // // InstanceId has been deprecated. To specify a managed node ID for an association, @@ -22180,6 +22257,9 @@ func (s *CreateAssociationInput) Validate() error { if s.AutomationTargetParameterName != nil && len(*s.AutomationTargetParameterName) < 1 { invalidParams.Add(request.NewErrParamMinLen("AutomationTargetParameterName", 1)) } + if s.Duration != nil && *s.Duration < 1 { + invalidParams.Add(request.NewErrParamMinValue("Duration", 1)) + } if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 { invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1)) } @@ -22287,6 +22367,12 @@ func (s *CreateAssociationInput) SetDocumentVersion(v string) *CreateAssociation return s } +// SetDuration sets the Duration field's value. +func (s *CreateAssociationInput) SetDuration(v int64) *CreateAssociationInput { + s.Duration = &v + return s +} + // SetInstanceId sets the InstanceId field's value. func (s *CreateAssociationInput) SetInstanceId(v string) *CreateAssociationInput { s.InstanceId = &v @@ -26228,8 +26314,8 @@ type DescribeDocumentInput struct { Name *string `type:"string" required:"true"` // An optional field specifying the version of the artifact associated with - // the document. For example, "Release 12, Update 6". This value is unique across - // all versions of a document, and can't be changed. + // the document. For example, 12.6. This value is unique across all versions + // of a document, and can't be changed. VersionName *string `type:"string"` } @@ -30166,8 +30252,8 @@ type DocumentIdentifier struct { TargetType *string `type:"string"` // An optional field specifying the version of the artifact associated with - // the document. For example, "Release 12, Update 6". This value is unique across - // all versions of a document, and can't be changed. + // the document. For example, 12.6. This value is unique across all versions + // of a document, and can't be changed. VersionName *string `type:"string"` } @@ -30647,8 +30733,8 @@ type DocumentRequires struct { Version *string `type:"string"` // An optional field specifying the version of the artifact associated with - // the document. For example, "Release 12, Update 6". This value is unique across - // all versions of a document, and can't be changed. + // the document. For example, 12.6. This value is unique across all versions + // of a document, and can't be changed. VersionName *string `type:"string"` } @@ -30942,9 +31028,8 @@ type DocumentVersionInfo struct { // S3 bucket is correct." StatusInformation *string `type:"string"` - // The version of the artifact associated with the document. For example, "Release - // 12, Update 6". This value is unique across all versions of a document, and - // can't be changed. + // The version of the artifact associated with the document. For example, 12.6. + // This value is unique across all versions of a document, and can't be changed. VersionName *string `type:"string"` } @@ -32155,8 +32240,7 @@ func (s *GetConnectionStatusInput) SetTarget(v string) *GetConnectionStatusInput type GetConnectionStatusOutput struct { _ struct{} `type:"structure"` - // The status of the connection to the managed node. For example, 'Connected' - // or 'Not Connected'. + // The status of the connection to the managed node. Status *string `type:"string" enum:"ConnectionStatus"` // The ID of the managed node to check connection status. @@ -32418,8 +32502,8 @@ type GetDocumentInput struct { Name *string `type:"string" required:"true"` // An optional field specifying the version of the artifact associated with - // the document. For example, "Release 12, Update 6". This value is unique across - // all versions of a document and can't be changed. + // the document. For example, 12.6. This value is unique across all versions + // of a document and can't be changed. VersionName *string `type:"string"` } @@ -32532,9 +32616,8 @@ type GetDocumentOutput struct { // S3 bucket is correct." StatusInformation *string `type:"string"` - // The version of the artifact associated with the document. For example, "Release - // 12, Update 6". This value is unique across all versions of a document, and - // can't be changed. + // The version of the artifact associated with the document. For example, 12.6. + // This value is unique across all versions of a document, and can't be changed. VersionName *string `type:"string"` } @@ -47764,7 +47847,8 @@ type ParameterHistory struct { // Information about the parameter. Description *string `type:"string"` - // The ID of the query key used for this parameter. + // The alias of the Key Management Service (KMS) key used to encrypt the parameter. + // Applies to SecureString parameters only KeyId *string `min:"1" type:"string"` // Labels assigned to the parameter version. @@ -48118,7 +48202,8 @@ type ParameterMetadata struct { // Description of the parameter actions. Description *string `type:"string"` - // The ID of the query key used for this parameter. + // The alias of the Key Management Service (KMS) key used to encrypt the parameter. + // Applies to SecureString parameters only. KeyId *string `min:"1" type:"string"` // Date the parameter was last changed or updated. @@ -49040,6 +49125,9 @@ type PatchComplianceData struct { // The IDs of one or more Common Vulnerabilities and Exposure (CVE) issues that // are resolved by the patch. + // + // Currently, CVE ID values are reported only for patches with a status of Missing + // or Failed. CVEIds *string `type:"string"` // The classification of the patch, such as SecurityUpdates, Updates, and CriticalUpdates. @@ -57236,6 +57324,22 @@ type UpdateAssociationInput struct { // form another account, you must set the document version to default. DocumentVersion *string `type:"string"` + // The number of hours the association can run before it is canceled. Duration + // applies to associations that are currently running, and any pending and in + // progress commands on all targets. If a target was taken offline for the association + // to run, it is made available again immediately, without a reboot. + // + // The Duration parameter applies only when both these conditions are true: + // + // * The association for which you specify a duration is cancelable according + // to the parameters of the SSM command document or Automation runbook associated + // with this execution. + // + // * The command specifies the ApplyOnlyAtCronInterval (https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_UpdateAssociation.html#systemsmanager-UpdateAssociation-request-ApplyOnlyAtCronInterval) + // parameter, which means that the association doesn't run immediately after + // it is updated, but only according to the specified schedule. + Duration *int64 `min:"1" type:"integer"` + // The maximum number of targets allowed to run the association at the same // time. You can specify a number, for example 10, or a percentage of the target // set, for example 10%. The default value is 100%, which means all targets @@ -57364,6 +57468,9 @@ func (s *UpdateAssociationInput) Validate() error { if s.AutomationTargetParameterName != nil && len(*s.AutomationTargetParameterName) < 1 { invalidParams.Add(request.NewErrParamMinLen("AutomationTargetParameterName", 1)) } + if s.Duration != nil && *s.Duration < 1 { + invalidParams.Add(request.NewErrParamMinValue("Duration", 1)) + } if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 { invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1)) } @@ -57470,6 +57577,12 @@ func (s *UpdateAssociationInput) SetDocumentVersion(v string) *UpdateAssociation return s } +// SetDuration sets the Duration field's value. +func (s *UpdateAssociationInput) SetDuration(v int64) *UpdateAssociationInput { + s.Duration = &v + return s +} + // SetMaxConcurrency sets the MaxConcurrency field's value. func (s *UpdateAssociationInput) SetMaxConcurrency(v string) *UpdateAssociationInput { s.MaxConcurrency = &v @@ -57808,8 +57921,8 @@ type UpdateDocumentInput struct { TargetType *string `type:"string"` // An optional field specifying the version of the artifact you are updating - // with the document. For example, "Release 12, Update 6". This value is unique - // across all versions of a document, and can't be changed. + // with the document. For example, 12.6. This value is unique across all versions + // of a document, and can't be changed. VersionName *string `type:"string"` }