/*
* 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 iam-2010-05-08.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.IdentityManagement.Model
{
///
/// Contains information about an instance profile.
///
///
///
/// This data type is used as a response element in the following operations:
///
///
///
public partial class InstanceProfile
{
private string _arn;
private DateTime? _createDate;
private string _instanceProfileId;
private string _instanceProfileName;
private string _path;
private List _roles = new List();
private List _tags = new List();
///
/// Gets and sets the property Arn.
///
/// The Amazon Resource Name (ARN) specifying the instance profile. For more information
/// about ARNs and how to use them in policies, see IAM
/// identifiers in the IAM User Guide.
///
///
[AWSProperty(Required=true, Min=20, Max=2048)]
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 CreateDate.
///
/// The date when the instance profile was created.
///
///
[AWSProperty(Required=true)]
public DateTime CreateDate
{
get { return this._createDate.GetValueOrDefault(); }
set { this._createDate = value; }
}
// Check to see if CreateDate property is set
internal bool IsSetCreateDate()
{
return this._createDate.HasValue;
}
///
/// Gets and sets the property InstanceProfileId.
///
/// The stable and unique string identifying the instance profile. For more information
/// about IDs, see IAM
/// identifiers in the IAM User Guide.
///
///
[AWSProperty(Required=true, Min=16, Max=128)]
public string InstanceProfileId
{
get { return this._instanceProfileId; }
set { this._instanceProfileId = value; }
}
// Check to see if InstanceProfileId property is set
internal bool IsSetInstanceProfileId()
{
return this._instanceProfileId != null;
}
///
/// Gets and sets the property InstanceProfileName.
///
/// The name identifying the instance profile.
///
///
[AWSProperty(Required=true, Min=1, Max=128)]
public string InstanceProfileName
{
get { return this._instanceProfileName; }
set { this._instanceProfileName = value; }
}
// Check to see if InstanceProfileName property is set
internal bool IsSetInstanceProfileName()
{
return this._instanceProfileName != null;
}
///
/// Gets and sets the property Path.
///
/// The path to the instance profile. For more information about paths, see IAM
/// identifiers in the IAM User Guide.
///
///
[AWSProperty(Required=true, Min=1, Max=512)]
public string Path
{
get { return this._path; }
set { this._path = value; }
}
// Check to see if Path property is set
internal bool IsSetPath()
{
return this._path != null;
}
///
/// Gets and sets the property Roles.
///
/// The role associated with the instance profile.
///
///
[AWSProperty(Required=true)]
public List Roles
{
get { return this._roles; }
set { this._roles = value; }
}
// Check to see if Roles property is set
internal bool IsSetRoles()
{
return this._roles != null && this._roles.Count > 0;
}
///
/// Gets and sets the property Tags.
///
/// A list of tags that are attached to the instance profile. For more information about
/// tagging, see Tagging
/// IAM resources in the IAM User Guide.
///
///
[AWSProperty(Max=50)]
public List 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;
}
}
}