/*
* 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 redshift-2012-12-01.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.Redshift.Model
{
///
/// Container for the parameters to the ModifyClusterIamRoles operation.
/// Modifies the list of Identity and Access Management (IAM) roles that can be used by
/// the cluster to access other Amazon Web Services services.
///
///
///
/// The maximum number of IAM roles that you can associate is subject to a quota. For
/// more information, go to Quotas
/// and limits in the Amazon Redshift Cluster Management Guide.
///
///
public partial class ModifyClusterIamRolesRequest : AmazonRedshiftRequest
{
private List _addIamRoles = new List();
private string _clusterIdentifier;
private string _defaultIamRoleArn;
private List _removeIamRoles = new List();
///
/// Gets and sets the property AddIamRoles.
///
/// Zero or more IAM roles to associate with the cluster. The roles must be in their Amazon
/// Resource Name (ARN) format.
///
///
public List AddIamRoles
{
get { return this._addIamRoles; }
set { this._addIamRoles = value; }
}
// Check to see if AddIamRoles property is set
internal bool IsSetAddIamRoles()
{
return this._addIamRoles != null && this._addIamRoles.Count > 0;
}
///
/// Gets and sets the property ClusterIdentifier.
///
/// The unique identifier of the cluster for which you want to associate or disassociate
/// IAM roles.
///
///
[AWSProperty(Required=true, Max=2147483647)]
public string ClusterIdentifier
{
get { return this._clusterIdentifier; }
set { this._clusterIdentifier = value; }
}
// Check to see if ClusterIdentifier property is set
internal bool IsSetClusterIdentifier()
{
return this._clusterIdentifier != null;
}
///
/// Gets and sets the property DefaultIamRoleArn.
///
/// The Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster
/// when the cluster was last modified.
///
///
[AWSProperty(Max=2147483647)]
public string DefaultIamRoleArn
{
get { return this._defaultIamRoleArn; }
set { this._defaultIamRoleArn = value; }
}
// Check to see if DefaultIamRoleArn property is set
internal bool IsSetDefaultIamRoleArn()
{
return this._defaultIamRoleArn != null;
}
///
/// Gets and sets the property RemoveIamRoles.
///
/// Zero or more IAM roles in ARN format to disassociate from the cluster.
///
///
public List RemoveIamRoles
{
get { return this._removeIamRoles; }
set { this._removeIamRoles = value; }
}
// Check to see if RemoveIamRoles property is set
internal bool IsSetRemoveIamRoles()
{
return this._removeIamRoles != null && this._removeIamRoles.Count > 0;
}
}
}