/*
* 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 config-2014-11-12.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.ConfigService.Model
{
///
/// A list that contains detailed configurations of a specified resource.
///
public partial class ConfigurationItem
{
private string _accountId;
private string _arn;
private string _availabilityZone;
private string _awsRegion;
private string _configuration;
private DateTime? _configurationItemCaptureTime;
private string _configurationItemMD5Hash;
private ConfigurationItemStatus _configurationItemStatus;
private string _configurationStateId;
private List _relatedEvents = new List();
private List _relationships = new List();
private DateTime? _resourceCreationTime;
private string _resourceId;
private string _resourceName;
private ResourceType _resourceType;
private Dictionary _supplementaryConfiguration = new Dictionary();
private Dictionary _tags = new Dictionary();
private string _version;
///
/// Gets and sets the property AccountId.
///
/// The 12-digit Amazon Web Services account ID associated with the resource.
///
///
public string AccountId
{
get { return this._accountId; }
set { this._accountId = value; }
}
// Check to see if AccountId property is set
internal bool IsSetAccountId()
{
return this._accountId != null;
}
///
/// Gets and sets the property Arn.
///
/// Amazon Resource Name (ARN) associated with the resource.
///
///
public string Arn
{
get { return this._arn; }
set { this._arn = value; }
}
// Check to see if Arn property is set
internal bool IsSetArn()
{
return this._arn != null;
}
///
/// Gets and sets the property AvailabilityZone.
///
/// The Availability Zone associated with the resource.
///
///
public string AvailabilityZone
{
get { return this._availabilityZone; }
set { this._availabilityZone = value; }
}
// Check to see if AvailabilityZone property is set
internal bool IsSetAvailabilityZone()
{
return this._availabilityZone != null;
}
///
/// Gets and sets the property AwsRegion.
///
/// The region where the resource resides.
///
///
[AWSProperty(Min=1, Max=64)]
public string AwsRegion
{
get { return this._awsRegion; }
set { this._awsRegion = value; }
}
// Check to see if AwsRegion property is set
internal bool IsSetAwsRegion()
{
return this._awsRegion != null;
}
///
/// Gets and sets the property Configuration.
///
/// The description of the resource configuration.
///
///
public string Configuration
{
get { return this._configuration; }
set { this._configuration = value; }
}
// Check to see if Configuration property is set
internal bool IsSetConfiguration()
{
return this._configuration != null;
}
///
/// Gets and sets the property ConfigurationItemCaptureTime.
///
/// The time when the configuration recording was initiated.
///
///
public DateTime ConfigurationItemCaptureTime
{
get { return this._configurationItemCaptureTime.GetValueOrDefault(); }
set { this._configurationItemCaptureTime = value; }
}
// Check to see if ConfigurationItemCaptureTime property is set
internal bool IsSetConfigurationItemCaptureTime()
{
return this._configurationItemCaptureTime.HasValue;
}
///
/// Gets and sets the property ConfigurationItemMD5Hash.
///
/// Unique MD5 hash that represents the configuration item's state.
///
///
///
/// You can use MD5 hash to compare the states of two or more configuration items that
/// are associated with the same resource.
///
///
public string ConfigurationItemMD5Hash
{
get { return this._configurationItemMD5Hash; }
set { this._configurationItemMD5Hash = value; }
}
// Check to see if ConfigurationItemMD5Hash property is set
internal bool IsSetConfigurationItemMD5Hash()
{
return this._configurationItemMD5Hash != null;
}
///
/// Gets and sets the property ConfigurationItemStatus.
///
/// The configuration item status. The valid values are:
///
/// -
///
/// OK – The resource configuration has been updated
///
///
-
///
/// ResourceDiscovered – The resource was newly discovered
///
///
-
///
/// ResourceNotRecorded – The resource was discovered but its configuration was not recorded
/// since the recorder excludes the recording of resources of this type
///
///
-
///
/// ResourceDeleted – The resource was deleted
///
///
-
///
/// ResourceDeletedNotRecorded – The resource was deleted but its configuration was not
/// recorded since the recorder excludes the recording of resources of this type
///
///
///
/// The CIs do not incur any cost.
///
///
///
public ConfigurationItemStatus ConfigurationItemStatus
{
get { return this._configurationItemStatus; }
set { this._configurationItemStatus = value; }
}
// Check to see if ConfigurationItemStatus property is set
internal bool IsSetConfigurationItemStatus()
{
return this._configurationItemStatus != null;
}
///
/// Gets and sets the property ConfigurationStateId.
///
/// An identifier that indicates the ordering of the configuration items of a resource.
///
///
public string ConfigurationStateId
{
get { return this._configurationStateId; }
set { this._configurationStateId = value; }
}
// Check to see if ConfigurationStateId property is set
internal bool IsSetConfigurationStateId()
{
return this._configurationStateId != null;
}
///
/// Gets and sets the property RelatedEvents.
///
/// A list of CloudTrail event IDs.
///
///
///
/// A populated field indicates that the current configuration was initiated by the events
/// recorded in the CloudTrail log. For more information about CloudTrail, see What
/// Is CloudTrail.
///
///
///
/// An empty field indicates that the current configuration was not initiated by any event.
/// As of Version 1.3, the relatedEvents field is empty. You can access the LookupEvents
/// API in the CloudTrail API Reference to retrieve the events for the resource.
///
///
public List RelatedEvents
{
get { return this._relatedEvents; }
set { this._relatedEvents = value; }
}
// Check to see if RelatedEvents property is set
internal bool IsSetRelatedEvents()
{
return this._relatedEvents != null && this._relatedEvents.Count > 0;
}
///
/// Gets and sets the property Relationships.
///
/// A list of related Amazon Web Services resources.
///
///
public List Relationships
{
get { return this._relationships; }
set { this._relationships = value; }
}
// Check to see if Relationships property is set
internal bool IsSetRelationships()
{
return this._relationships != null && this._relationships.Count > 0;
}
///
/// Gets and sets the property ResourceCreationTime.
///
/// The time stamp when the resource was created.
///
///
public DateTime ResourceCreationTime
{
get { return this._resourceCreationTime.GetValueOrDefault(); }
set { this._resourceCreationTime = value; }
}
// Check to see if ResourceCreationTime property is set
internal bool IsSetResourceCreationTime()
{
return this._resourceCreationTime.HasValue;
}
///
/// Gets and sets the property ResourceId.
///
/// The ID of the resource (for example, sg-xxxxxx
).
///
///
[AWSProperty(Min=1, Max=768)]
public string ResourceId
{
get { return this._resourceId; }
set { this._resourceId = value; }
}
// Check to see if ResourceId property is set
internal bool IsSetResourceId()
{
return this._resourceId != null;
}
///
/// Gets and sets the property ResourceName.
///
/// The custom name of the resource, if available.
///
///
public string ResourceName
{
get { return this._resourceName; }
set { this._resourceName = value; }
}
// Check to see if ResourceName property is set
internal bool IsSetResourceName()
{
return this._resourceName != null;
}
///
/// Gets and sets the property ResourceType.
///
/// The type of Amazon Web Services resource.
///
///
public ResourceType 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 SupplementaryConfiguration.
///
/// Configuration attributes that Config returns for certain resource types to supplement
/// the information returned for the configuration
parameter.
///
///
public Dictionary SupplementaryConfiguration
{
get { return this._supplementaryConfiguration; }
set { this._supplementaryConfiguration = value; }
}
// Check to see if SupplementaryConfiguration property is set
internal bool IsSetSupplementaryConfiguration()
{
return this._supplementaryConfiguration != null && this._supplementaryConfiguration.Count > 0;
}
///
/// Gets and sets the property Tags.
///
/// A mapping of key value tags associated with the resource.
///
///
public Dictionary 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 Version.
///
/// The version number of the resource configuration.
///
///
public string Version
{
get { return this._version; }
set { this._version = value; }
}
// Check to see if Version property is set
internal bool IsSetVersion()
{
return this._version != null;
}
}
}