Service Catalog 範例使用 AWS CLI - AWS Command Line Interface

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Service Catalog 範例使用 AWS CLI

下列程式碼範例說明如何使用 AWS Command Line Interface 與 Service Catalog 搭配使用來執行動作及實作常見案例。

Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會告訴您如何呼叫個別服務函數,但您可以在其相關情境和跨服務範例中查看內容中的動作。

Scenarios (案例) 是向您展示如何呼叫相同服務中的多個函數來完成特定任務的程式碼範例。

每個範例都包含一個連結 GitHub,您可以在其中找到如何在內容中設定和執行程式碼的指示。

主題

動作

下列程式碼範例會示範如何使用accept-portfolio-share

AWS CLI

接受投資組合份額

下列accept-portfolio-share範例會接受由其他使用者提出的要約,以共用指定的產品組合。

aws servicecatalog accept-portfolio-share \ --portfolio-id port-2s6wuabcdefghijk

此命令不會產生輸出。

下列程式碼範例會示範如何使用associate-principal-with-portfolio

AWS CLI

將本金與投資組合聯繫起來

下列associate-principal-with-portfolio範例會將使用者與指定的產品組合相關聯。

aws servicecatalog associate-principal-with-portfolio \ --portfolio-id port-2s6abcdefwdh4 \ --principal-arn arn:aws:iam::123456789012:user/usertest \ --principal-type IAM

此命令不會產生輸出。

下列程式碼範例會示範如何使用associate-product-with-portfolio

AWS CLI

若要建立產品與產品組合的關聯

下面的associate-product-with-portfolio例子關聯給定的產品與指定的投資組合。

aws servicecatalog associate-product-with-portfolio --product-id prod-3p5abcdef3oyk --portfolio-id port-2s6abcdef5wdh4

此命令不會產生輸出。

下列程式碼範例會示範如何使用associate-tag-option-with-resource

AWS CLI

將資源 TagOption 與資源相關聯

下列associate-tag-option-with-resource範例會將指定的 TagOption 與指定的資源產生關聯。

aws servicecatalog associate-tag-option-with-resource \ --resource-id port-2s6abcdq5wdh4 \ --tag-option-id tag-p3abc2pkpz5qc

此命令不會產生輸出。

下列程式碼範例會示範如何使用copy-product

AWS CLI

若要複製產品

下列copy-product範例會使用 JSON 檔案傳遞參數,製作指定產品的複本。

aws servicecatalog copy-product --cli-input-json file://copy-product-input.json

copy-product-input.json 的內容:

{ "SourceProductArn": "arn:aws:catalog:us-west-2:123456789012:product/prod-tcabcd3syn2xy", "TargetProductName": "copy-of-myproduct", "CopyOptions": [ "CopyTags" ] }

輸出:

{ "CopyProductToken": "copyproduct-abc5defgjkdji" }
  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考CopyProduct中的。

下列程式碼範例會示範如何使用create-portfolio-share

AWS CLI

與帳戶分享投資組合

下列create-portfolio-share範例會與指定帳戶共用指定的投資組合。

aws servicecatalog create-portfolio-share \ --portfolio-id port-2s6abcdef5wdh4 \ --account-id 794123456789

此命令不會產生輸出。

下列程式碼範例會示範如何使用create-portfolio

AWS CLI

若要建立學檔

下列create-portfolio範例會建立學檔。

aws servicecatalog create-portfolio \ --provider-name my-provider \ --display-name my-portfolio

輸出:

{ "PortfolioDetail": { "ProviderName": "my-provider", "DisplayName": "my-portfolio", "CreatedTime": 1571337221.555, "ARN": "arn:aws:catalog:us-east-2:123456789012:portfolio/port-2s6xmplq5wdh4", "Id": "port-2s6xmplq5wdh4" } }
  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考CreatePortfolio中的。

下列程式碼範例會示範如何使用create-product

AWS CLI

若要建立產品

下列create-product範例會使用 JSON 檔案傳遞參數來建立產品。

aws servicecatalog create-product \ --cli-input-json file://create-product-input.json

create-product-input.json 的內容:

