全部产品
Search
文档中心

CloudOps Orchestration Service:ACS-ECS-ModifyInstanceSpec

更新时间:Jun 28, 2025

Nama template

ACS-ECS-ModifyInstanceSpec

Eksekusi Sekarang

Deskripsi template

Mengubah tipe instans dari sebuah instans Elastic Compute Service (ECS) dengan pembayaran sesuai pemakaian.

Tipe template

Otomatis

Pemilik

Alibaba Cloud

Parameter input

Parameter

Deskripsi

Tipe

Diperlukan

Nilai default

Batasan

instanceId

ID dari instans ECS.

String

Ya

modifyInstanceSpecInfo

Informasi yang digunakan untuk mengubah tipe instans dari instans ECS.

Json

Ya

regionId

ID wilayah.

String

Tidak

{{ ACS::RegionId }}

OOSAssumeRole

Peran Resource Access Management (RAM) yang diasumsikan oleh CloudOps Orchestration Service (OOS).

String

Tidak

""

Parameter output

Parameter

Deskripsi

Tipe

instanceIdAndInstanceType

List

Kebijakan izin yang diperlukan untuk mengeksekusi template

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "ecs:DescribeInstanceTypes",
                "ecs:DescribeInstances",
                "ecs:ModifyInstanceSpec",
                "ecs:StartInstance",
                "ecs:StopInstance"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

Referensi

Untuk informasi lebih lanjut, lihat ACS-ECS-ModifyInstanceSpec.yml di GitHub.

Konten Template

FormatVersion: OOS-2019-06-01
Description:
  en: Modify postpaid instance's type
  zh-cn: deskripsi dalam bahasa Tiongkok
  name-en: ACS-ECS-ModifyInstanceSpec
  name-zh-cn: deskripsi dalam bahasa Tiongkok
  categories:
    - instance_manage
Parameters:
  regionId:
    Label:
      en: RegionId
      zh-cn: deskripsi dalam bahasa Tiongkok
    Type: String
    AssociationProperty: RegionId
    Default: '{{ ACS::RegionId }}'
  instanceId:
    Label:
      en: InstanceId
      zh-cn: deskripsi dalam bahasa Tiongkok
    Type: String
    AssociationProperty: ALIYUN::ECS::Instance::InstanceId
    AssociationPropertyMetadata:
      RegionId: regionId
  modifyInstanceSpecInfo:
    Description:
      en: 'upgrade:{"ecs.g6.large":"ecs.g6.xlarge", "ecs.g6.xlarge":"ecs.g6.2xlarge"} downgrade:{"ecs.g6.2xlarge":"ecs.g6.xlarge","ecs.g6.xlarge":"ecs.g6.large"}'
      zh-cn: |
        deskripsi dalam bahasa Tiongkok
         
    Label:
      en: ModifyInstanceSpecInfo
      zh-cn: deskripsi dalam bahasa Tiongkok
    Type: Json
  OOSAssumeRole:
    Label:
      en: OOSAssumeRole
      zh-cn: deskripsi dalam bahasa Tiongkok
    Type: String
    Default: ''
RamRole: '{{ OOSAssumeRole }}'
Tasks:
  - Name: getInstanceType
    Action: 'ACS::ExecuteAPI'
    Description:
      en: Query instance type
      zh-cn: deskripsi dalam bahasa Tiongkok
    Properties:
      Service: ECS
      API: DescribeInstances
      Parameters:
        RegionId: '{{ regionId }}'
        InstanceIds:
          - '{{ instanceId }}'
    Outputs:
      instanceType:
        Type: String
        ValueSelector: Instances.Instance[].InstanceType
      instanceIds:
        Type: List
        ValueSelector: Instances.Instance[].InstanceId
  - Name: checkForWhetherResourceExist
    Action: ACS::Choice
    Description:
      en: Check whether the resource exist
      zh-cn: deskripsi dalam bahasa Tiongkok
    Properties:
      DefaultTask: checkForInstanceTypeAvailable
      Choices:
        - When:
            Fn::Equals:
              - []
              - '{{ getInstanceType.instanceIds }}'
          NextTask: ACS::END
  - Name: checkForInstanceTypeAvailable
    Action: ACS::CheckFor
    Description:
      en: Check weather the instance type is available
      zh-cn: deskripsi dalam bahasa Tiongkok
    Properties:
      Service: ECS
      API: DescribeInstanceTypes
      Parameters:
        RegionId: '{{ regionId }}'
        InstanceTypes:
          - Fn::Select:
              - '{{ getInstanceType.instanceType }}'
              - '{{ modifyInstanceSpecInfo }}'
      NotDesiredValues:
        - []
      PropertySelector: InstanceTypes.InstanceType
  - Name: ModifyInstanceSpec
    Action: 'ACS::ECS::ModifyInstanceSpec'
    Description:
      en: Modify instance type
      zh-cn: deskripsi dalam bahasa Tiongkok
    Properties:
      regionId: '{{ regionId }}'
      instanceId: '{{ instanceId }}'
      instanceType:
        'Fn::Select':
          - '{{ getInstanceType.instanceType }}'
          - '{{ modifyInstanceSpecInfo }}'
  - Name: describeInstances
    Action: 'ACS::ExecuteAPI'
    Description:
      en: Query ECS instances info
      zh-cn: deskripsi dalam bahasa Tiongkok
    Properties:
      Service: ECS
      API: DescribeInstances
      Parameters:
        RegionId: '{{ regionId }}'
        InstanceIds:
          - '{{ instanceId }}'
    Outputs:
      instanceIdAndInstanceType:
        Type: List
        ValueSelector: 'Instances.Instance[] | {"InstanceId": .InstanceId, "InstanceType" : .InstanceType}'
Outputs:
  instanceIdAndInstanceType:
    Type: List
    Value: '{{ describeInstances.instanceIdAndInstanceType }}'
Metadata:
  ALIYUN::OOS::Interface:
    ParameterGroups:
      - Parameters:
          - modifyInstanceSpecInfo
        Label:
          default:
            zh-cn: deskripsi dalam bahasa Tiongkok
            en: Parameter Configure
      - Parameters:
          - regionId
          - instanceId
        Label:
          default:
            zh-cn: deskripsi dalam bahasa Tiongkok
            en: Select Ecs Instances
      - Parameters:
          - OOSAssumeRole
        Label:
          default:
            zh-cn: deskripsi dalam bahasa Tiongkok
            en: Control Options