/*
* 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
{
///
/// Container for the parameters to the CreateStackInstances operation.
/// Creates stack instances for the specified accounts, within the specified Amazon Web
/// Services Regions. A stack instance refers to a stack in a specific account and Region.
/// You must specify at least one value for either Accounts
or DeploymentTargets
,
/// and you must specify at least one value for Regions
.
///
public partial class CreateStackInstancesRequest : AmazonCloudFormationRequest
{
private List _accounts = new List();
private CallAs _callAs;
private DeploymentTargets _deploymentTargets;
private string _operationId;
private StackSetOperationPreferences _operationPreferences;
private List _parameterOverrides = new List();
private List _regions = new List();
private string _stackSetName;
///
/// Gets and sets the property Accounts.
///
/// [Self-managed permissions] The names of one or more Amazon Web Services accounts that
/// you want to create stack instances in the specified Region(s) for.
///
///
///
/// You can specify Accounts
or DeploymentTargets
, but not both.
///
///
public List Accounts
{
get { return this._accounts; }
set { this._accounts = value; }
}
// Check to see if Accounts property is set
internal bool IsSetAccounts()
{
return this._accounts != null && this._accounts.Count > 0;
}
///
/// Gets and sets the property CallAs.
///
/// [Service-managed permissions] Specifies whether you are acting as an account administrator
/// in the organization's management account or as a delegated administrator in a member
/// account.
///
///
///
/// By default, SELF
is specified. Use SELF
for stack sets with
/// self-managed permissions.
///
/// -
///
/// If you are signed in to the management account, specify
SELF
.
///
/// -
///
/// If you are signed in to a delegated administrator account, specify
DELEGATED_ADMIN
.
///
///
///
/// Your Amazon Web Services account must be registered as a delegated administrator in
/// the management account. For more information, see Register
/// a delegated administrator in the CloudFormation User Guide.
///
///
///
public CallAs CallAs
{
get { return this._callAs; }
set { this._callAs = value; }
}
// Check to see if CallAs property is set
internal bool IsSetCallAs()
{
return this._callAs != null;
}
///
/// Gets and sets the property DeploymentTargets.
///
/// [Service-managed permissions] The Organizations accounts for which to create stack
/// instances in the specified Amazon Web Services Regions.
///
///
///
/// You can specify Accounts
or DeploymentTargets
, but not both.
///
///
public DeploymentTargets DeploymentTargets
{
get { return this._deploymentTargets; }
set { this._deploymentTargets = value; }
}
// Check to see if DeploymentTargets property is set
internal bool IsSetDeploymentTargets()
{
return this._deploymentTargets != null;
}
///
/// Gets and sets the property OperationId.
///
/// The unique identifier for this stack set operation.
///
///
///
/// The operation ID also functions as an idempotency token, to ensure that CloudFormation
/// performs the stack set operation only once, even if you retry the request multiple
/// times. You might retry stack set operation requests to ensure that CloudFormation
/// successfully received them.
///
///
///
/// If you don't specify an operation ID, the SDK generates one automatically.
///
///
///
/// Repeating this stack set operation with a new operation ID retries all stack instances
/// whose status is OUTDATED
.
///
///
[AWSProperty(Min=1, Max=128)]
public string OperationId
{
get { return this._operationId; }
set { this._operationId = value; }
}
// Check to see if OperationId property is set
internal bool IsSetOperationId()
{
return this._operationId != null;
}
///
/// Gets and sets the property OperationPreferences.
///
/// Preferences for how CloudFormation performs this stack set operation.
///
///
public StackSetOperationPreferences OperationPreferences
{
get { return this._operationPreferences; }
set { this._operationPreferences = value; }
}
// Check to see if OperationPreferences property is set
internal bool IsSetOperationPreferences()
{
return this._operationPreferences != null;
}
///
/// Gets and sets the property ParameterOverrides.
///
/// A list of stack set parameters whose values you want to override in the selected stack
/// instances.
///
///
///
/// Any overridden parameter values will be applied to all stack instances in the specified
/// accounts and Amazon Web Services Regions. When specifying parameters and their values,
/// be aware of how CloudFormation sets parameter values during stack instance operations:
///
/// -
///
/// To override the current value for a parameter, include the parameter and specify its
/// value.
///
///
-
///
/// To leave an overridden parameter set to its present value, include the parameter and
/// specify
UsePreviousValue
as true
. (You can't specify both
/// a value and set UsePreviousValue
to true
.)
///
/// -
///
/// To set an overridden parameter back to the value specified in the stack set, specify
/// a parameter list but don't include the parameter in the list.
///
///
-
///
/// To leave all parameters set to their present values, don't specify this property at
/// all.
///
///
///
/// During stack set updates, any parameter values overridden for a stack instance aren't
/// updated, but retain their overridden value.
///
///
///
/// You can only override the parameter values that are specified in the stack
/// set; to add or delete a parameter itself, use UpdateStackSet
/// to update the stack set template.
///
///
public List ParameterOverrides
{
get { return this._parameterOverrides; }
set { this._parameterOverrides = value; }
}
// Check to see if ParameterOverrides property is set
internal bool IsSetParameterOverrides()
{
return this._parameterOverrides != null && this._parameterOverrides.Count > 0;
}
///
/// Gets and sets the property Regions.
///
/// The names of one or more Amazon Web Services Regions where you want to create stack
/// instances using the specified Amazon Web Services accounts.
///
///
[AWSProperty(Required=true)]
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 StackSetName.
///
/// The name or unique ID of the stack set that you want to create stack instances from.
///
///
[AWSProperty(Required=true)]
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;
}
}
}