

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

# 实例数据包 (aws\$1opsworks\$1instance)
<a name="data-bag-json-instance"></a>

**重要**  
该 AWS OpsWorks Stacks 服务于 2024 年 5 月 26 日终止，新客户和现有客户均已禁用。我们强烈建议客户尽快将其工作负载迁移到其他解决方案。如果您对迁移有疑问，请通过 re [AWS : Post 或通过 Pre](https://repost.aws/) mium Su [AWS pp](https://aws.amazon.com/support) ort 与 AWS 支持 团队联系。

表示实例的设置。

以下示例说明如何使用 Chef 搜索来搜索单个数据袋项目，然后搜索多个数据袋项目，将包含实例主机名和 Chef 日志的消息写入 Chef 日志： IDs

```
instance = search("aws_opsworks_instance").first
Chef::Log.info("********** The instance's hostname is '#{instance['hostname']}' **********")
Chef::Log.info("********** The instance's ID is '#{instance['instance_id']}' **********")

search("aws_opsworks_instance").each do |instance|
  Chef::Log.info("********** The instance's hostname is '#{instance['hostname']}' **********")
  Chef::Log.info("********** The instance's ID is '#{instance['instance_id']}' **********")
end
```

以下示例显示了使用 Chef 搜索在多个数据袋项目中搜索以查找包含指定 Amazon EC2 实例 ID 的数据袋项目的不同方法。然后，该示例会使用数据包项目的内容将包含相应实例的公有 IP 地址的消息写入 Chef 日志：

```
instance = search("aws_opsworks_instance", "ec2_instance_id:i-12345678").first
Chef::Log.info("********** For instance '#{instance['ec2_instance_id']}', the instance's public IP address is '#{instance['public_ip']}' **********")
 
search("aws_opsworks_instance").each do |instance|
  if instance['ec2_instance_id'] == 'i-12345678'
    Chef::Log.info("********** For instance '#{instance['ec2_instance_id']}', the instance's public IP address is '#{instance['public_ip']}' **********")
  end
end
```

以下示例演示了如何使用 Chef 搜索的 `self:true` 以查找数据包项目，其中包含有关正在对其执行配方的实例的信息。然后，该示例使用数据袋项的内容向 Chef 日志写一条消息，其中包含相应实例的 OpsWorks Stacks 生成的 ID 和实例的公有 IP 地址：

```
instance = search("aws_opsworks_instance", "self:true").first
Chef::Log.info("********** For instance '#{instance['instance_id']}', the instance's public IP address is '#{instance['public_ip']}' **********")
```


****  

|  |  |  | 
| --- |--- |--- |
| [ami\$1id](#data-bag-json-instance-ami) | [架构](#data-bag-json-instance-arch) | [auto\$1scaling\$1type](#data-bag-json-instance-autoscaling) | 
| [availability\$1zone](#data-bag-json-instance-az) | [created\$1at](#data-bag-json-instance-created-at) | [ebs\$1optimized](#data-bag-json-instance-ebs-optimized) | 
| [ec2\$1instance\$1id](#data-bag-json-instance-ec2-id) | [elastic\$1ip](#data-bag-json-instance-elastic-ip) | [hostname](#data-bag-json-instance-hostname) | 
| [instance\$1id](#data-bag-json-instance-id) | [instance\$1type](#data-bag-json-instance-type) | [layer\$1ids](#data-bag-json-instance-layers) | 
| [os](#data-bag-json-instance-os) | [private\$1dns](#data-bag-json-instance-private-dns) | [private\$1ip](#data-bag-json-instance-private-ip) | 
| [public\$1dns](#data-bag-json-instance-public-dns) | [public\$1ip](#data-bag-json-instance-public-ip) | [root\$1device\$1type](#data-bag-json-instance-root-device-type) | 
| [root\$1device\$1volume\$1id](#data-bag-json-instance-root-device-volume-id) | [self](#data-bag-json-instance-self) | [ssh\$1host\$1dsa\$1key\$1fingerprint](#data-bag-json-instance-ssh-host-dsa-key-fingerprint) | 
| [ssh\$1host\$1dsa\$1key\$1private](#data-bag-json-instance-ssh-host-dsa-key-private) | [ssh\$1host\$1dsa\$1key\$1public](#data-bag-json-instance-ssh-host-dsa-key-public) | [ssh\$1host\$1rsa\$1key\$1fingerprint](#data-bag-json-instance-ssh-host-rsa-key-fingerprint) | 
| [ssh\$1host\$1rsa\$1key\$1private](#data-bag-json-instance-ssh-host-rsa-key-private) | [ssh\$1host\$1rsa\$1key\$1public](#data-bag-json-instance-ssh-host-rsa-key-public) | [status](#data-bag-json-instance-status) | 
| [subnet\$1id](#data-bag-json-instance-subnet-id) | [virtualization\$1type](#data-bag-json-instance-virt-type) |  | 

**ami\$1id**  <a name="data-bag-json-instance-ami"></a>
实例的 AMI (Amazon 系统映像) ID (字符串)。

**架构**  <a name="data-bag-json-instance-arch"></a>
实例的架构，始终设置为 `"x86_64"` (字符串)。

**auto\$1scaling\$1type**  <a name="data-bag-json-instance-autoscaling"></a>
实例的扩展类型：`null`、`timer` 或 `load` (字符串)。

**availability\$1zone**  <a name="data-bag-json-instance-az"></a>
实例的可用区 (AZ)，如 `"us-west-2a"` (字符串)。

**created\$1at**  <a name="data-bag-json-instance-created-at"></a>
创建实例的时间，采用 UTC `"yyyy-mm-dddThh:mm:ss+hh:mm"` 格式 (字符串)。例如，`"2013-10-01T08:35:22+00:00"` 对应于 2013 年 10 月 10 日 8:35:22，无时区偏移。有关更多信息，请参阅 [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601)。

**ebs\$1optimized**  <a name="data-bag-json-instance-ebs-optimized"></a>
实例是否经过 EBS 优化 (布尔值)。

**ec2\$1instance\$1id**  <a name="data-bag-json-instance-ec2-id"></a>
实 EC2 例 ID（字符串）。

**elastic\$1ip**  <a name="data-bag-json-instance-elastic-ip"></a>
弹性 IP 地址；如果实例没有弹性 IP 地址，则设置为 `"null"` (字符串)。

**hostname**  <a name="data-bag-json-instance-hostname"></a>
主机名，如 `"demo1"` (字符串)。

**instance\$1id**  <a name="data-bag-json-instance-id"></a>
实例 ID，这是 OpsWorks 堆栈生成的 GUID，用于唯一标识实例（字符串）。

**instance\$1type**  <a name="data-bag-json-instance-type"></a>
实例类型，如 `"c1.medium"` (字符串)。

**layer\$1ids**  <a name="data-bag-json-instance-layers"></a>
实例的图层列表，由其唯一层标识 IDs；例如，`307ut64c-c7e4-40cc-52f0-67d5k1f9992c`。

**os**  <a name="data-bag-json-instance-os"></a>
实例的操作系统 (字符串)。有效值包括：  
+ `"Amazon Linux 2"`
+ `"Amazon Linux 2018.03"`
+ `"Amazon Linux 2017.09"`
+ `"Amazon Linux 2017.03"`
+ `"Amazon Linux 2016.09"`
+ `"Custom"`
+ `"Microsoft Windows Server 2022 Base"`
+ `"Microsoft Windows Server 2022 with SQL Server Express"`
+ `"Microsoft Windows Server 2022 with SQL Server Standard"`
+ `"Microsoft Windows Server 2022 with SQL Server Web"`
+ `"Microsoft Windows Server 2019 Base"`
+ `"Microsoft Windows Server 2019 with SQL Server Express"`
+ `"Microsoft Windows Server 2019 with SQL Server Standard"`
+ `"Microsoft Windows Server 2019 with SQL Server Web"`
+ `"CentOS 7"`
+ `"Red Hat Enterprise Linux 7"`
+ `"Ubuntu 20.04 LTS"`
+ `"Ubuntu 18.04 LTS"`
+ `"Ubuntu 16.04 LTS"`
+ `"Ubuntu 14.04 LTS"`

**private\$1dns**  <a name="data-bag-json-instance-private-dns"></a>
私有 DNS 名称 (字符串)。

**private\$1ip**  <a name="data-bag-json-instance-private-ip"></a>
私有 IP 地址 (字符串)。

**public\$1dns**  <a name="data-bag-json-instance-public-dns"></a>
公有 DNS 名称 (字符串)。

**public\$1ip**  <a name="data-bag-json-instance-public-ip"></a>
公有 IP 地址 (字符串)。

**root\$1device\$1type**  <a name="data-bag-json-instance-root-device-type"></a>
根设备类型 (字符串)。有效值包括：  
+ `"ebs`
+ `"instance-store"`

**root\$1device\$1volume\$1id**  <a name="data-bag-json-instance-root-device-volume-id"></a>
根设备的卷 ID (字符串)。

**self**  <a name="data-bag-json-instance-self"></a>
如果此数据包项目包含有关正在对其执行配方的实例的信息，则为 `true`；否则，为 `false` (布尔值)。此值仅适用于配方，不能通过 OpsWorks Stacks API 获得。

**ssh\$1host\$1dsa\$1key\$1fingerprint**  <a name="data-bag-json-instance-ssh-host-dsa-key-fingerprint"></a>
较短序列的字节，用于标识较长 DSA 公有密钥 (字符串)。

**ssh\$1host\$1dsa\$1key\$1private**  <a name="data-bag-json-instance-ssh-host-dsa-key-private"></a>
DSA 生成的私有密钥，用于对实例进行 SSH 身份验证 (字符串)。

**ssh\$1host\$1dsa\$1key\$1public**  <a name="data-bag-json-instance-ssh-host-dsa-key-public"></a>
DSA 生成的公有密钥，用于对实例进行 SSH 身份验证 (字符串)。

**ssh\$1host\$1rsa\$1key\$1fingerprint**  <a name="data-bag-json-instance-ssh-host-rsa-key-fingerprint"></a>
较短序列的字节，用于标识较长 RSA 公有密钥 (字符串)。

**ssh\$1host\$1rsa\$1key\$1private**  <a name="data-bag-json-instance-ssh-host-rsa-key-private"></a>
RSA 生成的私有密钥，用于对实例进行 SSH 身份验证 (字符串)。

**ssh\$1host\$1rsa\$1key\$1public**  <a name="data-bag-json-instance-ssh-host-rsa-key-public"></a>
RSA 生成的公有密钥，用于对实例进行 SSH 身份验证 (字符串)。

**status**  <a name="data-bag-json-instance-status"></a>
实例的状态 (字符串)。有效值包括：  
+ `"requested"`
+ `"booting"`
+ `"running_setup"`
+ `"online"`
+ `"setup_failed"`
+ `"start_failed"`
+ `"terminating"`
+ `"terminated"`
+ `"stopped"`
+ `"connection_lost"`

**subnet\$1id**  <a name="data-bag-json-instance-subnet-id"></a>
实例的子网 ID (字符串)。

**virtualization\$1type**  <a name="data-bag-json-instance-virt-type"></a>
实例的虚拟化类型 (字符串)。