Updated on 2023-12-13 GMT+08:00

AOS.Stack

Element Description

The AOS.Stack element is a Huawei PaaS solution deployment template. It 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

Required

Descripiton

inputs

Yes

Input information required by the nested stack

Type: dict

Value Description: Indicates the customized structure.

Default: {}

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

description

No

Stack

Type: string

Value Description: Supports customization.

Default: ''

Value Constraint: The value must be a text string and support a maximum of 1024 characters.

failureStrategy

No

failure strategy

Type: string

Value Description: DoNothing, Rollback.Do nothing or rollback.

Default: DoNothing

deploy

No

Whether to deploy the application

Type: boolean

Value Description: Supports 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 SFS file system

Type: HuaweiCloud.CCE.Cluster.Id

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

Suggestion: 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. 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. To obtain a template ID, go to the AOS console. Click Template Market > Public Templates. Click the target template to enter its details page. You can obtain its ID from the end of the page's URL.

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

Relationships Between Elements

Table 2 Relationship description

Description

Target

DependsOn

CCE.Service

DependsOn

EVS.NonSharedVolume

DependsOn

CCE.Deployment

DependsOn

ServiceStage.Agent

DependsOn

SMN.Topic

DependsOn

CCI.Storage.EVS

DependsOn

VPC.VIP

DependsOn

APM.AutoScaler

DependsOn

ServiceStage.AppGroup

DependsOn

FGS.DmsEventMap

DependsOn

VPC.FirewallPolicy.Ingress

DependsOn

VPC.EIP

DependsOn

CDN.Source

DependsOn

RDS.MySQL.User

DependsOn

CCE.Ingress

DependsOn

CDN.Cache

DependsOn

CCI.ConfigMap

DependsOn

DIS.Stream

DependsOn

CCI.Namespace

DependsOn

CCE.Addon.AutoScaler

DependsOn

VPC.FirewallRule

DependsOn

CCE.Cluster

DependsOn

SFS.FileSystem

DependsOn

CDN.RefreshJob

DependsOn

EVS.SharedVolume

DependsOn

CCI.Job

DependsOn

AOS.Stack

DependsOn

FGS.TimerEventMap

DependsOn

NAT.Instance

DependsOn

FGS.ObsEventMap

DependsOn

OBS.Bucket

DependsOn

APIG.ApiGroup

DependsOn

AOS.Batch

DependsOn

CCE.Secret

DependsOn

CCE.Storage.EVS

DependsOn

CCE.Storage.SFS

DependsOn

CCE.HelmRelease

DependsOn

FGS.ApigEventMap

DependsOn

RDS.MySQL.DataBase

DependsOn

CCE.NodePool

DependsOn

IAM.UserGroup

DependsOn

CCI.Deployment

DependsOn

CDN.Domain

DependsOn

CCE.StatefulSet

DependsOn

VPCEndpoint.Endpoint

DependsOn

CCI.Ingress

DependsOn

CCE.Job

DependsOn

CCI.Secret

DependsOn

APIG.API

DependsOn

FGS.LtsEventMap

DependsOn

ServiceStage.ContainerComponent

DependsOn

CCI.Storage.SFS

DependsOn

VPC.FirewallGroup

DependsOn

CCI.StatefulSet

DependsOn

CCE.DaemonSet

DependsOn

RDS.PostgreSQL

DependsOn

ECS.KeyPair

DependsOn

ServiceStage.StatelessApplication

DependsOn

ServiceStage.StatefulApplication

DependsOn

IAM.Agency

DependsOn

FGS.CtsEventMap

DependsOn

DDS.CommunityReplicaSetOrSingle

DependsOn

FGS.DisEventMap

DependsOn

APIG.Throttle

DependsOn

CCE.Pod

DependsOn

DCS.Redis

DependsOn

CDN.Https

DependsOn

VPC.VPC

DependsOn

CDN.PreheatJob

DependsOn

CDN.Referer

DependsOn

ECS.CloudServer

DependsOn

SMN.Subscription

DependsOn

VPC.Subnet

DependsOn

CCE.ConfigMap

DependsOn

FGS.Function

DependsOn

VPC.FirewallPolicy.Egress

DependsOn

CCI.Service

DependsOn

CCE.Storage.OBS

DependsOn

ServiceStage.Job

DependsOn

CDN.Host

DependsOn

ECS.ServerGroup

DependsOn

RDS.MySQL

DependsOn

VPCEndpoint.EndpointService

DependsOn

FGS.SmnEventMap

ContainedIn

CCE.Cluster

Return Value

Property

Type

Description

refName

string

Solution stack name

refID

string

Solution stack ID

Blueprint Example

tosca_definitions_version: huaweicloud_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: HuaweiCloud.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: HuaweiCloud.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: HuaweiCloud.AOS.Stack
    properties:
      deploy: {get_input: delpoy3}
      description: {get_input: description}
      templateId: {get_input: template-id3}
      inputs: 
         image: {get_input: images}