get_attribute
The get_attribute function is used to obtain the initialization results of other elements in a template.
Syntax
get_attribute: [resourceName, attributeName ]
If the content corresponding to attributeName is a structure body and contains multiple key-value fields, you can extend the definition. The format is as follows:
get_attribute: [resourceName, attributeName1, attributeName2, [...]]
Parameter Description
Parameter |
Mandatory |
Parameter Description |
---|---|---|
resourceName |
Yes |
Name of a resource customized in the template. |
attributeName |
Yes |
Attribute name of the desired resource. For details about the attribute name, see the outputs section of the element object. If the attribute name defined in the template does not exist, no information is returned. Currently, for most elements, only their refID and refName can be obtained.
|
Return Value
Attribute value obtained
- When a single resource is created, the return values of refID and refName are strings.
- When multiple resources are created (for example, multiple ECS VMs are created at a time), the return values of refID and refName are string arrays.
Examples
- Obtain parameters and assign values to the parameters in the outputs section.
Example: Obtain the ID of the created my-first-vpc, and then assign it to the vpc_id output parameter of a stack.
tosca_definitions_version: huaweicloud_tosca_version_1_0 inputs: name: default: test-vpc cidr: default: 10.0.0.0/8 node_templates: my-first-vpc: type: HuaweiCloud.VPC.VPC properties: name: {get_input: name} ciddr: {get_input: cidr} outputs: vpc_id: value: {get_attribute: [my-first-vpc,refID]}
- Obtain parameters and use them as input parameters for creating other resources.
Example: Obtain the ID of the created my-second-vpc and assign a value to the subnet resource as the input for creating the subnet resource. In this way, multiple resources can be created in one blueprint file.
node_templates: my-subnet: type: HuaweiCloud.VPC.Subnet properties: name: {get_input: subnet-name} cidr: {get_input: vpc-cidr} gateway: {get_input: subnet-gateway} dnsList: {get_input: dnsList} vpc: {get_attribute: [my-second-vpc,refID]} availabilityZone: {get_input: az} requirements: - vpc: node: my-vpc relationship: HuaweiCloud.Relationships.ContainedIn my-second-vpc: type: HuaweiCloud.VPC.VPC properties: name: {get_input: vpc-name} cidr: {get_input: vpc-cidr}
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.