/*
* 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 ram-2018-01-04.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.RAM.Model
{
///
/// Describes an association between a resource share and either a principal or a resource.
///
public partial class ResourceShareAssociation
{
private string _associatedEntity;
private ResourceShareAssociationType _associationType;
private DateTime? _creationTime;
private bool? _external;
private DateTime? _lastUpdatedTime;
private string _resourceShareArn;
private string _resourceShareName;
private ResourceShareAssociationStatus _status;
private string _statusMessage;
///
/// Gets and sets the property AssociatedEntity.
///
/// The associated entity. This can be either of the following:
///
/// -
///
/// For a resource association, this is the Amazon
/// Resource Name (ARN) of the resource.
///
///
-
///
/// For principal associations, this is one of the following:
///
///
-
///
/// The ID of an Amazon Web Services account
///
///
-
///
/// The Amazon
/// Resource Name (ARN) of an organization in Organizations
///
///
-
///
/// The ARN of an organizational unit (OU) in Organizations
///
///
-
///
/// The ARN of an IAM role
///
///
-
///
/// The ARN of an IAM user
///
///
///
public string AssociatedEntity
{
get { return this._associatedEntity; }
set { this._associatedEntity = value; }
}
// Check to see if AssociatedEntity property is set
internal bool IsSetAssociatedEntity()
{
return this._associatedEntity != null;
}
///
/// Gets and sets the property AssociationType.
///
/// The type of entity included in this association.
///
///
public ResourceShareAssociationType AssociationType
{
get { return this._associationType; }
set { this._associationType = value; }
}
// Check to see if AssociationType property is set
internal bool IsSetAssociationType()
{
return this._associationType != null;
}
///
/// Gets and sets the property CreationTime.
///
/// The date and time when the association was created.
///
///
public DateTime CreationTime
{
get { return this._creationTime.GetValueOrDefault(); }
set { this._creationTime = value; }
}
// Check to see if CreationTime property is set
internal bool IsSetCreationTime()
{
return this._creationTime.HasValue;
}
///
/// Gets and sets the property External.
///
/// Indicates whether the principal belongs to the same organization in Organizations
/// as the Amazon Web Services account that owns the resource share.
///
///
public bool External
{
get { return this._external.GetValueOrDefault(); }
set { this._external = value; }
}
// Check to see if External property is set
internal bool IsSetExternal()
{
return this._external.HasValue;
}
///
/// Gets and sets the property LastUpdatedTime.
///
/// The date and time when the association was last updated.
///
///
public DateTime LastUpdatedTime
{
get { return this._lastUpdatedTime.GetValueOrDefault(); }
set { this._lastUpdatedTime = value; }
}
// Check to see if LastUpdatedTime property is set
internal bool IsSetLastUpdatedTime()
{
return this._lastUpdatedTime.HasValue;
}
///
/// Gets and sets the property ResourceShareArn.
///
/// The Amazon
/// Resource Name (ARN) of the resource share.
///
///
public string ResourceShareArn
{
get { return this._resourceShareArn; }
set { this._resourceShareArn = value; }
}
// Check to see if ResourceShareArn property is set
internal bool IsSetResourceShareArn()
{
return this._resourceShareArn != null;
}
///
/// Gets and sets the property ResourceShareName.
///
/// The name of the resource share.
///
///
public string ResourceShareName
{
get { return this._resourceShareName; }
set { this._resourceShareName = value; }
}
// Check to see if ResourceShareName property is set
internal bool IsSetResourceShareName()
{
return this._resourceShareName != null;
}
///
/// Gets and sets the property Status.
///
/// The current status of the association.
///
///
public ResourceShareAssociationStatus Status
{
get { return this._status; }
set { this._status = value; }
}
// Check to see if Status property is set
internal bool IsSetStatus()
{
return this._status != null;
}
///
/// Gets and sets the property StatusMessage.
///
/// A message about the status of the association.
///
///
public string StatusMessage
{
get { return this._statusMessage; }
set { this._statusMessage = value; }
}
// Check to see if StatusMessage property is set
internal bool IsSetStatusMessage()
{
return this._statusMessage != null;
}
}
}