在中定义和引用变量EC2 TOE - EC2 Image Builder
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在中定义和引用变量EC2 TOE

变量提供了一种用可在整个应用程序中使用的有意义的名称标记数据的方法。您可以为复杂的工作流程定义具有简单易读的格式的自定义变量,并在 YAML 应用程序组件文档中参考它们以获取EC2 TOE组件。

本节提供了一些信息以帮助您定义变量EC2 TOEYAML 应用程序组件文档中的组件,包括语法、名称约束和示例。

参数

参数是可变变量,调用应用程序可以在运行时提供的设置。您可以在ParametersYAML 文档的部分。

参数名称规则

  • 名称长度必须在 3 到 128 个字符之间。

  • 名称只能包含字母数字字符 (a-z、A-Z、0-9)、短划线 (-) 或短划线 (-) 或下划线 (_) 或下划线 (_) 或下划线 (_)

  • 此名称在文档范围内必须唯一。

  • 必须将名称指定为 YAML 字符串。

语法

parameters: - <name>: type: <parameter type> default: <parameter value> description: <parameter description>

键名称

必填

描述

name

参数的名称。对于文档必须是唯一的(它不能与任何其他参数名称或常量相同)。

type

参数的数据类型。支持的类型包括:string.

default

参数的默认值。

description

描述参数。

参考文档中的参数值

您可以在 YAML 文档中引用步骤或循环输入中的参数,如下所示:

  • 参数引用区分大小写,名称必须完全匹配。

  • 名字必须用双大括号括起来{{ 我的参数 }}.

  • 允许在大括号内使用空格,并自动修剪空格。例如,以下所有参考文献都有效:

    {{ MyParameter }}, {{ MyParameter}}, {{MyParameter }}, {{MyParameter}}

  • YAML 文档中的引用必须指定为字符串(用单引号或双引号括起来)。

    例如:- {{ MyParameter }}无效,因为它没有被标识为字符串。

    不过,以下参考文献都有效:- '{{ MyParameter }}'- "{{ MyParameter }}".

示例

以下示例显示如何在 YAML 文档中使用参数:

  • 请参阅步骤输入中的参数:

    name: Download AWS CLI version 2 schemaVersion: 1.0 parameters: - Source: type: string default: 'https://awscli.amazonaws.com/AWSCLIV2.msi' description: The AWS CLI installer source URL. phases: - name: build steps: - name: Download action: WebDownload inputs: - source: '{{ Source }}' destination: 'C:\Windows\Temp\AWSCLIV2.msi'
  • 请参阅循环输入中的参数:

    name: PingHosts schemaVersion: 1.0 parameters: - Hosts: type: string default: 127.0.0.1,amazon.com description: A comma separated list of hosts to ping. phases: - name: build steps: - name: Ping action: ExecuteBash loop: forEach: list: '{{ Hosts }}' delimiter: ',' inputs: commands: - ping -c 4 {{ loop.value }}

在运行时覆盖参数

您可以使用--parameters选项来自Amazon CLI使用键值对来在运行时设置参数值。

  • 将参数键值对指定为名称和值,用等号 (<name>=<value>) 分隔。

  • 必须用逗号隔开多个参数。

  • 在 YAML 组件文档中找不到的参数名称将被忽略。

  • 参数名称和值都是必需的。

语法

--parameters name1=value1,name2=value2...

CLI 选项

必填

描述

--parameters名称=,...

此选项采用键值对的列表,以参数名称作为键名称作为键的列表。

示例

以下示例显示如何在 YAML 文档中使用参数:

  • 此处指定的参数键值对--parameter选项无效:

    --parameters ntp-server=
  • 使用--parameter中的选项Amazon CLI:

    --parameters ntp-server=ntp-server-windows-qe.us-east1.amazon.com
  • 使用--parameter中的选项Amazon CLI:

    --parameters ntp-server=ntp-server.amazon.com,http-url=https://internal-us-east1.amazon.com

常量

常量是不可变的变量,一旦定义就无法修改或覆盖。常量可以使用constants的部分EC2 TOE文档.

常量名称规则

  • 名称长度必须在 3 到 128 个字符之间。

  • 名称只能包含字母数字字符 (a-z、A-Z、0-9)、短划线 (-) 或短划线 (-) 或下划线 (_) 或下划线 (_) 或下划线 (_)

  • 此名称在文档范围内必须唯一。

  • 必须将名称指定为 YAML 字符串。

Syntax(语法

constants: - <name>: type: <constant type> value: <constant value>
键名称 必填 描述

name

常量的名称。对于文档必须是唯一的(它不能与任何其他参数名称或常量相同)。

value

常量的值。

type

常量的类型。支持的类型为string.

参考文档中的常量值

您可以在 YAML 文档内部的步骤或循环输入中引用常量,如下所示:

  • 常量引用区分大小写,名称必须完全匹配大小写,名称必须

  • 名字必须用双大括号括起来{{ myConstant }}.

  • 允许在大括号内使用空格,并自动修剪空格。例如,以下所有参考文献都有效:

    {{ MyConstant }}, {{ MyConstant}}, {{MyConstant }}, {{MyConstant}}

  • YAML 文档中的引用必须指定为字符串(用单引号或双引号括起来)。

    例如:- {{ MyConstant }}无效,因为它没有被标识为字符串。

    不过,以下参考文献都有效:- '{{ MyConstant }}'- "{{ MyConstant }}".

示例

步骤输入中引用的常量

name: Download Amazon CLI version 2 schemaVersion: 1.0 constants: - Source: type: string value: https://awscli.amazonaws.com/AWSCLIV2.msi phases: - name: build steps: - name: Download action: WebDownload inputs: - source: '{{ Source }}' destination: 'C:\Windows\Temp\AWSCLIV2.msi'

循环输入中引用的常量

name: PingHosts schemaVersion: 1.0 constants: - Hosts: type: string value: 127.0.0.1,amazon.com phases: - name: build steps: - name: Ping action: ExecuteBash loop: forEach: list: '{{ Hosts }}' delimiter: ',' inputs: commands: - ping -c 4 {{ loop.value }}