
com.aliyun.sdk.service.ens20171110.models.RunServiceScheduleRequest Maven / Gradle / Ivy
// This file is auto-generated, don't edit it. Thanks.
package com.aliyun.sdk.service.ens20171110.models;
import com.aliyun.sdk.gateway.pop.*;
import darabonba.core.*;
import darabonba.core.async.*;
import darabonba.core.sync.*;
import darabonba.core.client.*;
import darabonba.core.RequestModel;
import darabonba.core.TeaModel;
import com.aliyun.sdk.gateway.pop.models.*;
/**
*
* {@link RunServiceScheduleRequest} extends {@link RequestModel}
*
* RunServiceScheduleRequest
*/
public class RunServiceScheduleRequest extends Request {
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("AppId")
@com.aliyun.core.annotation.Validation(required = true)
private String appId;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ClientIp")
@com.aliyun.core.annotation.Validation(required = true)
private String clientIp;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("Directorys")
private String directorys;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("PodConfigName")
private String podConfigName;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("PreLockedTimeout")
private Integer preLockedTimeout;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ScheduleStrategy")
private String scheduleStrategy;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ServiceAction")
@com.aliyun.core.annotation.Validation(required = true)
private String serviceAction;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ServiceCommands")
private String serviceCommands;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("Uuid")
@com.aliyun.core.annotation.Validation(required = true)
private String uuid;
private RunServiceScheduleRequest(Builder builder) {
super(builder);
this.appId = builder.appId;
this.clientIp = builder.clientIp;
this.directorys = builder.directorys;
this.podConfigName = builder.podConfigName;
this.preLockedTimeout = builder.preLockedTimeout;
this.scheduleStrategy = builder.scheduleStrategy;
this.serviceAction = builder.serviceAction;
this.serviceCommands = builder.serviceCommands;
this.uuid = builder.uuid;
}
public static Builder builder() {
return new Builder();
}
public static RunServiceScheduleRequest create() {
return builder().build();
}
@Override
public Builder toBuilder() {
return new Builder(this);
}
/**
* @return appId
*/
public String getAppId() {
return this.appId;
}
/**
* @return clientIp
*/
public String getClientIp() {
return this.clientIp;
}
/**
* @return directorys
*/
public String getDirectorys() {
return this.directorys;
}
/**
* @return podConfigName
*/
public String getPodConfigName() {
return this.podConfigName;
}
/**
* @return preLockedTimeout
*/
public Integer getPreLockedTimeout() {
return this.preLockedTimeout;
}
/**
* @return scheduleStrategy
*/
public String getScheduleStrategy() {
return this.scheduleStrategy;
}
/**
* @return serviceAction
*/
public String getServiceAction() {
return this.serviceAction;
}
/**
* @return serviceCommands
*/
public String getServiceCommands() {
return this.serviceCommands;
}
/**
* @return uuid
*/
public String getUuid() {
return this.uuid;
}
public static final class Builder extends Request.Builder {
private String appId;
private String clientIp;
private String directorys;
private String podConfigName;
private Integer preLockedTimeout;
private String scheduleStrategy;
private String serviceAction;
private String serviceCommands;
private String uuid;
private Builder() {
super();
}
private Builder(RunServiceScheduleRequest request) {
super(request);
this.appId = request.appId;
this.clientIp = request.clientIp;
this.directorys = request.directorys;
this.podConfigName = request.podConfigName;
this.preLockedTimeout = request.preLockedTimeout;
this.scheduleStrategy = request.scheduleStrategy;
this.serviceAction = request.serviceAction;
this.serviceCommands = request.serviceCommands;
this.uuid = request.uuid;
}
/**
* The ID of the application.
* This parameter is required.
*
* example:
* 474bdef0-d149-4695-abfb-52912d9143f0
*/
public Builder appId(String appId) {
this.putQueryParameter("AppId", appId);
this.appId = appId;
return this;
}
/**
* The IP address of the client.
* This parameter is required.
*
* example:
* 180.166.45.146
*/
public Builder clientIp(String clientIp) {
this.putQueryParameter("ClientIp", clientIp);
this.clientIp = clientIp;
return this;
}
/**
* The directory to which the data file is mounted. The value must be a full path and cannot be "/../". Example: ["/data/app01", "/data/user"]. Specify the relative path of the virtual device for this parameter. For example, specify /data for this parameter when the actual path of the virtual device is /data/{input path}.
*
* example:
* ["/data/app01", "/data/user"]
*/
public Builder directorys(String directorys) {
this.putQueryParameter("Directorys", directorys);
this.directorys = directorys;
return this;
}
/**
* The parameter does not take effect.
*
* example:
* android
*/
public Builder podConfigName(String podConfigName) {
this.putQueryParameter("PodConfigName", podConfigName);
this.podConfigName = podConfigName;
return this;
}
/**
* The maximum duration for locking an idle device. Unit: seconds. This parameter takes effect only if you set ServiceAction to PreSchedule. Default value: 300.
*
* example:
* 300
*/
public Builder preLockedTimeout(Integer preLockedTimeout) {
this.putQueryParameter("PreLockedTimeout", preLockedTimeout);
this.preLockedTimeout = preLockedTimeout;
return this;
}
/**
* The scheduling policy of the device. The value must be a JSON string.
*
* example:
* {"selectLevel": "RegionId", "values": ["cn-chengdu-telecom-2"] }
*/
public Builder scheduleStrategy(String scheduleStrategy) {
this.putQueryParameter("ScheduleStrategy", scheduleStrategy);
this.scheduleStrategy = scheduleStrategy;
return this;
}
/**
* The scheduling operation. The value must be of the enumeration type. Valid values:
* Container scenario:
*
* - Start: selects and activates an idle cloud device.
* - Stop: stops and releases the cloud device.
* - Console: performs the scheduling operation when the device is in the scheduling state.
*
* Bare metal instance or virtual machine scenario:
*
* - PreSchedule: locks a virtual machine instance for scheduling.
* - Confirm: confirms the scheduling operation.
* - Cancel: cancels the scheduling operation.
* - Console: performs the scheduling operation when the device is in the scheduling state.
*
* This parameter is required.
*
* example:
* Start
*/
public Builder serviceAction(String serviceAction) {
this.putQueryParameter("ServiceAction", serviceAction);
this.serviceAction = serviceAction;
return this;
}
/**
* The service commands. The value must be a JSON string.
*
* example:
* [{"containerName": "android", "commands":["cat /tmp/token.json"] }, { "commands":["ls -l /data/data"] }]
*/
public Builder serviceCommands(String serviceCommands) {
this.putQueryParameter("ServiceCommands", serviceCommands);
this.serviceCommands = serviceCommands;
return this;
}
/**
* The UUID of the device.
* This parameter is required.
*
* example:
* hdm_d4f1059a8e1afc0956bd71b497faa433
*/
public Builder uuid(String uuid) {
this.putQueryParameter("Uuid", uuid);
this.uuid = uuid;
return this;
}
@Override
public RunServiceScheduleRequest build() {
return new RunServiceScheduleRequest(this);
}
}
}