{ "AcceptLanguage": "en", "Name": "test-product", "Owner": "test-owner", "Description": "test-description", "Distributor": "test-distributor", "SupportDescription": "test-support", "SupportEmail": "test@amazon.com", "SupportUrl": "https://aws.amazon.com", "ProductType": "CLOUD_FORMATION_TEMPLATE", "Tags": [ { "Key": "region", "Value": "us-east-1" } ], "ProvisioningArtifactParameters": { "Name": "test-version-name", "Description": "test-version-description", "Info": { "LoadTemplateFromURL": "https://s3-us-west-1.amazonaws.com/cloudformation-templates-us-west-1/my-cfn-template.template" }, "Type": "CLOUD_FORMATION_TEMPLATE" } }

輸出:

{ "Tags": [ { "Key": "region", "Value": "us-east-1" } ], "ProductViewDetail": { "CreatedTime": 1576025036.0, "ProductARN": "arn:aws:catalog:us-west-2:1234568542028:product/prod-3p5abcdef3oyk", "Status": "CREATED", "ProductViewSummary": { "Type": "CLOUD_FORMATION_TEMPLATE", "Distributor": "test-distributor", "SupportUrl": "https://aws.amazon.com", "SupportEmail": "test@amazon.com", "Id": "prodview-abcd42wvx45um", "SupportDescription": "test-support", "ShortDescription": "test-description", "Owner": "test-owner", "Name": "test-product2", "HasDefaultPath": false, "ProductId": "prod-3p5abcdef3oyk" } }, "ProvisioningArtifactDetail": { "CreatedTime": 1576025036.0, "Active": true, "Id": "pa-pq3p5lil12a34", "Description": "test-version-description", "Name": "test-version-name", "Type": "CLOUD_FORMATION_TEMPLATE" } }
  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考CreateProduct中的。

下列程式碼範例會示範如何使用create-provisioning-artifact

AWS CLI

建立佈建人工因素

下列create-provisioning-artifact範例會使用 JSON 檔案傳遞參數,建立佈建成品。

aws servicecatalog create-provisioning-artifact \ --cli-input-json file://create-provisioning-artifact-input.json

create-provisioning-artifact-input.json 的內容:

{ "ProductId": "prod-nfi2abcdefghi", "Parameters": { "Name": "test-provisioning-artifact", "Description": "test description", "Info": { "LoadTemplateFromURL": "https://s3-us-west-1.amazonaws.com/cloudformation-templates-us-west-1/my-cfn-template.template" }, "Type": "CLOUD_FORMATION_TEMPLATE" } }

輸出:

{ "Info": { "TemplateUrl": "https://s3-us-west-1.amazonaws.com/cloudformation-templates-us-west-1/my-cfn-template.template" }, "Status": "CREATING", "ProvisioningArtifactDetail": { "Id": "pa-bb4abcdefwnaio", "Name": "test-provisioning-artifact", "Description": "test description", "Active": true, "Type": "CLOUD_FORMATION_TEMPLATE", "CreatedTime": 1576022545.0 } }

下列程式碼範例會示範如何使用create-tag-option

AWS CLI

若要建立 TagOption

下列create-tag-option範例會建立一個 TagOption.

aws servicecatalog create-tag-option --key 1234 --value name

輸出:

{ "TagOptionDetail": { "Id": "tag-iabcdn4fzjjms", "Value": "name", "Active": true, "Key": "1234" } }
  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考CreateTagOption中的。

下列程式碼範例會示範如何使用delete-portfolio-share

AWS CLI

停止與帳戶共用投資組合

下列delete-portfolio-share範例會停止與指定帳戶共用投資組合。

aws servicecatalog delete-portfolio-share \ --portfolio-id port-2s6abcdq5wdh4 \ --account-id 123456789012

此命令不會產生輸出。

下列程式碼範例會示範如何使用delete-portfolio

AWS CLI

若要刪除學檔

下列delete-portfolio範例會刪除指定的學檔。

aws servicecatalog delete-portfolio \ --id port-abcdlx4gox4do

此命令不會產生輸出。

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考DeletePortfolio中的。

下列程式碼範例會示範如何使用delete-product

AWS CLI

若要刪除產品

下列delete-product範例會刪除指定的產品。

aws servicecatalog delete-product \ --id prod-abcdcek6yhbxi

此命令不會產生輸出。

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考DeleteProduct中的。

下列程式碼範例會示範如何使用delete-provisioning-artifact

AWS CLI

