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 SDK for Java with support for OSGi. The AWS SDK for Java provides Java APIs for building software on AWS' cost-effective, scalable, and reliable infrastructure products. The AWS Java SDK allows developers to code against APIs for all of Amazon's infrastructure web services (Amazon S3, Amazon EC2, Amazon SQS, Amazon Relational Database Service, Amazon AutoScaling, etc).

There is a newer version: 1.11.60
Show newest version
/*
 * Copyright 2011-2016 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 com.amazonaws.AmazonWebServiceRequest;

/**
 * 
 */
public class PutKeyPolicyRequest extends AmazonWebServiceRequest implements
        Serializable, Cloneable {

    /**
     * 

* A unique identifier for the CMK. *

*

* Use the CMK's unique identifier or its Amazon Resource Name (ARN). For * example: *

*
    *
  • *

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

    *
  • *
  • *

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

    *
  • *
*/ private String keyId; /** *

* The name of the key policy. *

*

* This value must be default. *

*/ private String policyName; /** *

* The key policy to attach to the CMK. *

*

* The key policy must meet the following criteria: *

*
    *
  • *

    * It must allow the principal making the PutKeyPolicy request * to make a subsequent PutKeyPolicy request on the CMK. This * reduces the likelihood that the CMK becomes unmanageable. For more * information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service * Developer Guide. *

    *
  • *
  • *

    * The principal(s) specified in the key policy must exist and be visible to * AWS KMS. When you create a new AWS principal (for example, an IAM user or * role), you might need to enforce a delay before specifying the new * principal in a key policy because the new principal might not immediately * be visible to AWS KMS. For more information, see Changes that I make are not always immediately visible in the IAM * User Guide. *

    *
  • *
*

* The policy size limit is 32 KiB (32768 bytes). *

*/ private String policy; /** *

* A flag to indicate whether to bypass the key policy lockout safety check. *

* *

* Setting this value to true increases the likelihood that the CMK becomes * unmanageable. Do not set this value to true indiscriminately. *

*

* For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service * Developer Guide. *

*
*

* Use this parameter only when you intend to prevent the principal making * the request from making a subsequent PutKeyPolicy request on * the CMK. *

*

* The default value is false. *

*/ private Boolean bypassPolicyLockoutSafetyCheck; /** *

* A unique identifier for the CMK. *

*

* Use the CMK's unique identifier or its Amazon Resource Name (ARN). For * example: *

*
    *
  • *

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

    *
  • *
  • *

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

    *
  • *
* * @param keyId * A unique identifier for the CMK.

*

* Use the CMK's unique identifier or its Amazon Resource Name (ARN). * For example: *

*
    *
  • *

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

    *
  • *
  • *

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

    *
  • */ public void setKeyId(String keyId) { this.keyId = keyId; } /** *

    * A unique identifier for the CMK. *

    *

    * Use the CMK's unique identifier or its Amazon Resource Name (ARN). For * example: *

    *
      *
    • *

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

      *
    • *
    • *

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

      *
    • *
    * * @return A unique identifier for the CMK.

    *

    * Use the CMK's unique identifier or its Amazon Resource Name * (ARN). For example: *

    *
      *
    • *

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

      *
    • *
    • *

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

      *
    • */ public String getKeyId() { return this.keyId; } /** *

      * A unique identifier for the CMK. *

      *

      * Use the CMK's unique identifier or its Amazon Resource Name (ARN). For * example: *

      *
        *
      • *

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

        *
      • *
      • *

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

        *
      • *
      * * @param keyId * A unique identifier for the CMK.

      *

      * Use the CMK's unique identifier or its Amazon Resource Name (ARN). * For example: *

      *
        *
      • *

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

        *
      • *
      • *

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

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

        *

        * This value must be default. *

        * * @param policyName * The name of the key policy.

        *

        * This value must be default. */ public void setPolicyName(String policyName) { this.policyName = policyName; } /** *

        * The name of the key policy. *

        *

        * This value must be default. *

        * * @return The name of the key policy.

        *

        * This value must be default. */ public String getPolicyName() { return this.policyName; } /** *

        * The name of the key policy. *

        *

        * This value must be default. *

        * * @param policyName * The name of the key policy.

        *

        * This value must be 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 CMK. *

        *

        * The key policy must meet the following criteria: *

        *
          *
        • *

          * It must allow the principal making the PutKeyPolicy request * to make a subsequent PutKeyPolicy request on the CMK. This * reduces the likelihood that the CMK becomes unmanageable. For more * information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service * Developer Guide. *

          *
        • *
        • *

          * The principal(s) specified in the key policy must exist and be visible to * AWS KMS. When you create a new AWS principal (for example, an IAM user or * role), you might need to enforce a delay before specifying the new * principal in a key policy because the new principal might not immediately * be visible to AWS KMS. For more information, see Changes that I make are not always immediately visible in the IAM * User Guide. *

          *
        • *
        *

        * The policy size limit is 32 KiB (32768 bytes). *

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

        *

        * The key policy must meet the following criteria: *

        *
          *
        • *

          * It must allow the principal making the PutKeyPolicy * request to make a subsequent PutKeyPolicy request on * the CMK. This reduces the likelihood that the CMK becomes * unmanageable. For more information, refer to the scenario in the * Default Key Policy section in the AWS Key Management * Service Developer Guide. *

          *
        • *
        • *

          * The principal(s) specified in the key policy must exist and be * visible to AWS KMS. When you create a new AWS principal (for * example, an IAM user or role), you might need to enforce a delay * before specifying the new principal in a key policy because the * new principal might not immediately be visible to AWS KMS. For * more information, see Changes that I make are not always immediately visible in the * IAM User Guide. *

          *
        • *
        *

        * The policy size limit is 32 KiB (32768 bytes). */ public void setPolicy(String policy) { this.policy = policy; } /** *

        * The key policy to attach to the CMK. *

        *

        * The key policy must meet the following criteria: *

        *
          *
        • *

          * It must allow the principal making the PutKeyPolicy request * to make a subsequent PutKeyPolicy request on the CMK. This * reduces the likelihood that the CMK becomes unmanageable. For more * information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service * Developer Guide. *

          *
        • *
        • *

          * The principal(s) specified in the key policy must exist and be visible to * AWS KMS. When you create a new AWS principal (for example, an IAM user or * role), you might need to enforce a delay before specifying the new * principal in a key policy because the new principal might not immediately * be visible to AWS KMS. For more information, see Changes that I make are not always immediately visible in the IAM * User Guide. *

          *
        • *
        *

        * The policy size limit is 32 KiB (32768 bytes). *

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

        *

        * The key policy must meet the following criteria: *

        *
          *
        • *

          * It must allow the principal making the PutKeyPolicy * request to make a subsequent PutKeyPolicy request on * the CMK. This reduces the likelihood that the CMK becomes * unmanageable. For more information, refer to the scenario in the * Default Key Policy section in the AWS Key Management * Service Developer Guide. *

          *
        • *
        • *

          * The principal(s) specified in the key policy must exist and be * visible to AWS KMS. When you create a new AWS principal (for * example, an IAM user or role), you might need to enforce a delay * before specifying the new principal in a key policy because the * new principal might not immediately be visible to AWS KMS. For * more information, see Changes that I make are not always immediately visible in * the IAM User Guide. *

          *
        • *
        *

        * The policy size limit is 32 KiB (32768 bytes). */ public String getPolicy() { return this.policy; } /** *

        * The key policy to attach to the CMK. *

        *

        * The key policy must meet the following criteria: *

        *
          *
        • *

          * It must allow the principal making the PutKeyPolicy request * to make a subsequent PutKeyPolicy request on the CMK. This * reduces the likelihood that the CMK becomes unmanageable. For more * information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service * Developer Guide. *

          *
        • *
        • *

          * The principal(s) specified in the key policy must exist and be visible to * AWS KMS. When you create a new AWS principal (for example, an IAM user or * role), you might need to enforce a delay before specifying the new * principal in a key policy because the new principal might not immediately * be visible to AWS KMS. For more information, see Changes that I make are not always immediately visible in the IAM * User Guide. *

          *
        • *
        *

        * The policy size limit is 32 KiB (32768 bytes). *

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

        *

        * The key policy must meet the following criteria: *

        *
          *
        • *

          * It must allow the principal making the PutKeyPolicy * request to make a subsequent PutKeyPolicy request on * the CMK. This reduces the likelihood that the CMK becomes * unmanageable. For more information, refer to the scenario in the * Default Key Policy section in the AWS Key Management * Service Developer Guide. *

          *
        • *
        • *

          * The principal(s) specified in the key policy must exist and be * visible to AWS KMS. When you create a new AWS principal (for * example, an IAM user or role), you might need to enforce a delay * before specifying the new principal in a key policy because the * new principal might not immediately be visible to AWS KMS. For * more information, see Changes that I make are not always immediately visible in the * IAM User Guide. *

          *
        • *
        *

        * The policy size limit is 32 KiB (32768 bytes). * @return Returns a reference to this object so that method calls can be * chained together. */ public PutKeyPolicyRequest withPolicy(String policy) { setPolicy(policy); return this; } /** *

        * A flag to indicate whether to bypass the key policy lockout safety check. *

        * *

        * Setting this value to true increases the likelihood that the CMK becomes * unmanageable. Do not set this value to true indiscriminately. *

        *

        * For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service * Developer Guide. *

        *
        *

        * Use this parameter only when you intend to prevent the principal making * the request from making a subsequent PutKeyPolicy request on * the CMK. *

        *

        * The default value is false. *

        * * @param bypassPolicyLockoutSafetyCheck * A flag to indicate whether to bypass the key policy lockout safety * check.

        *

        * Setting this value to true increases the likelihood that the CMK * becomes unmanageable. Do not set this value to true * indiscriminately. *

        *

        * For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management * Service Developer Guide. *

        *
        *

        * Use this parameter only when you intend to prevent the principal * making the request from making a subsequent * PutKeyPolicy request on the CMK. *

        *

        * The default value is false. */ public void setBypassPolicyLockoutSafetyCheck( Boolean bypassPolicyLockoutSafetyCheck) { this.bypassPolicyLockoutSafetyCheck = bypassPolicyLockoutSafetyCheck; } /** *

        * A flag to indicate whether to bypass the key policy lockout safety check. *

        * *

        * Setting this value to true increases the likelihood that the CMK becomes * unmanageable. Do not set this value to true indiscriminately. *

        *

        * For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service * Developer Guide. *

        *
        *

        * Use this parameter only when you intend to prevent the principal making * the request from making a subsequent PutKeyPolicy request on * the CMK. *

        *

        * The default value is false. *

        * * @return A flag to indicate whether to bypass the key policy lockout * safety check.

        *

        * Setting this value to true increases the likelihood that the CMK * becomes unmanageable. Do not set this value to true * indiscriminately. *

        *

        * For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management * Service Developer Guide. *

        *
        *

        * Use this parameter only when you intend to prevent the principal * making the request from making a subsequent * PutKeyPolicy request on the CMK. *

        *

        * The default value is false. */ public Boolean getBypassPolicyLockoutSafetyCheck() { return this.bypassPolicyLockoutSafetyCheck; } /** *

        * A flag to indicate whether to bypass the key policy lockout safety check. *

        * *

        * Setting this value to true increases the likelihood that the CMK becomes * unmanageable. Do not set this value to true indiscriminately. *

        *

        * For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service * Developer Guide. *

        *
        *

        * Use this parameter only when you intend to prevent the principal making * the request from making a subsequent PutKeyPolicy request on * the CMK. *

        *

        * The default value is false. *

        * * @param bypassPolicyLockoutSafetyCheck * A flag to indicate whether to bypass the key policy lockout safety * check.

        *

        * Setting this value to true increases the likelihood that the CMK * becomes unmanageable. Do not set this value to true * indiscriminately. *

        *

        * For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management * Service Developer Guide. *

        *
        *

        * Use this parameter only when you intend to prevent the principal * making the request from making a subsequent * PutKeyPolicy request on the CMK. *

        *

        * The default value is false. * @return Returns a reference to this object so that method calls can be * chained together. */ public PutKeyPolicyRequest withBypassPolicyLockoutSafetyCheck( Boolean bypassPolicyLockoutSafetyCheck) { setBypassPolicyLockoutSafetyCheck(bypassPolicyLockoutSafetyCheck); return this; } /** *

        * A flag to indicate whether to bypass the key policy lockout safety check. *

        * *

        * Setting this value to true increases the likelihood that the CMK becomes * unmanageable. Do not set this value to true indiscriminately. *

        *

        * For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service * Developer Guide. *

        *
        *

        * Use this parameter only when you intend to prevent the principal making * the request from making a subsequent PutKeyPolicy request on * the CMK. *

        *

        * The default value is false. *

        * * @return A flag to indicate whether to bypass the key policy lockout * safety check.

        *

        * Setting this value to true increases the likelihood that the CMK * becomes unmanageable. Do not set this value to true * indiscriminately. *

        *

        * For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management * Service Developer Guide. *

        *
        *

        * Use this parameter only when you intend to prevent the principal * making the request from making a subsequent * PutKeyPolicy request on the CMK. *

        *

        * The default value is false. */ public Boolean isBypassPolicyLockoutSafetyCheck() { return this.bypassPolicyLockoutSafetyCheck; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @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: " + getKeyId() + ","); if (getPolicyName() != null) sb.append("PolicyName: " + getPolicyName() + ","); if (getPolicy() != null) sb.append("Policy: " + getPolicy() + ","); if (getBypassPolicyLockoutSafetyCheck() != null) sb.append("BypassPolicyLockoutSafetyCheck: " + 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 - 2025 Weber Informatics LLC | Privacy Policy