Skip to main content

products

Creates, updates, deletes, gets or lists a products resource.

Overview

Nameproducts
TypeResource
Idaws.servicecatalog.products

Fields

The following fields are returned by SELECT queries:

NameDatatypeDescription
budgetsarrayInformation about the associated budgets.
launch_pathsarrayInformation about the associated launch paths.
product_view_summaryobjectSummary information about the product view.
provisioning_artifactsarrayInformation about the provisioning artifacts for the specified product.

Methods

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
describe_productselectregionGets information about the specified product. Running this operation with administrator access results in a failure. DescribeProductAsAdmin should be used instead.
create_productinsertregion, Name, Owner, ProductType, IdempotencyTokenCreates a product. A delegated admin is authorized to invoke this command. The user or role that performs this operation must have the cloudformation:GetTemplate IAM policy permission. This policy permission is required when using the ImportFromPhysicalId template source in the information data section.
provision_productupdateregion, ProvisionedProductName, ProvisionTokenProvisions the specified product. A provisioned product is a resourced instance of a product. For example, provisioning a product that's based on an CloudFormation template launches an CloudFormation stack and its underlying resources. You can check the status of this request using DescribeRecord. If the request contains a tag key with an empty list of values, there's a tag conflict for that key. Don't include conflicted keys as tags, or this will cause the error "Parameter validation failed: Missing required parameter in Tags[N]:Value". When provisioning a product that's been added to a portfolio, you must grant your user, group, or role access to the portfolio. For more information, see Granting users access in the Service Catalog User Guide.
update_productupdateregion, IdUpdates the specified product.
delete_productdeleteregionDeletes the specified product. You cannot delete a product if it was shared with you or is associated with a portfolio. A delegated admin is authorized to invoke this command.
search_productsexecregionGets information about the products to which the caller has access.

Parameters

Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.

NameDatatypeDescription
regionstringAWS region (default: us-east-1)

SELECT examples

Gets information about the specified product. Running this operation with administrator access results in a failure. DescribeProductAsAdmin should be used instead.

SELECT
budgets,
launch_paths,
product_view_summary,
provisioning_artifacts
FROM aws.servicecatalog.products
WHERE region = '{{ region }}' -- required
;

INSERT examples

Creates a product. A delegated admin is authorized to invoke this command. The user or role that performs this operation must have the cloudformation:GetTemplate IAM policy permission. This policy permission is required when using the ImportFromPhysicalId template source in the information data section.

INSERT INTO aws.servicecatalog.products (
AcceptLanguage,
Name,
Owner,
Description,
Distributor,
SupportDescription,
SupportEmail,
SupportUrl,
ProductType,
Tags,
ProvisioningArtifactParameters,
IdempotencyToken,
SourceConnection,
region
)
SELECT
'{{ AcceptLanguage }}',
'{{ Name }}' /* required */,
'{{ Owner }}' /* required */,
'{{ Description }}',
'{{ Distributor }}',
'{{ SupportDescription }}',
'{{ SupportEmail }}',
'{{ SupportUrl }}',
'{{ ProductType }}' /* required */,
'{{ Tags }}',
'{{ ProvisioningArtifactParameters }}',
'{{ IdempotencyToken }}' /* required */,
'{{ SourceConnection }}',
'{{ region }}'
RETURNING
product_view_detail,
provisioning_artifact_detail,
tags
;

UPDATE examples

Provisions the specified product. A provisioned product is a resourced instance of a product. For example, provisioning a product that's based on an CloudFormation template launches an CloudFormation stack and its underlying resources. You can check the status of this request using DescribeRecord. If the request contains a tag key with an empty list of values, there's a tag conflict for that key. Don't include conflicted keys as tags, or this will cause the error "Parameter validation failed: Missing required parameter in Tags[N]:Value". When provisioning a product that's been added to a portfolio, you must grant your user, group, or role access to the portfolio. For more information, see Granting users access in the Service Catalog User Guide.

UPDATE aws.servicecatalog.products
SET
AcceptLanguage = '{{ AcceptLanguage }}',
ProductId = '{{ ProductId }}',
ProductName = '{{ ProductName }}',
ProvisioningArtifactId = '{{ ProvisioningArtifactId }}',
ProvisioningArtifactName = '{{ ProvisioningArtifactName }}',
PathId = '{{ PathId }}',
PathName = '{{ PathName }}',
ProvisionedProductName = '{{ ProvisionedProductName }}',
ProvisioningParameters = '{{ ProvisioningParameters }}',
ProvisioningPreferences = '{{ ProvisioningPreferences }}',
Tags = '{{ Tags }}',
NotificationArns = '{{ NotificationArns }}',
ProvisionToken = '{{ ProvisionToken }}'
WHERE
region = '{{ region }}' --required
AND ProvisionedProductName = '{{ ProvisionedProductName }}' --required
AND ProvisionToken = '{{ ProvisionToken }}' --required
RETURNING
record_detail;

DELETE examples

Deletes the specified product. You cannot delete a product if it was shared with you or is associated with a portfolio. A delegated admin is authorized to invoke this command.

DELETE FROM aws.servicecatalog.products
WHERE region = '{{ region }}' --required
;

Lifecycle Methods

Gets information about the products to which the caller has access.

EXEC aws.servicecatalog.products.search_products
@region='{{ region }}' --required
@@json=
'{
"AcceptLanguage": "{{ AcceptLanguage }}",
"Filters": "{{ Filters }}",
"PageSize": {{ PageSize }},
"SortBy": "{{ SortBy }}",
"SortOrder": "{{ SortOrder }}",
"PageToken": "{{ PageToken }}"
}'
;