com.aliyun.sdk.service.ecs20140526.models.CopyImageRequest Maven / Gradle / Ivy
Show all versions of alibabacloud-ecs20140526 Show documentation
// This file is auto-generated, don't edit it. Thanks.
package com.aliyun.sdk.service.ecs20140526.models;
import com.aliyun.core.annotation.*;
import darabonba.core.RequestModel;
import darabonba.core.TeaModel;
import com.aliyun.sdk.gateway.pop.models.*;
/**
* {@link CopyImageRequest} extends {@link RequestModel}
*
* CopyImageRequest
*/
public class CopyImageRequest extends Request {
@Host
@NameInMap("SourceRegionId")
private String sourceRegionId;
@Query
@NameInMap("DestinationDescription")
private String destinationDescription;
@Query
@NameInMap("DestinationImageName")
private String destinationImageName;
@Query
@NameInMap("DestinationRegionId")
private String destinationRegionId;
@Query
@NameInMap("EncryptAlgorithm")
private String encryptAlgorithm;
@Query
@NameInMap("Encrypted")
private Boolean encrypted;
@Query
@NameInMap("ImageId")
@Validation(required = true)
private String imageId;
@Query
@NameInMap("KMSKeyId")
private String KMSKeyId;
@Query
@NameInMap("OwnerAccount")
private String ownerAccount;
@Query
@NameInMap("OwnerId")
private Long ownerId;
@Query
@NameInMap("RegionId")
@Validation(required = true)
private String regionId;
@Query
@NameInMap("ResourceGroupId")
private String resourceGroupId;
@Query
@NameInMap("ResourceOwnerAccount")
private String resourceOwnerAccount;
@Query
@NameInMap("ResourceOwnerId")
private Long resourceOwnerId;
@Query
@NameInMap("Tag")
private java.util.List < Tag> tag;
private CopyImageRequest(Builder builder) {
super(builder);
this.sourceRegionId = builder.sourceRegionId;
this.destinationDescription = builder.destinationDescription;
this.destinationImageName = builder.destinationImageName;
this.destinationRegionId = builder.destinationRegionId;
this.encryptAlgorithm = builder.encryptAlgorithm;
this.encrypted = builder.encrypted;
this.imageId = builder.imageId;
this.KMSKeyId = builder.KMSKeyId;
this.ownerAccount = builder.ownerAccount;
this.ownerId = builder.ownerId;
this.regionId = builder.regionId;
this.resourceGroupId = builder.resourceGroupId;
this.resourceOwnerAccount = builder.resourceOwnerAccount;
this.resourceOwnerId = builder.resourceOwnerId;
this.tag = builder.tag;
}
public static Builder builder() {
return new Builder();
}
public static CopyImageRequest create() {
return builder().build();
}
@Override
public Builder toBuilder() {
return new Builder(this);
}
/**
* @return sourceRegionId
*/
public String getSourceRegionId() {
return this.sourceRegionId;
}
/**
* @return destinationDescription
*/
public String getDestinationDescription() {
return this.destinationDescription;
}
/**
* @return destinationImageName
*/
public String getDestinationImageName() {
return this.destinationImageName;
}
/**
* @return destinationRegionId
*/
public String getDestinationRegionId() {
return this.destinationRegionId;
}
/**
* @return encryptAlgorithm
*/
public String getEncryptAlgorithm() {
return this.encryptAlgorithm;
}
/**
* @return encrypted
*/
public Boolean getEncrypted() {
return this.encrypted;
}
/**
* @return imageId
*/
public String getImageId() {
return this.imageId;
}
/**
* @return KMSKeyId
*/
public String getKMSKeyId() {
return this.KMSKeyId;
}
/**
* @return ownerAccount
*/
public String getOwnerAccount() {
return this.ownerAccount;
}
/**
* @return ownerId
*/
public Long getOwnerId() {
return this.ownerId;
}
/**
* @return regionId
*/
public String getRegionId() {
return this.regionId;
}
/**
* @return resourceGroupId
*/
public String getResourceGroupId() {
return this.resourceGroupId;
}
/**
* @return resourceOwnerAccount
*/
public String getResourceOwnerAccount() {
return this.resourceOwnerAccount;
}
/**
* @return resourceOwnerId
*/
public Long getResourceOwnerId() {
return this.resourceOwnerId;
}
/**
* @return tag
*/
public java.util.List < Tag> getTag() {
return this.tag;
}
public static final class Builder extends Request.Builder {
private String sourceRegionId;
private String destinationDescription;
private String destinationImageName;
private String destinationRegionId;
private String encryptAlgorithm;
private Boolean encrypted;
private String imageId;
private String KMSKeyId;
private String ownerAccount;
private Long ownerId;
private String regionId;
private String resourceGroupId;
private String resourceOwnerAccount;
private Long resourceOwnerId;
private java.util.List < Tag> tag;
private Builder() {
super();
}
private Builder(CopyImageRequest request) {
super(request);
this.sourceRegionId = request.sourceRegionId;
this.destinationDescription = request.destinationDescription;
this.destinationImageName = request.destinationImageName;
this.destinationRegionId = request.destinationRegionId;
this.encryptAlgorithm = request.encryptAlgorithm;
this.encrypted = request.encrypted;
this.imageId = request.imageId;
this.KMSKeyId = request.KMSKeyId;
this.ownerAccount = request.ownerAccount;
this.ownerId = request.ownerId;
this.regionId = request.regionId;
this.resourceGroupId = request.resourceGroupId;
this.resourceOwnerAccount = request.resourceOwnerAccount;
this.resourceOwnerId = request.resourceOwnerId;
this.tag = request.tag;
}
/**
* SourceRegionId.
*/
public Builder sourceRegionId(String sourceRegionId) {
this.putHostParameter("SourceRegionId", sourceRegionId);
this.sourceRegionId = sourceRegionId;
return this;
}
/**
* The description of the image copy. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.
*/
public Builder destinationDescription(String destinationDescription) {
this.putQueryParameter("DestinationDescription", destinationDescription);
this.destinationDescription = destinationDescription;
return this;
}
/**
* The name of the image copy. The name must be 2 to 128 characters in length. The name must start with a letter and cannot start with `acs:` or `aliyun`. The name cannot contain `http://` or `https://`. The name can contain letters, digits, periods (.), colons (:), underscores (\_), and hyphens (-).
*/
public Builder destinationImageName(String destinationImageName) {
this.putQueryParameter("DestinationImageName", destinationImageName);
this.destinationImageName = destinationImageName;
return this;
}
/**
* The ID of the destination region to which the source custom image is copied.
*/
public Builder destinationRegionId(String destinationRegionId) {
this.putQueryParameter("DestinationRegionId", destinationRegionId);
this.destinationRegionId = destinationRegionId;
return this;
}
/**
* > This parameter is unavailable.
*/
public Builder encryptAlgorithm(String encryptAlgorithm) {
this.putQueryParameter("EncryptAlgorithm", encryptAlgorithm);
this.encryptAlgorithm = encryptAlgorithm;
return this;
}
/**
* Specifies whether to encrypt the image copy.
*
*
* Default value: false.
*/
public Builder encrypted(Boolean encrypted) {
this.putQueryParameter("Encrypted", encrypted);
this.encrypted = encrypted;
return this;
}
/**
* The ID of the source custom image.
*/
public Builder imageId(String imageId) {
this.putQueryParameter("ImageId", imageId);
this.imageId = imageId;
return this;
}
/**
* The ID of the key used to encrypt the image copy.
*/
public Builder KMSKeyId(String KMSKeyId) {
this.putQueryParameter("KMSKeyId", KMSKeyId);
this.KMSKeyId = KMSKeyId;
return this;
}
/**
* OwnerAccount.
*/
public Builder ownerAccount(String ownerAccount) {
this.putQueryParameter("OwnerAccount", ownerAccount);
this.ownerAccount = ownerAccount;
return this;
}
/**
* OwnerId.
*/
public Builder ownerId(Long ownerId) {
this.putQueryParameter("OwnerId", ownerId);
this.ownerId = ownerId;
return this;
}
/**
* The region ID of the source custom image. You can call the [DescribeRegions](~~25609~~) operation to query the most recent region list.
*/
public Builder regionId(String regionId) {
this.putQueryParameter("RegionId", regionId);
this.regionId = regionId;
return this;
}
/**
* The ID of the resource group to which the image copy belongs. If you do not specify this parameter, the image copy belongs to the default resource group.
*
*
* > If you call the CopyImage operation as a Resource Access Management (RAM) user who is not authorized to manage the default resource group and do not specify the `ResourceGroupId` parameter, the `Forbidden: User not authorized to operate on the specified resource` error message is returned. You must specify the ID of a resource group that the RAM user is authorized to manage or authorize the RAM user to manage the default resource group before you call the CreateImage operation again.
*/
public Builder resourceGroupId(String resourceGroupId) {
this.putQueryParameter("ResourceGroupId", resourceGroupId);
this.resourceGroupId = resourceGroupId;
return this;
}
/**
* ResourceOwnerAccount.
*/
public Builder resourceOwnerAccount(String resourceOwnerAccount) {
this.putQueryParameter("ResourceOwnerAccount", resourceOwnerAccount);
this.resourceOwnerAccount = resourceOwnerAccount;
return this;
}
/**
* ResourceOwnerId.
*/
public Builder resourceOwnerId(Long resourceOwnerId) {
this.putQueryParameter("ResourceOwnerId", resourceOwnerId);
this.resourceOwnerId = resourceOwnerId;
return this;
}
/**
* The list of tags.
*/
public Builder tag(java.util.List < Tag> tag) {
this.putQueryParameter("Tag", tag);
this.tag = tag;
return this;
}
@Override
public CopyImageRequest build() {
return new CopyImageRequest(this);
}
}
public static class Tag extends TeaModel {
@NameInMap("Key")
private String key;
@NameInMap("Value")
private String value;
private Tag(Builder builder) {
this.key = builder.key;
this.value = builder.value;
}
public static Builder builder() {
return new Builder();
}
public static Tag create() {
return builder().build();
}
/**
* @return key
*/
public String getKey() {
return this.key;
}
/**
* @return value
*/
public String getValue() {
return this.value;
}
public static final class Builder {
private String key;
private String value;
/**
* The key of tag N of the image copy. Valid values of N: 1 to 20. The tag key cannot be an empty string. The tag key can be up to 128 characters in length and cannot contain `http://` or `https://`. The tag key cannot start with `aliyun` or `acs:`.
*/
public Builder key(String key) {
this.key = key;
return this;
}
/**
* The value of tag N of the image copy. Valid values of N: 1 to 20. The tag value can be an empty string. The tag value can be up to 128 characters in length and cannot start with `acs:`. It cannot contain `http://` or `https://`.
*/
public Builder value(String value) {
this.value = value;
return this;
}
public Tag build() {
return new Tag(this);
}
}
}
}