/*
* 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
{
///
/// Container for the parameters to the ListPrincipals operation.
/// Lists the principals that you are sharing resources with or that are sharing resources
/// with you.
///
public partial class ListPrincipalsRequest : AmazonRAMRequest
{
private int? _maxResults;
private string _nextToken;
private List _principals = new List();
private string _resourceArn;
private ResourceOwner _resourceOwner;
private List _resourceShareArns = new List();
private string _resourceType;
///
/// Gets and sets the property MaxResults.
///
/// Specifies the total number of results that you want included on each page of the response.
/// If you do not include this parameter, it defaults to a value that is specific to the
/// operation. If additional items exist beyond the number you specify, the NextToken
/// response element is returned with a value (not null). Include the specified value
/// as the NextToken
request parameter in the next call to the operation
/// to get the next part of the results. Note that the service might return fewer results
/// than the maximum even when there are more results available. You should check NextToken
/// after every operation to ensure that you receive all of the results.
///
///
[AWSProperty(Min=1, Max=500)]
public int MaxResults
{
get { return this._maxResults.GetValueOrDefault(); }
set { this._maxResults = value; }
}
// Check to see if MaxResults property is set
internal bool IsSetMaxResults()
{
return this._maxResults.HasValue;
}
///
/// Gets and sets the property NextToken.
///
/// Specifies that you want to receive the next page of results. Valid only if you received
/// a NextToken
response in the previous request. If you did, it indicates
/// that more output is available. Set this parameter to the value provided by the previous
/// call's NextToken
response to request the next page of results.
///
///
public string NextToken
{
get { return this._nextToken; }
set { this._nextToken = value; }
}
// Check to see if NextToken property is set
internal bool IsSetNextToken()
{
return this._nextToken != null;
}
///
/// Gets and sets the property Principals.
///
/// Specifies that you want to list information for only the listed principals.
///
///
///
/// You can include the following values:
///
/// -
///
/// An Amazon Web Services account ID, for example:
123456789012
///
/// -
///
/// An Amazon
/// Resource Name (ARN) of an organization in Organizations, for example:
organizations::123456789012:organization/o-exampleorgid
///
///
/// -
///
/// An ARN of an organizational unit (OU) in Organizations, for example:
organizations::123456789012:ou/o-exampleorgid/ou-examplerootid-exampleouid123
///
///
/// -
///
/// An ARN of an IAM role, for example:
iam::123456789012:role/rolename
///
/// -
///
/// An ARN of an IAM user, for example:
iam::123456789012user/username
///
///
///
/// Not all resource types can be shared with IAM roles and users. For more information,
/// see Sharing
/// with IAM roles and users in the Resource Access Manager User Guide.
///
///
///
public List Principals
{
get { return this._principals; }
set { this._principals = value; }
}
// Check to see if Principals property is set
internal bool IsSetPrincipals()
{
return this._principals != null && this._principals.Count > 0;
}
///
/// Gets and sets the property ResourceArn.
///
/// Specifies that you want to list principal information for the resource share with
/// the specified Amazon
/// Resource Name (ARN).
///
///
public string ResourceArn
{
get { return this._resourceArn; }
set { this._resourceArn = value; }
}
// Check to see if ResourceArn property is set
internal bool IsSetResourceArn()
{
return this._resourceArn != null;
}
///
/// Gets and sets the property ResourceOwner.
///
/// Specifies that you want to list information for only resource shares that match the
/// following:
///
/// -
///
///
SELF
– principals that your account is sharing resources with
///
/// -
///
///
OTHER-ACCOUNTS
– principals that are sharing resources with
/// your account
///
///
///
[AWSProperty(Required=true)]
public ResourceOwner ResourceOwner
{
get { return this._resourceOwner; }
set { this._resourceOwner = value; }
}
// Check to see if ResourceOwner property is set
internal bool IsSetResourceOwner()
{
return this._resourceOwner != null;
}
///
/// Gets and sets the property ResourceShareArns.
///
/// Specifies that you want to list information for only principals associated with the
/// resource shares specified by a list the Amazon
/// Resource Names (ARNs).
///
///
public List ResourceShareArns
{
get { return this._resourceShareArns; }
set { this._resourceShareArns = value; }
}
// Check to see if ResourceShareArns property is set
internal bool IsSetResourceShareArns()
{
return this._resourceShareArns != null && this._resourceShareArns.Count > 0;
}
///
/// Gets and sets the property ResourceType.
///
/// Specifies that you want to list information for only principals associated with resource
/// shares that include the specified resource type.
///
///
///
/// For a list of valid values, query the ListResourceTypes operation.
///
///
public string ResourceType
{
get { return this._resourceType; }
set { this._resourceType = value; }
}
// Check to see if ResourceType property is set
internal bool IsSetResourceType()
{
return this._resourceType != null;
}
}
}