All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.kms.model.PutKeyPolicyRequest Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS KMS module holds the client classes that are used for communicating with AWS Key Management Service

The newest version!
/*
 * Copyright 2019-2024 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.
 */
package com.amazonaws.services.kms.model;

import java.io.Serializable;
import javax.annotation.Generated;

import com.amazonaws.AmazonWebServiceRequest;

/**
 * 
 * @see AWS API
 *      Documentation
 */
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class PutKeyPolicyRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {

    /**
     * 

* Sets the key policy on the specified KMS key. *

*

* Specify the key ID or key ARN of the KMS key. *

*

* For example: *

*
    *
  • *

    * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab *

    *
  • *
  • *

    * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab *

    *
  • *
*

* To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey. *

*/ private String keyId; /** *

* The name of the key policy. If no policy name is specified, the default value is default. The only * valid value is default. *

*/ private String policyName; /** *

* The key policy to attach to the KMS key. *

*

* The key policy must meet the following criteria: *

*
    *
  • *

    * The key policy must allow the calling principal to make a subsequent PutKeyPolicy request on the KMS * key. This reduces the risk that the KMS key becomes unmanageable. For more information, see Default key policy in the Key Management Service Developer Guide. (To omit this condition, set * BypassPolicyLockoutSafetyCheck to true.) *

    *
  • *
  • *

    * Each statement in the key policy must contain one or more principals. The principals in the key policy must exist * and be visible to KMS. When you create a new Amazon Web Services principal, you might need to enforce a delay * before including the new principal in a key policy because the new principal might not be immediately visible to * KMS. For more information, see Changes that I make are not always immediately visible in the Amazon Web Services Identity and Access * Management User Guide. *

    *
  • *
*

* A key policy document can include only the following characters: *

*
    *
  • *

    * Printable ASCII characters from the space character (\u0020) through the end of the ASCII character * range. *

    *
  • *
  • *

    * Printable characters in the Basic Latin and Latin-1 Supplement character set (through \u00FF). *

    *
  • *
  • *

    * The tab (\u0009), line feed (\u000A), and carriage return (\u000D) special * 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 . *

*/ private String policy; /** *

* 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. *

*/ private Boolean bypassPolicyLockoutSafetyCheck; /** *

* Sets the key policy on the specified KMS key. *

*

* Specify the key ID or key ARN of the KMS key. *

*

* For example: *

*
    *
  • *

    * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab *

    *
  • *
  • *

    * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab *

    *
  • *
*

* To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey. *

* * @param keyId * Sets the key policy on the specified KMS key.

*

* Specify the key ID or key ARN of the KMS key. *

*

* For example: *

*
    *
  • *

    * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab *

    *
  • *
  • *

    * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab *

    *
  • *
*

* To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey. */ public void setKeyId(String keyId) { this.keyId = keyId; } /** *

* Sets the key policy on the specified KMS key. *

*

* Specify the key ID or key ARN of the KMS key. *

*

* For example: *

*
    *
  • *

    * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab *

    *
  • *
  • *

    * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab *

    *
  • *
*

* To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey. *

* * @return Sets the key policy on the specified KMS key.

*

* Specify the key ID or key ARN of the KMS key. *

*

* For example: *

*
    *
  • *

    * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab *

    *
  • *
  • *

    * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab *

    *
  • *
*

* To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey. */ public String getKeyId() { return this.keyId; } /** *

* Sets the key policy on the specified KMS key. *

*

* Specify the key ID or key ARN of the KMS key. *

*

* For example: *

*
    *
  • *

    * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab *

    *
  • *
  • *

    * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab *

    *
  • *
*

* To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey. *

* * @param keyId * Sets the key policy on the specified KMS key.

*

* Specify the key ID or key ARN of the KMS key. *

*

* For example: *

*
    *
  • *

    * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab *

    *
  • *
  • *

    * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab *

    *
  • *
*

* To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey. * @return Returns a reference to this object so that method calls can be chained together. */ public PutKeyPolicyRequest withKeyId(String keyId) { setKeyId(keyId); return this; } /** *

* The name of the key policy. If no policy name is specified, the default value is default. The only * valid value is default. *

* * @param policyName * The name of the key policy. If no policy name is specified, the default value is default. The * only valid value is default. */ public void setPolicyName(String policyName) { this.policyName = policyName; } /** *

* The name of the key policy. If no policy name is specified, the default value is default. The only * valid value is default. *

* * @return The name of the key policy. If no policy name is specified, the default value is default. * The only valid value is default. */ public String getPolicyName() { return this.policyName; } /** *

* The name of the key policy. If no policy name is specified, the default value is default. The only * valid value is default. *

* * @param policyName * The name of the key policy. If no policy name is specified, the default value is default. The * only valid value is default. * @return Returns a reference to this object so that method calls can be chained together. */ public PutKeyPolicyRequest withPolicyName(String policyName) { setPolicyName(policyName); return this; } /** *

* The key policy to attach to the KMS key. *

*

* The key policy must meet the following criteria: *

*
    *
  • *

    * The key policy must allow the calling principal to make a subsequent PutKeyPolicy request on the KMS * key. This reduces the risk that the KMS key becomes unmanageable. For more information, see Default key policy in the Key Management Service Developer Guide. (To omit this condition, set * BypassPolicyLockoutSafetyCheck to true.) *

    *
  • *
  • *

    * Each statement in the key policy must contain one or more principals. The principals in the key policy must exist * and be visible to KMS. When you create a new Amazon Web Services principal, you might need to enforce a delay * before including the new principal in a key policy because the new principal might not be immediately visible to * KMS. For more information, see Changes that I make are not always immediately visible in the Amazon Web Services Identity and Access * Management User Guide. *

    *
  • *
*

* A key policy document can include only the following characters: *

*
    *
  • *

    * Printable ASCII characters from the space character (\u0020) through the end of the ASCII character * range. *

    *
  • *
  • *

    * Printable characters in the Basic Latin and Latin-1 Supplement character set (through \u00FF). *

    *
  • *
  • *

    * The tab (\u0009), line feed (\u000A), and carriage return (\u000D) special * 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 . *

* * @param policy * The key policy to attach to the KMS key.

*

* The key policy must meet the following criteria: *

*
    *
  • *

    * The key policy must allow the calling principal to make a subsequent PutKeyPolicy request on * the KMS key. This reduces the risk that the KMS key becomes unmanageable. For more information, see Default key policy in the Key Management Service Developer Guide. (To omit this condition, set * BypassPolicyLockoutSafetyCheck to true.) *

    *
  • *
  • *

    * Each statement in the key policy must contain one or more principals. The principals in the key policy * must exist and be visible to KMS. When you create a new Amazon Web Services principal, you might need to * enforce a delay before including the new principal in a key policy because the new principal might not be * immediately visible to KMS. For more information, see Changes that I make are not always immediately visible in the Amazon Web Services Identity and * Access Management User Guide. *

    *
  • *
*

* A key policy document can include only the following characters: *

*
    *
  • *

    * Printable ASCII characters from the space character (\u0020) through the end of the ASCII * character range. *

    *
  • *
  • *

    * Printable characters in the Basic Latin and Latin-1 Supplement character set (through \u00FF * ). *

    *
  • *
  • *

    * The tab (\u0009), line feed (\u000A), and carriage return (\u000D) * special 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 . */ public void setPolicy(String policy) { this.policy = policy; } /** *

* The key policy to attach to the KMS key. *

*

* The key policy must meet the following criteria: *

*
    *
  • *

    * The key policy must allow the calling principal to make a subsequent PutKeyPolicy request on the KMS * key. This reduces the risk that the KMS key becomes unmanageable. For more information, see Default key policy in the Key Management Service Developer Guide. (To omit this condition, set * BypassPolicyLockoutSafetyCheck to true.) *

    *
  • *
  • *

    * Each statement in the key policy must contain one or more principals. The principals in the key policy must exist * and be visible to KMS. When you create a new Amazon Web Services principal, you might need to enforce a delay * before including the new principal in a key policy because the new principal might not be immediately visible to * KMS. For more information, see Changes that I make are not always immediately visible in the Amazon Web Services Identity and Access * Management User Guide. *

    *
  • *
*

* A key policy document can include only the following characters: *

*
    *
  • *

    * Printable ASCII characters from the space character (\u0020) through the end of the ASCII character * range. *

    *
  • *
  • *

    * Printable characters in the Basic Latin and Latin-1 Supplement character set (through \u00FF). *

    *
  • *
  • *

    * The tab (\u0009), line feed (\u000A), and carriage return (\u000D) special * 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 . *

* * @return The key policy to attach to the KMS key.

*

* The key policy must meet the following criteria: *

*
    *
  • *

    * The key policy must allow the calling principal to make a subsequent PutKeyPolicy request on * the KMS key. This reduces the risk that the KMS key becomes unmanageable. For more information, see Default key policy in the Key Management Service Developer Guide. (To omit this condition, * set BypassPolicyLockoutSafetyCheck to true.) *

    *
  • *
  • *

    * Each statement in the key policy must contain one or more principals. The principals in the key policy * must exist and be visible to KMS. When you create a new Amazon Web Services principal, you might need to * enforce a delay before including the new principal in a key policy because the new principal might not be * immediately visible to KMS. For more information, see Changes that I make are not always immediately visible in the Amazon Web Services Identity and * Access Management User Guide. *

    *
  • *
*

* A key policy document can include only the following characters: *

*
    *
  • *

    * Printable ASCII characters from the space character (\u0020) through the end of the ASCII * character range. *

    *
  • *
  • *

    * Printable characters in the Basic Latin and Latin-1 Supplement character set (through \u00FF * ). *

    *
  • *
  • *

    * The tab (\u0009), line feed (\u000A), and carriage return (\u000D) * special 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 . */ public String getPolicy() { return this.policy; } /** *

* The key policy to attach to the KMS key. *

*

* The key policy must meet the following criteria: *

*
    *
  • *

    * The key policy must allow the calling principal to make a subsequent PutKeyPolicy request on the KMS * key. This reduces the risk that the KMS key becomes unmanageable. For more information, see Default key policy in the Key Management Service Developer Guide. (To omit this condition, set * BypassPolicyLockoutSafetyCheck to true.) *

    *
  • *
  • *

    * Each statement in the key policy must contain one or more principals. The principals in the key policy must exist * and be visible to KMS. When you create a new Amazon Web Services principal, you might need to enforce a delay * before including the new principal in a key policy because the new principal might not be immediately visible to * KMS. For more information, see Changes that I make are not always immediately visible in the Amazon Web Services Identity and Access * Management User Guide. *

    *
  • *
*

* A key policy document can include only the following characters: *

*
    *
  • *

    * Printable ASCII characters from the space character (\u0020) through the end of the ASCII character * range. *

    *
  • *
  • *

    * Printable characters in the Basic Latin and Latin-1 Supplement character set (through \u00FF). *

    *
  • *
  • *

    * The tab (\u0009), line feed (\u000A), and carriage return (\u000D) special * 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 . *

* * @param policy * The key policy to attach to the KMS key.

*

* The key policy must meet the following criteria: *

*
    *
  • *

    * The key policy must allow the calling principal to make a subsequent PutKeyPolicy request on * the KMS key. This reduces the risk that the KMS key becomes unmanageable. For more information, see Default key policy in the Key Management Service Developer Guide. (To omit this condition, set * BypassPolicyLockoutSafetyCheck to true.) *

    *
  • *
  • *

    * Each statement in the key policy must contain one or more principals. The principals in the key policy * must exist and be visible to KMS. When you create a new Amazon Web Services principal, you might need to * enforce a delay before including the new principal in a key policy because the new principal might not be * immediately visible to KMS. For more information, see Changes that I make are not always immediately visible in the Amazon Web Services Identity and * Access Management User Guide. *

    *
  • *
*

* A key policy document can include only the following characters: *

*
    *
  • *

    * Printable ASCII characters from the space character (\u0020) through the end of the ASCII * character range. *

    *
  • *
  • *

    * Printable characters in the Basic Latin and Latin-1 Supplement character set (through \u00FF * ). *

    *
  • *
  • *

    * The tab (\u0009), line feed (\u000A), and carriage return (\u000D) * special 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 . * @return Returns a reference to this object so that method calls can be chained together. */ public PutKeyPolicyRequest withPolicy(String policy) { setPolicy(policy); return this; } /** *

* 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. *

* * @param 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 void setBypassPolicyLockoutSafetyCheck(Boolean bypassPolicyLockoutSafetyCheck) { this.bypassPolicyLockoutSafetyCheck = 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. *

* * @return 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 Boolean getBypassPolicyLockoutSafetyCheck() { return this.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. *

* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public PutKeyPolicyRequest withBypassPolicyLockoutSafetyCheck(Boolean bypassPolicyLockoutSafetyCheck) { setBypassPolicyLockoutSafetyCheck(bypassPolicyLockoutSafetyCheck); return this; } /** *

* 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. *

* * @return 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 Boolean isBypassPolicyLockoutSafetyCheck() { return this.bypassPolicyLockoutSafetyCheck; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getKeyId() != null) sb.append("KeyId: ").append(getKeyId()).append(","); if (getPolicyName() != null) sb.append("PolicyName: ").append(getPolicyName()).append(","); if (getPolicy() != null) sb.append("Policy: ").append(getPolicy()).append(","); if (getBypassPolicyLockoutSafetyCheck() != null) sb.append("BypassPolicyLockoutSafetyCheck: ").append(getBypassPolicyLockoutSafetyCheck()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof PutKeyPolicyRequest == false) return false; PutKeyPolicyRequest other = (PutKeyPolicyRequest) obj; if (other.getKeyId() == null ^ this.getKeyId() == null) return false; if (other.getKeyId() != null && other.getKeyId().equals(this.getKeyId()) == false) return false; if (other.getPolicyName() == null ^ this.getPolicyName() == null) return false; if (other.getPolicyName() != null && other.getPolicyName().equals(this.getPolicyName()) == false) return false; if (other.getPolicy() == null ^ this.getPolicy() == null) return false; if (other.getPolicy() != null && other.getPolicy().equals(this.getPolicy()) == false) return false; if (other.getBypassPolicyLockoutSafetyCheck() == null ^ this.getBypassPolicyLockoutSafetyCheck() == null) return false; if (other.getBypassPolicyLockoutSafetyCheck() != null && other.getBypassPolicyLockoutSafetyCheck().equals(this.getBypassPolicyLockoutSafetyCheck()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getKeyId() == null) ? 0 : getKeyId().hashCode()); hashCode = prime * hashCode + ((getPolicyName() == null) ? 0 : getPolicyName().hashCode()); hashCode = prime * hashCode + ((getPolicy() == null) ? 0 : getPolicy().hashCode()); hashCode = prime * hashCode + ((getBypassPolicyLockoutSafetyCheck() == null) ? 0 : getBypassPolicyLockoutSafetyCheck().hashCode()); return hashCode; } @Override public PutKeyPolicyRequest clone() { return (PutKeyPolicyRequest) super.clone(); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy