ACS-ResourceManager-BulkyMoveResources

更新时间:
复制 MD 格式

Template name

ACS-ResourceManager-BulkyMoveResources: Moves multiple resources to a resource group in Resource Management.

Execute Now

Template description

Moves multiple resources from one resource group to another.

Template type

Automated

Owner

Alibaba Cloud

Input parameters

Parameter

Description

Type

Required

Default value

Limit

resourceIds

IDs of the resources to move.

List

Yes

resourceGroupId

ID of the destination resource group.

String

Yes

resourceType

Type of the resources to move.

String

Yes

regionId

Region of the resources.

String

No

{{ ACS::RegionId }}

rateControl

Task execution concurrency

Json

No

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

OOSAssumeRole

The Resource Access Management (RAM) role assumed by OOS.

String

No

""

Output parameters

None

Required permission policy

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "resourcemanager:MoveResources"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

Details

View the template source on GitHub: ACS-ResourceManager-BulkyMoveResources.

Template content

FormatVersion: OOS-2019-06-01
Description:
  en: Bulky move resources from one resource group to another
  name-en: ACS-ResourceManager-BulkyMoveResources
  categories:
    - security
Parameters:
  regionId:
    Type: String
    Label:
      en: RegionId
    AssociationProperty: RegionId
    Default: '{{ ACS::RegionId }}'
  resourceIds:
    Label:
      en: resourceIds
    Type: List
  resourceGroupId:
    Label:
      en: resourceGroup Id
    Type: String
  resourceType:
    Label:
      en: resource type
    Type: String
    AllowedValues:
      - ACS::ACK::Cluster
      - ACS::AckOne::Cluster
      - ACS::ACVS::PrivateCloud
      - ACS::ADB::DBCluster
      - ACS::ADB::DBClusterLakeVersion
      - ACS::ALB::Acl
      - ACS::ALB::HealthCheckTemplate
      - ACS::ALB::LoadBalancer
      - ACS::ALB::SecurityPolicy
      - ACS::ALB::ServerGroup
      - ACS::Alidns::DnsGtmInstance
      - ACS::Alidns::Domain
      - ACS::AliKafka::Instance
      - ACS::APIG::Domain
      - ACS::APIG::Environment
      - ACS::APIG::Gateway
      - ACS::APIG::HttpApi
      - ACS::APIG::Service
      - ACS::APIG::Source
      - ACS::ARMS::Environment
      - ACS::ARMS::GrafanaWorkspace
      - ACS::ARMS::Prometheus
      - ACS::ARMS::RetcodeApp
      - ACS::ARMS::SyntheticTask
      - ACS::ARMS::TraceApp
      - ACS::ARMS::XTraceApp
      - ACS::Bastionhost::Instance
      - ACS::BPStudio::Application
      - ACS::BPStudio::Template
      - ACS::Cassandra::Cluster
      - ACS::CBWP::CommonBandwidthPackage
      - ACS::CDN::Domain
      - ACS::CEN::CenBandwidthPackage
      - ACS::CEN::CenInstance
      - ACS::ChatAppMessageService::Instance
      - ACS::ClickHouse::DBCluster
      - ACS::ComputeNest::Artifact
      - ACS::ComputeNest::Service
      - ACS::ComputeNest::ServiceInstance
      - ACS::CR::ChartNamespace
      - ACS::CR::ChartRepository
      - ACS::CR::Instance
      - ACS::CR::Namespace
      - ACS::CR::Repository
      - ACS::DataEncryptionService::Instance
      - ACS::DataWorks::DwResourceGroup
      - ACS::DataWorks::Project
      - ACS::DataWorks::TenantResourceGroup
      - ACS::DBAudit::Instance
      - ACS::DBS::BackupPlan
      - ACS::DCDN::Domain
      - ACS::DdosBgp::Instance
      - ACS::DdosCoo::Instance
      - ACS::Domain::Domain
      - ACS::DRDS::DBInstance
      - ACS::DRDS::PolarDBXInstance
      - ACS::DTS::Instance
      - ACS::EAIS::Instance
      - ACS::EBS::DedicatedBlockStorageCluster
      - ACS::EBS::Disk
      - ACS::EBS::DiskReplicaGroup
      - ACS::EBS::DiskReplicaPair
      - ACS::EBS::EnterpriseSnapshotPolicy
      - ACS::EBS::SolutionInstance
      - ACS::ECI::ContainerGroup
      - ACS::ECI::ImageCache
      - ACS::ECS::Activation
      - ACS::ECS::AutoProvisioningGroup
      - ACS::ECS::AutoSnapshotPolicy
      - ACS::ECS::DedicatedHost
      - ACS::ECS::Disk
      - ACS::ECS::Image
      - ACS::ECS::ImageComponent
      - ACS::ECS::ImagePipeline
      - ACS::ECS::Instance
      - ACS::ECS::KeyPair
      - ACS::ECS::LaunchTemplate
      - ACS::ECS::NetworkInterface
      - ACS::ECS::SecurityGroup
      - ACS::ECS::Snapshot
      - ACS::EDAS::Application
      - ACS::EDAS::Cluster
      - ACS::Eflo::Cluster
      - ACS::Eflo::Er
      - ACS::Eflo::ExperimentPlan
      - ACS::Eflo::Node
      - ACS::Eflo::Subnet
      - ACS::Eflo::Vcc
      - ACS::Eflo::Vpd
      - ACS::EIP::EipAddress
      - ACS::Eipanycast::AnycastEipAddress
      - ACS::Elasticsearch::Instance
      - ACS::Elasticsearch::Logstash
      - ACS::EMR::Cluster
      - ACS::EMR::FlowProject
      - ACS::ESS::ScalingGroup
      - ACS::ExpressConnect::PhysicalConnection
      - ACS::ExpressConnect::RouterInterface
      - ACS::ExpressConnect::TrafficQos
      - ACS::ExpressConnect::VirtualBorderRouter
      - ACS::ExpressConnectRouter::ExpressConnectRouter
      - ACS::Ga::Accelerator
      - ACS::Ga::Acl
      - ACS::Ga::BandwidthPackage
      - ACS::Ga::BasicAccelerator
      - ACS::GPDB::DBInstance
      - ACS::GraphDatabase::DbInstance
      - ACS::GWLB::LoadBalancer
      - ACS::GWLB::ServerGroup
      - ACS::HBase::Cluster
      - ACS::HBR::HanaInstance
      - ACS::HBR::Vault
      - ACS::Hologram::Instance
      - ACS::IGraph::Instance
      - ACS::Iot::Instance
      - ACS::Iot::Product
      - ACS::LC::Flow
      - ACS::Lindorm::Instance
      - ACS::Live::Caster
      - ACS::Live::Domain
      - ACS::Milvus::Instance
      - ACS::MongoDB::DBInstance
      - ACS::MSE::Cluster
      - ACS::MSE::Gateway
      - ACS::NAS::FileSystem
      - ACS::NAT::NatGateway
      - ACS::NIS::Diagnosis
      - ACS::NIS::NetworkPath
      - ACS::NLB::LoadBalancer
      - ACS::NLB::SecurityPolicy
      - ACS::NLB::ServerGroup
      - ACS::OceanBase::Instance
      - ACS::OOS::Execution
      - ACS::OOS::Parameter
      - ACS::OOS::PatchBaseline
      - ACS::OOS::SecretParameter
      - ACS::OOS::StateConfiguration
      - ACS::OOS::Template
      - ACS::OpenSearch::AppGroup
      - ACS::OSS::Bucket
      - ACS::OTS::Instance
      - ACS::PAIWorkspace::Workspace
      - ACS::PolarDB::DBCluster
      - ACS::PrivateLink::VpcEndpoint
      - ACS::PrivateLink::VpcEndpointService
      - ACS::PrivateZone::Zone
      - ACS::RDS::DBInstance
      - ACS::RealtimeCompute::VvpInstance
      - ACS::Redis::DBInstance
      - ACS::ResourceManager::ResourceShare
      - ACS::RocketMQ::Instance
      - ACS::ROS::Stack
      - ACS::ROS::StackGroup
      - ACS::ROS::Template
      - ACS::ROS::TemplateScratch
      - ACS::SearchEngine::Instance
      - ACS::SelectDB::DBInstance
      - ACS::SLB::AccessControlList
      - ACS::SLB::CACertificate
      - ACS::SLB::LoadBalancer
      - ACS::SLB::ServerCertificate
      - ACS::SLS::Project
      - ACS::SmarTag::Acl
      - ACS::Smartag::CloudConnectNetwork
      - ACS::SmarTag::FlowLog
      - ACS::Smartag::IntelligentRouting
      - ACS::SmarTag::Qos
      - ACS::SmarTag::SagSoftware
      - ACS::SmarTag::SmartAccessGateway
      - ACS::SMC::ReplicationJob
      - ACS::SMC::SourceServer
      - ACS::SSLCertificatesService::Certificate
      - ACS::SSLCertificatesService::UserCertificate
      - ACS::StarRocks::Instance
      - ACS::VOD::AppInfo
      - ACS::VOD::Storage
      - ACS::VPC::DhcpOptionsSet
      - ACS::VPC::FlowLog
      - ACS::VPC::GatewayEndpoint
      - ACS::VPC::HaVip
      - ACS::VPC::Ipv4Gateway
      - ACS::VPC::Ipv6Address
      - ACS::VPC::Ipv6Gateway
      - ACS::VPC::PrefixList
      - ACS::VPC::PublicIpAddressPool
      - ACS::VPC::TrafficMirrorFilter
      - ACS::VPC::TrafficMirrorSession
      - ACS::VPC::VPC
      - ACS::VpcIpam::Ipam
      - ACS::VpcIpam::IpamPool
      - ACS::VpcIpam::IpamResourceDiscovery
      - ACS::VpcIpam::IpamScope
      - ACS::VpcPeer::PeerConnection
      - ACS::VPN::CustomerGateway
      - ACS::VPN::IpsecServer
      - ACS::VPN::SslVpnClientCert
      - ACS::VPN::SslVpnServer
      - ACS::VPN::VpnAttachment
      - ACS::VPN::VpnConnection
      - ACS::VPN::VpnGateway
      - ACS::WAF::Domain
      - ACS::WAFV3::DefenseResource

  rateControl:
    Label:
      en: RateControl
    Type: Json
    AssociationProperty: RateControl
    Default:
      Mode: Concurrency
      MaxErrors: 0
      Concurrency: 10
  OOSAssumeRole:
    Label:
      en: OOSAssumeRole
    Type: String
    Default: ''
RamRole: '{{ OOSAssumeRole }}'
Tasks:
  - Name: moveResources
    Action: ACS::ExecuteAPI
    Description:
      en: Moves resources from one resource group to another.
    Properties:
      Service: ResourceManager
      API: MoveResources
      Parameters:
        ResourceGroupId: '{{ resourceGroupId }}'
        Resources:
          - ResourceId: '{{ACS::TaskLoopItem }}'
            ResourceType:
              'Fn::Jq':
                - First
                - '.resourceType |split("::") | ""+.[2]'
                - '{"resourceType":"{{resourceType}}"}'
            RegionId: '{{ regionId }}'
            Service:
              'Fn::Jq':
                - First
                - '.resourceType |split("::") | ""+.[1]'
                - '{"resourceType":"{{resourceType}}"}'
    Loop:
      RateControl: '{{ rateControl }}'
      Items: '{{ resourceIds }}'
Metadata:
  ALIYUN::OOS::Interface:
    ParameterGroups:
      - Parameters:
          - regionId
          - resourceGroupId
          - resourceType
          - resourceIds
        Label:
          default:
            en: Configure Parameters
      - Parameters:
          - OOSAssumeRole
          - RateControl
        Label:
          default:
            en: Control Options