/* * 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 rolesanywhere-2018-05-10.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.IAMRolesAnywhere.Model { /// /// Container for the parameters to the CreateProfile operation. /// Creates a profile, a list of the roles that Roles Anywhere service is trusted /// to assume. You use profiles to intersect permissions with IAM managed policies. /// /// /// /// Required permissions: rolesanywhere:CreateProfile. /// /// public partial class CreateProfileRequest : AmazonIAMRolesAnywhereRequest { private int? _durationSeconds; private bool? _enabled; private List _managedPolicyArns = new List(); private string _name; private bool? _requireInstanceProperties; private List _roleArns = new List(); private string _sessionPolicy; private List _tags = new List(); /// /// Gets and sets the property DurationSeconds. /// /// The number of seconds the vended session credentials are valid for. /// /// [AWSProperty(Min=900, Max=3600)] public int DurationSeconds { get { return this._durationSeconds.GetValueOrDefault(); } set { this._durationSeconds = value; } } // Check to see if DurationSeconds property is set internal bool IsSetDurationSeconds() { return this._durationSeconds.HasValue; } /// /// Gets and sets the property Enabled. /// /// Specifies whether the profile is enabled. /// /// public bool Enabled { get { return this._enabled.GetValueOrDefault(); } set { this._enabled = value; } } // Check to see if Enabled property is set internal bool IsSetEnabled() { return this._enabled.HasValue; } /// /// Gets and sets the property ManagedPolicyArns. /// /// A list of managed policy ARNs that apply to the vended session credentials. /// /// [AWSProperty(Min=0, Max=50)] public List ManagedPolicyArns { get { return this._managedPolicyArns; } set { this._managedPolicyArns = value; } } // Check to see if ManagedPolicyArns property is set internal bool IsSetManagedPolicyArns() { return this._managedPolicyArns != null && this._managedPolicyArns.Count > 0; } /// /// Gets and sets the property Name. /// /// The name of the profile. /// /// [AWSProperty(Required=true, Min=1, Max=255)] public string Name { get { return this._name; } set { this._name = value; } } // Check to see if Name property is set internal bool IsSetName() { return this._name != null; } /// /// Gets and sets the property RequireInstanceProperties. /// /// Specifies whether instance properties are required in temporary credential requests /// with this profile. /// /// public bool RequireInstanceProperties { get { return this._requireInstanceProperties.GetValueOrDefault(); } set { this._requireInstanceProperties = value; } } // Check to see if RequireInstanceProperties property is set internal bool IsSetRequireInstanceProperties() { return this._requireInstanceProperties.HasValue; } /// /// Gets and sets the property RoleArns. /// /// A list of IAM roles that this profile can assume in a temporary credential request. /// /// [AWSProperty(Required=true, Min=0, Max=50)] public List RoleArns { get { return this._roleArns; } set { this._roleArns = value; } } // Check to see if RoleArns property is set internal bool IsSetRoleArns() { return this._roleArns != null && this._roleArns.Count > 0; } /// /// Gets and sets the property SessionPolicy. /// /// A session policy that applies to the trust boundary of the vended session credentials. /// /// /// public string SessionPolicy { get { return this._sessionPolicy; } set { this._sessionPolicy = value; } } // Check to see if SessionPolicy property is set internal bool IsSetSessionPolicy() { return this._sessionPolicy != null; } /// /// Gets and sets the property Tags. /// /// The tags to attach to the profile. /// /// [AWSProperty(Min=0, Max=200)] 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; } } }