すべてのプロダクト
Search
ドキュメントセンター

CloudOps Orchestration Service:ACS-TAG-TagResources

最終更新日:Dec 21, 2025

テンプレート名

ACS-TAG-TagResources:Resource Management を使用してリソースにタグを付ける

今すぐ実行

テンプレートの説明

Resource Management を使用してリソースにタグを追加します。

テンプレートタイプ

自動化

所有者

Alibaba Cloud

入力パラメーター

パラメーター

説明

タイプ

必須

デフォルト値

制限

resourceIds

リソース ID。

リスト

はい

resourceType

リソースタイプ。

文字列

はい

regionId

リージョン ID。

文字列

いいえ

{{ ACS::RegionId }}

tags

追加するタグ。

JSON

いいえ

{"oosGenerate": "oosGenerate"}

rateControl

同時タスク実行率

JSON

いいえ

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

OOSAssumeRole

CloudOps Orchestration Service (OOS) がアシュームするResource Access Management (RAM) ロール。

文字列

いいえ

""

出力パラメーター

パラメーター

説明

タイプ

resourceIdsAndTag

リスト

テンプレートを実行するために必要な権限ポリシー

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "tag:ListTagResources",
                "tag:TagResources"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

詳細

詳細については、GitHub の ACS-ACS-TAG-TagResources.yml をご参照ください。

テンプレートコンテンツ

FormatVersion: OOS-2019-06-01
Description:
    en: Adds tags to resources using Resource Management.
    ja: Resource Management を使用してリソースにタグを追加します。
    name-en: ACS-TAG-TagResources
    name-ja: ACS-TAG-TagResources
    categories:
      - security
