本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
“AWS CDK 引导” 操作 YAML 定义
以下是AWS CDK 引导操作的 YAML 定义。要了解如何使用此操作,请参阅使用工作流程引导 AWS CDK 应用程序。
此操作定义作为一个部分存在于更广泛的工作流程定义文件中。有关此文件的更多信息,请参阅 工作流程 YAML 定义。
注意
接下来的大多数 YAML 属性在可视化编辑器中都有相应的 UI 元素。要查找用户界面元素,请使用 Ctrl+F。 该元素将与其关联的 YAML 属性一起列出。
# The workflow definition starts here.
# See 顶级属性 for details.
Name: MyWorkflow
SchemaVersion: 1.0
Actions:
# The action definition starts here.
CDKBootstrapAction_nn
:
Identifier: aws/cdk-bootstrap@v1
DependsOn:
- action-name
Compute:
Type: EC2 | Lambda
Fleet: fleet-name
Timeout: timeout-minutes
Inputs:
# Specify a source or an artifact, but not both.
Sources:
- source-name-1
Artifacts:
- artifact-name
Outputs:
Artifacts:
- Name: cdk_bootstrap_artifacts
Files:
- "cdk.out/**/*"
Environment:
Name: environment-name
Connections:
- Name: account-connection-name
Role: iam-role-name
Configuration:
Region: us-west-2
CdkCliVersion: version
CDKBootstrapAction
(必需)
指定操作的名称。所有操作名称在工作流程中必须是唯一的。操作名称仅限于字母数字字符(a-z、A-Z、0-9)、连字符 (-) 和下划线 (_)。不允许使用空格。不能使用引号在操作名称中启用特殊字符和空格。
默认值:CDKBootstrapAction_nn
。
对应的 UI:“配置” 选项卡/ “操作” 显示名称
Identifier
(CDKBootstrapAction
/Identifier)
(必需)
标识操作。除非要更改版本,否则请勿更改此属性。有关更多信息,请参阅 指定操作的主版本、次要版本或补丁版本。
默认值:aws/cdk-bootstrap@v1
。
对应的用户界面:工作流程图/ CDKBootstrapAction _nn/ aws/cdk-bootstrap @v1 标签
DependsOn
(CDKBootstrapAction
/DependsOn)
(可选)
指定必须成功运行才能运行此操作的操作、操作组或门。
有关 “依赖” 功能的更多信息,请参阅。将操作配置为依赖于其他操作
对应的用户界面:“输入” 选项卡/ 依赖- 可选
Compute
(CDKBootstrapAction
/Compute)
(可选)
用于运行工作流程操作的计算引擎。您可以在工作流程级别或操作级别指定计算,但不能同时指定两者。在工作流级别指定时,计算配置将应用于工作流中定义的所有操作。在工作流程级别,您还可以在同一个实例上运行多个操作。有关更多信息,请参阅 跨操作共享计算。
对应的用户界面:无
Type
(CDKBootstrapAction
/Compute/Type)
(如果包含Compute,则为必填项)
计算引擎的类型。您可以使用以下值之一:
-
EC2(可视化编辑器)或
EC2
(YAML 编辑器)针对动作运行期间的灵活性进行了优化。
-
Lambda(可视化编辑器)或
Lambda
(YAML 编辑器)优化了动作启动速度。
有关计算类型的更多信息,请参阅计算类型。
相应的 UI:“配置” 选项卡/高级-可选/计算类型
Fleet
(CDKBootstrapAction
/Compute/Fleet)
(可选)
指定将运行您的工作流程或工作流程操作的计算机或机群。对于按需队列,当操作开始时,工作流程会配置所需的资源,操作完成后计算机就会被销毁。按需车队的示例:Linux.x86-64.Large
,Linux.x86-64.XLarge
。有关按需队列的更多信息,请参阅按需车队房产。
使用已配置的队列,您可以配置一组专用计算机来运行您的工作流程操作。这些计算机处于闲置状态,可以立即处理操作。有关已配置队列的更多信息,请参阅。已配置的舰队属性
如果省略,Fleet
则默认为Linux.x86-64.Large
。
相应的 UI:“配置” 选项卡/高级-可选/计算舰队
Timeout
(CDKBootstrapAction
/Timeout)
(必需)
指定操作在 CodeCatalyst 结束操作之前可以运行的时间(以分钟(YAML 编辑器)或小时和分钟(可视化编辑器)为单位。最小值为 5 分钟,最大值如中所述工作流程配额。默认超时与最大超时相同。
相应的 UI:“配置” 选项卡/ “超时”- 可选
Inputs
(CDKBootstrapAction
/Inputs)
(可选)
本Inputs
节定义了工作流程运行期间AWS CDK
引导操作所需的数据。
相应的 UI:“输入” 选项卡
注意
每个AWS CDK 引导操作只允许输入一个输入(源或构件)。
Sources
(CDKBootstrapAction
/Inputs/Sources)
(如果您的 AWS CDK 应用程序存储在源存储库中,则为必填项)
如果您的 AWS CDK 应用程序存储在源存储库中,请指定该源存储库的标签。在AWS CDK 启动引导过程之前,bootstrap 操作会合成此存储库中的应用程序。目前,唯一支持的存储库标签是WorkflowSource
。
如果您的 AWS CDK 应用程序不包含在源存储库中,则它必须位于另一个操作生成的构件中。
更多有关来源的信息,请参阅 将工作流程连接到源存储库。
相应的 UI:“输入” 选项卡/ “来源”- 可选
Artifacts - input
(CDKBootstrapAction
/Inputs/Artifacts)
(如果您的 AWS CDK 应用程序存储在先前操作的输出构件中,则为必填项)
如果您的 AWS CDK 应用程序包含在先前操作生成的构件中,请在此处指定该构件。在AWS CDK 启动引导过程之前,bootstrap 操作会将指定工件中的应用程序合成到 CloudFormation 模板中。如果您的 AWS CDK 应用程序不包含在工件中,则它必须位于您的源存储库中。
有关构件的更多信息(包括示例),请参阅使用构件在工作流程中的操作之间共享数据。
相应的 UI:“输入” 选项卡/ 工件- 可选
Outputs
(CDKBootstrapAction
/Outputs)
(可选)
定义操作在工作流程运行期间输出的数据。
相应的 UI:“输出” 选项卡
Artifacts - output
(CDKBootstrapAction
/Outputs/Artifacts)
(可选)
指定操作生成的对象。您可以在其他操作中引用这些构件作为输入。
有关构件的更多信息(包括示例),请参阅使用构件在工作流程中的操作之间共享数据。
相应的 UI:“输出” 选项卡/ 工件
Name
(CDKBootstrapAction
/Outputs/Artifacts/Name)
(如果包含Artifacts - output,则为必填项)
指定将包含在运行时由AWS CDK 引导操作合成的 AWS CloudFormation 模板的工件的名称。默认值为 cdk_bootstrap_artifacts
。如果您未指定构件,则该操作会合成模板,但不会将其保存在构件中。考虑将合成后的模板保存在工件中,以保留其记录,用于测试或故障排除。
对应的用户界面:输出选项卡/构件/添加构件/构建构件名称
Files
(CDKBootstrapAction
/Outputs/Artifacts/Files)
(如果包含Artifacts - output,则为必填项)
指定要包含在构件中的文件。您"cdk.out/**/*"
必须指定包含 AWS CDK 应用程序的合成 AWS CloudFormation 模板。
注意
cdk.out
是保存合成文件的默认目录。如果您指定的输出目录不是在cdk.json
文件cdk.out
中,请在此处指定该目录,而不是cdk.out
。
相应的用户界面:输出选项卡/构件/添加工件/构建生成的文件
Environment
(CDKBootstrapAction
/Environment)
(必需)
指定要用于操作的 CodeCatalyst 环境。该操作连接到在所选环境中指定的 AWS 账户 和可选的 Amazon VPC。该操作使用环境中指定的默认 IAM 角色连接到 AWS 账户,并使用在 A mazon VPC 连接中指定的 IAM 角色连接到亚马逊 VPC。
注意
如果默认 IAM 角色没有操作所需的权限,则可以将操作配置为使用其他角色。有关更多信息,请参阅 为操作分配不同的 IAM 角色。
有关环境的更多信息,请参见部署到环境中的 VPC AWS 账户 和带有 CodeCatalyst环境的 VPC和创建环境。
对应的 UI:“配置” 选项卡/ 环境
Name
(CDKBootstrapAction
/Environment/Name)
(如果包含Environment,则为必填项)
指定要与操作关联的现有环境的名称。
对应的 UI:“配置” 选项卡/ 环境
Connections
(CDKBootstrapAction
/Environment/Connections)
(在新版本的操作中为可选;在较旧版本中为必填项)
指定要与操作关联的账户连接。您最多可以在下方指定一个账户连接Environment
。
如果您未指定账户连接:
-
该操作使用 CodeCatalyst 控制台中环境中指定的 AWS 账户 连接和默认 IAM 角色。有关向环境添加账户连接和默认 IAM 角色的信息,请参阅创建环境。
-
默认 IAM 角色必须包含操作所需的策略和权限。要确定这些策略和权限是什么,请参阅操作的 YAML 定义文档中对角色属性的描述。
有关账户关联的更多信息,请参阅允许在已连接的情况下访问 AWS 资源 AWS 账户。有关向环境添加账户连接的信息,请参阅创建环境。
相应的 UI:根据操作版本的不同,以下用户界面之一:
-
(新版本)“配置” 选项卡/环境/我的环境中有什么?
/三点菜单/ 切换角色 -
(旧版本)“配置” 选项卡/'环境/账户/角色'/账户连接AWS
Name
(CDKBootstrapAction
/Environment/Connections/Name)
(如果包含Connections,则为必填项)
指定账户连接的名称。
相应的 UI:根据操作版本的不同,以下用户界面之一:
-
(新版本)“配置” 选项卡/环境/我的环境中有什么?
/三点菜单/ 切换角色 -
(旧版本)“配置” 选项卡/'环境/账户/角色'/账户连接AWS
Role
(CDKBootstrapAction
/Environment/Connections/Role)
(如果包含Connections,则为必填项)
指定引导操作用于访问 AWS 和添加AWS CDK 引导堆栈的 IAM 角色的名称。请确保您已将该角色添加到您的 CodeCatalyst 空间,并且该角色包含以下策略。
如果您未指定 IAM 角色,则该操作将使用 CodeCatalyst 控制台中环境中列出的默认 IAM 角色。如果您在环境中使用默认角色,请确保其具有以下策略。
注意
以下权限策略中显示的权限是该cdk bootstrap
命令在撰写本文时执行引导所需的权限。如果更改其 bootstrap 命令,这些权限可能会 AWS CDK 发生变化。
警告
仅在AWS CDK 引导操作中使用此角色。它非常宽松,将其与其他操作一起使用可能会带来安全风险。
-
以下权限策略:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "iam:GetRole", "ssm:GetParameterHistory", "ecr:PutImageScanningConfiguration", "cloudformation:*", "iam:CreateRole", "iam:AttachRolePolicy", "ssm:GetParameters", "iam:PutRolePolicy", "ssm:GetParameter", "ssm:DeleteParameters", "ecr:DeleteRepository", "ssm:PutParameter", "ssm:DeleteParameter", "iam:PassRole", "ecr:SetRepositoryPolicy", "ssm:GetParametersByPath", "ecr:DescribeRepositories", "ecr:GetLifecyclePolicy" ], "Resource": [ "arn:aws:ssm:
aws-region
:aws-account
:parameter/cdk-bootstrap/*", "arn:aws:cloudformation:aws-region
:aws-account
:stack/CDKToolkit/*", "arn:aws:ecr:aws-region
:aws-account
:repository/cdk-*", "arn:aws:iam::aws-account
:role/cdk-*" ] }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "cloudformation:RegisterType", "cloudformation:CreateUploadBucket", "cloudformation:ListExports", "cloudformation:DescribeStackDriftDetectionStatus", "cloudformation:SetTypeDefaultVersion", "cloudformation:RegisterPublisher", "cloudformation:ActivateType", "cloudformation:ListTypes", "cloudformation:DeactivateType", "cloudformation:SetTypeConfiguration", "cloudformation:DeregisterType", "cloudformation:ListTypeRegistrations", "cloudformation:EstimateTemplateCost", "cloudformation:DescribeAccountLimits", "cloudformation:BatchDescribeTypeConfigurations", "cloudformation:CreateStackSet", "cloudformation:ListStacks", "cloudformation:DescribeType", "cloudformation:ListImports", "s3:*", "cloudformation:PublishType", "ecr:CreateRepository", "cloudformation:DescribePublisher", "cloudformation:DescribeTypeRegistration", "cloudformation:TestType", "cloudformation:ValidateTemplate", "cloudformation:ListTypeVersions" ], "Resource": "*" } ] }注意
首次使用该角色时,请在资源策略语句中使用以下通配符,然后在策略可用后使用资源名称缩小策略范围。
"Resource": "*"
-
以下自定义信任策略:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
注意
如果您愿意,可以在此操作中使用该CodeCatalystWorkflowDevelopmentRole-
角色。有关该角色的更多信息,请参阅 为您的账户和空间创建CodeCatalystWorkflowDevelopmentRole-spaceName角色。了解该spaceName
CodeCatalystWorkflowDevelopmentRole-
角色具有完全访问权限,这可能会带来安全风险。我们建议您仅在教程和安全性较低的场景中使用此角色。spaceName
相应的 UI:根据操作版本的不同,以下用户界面之一:
-
(新版本)“配置” 选项卡/环境/我的环境中有什么?
/三点菜单/ 切换角色 -
(旧版本)“配置” 选项卡/'环境/帐户/角色'/角色
Configuration
(CDKBootstrapAction
/Configuration)
(必需)
您可以在其中定义操作的配置属性的部分。
对应的 UI:“配置” 选项卡
Region
(CDKBootstrapAction
/Configuration/Region)
(必需)
指定要 AWS 区域 将引导堆栈部署到哪里。该区域应与您的 AWS CDK 应用程序部署的区域相匹配。有关区域代码的列表,请参阅区域端点。
对应的 UI:“配置” 选项卡/ 区域
CdkCliVersion
(CDKBootstrapAction
/Configuration/CdkCliVersion)
(可选)
此属性适用于AWS CDK 部署操作的 1.0.13 或更高版本,以及引导操作的 1.0.8 或更高版本。AWS CDK
指定下列项之一:
-
您希望此操作使用的 AWS Cloud Development Kit (AWS CDK) 命令行界面 (CLI)(也称为 AWS CDK 工具包)的完整版本。示例:
2.102.1
。在构建和部署应用程序时,请考虑指定完整版本以确保一致性和稳定性。Or
-
latest
。 考虑指定latest
以利用 CDK CLI 的最新功能和修复程序。
该操作会将指定版本(或最新版本)的 AWS CDK CLI 下载到 CodeCatalyst 构建映像,然后使用此版本运行部署 CDK 应用程序或引导环境所需的命令。 AWS
有关您可以使用的支持 CDK CLI 版本的列表,请参阅AWS CDK 版本。
如果省略此属性,则该操作将使用以下主题之一中描述的默认 AWS CDK CLI 版本:
对应的 UI:“配置” 选项卡/ AWS CDK CLI 版本