刪除啟動設定人工因素

下列delete-provisioning-artifact範例會刪除指定的佈建人工因素。

aws servicecatalog delete-provisioning-artifact \ --product-id prod-abc2uebuplcpw \ --provisioning-artifact-id pa-pqabcddii7ouc

此命令不會產生輸出。

下列程式碼範例會示範如何使用delete-tag-option

AWS CLI

若要刪除 TagOption

下列delete-tag-option範例會刪除指定的 TagOption。

aws servicecatalog delete-tag-option \ --id tag-iabcdn4fzjjms

此命令不會產生輸出。

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考DeleteTagOption中的。

下列程式碼範例會示範如何使用describe-copy-product-status

AWS CLI

描述複製產品作業的狀態

下列describe-copy-product-status範例會顯示指定非同步複製產品作業的目前狀態。

aws servicecatalog describe-copy-product-status \ --copy-product-token copyproduct-znn5tf5abcd3w

輸出:

{ "CopyProductStatus": "SUCCEEDED", "TargetProductId": "prod-os6hog7abcdt2" }

下列程式碼範例會示範如何使用describe-portfolio

AWS CLI

描述投資組合

下列describe-portfolio範例會顯示指定學檔的詳細資料。

aws servicecatalog describe-portfolio \ --id port-2s6abcdq5wdh4

輸出:

{ "TagOptions": [], "PortfolioDetail": { "ARN": "arn:aws:catalog:us-west-2:687558541234:portfolio/port-2s6abcdq5wdh4", "Id": "port-2s6wuzyq5wdh4", "CreatedTime": 1571337221.555, "DisplayName": "my-portfolio", "ProviderName": "my-provider" }, "Tags": [] }

下列程式碼範例會示範如何使用describe-product-as-admin

AWS CLI

以管理員身分描述產品

下列describe-product-as-admin範例會使用管理員權限顯示指定產品的詳細資訊。

aws servicecatalog describe-product-as-admin \ --id prod-abcdcek6yhbxi

輸出:

{ "TagOptions": [], "ProductViewDetail": { "ProductARN": "arn:aws:catalog:us-west-2:687558542028:product/prod-abcdcek6yhbxi", "ProductViewSummary": { "SupportEmail": "test@amazon.com", "Type": "CLOUD_FORMATION_TEMPLATE", "Distributor": "test-distributor", "ShortDescription": "test-description", "Owner": "test-owner", "Id": "prodview-wi3l2j4abc6vc", "SupportDescription": "test-support", "ProductId": "prod-abcdcek6yhbxi", "HasDefaultPath": false, "Name": "test-product3", "SupportUrl": "https://aws.amazon.com" }, "CreatedTime": 1577136715.0, "Status": "CREATED" }, "ProvisioningArtifactSummaries": [ { "CreatedTime": 1577136715.0, "Description": "test-version-description", "ProvisioningArtifactMetadata": { "SourceProvisioningArtifactId": "pa-abcdxkkiv5fcm" }, "Name": "test-version-name-3", "Id": "pa-abcdxkkiv5fcm" } ], "Tags": [ { "Value": "iad", "Key": "region" } ] }

下列程式碼範例會示範如何使用describe-provisioned-product

AWS CLI

描述已佈建的產品

下列describe-provisioned-product範例會顯示指定已佈建產品的詳細資訊。

aws servicecatalog describe-provisioned-product \ --id pp-dpom27bm4abcd

輸出:

{ "ProvisionedProductDetail": { "Status": "ERROR", "CreatedTime": 1577222793.358, "Arn": "arn:aws:servicecatalog:us-west-2:123456789012:stack/mytestppname3/pp-dpom27bm4abcd", "Id": "pp-dpom27bm4abcd", "StatusMessage": "AmazonCloudFormationException Parameters: [KeyName] must have values (Service: AmazonCloudFormation; Status Code: 400; Error Code: ValidationError; Request ID: 5528602a-a9ef-427c-825c-f82c31b814f5)", "IdempotencyToken": "527c5358-2a1a-4b9e-b1b9-7293b0ddff42", "LastRecordId": "rec-tfuawdjovzxge", "Type": "CFN_STACK", "Name": "mytestppname3" }, "CloudWatchDashboards": [] }

下列程式碼範例會示範如何使用describe-provisioning-artifact

