/*
* 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
{
///
/// The ResourceChange
structure describes the resource and the action that
/// CloudFormation will perform on it if you execute this change set.
///
public partial class ResourceChange
{
private ChangeAction _action;
private string _changeSetId;
private List _details = new List();
private string _logicalResourceId;
private ModuleInfo _moduleInfo;
private string _physicalResourceId;
private Replacement _replacement;
private string _resourceType;
private List _scope = new List();
///
/// Gets and sets the property Action.
///
/// The action that CloudFormation takes on the resource, such as Add
(adds
/// a new resource), Modify
(changes a resource), Remove
(deletes
/// a resource), Import
(imports a resource), or Dynamic
(exact
/// action for the resource can't be determined).
///
///
public ChangeAction Action
{
get { return this._action; }
set { this._action = value; }
}
// Check to see if Action property is set
internal bool IsSetAction()
{
return this._action != null;
}
///
/// Gets and sets the property ChangeSetId.
///
/// The change set ID of the nested change set.
///
///
[AWSProperty(Min=1)]
public string ChangeSetId
{
get { return this._changeSetId; }
set { this._changeSetId = value; }
}
// Check to see if ChangeSetId property is set
internal bool IsSetChangeSetId()
{
return this._changeSetId != null;
}
///
/// Gets and sets the property Details.
///
/// For the Modify
action, a list of ResourceChangeDetail
structures
/// that describes the changes that CloudFormation will make to the resource.
///
///
public List Details
{
get { return this._details; }
set { this._details = value; }
}
// Check to see if Details property is set
internal bool IsSetDetails()
{
return this._details != null && this._details.Count > 0;
}
///
/// Gets and sets the property LogicalResourceId.
///
/// The resource's logical ID, which is defined in the stack's template.
///
///
public string LogicalResourceId
{
get { return this._logicalResourceId; }
set { this._logicalResourceId = value; }
}
// Check to see if LogicalResourceId property is set
internal bool IsSetLogicalResourceId()
{
return this._logicalResourceId != null;
}
///
/// Gets and sets the property ModuleInfo.
///
/// Contains information about the module from which the resource was created, if the
/// resource was created from a module included in the stack template.
///
///
public ModuleInfo ModuleInfo
{
get { return this._moduleInfo; }
set { this._moduleInfo = value; }
}
// Check to see if ModuleInfo property is set
internal bool IsSetModuleInfo()
{
return this._moduleInfo != null;
}
///
/// Gets and sets the property PhysicalResourceId.
///
/// The resource's physical ID (resource name). Resources that you are adding don't have
/// physical IDs because they haven't been created.
///
///
public string PhysicalResourceId
{
get { return this._physicalResourceId; }
set { this._physicalResourceId = value; }
}
// Check to see if PhysicalResourceId property is set
internal bool IsSetPhysicalResourceId()
{
return this._physicalResourceId != null;
}
///
/// Gets and sets the property Replacement.
///
/// For the Modify
action, indicates whether CloudFormation will replace
/// the resource by creating a new one and deleting the old one. This value depends on
/// the value of the RequiresRecreation
property in the ResourceTargetDefinition
/// structure. For example, if the RequiresRecreation
field is Always
/// and the Evaluation
field is Static
, Replacement
/// is True
. If the RequiresRecreation
field is Always
/// and the Evaluation
field is Dynamic
, Replacement
/// is Conditionally
.
///
///
///
/// If you have multiple changes with different RequiresRecreation
values,
/// the Replacement
value depends on the change with the most impact. A RequiresRecreation
/// value of Always
has the most impact, followed by Conditionally
,
/// and then Never
.
///
///
public Replacement Replacement
{
get { return this._replacement; }
set { this._replacement = value; }
}
// Check to see if Replacement property is set
internal bool IsSetReplacement()
{
return this._replacement != null;
}
///
/// Gets and sets the property ResourceType.
///
/// The type of CloudFormation resource, such as AWS::S3::Bucket
.
///
///
[AWSProperty(Min=1, Max=256)]
public string ResourceType
{
get { return this._resourceType; }
set { this._resourceType = value; }
}
// Check to see if ResourceType property is set
internal bool IsSetResourceType()
{
return this._resourceType != null;
}
///
/// Gets and sets the property Scope.
///
/// For the Modify
action, indicates which resource attribute is triggering
/// this update, such as a change in the resource attribute's Metadata
, Properties
,
/// or Tags
.
///
///
public List Scope
{
get { return this._scope; }
set { this._scope = value; }
}
// Check to see if Scope property is set
internal bool IsSetScope()
{
return this._scope != null && this._scope.Count > 0;
}
}
}