本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWS Service Catalog API 概述
使用 Service Catalog API 的好处
该 AWS Service Catalog API 提供对所有最终用户操作的编程控制,以此作为使用的一种替代方案 AWS 管理控制台。使用 API 时,您可以执行以下操作:
-
编写自己的自定义界面和应用程序
-
获得对最终用户产品配置操作的精细控制
-
将资源配置集成到您的编排管道中
-
访问托管应用程序及其资源的中心位置
访问 Service Catalog
要使用特定语言的 API 构建应用程序,请使用面向软件开发人员的库、示例代码、教程和其他资源。这些库文件提供可自动执行任务的基本功能,例如以加密方式对请求签名、重试请求和处理错误响应,因此您可以更轻松地上手。要开始使用,请打开适用于 Amazon Web Services 的工具
如果倾向于使用命令行界面,您可使用以下选项:
- AWS 命令行界面 (CLI)
-
要开始使用,请参阅《AWS Command Line Interface 用户指南》。有关 Service Catalog 命令的更多信息,请参阅《命令参考》AWS CLI 中的 servicecatalog。
- AWS 适用于 Windows 的工具 PowerShell
-
要开始使用,请参阅《AWS Tools for PowerShell 用户指南》。有关 Service Catalog 的 cmdlet 的更多信息,请打开 AWS Tools for PowerShell Cmdlet 参考并展开。AWS Service Catalog
从逻辑上讲, AWS Service Catalog API 可以分为以下几类。
产品发现
使用这些操作来发现或获取有关产品及其发布要求的信息。这些操作不会创建或修改资源。
- SearchProducts
-
列出来电者有权访问的所有产品。
- DescribeProduct
-
获取有关产品的详细信息。
- DescribeProductView
-
功能上与相同
DescribeProduct,不同之处在于它使用的是产品视图的 ID 而不是产品的 ID。 - ListLaunchPaths
-
列出用户访问指定产品的所有方式,称为产品路径。用户必须选择路径才能配置产品。
- DescribeProvisioningParameters
-
获取预配置指定产品所需的参数,并提供有关配置产品时会发生什么情况的其他元数据。
每个
ProvisioningArtifactParameter都是用户为成功配置产品而必须指定的内容(例如,EC2 实例的大小)。这些ConstraintSummary对象包含允许值的列表以及有关这些ProvisioningArtifactParameter对象的其他元数据。
置备请求
使用这些操作来请求、更新或终止产品的配置。
- ProvisionProduct
-
请求为产品预配。配置产品就是启动使该产品上线以供实际使用所需的资源。例如,配置由 CloudFormation 模板支持的产品意味着启动 CloudFormation 堆栈及其所有底层资源。
- UpdateProvisionedProduct
-
更新预配置产品的配置。例如,由支持的产品 CloudFormation 会更新其底层 CloudFormation 堆栈。请求者必须拥有对指定 ProvisionedProduct内容的足够访问权限。
- TerminateProvisionedProduct
-
请求终止预配置的产品。例如,对于由支持的产品 CloudFormation,这会删除底层 CloudFormation 堆栈。申请者必须拥有对指定预配置产品的足够访问权限。
预配置产品
使用这些操作来获取有关预配置产品的信息。这些操作不会创建或修改资源。
- ListRecordHistory
-
列出所有已执行的请求,即使是已终止的预配置产品也是如此。
- DescribeRecord
-
获取有关请求的信息。在请求操作之后使用此操作来获取当前
RecordDetail信息。 - SearchProvisionedProducts
-
获取有关符合指定条件的预配置产品的信息。
- ScanProvisionedProducts
-
列出未终止的预配置产品。
- DescribeProvisionedProduct
-
获取有关预配置产品的信息。
- ImportAsProvisionedProduct
-
请求将资源作为与 Service Catalog 产品和配置对象关联的 Service Catalog 预配置产品导入。导入后,预配置的产品将支持所有支持的 Service Catalog 管理操作。
- UpdateProvisionedProductProperties
-
请求更新指定预配置产品的属性。
预配置产品计划
使用这些操作来管理您的预配置产品计划。计划包括执行计划时要创建或修改的资源列表。
- CreateProvisionedProductPlan
创建计划。
- DescribeProvisionedProductPlan
获取有关计划资源变化的信息。
- ExecuteProvisionedProductPlan
根据计划配置或修改产品。
- ListProvisionedProductPlans
列出预配置产品的计划。
- DeleteProvisionedProductPlan
删除计划。
产品组合
目录管理员使用这些操作为产品组合管理提供所有必要的操作。
- CreatePortfolio
创建产品组合。
- DeletePortfolio
删除投资组合。
- DescribePortfolio
获取有关投资组合的详细信息。
- DescribePortfolioShares
返回为指定投资组合创建的每份投资组合份额的摘要。
- ListPortfolios
列出目录中的所有投资组合。
- ListPortfoliosForProduct
列出与产品关联的所有产品组合。
- UpdatePortfolio
更新投资组合。
- UpdatePortfolioShare
更新投资组合份额。
- CreatePortfolioShare
与 AWS 账户共享投资组合。
- DeletePortfolioShare
停止共享投资组合。
- AcceptPortfolioShare
接受共享投资组合的提议。
- RejectPortfolioShare
拒绝共享投资组合的提议。
- ListAcceptedPortfolioShares
列出该账户接受共享的所有投资组合的详细信息。
- ListPortfolioAccess
列出有权访问投资组合的账户 ID。
校长协会
目录管理员使用这些操作为主体关联提供所有必要的操作。
- AssociatePrincipalWithPortfolio
将委托人 ARN 与投资组合相关联。
- DisassociatePrincipalFromPortfolio
取消本金 ARN 与投资组合的关联。
- ListPrincipalsForPortfolio
列出与投资组合关联的所有委托人 ARN。
产品
目录管理员使用这些操作为产品管理提供所有必要的操作。
- SearchProductsAsAdmin
获取产品的摘要和状态信息。
- DescribeProductAsAdmin
获取有关产品的信息。
- CreateProduct
创建产品。
- CopyProduct
复制产品。
- DescribeCopyProductStatus
获取复制产品操作的状态。
- UpdateProduct
更新产品。
- DeleteProduct
删除产品。
- AssociateProductWithPortfolio
将产品与产品组合相关联。
- DisassociateProductFromPortfolio
取消产品与产品组合的关联。
资源调配工件
目录管理员使用这些操作来管理配置对象(也称为产品版本)。
- DescribeProvisioningArtifact
获取有关置备构件的信息。
- CreateProvisioningArtifact
为产品创建配置对象。
- DeleteProvisioningArtifact
删除置备对象。
- ListProvisioningArtifacts
列出与产品关联的所有配置对象。
- UpdateProvisioningArtifact
更新置备工件。
约束
目录管理员使用这些操作来管理约束。
- CreateConstraint
创建约束。
- DeleteConstraint
删除约束条件。
- DescribeConstraint
获取有关约束条件的信息。
- UpdateConstraint
更新约束条件。
- ListConstraintsForPortfolio
获取产品组合和产品的约束信息。
服务操作
目录管理员使用这些操作来管理服务操作。
- AssociateServiceActionWithProvisioningArtifact
将自助操作与置备对象关联。
- CreateServiceAction
创建自助服务操作。
- DeleteServiceAction
删除自助服务操作。
- DescribeServiceAction
描述自助服务操作。
- DescribeServiceActionExecutionParameters
查找针对特定预配置产品的特定自助操作的默认参数,并将结果映射返回给用户。
- ExecuteProvisionedProductServiceAction
对已配置的产品执行自助操作。
- UpdateServiceAction
更新自助服务操作。
TagOptions
目录管理员使用这些操作进行管理 TagOptions。
- CreateTagOption
创建一个 TagOption.
- ListTagOptions
列出你的 TagOptions.
- DescribeTagOption
描述一个 TagOption.
- UpdateTagOption
更新 a TagOption.
- AssociateTagOptionWithResource
将 TagOption 与资源关联。
- DisassociateTagOptionFromResource
取消与资源的关联。 TagOption
- ListResourcesForTagOption
列出 a 的资源 TagOption。
- DeleteTagOption
删除 a TagOption.
AppRegistry
用作您的应用程序、其资源以及您在企业中使用的应用程序元数据的存储库。
- AssociateAttributeGroup
将属性组与应用程序关联,以使应用程序的元数据与该组的属性相结合。
- AssociateResource
将资源与应用程序关联。
- CreateApplication
创建一个新应用程序,该应用程序是相关云资源抽象层次结构中的顶级节点。
- CreateAttributeGroup
创建一个新的属性组作为用户定义属性的容器。
- DeleteApplication
删除由其应用程序 ID 或名称指定的应用程序。
- DeleteAttributeGroup
删除由其属性组 ID 或名称指定的属性组。
- DisassociateAttributeGroup
取消属性组与应用程序的关联,以从应用程序的元数据中移除该属性组中包含的额外属性。
- DisassociateResource
取消资源与应用程序的关联。
- GetApplication
检索有关您的一个应用程序的元数据信息。
- GetAssociatedResource
获取与应用程序关联的资源。
- GetAttributeGroup
按名称或 ID 检索属性组。
- ListApplications
列出与指定应用程序关联的所有属性组。
- ListAssociatedAttributeGroups
列出与指定应用程序关联的所有属性组。
- ListAssociatedResources
列出与指定应用程序关联的所有资源。
- ListAttributeGroups
列出您有权访问的所有属性组。
- ListAttributeGroupsForApplication
列出与特定应用程序关联的所有属性组的详细信息。
- ListTagsForResource
列出资源上的所有标签。
- TagResource
为指定资源分配一个或多个标签(键值对)。
- SyncResource
将资源与当前录制的内容同步。 AppRegistry
- UntagResource
删除资源的标签。
- UpdateApplication
使用新属性更新现有应用程序。
- UpdateAttributeGroup
使用新的详细信息更新现有属性组。
工作流程示例
在这种情况下,管理员使用 AWS Service Catalog 创建资源,最终用户查找可用产品并配置产品。这是一个示例工作流程;这不是使用 AWS Service Catalog API 的唯一方法。
管理员任务
创建产品组合、产品视图、产品、产品版本和约束条件。
将 IAM 用户分配给产品,这样他们就可以访问了。
最终用户任务
-
用户调用SearchProducts时不带任何参数。这将返回用户有权访问的产品列表,以及可用于确定结果范围的 SearchDomain “”。
-
用户继续使用其他搜索过滤器SearchProducts进行呼叫,直到找到所需的产品。
-
用户打电话DescribeProductView以查找此产品的配置对象(也称为版本)列表。这决定了用户实际提供的内容。
-
用户调用ListLaunchPaths以查找此产品的路径列表以及每条路径的限制。这决定了对预配置产品应用哪组约束。
-
选择配置对象和路径后,用户调用DescribeProvisioningParameters。这将返回用户在使用配置工件和路径配置产品之前必须提供的参数列表,以及管理员决定提供的任何其他使用说明。
-
用户调用 ProvisionProduct,指定产品、配置对象、路径和输入参数。输入参数是键值对的列表,其中密钥是使用获取的 DescribeProvisioningParameters,值由用户提供(例如)。
{ParameterKey:"dbpassword", ParameterValue:"mycoolpassword"}这将启动创建指定 AWS 资源的工作流程。它还会创建用于跟踪置备请求的记录详细信息以及代表底层 AWS 资源的预配置产品对象。 -
用户进行轮询DescribeRecord以查看记录详细信息的状态何时从
IN_PROGRESS状态变为已完成状态(SUCCEEDED或者ERROR)。 -
当请求的记录详细信息处于已完成状态时,用户会DescribeRecord再次调用。输出标识了创建的资源。
-
用户调用UpdateProvisionedProduct以更新现有的底层资源。根据请求的特定更新,此操作可以不间断地更新,但会有一些中断,也可以完全替换预配置的产品。
-
最后,用户调用终TerminateProvisionedProduct止已配置的产品。