AWS CLI

說明佈建人工因素

下列describe-provisioning-artifact範例顯示指定啟動設定人工因素的詳細資訊。

aws servicecatalog describe-provisioning-artifact \ --provisioning-artifact-id pa-pcz347abcdcfm \ --product-id prod-abcdfz3syn2rg

輸出:

{ "Info": { "TemplateUrl": "https://awsdocs.s3.amazonaws.com/servicecatalog/myexampledevelopment-environment.template" }, "ProvisioningArtifactDetail": { "Id": "pa-pcz347abcdcfm", "Active": true, "Type": "CLOUD_FORMATION_TEMPLATE", "Description": "updated description", "CreatedTime": 1562097906.0, "Name": "updated name" }, "Status": "AVAILABLE" }

下列程式碼範例會示範如何使用describe-tag-option

AWS CLI

若要描述 TagOption

下列describe-tag-option範例會顯示指定之的詳細資訊 TagOption。

aws servicecatalog describe-tag-option \ --id tag-p3tej2abcd5qc

輸出:

{ "TagOptionDetail": { "Active": true, "Id": "tag-p3tej2abcd5qc", "Value": "value-3", "Key": "1234" } }

下列程式碼範例會示範如何使用disassociate-principal-from-portfolio

AWS CLI

取消本金與投資組合的關聯

下列disassociate-principal-from-portfolio範例會取消指定主體與投資組合的關聯性。

aws servicecatalog disassociate-principal-from-portfolio \ --portfolio-id port-2s6abcdq5wdh4 \ --principal-arn arn:aws:iam::123456789012:group/myendusers

此命令不會產生輸出。

下列程式碼範例會示範如何使用disassociate-product-from-portfolio

AWS CLI

若要取消產品與產品組合的關聯

下列disassociate-product-from-portfolio範例會取消指定產品與產品組合的關聯性。

aws servicecatalog disassociate-product-from-portfolio \ --product-id prod-3p5abcdmu3oyk \ --portfolio-id port-2s6abcdq5wdh4

此命令不會產生輸出。

下列程式碼範例會示範如何使用disassociate-tag-option-from-resource

AWS CLI

取消與資 TagOption 源的關聯

下列disassociate-tag-option-from-resource範例會取消指定與資源TagOption的關聯。

aws servicecatalog disassociate-tag-option-from-resource \ --resource-id port-2s6abcdq5wdh4 \ --tag-option-id tag-p3abc2pkpz5qc

此命令不會產生輸出。

下列程式碼範例會示範如何使用list-accepted-portfolio-shares

AWS CLI

列出接受的投資組合股份

下列list-accepted-portfolio-shares範例會列出此帳戶接受共用的所有產品組合,僅包括預設的 Service Catalog 產品組合。

aws servicecatalog list-accepted-portfolio-shares \ --portfolio-share-type "AWS_SERVICECATALOG"

輸出:

{ "PortfolioDetails": [ { "ARN": "arn:aws:catalog:us-west-2:123456789012:portfolio/port-d2abcd5dpkuma", "Description": "AWS Service Catalog Reference blueprints for often-used AWS services such as EC2, S3, RDS, VPC and EMR.", "CreatedTime": 1574456190.687, "ProviderName": "AWS Service Catalog", "DisplayName": "Reference Architectures", "Id": "port-d2abcd5dpkuma" }, { "ARN": "arn:aws:catalog:us-west-2:123456789012:portfolio/port-abcdefaua7zpu", "Description": "AWS well-architected blueprints for high reliability applications.", "CreatedTime": 1574461496.092, "ProviderName": "AWS Service Catalog", "DisplayName": "High Reliability Architectures", "Id": "port-abcdefaua7zpu" } ] }

下列程式碼範例會示範如何使用list-portfolio-access

AWS CLI

列出具有投資組合存取權的帳戶

下列list-portfolio-access範例會列出可存取指定產品組合的 AWS 帳戶。

aws servicecatalog list-portfolio-access \ --portfolio-id port-2s6abcdq5wdh4

輸出:

{ "AccountIds": [ "123456789012" ] }

下列程式碼範例會示範如何使用list-portfolios-for-product

AWS CLI

若要列出與產品相關聯的產品組合

下列list-portfolios-for-product範例會列出與指定產品相關聯的產品組合。

aws servicecatalog list-portfolios-for-product \ --product-id prod-abcdfz3syn2rg

輸出:

{ "PortfolioDetails": [ { "CreatedTime": 1571337221.555, "Id": "port-2s6abcdq5wdh4", "ARN": "arn:aws:catalog:us-west-2:123456789012:portfolio/port-2s6abcdq5wdh4", "DisplayName": "my-portfolio", "ProviderName": "my-provider" }, { "CreatedTime": 1559665256.348, "Id": "port-5abcd3e5st4ei", "ARN": "arn:aws:catalog:us-west-2:123456789012:portfolio/port-5abcd3e5st4ei", "DisplayName": "test", "ProviderName": "provider-name" } ] }

下列程式碼範例會示範如何使用list-portfolios

AWS CLI

列出投資組合

下列list-portfolios範例會列出目前區域中的 Service Catalog 產品組合。

aws servicecatalog list-portfolios

輸出:

{ "PortfolioDetails": [ { "CreatedTime": 1559665256.348, "ARN": "arn:aws:catalog:us-east-2:123456789012:portfolio/port-5pzcxmplst4ei", "DisplayName": "my-portfolio", "Id": "port-5pzcxmplst4ei", "ProviderName": "my-user" } ] }
  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考ListPortfolios中的。

下列程式碼範例會示範如何使用list-principals-for-portfolio

AWS CLI

若要列出學檔的所有主參與者

下列list-principals-for-portfolio範例會列出指定學檔的所有主參與者。

aws servicecatalog list-principals-for-portfolio \ --portfolio-id port-2s6abcdq5wdh4

輸出:

{ "Principals": [ { "PrincipalARN": "arn:aws:iam::123456789012:user/usertest", "PrincipalType": "IAM" } ] }

下列程式碼範例會示範如何使用list-provisioning-artifacts

AWS CLI

列出產品的所有啟動設定人工因素

下列list-provisioning-artifacts範例會列出指定產品的所有佈建人工因素。

aws servicecatalog list-provisioning-artifacts \ --product-id prod-nfi2abcdefgcpw

輸出:

{ "ProvisioningArtifactDetails": [ { "Id": "pa-abcdef54ipm6z", "Description": "test-version-description", "Type": "CLOUD_FORMATION_TEMPLATE", "CreatedTime": 1576021147.0, "Active": true, "Name": "test-version-name" }, { "Id": "pa-bb4zyxwwnaio", "Description": "test description", "Type": "CLOUD_FORMATION_TEMPLATE", "CreatedTime": 1576022545.0, "Active": true, "Name": "test-provisioning-artifact-2" } ] }

下列程式碼範例會示範如何使用list-resources-for-tag-option

AWS CLI

若要列出與 TagOption

下列list-resources-for-tag-option範例會列出與指定的相關聯的資源TagOption

aws servicecatalog list-resources-for-tag-option \ --tag-option-id tag-p3tej2abcd5qc

輸出:

{ "ResourceDetails": [ { "ARN": "arn:aws:catalog:us-west-2:123456789012:product/prod-abcdfz3syn2rg", "Name": "my product", "Description": "description", "CreatedTime": 1562097906.0, "Id": "prod-abcdfz3syn2rg" } ] }

下列程式碼範例會示範如何使用list-tag-options

AWS CLI

下列list-tag-options範例會列出的所有值TagOptions

aws servicecatalog list-tag-options

輸出:

{ "TagOptionDetails": [ { "Value": "newvalue", "Active": true, "Id": "tag-iabcdn4fzjjms", "Key": "1234" }, { "Value": "value1", "Active": true, "Id": "tag-e3abcdvmwvrzy", "Key": "key" } ] }
  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考ListTagOptions中的。

下列程式碼範例會示範如何使用provision-product

AWS CLI

若要佈建產品

下列provision-product範例會使用指定的佈建人工因素佈建指定的產品。

aws servicecatalog provision-product \ --product-id prod-abcdfz3syn2rg \ --provisioning-artifact-id pa-abc347pcsccfm \ --provisioned-product-name "mytestppname3"

輸出:

