steampipe plugin install aws

Table: aws_servicecatalog_product - Query AWS Service Catalog Product using SQL

The AWS Service Catalog Product allows you to create, manage, and distribute catalogs of approved IT services. These services can be anything from virtual machine images, servers, software, and databases to complete multi-tier application architectures. It helps organizations to manage their IT services and resources with a standardized approach and eliminates the need for manual processes.

Table Usage Guide

The aws_servicecatalog_product table in Steampipe provides you with information about products within AWS Service Catalog. This table allows you, as a DevOps engineer, to query product-specific details, including product owner, type, and associated metadata. You can utilize this table to gather insights on products such as their distribution status, launch paths, provisioning artifacts, and more. The schema outlines the various attributes of the AWS Service Catalog Product for you, including the product ARN, creation time, product type, owner, and associated tags.

Examples

Basic info

Explore which AWS Service Catalog products are available, along with their associated identifiers and support details. This can be useful in managing and supporting your organization's AWS resources effectively.

select
name,
id,
product_id,
type,
akas,
support_url,
support_email
from
aws_servicecatalog_product;
select
name,
id,
product_id,
type,
akas,
support_url,
support_email
from
aws_servicecatalog_product;

List products that have a default path

Discover the segments that have a preset path in the AWS Service Catalog. This can be beneficial to assess the elements within your AWS environment that come with predefined settings.

select
name,
id,
product_id,
type,
distributor,
owner,
has_default_path
from
aws_servicecatalog_product
where
has_default_path;
select
name,
id,
product_id,
type,
distributor,
owner,
has_default_path
from
aws_servicecatalog_product
where
has_default_path = 1;

List products that are owned by AWS

Discover the segments that are owned by AWS in the marketplace. This could be useful in gaining insights into the variety of products and their support details provided by AWS in the marketplace.

select
name,
id,
product_id,
type,
support_url,
support_description
from
aws_servicecatalog_product
where
type = 'MARKETPLACE';
select
name,
id,
product_id,
type,
support_url,
support_description
from
aws_servicecatalog_product
where
type = 'MARKETPLACE';

Get budget details of each product

Determine the budget allocation for each product in your AWS Service Catalog. This helps in financial planning and resource management by identifying where your money is being spent.

select
sp.name,
sp.id,
sp.owner,
sp.product_id,
sp.short_description,
b ->> 'BudgetName' as budget_name
from
aws_servicecatalog_product as sp,
jsonb_array_elements(budgets) as b;
select
sp.name,
sp.id,
sp.owner,
sp.product_id,
sp.short_description,
json_extract(b.value, '$.BudgetName') as budget_name
from
aws_servicecatalog_product as sp,
json_each(budgets) as b;

Get launch path details of each product

Identify the launch path details for each product in your AWS Service Catalog. This can help you understand the unique identifiers and names associated with each product's launch path, aiding in efficient product management and organization.

select
name,
id,
owner,
short_description,
l ->> 'Id' as launch_path_id,
l ->> 'Name' as launch_path_name
from
aws_servicecatalog_product,
jsonb_array_elements(launch_paths) as l;
select
sp.name,
sp.id,
sp.owner,
short_description,
json_extract(l.value, '$.Id') as launch_path_id,
json_extract(l.value, '$.Name') as launch_path_name
from
aws_servicecatalog_product as sp,
json_each(aws_servicecatalog_product.launch_paths) as l;

Get provisioning artifact details for each product

This query enables users to gain insights into the details of each provisioning artifact associated with their products on AWS Service Catalog. It is useful for tracking and managing product versions and configurations, which can aid in maintaining standardized environments across an organization.

select
name,
id,
p ->> 'Id' as provisioning_artifact_id,
p ->> 'Name' as provisioning_artifact_name,
p ->> 'CreatedTime' as provisioning_artifact_created_time,
p ->> 'Description' as provisioning_artifact_description,
p ->> 'Guidance' as provisioning_artifact_guidance
from
aws_servicecatalog_product,
jsonb_array_elements(provisioning_artifacts) as p;
select
sp.name,
sp.id,
json_extract(p.value, '$.Id') as provisioning_artifact_id,
json_extract(p.value, '$.Name') as provisioning_artifact_name,
json_extract(p.value, '$.CreatedTime') as provisioning_artifact_created_time,
json_extract(p.value, '$.Description') as provisioning_artifact_description,
json_extract(p.value, '$.Guidance') as provisioning_artifact_guidance
from
aws_servicecatalog_product as sp,
json_each(provisioning_artifacts) as p;

Schema for aws_servicecatalog_product

NameTypeOperatorsDescription
_ctxjsonbSteampipe context in JSON form.
accept_languagetext=The language code.
account_idtext=, !=, ~~, ~~*, !~~, !~~*The AWS Account ID in which the resource is located.
akasjsonbArray of globally unique identifier strings (also known as) for the resource.
budgetsjsonbInformation about the associated budgets.
distributortextThe distributor of the product. Contact the product administrator for the significance of this value.
full_text_searchtext=The full text for the product.
has_default_pathbooleanIndicates whether the product has a default path. If the product does not have a default path, call ListLaunchPaths to disambiguate between paths.
idtextThe product view identifier.
launch_pathsjsonbInformation about the associated launch paths.
nametextThe name of the product.
ownertext=The owner of the product. Contact the product administrator for the significance of this value.
partitiontextThe AWS partition in which the resource is located (aws, aws-cn, or aws-us-gov).
product_idtext=The product identifier.
provisioning_artifactsjsonbInformation about the provisioning artifacts for the specified product.
regiontextThe AWS Region in which the resource is located.
short_descriptiontextShort description of the product.
source_product_idtext=The source product identifier.
sp_connection_nametext=, !=, ~~, ~~*, !~~, !~~*Steampipe connection name.
sp_ctxjsonbSteampipe context in JSON form.
support_descriptiontextThe description of the support for this product.
support_emailtextThe email contact information to obtain support for this product.
support_urltextThe URL information to obtain support for this product.
titletextTitle of the resource.
typetext=The product type. Contact the product administrator for the significance of this value. If this value is MARKETPLACE, the product was created by Amazon Web Services Marketplace.

Export

This table is available as a standalone Exporter CLI. Steampipe exporters are stand-alone binaries that allow you to extract data using Steampipe plugins without a database.

You can download the tarball for your platform from the Releases page, but it is simplest to install them with the steampipe_export_installer.sh script:

/bin/sh -c "$(curl -fsSL https://steampipe.io/install/export.sh)" -- aws

You can pass the configuration to the command with the --config argument:

steampipe_export_aws --config '<your_config>' aws_servicecatalog_product