com.aliyun.sdk.service.ecs20140526.models.RunCommandRequest 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 RunCommandRequest} extends {@link RequestModel}
*
* RunCommandRequest
*/
public class RunCommandRequest 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("ClientToken")
private String clientToken;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("CommandContent")
@com.aliyun.core.annotation.Validation(required = true)
private String commandContent;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ContainerId")
private String containerId;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ContainerName")
private String containerName;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ContentEncoding")
private String contentEncoding;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("Description")
private String description;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("EnableParameter")
private Boolean enableParameter;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("Frequency")
private String frequency;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("InstanceId")
private java.util.List < String > instanceId;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("KeepCommand")
private Boolean keepCommand;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("Name")
private String name;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("OwnerAccount")
private String ownerAccount;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("OwnerId")
private Long ownerId;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("Parameters")
private java.util.Map < String, ? > parameters;
@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("RepeatMode")
private String repeatMode;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ResourceGroupId")
private String resourceGroupId;
@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;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ResourceTag")
private java.util.List < ResourceTag> resourceTag;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("Tag")
private java.util.List < Tag> tag;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("TerminationMode")
private String terminationMode;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("Timed")
private Boolean timed;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("Timeout")
private Long timeout;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("Type")
@com.aliyun.core.annotation.Validation(required = true)
private String type;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("Username")
private String username;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("WindowsPasswordName")
private String windowsPasswordName;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("WorkingDir")
private String workingDir;
private RunCommandRequest(Builder builder) {
super(builder);
this.sourceRegionId = builder.sourceRegionId;
this.clientToken = builder.clientToken;
this.commandContent = builder.commandContent;
this.containerId = builder.containerId;
this.containerName = builder.containerName;
this.contentEncoding = builder.contentEncoding;
this.description = builder.description;
this.enableParameter = builder.enableParameter;
this.frequency = builder.frequency;
this.instanceId = builder.instanceId;
this.keepCommand = builder.keepCommand;
this.name = builder.name;
this.ownerAccount = builder.ownerAccount;
this.ownerId = builder.ownerId;
this.parameters = builder.parameters;
this.regionId = builder.regionId;
this.repeatMode = builder.repeatMode;
this.resourceGroupId = builder.resourceGroupId;
this.resourceOwnerAccount = builder.resourceOwnerAccount;
this.resourceOwnerId = builder.resourceOwnerId;
this.resourceTag = builder.resourceTag;
this.tag = builder.tag;
this.terminationMode = builder.terminationMode;
this.timed = builder.timed;
this.timeout = builder.timeout;
this.type = builder.type;
this.username = builder.username;
this.windowsPasswordName = builder.windowsPasswordName;
this.workingDir = builder.workingDir;
}
public static Builder builder() {
return new Builder();
}
public static RunCommandRequest create() {
return builder().build();
}
@Override
public Builder toBuilder() {
return new Builder(this);
}
/**
* @return sourceRegionId
*/
public String getSourceRegionId() {
return this.sourceRegionId;
}
/**
* @return clientToken
*/
public String getClientToken() {
return this.clientToken;
}
/**
* @return commandContent
*/
public String getCommandContent() {
return this.commandContent;
}
/**
* @return containerId
*/
public String getContainerId() {
return this.containerId;
}
/**
* @return containerName
*/
public String getContainerName() {
return this.containerName;
}
/**
* @return contentEncoding
*/
public String getContentEncoding() {
return this.contentEncoding;
}
/**
* @return description
*/
public String getDescription() {
return this.description;
}
/**
* @return enableParameter
*/
public Boolean getEnableParameter() {
return this.enableParameter;
}
/**
* @return frequency
*/
public String getFrequency() {
return this.frequency;
}
/**
* @return instanceId
*/
public java.util.List < String > getInstanceId() {
return this.instanceId;
}
/**
* @return keepCommand
*/
public Boolean getKeepCommand() {
return this.keepCommand;
}
/**
* @return name
*/
public String getName() {
return this.name;
}
/**
* @return ownerAccount
*/
public String getOwnerAccount() {
return this.ownerAccount;
}
/**
* @return ownerId
*/
public Long getOwnerId() {
return this.ownerId;
}
/**
* @return parameters
*/
public java.util.Map < String, ? > getParameters() {
return this.parameters;
}
/**
* @return regionId
*/
public String getRegionId() {
return this.regionId;
}
/**
* @return repeatMode
*/
public String getRepeatMode() {
return this.repeatMode;
}
/**
* @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 resourceTag
*/
public java.util.List < ResourceTag> getResourceTag() {
return this.resourceTag;
}
/**
* @return tag
*/
public java.util.List < Tag> getTag() {
return this.tag;
}
/**
* @return terminationMode
*/
public String getTerminationMode() {
return this.terminationMode;
}
/**
* @return timed
*/
public Boolean getTimed() {
return this.timed;
}
/**
* @return timeout
*/
public Long getTimeout() {
return this.timeout;
}
/**
* @return type
*/
public String getType() {
return this.type;
}
/**
* @return username
*/
public String getUsername() {
return this.username;
}
/**
* @return windowsPasswordName
*/
public String getWindowsPasswordName() {
return this.windowsPasswordName;
}
/**
* @return workingDir
*/
public String getWorkingDir() {
return this.workingDir;
}
public static final class Builder extends Request.Builder {
private String sourceRegionId;
private String clientToken;
private String commandContent;
private String containerId;
private String containerName;
private String contentEncoding;
private String description;
private Boolean enableParameter;
private String frequency;
private java.util.List < String > instanceId;
private Boolean keepCommand;
private String name;
private String ownerAccount;
private Long ownerId;
private java.util.Map < String, ? > parameters;
private String regionId;
private String repeatMode;
private String resourceGroupId;
private String resourceOwnerAccount;
private Long resourceOwnerId;
private java.util.List < ResourceTag> resourceTag;
private java.util.List < Tag> tag;
private String terminationMode;
private Boolean timed;
private Long timeout;
private String type;
private String username;
private String windowsPasswordName;
private String workingDir;
private Builder() {
super();
}
private Builder(RunCommandRequest request) {
super(request);
this.sourceRegionId = request.sourceRegionId;
this.clientToken = request.clientToken;
this.commandContent = request.commandContent;
this.containerId = request.containerId;
this.containerName = request.containerName;
this.contentEncoding = request.contentEncoding;
this.description = request.description;
this.enableParameter = request.enableParameter;
this.frequency = request.frequency;
this.instanceId = request.instanceId;
this.keepCommand = request.keepCommand;
this.name = request.name;
this.ownerAccount = request.ownerAccount;
this.ownerId = request.ownerId;
this.parameters = request.parameters;
this.regionId = request.regionId;
this.repeatMode = request.repeatMode;
this.resourceGroupId = request.resourceGroupId;
this.resourceOwnerAccount = request.resourceOwnerAccount;
this.resourceOwnerId = request.resourceOwnerId;
this.resourceTag = request.resourceTag;
this.tag = request.tag;
this.terminationMode = request.terminationMode;
this.timed = request.timed;
this.timeout = request.timeout;
this.type = request.type;
this.username = request.username;
this.windowsPasswordName = request.windowsPasswordName;
this.workingDir = request.workingDir;
}
/**
* SourceRegionId.
*/
public Builder sourceRegionId(String sourceRegionId) {
this.putHostParameter("SourceRegionId", sourceRegionId);
this.sourceRegionId = sourceRegionId;
return this;
}
/**
* The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The **token** can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).
*/
public Builder clientToken(String clientToken) {
this.putQueryParameter("ClientToken", clientToken);
this.clientToken = clientToken;
return this;
}
/**
* The content of the command. The command content can be plaintext or Base64-encoded. Take note of the following items:
*
*
* * If you want to retain the command, make sure that the Base64-encoded command content does not exceed 18 KB in size. If you do not want to retain the command, make sure that the Base64-encoded command content does not exceed 24 KB in size. You can set the `KeepCommand` parameter to specify whether to retain the command.
*
* * If the command content is encoded in Base6, set `ContentEncoding` to Base64.
*
* * If you set the `EnableParameter` parameter to true, the custom parameter feature is enabled and you can configure custom parameters based on the following rules:
*
* * Specify custom parameters in the `{{}}` format. Within `{{}}`, the spaces and line feeds before and after the parameter names are ignored.
* * You can specify up to 20 custom parameters.
* * A custom parameter name can contain only letters, digits, underscores (\_), and hyphens (-). The name is case-insensitive. The ACS:: prefix cannot be used to specify non-built-in environment parameters.
* * Each custom parameter name cannot exceed 64 bytes in length.
*
* * You can specify built-in environment parameters as custom parameters. Then, when you run a command, the parameters are automatically specified by Cloud Assistant. You can specify the following built-in environment parameters:
*
* * `{{ACS::RegionId}}`: the region ID.
*
* * `{{ACS::AccountId}}`: the UID of the Alibaba Cloud account.
*
* * `{{ACS::InstanceId}}`: the instance ID. If you want to run the command on multiple instances and specify `{{ACS::InstanceId}}` as a built-in environment parameter, make sure that the Cloud Assistant Agent version is not earlier than the following ones:
*
* * Linux: 2.2.3.309
* * Windows: 2.1.3.309
*
* * `{{ACS::InstanceName}}`: the instance name. If you want to run the command on multiple instances and specify `{{ACS::InstanceName}}` as a built-in environment parameter, make sure that the Cloud Assistant Agent version is not earlier than the following ones:
*
* * Linux: 2.2.3.344
* * Windows: 2.1.3.344
*
* * `{{ACS::InvokeId}}`: the ID of the task. If you want to specify `{{ACS::InvokeId}}` as a built-in environment parameter, make sure that the Cloud Assistant Agent version is not earlier than the following ones:
*
* * Linux: 2.2.3.309
* * Windows: 2.1.3.309
*
* * `{{ACS::CommandId}}`: the ID of the command. If you want to specify `{{ACS::CommandId}}` as a built-in environment parameter, make sure that the Cloud Assistant Agent version is not earlier than the following ones:
*
* * Linux: 2.2.3.309
* * Windows: 2.1.3.309
*/
public Builder commandContent(String commandContent) {
this.putQueryParameter("CommandContent", commandContent);
this.commandContent = commandContent;
return this;
}
/**
* The ID of the container. Only 64-bit hexadecimal strings are supported. `docker://`, `containerd://`, or `cri-o://` can be used as the prefix to the container ID to specify the container runtime.
*
*
* Take note of the following items:
*
* * If this parameter is specified, Cloud Assistant runs the command in the specified container of the instance.
* * If this parameter is specified, the command can run only on Linux instances on which Cloud Assistant Agent 2.2.3.344 or later is installed.
* * If this parameter is specified, the specified `Username` and `WorkingDir` parameters do not take effect. You can run the command in the default working directory of the container only by using the default user of the container. For more information, see [Use Cloud Assistant to run commands in containers](~~456641~~).
* * If this parameter is specified, only shell scripts can be run in Linux containers. You cannot add a command in the format similar to `#!/usr/bin/python` at the beginning of a script to specify a script interpreter. For more information, see [Use Cloud Assistant to run commands in containers](~~456641~~).
*/
public Builder containerId(String containerId) {
this.putQueryParameter("ContainerId", containerId);
this.containerId = containerId;
return this;
}
/**
* The name of the container.
*
*
* Take note of the following items:
*
* * If this parameter is specified, Cloud Assistant runs the command in the specified container of the instance.
* * If this parameter is specified, the command can run only on Linux instances on which Cloud Assistant Agent 2.2.3.344 or later is installed.
* * If this parameter is specified, the specified `Username` and `WorkingDir` parameters do not take effect. You can run the command in the default working directory of the container only by using the default user of the container. For more information, see [Use Cloud Assistant to run commands in containers](~~456641~~).
* * If this parameter is specified, only shell scripts can be run in Linux containers. You cannot add a command in the format similar to `#!/usr/bin/python` at the beginning of a script to specify a script interpreter. For more information, see [Use Cloud Assistant to run commands in containers](~~456641~~).
*/
public Builder containerName(String containerName) {
this.putQueryParameter("ContainerName", containerName);
this.containerName = containerName;
return this;
}
/**
* The encoding mode of command content (`CommandContent`). The valid values are case-insensitive. Valid values:
*
*
* * PlainText: The command content is not encoded.
* * Base64: The command content is encoded in Base64.
*
* Default value: PlainText. If the specified value of this parameter is invalid, PlainText is used by default.
*/
public Builder contentEncoding(String contentEncoding) {
this.putQueryParameter("ContentEncoding", contentEncoding);
this.contentEncoding = contentEncoding;
return this;
}
/**
* The description of the command. The description supports all character sets and can be up to 512 characters in length.
*/
public Builder description(String description) {
this.putQueryParameter("Description", description);
this.description = description;
return this;
}
/**
* Specifies whether to include custom parameters in the command.
*
*
* Default value: false.
*/
public Builder enableParameter(Boolean enableParameter) {
this.putQueryParameter("EnableParameter", enableParameter);
this.enableParameter = enableParameter;
return this;
}
/**
* The schedule on which to run the command. You can configure a command to run at a fixed interval based on a rate expression, run only once at a specified time, or run at designated times based on a cron expression.
*
*
* * To run a command at a fixed interval, use a rate expression to specify the interval. You can specify the interval in seconds, minutes, hours, or days. This option is suitable for scenarios in which tasks need to be executed at a fixed interval. Specify the interval in the following format: `rate( )`. For example, specify `rate(5m)` to run the command every 5 minutes. When you specify an interval, take note of the following limits:
*
* * The interval can be anywhere from 60 seconds to 7 days, but must be longer than the timeout period of the scheduled task.
* * The interval is the amount of time that elapses between two consecutive executions. The interval is irrelevant to the amount of time that is required to run the command once. For example, assume that you set the interval to 5 minutes and that it takes 2 minutes to run the command each time. Each time the command is run, the system waits 3 minutes before the system runs the command again.
* * A task is not immediately executed after the task is created. For example, assume that you set the interval to 5 minutes for a task. The task begins to be executed 5 minutes after it is created.
*
* * To run a command only once at a specific time, specify a point in time and a time zone. Specify the point in time in the `at(yyyy-MM-dd HH:mm:ss