Skip to content

RunCommand

This class encapsulates and extends the ROS resource type ALIYUN::ECS::RunCommand, which is used to run a shell, PowerShell, or batch command on Elastic Compute Service (ECS) instances.

Initializers

import com.aliyun.ros.cdk.ecs.RunCommand;
RunCommand.Builder.create(Construct scope, java.lang.String id, java.lang.Boolean enableResourcePropertyConstraint)
    .commandContent(java.lang.String)
    .commandContent(IResolvable)
    .instanceIds(IResolvable)
    .instanceIds(java.util.List<java.lang.String)
    .instanceIds(IResolvable>)
    .type(java.lang.String)
    .type(IResolvable)
//  .containerId(java.lang.String)
//  .containerId(IResolvable)
//  .containerName(java.lang.String)
//  .containerName(IResolvable)
//  .contentEncoding(java.lang.String)
//  .contentEncoding(IResolvable)
//  .description(java.lang.String)
//  .description(IResolvable)
//  .enableParameter(java.lang.Boolean)
//  .enableParameter(IResolvable)
//  .frequency(java.lang.String)
//  .frequency(IResolvable)
//  .keepCommand(java.lang.Boolean)
//  .keepCommand(IResolvable)
//  .name(java.lang.String)
//  .name(IResolvable)
//  .parameters(IResolvable)
//  .parameters(java.util.Map<java.lang.String, java.lang.Object>)
//  .repeatMode(java.lang.String)
//  .repeatMode(IResolvable)
//  .resourceGroupId(java.lang.String)
//  .resourceGroupId(IResolvable)
//  .runAgainOn(IResolvable)
//  .runAgainOn(java.util.List<java.lang.String)
//  .runAgainOn(IResolvable>)
//  .sync(java.lang.Boolean)
//  .sync(IResolvable)
//  .tags(java.util.List<TagsProperty>)
//  .timeout(java.lang.Number)
//  .timeout(IResolvable)
//  .username(java.lang.String)
//  .username(IResolvable)
//  .windowsPasswordName(java.lang.String)
//  .windowsPasswordName(IResolvable)
//  .workingDir(java.lang.String)
//  .workingDir(IResolvable)
    .build();
Name Type Description
scope com.aliyun.ros.cdk.core.Construct No description.
id java.lang.String No description.
enableResourcePropertyConstraint java.lang.Boolean No description.
commandContent java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property commandContent: The plaintext content or the Base64-encoded content of the script.
instanceIds com.aliyun.ros.cdk.core.IResolvable OR java.util.List Property instanceIds: The instance id list.
type java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property type: The language type of the O&M script.
containerId java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property containerId: The ID of the container.
containerName java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property containerName: The name of the container.
contentEncoding java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property contentEncoding: The encoding mode of script content (CommandContent).
description java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property description: The description of the script, which supports all character sets.
enableParameter java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable Property enableParameter: Specifies whether the script contains custom parameters.
frequency java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property frequency: The execution period of recurring tasks.
keepCommand java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable Property keepCommand: Specifies whether to retain the script after it is run.
name java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property name: The name of the script, which supports all character sets.
parameters com.aliyun.ros.cdk.core.IResolvable OR java.util.Map Property parameters: The key-value pairs of custom parameters passed in when the script contains custom parameters.
repeatMode java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property repeatMode: Specifies how to run the command.
resourceGroupId java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property resourceGroupId: The ID of the resource group to which to assign the command executions.
runAgainOn com.aliyun.ros.cdk.core.IResolvable OR java.util.List Property runAgainOn: The stage of executing the command again.
sync java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable Property sync: Whether to invoke synchronously.
tags java.util.List<TagsProperty> Property tags: Tags to attach to run_command.
timeout java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable Property timeout: The timeout period for script execution.
username java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property username: The username to use to run the command on instances.
windowsPasswordName java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property windowsPasswordName: The name of the password to use to run the command on Windows instances.
workingDir java.lang.String OR com.aliyun.ros.cdk.core.IResolvable Property workingDir: The running directory of the script in the ECS instance.

scopeRequired

  • Type: com.aliyun.ros.cdk.core.Construct

idRequired

  • Type: java.lang.String

enableResourcePropertyConstraintOptional

  • Type: java.lang.Boolean

commandContentRequired

  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property commandContent: The plaintext content or the Base64-encoded content of the script.

The Base64-encoded script content cannot exceed 16 KB. You can enable the custom parameter function by setting EnableParameter=true in the script content: Define custom parameters in the {{}} format. Within {{}}, the spaces and line breaks before and after the name of the parameter are ignored. The number of custom parameters cannot exceed 20. A custom parameter name can contain only letters, digits, underscores (_), and hyphens (-). It is case insensitive. Each custom parameter key cannot exceed 64 bytes.


instanceIdsRequired

  • Type: com.aliyun.ros.cdk.core.IResolvable OR java.util.List

Property instanceIds: The instance id list.

Instances status must be running.


typeRequired

  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property type: The language type of the O&M script.

Valid values: RunBatScript: batch scripts for Windows instances RunPowerShellScript: PowerShell scripts for Windows instances RunShellScript: shell scripts for Linux instances


containerIdOptional

  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property containerId: The ID of the container.

Only 64-bit hexadecimal strings are supported. You can use container IDs that are prefixed with docker://, containerd://, or cri-o:// to specify container runtimes. Take note of the following items:

  • If you specify this parameter, Cloud Assistant runs scripts in the specified container of the instance.
  • If you specify this parameter, make sure that the version of Cloud Assistant Agent installed on Linux instances is 2.2.3.344 or later.- If you specify this parameter, Username that is specified in a request to call this operation and WorkingDir that is specified in a request to call the CreateCommand operation do not take effect. You can run the command only in the default working directory of the container by using the default user of the container.
  • If you specify this parameter, 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.

containerNameOptional

  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property containerName: The name of the container.

Take note of the following items:

  • If you specify this parameter, Cloud Assistant runs scripts in the specified container of the instance.
  • If you specify this parameter, make sure that the version of Cloud Assistant Agent installed on Linux instances is 2.2.3.344 or later.
  • If you specify this parameter, Username that is specified in a request to call this operation and WorkingDir that is specified in a request to call the CreateCommand operation do not take effect. You can run the command only in the default working directory of the container by using the default user of the container.
  • If you specify this parameter, 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.

contentEncodingOptional

  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property contentEncoding: The encoding mode of script content (CommandContent).

Valid values (case insensitive): PlainText: The script content is not encoded, and transmitted in plaintext. Base64: base64-encoded. Default value: PlainText. If the specified value of this parameter is invalid, PlainText is used by default.


descriptionOptional

  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property description: The description of the script, which supports all character sets.

It can be up to 512 characters in length.


enableParameterOptional

  • Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable

Property enableParameter: Specifies whether the script contains custom parameters.

Default value: false


frequencyOptional

  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property frequency: The execution period of recurring tasks.

If the Timed parameter is set to True, you must specify the Frequency parameter. The interval between two recurring tasks cannot be less than 10 seconds. The parameter value follows the cron expression. For more information, see Configure scheduled commands.


keepCommandOptional

  • Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable

Property keepCommand: Specifies whether to retain the script after it is run.

Valid values: true: The script is retained. You can call the InvokeCommand operation to run the script again, call the DescribeCommands operation to query the script, and call the DeleteCommands operation to delete the script. The retained script takes up the quota of Cloud Assistant scripts. false: The script is not retained. It is automatically deleted after running, without taking up the quota of Cloud Assistant scripts. Default value: false


nameOptional

  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property name: The name of the script, which supports all character sets.

It can be up to 128 characters in length.


parametersOptional

  • Type: com.aliyun.ros.cdk.core.IResolvable OR java.util.Map

Property parameters: The key-value pairs of custom parameters passed in when the script contains custom parameters.

Number of custom parameters: 0 to 10. The key cannot be an empty string. It can be up to 64 characters in length. The value can be an empty string. After the custom parameters and the original script content are Base64 encoded, the total size cannot exceed 16 KB. The set of custom parameter names must be a subset of the parameter set that is defined when you created the script. You can use an empty string to represent the parameters that are not passed in. Default value: null, indicating that this parameter is canceled and customer parameters are disabled.


repeatModeOptional

  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property repeatMode: Specifies how to run the command.

Valid values:

  • Once: immediately runs the command.
  • Period: runs the command on a schedule. If you set this parameter to Period, you must specify Frequency.
  • NextRebootOnly: runs the command the next time the instance is started.
  • *EveryReboot: runs the command every time the instance is started. Default value:
  • If you do not specify Frequency, the default value is Once.
  • If you specify Frequency, Period is used as the value of RepeatMode regardless of whether RepeatMode is set to Period.

resourceGroupIdOptional

  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property resourceGroupId: The ID of the resource group to which to assign the command executions.

The instances specified by InstanceIds must belong to the specified resource group.


runAgainOnOptional

  • Type: com.aliyun.ros.cdk.core.IResolvable OR java.util.List

Property runAgainOn: The stage of executing the command again.


syncOptional

  • Type: java.lang.Boolean OR com.aliyun.ros.cdk.core.IResolvable

Property sync: Whether to invoke synchronously.


tagsOptional

Property tags: Tags to attach to run_command.

Max support 20 tags to add during create run_command. Each tag with two properties Key and Value, and Key is required.


timeoutOptional

  • Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable

Property timeout: The timeout period for script execution.

Unit: seconds. A timeout error occurs when a script cannot be run because the process slows down, a specific module or the Cloud Assistant client does not exist. When the script times out, the script process is forcibly terminated. Default value: 60.


usernameOptional

  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property username: The username to use to run the command on instances.

The username can be up to 255 characters in length.

  • For Linux instances, the root username is used by default.
  • For Windows instances, the System username is used by default. You can also specify other usernames that already exist in the instances to run the command. For security purposes, we recommend that you run Cloud Assistant commands as a regular user.

windowsPasswordNameOptional

  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property windowsPasswordName: The name of the password to use to run the command on Windows instances.

The name can be up to 255 characters in length. If you do not want to use the default System user to run the command on Windows instances, specify both WindowsPasswordName and Username. To mitigate the risk of password leaks, the password is stored in plaintext in Operation Orchestration Service (OOS) Parameter Store, and only the name of the password is passed in by using WindowsPasswordName.


workingDirOptional

  • Type: java.lang.String OR com.aliyun.ros.cdk.core.IResolvable

Property workingDir: The running directory of the script in the ECS instance.

Default value: Linux instances: under the home directory of the administrator (root user): /root. Windows instances: under the directory where the process of the Cloud Assistant client is located, such as C:\ProgramData\aliyun\assist$(version).


Methods

Name Description
toString Returns a string representation of this construct.
synthesize Allows this construct to emit artifacts into the cloud assembly during synthesis.
addCondition No description.
addCount No description.
addDependency No description.
addResourceDesc No description.
applyRemovalPolicy No description.
getAtt No description.
setMetadata No description.

toString

public java.lang.String toString()

Returns a string representation of this construct.

synthesize

public void synthesize(ISynthesisSession session)

Allows this construct to emit artifacts into the cloud assembly during synthesis.

This method is usually implemented by framework-level constructs such as Stack and Asset as they participate in synthesizing the cloud assembly.

sessionRequired

  • Type: com.aliyun.ros.cdk.core.ISynthesisSession

The synthesis session.


addCondition

public void addCondition(RosCondition condition)

conditionRequired

  • Type: com.aliyun.ros.cdk.core.RosCondition

addCount

public void addCount(java.lang.Number OR IResolvable count)

countRequired

  • Type: java.lang.Number OR com.aliyun.ros.cdk.core.IResolvable

addDependency

public void addDependency(Resource resource)

resourceRequired

  • Type: com.aliyun.ros.cdk.core.Resource

addResourceDesc

public void addResourceDesc(java.lang.String desc)

descRequired

  • Type: java.lang.String

applyRemovalPolicy

public void applyRemovalPolicy(RemovalPolicy policy)

policyRequired

  • Type: com.aliyun.ros.cdk.core.RemovalPolicy

getAtt

public IResolvable getAtt(java.lang.String name)

nameRequired

  • Type: java.lang.String

setMetadata

public void setMetadata(java.lang.String key, java.lang.Object value)

keyRequired

  • Type: java.lang.String

valueRequired

  • Type: java.lang.Object

Static Functions

Name Description
isConstruct Return whether the given object is a Construct.

isConstruct

import com.aliyun.ros.cdk.ecs.RunCommand;
RunCommand.isConstruct(java.lang.Object x)

Return whether the given object is a Construct.

xRequired

  • Type: java.lang.Object

Properties

Name Type Description
node com.aliyun.ros.cdk.core.ConstructNode The construct tree node associated with this construct.
ref java.lang.String No description.
stack com.aliyun.ros.cdk.core.Stack The stack in which this resource is defined.
resource com.aliyun.ros.cdk.core.RosResource No description.
attrCommandId com.aliyun.ros.cdk.core.IResolvable Attribute CommandId: The id of command created.
attrInvokeId com.aliyun.ros.cdk.core.IResolvable Attribute InvokeId: The invoke id of command.
attrInvokeInstances com.aliyun.ros.cdk.core.IResolvable Attribute InvokeInstances: The InvokeInstances of command.
attrInvokeResults com.aliyun.ros.cdk.core.IResolvable Attribute InvokeResults: The results of invoke command.

nodeRequired

public ConstructNode getNode();
  • Type: com.aliyun.ros.cdk.core.ConstructNode

The construct tree node associated with this construct.


refRequired

public java.lang.String getRef();
  • Type: java.lang.String

stackRequired

public Stack getStack();
  • Type: com.aliyun.ros.cdk.core.Stack

The stack in which this resource is defined.


resourceOptional

public RosResource getResource();
  • Type: com.aliyun.ros.cdk.core.RosResource

attrCommandIdRequired

public IResolvable getAttrCommandId();
  • Type: com.aliyun.ros.cdk.core.IResolvable

Attribute CommandId: The id of command created.


attrInvokeIdRequired

public IResolvable getAttrInvokeId();
  • Type: com.aliyun.ros.cdk.core.IResolvable

Attribute InvokeId: The invoke id of command.


attrInvokeInstancesRequired

public IResolvable getAttrInvokeInstances();
  • Type: com.aliyun.ros.cdk.core.IResolvable

Attribute InvokeInstances: The InvokeInstances of command.


attrInvokeResultsRequired

public IResolvable getAttrInvokeResults();
  • Type: com.aliyun.ros.cdk.core.IResolvable

Attribute InvokeResults: The results of invoke command.