/* * 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 kms-2014-11-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.KeyManagementService.Model { /// /// Container for the parameters to the ListGrants operation. /// Gets a list of all grants for the specified KMS key. /// /// /// /// You must specify the KMS key in all requests. You can filter the grant list by grant /// ID or grantee principal. /// /// /// /// For detailed information about grants, including grant terminology, see Grants /// in KMS in the Key Management Service Developer Guide . For examples /// of working with grants in several programming languages, see Programming /// grants. /// /// /// /// The GranteePrincipal field in the ListGrants response usually /// contains the user or role designated as the grantee principal in the grant. However, /// when the grantee principal in the grant is an Amazon Web Services service, the GranteePrincipal /// field contains the service /// principal, which might represent several different grantee principals. /// /// /// /// Cross-account use: Yes. To perform this operation on a KMS key in a different /// Amazon Web Services account, specify the key ARN in the value of the KeyId /// parameter. /// /// /// /// Required permissions: kms:ListGrants /// (key policy) /// /// /// /// Related operations: /// /// /// public partial class ListGrantsRequest : AmazonKeyManagementServiceRequest { private string _granteePrincipal; private string _grantId; private string _keyId; private int? _limit; private string _marker; /// /// Gets and sets the property GranteePrincipal. /// /// Returns only grants where the specified principal is the grantee principal for the /// grant. /// /// [AWSProperty(Min=1, Max=256)] public string GranteePrincipal { get { return this._granteePrincipal; } set { this._granteePrincipal = value; } } // Check to see if GranteePrincipal property is set internal bool IsSetGranteePrincipal() { return this._granteePrincipal != null; } /// /// Gets and sets the property GrantId. /// /// Returns only the grant with the specified grant ID. The grant ID uniquely identifies /// the grant. /// /// [AWSProperty(Min=1, Max=128)] public string GrantId { get { return this._grantId; } set { this._grantId = value; } } // Check to see if GrantId property is set internal bool IsSetGrantId() { return this._grantId != null; } /// /// Gets and sets the property KeyId. /// /// Returns only grants for the specified KMS key. This parameter is required. /// /// /// /// Specify the key ID or key ARN of the KMS key. To specify a KMS key in a different /// Amazon Web Services account, you must use the key ARN. /// /// /// /// For example: /// /// /// /// To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey. /// /// [AWSProperty(Required=true, Min=1, Max=2048)] public string KeyId { get { return this._keyId; } set { this._keyId = value; } } // Check to see if KeyId property is set internal bool IsSetKeyId() { return this._keyId != null; } /// /// Gets and sets the property Limit. /// /// Use this parameter to specify the maximum number of items to return. When this value /// is present, KMS does not return more than the specified number of items, but it might /// return fewer. /// /// /// /// This value is optional. If you include a value, it must be between 1 and 100, inclusive. /// If you do not include a value, it defaults to 50. /// /// [AWSProperty(Min=1, Max=1000)] public int Limit { get { return this._limit.GetValueOrDefault(); } set { this._limit = value; } } // Check to see if Limit property is set internal bool IsSetLimit() { return this._limit.HasValue; } /// /// Gets and sets the property Marker. /// /// Use this parameter in a subsequent request after you receive a response with truncated /// results. Set it to the value of NextMarker from the truncated response /// you just received. /// /// [AWSProperty(Min=1, Max=1024)] public string Marker { get { return this._marker; } set { this._marker = value; } } // Check to see if Marker property is set internal bool IsSetMarker() { return this._marker != null; } } }