1// Code generated by smithy-go-codegen DO NOT EDIT. 2 3package types 4 5import ( 6 "time" 7) 8 9// Structure that contains the results of the account gate function which AWS 10// CloudFormation invokes, if present, before proceeding with a stack set operation 11// in an account and Region. For each account and Region, AWS CloudFormation lets 12// you specify a Lamdba function that encapsulates any requirements that must be 13// met before CloudFormation can proceed with a stack set operation in that account 14// and Region. CloudFormation invokes the function each time a stack set operation 15// is requested for that account and Region; if the function returns FAILED, 16// CloudFormation cancels the operation in that account and Region, and sets the 17// stack set operation result status for that account and Region to FAILED. For 18// more information, see Configuring a target account gate 19// (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-account-gating.html). 20type AccountGateResult struct { 21 22 // The status of the account gate function. 23 // 24 // * SUCCEEDED: The account gate function 25 // has determined that the account and Region passes any requirements for a stack 26 // set operation to occur. AWS CloudFormation proceeds with the stack operation in 27 // that account and Region. 28 // 29 // * FAILED: The account gate function has determined 30 // that the account and Region does not meet the requirements for a stack set 31 // operation to occur. AWS CloudFormation cancels the stack set operation in that 32 // account and Region, and sets the stack set operation result status for that 33 // account and Region to FAILED. 34 // 35 // * SKIPPED: AWS CloudFormation has skipped calling 36 // the account gate function for this account and Region, for one of the following 37 // reasons: 38 // 39 // * An account gate function has not been specified for the account and 40 // Region. AWS CloudFormation proceeds with the stack set operation in this account 41 // and Region. 42 // 43 // * The AWSCloudFormationStackSetExecutionRole of the stack set 44 // adminstration account lacks permissions to invoke the function. AWS 45 // CloudFormation proceeds with the stack set operation in this account and 46 // Region. 47 // 48 // * Either no action is necessary, or no action is possible, on the 49 // stack. AWS CloudFormation skips the stack set operation in this account and 50 // Region. 51 Status AccountGateStatus 52 53 // The reason for the account gate status assigned to this account and Region for 54 // the stack set operation. 55 StatusReason *string 56} 57 58// The AccountLimit data type. CloudFormation has the following limits per 59// account: 60// 61// * Number of concurrent resources 62// 63// * Number of stacks 64// 65// * Number of 66// stack outputs 67// 68// For more information about these account limits, and other 69// CloudFormation limits, see AWS CloudFormation Limits 70// (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) 71// in the AWS CloudFormation User Guide. 72type AccountLimit struct { 73 74 // The name of the account limit. Values: ConcurrentResourcesLimit | StackLimit | 75 // StackOutputsLimit 76 Name *string 77 78 // The value that is associated with the account limit name. 79 Value *int32 80} 81 82// [Service-managed permissions] Describes whether StackSets automatically deploys 83// to AWS Organizations accounts that are added to a target organization or 84// organizational unit (OU). 85type AutoDeployment struct { 86 87 // If set to true, StackSets automatically deploys additional stack instances to 88 // AWS Organizations accounts that are added to a target organization or 89 // organizational unit (OU) in the specified Regions. If an account is removed from 90 // a target organization or OU, StackSets deletes stack instances from the account 91 // in the specified Regions. 92 Enabled *bool 93 94 // If set to true, stack resources are retained when an account is removed from a 95 // target organization or OU. If set to false, stack resources are deleted. Specify 96 // only if Enabled is set to True. 97 RetainStacksOnAccountRemoval *bool 98} 99 100// The Change structure describes the changes AWS CloudFormation will perform if 101// you execute the change set. 102type Change struct { 103 104 // A ResourceChange structure that describes the resource and action that AWS 105 // CloudFormation will perform. 106 ResourceChange *ResourceChange 107 108 // The type of entity that AWS CloudFormation changes. Currently, the only entity 109 // type is Resource. 110 Type ChangeType 111} 112 113// The ChangeSetSummary structure describes a change set, its status, and the stack 114// with which it's associated. 115type ChangeSetSummary struct { 116 117 // The ID of the change set. 118 ChangeSetId *string 119 120 // The name of the change set. 121 ChangeSetName *string 122 123 // The start time when the change set was created, in UTC. 124 CreationTime *time.Time 125 126 // Descriptive information about the change set. 127 Description *string 128 129 // If the change set execution status is AVAILABLE, you can execute the change set. 130 // If you can’t execute the change set, the status indicates why. For example, a 131 // change set might be in an UNAVAILABLE state because AWS CloudFormation is still 132 // creating it or in an OBSOLETE state because the stack was already updated. 133 ExecutionStatus ExecutionStatus 134 135 // Specifies the current setting of IncludeNestedStacks for the change set. 136 IncludeNestedStacks *bool 137 138 // The parent change set ID. 139 ParentChangeSetId *string 140 141 // The root change set ID. 142 RootChangeSetId *string 143 144 // The ID of the stack with which the change set is associated. 145 StackId *string 146 147 // The name of the stack with which the change set is associated. 148 StackName *string 149 150 // The state of the change set, such as CREATE_IN_PROGRESS, CREATE_COMPLETE, or 151 // FAILED. 152 Status ChangeSetStatus 153 154 // A description of the change set's status. For example, if your change set is in 155 // the FAILED state, AWS CloudFormation shows the error message. 156 StatusReason *string 157} 158 159// [Service-managed permissions] The AWS Organizations accounts to which StackSets 160// deploys. StackSets does not deploy stack instances to the organization 161// management account, even if the organization management account is in your 162// organization or in an OU in your organization. For update operations, you can 163// specify either Accounts or OrganizationalUnitIds. For create and delete 164// operations, specify OrganizationalUnitIds. 165type DeploymentTargets struct { 166 167 // The names of one or more AWS accounts for which you want to deploy stack set 168 // updates. 169 Accounts []string 170 171 AccountsUrl *string 172 173 // The organization root ID or organizational unit (OU) IDs to which StackSets 174 // deploys. 175 OrganizationalUnitIds []string 176} 177 178// The Export structure describes the exported output values for a stack. 179type Export struct { 180 181 // The stack that contains the exported output name and value. 182 ExportingStackId *string 183 184 // The name of exported output value. Use this name and the Fn::ImportValue 185 // function to import the associated value into other stacks. The name is defined 186 // in the Export field in the associated stack's Outputs section. 187 Name *string 188 189 // The value of the exported output, such as a resource physical ID. This value is 190 // defined in the Export field in the associated stack's Outputs section. 191 Value *string 192} 193 194// Contains logging configuration information for a type. 195type LoggingConfig struct { 196 197 // The Amazon CloudWatch log group to which CloudFormation sends error logging 198 // information when invoking the type's handlers. 199 // 200 // This member is required. 201 LogGroupName *string 202 203 // The ARN of the role that CloudFormation should assume when sending log entries 204 // to CloudWatch logs. 205 // 206 // This member is required. 207 LogRoleArn *string 208} 209 210// Contains information about the module from which the resource was created, if 211// the resource was created from a module included in the stack template. For more 212// information on modules, see Using modules to encapsulate and reuse resource 213// configurations in the CloudFormation User Guide. 214type ModuleInfo struct { 215 216 // A concantenated list of the logical IDs of the module or modules containing the 217 // resource. Modules are listed starting with the inner-most nested module, and 218 // separated by /. In the following example, the resource was created from a 219 // module, moduleA, that is nested inside a parent module, moduleB. moduleA/moduleB 220 // For more information, see Referencing resources in a module in the 221 // CloudFormation User Guide. 222 LogicalIdHierarchy *string 223 224 // A concantenated list of the the module type or types containing the resource. 225 // Module types are listed starting with the inner-most nested module, and 226 // separated by /. In the following example, the resource was created from a module 227 // of type AWS::First::Example::MODULE, that is nested inside a parent module of 228 // type AWS::Second::Example::MODULE. 229 // AWS::First::Example::MODULE/AWS::Second::Example::MODULE 230 TypeHierarchy *string 231} 232 233// The Output data type. 234type Output struct { 235 236 // User defined description associated with the output. 237 Description *string 238 239 // The name of the export associated with the output. 240 ExportName *string 241 242 // The key associated with the output. 243 OutputKey *string 244 245 // The value associated with the output. 246 OutputValue *string 247} 248 249// The Parameter data type. 250type Parameter struct { 251 252 // The key associated with the parameter. If you don't specify a key and value for 253 // a particular parameter, AWS CloudFormation uses the default value that is 254 // specified in your template. 255 ParameterKey *string 256 257 // The input value associated with the parameter. 258 ParameterValue *string 259 260 // Read-only. The value that corresponds to a Systems Manager parameter key. This 261 // field is returned only for SSM parameter types 262 // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html#aws-ssm-parameter-types) 263 // in the template. 264 ResolvedValue *string 265 266 // During a stack update, use the existing parameter value that the stack is using 267 // for a given parameter key. If you specify true, do not specify a parameter 268 // value. 269 UsePreviousValue *bool 270} 271 272// A set of criteria that AWS CloudFormation uses to validate parameter values. 273// Although other constraints might be defined in the stack template, AWS 274// CloudFormation returns only the AllowedValues property. 275type ParameterConstraints struct { 276 277 // A list of values that are permitted for a parameter. 278 AllowedValues []string 279} 280 281// The ParameterDeclaration data type. 282type ParameterDeclaration struct { 283 284 // The default value of the parameter. 285 DefaultValue *string 286 287 // The description that is associate with the parameter. 288 Description *string 289 290 // Flag that indicates whether the parameter value is shown as plain text in logs 291 // and in the AWS Management Console. 292 NoEcho *bool 293 294 // The criteria that AWS CloudFormation uses to validate parameter values. 295 ParameterConstraints *ParameterConstraints 296 297 // The name that is associated with the parameter. 298 ParameterKey *string 299 300 // The type of parameter. 301 ParameterType *string 302} 303 304// Context information that enables AWS CloudFormation to uniquely identify a 305// resource. AWS CloudFormation uses context key-value pairs in cases where a 306// resource's logical and physical IDs are not enough to uniquely identify that 307// resource. Each context key-value pair specifies a resource that contains the 308// targeted resource. 309type PhysicalResourceIdContextKeyValuePair struct { 310 311 // The resource context key. 312 // 313 // This member is required. 314 Key *string 315 316 // The resource context value. 317 // 318 // This member is required. 319 Value *string 320} 321 322// Information about a resource property whose actual value differs from its 323// expected value, as defined in the stack template and any values specified as 324// template parameters. These will be present only for resources whose 325// StackResourceDriftStatus is MODIFIED. For more information, see Detecting 326// Unregulated Configuration Changes to Stacks and Resources 327// (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html). 328type PropertyDifference struct { 329 330 // The actual property value of the resource property. 331 // 332 // This member is required. 333 ActualValue *string 334 335 // The type of property difference. 336 // 337 // * ADD: A value has been added to a resource 338 // property that is an array or list data type. 339 // 340 // * REMOVE: The property has been 341 // removed from the current resource configuration. 342 // 343 // * NOT_EQUAL: The current 344 // property value differs from its expected value (as defined in the stack template 345 // and any values specified as template parameters). 346 // 347 // This member is required. 348 DifferenceType DifferenceType 349 350 // The expected property value of the resource property, as defined in the stack 351 // template and any values specified as template parameters. 352 // 353 // This member is required. 354 ExpectedValue *string 355 356 // The fully-qualified path to the resource property. 357 // 358 // This member is required. 359 PropertyPath *string 360} 361 362// The ResourceChange structure describes the resource and the action that AWS 363// CloudFormation will perform on it if you execute this change set. 364type ResourceChange struct { 365 366 // The action that AWS CloudFormation takes on the resource, such as Add (adds a 367 // new resource), Modify (changes a resource), Remove (deletes a resource), Import 368 // (imports a resource), or Dynamic (exact action for the resource cannot be 369 // determined). 370 Action ChangeAction 371 372 // The change set ID of the nested change set. 373 ChangeSetId *string 374 375 // For the Modify action, a list of ResourceChangeDetail structures that describes 376 // the changes that AWS CloudFormation will make to the resource. 377 Details []ResourceChangeDetail 378 379 // The resource's logical ID, which is defined in the stack's template. 380 LogicalResourceId *string 381 382 // Contains information about the module from which the resource was created, if 383 // the resource was created from a module included in the stack template. 384 ModuleInfo *ModuleInfo 385 386 // The resource's physical ID (resource name). Resources that you are adding don't 387 // have physical IDs because they haven't been created. 388 PhysicalResourceId *string 389 390 // For the Modify action, indicates whether AWS CloudFormation will replace the 391 // resource by creating a new one and deleting the old one. This value depends on 392 // the value of the RequiresRecreation property in the ResourceTargetDefinition 393 // structure. For example, if the RequiresRecreation field is Always and the 394 // Evaluation field is Static, Replacement is True. If the RequiresRecreation field 395 // is Always and the Evaluation field is Dynamic, Replacement is Conditionally. If 396 // you have multiple changes with different RequiresRecreation values, the 397 // Replacement value depends on the change with the most impact. A 398 // RequiresRecreation value of Always has the most impact, followed by 399 // Conditionally, and then Never. 400 Replacement Replacement 401 402 // The type of AWS CloudFormation resource, such as AWS::S3::Bucket. 403 ResourceType *string 404 405 // For the Modify action, indicates which resource attribute is triggering this 406 // update, such as a change in the resource attribute's Metadata, Properties, or 407 // Tags. 408 Scope []ResourceAttribute 409} 410 411// For a resource with Modify as the action, the ResourceChange structure describes 412// the changes AWS CloudFormation will make to that resource. 413type ResourceChangeDetail struct { 414 415 // The identity of the entity that triggered this change. This entity is a member 416 // of the group that is specified by the ChangeSource field. For example, if you 417 // modified the value of the KeyPairName parameter, the CausingEntity is the name 418 // of the parameter (KeyPairName). If the ChangeSource value is DirectModification, 419 // no value is given for CausingEntity. 420 CausingEntity *string 421 422 // The group to which the CausingEntity value belongs. There are five entity 423 // groups: 424 // 425 // * ResourceReference entities are Ref intrinsic functions that refer to 426 // resources in the template, such as { "Ref" : "MyEC2InstanceResource" }. 427 // 428 // * 429 // ParameterReference entities are Ref intrinsic functions that get template 430 // parameter values, such as { "Ref" : "MyPasswordParameter" }. 431 // 432 // * 433 // ResourceAttribute entities are Fn::GetAtt intrinsic functions that get resource 434 // attribute values, such as { "Fn::GetAtt" : [ "MyEC2InstanceResource", 435 // "PublicDnsName" ] }. 436 // 437 // * DirectModification entities are changes that are made 438 // directly to the template. 439 // 440 // * Automatic entities are AWS::CloudFormation::Stack 441 // resource types, which are also known as nested stacks. If you made no changes to 442 // the AWS::CloudFormation::Stack resource, AWS CloudFormation sets the 443 // ChangeSource to Automatic because the nested stack's template might have 444 // changed. Changes to a nested stack's template aren't visible to AWS 445 // CloudFormation until you run an update on the parent stack. 446 ChangeSource ChangeSource 447 448 // Indicates whether AWS CloudFormation can determine the target value, and whether 449 // the target value will change before you execute a change set. For Static 450 // evaluations, AWS CloudFormation can determine that the target value will change, 451 // and its value. For example, if you directly modify the InstanceType property of 452 // an EC2 instance, AWS CloudFormation knows that this property value will change, 453 // and its value, so this is a Static evaluation. For Dynamic evaluations, cannot 454 // determine the target value because it depends on the result of an intrinsic 455 // function, such as a Ref or Fn::GetAtt intrinsic function, when the stack is 456 // updated. For example, if your template includes a reference to a resource that 457 // is conditionally recreated, the value of the reference (the physical ID of the 458 // resource) might change, depending on if the resource is recreated. If the 459 // resource is recreated, it will have a new physical ID, so all references to that 460 // resource will also be updated. 461 Evaluation EvaluationType 462 463 // A ResourceTargetDefinition structure that describes the field that AWS 464 // CloudFormation will change and whether the resource will be recreated. 465 Target *ResourceTargetDefinition 466} 467 468// Describes the target resources of a specific type in your import template (for 469// example, all AWS::S3::Bucket resources) and the properties you can provide 470// during the import to identify resources of that type. 471type ResourceIdentifierSummary struct { 472 473 // The logical IDs of the target resources of the specified ResourceType, as 474 // defined in the import template. 475 LogicalResourceIds []string 476 477 // The resource properties you can provide during the import to identify your 478 // target resources. For example, BucketName is a possible identifier property for 479 // AWS::S3::Bucket resources. 480 ResourceIdentifiers []string 481 482 // The template resource type of the target resources, such as AWS::S3::Bucket. 483 ResourceType *string 484} 485 486// The field that AWS CloudFormation will change, such as the name of a resource's 487// property, and whether the resource will be recreated. 488type ResourceTargetDefinition struct { 489 490 // Indicates which resource attribute is triggering this update, such as a change 491 // in the resource attribute's Metadata, Properties, or Tags. 492 Attribute ResourceAttribute 493 494 // If the Attribute value is Properties, the name of the property. For all other 495 // attributes, the value is null. 496 Name *string 497 498 // If the Attribute value is Properties, indicates whether a change to this 499 // property causes the resource to be recreated. The value can be Never, Always, or 500 // Conditionally. To determine the conditions for a Conditionally recreation, see 501 // the update behavior for that property 502 // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) 503 // in the AWS CloudFormation User Guide. 504 RequiresRecreation RequiresRecreation 505} 506 507// Describes the target resource of an import operation. 508type ResourceToImport struct { 509 510 // The logical ID of the target resource as specified in the template. 511 // 512 // This member is required. 513 LogicalResourceId *string 514 515 // A key-value pair that identifies the target resource. The key is an identifier 516 // property (for example, BucketName for AWS::S3::Bucket resources) and the value 517 // is the actual property value (for example, MyS3Bucket). 518 // 519 // This member is required. 520 ResourceIdentifier map[string]string 521 522 // The type of resource to import into your stack, such as AWS::S3::Bucket. For a 523 // list of supported resource types, see Resources that support import operations 524 // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resource-import-supported-resources.html) 525 // in the AWS CloudFormation User Guide. 526 // 527 // This member is required. 528 ResourceType *string 529} 530 531// Structure containing the rollback triggers for AWS CloudFormation to monitor 532// during stack creation and updating operations, and for the specified monitoring 533// period afterwards. Rollback triggers enable you to have AWS CloudFormation 534// monitor the state of your application during stack creation and updating, and to 535// roll back that operation if the application breaches the threshold of any of the 536// alarms you've specified. For more information, see Monitor and Roll Back Stack 537// Operations 538// (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-rollback-triggers.html). 539type RollbackConfiguration struct { 540 541 // The amount of time, in minutes, during which CloudFormation should monitor all 542 // the rollback triggers after the stack creation or update operation deploys all 543 // necessary resources. The default is 0 minutes. If you specify a monitoring 544 // period but do not specify any rollback triggers, CloudFormation still waits the 545 // specified period of time before cleaning up old resources after update 546 // operations. You can use this monitoring period to perform any manual stack 547 // validation desired, and manually cancel the stack creation or update (using 548 // CancelUpdateStack 549 // (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CancelUpdateStack.html), 550 // for example) as necessary. If you specify 0 for this parameter, CloudFormation 551 // still monitors the specified rollback triggers during stack creation and update 552 // operations. Then, for update operations, it begins disposing of old resources 553 // immediately once the operation completes. 554 MonitoringTimeInMinutes *int32 555 556 // The triggers to monitor during stack creation or update actions. By default, AWS 557 // CloudFormation saves the rollback triggers specified for a stack and applies 558 // them to any subsequent update operations for the stack, unless you specify 559 // otherwise. If you do specify rollback triggers for this parameter, those 560 // triggers replace any list of triggers previously specified for the stack. This 561 // means: 562 // 563 // * To use the rollback triggers previously specified for this stack, if 564 // any, don't specify this parameter. 565 // 566 // * To specify new or updated rollback 567 // triggers, you must specify all the triggers that you want used for this stack, 568 // even triggers you've specifed before (for example, when creating the stack or 569 // during a previous stack update). Any triggers that you don't include in the 570 // updated list of triggers are no longer applied to the stack. 571 // 572 // * To remove all 573 // currently specified triggers, specify an empty list for this parameter. 574 // 575 // If a 576 // specified trigger is missing, the entire stack operation fails and is rolled 577 // back. 578 RollbackTriggers []RollbackTrigger 579} 580 581// A rollback trigger AWS CloudFormation monitors during creation and updating of 582// stacks. If any of the alarms you specify goes to ALARM state during the stack 583// operation or within the specified monitoring period afterwards, CloudFormation 584// rolls back the entire stack operation. 585type RollbackTrigger struct { 586 587 // The Amazon Resource Name (ARN) of the rollback trigger. If a specified trigger 588 // is missing, the entire stack operation fails and is rolled back. 589 // 590 // This member is required. 591 Arn *string 592 593 // The resource type of the rollback trigger. Currently, AWS::CloudWatch::Alarm 594 // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html) 595 // is the only supported resource type. 596 // 597 // This member is required. 598 Type *string 599} 600 601// The Stack data type. 602type Stack struct { 603 604 // The time at which the stack was created. 605 // 606 // This member is required. 607 CreationTime *time.Time 608 609 // The name associated with the stack. 610 // 611 // This member is required. 612 StackName *string 613 614 // Current status of the stack. 615 // 616 // This member is required. 617 StackStatus StackStatus 618 619 // The capabilities allowed in the stack. 620 Capabilities []Capability 621 622 // The unique ID of the change set. 623 ChangeSetId *string 624 625 // The time the stack was deleted. 626 DeletionTime *time.Time 627 628 // A user-defined description associated with the stack. 629 Description *string 630 631 // Boolean to enable or disable rollback on stack creation failures: 632 // 633 // * true: 634 // disable rollback 635 // 636 // * false: enable rollback 637 DisableRollback *bool 638 639 // Information on whether a stack's actual configuration differs, or has drifted, 640 // from it's expected configuration, as defined in the stack template and any 641 // values specified as template parameters. For more information, see Detecting 642 // Unregulated Configuration Changes to Stacks and Resources 643 // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html). 644 DriftInformation *StackDriftInformation 645 646 // Whether termination protection is enabled for the stack. For nested stacks 647 // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html), 648 // termination protection is set on the root stack and cannot be changed directly 649 // on the nested stack. For more information, see Protecting a Stack From Being 650 // Deleted 651 // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-protect-stacks.html) 652 // in the AWS CloudFormation User Guide. 653 EnableTerminationProtection *bool 654 655 // The time the stack was last updated. This field will only be returned if the 656 // stack has been updated at least once. 657 LastUpdatedTime *time.Time 658 659 // SNS topic ARNs to which stack related events are published. 660 NotificationARNs []string 661 662 // A list of output structures. 663 Outputs []Output 664 665 // A list of Parameter structures. 666 Parameters []Parameter 667 668 // For nested stacks--stacks created as resources for another stack--the stack ID 669 // of the direct parent of this stack. For the first level of nested stacks, the 670 // root stack is also the parent stack. For more information, see Working with 671 // Nested Stacks 672 // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) 673 // in the AWS CloudFormation User Guide. 674 ParentId *string 675 676 // The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) 677 // role that is associated with the stack. During a stack operation, AWS 678 // CloudFormation uses this role's credentials to make calls on your behalf. 679 RoleARN *string 680 681 // The rollback triggers for AWS CloudFormation to monitor during stack creation 682 // and updating operations, and for the specified monitoring period afterwards. 683 RollbackConfiguration *RollbackConfiguration 684 685 // For nested stacks--stacks created as resources for another stack--the stack ID 686 // of the top-level stack to which the nested stack ultimately belongs. For more 687 // information, see Working with Nested Stacks 688 // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) 689 // in the AWS CloudFormation User Guide. 690 RootId *string 691 692 // Unique identifier of the stack. 693 StackId *string 694 695 // Success/failure message associated with the stack status. 696 StackStatusReason *string 697 698 // A list of Tags that specify information about the stack. 699 Tags []Tag 700 701 // The amount of time within which stack creation should complete. 702 TimeoutInMinutes *int32 703} 704 705// Contains information about whether the stack's actual configuration differs, or 706// has drifted, from its expected configuration, as defined in the stack template 707// and any values specified as template parameters. A stack is considered to have 708// drifted if one or more of its resources have drifted. 709type StackDriftInformation struct { 710 711 // Status of the stack's actual configuration compared to its expected template 712 // configuration. 713 // 714 // * DRIFTED: The stack differs from its expected template 715 // configuration. A stack is considered to have drifted if one or more of its 716 // resources have drifted. 717 // 718 // * NOT_CHECKED: AWS CloudFormation has not checked if 719 // the stack differs from its expected template configuration. 720 // 721 // * IN_SYNC: The 722 // stack's actual configuration matches its expected template configuration. 723 // 724 // * 725 // UNKNOWN: This value is reserved for future use. 726 // 727 // This member is required. 728 StackDriftStatus StackDriftStatus 729 730 // Most recent time when a drift detection operation was initiated on the stack, or 731 // any of its individual resources that support drift detection. 732 LastCheckTimestamp *time.Time 733} 734 735// Contains information about whether the stack's actual configuration differs, or 736// has drifted, from its expected configuration, as defined in the stack template 737// and any values specified as template parameters. A stack is considered to have 738// drifted if one or more of its resources have drifted. 739type StackDriftInformationSummary struct { 740 741 // Status of the stack's actual configuration compared to its expected template 742 // configuration. 743 // 744 // * DRIFTED: The stack differs from its expected template 745 // configuration. A stack is considered to have drifted if one or more of its 746 // resources have drifted. 747 // 748 // * NOT_CHECKED: AWS CloudFormation has not checked if 749 // the stack differs from its expected template configuration. 750 // 751 // * IN_SYNC: The 752 // stack's actual configuration matches its expected template configuration. 753 // 754 // * 755 // UNKNOWN: This value is reserved for future use. 756 // 757 // This member is required. 758 StackDriftStatus StackDriftStatus 759 760 // Most recent time when a drift detection operation was initiated on the stack, or 761 // any of its individual resources that support drift detection. 762 LastCheckTimestamp *time.Time 763} 764 765// The StackEvent data type. 766type StackEvent struct { 767 768 // The unique ID of this event. 769 // 770 // This member is required. 771 EventId *string 772 773 // The unique ID name of the instance of the stack. 774 // 775 // This member is required. 776 StackId *string 777 778 // The name associated with a stack. 779 // 780 // This member is required. 781 StackName *string 782 783 // Time the status was updated. 784 // 785 // This member is required. 786 Timestamp *time.Time 787 788 // The token passed to the operation that generated this event. All events 789 // triggered by a given stack operation are assigned the same client request token, 790 // which you can use to track operations. For example, if you execute a CreateStack 791 // operation with the token token1, then all the StackEvents generated by that 792 // operation will have ClientRequestToken set as token1. In the console, stack 793 // operations display the client request token on the Events tab. Stack operations 794 // that are initiated from the console use the token format 795 // Console-StackOperation-ID, which helps you easily identify the stack operation . 796 // For example, if you create a stack using the console, each stack event would be 797 // assigned the same token in the following format: 798 // Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002. 799 ClientRequestToken *string 800 801 // The logical name of the resource specified in the template. 802 LogicalResourceId *string 803 804 // The name or unique identifier associated with the physical instance of the 805 // resource. 806 PhysicalResourceId *string 807 808 // BLOB of the properties used to create the resource. 809 ResourceProperties *string 810 811 // Current status of the resource. 812 ResourceStatus ResourceStatus 813 814 // Success/failure message associated with the resource. 815 ResourceStatusReason *string 816 817 // Type of resource. (For more information, go to AWS Resource Types Reference 818 // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) 819 // in the AWS CloudFormation User Guide.) 820 ResourceType *string 821} 822 823// An AWS CloudFormation stack, in a specific account and Region, that's part of a 824// stack set operation. A stack instance is a reference to an attempted or actual 825// stack in a given account within a given Region. A stack instance can exist 826// without a stack—for example, if the stack couldn't be created for some reason. A 827// stack instance is associated with only one stack set. Each stack instance 828// contains the ID of its associated stack set, as well as the ID of the actual 829// stack and the stack status. 830type StackInstance struct { 831 832 // [Self-managed permissions] The name of the AWS account that the stack instance 833 // is associated with. 834 Account *string 835 836 // Status of the stack instance's actual configuration compared to the expected 837 // template and parameter configuration of the stack set to which it belongs. 838 // 839 // * 840 // DRIFTED: The stack differs from the expected template and parameter 841 // configuration of the stack set to which it belongs. A stack instance is 842 // considered to have drifted if one or more of the resources in the associated 843 // stack have drifted. 844 // 845 // * NOT_CHECKED: AWS CloudFormation has not checked if the 846 // stack instance differs from its expected stack set configuration. 847 // 848 // * IN_SYNC: 849 // The stack instance's actual configuration matches its expected stack set 850 // configuration. 851 // 852 // * UNKNOWN: This value is reserved for future use. 853 DriftStatus StackDriftStatus 854 855 // Most recent time when CloudFormation performed a drift detection operation on 856 // the stack instance. This value will be NULL for any stack instance on which 857 // drift detection has not yet been performed. 858 LastDriftCheckTimestamp *time.Time 859 860 // [Service-managed permissions] The organization root ID or organizational unit 861 // (OU) IDs that you specified for DeploymentTargets 862 // (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeploymentTargets.html). 863 OrganizationalUnitId *string 864 865 // A list of parameters from the stack set template whose values have been 866 // overridden in this stack instance. 867 ParameterOverrides []Parameter 868 869 // The name of the AWS Region that the stack instance is associated with. 870 Region *string 871 872 // The ID of the stack instance. 873 StackId *string 874 875 // The detailed status of the stack instance. 876 StackInstanceStatus *StackInstanceComprehensiveStatus 877 878 // The name or unique ID of the stack set that the stack instance is associated 879 // with. 880 StackSetId *string 881 882 // The status of the stack instance, in terms of its synchronization with its 883 // associated stack set. 884 // 885 // * INOPERABLE: A DeleteStackInstances operation has failed 886 // and left the stack in an unstable state. Stacks in this state are excluded from 887 // further UpdateStackSet operations. You might need to perform a 888 // DeleteStackInstances operation, with RetainStacks set to true, to delete the 889 // stack instance, and then delete the stack manually. 890 // 891 // * OUTDATED: The stack isn't 892 // currently up to date with the stack set because: 893 // 894 // * The associated stack failed 895 // during a CreateStackSet or UpdateStackSet operation. 896 // 897 // * The stack was part of a 898 // CreateStackSet or UpdateStackSet operation that failed or was stopped before the 899 // stack was created or updated. 900 // 901 // * CURRENT: The stack is currently up to date with 902 // the stack set. 903 Status StackInstanceStatus 904 905 // The explanation for the specific status code that is assigned to this stack 906 // instance. 907 StatusReason *string 908} 909 910// The detailed status of the stack instance. 911type StackInstanceComprehensiveStatus struct { 912 913 // * CANCELLED: The operation in the specified account and Region has been 914 // cancelled. This is either because a user has stopped the stack set operation, or 915 // because the failure tolerance of the stack set operation has been exceeded. 916 // 917 // * 918 // FAILED: The operation in the specified account and Region failed. If the stack 919 // set operation fails in enough accounts within a Region, the failure tolerance 920 // for the stack set operation as a whole might be exceeded. 921 // 922 // * INOPERABLE: A 923 // DeleteStackInstances operation has failed and left the stack in an unstable 924 // state. Stacks in this state are excluded from further UpdateStackSet operations. 925 // You might need to perform a DeleteStackInstances operation, with RetainStacks 926 // set to true, to delete the stack instance, and then delete the stack 927 // manually. 928 // 929 // * PENDING: The operation in the specified account and Region has yet 930 // to start. 931 // 932 // * RUNNING: The operation in the specified account and Region is 933 // currently in progress. 934 // 935 // * SUCCEEDED: The operation in the specified account and 936 // Region completed successfully. 937 DetailedStatus StackInstanceDetailedStatus 938} 939 940// The status that stack instances are filtered by. 941type StackInstanceFilter struct { 942 943 // The type of filter to apply. 944 Name StackInstanceFilterName 945 946 // The status to filter by. 947 Values *string 948} 949 950// The structure that contains summary information about a stack instance. 951type StackInstanceSummary struct { 952 953 // [Self-managed permissions] The name of the AWS account that the stack instance 954 // is associated with. 955 Account *string 956 957 // Status of the stack instance's actual configuration compared to the expected 958 // template and parameter configuration of the stack set to which it belongs. 959 // 960 // * 961 // DRIFTED: The stack differs from the expected template and parameter 962 // configuration of the stack set to which it belongs. A stack instance is 963 // considered to have drifted if one or more of the resources in the associated 964 // stack have drifted. 965 // 966 // * NOT_CHECKED: AWS CloudFormation has not checked if the 967 // stack instance differs from its expected stack set configuration. 968 // 969 // * IN_SYNC: 970 // The stack instance's actual configuration matches its expected stack set 971 // configuration. 972 // 973 // * UNKNOWN: This value is reserved for future use. 974 DriftStatus StackDriftStatus 975 976 // Most recent time when CloudFormation performed a drift detection operation on 977 // the stack instance. This value will be NULL for any stack instance on which 978 // drift detection has not yet been performed. 979 LastDriftCheckTimestamp *time.Time 980 981 // [Service-managed permissions] The organization root ID or organizational unit 982 // (OU) IDs that you specified for DeploymentTargets 983 // (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeploymentTargets.html). 984 OrganizationalUnitId *string 985 986 // The name of the AWS Region that the stack instance is associated with. 987 Region *string 988 989 // The ID of the stack instance. 990 StackId *string 991 992 // The detailed status of the stack instance. 993 StackInstanceStatus *StackInstanceComprehensiveStatus 994 995 // The name or unique ID of the stack set that the stack instance is associated 996 // with. 997 StackSetId *string 998 999 // The status of the stack instance, in terms of its synchronization with its 1000 // associated stack set. 1001 // 1002 // * INOPERABLE: A DeleteStackInstances operation has failed 1003 // and left the stack in an unstable state. Stacks in this state are excluded from 1004 // further UpdateStackSet operations. You might need to perform a 1005 // DeleteStackInstances operation, with RetainStacks set to true, to delete the 1006 // stack instance, and then delete the stack manually. 1007 // 1008 // * OUTDATED: The stack isn't 1009 // currently up to date with the stack set because: 1010 // 1011 // * The associated stack failed 1012 // during a CreateStackSet or UpdateStackSet operation. 1013 // 1014 // * The stack was part of a 1015 // CreateStackSet or UpdateStackSet operation that failed or was stopped before the 1016 // stack was created or updated. 1017 // 1018 // * CURRENT: The stack is currently up to date with 1019 // the stack set. 1020 Status StackInstanceStatus 1021 1022 // The explanation for the specific status code assigned to this stack instance. 1023 StatusReason *string 1024} 1025 1026// The StackResource data type. 1027type StackResource struct { 1028 1029 // The logical name of the resource specified in the template. 1030 // 1031 // This member is required. 1032 LogicalResourceId *string 1033 1034 // Current status of the resource. 1035 // 1036 // This member is required. 1037 ResourceStatus ResourceStatus 1038 1039 // Type of resource. (For more information, go to AWS Resource Types Reference 1040 // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) 1041 // in the AWS CloudFormation User Guide.) 1042 // 1043 // This member is required. 1044 ResourceType *string 1045 1046 // Time the status was updated. 1047 // 1048 // This member is required. 1049 Timestamp *time.Time 1050 1051 // User defined description associated with the resource. 1052 Description *string 1053 1054 // Information about whether the resource's actual configuration differs, or has 1055 // drifted, from its expected configuration, as defined in the stack template and 1056 // any values specified as template parameters. For more information, see Detecting 1057 // Unregulated Configuration Changes to Stacks and Resources 1058 // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html). 1059 DriftInformation *StackResourceDriftInformation 1060 1061 // Contains information about the module from which the resource was created, if 1062 // the resource was created from a module included in the stack template. 1063 ModuleInfo *ModuleInfo 1064 1065 // The name or unique identifier that corresponds to a physical instance ID of a 1066 // resource supported by AWS CloudFormation. 1067 PhysicalResourceId *string 1068 1069 // Success/failure message associated with the resource. 1070 ResourceStatusReason *string 1071 1072 // Unique identifier of the stack. 1073 StackId *string 1074 1075 // The name associated with the stack. 1076 StackName *string 1077} 1078 1079// Contains detailed information about the specified stack resource. 1080type StackResourceDetail struct { 1081 1082 // Time the status was updated. 1083 // 1084 // This member is required. 1085 LastUpdatedTimestamp *time.Time 1086 1087 // The logical name of the resource specified in the template. 1088 // 1089 // This member is required. 1090 LogicalResourceId *string 1091 1092 // Current status of the resource. 1093 // 1094 // This member is required. 1095 ResourceStatus ResourceStatus 1096 1097 // Type of resource. ((For more information, go to AWS Resource Types Reference 1098 // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) 1099 // in the AWS CloudFormation User Guide.) 1100 // 1101 // This member is required. 1102 ResourceType *string 1103 1104 // User defined description associated with the resource. 1105 Description *string 1106 1107 // Information about whether the resource's actual configuration differs, or has 1108 // drifted, from its expected configuration, as defined in the stack template and 1109 // any values specified as template parameters. For more information, see Detecting 1110 // Unregulated Configuration Changes to Stacks and Resources 1111 // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html). 1112 DriftInformation *StackResourceDriftInformation 1113 1114 // The content of the Metadata attribute declared for the resource. For more 1115 // information, see Metadata Attribute 1116 // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html) 1117 // in the AWS CloudFormation User Guide. 1118 Metadata *string 1119 1120 // Contains information about the module from which the resource was created, if 1121 // the resource was created from a module included in the stack template. 1122 ModuleInfo *ModuleInfo 1123 1124 // The name or unique identifier that corresponds to a physical instance ID of a 1125 // resource supported by AWS CloudFormation. 1126 PhysicalResourceId *string 1127 1128 // Success/failure message associated with the resource. 1129 ResourceStatusReason *string 1130 1131 // Unique identifier of the stack. 1132 StackId *string 1133 1134 // The name associated with the stack. 1135 StackName *string 1136} 1137 1138// Contains the drift information for a resource that has been checked for drift. 1139// This includes actual and expected property values for resources in which AWS 1140// CloudFormation has detected drift. Only resource properties explicitly defined 1141// in the stack template are checked for drift. For more information, see Detecting 1142// Unregulated Configuration Changes to Stacks and Resources 1143// (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html). 1144// Resources that do not currently support drift detection cannot be checked. For a 1145// list of resources that support drift detection, see Resources that Support Drift 1146// Detection 1147// (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift-resource-list.html). 1148// Use DetectStackResourceDrift to detect drift on individual resources, or 1149// DetectStackDrift to detect drift on all resources in a given stack that support 1150// drift detection. 1151type StackResourceDrift struct { 1152 1153 // The logical name of the resource specified in the template. 1154 // 1155 // This member is required. 1156 LogicalResourceId *string 1157 1158 // The type of the resource. 1159 // 1160 // This member is required. 1161 ResourceType *string 1162 1163 // The ID of the stack. 1164 // 1165 // This member is required. 1166 StackId *string 1167 1168 // Status of the resource's actual configuration compared to its expected 1169 // configuration 1170 // 1171 // * DELETED: The resource differs from its expected template 1172 // configuration because the resource has been deleted. 1173 // 1174 // * MODIFIED: One or more 1175 // resource properties differ from their expected values (as defined in the stack 1176 // template and any values specified as template parameters). 1177 // 1178 // * IN_SYNC: The 1179 // resources's actual configuration matches its expected template configuration. 1180 // 1181 // * 1182 // NOT_CHECKED: AWS CloudFormation does not currently return this value. 1183 // 1184 // This member is required. 1185 StackResourceDriftStatus StackResourceDriftStatus 1186 1187 // Time at which AWS CloudFormation performed drift detection on the stack 1188 // resource. 1189 // 1190 // This member is required. 1191 Timestamp *time.Time 1192 1193 // A JSON structure containing the actual property values of the stack resource. 1194 // For resources whose StackResourceDriftStatus is DELETED, this structure will not 1195 // be present. 1196 ActualProperties *string 1197 1198 // A JSON structure containing the expected property values of the stack resource, 1199 // as defined in the stack template and any values specified as template 1200 // parameters. For resources whose StackResourceDriftStatus is DELETED, this 1201 // structure will not be present. 1202 ExpectedProperties *string 1203 1204 // Contains information about the module from which the resource was created, if 1205 // the resource was created from a module included in the stack template. 1206 ModuleInfo *ModuleInfo 1207 1208 // The name or unique identifier that corresponds to a physical instance ID of a 1209 // resource supported by AWS CloudFormation. 1210 PhysicalResourceId *string 1211 1212 // Context information that enables AWS CloudFormation to uniquely identify a 1213 // resource. AWS CloudFormation uses context key-value pairs in cases where a 1214 // resource's logical and physical IDs are not enough to uniquely identify that 1215 // resource. Each context key-value pair specifies a unique resource that contains 1216 // the targeted resource. 1217 PhysicalResourceIdContext []PhysicalResourceIdContextKeyValuePair 1218 1219 // A collection of the resource properties whose actual values differ from their 1220 // expected values. These will be present only for resources whose 1221 // StackResourceDriftStatus is MODIFIED. 1222 PropertyDifferences []PropertyDifference 1223} 1224 1225// Contains information about whether the resource's actual configuration differs, 1226// or has drifted, from its expected configuration. 1227type StackResourceDriftInformation struct { 1228 1229 // Status of the resource's actual configuration compared to its expected 1230 // configuration 1231 // 1232 // * DELETED: The resource differs from its expected configuration 1233 // in that it has been deleted. 1234 // 1235 // * MODIFIED: The resource differs from its expected 1236 // configuration. 1237 // 1238 // * NOT_CHECKED: AWS CloudFormation has not checked if the 1239 // resource differs from its expected configuration. Any resources that do not 1240 // currently support drift detection have a status of NOT_CHECKED. For more 1241 // information, see Resources that Support Drift Detection 1242 // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift-resource-list.html). 1243 // 1244 // * 1245 // IN_SYNC: The resources's actual configuration matches its expected 1246 // configuration. 1247 // 1248 // This member is required. 1249 StackResourceDriftStatus StackResourceDriftStatus 1250 1251 // When AWS CloudFormation last checked if the resource had drifted from its 1252 // expected configuration. 1253 LastCheckTimestamp *time.Time 1254} 1255 1256// Summarizes information about whether the resource's actual configuration 1257// differs, or has drifted, from its expected configuration. 1258type StackResourceDriftInformationSummary struct { 1259 1260 // Status of the resource's actual configuration compared to its expected 1261 // configuration 1262 // 1263 // * DELETED: The resource differs from its expected configuration 1264 // in that it has been deleted. 1265 // 1266 // * MODIFIED: The resource differs from its expected 1267 // configuration. 1268 // 1269 // * NOT_CHECKED: AWS CloudFormation has not checked if the 1270 // resource differs from its expected configuration. Any resources that do not 1271 // currently support drift detection have a status of NOT_CHECKED. For more 1272 // information, see Resources that Support Drift Detection 1273 // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift-resource-list.html). 1274 // If you performed an ContinueUpdateRollback operation on a stack, any resources 1275 // included in ResourcesToSkip will also have a status of NOT_CHECKED. For more 1276 // information on skipping resources during rollback operations, see Continue 1277 // Rolling Back an Update 1278 // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-continueupdaterollback.html) 1279 // in the AWS CloudFormation User Guide. 1280 // 1281 // * IN_SYNC: The resources's actual 1282 // configuration matches its expected configuration. 1283 // 1284 // This member is required. 1285 StackResourceDriftStatus StackResourceDriftStatus 1286 1287 // When AWS CloudFormation last checked if the resource had drifted from its 1288 // expected configuration. 1289 LastCheckTimestamp *time.Time 1290} 1291 1292// Contains high-level information about the specified stack resource. 1293type StackResourceSummary struct { 1294 1295 // Time the status was updated. 1296 // 1297 // This member is required. 1298 LastUpdatedTimestamp *time.Time 1299 1300 // The logical name of the resource specified in the template. 1301 // 1302 // This member is required. 1303 LogicalResourceId *string 1304 1305 // Current status of the resource. 1306 // 1307 // This member is required. 1308 ResourceStatus ResourceStatus 1309 1310 // Type of resource. (For more information, go to AWS Resource Types Reference 1311 // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) 1312 // in the AWS CloudFormation User Guide.) 1313 // 1314 // This member is required. 1315 ResourceType *string 1316 1317 // Information about whether the resource's actual configuration differs, or has 1318 // drifted, from its expected configuration, as defined in the stack template and 1319 // any values specified as template parameters. For more information, see Detecting 1320 // Unregulated Configuration Changes to Stacks and Resources 1321 // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html). 1322 DriftInformation *StackResourceDriftInformationSummary 1323 1324 // Contains information about the module from which the resource was created, if 1325 // the resource was created from a module included in the stack template. 1326 ModuleInfo *ModuleInfo 1327 1328 // The name or unique identifier that corresponds to a physical instance ID of the 1329 // resource. 1330 PhysicalResourceId *string 1331 1332 // Success/failure message associated with the resource. 1333 ResourceStatusReason *string 1334} 1335 1336// A structure that contains information about a stack set. A stack set enables you 1337// to provision stacks into AWS accounts and across Regions by using a single 1338// CloudFormation template. In the stack set, you specify the template to use, as 1339// well as any parameters and capabilities that the template requires. 1340type StackSet struct { 1341 1342 // The Amazon Resource Number (ARN) of the IAM role used to create or update the 1343 // stack set. Use customized administrator roles to control which users or groups 1344 // can manage specific stack sets within the same administrator account. For more 1345 // information, see Prerequisites: Granting Permissions for Stack Set Operations 1346 // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html) 1347 // in the AWS CloudFormation User Guide. 1348 AdministrationRoleARN *string 1349 1350 // [Service-managed permissions] Describes whether StackSets automatically deploys 1351 // to AWS Organizations accounts that are added to a target organization or 1352 // organizational unit (OU). 1353 AutoDeployment *AutoDeployment 1354 1355 // The capabilities that are allowed in the stack set. Some stack set templates 1356 // might include resources that can affect permissions in your AWS account—for 1357 // example, by creating new AWS Identity and Access Management (IAM) users. For 1358 // more information, see Acknowledging IAM Resources in AWS CloudFormation 1359 // Templates. 1360 // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities) 1361 Capabilities []Capability 1362 1363 // A description of the stack set that you specify when the stack set is created or 1364 // updated. 1365 Description *string 1366 1367 // The name of the IAM execution role used to create or update the stack set. Use 1368 // customized execution roles to control which stack resources users and groups can 1369 // include in their stack sets. 1370 ExecutionRoleName *string 1371 1372 // [Service-managed permissions] The organization root ID or organizational unit 1373 // (OU) IDs that you specified for DeploymentTargets 1374 // (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeploymentTargets.html). 1375 OrganizationalUnitIds []string 1376 1377 // A list of input parameters for a stack set. 1378 Parameters []Parameter 1379 1380 // Describes how the IAM roles required for stack set operations are created. 1381 // 1382 // * 1383 // With self-managed permissions, you must create the administrator and execution 1384 // roles required to deploy to target accounts. For more information, see Grant 1385 // Self-Managed Stack Set Permissions 1386 // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html). 1387 // 1388 // * 1389 // With service-managed permissions, StackSets automatically creates the IAM roles 1390 // required to deploy to accounts managed by AWS Organizations. For more 1391 // information, see Grant Service-Managed Stack Set Permissions 1392 // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-service-managed.html). 1393 PermissionModel PermissionModels 1394 1395 // The Amazon Resource Number (ARN) of the stack set. 1396 StackSetARN *string 1397 1398 // Detailed information about the drift status of the stack set. For stack sets, 1399 // contains information about the last completed drift operation performed on the 1400 // stack set. Information about drift operations currently in progress is not 1401 // included. 1402 StackSetDriftDetectionDetails *StackSetDriftDetectionDetails 1403 1404 // The ID of the stack set. 1405 StackSetId *string 1406 1407 // The name that's associated with the stack set. 1408 StackSetName *string 1409 1410 // The status of the stack set. 1411 Status StackSetStatus 1412 1413 // A list of tags that specify information about the stack set. A maximum number of 1414 // 50 tags can be specified. 1415 Tags []Tag 1416 1417 // The structure that contains the body of the template that was used to create or 1418 // update the stack set. 1419 TemplateBody *string 1420} 1421 1422// Detailed information about the drift status of the stack set. For stack sets, 1423// contains information about the last completed drift operation performed on the 1424// stack set. Information about drift operations in-progress is not included. For 1425// stack set operations, includes information about drift operations currently 1426// being performed on the stack set. For more information, see Detecting Unmanaged 1427// Changes in Stack Sets 1428// (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-drift.html) 1429// in the AWS CloudFormation User Guide. 1430type StackSetDriftDetectionDetails struct { 1431 1432 // The status of the stack set drift detection operation. 1433 // 1434 // * COMPLETED: The drift 1435 // detection operation completed without failing on any stack instances. 1436 // 1437 // * FAILED: 1438 // The drift detection operation exceeded the specified failure tolerance. 1439 // 1440 // * 1441 // PARTIAL_SUCCESS: The drift detection operation completed without exceeding the 1442 // failure tolerance for the operation. 1443 // 1444 // * IN_PROGRESS: The drift detection 1445 // operation is currently being performed. 1446 // 1447 // * STOPPED: The user has cancelled the 1448 // drift detection operation. 1449 DriftDetectionStatus StackSetDriftDetectionStatus 1450 1451 // Status of the stack set's actual configuration compared to its expected template 1452 // and parameter configuration. A stack set is considered to have drifted if one or 1453 // more of its stack instances have drifted from their expected template and 1454 // parameter configuration. 1455 // 1456 // * DRIFTED: One or more of the stack instances 1457 // belonging to the stack set stack differs from the expected template and 1458 // parameter configuration. A stack instance is considered to have drifted if one 1459 // or more of the resources in the associated stack have drifted. 1460 // 1461 // * NOT_CHECKED: 1462 // AWS CloudFormation has not checked the stack set for drift. 1463 // 1464 // * IN_SYNC: All of 1465 // the stack instances belonging to the stack set stack match from the expected 1466 // template and parameter configuration. 1467 DriftStatus StackSetDriftStatus 1468 1469 // The number of stack instances that have drifted from the expected template and 1470 // parameter configuration of the stack set. A stack instance is considered to have 1471 // drifted if one or more of the resources in the associated stack do not match 1472 // their expected configuration. 1473 DriftedStackInstancesCount int32 1474 1475 // The number of stack instances for which the drift detection operation failed. 1476 FailedStackInstancesCount int32 1477 1478 // The number of stack instances that are currently being checked for drift. 1479 InProgressStackInstancesCount int32 1480 1481 // The number of stack instances which match the expected template and parameter 1482 // configuration of the stack set. 1483 InSyncStackInstancesCount int32 1484 1485 // Most recent time when CloudFormation performed a drift detection operation on 1486 // the stack set. This value will be NULL for any stack set on which drift 1487 // detection has not yet been performed. 1488 LastDriftCheckTimestamp *time.Time 1489 1490 // The total number of stack instances belonging to this stack set. The total 1491 // number of stack instances is equal to the total of: 1492 // 1493 // * Stack instances that 1494 // match the stack set configuration. 1495 // 1496 // * Stack instances that have drifted from the 1497 // stack set configuration. 1498 // 1499 // * Stack instances where the drift detection operation 1500 // has failed. 1501 // 1502 // * Stack instances currently being checked for drift. 1503 TotalStackInstancesCount int32 1504} 1505 1506// The structure that contains information about a stack set operation. 1507type StackSetOperation struct { 1508 1509 // The type of stack set operation: CREATE, UPDATE, or DELETE. Create and delete 1510 // operations affect only the specified stack set instances that are associated 1511 // with the specified stack set. Update operations affect both the stack set 1512 // itself, as well as all associated stack set instances. 1513 Action StackSetOperationAction 1514 1515 // The Amazon Resource Number (ARN) of the IAM role used to perform this stack set 1516 // operation. Use customized administrator roles to control which users or groups 1517 // can manage specific stack sets within the same administrator account. For more 1518 // information, see Define Permissions for Multiple Administrators 1519 // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html) 1520 // in the AWS CloudFormation User Guide. 1521 AdministrationRoleARN *string 1522 1523 // The time at which the operation was initiated. Note that the creation times for 1524 // the stack set operation might differ from the creation time of the individual 1525 // stacks themselves. This is because AWS CloudFormation needs to perform 1526 // preparatory work for the operation, such as dispatching the work to the 1527 // requested Regions, before actually creating the first stacks. 1528 CreationTimestamp *time.Time 1529 1530 // [Service-managed permissions] The AWS Organizations accounts affected by the 1531 // stack operation. 1532 DeploymentTargets *DeploymentTargets 1533 1534 // The time at which the stack set operation ended, across all accounts and Regions 1535 // specified. Note that this doesn't necessarily mean that the stack set operation 1536 // was successful, or even attempted, in each account or Region. 1537 EndTimestamp *time.Time 1538 1539 // The name of the IAM execution role used to create or update the stack set. Use 1540 // customized execution roles to control which stack resources users and groups can 1541 // include in their stack sets. 1542 ExecutionRoleName *string 1543 1544 // The unique ID of a stack set operation. 1545 OperationId *string 1546 1547 // The preferences for how AWS CloudFormation performs this stack set operation. 1548 OperationPreferences *StackSetOperationPreferences 1549 1550 // For stack set operations of action type DELETE, specifies whether to remove the 1551 // stack instances from the specified stack set, but doesn't delete the stacks. You 1552 // can't reassociate a retained stack, or add an existing, saved stack to a new 1553 // stack set. 1554 RetainStacks *bool 1555 1556 // Detailed information about the drift status of the stack set. This includes 1557 // information about drift operations currently being performed on the stack set. 1558 // this information will only be present for stack set operations whose Action type 1559 // is DETECT_DRIFT. For more information, see Detecting Unmanaged Changes in Stack 1560 // Sets 1561 // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-drift.html) 1562 // in the AWS CloudFormation User Guide. 1563 StackSetDriftDetectionDetails *StackSetDriftDetectionDetails 1564 1565 // The ID of the stack set. 1566 StackSetId *string 1567 1568 // The status of the operation. 1569 // 1570 // * FAILED: The operation exceeded the specified 1571 // failure tolerance. The failure tolerance value that you've set for an operation 1572 // is applied for each Region during stack create and update operations. If the 1573 // number of failed stacks within a Region exceeds the failure tolerance, the 1574 // status of the operation in the Region is set to FAILED. This in turn sets the 1575 // status of the operation as a whole to FAILED, and AWS CloudFormation cancels the 1576 // operation in any remaining Regions. 1577 // 1578 // * QUEUED: [Service-managed permissions] For 1579 // automatic deployments that require a sequence of operations, the operation is 1580 // queued to be performed. For more information, see the stack set operation status 1581 // codes 1582 // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-status-codes) 1583 // in the AWS CloudFormation User Guide. 1584 // 1585 // * RUNNING: The operation is currently 1586 // being performed. 1587 // 1588 // * STOPPED: The user has cancelled the operation. 1589 // 1590 // * STOPPING: 1591 // The operation is in the process of stopping, at user request. 1592 // 1593 // * SUCCEEDED: The 1594 // operation completed creating or updating all the specified stacks without 1595 // exceeding the failure tolerance for the operation. 1596 Status StackSetOperationStatus 1597} 1598 1599// The user-specified preferences for how AWS CloudFormation performs a stack set 1600// operation. For more information on maximum concurrent accounts and failure 1601// tolerance, see Stack set operation options 1602// (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-ops-options). 1603type StackSetOperationPreferences struct { 1604 1605 // The number of accounts, per Region, for which this operation can fail before AWS 1606 // CloudFormation stops the operation in that Region. If the operation is stopped 1607 // in a Region, AWS CloudFormation doesn't attempt the operation in any subsequent 1608 // Regions. Conditional: You must specify either FailureToleranceCount or 1609 // FailureTolerancePercentage (but not both). 1610 FailureToleranceCount *int32 1611 1612 // The percentage of accounts, per Region, for which this stack operation can fail 1613 // before AWS CloudFormation stops the operation in that Region. If the operation 1614 // is stopped in a Region, AWS CloudFormation doesn't attempt the operation in any 1615 // subsequent Regions. When calculating the number of accounts based on the 1616 // specified percentage, AWS CloudFormation rounds down to the next whole number. 1617 // Conditional: You must specify either FailureToleranceCount or 1618 // FailureTolerancePercentage, but not both. 1619 FailureTolerancePercentage *int32 1620 1621 // The maximum number of accounts in which to perform this operation at one time. 1622 // This is dependent on the value of FailureToleranceCount. MaxConcurrentCount is 1623 // at most one more than the FailureToleranceCount. Note that this setting lets you 1624 // specify the maximum for operations. For large deployments, under certain 1625 // circumstances the actual number of accounts acted upon concurrently may be lower 1626 // due to service throttling. Conditional: You must specify either 1627 // MaxConcurrentCount or MaxConcurrentPercentage, but not both. 1628 MaxConcurrentCount *int32 1629 1630 // The maximum percentage of accounts in which to perform this operation at one 1631 // time. When calculating the number of accounts based on the specified percentage, 1632 // AWS CloudFormation rounds down to the next whole number. This is true except in 1633 // cases where rounding down would result is zero. In this case, CloudFormation 1634 // sets the number as one instead. Note that this setting lets you specify the 1635 // maximum for operations. For large deployments, under certain circumstances the 1636 // actual number of accounts acted upon concurrently may be lower due to service 1637 // throttling. Conditional: You must specify either MaxConcurrentCount or 1638 // MaxConcurrentPercentage, but not both. 1639 MaxConcurrentPercentage *int32 1640 1641 RegionConcurrencyType RegionConcurrencyType 1642 1643 // The order of the Regions in where you want to perform the stack operation. 1644 RegionOrder []string 1645} 1646 1647// The structure that contains information about a specified operation's results 1648// for a given account in a given Region. 1649type StackSetOperationResultSummary struct { 1650 1651 // [Self-managed permissions] The name of the AWS account for this operation 1652 // result. 1653 Account *string 1654 1655 // The results of the account gate function AWS CloudFormation invokes, if present, 1656 // before proceeding with stack set operations in an account 1657 AccountGateResult *AccountGateResult 1658 1659 // [Service-managed permissions] The organization root ID or organizational unit 1660 // (OU) IDs that you specified for DeploymentTargets 1661 // (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeploymentTargets.html). 1662 OrganizationalUnitId *string 1663 1664 // The name of the AWS Region for this operation result. 1665 Region *string 1666 1667 // The result status of the stack set operation for the given account in the given 1668 // Region. 1669 // 1670 // * CANCELLED: The operation in the specified account and Region has been 1671 // cancelled. This is either because a user has stopped the stack set operation, or 1672 // because the failure tolerance of the stack set operation has been exceeded. 1673 // 1674 // * 1675 // FAILED: The operation in the specified account and Region failed. If the stack 1676 // set operation fails in enough accounts within a Region, the failure tolerance 1677 // for the stack set operation as a whole might be exceeded. 1678 // 1679 // * RUNNING: The 1680 // operation in the specified account and Region is currently in progress. 1681 // 1682 // * 1683 // PENDING: The operation in the specified account and Region has yet to start. 1684 // 1685 // * 1686 // SUCCEEDED: The operation in the specified account and Region completed 1687 // successfully. 1688 Status StackSetOperationResultStatus 1689 1690 // The reason for the assigned result status. 1691 StatusReason *string 1692} 1693 1694// The structures that contain summary information about the specified operation. 1695type StackSetOperationSummary struct { 1696 1697 // The type of operation: CREATE, UPDATE, or DELETE. Create and delete operations 1698 // affect only the specified stack instances that are associated with the specified 1699 // stack set. Update operations affect both the stack set itself as well as all 1700 // associated stack set instances. 1701 Action StackSetOperationAction 1702 1703 // The time at which the operation was initiated. Note that the creation times for 1704 // the stack set operation might differ from the creation time of the individual 1705 // stacks themselves. This is because AWS CloudFormation needs to perform 1706 // preparatory work for the operation, such as dispatching the work to the 1707 // requested Regions, before actually creating the first stacks. 1708 CreationTimestamp *time.Time 1709 1710 // The time at which the stack set operation ended, across all accounts and Regions 1711 // specified. Note that this doesn't necessarily mean that the stack set operation 1712 // was successful, or even attempted, in each account or Region. 1713 EndTimestamp *time.Time 1714 1715 // The unique ID of the stack set operation. 1716 OperationId *string 1717 1718 // The overall status of the operation. 1719 // 1720 // * FAILED: The operation exceeded the 1721 // specified failure tolerance. The failure tolerance value that you've set for an 1722 // operation is applied for each Region during stack create and update operations. 1723 // If the number of failed stacks within a Region exceeds the failure tolerance, 1724 // the status of the operation in the Region is set to FAILED. This in turn sets 1725 // the status of the operation as a whole to FAILED, and AWS CloudFormation cancels 1726 // the operation in any remaining Regions. 1727 // 1728 // * QUEUED: [Service-managed permissions] 1729 // For automatic deployments that require a sequence of operations, the operation 1730 // is queued to be performed. For more information, see the stack set operation 1731 // status codes 1732 // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-status-codes) 1733 // in the AWS CloudFormation User Guide. 1734 // 1735 // * RUNNING: The operation is currently 1736 // being performed. 1737 // 1738 // * STOPPED: The user has cancelled the operation. 1739 // 1740 // * STOPPING: 1741 // The operation is in the process of stopping, at user request. 1742 // 1743 // * SUCCEEDED: The 1744 // operation completed creating or updating all the specified stacks without 1745 // exceeding the failure tolerance for the operation. 1746 Status StackSetOperationStatus 1747} 1748 1749// The structures that contain summary information about the specified stack set. 1750type StackSetSummary struct { 1751 1752 // [Service-managed permissions] Describes whether StackSets automatically deploys 1753 // to AWS Organizations accounts that are added to a target organizational unit 1754 // (OU). 1755 AutoDeployment *AutoDeployment 1756 1757 // A description of the stack set that you specify when the stack set is created or 1758 // updated. 1759 Description *string 1760 1761 // Status of the stack set's actual configuration compared to its expected template 1762 // and parameter configuration. A stack set is considered to have drifted if one or 1763 // more of its stack instances have drifted from their expected template and 1764 // parameter configuration. 1765 // 1766 // * DRIFTED: One or more of the stack instances 1767 // belonging to the stack set stack differs from the expected template and 1768 // parameter configuration. A stack instance is considered to have drifted if one 1769 // or more of the resources in the associated stack have drifted. 1770 // 1771 // * NOT_CHECKED: 1772 // AWS CloudFormation has not checked the stack set for drift. 1773 // 1774 // * IN_SYNC: All of 1775 // the stack instances belonging to the stack set stack match from the expected 1776 // template and parameter configuration. 1777 // 1778 // * UNKNOWN: This value is reserved for 1779 // future use. 1780 DriftStatus StackDriftStatus 1781 1782 // Most recent time when CloudFormation performed a drift detection operation on 1783 // the stack set. This value will be NULL for any stack set on which drift 1784 // detection has not yet been performed. 1785 LastDriftCheckTimestamp *time.Time 1786 1787 // Describes how the IAM roles required for stack set operations are created. 1788 // 1789 // * 1790 // With self-managed permissions, you must create the administrator and execution 1791 // roles required to deploy to target accounts. For more information, see Grant 1792 // Self-Managed Stack Set Permissions 1793 // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html). 1794 // 1795 // * 1796 // With service-managed permissions, StackSets automatically creates the IAM roles 1797 // required to deploy to accounts managed by AWS Organizations. For more 1798 // information, see Grant Service-Managed Stack Set Permissions 1799 // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-service-managed.html). 1800 PermissionModel PermissionModels 1801 1802 // The ID of the stack set. 1803 StackSetId *string 1804 1805 // The name of the stack set. 1806 StackSetName *string 1807 1808 // The status of the stack set. 1809 Status StackSetStatus 1810} 1811 1812// The StackSummary Data Type 1813type StackSummary struct { 1814 1815 // The time the stack was created. 1816 // 1817 // This member is required. 1818 CreationTime *time.Time 1819 1820 // The name associated with the stack. 1821 // 1822 // This member is required. 1823 StackName *string 1824 1825 // The current status of the stack. 1826 // 1827 // This member is required. 1828 StackStatus StackStatus 1829 1830 // The time the stack was deleted. 1831 DeletionTime *time.Time 1832 1833 // Summarizes information on whether a stack's actual configuration differs, or has 1834 // drifted, from it's expected configuration, as defined in the stack template and 1835 // any values specified as template parameters. For more information, see Detecting 1836 // Unregulated Configuration Changes to Stacks and Resources 1837 // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html). 1838 DriftInformation *StackDriftInformationSummary 1839 1840 // The time the stack was last updated. This field will only be returned if the 1841 // stack has been updated at least once. 1842 LastUpdatedTime *time.Time 1843 1844 // For nested stacks--stacks created as resources for another stack--the stack ID 1845 // of the direct parent of this stack. For the first level of nested stacks, the 1846 // root stack is also the parent stack. For more information, see Working with 1847 // Nested Stacks 1848 // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) 1849 // in the AWS CloudFormation User Guide. 1850 ParentId *string 1851 1852 // For nested stacks--stacks created as resources for another stack--the stack ID 1853 // of the top-level stack to which the nested stack ultimately belongs. For more 1854 // information, see Working with Nested Stacks 1855 // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) 1856 // in the AWS CloudFormation User Guide. 1857 RootId *string 1858 1859 // Unique stack identifier. 1860 StackId *string 1861 1862 // Success/Failure message associated with the stack status. 1863 StackStatusReason *string 1864 1865 // The template description of the template used to create the stack. 1866 TemplateDescription *string 1867} 1868 1869// The Tag type enables you to specify a key-value pair that can be used to store 1870// information about an AWS CloudFormation stack. 1871type Tag struct { 1872 1873 // Required. A string used to identify this tag. You can specify a maximum of 128 1874 // characters for a tag key. Tags owned by Amazon Web Services (AWS) have the 1875 // reserved prefix: aws:. 1876 // 1877 // This member is required. 1878 Key *string 1879 1880 // Required. A string containing the value for this tag. You can specify a maximum 1881 // of 256 characters for a tag value. 1882 // 1883 // This member is required. 1884 Value *string 1885} 1886 1887// The TemplateParameter data type. 1888type TemplateParameter struct { 1889 1890 // The default value associated with the parameter. 1891 DefaultValue *string 1892 1893 // User defined description associated with the parameter. 1894 Description *string 1895 1896 // Flag indicating whether the parameter should be displayed as plain text in logs 1897 // and UIs. 1898 NoEcho *bool 1899 1900 // The name associated with the parameter. 1901 ParameterKey *string 1902} 1903 1904// Contains summary information about the specified CloudFormation type. 1905type TypeSummary struct { 1906 1907 // The ID of the default version of the type. The default version is used when the 1908 // type version is not specified. To set the default version of a type, use 1909 // SetTypeDefaultVersion. 1910 DefaultVersionId *string 1911 1912 // The description of the type. 1913 Description *string 1914 1915 // When the current default version of the type was registered. 1916 LastUpdated *time.Time 1917 1918 // The kind of type. 1919 Type RegistryType 1920 1921 // The Amazon Resource Name (ARN) of the type. 1922 TypeArn *string 1923 1924 // The name of the type. 1925 TypeName *string 1926} 1927 1928// Contains summary information about a specific version of a CloudFormation type. 1929type TypeVersionSummary struct { 1930 1931 // The Amazon Resource Name (ARN) of the type version. 1932 Arn *string 1933 1934 // The description of the type version. 1935 Description *string 1936 1937 // Whether the specified type version is set as the default version. 1938 IsDefaultVersion *bool 1939 1940 // When the version was registered. 1941 TimeCreated *time.Time 1942 1943 // The kind of type. 1944 Type RegistryType 1945 1946 // The name of the type. 1947 TypeName *string 1948 1949 // The ID of a specific version of the type. The version ID is the value at the end 1950 // of the Amazon Resource Name (ARN) assigned to the type version when it is 1951 // registered. 1952 VersionId *string 1953} 1954