Deze pagina is nog niet beschikbaar in uw eigen taal. We werken er hard aan om meer taalversies toe te voegen. Bedankt voor uw steun.
- What's New
- Service Overview
- Getting Started
- User Guide
-
Template Reference
- Resource Formation Service
-
Application Orchestration Service
- Template Introduction
-
List of Elements
- Resource Indexes
- AntiDDos.Service
- AOS.Batch
- AOS.Stack
- APIG.API
- APIG.ApiGroup
- APIG.Throttle
- APM.AutoScaler
- APM.Pinpoint
- CCE.Addon.AutoScaler
- CCE.Cluster
- CCE.ConfigMap
- CCE.DaemonSet
- CCE.Deployment
- CCE.HelmRelease
- CCE.Ingress
- CCE.Job
- CCE.NodePool
- CCE.Pod
- CCE.Secret
- CCE.Service
- CCE.StatefulSet
- CCE.Storage.EVS
- CCE.Storage.OBS
- CCE.Storage.SFS
- CCI.ConfigMap
- CCI.Deployment
- CCI.Ingress
- CCI.Job
- CCI.Namespace
- CCI.Secret
- CCI.Service
- CCI.StatefulSet
- CCI.Storage.EVS
- CCI.Storage.SFS
- CDN.Cache
- CDN.Domain
- CDN.Host
- CDN.Https
- CDN.PreheatJob
- CDN.Referer
- CDN.RefreshJob
- CDN.Source
- DBSS.Instance
- DCS.Redis
- DDS.CommunityReplicaSetOrSingle
- DIS.Stream
- ECS.CloudServer
- ECS.ServerGroup
- ECS.KeyPair
- EVS.NonSharedVolume
- EVS.SharedVolume
- FGS.ApigEventMap
- FGS.CtsEventMap
- FGS.DisEventMap
- FGS.DmsEventMap
- FGS.Function
- FGS.LtsEventMap
- FGS.ObsEventMap
- FGS.TimerEventMap
- FGS.SmnEventMap
- HSS.Instance
- IAM.Agency
- IAM.UserGroup
- MRS.Cluster
- NAT.Instance
- NAT.SNatRule
- OBS.Bucket
- RDS.MySQL
- RDS.MySQL.DataBase
- RDS.MySQL.User
- RDS.PostgreSQL
- SCM.Cert
- ServiceStage.Agent
- ServiceStage.AppGroup
- ServiceStage.ContainerComponent
- ServiceStage.Job
- ServiceStage.StatefulApplication
- ServiceStage.StatelessApplication
- SFS.FileSystem
- SMN.Subscription
- SMN.Topic
- ULB.Healthmonitor
- ULB.Listener
- ULB.LoadBalancer
- ULB.Member
- ULB.Pool
- VPCEndpoint.Endpoint
- VPCEndpoint.EndpointService
- VPC.EIP
- VPC.FirewallGroup
- VPC.FirewallPolicy.Egress
- VPC.FirewallPolicy.Ingress
- VPC.FirewallRule
- VPC.SecurityGroup
- VPC.SecurityGroupRule
- VPC.Subnet
- VPC.VIP
- VPC.VPC
- VSS.WebScan
- WAF.service
-
Data Structure
- AOS.BatchItem
- APIG.BackendApi
- APIG.FuncInfo
- APIG.MockInfo
- APM.AutoscalerAction
- APM.AutoscalerActionParameters
- APM.AutoscalerCondition
- APM.AutoscalerRule
- Basic.KeyValuePair
- Basic.Label
- Basic.LabelSelector
- Basic.NameAndSecretValue
- Basic.NameKeyPair
- Basic.NameValuePair
- CCE.Addon.AutoScaler.Node
- CCE.DataVolume
- CCE.HelmChart
- CCE.Labels
- CCE.NodePool
- CCE.PublicIP
- CCI.Network
- CDN.Source
- CDN.CacheRule
- DCS.InstanceBackupPolicy
- DCS.PeriodicalBackupPlan
- DDS.BackupStrategy
- DDS.CommunityReplicaSetOrSingleMode.Flavor
- DDS.DDSCommunity.DataStore
- DDS.DDSCommunityReplicaOrSingle.Flavor
- ECS.DataVolume
- ECS.EIP
- ECS.ExtendParam
- ECS.MountedVolumes
- ECS.NICS
- ECS.Personality
- ECS.PublicIP
- ECS.RootVolume
- ECS.SecurityGroup
- ECS.ServerTags
- ECS.VolumeExtendParam
- EVS.Metadata
- FGS.Environment
- FGS.OBSFilter
- FGS.VpcConfig
- IAM.Agency.Role
- K8S.PodSecurityContext
- K8S.SecurityContext.SeLinuxOptions
- MRS.BootstrapScripts
- MRS.Components
- MRS.TaskNodeGroups
- MRS.Tags
- MySQL.DBUser
- MySQL.DBLinkedUser
- MySQL.DataBase
- MySQL.DataStore
- MySQL.UserDatabase
- PostgreSQL.DataStore
- RDS.BackupStrategy
- RDS.HA
- RDS.HA.Mysql
- RDS.HA.PostgreSQL
- RDS.Volume
- ULB.StickySession
- VPCEndpoint.Ports
- VPC.BandWidth
- VPC.PublicIP
- VSS.Resource
- WAF.Bandwidth
- WAF.Domain
- WAF.Service
- Appendix
-
API Reference
- Before You Start
-
Resource Formation APIs
- Calling APIs
-
Stacks
- Listing Events of a Stack
- Obtaining Stack Metadata
- Listing Stacks
- Creating a Stack
- Obtaining a Stack Template
- Listing Stack Resources
- Listing Stack Outputs
- Continuing to Deploy a Stack
- Deploying a Stack
- Deleting a Stack
- Updating a Stack
- Deleting a Stack with Conditions
- Continuing to Roll Back a Stack
- Execution Plans
- Template Analysis
- Template Management
- Application Orchestration APIs
- Appendix
- FAQs
Show all
for_each
The function of for_each is similar to that of count. for_each uses key-value pairs or string sets to quickly fill values in corresponding attributes. This optimizes the script structure and helps understand the relationship between multiple instances.
When using the mapping type expression, you can use each.key and each.value to access the key and value of the mapping. For example, to create a VPC, you can use the key-value pair in for_each to flexibly configure the VPC name and CIDR.
for_each = { vpc_demo1 = "192.168.0.0/16" vpc_demo2 = "172.16.0.0/16" } name = each.key cidr = each.value }
When a string set is used, each.key is equivalent to each.value and generally each.key is used. In addition, you can use the toset() function to convert the defined list type.
for_each = toset(["secgroup_demo1", "secgroup_demo2"]) name = each.key } # Use variables to indicate for _each. variable "secgroup_name" { type = set(string) } for_each = var.secgroup_name name = each.key }
A key is required to access a resource created using for_each. The format is <Resource type>.<Name>[Key].
# Access vpc_demo1. # ID for accessing vpc_demo1
Both count and for_each can be used to create multiple resources. You are advised to select either of them based on the following rules:
1. If the arguments of a resource instance are completely or mostly the same, you are advised to use count.
2. If some arguments of a resource need to use distinct values that cannot be directly derived from an integer, for_each is recommended.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.