在您的账户中注册第三方私有扩展。
本主题介绍了注册与您共享的第三方私有扩展,以便能够在您的账户中使用的步骤。
注意
在继续操作之前,请确认您拥有注册私有扩展所需的 IAM 权限。
注册与您共享的私有扩展(AWS CLI)
-
找到包含要在您的账户中注册的私有扩展项目包的 Amazon S3 存储桶。
-
使用 register-type 命令在您的账户中注册私有扩展。
例如,以下命令在指定的 AWS 账户中注册
My::Resource::Example资源类型。aws cloudformation register-type --typeRESOURCE\ --type-nameMy::Resource::Example\ --schema-handler-package[s3 object path]--regionus-west-2RegisterType是一个异步操作,返回一个注册令牌,您可以使用该令牌跟踪注册请求进度。{ "RegistrationToken": "f5525280-104e-4d35-bef5-8f1fexample" }如果您的扩展调用 AWS API 作为其功能的一部分,您必须创建一个包含调用这些 AWS API 所需的权限的 IAM 执行角色,并在您的账户中预置该执行角色。然后,您可以使用
--execution-role-arn选项指定此执行角色。接下来,CloudFormation 担任该执行角色,以便为您的资源类型提供相应的凭证。--execution-role-arnarn:aws:iam::123456789012:role/MyIAMRole -
(可选)将注册令牌与 describe-type-registration 命令一起使用以跟踪注册请求进度。
在 CloudFormation 完成注册请求时,它将请求的进度状态设置为
COMPLETE。以下示例使用上面的
describe-type-registration命令返回的注册令牌以返回注册状态信息。aws cloudformation describe-type-registration \ --registration-tokenf5525280-104e-4d35-bef5-8f1fexample\ --regionus-west-2该命令将返回以下输出。
{ "ProgressStatus": "COMPLETE", "TypeArn": "arn:aws:cloudformation:us-west-2:123456789012:type/resource/My-Resource-Example", "Description": "Deployment is currently in DEPLOY_STAGE of status COMPLETED; ", "TypeVersionArn": "arn:aws:cloudformation:us-west-2:123456789012:type/resource/My-Resource-Example/00000001" }
重要
如果您要注册的扩展是挂钩,则必须执行下一步。您必须为 HookInvocationStatus 属性指定 ENABLED。此操作启用挂钩架构 properties 部分中定义的挂钩属性。有关更多信息,请参阅《AWS CloudFormation Hooks User Guide》中的 Hooks configuration schema syntax reference。
指定挂钩的配置数据(AWS CLI)
-
获取并保存挂钩的 ARN。您可以使用 AWS Management Console 或 AWS CLI 获取挂钩的 ARN。有关更多信息,请参阅 查看 CloudFormation 注册表中可用和已激活的扩展。
export HOOK_TYPE_ARN="arn:aws:cloudformation:us-west-2:123456789012:type/hook/Organization-Service-Hook/" -
使用 set-type-configuration 命令指定配置数据。为
--configuration传递的 JSON 必须根据挂钩的配置架构进行验证。要激活挂钩,必须在HookConfiguration部分中将HookInvocationStatus属性设置为ENABLED。aws cloudformation set-type-configuration \ --configuration"{"CloudFormationConfiguration":{"HookConfiguration":{"HookInvocationStatus": "ENABLED", "FailureMode": "FAIL", "Properties":{}}}}"\ --type-arn $HOOK_TYPE_ARN--regionus-west-2有关更多信息,请参阅《AWS CloudFormation Hooks User Guide》中的 Hooks configuration schema syntax reference。