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

com.amazonaws.services.ec2.model.CopyImageRequest 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.ec2.model;

import java.io.Serializable;
import com.amazonaws.AmazonWebServiceRequest;
import com.amazonaws.Request;
import com.amazonaws.services.ec2.model.transform.CopyImageRequestMarshaller;

/**
 * 

* Contains the parameters for CopyImage. *

*/ public class CopyImageRequest extends AmazonWebServiceRequest implements Serializable, Cloneable, DryRunSupportedRequest { /** *

* The name of the region that contains the AMI to copy. *

*/ private String sourceRegion; /** *

* The ID of the AMI to copy. *

*/ private String sourceImageId; /** *

* The name of the new AMI in the destination region. *

*/ private String name; /** *

* A description for the new AMI in the destination region. *

*/ private String description; /** *

* Unique, case-sensitive identifier you provide to ensure idempotency of * the request. For more information, see How to Ensure Idempotency in the Amazon Elastic Compute Cloud * User Guide. *

*/ private String clientToken; /** *

* Specifies whether the destination snapshots of the copied image should be * encrypted. The default CMK for EBS is used unless a non-default AWS Key * Management Service (AWS KMS) CMK is specified with KmsKeyId. * For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User * Guide. *

*/ private Boolean encrypted; /** *

* The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when * encrypting the snapshots of an image during a copy operation. This * parameter is only required if you want to use a non-default CMK; if this * parameter is not specified, the default CMK for EBS is used. The ARN * contains the arn:aws:kms namespace, followed by the region * of the CMK, the AWS account ID of the CMK owner, the key * namespace, and then the CMK ID. For example, * arn:aws:kms:us-east-1: * 012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef. The * specified CMK must exist in the region that the snapshot is being copied * to. If a KmsKeyId is specified, the Encrypted * flag must also be set. *

*/ private String kmsKeyId; /** *

* The name of the region that contains the AMI to copy. *

* * @param sourceRegion * The name of the region that contains the AMI to copy. */ public void setSourceRegion(String sourceRegion) { this.sourceRegion = sourceRegion; } /** *

* The name of the region that contains the AMI to copy. *

* * @return The name of the region that contains the AMI to copy. */ public String getSourceRegion() { return this.sourceRegion; } /** *

* The name of the region that contains the AMI to copy. *

* * @param sourceRegion * The name of the region that contains the AMI to copy. * @return Returns a reference to this object so that method calls can be * chained together. */ public CopyImageRequest withSourceRegion(String sourceRegion) { setSourceRegion(sourceRegion); return this; } /** *

* The ID of the AMI to copy. *

* * @param sourceImageId * The ID of the AMI to copy. */ public void setSourceImageId(String sourceImageId) { this.sourceImageId = sourceImageId; } /** *

* The ID of the AMI to copy. *

* * @return The ID of the AMI to copy. */ public String getSourceImageId() { return this.sourceImageId; } /** *

* The ID of the AMI to copy. *

* * @param sourceImageId * The ID of the AMI to copy. * @return Returns a reference to this object so that method calls can be * chained together. */ public CopyImageRequest withSourceImageId(String sourceImageId) { setSourceImageId(sourceImageId); return this; } /** *

* The name of the new AMI in the destination region. *

* * @param name * The name of the new AMI in the destination region. */ public void setName(String name) { this.name = name; } /** *

* The name of the new AMI in the destination region. *

* * @return The name of the new AMI in the destination region. */ public String getName() { return this.name; } /** *

* The name of the new AMI in the destination region. *

* * @param name * The name of the new AMI in the destination region. * @return Returns a reference to this object so that method calls can be * chained together. */ public CopyImageRequest withName(String name) { setName(name); return this; } /** *

* A description for the new AMI in the destination region. *

* * @param description * A description for the new AMI in the destination region. */ public void setDescription(String description) { this.description = description; } /** *

* A description for the new AMI in the destination region. *

* * @return A description for the new AMI in the destination region. */ public String getDescription() { return this.description; } /** *

* A description for the new AMI in the destination region. *

* * @param description * A description for the new AMI in the destination region. * @return Returns a reference to this object so that method calls can be * chained together. */ public CopyImageRequest withDescription(String description) { setDescription(description); return this; } /** *

* Unique, case-sensitive identifier you provide to ensure idempotency of * the request. For more information, see How to Ensure Idempotency in the Amazon Elastic Compute Cloud * User Guide. *

* * @param clientToken * Unique, case-sensitive identifier you provide to ensure * idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon Elastic Compute * Cloud User Guide. */ public void setClientToken(String clientToken) { this.clientToken = clientToken; } /** *

* Unique, case-sensitive identifier you provide to ensure idempotency of * the request. For more information, see How to Ensure Idempotency in the Amazon Elastic Compute Cloud * User Guide. *

* * @return Unique, case-sensitive identifier you provide to ensure * idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon Elastic Compute * Cloud User Guide. */ public String getClientToken() { return this.clientToken; } /** *

* Unique, case-sensitive identifier you provide to ensure idempotency of * the request. For more information, see How to Ensure Idempotency in the Amazon Elastic Compute Cloud * User Guide. *

* * @param clientToken * Unique, case-sensitive identifier you provide to ensure * idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon Elastic Compute * Cloud User Guide. * @return Returns a reference to this object so that method calls can be * chained together. */ public CopyImageRequest withClientToken(String clientToken) { setClientToken(clientToken); return this; } /** *

* Specifies whether the destination snapshots of the copied image should be * encrypted. The default CMK for EBS is used unless a non-default AWS Key * Management Service (AWS KMS) CMK is specified with KmsKeyId. * For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User * Guide. *

* * @param encrypted * Specifies whether the destination snapshots of the copied image * should be encrypted. The default CMK for EBS is used unless a * non-default AWS Key Management Service (AWS KMS) CMK is specified * with KmsKeyId. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud * User Guide. */ public void setEncrypted(Boolean encrypted) { this.encrypted = encrypted; } /** *

* Specifies whether the destination snapshots of the copied image should be * encrypted. The default CMK for EBS is used unless a non-default AWS Key * Management Service (AWS KMS) CMK is specified with KmsKeyId. * For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User * Guide. *

* * @return Specifies whether the destination snapshots of the copied image * should be encrypted. The default CMK for EBS is used unless a * non-default AWS Key Management Service (AWS KMS) CMK is specified * with KmsKeyId. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud * User Guide. */ public Boolean getEncrypted() { return this.encrypted; } /** *

* Specifies whether the destination snapshots of the copied image should be * encrypted. The default CMK for EBS is used unless a non-default AWS Key * Management Service (AWS KMS) CMK is specified with KmsKeyId. * For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User * Guide. *

* * @param encrypted * Specifies whether the destination snapshots of the copied image * should be encrypted. The default CMK for EBS is used unless a * non-default AWS Key Management Service (AWS KMS) CMK is specified * with KmsKeyId. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud * User Guide. * @return Returns a reference to this object so that method calls can be * chained together. */ public CopyImageRequest withEncrypted(Boolean encrypted) { setEncrypted(encrypted); return this; } /** *

* Specifies whether the destination snapshots of the copied image should be * encrypted. The default CMK for EBS is used unless a non-default AWS Key * Management Service (AWS KMS) CMK is specified with KmsKeyId. * For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User * Guide. *

* * @return Specifies whether the destination snapshots of the copied image * should be encrypted. The default CMK for EBS is used unless a * non-default AWS Key Management Service (AWS KMS) CMK is specified * with KmsKeyId. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud * User Guide. */ public Boolean isEncrypted() { return this.encrypted; } /** *

* The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when * encrypting the snapshots of an image during a copy operation. This * parameter is only required if you want to use a non-default CMK; if this * parameter is not specified, the default CMK for EBS is used. The ARN * contains the arn:aws:kms namespace, followed by the region * of the CMK, the AWS account ID of the CMK owner, the key * namespace, and then the CMK ID. For example, * arn:aws:kms:us-east-1: * 012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef. The * specified CMK must exist in the region that the snapshot is being copied * to. If a KmsKeyId is specified, the Encrypted * flag must also be set. *

* * @param kmsKeyId * The full ARN of the AWS Key Management Service (AWS KMS) CMK to * use when encrypting the snapshots of an image during a copy * operation. This parameter is only required if you want to use a * non-default CMK; if this parameter is not specified, the default * CMK for EBS is used. The ARN contains the arn:aws:kms * namespace, followed by the region of the CMK, the AWS account ID * of the CMK owner, the key namespace, and then the CMK * ID. For example, * arn:aws:kms:us-east-1:012345678910:key * /abcd1234-a123-456a-a12b-a123b4cd56ef. The specified CMK * must exist in the region that the snapshot is being copied to. If * a KmsKeyId is specified, the Encrypted * flag must also be set. */ public void setKmsKeyId(String kmsKeyId) { this.kmsKeyId = kmsKeyId; } /** *

* The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when * encrypting the snapshots of an image during a copy operation. This * parameter is only required if you want to use a non-default CMK; if this * parameter is not specified, the default CMK for EBS is used. The ARN * contains the arn:aws:kms namespace, followed by the region * of the CMK, the AWS account ID of the CMK owner, the key * namespace, and then the CMK ID. For example, * arn:aws:kms:us-east-1: * 012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef. The * specified CMK must exist in the region that the snapshot is being copied * to. If a KmsKeyId is specified, the Encrypted * flag must also be set. *

* * @return The full ARN of the AWS Key Management Service (AWS KMS) CMK to * use when encrypting the snapshots of an image during a copy * operation. This parameter is only required if you want to use a * non-default CMK; if this parameter is not specified, the default * CMK for EBS is used. The ARN contains the * arn:aws:kms namespace, followed by the region of the * CMK, the AWS account ID of the CMK owner, the key * namespace, and then the CMK ID. For example, * arn:aws:kms:us-east * -1:012345678910:key/abcd1234-a123 * -456a-a12b-a123b4cd56ef. The specified CMK must exist in the * region that the snapshot is being copied to. If a * KmsKeyId is specified, the Encrypted * flag must also be set. */ public String getKmsKeyId() { return this.kmsKeyId; } /** *

* The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when * encrypting the snapshots of an image during a copy operation. This * parameter is only required if you want to use a non-default CMK; if this * parameter is not specified, the default CMK for EBS is used. The ARN * contains the arn:aws:kms namespace, followed by the region * of the CMK, the AWS account ID of the CMK owner, the key * namespace, and then the CMK ID. For example, * arn:aws:kms:us-east-1: * 012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef. The * specified CMK must exist in the region that the snapshot is being copied * to. If a KmsKeyId is specified, the Encrypted * flag must also be set. *

* * @param kmsKeyId * The full ARN of the AWS Key Management Service (AWS KMS) CMK to * use when encrypting the snapshots of an image during a copy * operation. This parameter is only required if you want to use a * non-default CMK; if this parameter is not specified, the default * CMK for EBS is used. The ARN contains the arn:aws:kms * namespace, followed by the region of the CMK, the AWS account ID * of the CMK owner, the key namespace, and then the CMK * ID. For example, * arn:aws:kms:us-east-1:012345678910:key * /abcd1234-a123-456a-a12b-a123b4cd56ef. The specified CMK * must exist in the region that the snapshot is being copied to. If * a KmsKeyId is specified, the Encrypted * flag must also be set. * @return Returns a reference to this object so that method calls can be * chained together. */ public CopyImageRequest withKmsKeyId(String kmsKeyId) { setKmsKeyId(kmsKeyId); return this; } /** * This method is intended for internal use only. Returns the marshaled * request configured with additional parameters to enable operation * dry-run. */ @Override public Request getDryRunRequest() { Request request = new CopyImageRequestMarshaller() .marshall(this); request.addParameter("DryRun", Boolean.toString(true)); return request; } /** * 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 (getSourceRegion() != null) sb.append("SourceRegion: " + getSourceRegion() + ","); if (getSourceImageId() != null) sb.append("SourceImageId: " + getSourceImageId() + ","); if (getName() != null) sb.append("Name: " + getName() + ","); if (getDescription() != null) sb.append("Description: " + getDescription() + ","); if (getClientToken() != null) sb.append("ClientToken: " + getClientToken() + ","); if (getEncrypted() != null) sb.append("Encrypted: " + getEncrypted() + ","); if (getKmsKeyId() != null) sb.append("KmsKeyId: " + getKmsKeyId()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof CopyImageRequest == false) return false; CopyImageRequest other = (CopyImageRequest) obj; if (other.getSourceRegion() == null ^ this.getSourceRegion() == null) return false; if (other.getSourceRegion() != null && other.getSourceRegion().equals(this.getSourceRegion()) == false) return false; if (other.getSourceImageId() == null ^ this.getSourceImageId() == null) return false; if (other.getSourceImageId() != null && other.getSourceImageId().equals(this.getSourceImageId()) == false) return false; if (other.getName() == null ^ this.getName() == null) return false; if (other.getName() != null && other.getName().equals(this.getName()) == false) return false; if (other.getDescription() == null ^ this.getDescription() == null) return false; if (other.getDescription() != null && other.getDescription().equals(this.getDescription()) == false) return false; if (other.getClientToken() == null ^ this.getClientToken() == null) return false; if (other.getClientToken() != null && other.getClientToken().equals(this.getClientToken()) == false) return false; if (other.getEncrypted() == null ^ this.getEncrypted() == null) return false; if (other.getEncrypted() != null && other.getEncrypted().equals(this.getEncrypted()) == false) return false; if (other.getKmsKeyId() == null ^ this.getKmsKeyId() == null) return false; if (other.getKmsKeyId() != null && other.getKmsKeyId().equals(this.getKmsKeyId()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getSourceRegion() == null) ? 0 : getSourceRegion() .hashCode()); hashCode = prime * hashCode + ((getSourceImageId() == null) ? 0 : getSourceImageId() .hashCode()); hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode()); hashCode = prime * hashCode + ((getDescription() == null) ? 0 : getDescription().hashCode()); hashCode = prime * hashCode + ((getClientToken() == null) ? 0 : getClientToken().hashCode()); hashCode = prime * hashCode + ((getEncrypted() == null) ? 0 : getEncrypted().hashCode()); hashCode = prime * hashCode + ((getKmsKeyId() == null) ? 0 : getKmsKeyId().hashCode()); return hashCode; } @Override public CopyImageRequest clone() { return (CopyImageRequest) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy