Nom du modèle
ACS-ECS-BulkyDownloadFileAndRunCommand : télécharge un fichier sur plusieurs instances ECS et exécute une commande Cloud Assistant.
Description du modèle
Télécharge un fichier sur plusieurs instances ECS et exécute une commande Cloud Assistant.
Type de modèle
Automatisation
Propriétaire
Alibaba Cloud
Paramètres d'entrée
|
Paramètre |
Description |
Type |
Obligatoire |
Valeur par défaut |
Contraintes |
|
targets |
Instances ECS cibles. |
Json |
Oui |
||
|
sourcePath |
Fichier source. |
String |
Oui |
||
|
destinationDir |
Répertoire de destination du fichier téléchargé sur les instances ECS. |
String |
Oui |
||
|
regionId |
ID de la région. |
String |
Non |
{{ ACS::RegionId }} |
|
|
sourceType |
Type de fichier source. |
String |
Non |
local |
|
|
commandContent |
Commande à exécuter. |
String |
Non |
|
Longueur maximale : 16 384 octets. |
|
workingDir |
Répertoire de l'instance ECS depuis lequel exécuter la commande. |
String |
Non |
"" |
|
|
timeout |
Délai d'exécution de la commande, en secondes. |
Number |
Non |
600 |
|
|
rateControl |
Contrôle de simultanéité pour l'exécution des tâches. |
Json |
Non |
{'Mode': 'Concurrency', 'MaxErrors': 0, 'Concurrency': 10} |
|
|
OOSAssumeRole |
Rôle RAM endossé par OOS pour exécuter la tâche. |
String |
Non |
"" |
Paramètres de sortie
Aucun
Politique d'autorisation requise
{
"Version": "1",
"Statement": [
{
"Action": [
"ecs:DescribeInstances",
"ecs:DescribeInvocationResults",
"ecs:DescribeInvocations",
"ecs:RunCommand"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"oos:GetApplicationGroup"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
Détails
Détails ACS-ECS-BulkyDownloadFileAndRunCommand
Contenu du modèle
FormatVersion: OOS-2019-06-01
Description:
en: Downloads a file to multiple ECS instances and runs a Cloud Assistant command.
zh-cn: 批量下载文件到多个ECS实例并执行云助手命令
name-en: ACS-ECS-BulkyDownloadFileAndRunCommand
name-zh-cn: 批量下载文件到多个ECS实例并执行云助手命令
categories:
- instance_manage
- application_manage
Parameters:
regionId:
Type: String
Label:
en: Region ID
zh-cn: 地域ID
AssociationProperty: RegionId
Default: '{{ ACS::RegionId }}'
targets:
Label:
en: Target instance
zh-cn: 目标实例
Type: Json
Description:
en: <p class="p">Notes:</p> <ul class="ul"> <li class="li"><font color='red'>To download files over HTTPS, the target ECS instances must have access to the public network.</font></li><li class="li"><font color='red'>To download files from OSS, a RAM role must be attached to the target ECS instances. For more information, see <a href='https://www.alibabacloud.com/help/en/operation-orchestration-service/latest/download-multiple-objects-to-an-instance#vOk3w'>this document</a>.</font></li>
zh-cn: <p class="p">注意事项:</p> <ul class="ul"> <li class="li"><font color='red'>通过https方式下载需要ECS实例开启公网访问</font></li><li class="li"><font color='red'>通过oss方式下载需要ECS实例配置RAM角色,<a href='https://www.alibabacloud.com/help/document_detail/175396.html?spm=a2c4g.120556.0.0.34c9de53iyt2Z1#vOk3w'>参考文档</a></font></li>
AssociationProperty: Targets
AssociationPropertyMetadata:
ResourceType: 'ALIYUN::ECS::Instance'
RegionId: regionId
sourceType:
Type: String
Description:
en: The maximum size for files uploaded from your local computer is 500 MB.
zh-cn: 本地上传文件不能超过500M
Label:
en: Source type
zh-cn: 文件类型
AllowedValues:
- local
- oss
- https
Default: local
AssociationPropertyMetadata:
LocaleKey: DownloadFileType
RegionId: ${regionId}
sourcePath:
Type: String
Label:
en: Source file
zh-cn: 选择文件
AssociationProperty: ALIYUN::OOS::File::FileUrl
AssociationPropertyMetadata:
FileType: ${sourceType}
RegionId: ${regionId}
destinationDir:
Label:
en: Destination directory
zh-cn: 实例中文件复制的目标目录
Type: String
commandContent:
Label:
en: Command content
zh-cn: 命令内容
Type: String
MaxLength: 16384
AssociationProperty: ALIYUN::OOS::Command::CommandContent
AssociationPropertyMetadata:
CommandType: RunShellScript
Default: |
# Example of a Java deployment
# java_pid=`ps -ef | grep java | grep -v grep | awk '{print$2}'`
# if [[ $java_pid ]];then
# kill -9 $java_pid
# fi
# nohup java -jar *.jar &
workingDir:
Label:
en: Working directory
zh-cn: 脚本在ECS实例中的运行目录
Description:
en: 'The directory on the ECS instance from which the script runs. For Linux instances, the default is the home directory of the root user (/root). For Windows instances, the default is the directory where the Cloud Assistant client process is located, such as C:\Windows\System32.'
zh-cn: '脚本在ECS实例中的运行目录。Linux系统实例默认在管理员(root用户)的home目录下,即/root。Windows系统实例默认在云助手客户端进程所在目录,例如C:\Windows\System32。'
Type: String
Default: ''
timeout:
Label:
en: Command timeout
zh-cn: ECS实例中执行命令的超时时间
Type: Number
Default: 600
rateControl:
Label:
en: Concurrency rate
zh-cn: 任务执行的并发比率
Type: Json
AssociationProperty: RateControl
Default:
Mode: Concurrency
MaxErrors: 0
Concurrency: 10
OOSAssumeRole:
Label:
en: RAM role for OOS
zh-cn: OOS扮演的RAM角色
Type: String
Default: ''
RamRole: '{{ OOSAssumeRole }}'
Tasks:
- Name: getInstance
Description:
en: Selects the target ECS instances.
zh-cn: 获取ECS实例
Action: 'ACS::SelectTargets'
Properties:
ResourceType: 'ALIYUN::ECS::Instance'
RegionId: '{{ regionId }}'
Filters:
- '{{ targets }}'
Outputs:
instanceIds:
Type: List
ValueSelector: 'Instances.Instance[].InstanceId'
- Name: downloadFileAndRunCommand
Action: ACS::ECS::DownloadFileAndRunCommand
Description:
en: Downloads the file to the target instances and runs the command.
zh-cn: 下载文件到实例并执行命令
Properties:
regionId: '{{ regionId }}'
instanceId: '{{ ACS::TaskLoopItem }}'
sourceType: '{{ sourceType }}'
sourcePath: '{{ sourcePath }}'
destinationDir: '{{ destinationDir }}'
commandContent: '{{ commandContent }}'
workingDir: '{{ workingDir }}'
timeout: '{{ timeout }}'
Loop:
Items: '{{ getInstance.instanceIds }}'
RateControl: '{{ rateControl }}'
Metadata:
ALIYUN::OOS::Interface:
ParameterGroups:
- Parameters:
- sourceType
- sourcePath
- commandContent
- destinationDir
- workingDir
- timeout
Label:
default:
zh-cn: 配置参数
en: Configuration parameters
- Parameters:
- regionId
- targets
Label:
default:
zh-cn: 选择实例
en: Select instances
- Parameters:
- rateControl
- OOSAssumeRole
Label:
default:
zh-cn: 高级选项
en: Advanced options