All Products
Search
Document Center

CloudOps Orchestration Service:ACS-ECS-ConvertsPublicIPToNewEIPByInstanceId

Last Updated:Dec 24, 2025

Template name

ACS-ECS-ConvertsPublicIPToNewEIPByInstanceId Converts the public IP address of an instance to an Elastic IP Address

Execute Now

Template description

Convert the public IP address of an ECS instance in a VPC to an Elastic IP Address

Template type

Automated

Owner

Alibaba Cloud

Input parameters

Parameter

Description

Type

Required

Default value

Limit

instanceId

The ID of the ECS instance.

String

Yes

OOSAssumeRole

The Resource Access Management (RAM) role that is assumed by CloudOps Orchestration Service (OOS).

String

No

""

Output parameters

Parameter

Description

Type

AllocationId

String

EipAddress

String

Permission policy that is required to execute the template

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "ecs:AllocateEipAddress",
                "ecs:AssociateEipAddress",
                "ecs:ConvertNatPublicIpToEip",
                "ecs:DescribeInstances",
                "ecs:ModifyInstanceNetworkSpec",
                "ecs:UnassociateEipAddress"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "vpc:DescribeEipAddresses"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

Details

Details of ACS-ECS-ConvertsPublicIPToNewEIPByInstanceId

Template content

FormatVersion: OOS-2019-06-01
Description:
  en: Converts the public IP address of a VPC-connected ECS instance to another elastic IP address (EIP).
  zh-cn: Converts the public IP address of a VPC-connected ECS instance to another elastic IP address (EIP).
  name-en: ACS-ECS-ConvertsPublicIPToNewEIPByInstanceId
  name-zh-cn: Converts the public IP address of an instance to another elastic IP address.
  categories:
    - instance_manage
Parameters:
  instanceId:
    Label:
      en: InstanceId
      zh-cn: ECS instance ID
    Type: String
  OOSAssumeRole:
    Label:
      en: OOSAssumeRole
      zh-cn: The RAM role assumed by OOS
    Type: String
    Default: ''
RamRole: '{{ OOSAssumeRole }}'
Tasks:
- Name: modifyInstanceNetworkSpec
  Action: ACS::ExecuteAPI
  Description:
    en: Modifies the network billing method of the ECS instance.
    zh-cn: Modifies the network billing method of the ECS instance.
  Properties:
    Service: ECS
    API: ModifyInstanceNetworkSpec
    Parameters:
      InstanceId: '{{ instanceId }}'
      NetworkChargeType: PayByTraffic
- Name: convertNatPublicIpToEip
  Action: ACS::ExecuteApi
  Description:
    en: Converts the public IP address of a VPC-connected ECS instance to an elastic IP address (EIP).
    zh-cn: Converts the public IP address of a VPC-connected ECS instance to an elastic IP address (EIP).
  Properties:
    Service: ECS
    API: ConvertNatPublicIpToEip
    Parameters:
      InstanceId: '{{ instanceId }}'
- Name: getInstanceEIP
  Action: ACS::ExecuteApi
  Description:
    en: Gets the EIP of the ECS instance.
    zh-cn: Gets the EIP of the ECS instance.
  Properties:
    Service: ECS
    API: DescribeInstances
    Parameters:
      InstanceId:
      - '{{ instanceId }}'
  Outputs:
    allocationId:
      Type: String
      ValueSelector: Instances.Instance[].EipAddress.AllocationId
- Name: unassociateEipAddress
  Action: ACS::ExecuteApi
  Description:
    en: Detaches the EIP from the ECS instance.
    zh-cn: Detaches the EIP from the ECS instance.
  Properties:
    Service: ECS
    API: UnassociateEipAddress
    Parameters:
      InstanceId: '{{ instanceId }}'
      AllocationId: '{{ getInstanceEIP.allocationId }}'
- Name: AllocateEipAddress
  Action: ACS::ExecuteAPI
  Description:
    en: Allocates an EIP.
    zh-cn: Allocates an EIP.
  Properties:
    Service: ECS
    API: AllocateEipAddress
    Parameters: {}
  Outputs:
    AllocationId:
      Type: String
      ValueSelector: AllocationId
    EipAddress:
      Type: String
      ValueSelector: EipAddress
- Name: DescribeEipAddresses
  Action: ACS::WaitFor
  Description:
    en: Waits for the EIP to become available.
    zh-cn: Waits for the EIP to become available.
  Properties:
    Service: VPC
    API: DescribeEipAddresses
    Parameters:
      AllocationId: '{{ AllocateEipAddress.AllocationId }}'
    DesiredValues:
      - Available
    PropertySelector: EipAddresses.EipAddress[].Status
- Name: AssociateEipAddress
  Action: ACS::ExecuteAPI
  Description:
    en: Associates the new EIP with the ECS instance.
    zh-cn: Associates the new EIP with the ECS instance.
  Properties:
    Service: ECS
    API: AssociateEipAddress
    Parameters:
      InstanceId: '{{ InstanceId }}'
      AllocationId: '{{ AllocateEipAddress.AllocationId }}'
Outputs:
  AllocationId:
    Type: String
    Value: '{{ AllocateEipAddress.AllocationId }}'
  EipAddress:
    Type: String
    Value: '{{ AllocateEipAddress.EipAddress }}'
Metadata:
  ALIYUN::OOS::Interface:
    ParameterGroups:
      - Parameters:
          - instanceId
        Label:
          default:
            zh-cn: Select an ECS instance
            en: Select an ECS instance
      - Parameters:
          - OOSAssumeRole
        Label:
          default:
            zh-cn: Advanced options
            en: Advanced options