/*
* 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 securityhub-2018-10-26.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.SecurityHub.Model
{
///
/// Contains information about an IAM role, including all of the role's policies.
///
public partial class AwsIamRoleDetails
{
private string _assumeRolePolicyDocument;
private List _attachedManagedPolicies = new List();
private string _createDate;
private List _instanceProfileList = new List();
private int? _maxSessionDuration;
private string _path;
private AwsIamPermissionsBoundary _permissionsBoundary;
private string _roleId;
private string _roleName;
private List _rolePolicyList = new List();
///
/// Gets and sets the property AssumeRolePolicyDocument.
///
/// The trust policy that grants permission to assume the role.
///
///
[AWSProperty(Min=1, Max=131072)]
public string AssumeRolePolicyDocument
{
get { return this._assumeRolePolicyDocument; }
set { this._assumeRolePolicyDocument = value; }
}
// Check to see if AssumeRolePolicyDocument property is set
internal bool IsSetAssumeRolePolicyDocument()
{
return this._assumeRolePolicyDocument != null;
}
///
/// Gets and sets the property AttachedManagedPolicies.
///
/// The list of the managed policies that are attached to the role.
///
///
public List AttachedManagedPolicies
{
get { return this._attachedManagedPolicies; }
set { this._attachedManagedPolicies = value; }
}
// Check to see if AttachedManagedPolicies property is set
internal bool IsSetAttachedManagedPolicies()
{
return this._attachedManagedPolicies != null && this._attachedManagedPolicies.Count > 0;
}
///
/// Gets and sets the property CreateDate.
///
/// Indicates when the role was created.
///
///
///
/// Uses the date-time
format specified in RFC
/// 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces,
/// and date and time should be separated by T
. For example, 2020-03-22T13:22:13.933Z
.
///
///
public string CreateDate
{
get { return this._createDate; }
set { this._createDate = value; }
}
// Check to see if CreateDate property is set
internal bool IsSetCreateDate()
{
return this._createDate != null;
}
///
/// Gets and sets the property InstanceProfileList.
///
/// The list of instance profiles that contain this role.
///
///
public List InstanceProfileList
{
get { return this._instanceProfileList; }
set { this._instanceProfileList = value; }
}
// Check to see if InstanceProfileList property is set
internal bool IsSetInstanceProfileList()
{
return this._instanceProfileList != null && this._instanceProfileList.Count > 0;
}
///
/// Gets and sets the property MaxSessionDuration.
///
/// The maximum session duration (in seconds) that you want to set for the specified role.
///
///
public int MaxSessionDuration
{
get { return this._maxSessionDuration.GetValueOrDefault(); }
set { this._maxSessionDuration = value; }
}
// Check to see if MaxSessionDuration property is set
internal bool IsSetMaxSessionDuration()
{
return this._maxSessionDuration.HasValue;
}
///
/// Gets and sets the property Path.
///
/// The path to the role.
///
///
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 PermissionsBoundary.
///
public AwsIamPermissionsBoundary PermissionsBoundary
{
get { return this._permissionsBoundary; }
set { this._permissionsBoundary = value; }
}
// Check to see if PermissionsBoundary property is set
internal bool IsSetPermissionsBoundary()
{
return this._permissionsBoundary != null;
}
///
/// Gets and sets the property RoleId.
///
/// The stable and unique string identifying the role.
///
///
public string RoleId
{
get { return this._roleId; }
set { this._roleId = value; }
}
// Check to see if RoleId property is set
internal bool IsSetRoleId()
{
return this._roleId != null;
}
///
/// Gets and sets the property RoleName.
///
/// The friendly name that identifies the role.
///
///
public string RoleName
{
get { return this._roleName; }
set { this._roleName = value; }
}
// Check to see if RoleName property is set
internal bool IsSetRoleName()
{
return this._roleName != null;
}
///
/// Gets and sets the property RolePolicyList.
///
/// The list of inline policies that are embedded in the role.
///
///
public List RolePolicyList
{
get { return this._rolePolicyList; }
set { this._rolePolicyList = value; }
}
// Check to see if RolePolicyList property is set
internal bool IsSetRolePolicyList()
{
return this._rolePolicyList != null && this._rolePolicyList.Count > 0;
}
}
}