products
Creates, updates, deletes, gets or lists a products resource.
Overview
| Name | products |
| Type | Resource |
| Id | aws.servicecatalog.products |
Fields
The following fields are returned by SELECT queries:
- describe_product
| Name | Datatype | Description |
|---|---|---|
budgets | array | Information about the associated budgets. |
launch_paths | array | Information about the associated launch paths. |
product_view_summary | object | Summary information about the product view. |
provisioning_artifacts | array | Information about the provisioning artifacts for the specified product. |
Methods
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
describe_product | select | region | Gets information about the specified product. Running this operation with administrator access results in a failure. DescribeProductAsAdmin should be used instead. | |
create_product | insert | region, Name, Owner, ProductType, IdempotencyToken | 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. | |
provision_product | update | region, ProvisionedProductName, ProvisionToken | 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_product | update | region, Id | Updates the specified product. | |
delete_product | delete | region | 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. | |
search_products | exec | region | Gets 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.
| Name | Datatype | Description |
|---|---|---|
region | string | AWS region (default: us-east-1) |
SELECT examples
- describe_product
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
- create_product
- Manifest
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
;
# Description fields are for documentation purposes
- name: products
props:
- name: region
value: "{{ region }}"
description: Required parameter for the products resource.
- name: AcceptLanguage
value: "{{ AcceptLanguage }}"
description: |
The language code. jp - Japanese zh - Chinese
- name: Name
value: "{{ Name }}"
description: |
The name of the product.
- name: Owner
value: "{{ Owner }}"
description: |
The owner of the product.
- name: Description
value: "{{ Description }}"
description: |
The description of the product.
- name: Distributor
value: "{{ Distributor }}"
description: |
The distributor of the product.
- name: SupportDescription
value: "{{ SupportDescription }}"
description: |
The support information about the product.
- name: SupportEmail
value: "{{ SupportEmail }}"
description: |
The contact email for product support.
- name: SupportUrl
value: "{{ SupportUrl }}"
description: |
The contact URL for product support. ^https?:/// / is the pattern used to validate SupportUrl.
- name: ProductType
value: "{{ ProductType }}"
description: |
The type of product.
valid_values: ['CLOUD_FORMATION_TEMPLATE', 'MARKETPLACE', 'TERRAFORM_OPEN_SOURCE', 'TERRAFORM_CLOUD', 'EXTERNAL']
- name: Tags
description: |
One or more tags.
value:
- Key: "{{ Key }}"
Value: "{{ Value }}"
- name: ProvisioningArtifactParameters
description: |
The configuration of the provisioning artifact.
value:
Name: "{{ Name }}"
Description: "{{ Description }}"
Info: "{{ Info }}"
Type: "{{ Type }}"
DisableTemplateValidation: {{ DisableTemplateValidation }}
- name: IdempotencyToken
value: "{{ IdempotencyToken }}"
description: |
A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, the same response is returned for each repeated request.
- name: SourceConnection
description: |
Specifies connection details for the created product and syncs the product to the connection source artifact. This automatically manages the product's artifacts based on changes to the source. The SourceConnection parameter consists of the following sub-fields. Type ConnectionParamters
value:
Type: "{{ Type }}"
ConnectionParameters:
CodeStar:
ConnectionArn: "{{ ConnectionArn }}"
Repository: "{{ Repository }}"
Branch: "{{ Branch }}"
ArtifactPath: "{{ ArtifactPath }}"
UPDATE examples
- provision_product
- update_product
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;
Updates the specified product.
UPDATE aws.servicecatalog.products
SET
AcceptLanguage = '{{ AcceptLanguage }}',
Id = '{{ Id }}',
Name = '{{ Name }}',
Owner = '{{ Owner }}',
Description = '{{ Description }}',
Distributor = '{{ Distributor }}',
SupportDescription = '{{ SupportDescription }}',
SupportEmail = '{{ SupportEmail }}',
SupportUrl = '{{ SupportUrl }}',
AddTags = '{{ AddTags }}',
RemoveTags = '{{ RemoveTags }}',
SourceConnection = '{{ SourceConnection }}'
WHERE
region = '{{ region }}' --required
AND Id = '{{ Id }}' --required
RETURNING
product_view_detail,
tags;
DELETE examples
- delete_product
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
- search_products
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 }}"
}'
;