Updated on 2022-02-22 GMT+08:00

AOS.Stack

Element Description

The AOS.Stack element is used to create stack resources of AOS so that AOS can orchestrate various resources. The AOS.Stack element corresponds to the solution in real scenarios. It can implement one-click deployment of the solution. After being defined, the element can be replicated in batches, helping services to be quickly deployed on the cloud.

Element Properties

Table 1 Property Description

Property

Mandatory

Descripiton

inputs

Yes

Input information required by the nested stack

Type: dict

Value Description: a customized structure

Default: {}

Value Constraint: A maximum of 60 inputs properties can be defined in a template.

description

No

Stack description

Type: string

Value Description: Customize the value.

Default: ""

Value Constraint: The value must be a text string and contain a maximum of 1,024 characters.

failureStrategy

No

Failure strategy

Type: string

Value Description: The options are DoNothing and Rollback.

Default: DoNothing

deploy

No

Whether to deploy the application

Type: boolean

Value Description: The options are true and false. If this parameter is set to false, the application (including software components contained in the application and host resources required by the application) will not be deployed.

Default: true

clusterId

No

ID of the cluster which is associated with the storage system

Type: Cloud.CCE.Cluster.Id

Value Constraint: The value must satisfy the UUID rule and contain a maximum of 64 characters.

Suggestion:

1. Enter the cluster ID. Specifically, log in to the CCE console, and choose Resource Management > Clusters. Click the target cluster, and you can obtain its cluster ID.

2. Connect to the cluster object and use the get_reference function to automatically obtain the value.

templateId

Yes

ID of the template that the created stack depends on

Type: string

Value Description: Enter an ID of an existing template.

Value Constraint: The value must be a text string and contain a maximum of 64 characters.

Relationships Between Elements

Table 2 Relationship description

Description

Target

Dependency

VPC.EIP

Dependency

CCE.Addon.AutoScaler

Dependency

CCE.Cluster

Dependency

SFS.FileSystem

Dependency

AOS.Stack

Dependency

NAT.Instance

Dependency

OBS.Bucket

Dependency

CCE.Storage.SFS

Dependency

CCE.HelmRelease

Dependency

CCE.NodePool

Dependency

ECS.KeyPair

Dependency

CCE.Pod

Dependency

DCS.Redis

Dependency

VPC.VPC

Dependency

ECS.CloudServer

Dependency

VPC.Subnet

Dependency

CCE.Storage.OBS

Dependency

RDS.MySQL

Inclusion

CCE.Cluster

Return Value

Property

Type

Description

refName

string

Solution stack name

refID

string

Solution stack ID

Blueprint Example

tosca_definitions_version: cloud_tosca_version_1_0
inputs: 
   delpoy1:
    default: false
    type: boolean
   delpoy2:
    default: true
    type: boolean
   delpoy3:
    default: true
    type: boolean
   description:
    default: nginx stack
    type: string
   template-id1:
    default: 370f60c6-afc2-e08a-d1c4-fd33bd58b785
    type: string
   template-id2:
    default: 753c30cf-3b3b-cd63-f7f0-1550d058eaac
    type: string
   template-id3:
    default: 2fdd9e05-1406-15d4-7b35-1274a036bcfb
    type: string
   images:
    default: 192.168.0.249:20202/op_svc_servicestage_88b899/nginx:latest
    type: string
node_templates: 
  stackone:
    type: Cloud.AOS.Stack
    properties:
      deploy: {get_input: delpoy1}
      description: {get_input: description}
      templateId: {get_input: template-id1}
      inputs: 
         images: {get_input: images}
    requirements:
      - dependency: 
         node: stacktwo
  stacktwo:
    type: Cloud.AOS.Stack
    properties:
      deploy: {get_input: delpoy2}
      description: {get_input: description}
      templateId: {get_input: template-id2}
      inputs: 
         images: {get_input: images}
         myport: {get_attribute: [stackthree,nginx-NodePort]}
    requirements:
      - dependency: 
         node: stackthree
  stackthree:
    type: Cloud.AOS.Stack
    properties:
      deploy: {get_input: delpoy3}
      description: {get_input: description}
      templateId: {get_input: template-id3}
      inputs: 
         image: {get_input: images}