Parameters:
  regionId:
    Label:
      en: Region ID
      ja: リージョン ID
    Type: String
    AssociationProperty: RegionId
    Default: '{{ ACS::RegionId }}'
  resourceIds:
    Label:
      en: Resource IDs
      ja: リソース ID
    Type: List
  resourceType:
    Label:
      en: Resource Type
      ja: リソースタイプ
    Type: String
    AllowedValues:
      - ACS::ACK::Cluster
      - ACS::ADB::DBCluster
      - ACS::ADB::DBClusterLakeVersion
      - ACS::ALB::Acl
      - ACS::ALB::HealthCheckTemplate
      - ACS::ALB::Listener
      - ACS::ALB::LoadBalancer
      - ACS::ALB::Rule
      - ACS::ALB::SecurityPolicy
      - ACS::ALB::ServerGroup
      - ACS::AliKafka::ConsumerGroup
      - ACS::AliKafka::Instance
      - ACS::AliKafka::Topic
      - ACS::ApiGateway::Api
      - ACS::ApiGateway::ApiGroup
      - ACS::ARMS::TraceApp
      - ACS::ARMS::RetcodeApp
      - ACS::ARMS::Prometheus
      - ACS::Bastionhost::Instance
      - ACS::CBWP::CommonBandwidthPackage
      - ACS::CDN::Domain
      - ACS::CEN::CenBandwidthPackage
      - ACS::CEN::CenInstance
      - ACS::CEN::Flowlog
      - ACS::CEN::TransitRouter
      - ACS::CEN::TransitRouterMulticastDomain
      - ACS::CEN::TransitRouterPeerAttachment
      - ACS::CEN::TransitRouterRouteTable
      - ACS::CEN::TransitRouterVbrAttachment
      - ACS::CEN::TransitRouterVpcAttachment
      - ACS::CEN::TransitRouterVpnAttachment
      - ACS::CEN::TransitRouterEcrAttachment
      - ACS::ClickHouse::DBCluster
      - ACS::CloudStorageGateway::Gateway
      - ACS::DCDN::Domain
      - ACS::DdosCoo::Instance
      - ACS::DdosBgp::Instance
      - ACS::EBS::DedicatedBlockStorageCluster
      - ACS::EBS::DiskReplicaGroup
      - ACS::EBS::DiskReplicaPair
      - ACS::EBS::EnterpriseSnapshotPolicy
      - ACS::EBS::SolutionInstance
      - ACS::ECI::ContainerGroup
      - ACS::ECS::AutoSnapshotPolicy
      - ACS::ECS::Command
      - ACS::ECS::DedicatedHost
      - ACS::ECS::Disk
      - ACS::ECS::Image
      - ACS::ECS::Instance
      - ACS::ECS::KeyPair
      - ACS::ECS::LaunchTemplate
      - ACS::ECS::NetworkInterface
      - ACS::ECS::SecurityGroup
      - ACS::ECS::Snapshot
      - ACS::ECS::ElasticityAssurance
      - ACS::ECS::CapacityReservation
      - ACS::ECS::SnapshotGroup
      - ACS::ECS::ReservedInstance
      - ACS::ECS::Activation
      - ACS::ECS::DedicatedHostCluster
      - ACS::ECS::StorageCapacityUnit
      - ACS::ECS::AutoProvisioningGroup
      - ACS::EIP::EipAddress
      - ACS::Eipanycast::AnycastEipAddress
      - ACS::ESS::ScalingGroup
      - ACS::ExpressConnect::PhysicalConnection
      - ACS::ExpressConnectRouter::ExpressConnectRouter
      - ACS::ECS::ImageComponent
      - ACS::ECS::ImagePipeline
      - ACS::Eflo::Cluster
      - ACS::Eflo::Node
      - ACS::EAIS::Instance
      - ACS::Eflo::Vcc
      - ACS::Eflo::Vpd
      - ACS::Eflo::Subnet
      - ACS::Eflo::ExperimentPlan
      - ACS::Eflo::Vsc
      - ACS::Eflo::ElasticNetworkInterface
      - ACS::Eflo::NetworkInterface
      - ACS::Eflo::Er
      - ACS::Eflo::HighDensityElasticNetworkInterface
      - ACS::Eflo::HyperNode
      - ACS::EMR::Cluster
      - ACS::FC::Service
      - ACS::GPDB::DBInstance
      - ACS::Ga::Accelerator
      - ACS::Ga::Acl
      - ACS::Ga::BandwidthPackage
      - ACS::Ga::BasicAccelerator
      - ACS::Ga::EndpointGroup
      - ACS::GWLB::LoadBalancer
      - ACS::GWLB::Listener
      - ACS::GWLB::ServerGroup
      - ACS::KMS::Key
      - ACS::KMS::Secret
      - ACS::Lindorm::Instance
      - ACS::Live::Domain
      - ACS::Live::Caster
      - ACS::HBase::Cluster
      - ACS::Hologram::Instance
      - ACS::MaxCompute::Project
      - ACS::MongoDB::DBInstance
      - ACS::MSE::Gateway
      - ACS::MSE::Cluster
      - ACS::NAS::FileSystem
      - ACS::NAT::NatGateway
      - ACS::NLB::Listener
      - ACS::NLB::LoadBalancer
      - ACS::NLB::SecurityPolicy
      - ACS::NLB::ServerGroup
      - ACS::OOS::Application
      - ACS::OOS::Parameter
      - ACS::OOS::SecretParameter
      - ACS::OOS::Template
      - ACS::OSS::Bucket
      - ACS::OOS::StateConfiguration
      - ACS::OOS::PatchBaseline
      - ACS::Ons::Group
      - ACS::Ons::Instance
      - ACS::Ons::Instance
      - ACS::Ons::Topic
      - ACS::OTS::Instance
      - ACS::PolarDB::DBCluster
      - ACS::PrivateLink::VpcEndpoint
      - ACS::PrivateLink::VpcEndpointService
      - ACS::RAM::Role
      - ACS::RAM::Policy
      - ACS::RAM::User
      - ACS::RDS::DBInstance
      - ACS::Redis::DBInstance
      - ACS::ResourceManager::Account
      - ACS::ResourceManager::ResourceGroup
      - ACS::ResourceManager::Folder
      - ACS::ResourceManager::ControlPolicy
      - ACS::ResourceManager::ResourceShare
      - ACS::RocketMQ::Instance
      - ACS::RDS::Custom
      - ACS::RDS::CustomDeploymentSet
      - ACS::RDS::CustomDisk
      - ACS::RDS::CustomSnapshot
      - ACS::ROS::Template
      - ACS::SLB::AccessControlList
      - ACS::SLB::CACertificate
      - ACS::SLB::LoadBalancer
      - ACS::SLB::MasterSlaveServerGroup
      - ACS::SLB::ServerCertificate
      - ACS::SLB::VServerGroup
      - ACS::SLS::Project
      - ACS::SelectDB::DBInstance
      - ACS::VPC::DhcpOptionsSet
      - ACS::VPC::FlowLog
      - ACS::VPC::GatewayEndpoint
      - ACS::VPC::HaVip
      - ACS::VPC::Ipv4Gateway
      - ACS::VPC::Ipv4Gateway
      - ACS::VPC::Ipv6Gateway
      - ACS::VPC::NetworkAcl
      - ACS::VPC::PrefixList
      - ACS::VPC::PublicIpAddressPool
      - ACS::VPC::RouteTable
      - ACS::VPC::TrafficMirrorFilter
      - ACS::VPC::TrafficMirrorSession
      - ACS::VPC::VPC
      - ACS::VPC::VSwitch
      - ACS::VPC::PeerConnection
      - ACS::VPC::VSwitchCidrReservation
      - ACS::VpcIpam::Ipam
      - ACS::VpcIpam::IpamPool
      - ACS::VpcIpam::IpamScope
      - ACS::VPN::CustomerGateway
      - ACS::VPN::VpnGateway
      - ACS::VPN::VpnAttachment
      - ACS::VOD::Domain
      - ACS::WAFV3::DefenseResource
      - ALIYUN::ADB::CLUSTER
      - ALIYUN::ALB::ACL
      - ALIYUN::ALB::LOADBALANCER
      - ALIYUN::ALB::SECURITYPOLICY
      - ALIYUN::ALB::SERVERGROUP
      - ALIYUN::ALIDNS::DOMAIN
      - ALIYUN::ALIDNSGTM::GTMINSTANCE
      - ALIYUN::ALIKAFKA::CONSUMERGROUP
      - ALIYUN::ALIKAFKA::INSTANCE
      - ALIYUN::ALIKAFKA::TOPIC
      - ALIYUN::APIGATEWAY::API
      - ALIYUN::APIGATEWAY::APIGROUP
      - ALIYUN::APIGATEWAY::APP
      - ALIYUN::APIGATEWAY::INSTANCE
      - ALIYUN::APIGATEWAY::PLUGIN
      - ALIYUN::ARMS::APPLICATION
      - ALIYUN::ARMS::WEB
      - ALIYUN::AVDS::ASSETS
      - ALIYUN::AVDS::INSTANCE
      - ALIYUN::BAAS::CONSORTIUM
      - ALIYUN::BAAS::ORGANIZATION
      - ALIYUN::BASTIONHOST::INSTANCE
      - ALIYUN::BPSTUDIO::APPLICATION
      - ALIYUN::BPSTUDIO::TEMPLATE
      - ALIYUN::CAS::INSTANCE
      - ALIYUN::CASSANDRA::CLUSTER
      - ALIYUN::CBN::TRANSITROUTERPEERATTACHMENT
      - ALIYUN::CBN::TRANSITROUTERVBRATTACHMENT
      - ALIYUN::CBN::TRANSITROUTERVPCATTACHMENT
      - ALIYUN::CBN::TRANSITROUTERVPNATTACHMENT
      - ALIYUN::CBS::BACKUPPLAN
      - ALIYUN::CDDC::DEDICATEDHOST
      - ALIYUN::CDN::DOMAIN
      - ALIYUN::CDS::CLUSTER
      - ALIYUN::CDT::CDT
      - ALIYUN::CDT::CDTCB
      - ALIYUN::CDT::CDTINTERNET
      - ALIYUN::CEN::BANDWIDTHPACKAGE
      - ALIYUN::CEN::CEN
      - ALIYUN::CLOUDBOX::CLOUDBOX
      - ALIYUN::CLOUDBOX::DEMAND
      - ALIYUN::CLOUDBOX::SITE
      - ALIYUN::CLOUDBOX::SKU
      - ALIYUN::CLOUDPHONE::INSTANCE
      - ALIYUN::CMS::MONITORGROUP
      - ALIYUN::COMPOSER::FLOW
      - ALIYUN::COMPUTENEST::SERVICE
      - ALIYUN::COMPUTENEST::SERVICEINSTANCE
      - ALIYUN::CONFIG::AGGREGATECOMPLIANCEPACK
      - ALIYUN::CONFIG::AGGREGATECONFIGRULE
      - ALIYUN::CONFIG::AGGREGATOR
      - ALIYUN::CONFIG::COMPLIANCEPACK
      - ALIYUN::CONFIG::RULE
      - ALIYUN::CR::CHARTNAMESPACE
      - ALIYUN::CR::CHARTREPOSITORY
      - ALIYUN::CR::INSTANCE
      - ALIYUN::CR::NAMESPACE
      - ALIYUN::CR::REPOSITORY
      - ALIYUN::CS::CLUSTER
      - ALIYUN::DATAHUB::PROJECT
      - ALIYUN::DATAHUB::TOPIC
      - ALIYUN::DATAV::SCREEN
      - ALIYUN::DBAUDIT::INSTANCE
      - ALIYUN::DCDN::DOMAIN
      - ALIYUN::DCDNIPA::DOMAIN
      - ALIYUN::DDOSBGP::INSTANCE
      - ALIYUN::DDOSCOO::INSTANCE
      - ALIYUN::DDS::INSTANCE
      - ALIYUN::DDS::SHARDINGINSTANCE
      - ALIYUN::DIDE::PROJECT
      - ALIYUN::DOMAIN::DOMAIN
      - ALIYUN::DRDS::INSTANCE
      - ALIYUN::DTS::CONSUMERCHANNEL
      - ALIYUN::DTS::INSTANCE
      - ALIYUN::DTS::JOBMONITORRULE
      - ALIYUN::DTS::MIGRATIONJOB
      - ALIYUN::DTS::SUBSCRIPTIONJOB
      - ALIYUN::DTS::SYNCHRONIZATIONJOB
      - ALIYUN::DYSMS::TEMPLATE
      - ALIYUN::EBS::DBSC
      - ALIYUN::EBS::DEDICATEDBLOCKSTORAGECLUSTER
      - ALIYUN::EBS::DISKREPLICAGROUP
      - ALIYUN::EBS::DISKREPLICAPAIR
      - ALIYUN::EBS::GROUP
      - ALIYUN::EBS::PAIR
      - ALIYUN::ECI::CONTAINERGROUP
      - ALIYUN::ECI::IMAGECACHE
      - ALIYUN::ECI::LAUNCHTEMPLATE
      - ALIYUN::ECI::VIRTUALNODE
      - ALIYUN::ECS::CAPACITYRESERVATION
      - ALIYUN::ECS::COMMAND
      - ALIYUN::ECS::DDH
      - ALIYUN::ECS::DDHCLUSTER
      - ALIYUN::ECS::DISK
      - ALIYUN::ECS::ELASTICITYASSURANCE
      - ALIYUN::ECS::ENI
      - ALIYUN::ECS::IMAGE
      - ALIYUN::ECS::IMAGECOMPONENT
      - ALIYUN::ECS::IMAGEPIPELINE
      - ALIYUN::ECS::INSTANCE
      - ALIYUN::ECS::INVOCATION
      - ALIYUN::ECS::KEYPAIR
      - ALIYUN::ECS::LAUNCHTEMPLATE
      - ALIYUN::ECS::RESERVEDINSTANCE
      - ALIYUN::ECS::SCU
      - ALIYUN::ECS::SECURITYGROUP
      - ALIYUN::ECS::SNAPSHOT
      - ALIYUN::ECS::SNAPSHOTGROUP
      - ALIYUN::ECS::SNAPSHOTPOLICY
      - ALIYUN::ECS::VOLUME
      - ALIYUN::EDAS::APPLICATION
      - ALIYUN::EDAS::CLUSTER
      - ALIYUN::EDAS::NAMESPACE
      - ALIYUN::EHPC::CLUSTER
      - ALIYUN::ELASTICSEARCH::APM
      - ALIYUN::ELASTICSEARCH::INSTANCE
      - ALIYUN::ELASTICSEARCH::LOGSTASH
      - ALIYUN::EMR::CLUSTER
      - ALIYUN::EMR::FLOWPROJECT
      - ALIYUN::EMR::INSTANCE
      - ALIYUN::ESS::SCALINGGROUP
      - ALIYUN::EXPRESSCONNECT::PHYSICALCONNECTION
      - ALIYUN::FC::SERVICE
      - ALIYUN::FLINKASI::VVPINSTANCE
      - ALIYUN::FLINKASI::VVPNAMESPACE
      - ALIYUN::GA::ACL
      - ALIYUN::GDS::INSTANCE
      - ALIYUN::GPDB::INSTANCE
      - ALIYUN::GWS::INSTANCE
      - ALIYUN::GWS::USER
      - ALIYUN::HBR::CLIENT
      - ALIYUN::HBR::HANAINSTANCE
      - ALIYUN::HBR::VAULT
      - ALIYUN::HCS_SGW::GATEWAY
      - ALIYUN::HITSDB::INSTANCE
      - ALIYUN::HOLOGRAM::INSTANCE
      - ALIYUN::HOLOGRES::INSTANCE
      - ALIYUN::HSM::INSTANCE
      - ALIYUN::IACSERVICE::AUTHORIZATION
      - ALIYUN::IACSERVICE::JOB
      - ALIYUN::IACSERVICE::MODULE
      - ALIYUN::IACSERVICE::MODULEMARKET
      - ALIYUN::IACSERVICE::MODULEVERSION
      - ALIYUN::IACSERVICE::TASK
      - ALIYUN::IMAGESEARCH::INSTANCE
      - ALIYUN::IOT::PRODUCT
      - ALIYUN::IOT::RULE
      - ALIYUN::KMS::KEY
      - ALIYUN::KMS::SECRET
      - ALIYUN::KVSTORE::AUDITLOGCONFIG
      - ALIYUN::KVSTORE::INSTANCE
      - ALIYUN::LICENSEMANAGER::GRANT
      - ALIYUN::LICENSEMANAGER::LICENSE
      - ALIYUN::LIVE::DOMAIN
      - ALIYUN::LOG::LOGSTORE
      - ALIYUN::LOG::PROJECT
      - ALIYUN::MQ::GROUP
      - ALIYUN::MQ::INSTANCE
      - ALIYUN::MQ::TOPIC
      - ALIYUN::MSE::CLUSTER
      - ALIYUN::MSE::GATEWAY
      - ALIYUN::MTS::MEDIAINFO
      - ALIYUN::MTS::SNAPSHOT
      - ALIYUN::MTS::TRANSCODE
      - ALIYUN::MULTIMOD::CLUSTER
      - ALIYUN::NAS::FILESYSTEM
      - ALIYUN::NLB::LOADBALANCER
      - ALIYUN::NLB::SECURITYPOLICY
      - ALIYUN::NLB::SERVERGROUP
      - ALIYUN::NLP::ENTITY
      - ALIYUN::NLP::IE
      - ALIYUN::NLP::KWE
      - ALIYUN::NLP::REVIEWANALYSIS
      - ALIYUN::NLP::SENTIMENT
      - ALIYUN::NLP::TEXTSTRUCTURE
      - ALIYUN::NLP::WORDPOS
      - ALIYUN::OCEANBASE::INSTANCE
      - ALIYUN::OCEANBASE::TENANT
      - ALIYUN::OOS::APPLICATION
      - ALIYUN::OOS::EXECUTION
      - ALIYUN::OOS::OPSITEM
      - ALIYUN::OOS::OPSITEMCONFIGURATION
      - ALIYUN::OOS::PARAMETER
      - ALIYUN::OOS::SECRETPARAMETER
      - ALIYUN::OOS::STATECONFIGURATION
      - ALIYUN::OOS::TEMPLATE
      - ALIYUN::OPENANALYTICS::INSTANCE
      - ALIYUN::OPENSEARCH::APPGROUP
      - ALIYUN::OPENSEARCH::INSTANCE
      - ALIYUN::OSS::BUCKET
      - ALIYUN::OTS::INSTANCE
      - ALIYUN::OUTBOUNDBOT::INSTANCE
      - ALIYUN::PETADATA::INSTANCE
      - ALIYUN::POLARDB::CLUSTER
      - ALIYUN::POLARDBX::POLARDBXINSTANCE
      - ALIYUN::PRIVATELINK::VPCENDPOINT
      - ALIYUN::PRIVATELINK::VPCENDPOINTSERVICE
      - ALIYUN::PVTZ::ZONE
      - ALIYUN::RAM::USER
      - ALIYUN::RDS::ACCOUNT
      - ALIYUN::RDS::ACTIONEVENTPOLICY
      - ALIYUN::RDS::BACKUP
      - ALIYUN::RDS::BACKUPFILE
      - ALIYUN::RDS::BACKUPPOLICY
      - ALIYUN::RDS::DATABASE
      - ALIYUN::RDS::DBPROXY
      - ALIYUN::RDS::DEDICATEDHOST
      - ALIYUN::RDS::DOWNLOADLINKDETAIL
      - ALIYUN::RDS::GADINSTANCE
      - ALIYUN::RDS::INSTANCE
      - ALIYUN::RDS::PARAMETERGROUP
      - ALIYUN::RM::ACCOUNT
      - ALIYUN::RM::INSTANCE
      - ALIYUN::RM::RESOURCEGROUP
      - ALIYUN::RM::RESOURCESHARE
      - ALIYUN::RM::SHAREDRESOURCE
      - ALIYUN::RM::SHAREDTARGET
      - ALIYUN::RM::TOPIC
      - ALIYUN::ROCKETMQ::CONSUMERGROUP
      - ALIYUN::ROCKETMQ::INSTANCE
      - ALIYUN::ROCKETMQ::TOPIC
      - ALIYUN::ROS::CHANGESET
      - ALIYUN::ROS::STACK
      - ALIYUN::ROS::STACKGROUP
      - ALIYUN::ROS::TEMPLATE
      - ALIYUN::SAE::APPLICATION
      - ALIYUN::SAG::CCN
      - ALIYUN::SAVINGPLAN::INSTANCE
      - ALIYUN::SCBLINKONECS::CLUSTER
      - ALIYUN::SCDN::DOMAIN
      - ALIYUN::SEARCHENGINE::INSTANCE
      - ALIYUN::SLB::ACL
      - ALIYUN::SLB::CERTIFICATE
      - ALIYUN::SLB::INSTANCE
      - ALIYUN::SMARTAG::ABWP
      - ALIYUN::SMARTAG::ACL
      - ALIYUN::SMARTAG::CCN
      - ALIYUN::SMARTAG::FLOWLOG
      - ALIYUN::SMARTAG::QOS
      - ALIYUN::SMARTAG::SMARTAG
      - ALIYUN::SMARTAG::SMARTAG_B
      - ALIYUN::SMARTAG::SMARTAG_D
      - ALIYUN::SMARTAG::SMARTAG_S
      - ALIYUN::SMARTHOSTING::HBM
      - ALIYUN::SMARTHOSTING::MANAGEDHOST
      - ALIYUN::SMARTHOSTING::MPS
      - ALIYUN::SMC::REPLICATIONJOB
      - ALIYUN::SMC::SOURCESERVER
      - ALIYUN::SPARK::CLUSTER
      - ALIYUN::TESTAMP::INSTANCE
      - ALIYUN::TESTPRODUCT::TEST2
      - ALIYUN::TESTPRODUCT::TESTTYPE
      - ALIYUN::TESTPRODUCT::XXX
      - ALIYUN::TESTPRODUCT::XXXX
      - ALIYUN::VOD::APPINFO
      - ALIYUN::VOD::DOMAIN
      - ALIYUN::VPC::COMMONBANDWIDTHPACKAGE
      - ALIYUN::VPC::CUSTOMERGATEWAY
      - ALIYUN::VPC::EIP
      - ALIYUN::VPC::FLOWLOG
      - ALIYUN::VPC::HAVIP
      - ALIYUN::VPC::IPSECSERVER
      - ALIYUN::VPC::IPV4GATEWAY
      - ALIYUN::VPC::IPV6BANDWIDTH
      - ALIYUN::VPC::IPV6GATEWAY
      - ALIYUN::VPC::IPV6INSTANCE
      - ALIYUN::VPC::NATGATEWAY
      - ALIYUN::VPC::PHYSICALCONNECTION
      - ALIYUN::VPC::PREFIXLIST
      - ALIYUN::VPC::PUBLICIPADDRESSPOOL
      - ALIYUN::VPC::ROUTETABLE
      - ALIYUN::VPC::SSLVPNCLIENTCERT
      - ALIYUN::VPC::SSLVPNSERVER
      - ALIYUN::VPC::TRAFFICMIRRORFILTER
      - ALIYUN::VPC::TRAFFICMIRRORSESSION
      - ALIYUN::VPC::VPC
      - ALIYUN::VPC::VPNATTACHMENT
      - ALIYUN::VPC::VPNCONNECTION
      - ALIYUN::VPC::VPNGATEWAY
      - ALIYUN::VPC::VSWITCH
  tags:
    Label:
      en: Tags
      ja: タグ
    Description:
      en: The tags of the resource. Example: {"k1":"v1","k2":"v2"}
      ja: リソースのタグ。例:{"k1":"v1","k2":"v2"}
    Type: Json
    Default: { "oosGenerate": "oosGenerate" }
  rateControl:
    Label:
      en: Rate Control
      ja: レート制御
    Type: Json
    AssociationProperty: RateControl
    Default:
      Mode: Concurrency
      MaxErrors: 0
      Concurrency: 10
  OOSAssumeRole:
    Label:
      en: OOSAssumeRole
      ja: OOSAssumeRole
    Type: String
    Default: ''
