solution/solution-ecs-patching/step3-distribute-patch-baseline/stack-template.yaml (167 lines of code) (raw):

ROSTemplateFormatVersion: '2015-09-01' Description: Distribute patch baseline for ecs patching automation. Parameters: StackGroupName: Label: zh-cn: 资源栈组名称 en: Stack Group Name Type: String Default: distribute-patch-baseline SourcePatchBaseline: Label: zh-cn: 需要下发的补丁基线 en: Patch Baseline To Distribute Type: String AssociationProperty: ALIYUN::OOS::PatchBaseline TargetRdFolderIds: AssociationProperty: 'ALIYUN::ResourceManager::Folder' MinLength: 1 Type: Json Label: zh-cn: 目标 RD 目录 en: Target RD Forder TargetRegionIds: Label: zh-cn: 目标地域 en: Target Regions Type: Json MinLength: 1 AssociationProperty: List[Parameter] AssociationPropertyMetadata: Parameter: Type: String AssociationProperty: ALIYUN::ECS::RegionId AutoDeployment: Default: true Type: Boolean Description: zh-cn: 当 RD 目录添加或删除成员时,自动创建或删除补丁基线。 en: >- Automatically create or delete patch baseline when members are added or removed from the RD directory. Label: zh-cn: 自动部署 en: Auto deployment Resources: DS-PatchBaseline: Type: DATASOURCE::OOS::PatchBaseline Properties: PatchBaselineName: Ref: SourcePatchBaseline StackGroup: Type: ALIYUN::ROS::StackGroup Properties: Parameters: PatchBaselineName: Fn::GetAtt: - DS-PatchBaseline - PatchBaselineName OperationSystem: Fn::GetAtt: - DS-PatchBaseline - OperationSystem ApprovalRules: Fn::GetAtt: - DS-PatchBaseline - ApprovalRules Description: Fn::GetAtt: - DS-PatchBaseline - Description RejectedPatches: Fn::GetAtt: - DS-PatchBaseline - RejectedPatches RejectedPatchesAction: Fn::GetAtt: - DS-PatchBaseline - RejectedPatchesAction ApprovedPatches: Fn::GetAtt: - DS-PatchBaseline - ApprovedPatches Sources: Fn::GetAtt: - DS-PatchBaseline - Sources ApprovedPatchesEnableNonSecurity: Fn::GetAtt: - DS-PatchBaseline - ApprovedPatchesEnableNonSecurity PermissionModel: SERVICE_MANAGED AutoDeployment: RetainStacksOnAccountRemoval: false Enabled: Ref: AutoDeployment StackGroupName: Ref: StackGroupName TemplateBody: ROSTemplateFormatVersion: '2015-09-01' Parameters: PatchBaselineName: Type: String OperationSystem: Type: String ApprovalRules: Type: String Description: Type: String Default: '' RejectedPatches: Type: Json Default: null RejectedPatchesAction: Type: String ApprovedPatches: Type: Json Default: null Sources: Type: Json Default: null ApprovedPatchesEnableNonSecurity: Type: Boolean Default: null Resources: PatchBaseline: Type: ALIYUN::OOS::PatchBaseline Properties: PatchBaselineName: Ref: PatchBaselineName OperationSystem: Ref: OperationSystem ApprovalRules: Ref: ApprovalRules Description: Ref: Description RejectedPatches: Ref: RejectedPatches RejectedPatchesAction: Ref: RejectedPatchesAction ApprovedPatches: Ref: ApprovedPatches Sources: Ref: Sources ApprovedPatchesEnableNonSecurity: Ref: ApprovedPatchesEnableNonSecurity DefaultPatchBaseline: Type: ALIYUN::OOS::DefaultPatchBaseline Properties: PatchBaselineName: Ref: PatchBaselineName DependsOn: PatchBaseline StackInstances: Type: ALIYUN::ROS::StackInstances Properties: DeploymentTargets: RdFolderIds: Ref: TargetRdFolderIds RegionIds: Ref: TargetRegionIds StackGroupName: Ref: StackGroup Outputs: StackInstances: Value: Fn::GetAtt: - StackInstances - Stacks