{ "RecordDetail": { "RecordId": "rec-tfuawdabcdege", "CreatedTime": 1577222793.362, "ProvisionedProductId": "pp-abcd27bm4mldq", "PathId": "lpv2-abcdg3jp6t5k6", "RecordErrors": [], "ProductId": "prod-abcdfz3syn2rg", "UpdatedTime": 1577222793.362, "RecordType": "PROVISION_PRODUCT", "ProvisionedProductName": "mytestppname3", "ProvisioningArtifactId": "pa-pcz347abcdcfm", "RecordTags": [], "Status": "CREATED", "ProvisionedProductType": "CFN_STACK" } }
  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考ProvisionProduct中的。

下列程式碼範例會示範如何使用reject-portfolio-share

AWS CLI

拒絕投資組合份額

以下reject-portfolio-share示例拒絕給定投資組合的投資組合份額。

aws servicecatalog reject-portfolio-share \ --portfolio-id port-2s6wuabcdefghijk

此命令不會產生輸出。

下列程式碼範例會示範如何使用scan-provisioned-products

AWS CLI

列出所有可用的佈建產品

下列scan-provisioned-products範例會列出可用的已佈建產品。

aws servicecatalog scan-provisioned-products

輸出:

{ "ProvisionedProducts": [ { "Status": "ERROR", "Arn": "arn:aws:servicecatalog:us-west-2:123456789012:stack/mytestppname3/pp-abcd27bm4mldq", "StatusMessage": "AmazonCloudFormationException Parameters: [KeyName] must have values (Service: AmazonCloudFormation; Status Code: 400; Error Code: ValidationError; Request ID: 5528602a-a9ef-427c-825c-f82c31b814f5)", "Id": "pp-abcd27bm4mldq", "Type": "CFN_STACK", "IdempotencyToken": "527c5358-2a1a-4b9e-b1b9-7293b0ddff42", "CreatedTime": 1577222793.358, "Name": "mytestppname3", "LastRecordId": "rec-tfuawdabcdxge" } ] }

下列程式碼範例會示範如何使用search-products-as-admin

AWS CLI

搜尋具有管理員權限的產品

下列search-products-as-admin範例會使用產品組合 ID 做為篩選條件,搜尋具有管理員權限的產品。

aws servicecatalog search-products-as-admin \ --portfolio-id port-5abcd3e5st4ei

輸出:

{ "ProductViewDetails": [ { "ProductViewSummary": { "Name": "my product", "Owner": "owner name", "Type": "CLOUD_FORMATION_TEMPLATE", "ProductId": "prod-abcdfz3syn2rg", "HasDefaultPath": false, "Id": "prodview-abcdmyuzv2dlu", "ShortDescription": "description" }, "ProductARN": "arn:aws:catalog:us-west-2:123456789012:product/prod-abcdfz3syn2rg", "CreatedTime": 1562097906.0, "Status": "CREATED" } ] }

下列程式碼範例會示範如何使用search-provisioned-products

AWS CLI

若要搜尋佈建的產品

下列search-provisioned-products範例會使用 JSON 檔案傳遞參數,搜尋符合指定產品 ID 的已佈建產品。

aws servicecatalog search-provisioned-products \ --cli-input-json file://search-provisioned-products-input.json

search-provisioned-products-input.json 的內容:

{ "Filters": { "SearchQuery": [ "prod-tcjvfz3syn2rg" ] } }

輸出:

{ "ProvisionedProducts": [ { "ProvisioningArtifactId": "pa-pcz347abcdcfm", "Name": "mytestppname3", "CreatedTime": 1577222793.358, "Id": "pp-abcd27bm4mldq", "Status": "ERROR", "UserArn": "arn:aws:iam::123456789012:user/cliuser", "StatusMessage": "AmazonCloudFormationException Parameters: [KeyName] must have values (Service: AmazonCloudFormation; Status Code: 400; Error Code: ValidationError; Request ID: 5528602a-a9ef-427c-825c-f82c31b814f5)", "Arn": "arn:aws:servicecatalog:us-west-2:123456789012:stack/mytestppname3/pp-abcd27bm4mldq", "Tags": [ { "Value": "arn:aws:catalog:us-west-2:123456789012:product/prod-abcdfz3syn2rg", "Key": "aws:servicecatalog:productArn" }, { "Value": "arn:aws:iam::123456789012:user/cliuser", "Key": "aws:servicecatalog:provisioningPrincipalArn" }, { "Value": "value-3", "Key": "1234" }, { "Value": "pa-pcz347abcdcfm", "Key": "aws:servicecatalog:provisioningArtifactIdentifier" }, { "Value": "arn:aws:catalog:us-west-2:123456789012:portfolio/port-2s6abcdq5wdh4", "Key": "aws:servicecatalog:portfolioArn" }, { "Value": "arn:aws:servicecatalog:us-west-2:123456789012:stack/mytestppname3/pp-abcd27bm4mldq", "Key": "aws:servicecatalog:provisionedProductArn" } ], "IdempotencyToken": "527c5358-2a1a-4b9e-b1b9-7293b0ddff42", "UserArnSession": "arn:aws:iam::123456789012:user/cliuser", "Type": "CFN_STACK", "LastRecordId": "rec-tfuawdabcdxge", "ProductId": "prod-abcdfz3syn2rg" } ], "TotalResultsCount": 1 }

