【发布时间】:2020-06-09 10:17:51
【问题描述】:
我有一个很久以前使用 aws 控制台创建的 api 网关,现在我想使用模板将该网关附加到 cloudformation 堆栈。我知道资源的逻辑 ID,但在更新操作期间很难将逻辑 ID 传递给堆栈。这可以不使用控制台吗?我知道将资源导入堆栈的控制台功能,我正在尝试使用模板来实现这一点。
【问题讨论】:
我有一个很久以前使用 aws 控制台创建的 api 网关,现在我想使用模板将该网关附加到 cloudformation 堆栈。我知道资源的逻辑 ID,但在更新操作期间很难将逻辑 ID 传递给堆栈。这可以不使用控制台吗?我知道将资源导入堆栈的控制台功能,我正在尝试使用模板来实现这一点。
【问题讨论】:
我认为对于Importing Existing Resources Into a Stack 的工作方式存在一些误解。
更改集
您不能从模板内部执行堆栈导入操作。为此,您必须使用 CLI 或控制台,因为您需要为导入生成 更改集。这是通过 CLI 或控制台提供的模板的外部操作。
可用资源
并非所有资源都可以导入 CFN。幸运的是,AWS::ApiGateway::Resource 是 can 之一。
导入模板
要执行导入操作,您必须准备自己的模板定义一个资源AWS::ApiGateway::Resource,它完全描述了现有的 API 资源。您定义的模板文件中的所有属性必须匹配现有 API 资源的属性。
换句话说,导入操作不会为您生成任何模板(或 yaml/json)文件。它主要是手动操作,涉及编写模板和执行更改集。
链接
关于如何使用 CLI 完成导入的一个很好的资源是以下教程:
希望这会有所帮助。
我不知道您有什么样的“困难时期”(问题中没有描述),因此我无法提供更准确的信息来帮助您。
【讨论】: