Todos os produtos
Search
Central de documentação

CloudOps Orchestration Service:ACS-ECS-ConfigurePackage

Última atualização: Jun 28, 2026

Nome do modelo

O modelo ACS-ECS-ConfigurePackage instala ou desinstala pacotes em lote.

Executar agora

Descrição do modelo

Instala ou desinstala um pacote YUM ou APT em várias instâncias ECS simultaneamente.

Tipo de modelo

Automatizado

Proprietário

Alibaba Cloud

Parâmetros de entrada

Parâmetro

Descrição

Tipo

Obrigatório

Valor padrão

Limite

action

Tipo de operação. Valores válidos: install, uninstall.

String

Sim

targets

Instâncias ECS de destino

Json

Sim

packageName

Nome do pacote a ser instalado ou desinstalado.

String

Sim

regionId

ID da região.

String

Não

{{ ACS::RegionId }}

installer

Gerenciador de pacotes. Valores válidos: apt-get, yum.

String

Não

apt-get

rateControl

Controle de taxa para execução da tarefa.

Json

Não

{'Mode': 'Concurrency', 'MaxErrors': 0, 'Concurrency': 10}

OOSAssumeRole

Função RAM assumida pelo OOS para executar o modelo.

String

Não

""

Parâmetros de saída

Parâmetro

Descrição

Tipo

commandOutput

String

Política de permissões necessária para executar o modelo

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "ecs:DescribeInstances",
                "ecs:DescribeInvocationResults",
                "ecs:DescribeInvocations",
                "ecs:RunCommand"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "oos:GetApplicationGroup"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

Detalhes

Visualize o código-fonte do modelo: ACS-ECS-ConfigurePackage.yml no GitHub.

Conteúdo do modelo

FormatVersion: OOS-2019-06-01
Description:
  en: Use this template to install or uninstall packages on ECS instances.
  zh-cn: Use this template to install or uninstall packages on ECS instances.
  name-en: ACS-ECS-ConfigurePackage
  name-zh-cn: Install or uninstall packages in batches
  categories:
    - run_command
Parameters:
  regionId:
    Type: String
    Label:
      en: Region ID
      zh-cn: Region ID
    AssociationProperty: RegionId
    Default: '{{ ACS::RegionId }}'
  installer:
    Type: String
    Label:
      en: Installer
      zh-cn: Installer
    Default: apt-get
    AllowedValues:
      - apt-get
      - yum 
  action:
    Type: String
    Label:
      en: Action
      zh-cn: Action
    AllowedValues:
      - install
      - uninstall
  targets:
    Type: Json
    Label:
      en: Target Instance
      zh-cn: Target Instance
    AssociationProperty: Targets
    AssociationPropertyMetadata:
      ResourceType: 'ALIYUN::ECS::Instance'
      RegionId: regionId
  packageName:
    Type: String
    Label:
      en: Package Name
      zh-cn: Package Name
  rateControl:
    Label:
      en: Rate Control
      zh-cn: Rate Control
    Type: Json
    AssociationProperty: RateControl
    Default:
      Mode: Concurrency
      MaxErrors: 0
      Concurrency: 10
  OOSAssumeRole:
    Label:
      en: OOSAssumeRole
      zh-cn: OOSAssumeRole
    Type: String
    Default: ''
RamRole: '{{ OOSAssumeRole }}'
Tasks:
  - Name: getInstance
    Description:
      en: Get ECS instances.
      zh-cn: Get ECS instances.
    Action: 'ACS::SelectTargets'
    Properties:
      ResourceType: 'ALIYUN::ECS::Instance'
      RegionId: '{{ regionId }}'
      Filters:
        - '{{ targets }}'
    Outputs:
      instanceIds:
        Type: List
        ValueSelector: 'Instances.Instance[].InstanceId'
  - Name: runCommand
    Action: 'ACS::ECS::RunCommand'
    Properties:
      commandContent: |- 
        #!/bin/bash
        if [ "{{installer}}" = "yum" ]; then
            if [ "{{action}}" = "install" ]; then
                yum install -y {{packageName}}
                if [ $? -ne 0 ]; then
                    echo "Package installation failed. Check your command." >&2;
                    exit 1;
                fi
                exit 0;
            elif [ "{{action}}" = "uninstall" ]; then
                yum remove -y {{packageName}}
                if [ $? -ne 0 ]; then
                    echo "Package uninstallation failed. Check your command." >&2;
                    exit 1;
                fi
                exit 0;
            else
                echo "The action must be 'install' or 'uninstall'." >&2;
                exit 1;
            fi
        elif [ "{{installer}}" = "apt-get" ]; then
            if [ "{{action}}" = "install" ]; then
                apt-get -y install {{packageName}}
                if [ $? -ne 0 ]; then
                    echo "Package installation failed. Check your command." >&2;
                    exit 1;
                fi
                exit 0;
            elif [ "{{action}}" = "uninstall" ]; then
                apt-get -y remove {{packageName}}
                if [ $? -ne 0 ]; then
                    echo "Package uninstallation failed. Check your command." >&2;
                    exit 1;
                fi
                exit 0;
            else
                echo "The action must be 'install' or 'uninstall'." >&2;
                exit 1;
            fi
        else
            echo "Unknown package installer. Only 'yum' and 'apt-get' are supported." >&2;
            exit 1;
        fi
      instanceId: '{{ ACS::TaskLoopItem }}'
      regionId: '{{ regionId }}'
      commandType: RunShellScript
    Loop:
      Items: '{{ getInstance.instanceIds }}'
      RateControl: '{{ rateControl }}'
      Outputs:
        commandOutputs:
          AggregateType: 'Fn::ListJoin'
          AggregateField: commandOutput
    Outputs:
      commandOutput:
        Type: String
        ValueSelector: invocationOutput
Outputs:
  commandOutput:
    Type: String
    Value: '{{ runCommand.commandOutputs }}'
Metadata:
  ALIYUN::OOS::Interface:
    ParameterGroups:
      - Parameters:
          - installer
          - action
          - packageName
        Label:
          default:
            zh-cn: Configure Parameters
            en: Configure Parameters
      - Parameters:
          - regionId
          - targets
        Label:
          default:
            zh-cn: Select Instances
            en: Select Instances
      - Parameters:
          - rateControl
          - OOSAssumeRole
        Label:
          default:
            zh-cn: Advanced Options
            en: Advanced Options

Instruções

  1. Leia o conteúdo em inglês para compreender O QUE precisa ser comunicado

  2. Escreva o português brasileiro DO ZERO — esqueça a estrutura das frases em inglês

  3. Preserve toda a formatação markdown, blocos de código, links e imagens exatamente como estão

  4. Tags xref (<a data-tag="xref" ...>texto</a>) — preserve a tag INTEIRA com todos os atributos na ordem e caixa originais, traduza APENAS o texto visível entre > e

  5. Aplique todas as regras específicas do idioma rigorosamente

  6. Aplique as regras de stopwords com tolerância zero

  7. Use o modo imperativo em passos numerados e listas de procedimentos

  8. Garanta a consistência terminológica — mesmo termo = mesma tradução em todo o documento

  9. Varie os inícios de frase em listas/tabelas — nenhum início repetido mais de 3 vezes

  10. Retorne APENAS o documento markdown em português brasileiro, sem explicações