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