/*
* 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 DeleteStackInstances operation.
/// Deletes stack instances for the specified accounts, in the specified Amazon Web Services
/// Regions.
///
public partial class DeleteStackInstancesRequest : AmazonCloudFormationRequest
{
private List _accounts = new List();
private CallAs _callAs;
private DeploymentTargets _deploymentTargets;
private string _operationId;
private StackSetOperationPreferences _operationPreferences;
private List _regions = new List();
private bool? _retainStacks;
private string _stackSetName;
///
/// Gets and sets the property Accounts.
///
/// [Self-managed permissions] The names of the Amazon Web Services accounts that you
/// want to delete stack instances for.
///
///
///
/// You can specify Accounts
or DeploymentTargets
, but not both.
///
///
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 from which to delete stack
/// instances.
///
///
///
/// 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.
///
///
///
/// If you don't specify an operation ID, the SDK generates one automatically.
///
///
///
/// The operation ID also functions as an idempotency token, to ensure that CloudFormation
/// performs the stack set operation only once, even if you retry the request multiple
/// times. You can retry stack set operation requests to ensure that CloudFormation successfully
/// received them.
///
///
///
/// 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 Regions.
///
/// The Amazon Web Services Regions where you want to delete stack set instances.
///
///
[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 RetainStacks.
///
/// Removes the stack instances from the specified stack set, but doesn't delete the stacks.
/// You can't reassociate a retained stack or add an existing, saved stack to a new stack
/// set.
///
///
///
/// For more information, see Stack
/// set operation options.
///
///
[AWSProperty(Required=true)]
public bool RetainStacks
{
get { return this._retainStacks.GetValueOrDefault(); }
set { this._retainStacks = value; }
}
// Check to see if RetainStacks property is set
internal bool IsSetRetainStacks()
{
return this._retainStacks.HasValue;
}
///
/// Gets and sets the property StackSetName.
///
/// The name or unique ID of the stack set that you want to delete stack instances for.
///
///
[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;
}
}
}