下列程式碼範例會示範如何使用update-portfolio

AWS CLI

若要更新學檔

下列update-portfolio範例會更新指定學檔的名稱。

aws servicecatalog update-portfolio \ --id port-5abcd3e5st4ei \ --display-name "New portfolio name"

輸出:

{ "PortfolioDetail": { "DisplayName": "New portfolio name", "ProviderName": "provider", "ARN": "arn:aws:catalog:us-west-2:123456789012:portfolio/port-5abcd3e5st4ei", "Id": "port-5abcd3e5st4ei", "CreatedTime": 1559665256.348 }, "Tags": [] }
  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考UpdatePortfolio中的。

下列程式碼範例會示範如何使用update-product

AWS CLI

若要更新產品

下列update-product範例會更新指定產品的名稱和擁有者。

aws servicecatalog update-product \ --id prod-os6abc7drqlt2 \ --name "New product name" \ --owner "Updated product owner"

輸出:

{ "Tags": [ { "Value": "iad", "Key": "region" } ], "ProductViewDetail": { "ProductViewSummary": { "Owner": "Updated product owner", "ProductId": "prod-os6abc7drqlt2", "Distributor": "test-distributor", "SupportUrl": "https://aws.amazon.com", "Name": "New product name", "ShortDescription": "test-description", "HasDefaultPath": false, "Id": "prodview-6abcdgrfhvidy", "SupportDescription": "test-support", "SupportEmail": "test@amazon.com", "Type": "CLOUD_FORMATION_TEMPLATE" }, "Status": "CREATED", "ProductARN": "arn:aws:catalog:us-west-2:123456789012:product/prod-os6abc7drqlt2", "CreatedTime": 1577136255.0 } }
  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考UpdateProduct中的。

下列程式碼範例會示範如何使用update-provisioning-artifact

AWS CLI

更新佈建人工因素

下列update-provisioning-artifact範例會使用 JSON 檔案傳遞參數,更新指定佈建成品的名稱和說明。

aws servicecatalog update-provisioning-artifact \ --cli-input-json file://update-provisioning-artifact-input.json

update-provisioning-artifact-input.json 的內容:

{ "ProductId": "prod-abcdfz3syn2rg", "ProvisioningArtifactId": "pa-pcz347abcdcfm", "Name": "updated name", "Description": "updated description" }

輸出:

{ "Info": { "TemplateUrl": "https://awsdocs.s3.amazonaws.com/servicecatalog/myexampledevelopment-environment.template" }, "Status": "AVAILABLE", "ProvisioningArtifactDetail": { "Active": true, "Description": "updated description", "Id": "pa-pcz347abcdcfm", "Name": "updated name", "Type": "CLOUD_FORMATION_TEMPLATE", "CreatedTime": 1562097906.0 } }

下列程式碼範例會示範如何使用update-tag-option

AWS CLI

若要更新 TagOption

下列update-tag-option範例會使用指定的 TagOption JSON 檔案來更新 a 的值。

aws servicecatalog update-tag-option --cli-input-json file://update-tag-option-input.json

update-tag-option-input.json 的內容:

{ "Id": "tag-iabcdn4fzjjms", "Value": "newvalue", "Active": true }

輸出:

{ "TagOptionDetail": { "Value": "newvalue", "Key": "1234", "Active": true, "Id": "tag-iabcdn4fzjjms" } }
  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考UpdateTagOption中的。