/* * 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 PutKeyPolicy operation. /// Attaches a key policy to the specified KMS key. /// /// /// /// For more information about key policies, see Key /// Policies in the Key Management Service Developer Guide. For help writing /// and formatting a JSON policy document, see the IAM /// JSON Policy Reference in the Identity and Access Management User Guide /// . For examples of adding a key policy in multiple programming languages, see Setting /// a key policy in the Key Management Service Developer Guide. /// /// /// /// Cross-account use: No. You cannot perform this operation on a KMS key in a /// different Amazon Web Services account. /// /// /// /// Required permissions: kms:PutKeyPolicy /// (key policy) /// /// /// /// Related operations: GetKeyPolicy /// /// public partial class PutKeyPolicyRequest : AmazonKeyManagementServiceRequest { private bool? _bypassPolicyLockoutSafetyCheck; private string _keyId; private string _policy; private string _policyName; /// /// Gets and sets the property BypassPolicyLockoutSafetyCheck. /// /// Skips ("bypasses") the key policy lockout safety check. The default value is false. /// /// /// /// Setting this value to true increases the risk that the KMS key becomes unmanageable. /// Do not set this value to true indiscriminately. /// /// /// /// For more information, see Default /// key policy in the Key Management Service Developer Guide. /// /// /// /// Use this parameter only when you intend to prevent the principal that is making the /// request from making a subsequent PutKeyPolicy request on the KMS key. /// /// public bool BypassPolicyLockoutSafetyCheck { get { return this._bypassPolicyLockoutSafetyCheck.GetValueOrDefault(); } set { this._bypassPolicyLockoutSafetyCheck = value; } } // Check to see if BypassPolicyLockoutSafetyCheck property is set internal bool IsSetBypassPolicyLockoutSafetyCheck() { return this._bypassPolicyLockoutSafetyCheck.HasValue; } /// /// Gets and sets the property KeyId. /// /// Sets the key policy on the specified KMS key. /// /// /// /// Specify the key ID or key ARN of the KMS key. /// /// /// /// 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 Policy. /// /// The key policy to attach to the KMS key. /// /// /// /// The key policy must meet the following criteria: /// /// /// /// A key policy document can include only the following characters: /// /// /// /// For information about key policies, see Key /// policies in KMS in the Key Management Service Developer Guide.For help /// writing and formatting a JSON policy document, see the IAM /// JSON Policy Reference in the Identity and Access Management User Guide /// . /// /// [AWSProperty(Required=true, Min=1, Max=131072)] public string Policy { get { return this._policy; } set { this._policy = value; } } // Check to see if Policy property is set internal bool IsSetPolicy() { return this._policy != null; } /// /// Gets and sets the property PolicyName. /// /// The name of the key policy. The only valid value is default. /// /// [AWSProperty(Required=true, Min=1, Max=128)] public string PolicyName { get { return this._policyName; } set { this._policyName = value; } } // Check to see if PolicyName property is set internal bool IsSetPolicyName() { return this._policyName != null; } } }