/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the cloudformation-2010-05-15.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.CloudFormation.Model
{
///
/// A structure that contains information about a stack set. A stack set enables you to
/// provision stacks into Amazon Web Services accounts and across Regions by using a single
/// CloudFormation template. In the stack set, you specify the template to use, in addition
/// to any parameters and capabilities that the template requires.
///
public partial class StackSet
{
private string _administrationRoleARN;
private AutoDeployment _autoDeployment;
private List _capabilities = new List();
private string _description;
private string _executionRoleName;
private ManagedExecution _managedExecution;
private List _organizationalUnitIds = new List();
private List _parameters = new List();
private PermissionModels _permissionModel;
private List _regions = new List();
private string _stackSetARN;
private StackSetDriftDetectionDetails _stackSetDriftDetectionDetails;
private string _stackSetId;
private string _stackSetName;
private StackSetStatus _status;
private List _tags = new List();
private string _templateBody;
///
/// Gets and sets the property AdministrationRoleARN.
///
/// The Amazon Resource Name (ARN) of the IAM role used to create or update the stack
/// set.
///
///
///
/// Use customized administrator roles to control which users or groups can manage specific
/// stack sets within the same administrator account. For more information, see Prerequisites:
/// Granting Permissions for Stack Set Operations in the CloudFormation User Guide.
///
///
[AWSProperty(Min=20, Max=2048)]
public string AdministrationRoleARN
{
get { return this._administrationRoleARN; }
set { this._administrationRoleARN = value; }
}
// Check to see if AdministrationRoleARN property is set
internal bool IsSetAdministrationRoleARN()
{
return this._administrationRoleARN != null;
}
///
/// Gets and sets the property AutoDeployment.
///
/// [Service-managed permissions] Describes whether StackSets automatically deploys to
/// Organizations accounts that are added to a target organization or organizational unit
/// (OU).
///
///
public AutoDeployment AutoDeployment
{
get { return this._autoDeployment; }
set { this._autoDeployment = value; }
}
// Check to see if AutoDeployment property is set
internal bool IsSetAutoDeployment()
{
return this._autoDeployment != null;
}
///
/// Gets and sets the property Capabilities.
///
/// The capabilities that are allowed in the stack set. Some stack set templates might
/// include resources that can affect permissions in your Amazon Web Services account—for
/// example, by creating new Identity and Access Management (IAM) users. For more information,
/// see Acknowledging
/// IAM Resources in CloudFormation Templates.
///
///
public List Capabilities
{
get { return this._capabilities; }
set { this._capabilities = value; }
}
// Check to see if Capabilities property is set
internal bool IsSetCapabilities()
{
return this._capabilities != null && this._capabilities.Count > 0;
}
///
/// Gets and sets the property Description.
///
/// A description of the stack set that you specify when the stack set is created or updated.
///
///
[AWSProperty(Min=1, Max=1024)]
public string Description
{
get { return this._description; }
set { this._description = value; }
}
// Check to see if Description property is set
internal bool IsSetDescription()
{
return this._description != null;
}
///
/// Gets and sets the property ExecutionRoleName.
///
/// The name of the IAM execution role used to create or update the stack set.
///
///
///
/// Use customized execution roles to control which stack resources users and groups can
/// include in their stack sets.
///
///
[AWSProperty(Min=1, Max=64)]
public string ExecutionRoleName
{
get { return this._executionRoleName; }
set { this._executionRoleName = value; }
}
// Check to see if ExecutionRoleName property is set
internal bool IsSetExecutionRoleName()
{
return this._executionRoleName != null;
}
///
/// Gets and sets the property ManagedExecution.
///
/// Describes whether StackSets performs non-conflicting operations concurrently and queues
/// conflicting operations.
///
///
public ManagedExecution ManagedExecution
{
get { return this._managedExecution; }
set { this._managedExecution = value; }
}
// Check to see if ManagedExecution property is set
internal bool IsSetManagedExecution()
{
return this._managedExecution != null;
}
///
/// Gets and sets the property OrganizationalUnitIds.
///
/// [Service-managed permissions] The organization root ID or organizational unit (OU)
/// IDs that you specified for DeploymentTargets.
///
///
public List OrganizationalUnitIds
{
get { return this._organizationalUnitIds; }
set { this._organizationalUnitIds = value; }
}
// Check to see if OrganizationalUnitIds property is set
internal bool IsSetOrganizationalUnitIds()
{
return this._organizationalUnitIds != null && this._organizationalUnitIds.Count > 0;
}
///
/// Gets and sets the property Parameters.
///
/// A list of input parameters for a stack set.
///
///
public List Parameters
{
get { return this._parameters; }
set { this._parameters = value; }
}
// Check to see if Parameters property is set
internal bool IsSetParameters()
{
return this._parameters != null && this._parameters.Count > 0;
}
///
/// Gets and sets the property PermissionModel.
///
/// Describes how the IAM roles required for stack set operations are created.
///
///
///
public PermissionModels PermissionModel
{
get { return this._permissionModel; }
set { this._permissionModel = value; }
}
// Check to see if PermissionModel property is set
internal bool IsSetPermissionModel()
{
return this._permissionModel != null;
}
///
/// Gets and sets the property Regions.
///
/// Returns a list of all Amazon Web Services Regions the given StackSet has stack instances
/// deployed in. The Amazon Web Services Regions list output is in no particular order.
///
///
public List Regions
{
get { return this._regions; }
set { this._regions = value; }
}
// Check to see if Regions property is set
internal bool IsSetRegions()
{
return this._regions != null && this._regions.Count > 0;
}
///
/// Gets and sets the property StackSetARN.
///
/// The Amazon Resource Name (ARN) of the stack set.
///
///
public string StackSetARN
{
get { return this._stackSetARN; }
set { this._stackSetARN = value; }
}
// Check to see if StackSetARN property is set
internal bool IsSetStackSetARN()
{
return this._stackSetARN != null;
}
///
/// Gets and sets the property StackSetDriftDetectionDetails.
///
/// Detailed information about the drift status of the stack set.
///
///
///
/// For stack sets, contains information about the last completed drift operation
/// performed on the stack set. Information about drift operations currently in progress
/// isn't included.
///
///
public StackSetDriftDetectionDetails StackSetDriftDetectionDetails
{
get { return this._stackSetDriftDetectionDetails; }
set { this._stackSetDriftDetectionDetails = value; }
}
// Check to see if StackSetDriftDetectionDetails property is set
internal bool IsSetStackSetDriftDetectionDetails()
{
return this._stackSetDriftDetectionDetails != null;
}
///
/// Gets and sets the property StackSetId.
///
/// The ID of the stack set.
///
///
public string StackSetId
{
get { return this._stackSetId; }
set { this._stackSetId = value; }
}
// Check to see if StackSetId property is set
internal bool IsSetStackSetId()
{
return this._stackSetId != null;
}
///
/// Gets and sets the property StackSetName.
///
/// The name that's associated with the stack set.
///
///
public string StackSetName
{
get { return this._stackSetName; }
set { this._stackSetName = value; }
}
// Check to see if StackSetName property is set
internal bool IsSetStackSetName()
{
return this._stackSetName != null;
}
///
/// Gets and sets the property Status.
///
/// The status of the stack set.
///
///
public StackSetStatus Status
{
get { return this._status; }
set { this._status = value; }
}
// Check to see if Status property is set
internal bool IsSetStatus()
{
return this._status != null;
}
///
/// Gets and sets the property Tags.
///
/// A list of tags that specify information about the stack set. A maximum number of 50
/// tags can be specified.
///
///
[AWSProperty(Max=50)]
public List Tags
{
get { return this._tags; }
set { this._tags = value; }
}
// Check to see if Tags property is set
internal bool IsSetTags()
{
return this._tags != null && this._tags.Count > 0;
}
///
/// Gets and sets the property TemplateBody.
///
/// The structure that contains the body of the template that was used to create or update
/// the stack set.
///
///
[AWSProperty(Min=1)]
public string TemplateBody
{
get { return this._templateBody; }
set { this._templateBody = value; }
}
// Check to see if TemplateBody property is set
internal bool IsSetTemplateBody()
{
return this._templateBody != null;
}
}
}