com.aliyun.sdk.service.ecs20140526.models.AttachInstanceRamRoleRequest 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 darabonba.core.RequestModel;
import darabonba.core.TeaModel;
import com.aliyun.sdk.gateway.pop.models.*;
/**
*
* {@link AttachInstanceRamRoleRequest} extends {@link RequestModel}
*
* AttachInstanceRamRoleRequest
*/
public class AttachInstanceRamRoleRequest extends Request {
@com.aliyun.core.annotation.Host
@com.aliyun.core.annotation.NameInMap("SourceRegionId")
private String sourceRegionId;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("InstanceIds")
@com.aliyun.core.annotation.Validation(required = true)
private String instanceIds;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("OwnerId")
private Long ownerId;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("Policy")
private String policy;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("RamRoleName")
@com.aliyun.core.annotation.Validation(required = true)
private String ramRoleName;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("RegionId")
@com.aliyun.core.annotation.Validation(required = true)
private String regionId;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ResourceOwnerAccount")
private String resourceOwnerAccount;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ResourceOwnerId")
private Long resourceOwnerId;
private AttachInstanceRamRoleRequest(Builder builder) {
super(builder);
this.sourceRegionId = builder.sourceRegionId;
this.instanceIds = builder.instanceIds;
this.ownerId = builder.ownerId;
this.policy = builder.policy;
this.ramRoleName = builder.ramRoleName;
this.regionId = builder.regionId;
this.resourceOwnerAccount = builder.resourceOwnerAccount;
this.resourceOwnerId = builder.resourceOwnerId;
}
public static Builder builder() {
return new Builder();
}
public static AttachInstanceRamRoleRequest create() {
return builder().build();
}
@Override
public Builder toBuilder() {
return new Builder(this);
}
/**
* @return sourceRegionId
*/
public String getSourceRegionId() {
return this.sourceRegionId;
}
/**
* @return instanceIds
*/
public String getInstanceIds() {
return this.instanceIds;
}
/**
* @return ownerId
*/
public Long getOwnerId() {
return this.ownerId;
}
/**
* @return policy
*/
public String getPolicy() {
return this.policy;
}
/**
* @return ramRoleName
*/
public String getRamRoleName() {
return this.ramRoleName;
}
/**
* @return regionId
*/
public String getRegionId() {
return this.regionId;
}
/**
* @return resourceOwnerAccount
*/
public String getResourceOwnerAccount() {
return this.resourceOwnerAccount;
}
/**
* @return resourceOwnerId
*/
public Long getResourceOwnerId() {
return this.resourceOwnerId;
}
public static final class Builder extends Request.Builder {
private String sourceRegionId;
private String instanceIds;
private Long ownerId;
private String policy;
private String ramRoleName;
private String regionId;
private String resourceOwnerAccount;
private Long resourceOwnerId;
private Builder() {
super();
}
private Builder(AttachInstanceRamRoleRequest request) {
super(request);
this.sourceRegionId = request.sourceRegionId;
this.instanceIds = request.instanceIds;
this.ownerId = request.ownerId;
this.policy = request.policy;
this.ramRoleName = request.ramRoleName;
this.regionId = request.regionId;
this.resourceOwnerAccount = request.resourceOwnerAccount;
this.resourceOwnerId = request.resourceOwnerId;
}
/**
* SourceRegionId.
*/
public Builder sourceRegionId(String sourceRegionId) {
this.putHostParameter("SourceRegionId", sourceRegionId);
this.sourceRegionId = sourceRegionId;
return this;
}
/**
* The IDs of the instances. The value can be a JSON array that consists of up to 100 instance IDs. Separate the IDs with commas (,).
* This parameter is required.
*
* example:
* [“i-bp14ss25xca5ex1u****”, “i-bp154z5o1qjalfse****”, “i-bp10ws62o04ubhvi****”…]
*/
public Builder instanceIds(String instanceIds) {
this.putQueryParameter("InstanceIds", instanceIds);
this.instanceIds = instanceIds;
return this;
}
/**
* OwnerId.
*/
public Builder ownerId(Long ownerId) {
this.putQueryParameter("OwnerId", ownerId);
this.ownerId = ownerId;
return this;
}
/**
* The policy. The policy document must be 1 to 1,024 characters in length. When you attach an instance RAM role to one or more instances, you can specify an additional policy to further limit the permissions of the role. For more information, see Policy overview.
*
* example:
* {"Statement": [{"Action": [""],"Effect": "Allow","Resource": [""]}],"Version":"1"}
*/
public Builder policy(String policy) {
this.putQueryParameter("Policy", policy);
this.policy = policy;
return this;
}
/**
* The name of the instance RAM role. You can call the ListRoles operation provided by RAM to query the instance RAM roles that you created.
* This parameter is required.
*
* example:
* testRamRoleName
*/
public Builder ramRoleName(String ramRoleName) {
this.putQueryParameter("RamRoleName", ramRoleName);
this.ramRoleName = ramRoleName;
return this;
}
/**
* The region ID. You can call the DescribeRegions operation to query the most recent region list.
* This parameter is required.
*
* example:
* cn-hangzhou
*/
public Builder regionId(String regionId) {
this.putQueryParameter("RegionId", regionId);
this.regionId = regionId;
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;
}
@Override
public AttachInstanceRamRoleRequest build() {
return new AttachInstanceRamRoleRequest(this);
}
}
}