/*
* 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 DeleteStack operation.
/// Deletes a specified stack. Once the call completes successfully, stack deletion starts.
/// Deleted stacks don't show up in the DescribeStacks operation if the deletion
/// has been completed successfully.
///
public partial class DeleteStackRequest : AmazonCloudFormationRequest
{
private string _clientRequestToken;
private List _retainResources = new List();
private string _roleARN;
private string _stackName;
///
/// Gets and sets the property ClientRequestToken.
///
/// A unique identifier for this DeleteStack
request. Specify this token
/// if you plan to retry requests so that CloudFormation knows that you're not attempting
/// to delete a stack with the same name. You might retry DeleteStack
requests
/// to ensure that CloudFormation successfully received them.
///
///
///
/// All events initiated by a given stack operation are assigned the same client request
/// token, which you can use to track operations. For example, if you execute a CreateStack
/// operation with the token token1
, then all the StackEvents
/// generated by that operation will have ClientRequestToken
set as token1
.
///
///
///
/// In the console, stack operations display the client request token on the Events tab.
/// Stack operations that are initiated from the console use the token format Console-StackOperation-ID,
/// which helps you easily identify the stack operation . For example, if you create a
/// stack using the console, each stack event would be assigned the same token in the
/// following format: Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002
.
///
///
[AWSProperty(Min=1, Max=128)]
public string ClientRequestToken
{
get { return this._clientRequestToken; }
set { this._clientRequestToken = value; }
}
// Check to see if ClientRequestToken property is set
internal bool IsSetClientRequestToken()
{
return this._clientRequestToken != null;
}
///
/// Gets and sets the property RetainResources.
///
/// For stacks in the DELETE_FAILED
state, a list of resource logical IDs
/// that are associated with the resources you want to retain. During deletion, CloudFormation
/// deletes the stack but doesn't delete the retained resources.
///
///
///
/// Retaining resources is useful when you can't delete a resource, such as a non-empty
/// S3 bucket, but you want to delete the stack.
///
///
public List RetainResources
{
get { return this._retainResources; }
set { this._retainResources = value; }
}
// Check to see if RetainResources property is set
internal bool IsSetRetainResources()
{
return this._retainResources != null && this._retainResources.Count > 0;
}
///
/// Gets and sets the property RoleARN.
///
/// The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role that
/// CloudFormation assumes to delete the stack. CloudFormation uses the role's credentials
/// to make calls on your behalf.
///
///
///
/// If you don't specify a value, CloudFormation uses the role that was previously associated
/// with the stack. If no role is available, CloudFormation uses a temporary session that's
/// generated from your user credentials.
///
///
[AWSProperty(Min=20, Max=2048)]
public string RoleARN
{
get { return this._roleARN; }
set { this._roleARN = value; }
}
// Check to see if RoleARN property is set
internal bool IsSetRoleARN()
{
return this._roleARN != null;
}
///
/// Gets and sets the property StackName.
///
/// The name or the unique stack ID that's associated with the stack.
///
///
[AWSProperty(Required=true)]
public string StackName
{
get { return this._stackName; }
set { this._stackName = value; }
}
// Check to see if StackName property is set
internal bool IsSetStackName()
{
return this._stackName != null;
}
}
}