RamRole: '{{ OOSAssumeRole }}'
Tasks:
  - Name: tagResource
    Action: ACS::CheckFor
    Description:
      en: Adds tags to resources using Resource Management.
      ja: Resource Management を使用してリソースにタグを追加します。
    Properties:
      Service: TAG
      API: TagResources
      Parameters:
        RegionId: '{{ regionId }}'
        ResourceARN:
          - 'Fn::Jq':
              - First
              - '.resourceType | ascii_downcase |split("::") | "arn:acs:"+.[1]+":{{ regionId }}:{{ ACS::AccountId }}:"+.[2]+"/{{ ACS::TaskLoopItem }}"'
              - '{"resourceType":"{{resourceType}}"}'
        Tags: "{{ tags }}"
      DesiredValues:
        - null
      PropertySelector: .FailedResources.FailedResource[]
    Loop:
      Items: '{{ resourceIds }}'
      RateControl: '{{ rateControl }}'
      Outputs:
        errorMessages:
          AggregateType: 'Fn::ListJoin'
          AggregateField: errorMessage
    Outputs:
      errorMessage:
        Type: String
        ValueSelector: .FailedResources.FailedResource[]
  - Name: listTagResources
    Action: ACS::ExecuteAPI
    Description:
      en: Queries information about resource tags.
      ja: リソースタグに関する情報を照会します。
    Properties:
      Service: TAG
      API: ListTagResources
      Parameters:
        RegionId: '{{ regionId }}'
        ResourceARN:
          - 'Fn::Jq':
              - First
              - '.resourceType | ascii_downcase |split("::") | "arn:acs:"+.[1]+":{{ regionId }}:{{ ACS::AccountId }}:"+.[2]+"/{{ ACS::TaskLoopItem }}"'
              - '{"resourceType":"{{resourceType}}"}'
    Outputs:
      tagAndResourceId:
        Type: Json
        ValueSelector: .TagResources
    Loop:
      Items: '{{ resourceIds }}'
      RateControl: '{{ rateControl }}'
      Outputs:
        tagAndResourceIds:
          AggregateType: Fn::ListJoin
          AggregateField: tagAndResourceId
Outputs:
  resourceIdsAndTag:
    Type: List
    Value:
      'Fn::If':
        - 'Fn::Equals':
            - []
            - 'Fn::MergeList': '{{ tagResource.errorMessages }}'
        - '{{ listTagResources.tagAndResourceIds }}'
        - errcode: '{{ tagResource.errorMessages }}'
          results: '{{ listTagResources.tagAndResourceIds }}'