Product Listing#

Product listings define a marketing page in the Ecosystem Catalog. It allows you to group repos and showcase what they accomplish together as an application. In the case of operators, your CSV file populates OperatorHub, which can only be viewed in cluster through OpenShift. Your product listing is publicly visible in the Ecosystem Catalog so anyone can know that it is offered.

category | String

String parameters

enum software | hardware

cert_projects | UniqueList[ObjectID]

List of unique identifiers for the certification project.

contacts | List[ContactsItems]

List parameters

min_items | 1 max_items | 10

List of contacts for the product listing. This field is required when the product listing is published.

descriptions | Descriptions

This field is required when the product listing is published.

drupal_company_id | Integer read-only

Company node ID from Red Hat Connect. Read only.

faqs | List[FAQSItems] nullable

FAQ section for the catalog page.

features | List[FeaturesItems] nullable

List parameters

max_items | 6

Features section for the catalog page.

focus_product | Boolean read-only

Indicates if the listing is eligible to be featured in Catalog.

functional_categories | List[String]

List parameters

min_items | 1 max_items | 3 enum: AI & machine learning | Analytics | Blog & CMS | Blockchain | Business software | Compute | Data storage | Developer stacks | Developer tools | DevOps | IT & management tools | Mobile | Monitoring | Networking | Orchestrators | OS & platforms | Security | Other

This field is required when the product listing is published.

helm_chart | ProductListingHelmChart read-only

Information related to helm chart product listing.

legal | Legal

linked_resources | List[LinkedResourcesItems]

List parameters

min_items | 3 max_items | 8

This field is required when the product listing is published.

logo | Logo

name | String

String parameters

min_length | 1 max_length | 100

This field is required when the product listing is published.

published | Boolean

This field is required when the product listing is published.

deleted | Boolean

Flag determining if product listing is considered to be deleted. Product listing can be deleted only if it is not published. Value is set to False by default.

quick_start_configuration | QuickStartConfiguration

repositories | UniqueList[ObjectID]

List of unique identifiers for the repository.

search_aliases | List[SearchAliasesItems]

List parameters

max_items | 5

List of search aliases for Solr.

support | Support

This field is required when the product listing is published.

target_platforms | List[String] read-only

List parameters

enum: Red Hat Enterprise Linux | Red Hat OpenShift | Red Hat OpenStack Platform | None

List of target platforms for the product listing.

type | String

String parameters

enum container stack | traditional application | openstack infrastructure

This field is required when the product listing is published.

vendor_label | String read-only

operator_bundles | List[OperatorBundlesItems] read-only

certification_badges | List[String] nullableread-only

List parameters

max_items | 1 enum: cni | csi | cnf | vnf

Special certifications specific to the certification platform. The value is given by attached certification projects which are published.

certification_badges_all | List[String] nullableread-only

List parameters

max_items | 1 enum: cni | csi | cnf | vnf

Special certifications specific to the certification platform. The value is given by all attached certification projects with any certification_level.

certification_level | String nullableread-only

String parameters

enum Red Hat | Certified | Vendor validated | Vendor validated and certified

The product listing content can be certified on several levels. This field determines whether the content was certified by Red Hat itself, by an ISV partner who followed official Red Hat certification, or by vendor validation.

industries | UniqueList[String] nullableread-only

UniqueList parameters

enum: Telecommunications | Automotive | Construction | Education | Energy | Financial services | Government | Healthcare | Hospitality | IT consulting & services | Logistics & transportation | Manufacturing | Media & entertainment | Retail | Technology | Utilities

List of industries to which the product listing belongs.

deployed_as | UniqueList[String] nullableread-only

UniqueList parameters

enum: Helm chart | Operator

Determine a way how a product is deployed, based only on published projects.

deployed_as_all | UniqueList[String] nullableread-only

UniqueList parameters

enum: Helm chart | Operator

Determine a way how a product is deployed, based on all projects with any certification_status.

org_id | Integer nullableread-only

Red Hat Org ID / account_id from Red Hat SSO. Also corresponds to company_org_id in Red Hat Connect.

_id | ObjectID read-only

MongoDB unique _id

creation_date | DateTime read-only

The date when the entry was created. Value is created automatically on creation.

last_update_date | DateTime read-only

The date when the entry was last updated.

vendor | RESTGetVendorByOrgId

URI to the vendor of the product listing.

productListing_org_id_deleted

Fields
  • org_id: ASC

  • deleted: ASC

Description
This index is used to find product listings by org id and deleted flag.

productListing_cert_projects

Fields
  • cert_projects: ASC

Description
This index is used to find product listings by attached certification projects.

productListing_team_id

Fields
  • team_id: ASC

Description
This index is used to find product listings by team id.

productListing_name

Fields
  • name: ASC

Description
This index is used to find product listings by its name.

productListing_vendor_label

Fields
  • vendor_label: ASC

Description
This index is used to find product listings by its vendor label.

edges.vendor | Container Vendor

Vendor associated with the product listing.

Example queries
{
    find_vendor_product_listings_by_org_id(org_id: 42, sort_by: [{ field: "creation_date", order: DESC }], page: 0, page_size: 50) {
        error {
            detail
            status
        }
        total # omit for better performance
        page_size
        page
        data {
            _id
            edges {
                vendor {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    find_vendor_product_listings_by_label(label: "example", sort_by: [{ field: "creation_date", order: DESC }], page: 0, page_size: 50) {
        error {
            detail
            status
        }
        total # omit for better performance
        page_size
        page
        data {
            _id
            edges {
                vendor {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    find_certification_projects_product_listings(id: "6304c560cbb2b2d2d4053b8e", sort_by: [{ field: "creation_date", order: DESC }], page: 0, page_size: 50) {
        error {
            detail
            status
        }
        total # omit for better performance
        page_size
        page
        data {
            _id
            edges {
                vendor {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    find_product_listings(sort_by: [{ field: "creation_date", order: DESC }], page: 0, page_size: 50) {
        error {
            detail
            status
        }
        total # omit for better performance
        page_size
        page
        data {
            _id
            edges {
                vendor {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    get_product_listing(id: "6304c560cbb2b2d2d4053b8e") {
        error {
            detail
            status
        }
        data {
            _id
            edges {
                vendor {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    find_repository_product_listings(id: "6304c560cbb2b2d2d4053b8e", sort_by: [{ field: "creation_date", order: DESC }], page: 0, page_size: 50) {
        error {
            detail
            status
        }
        total # omit for better performance
        page_size
        page
        data {
            _id
            edges {
                vendor {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    find_repository_product_listings_by_registry_path(registry: "example", repository: "example", sort_by: [{ field: "creation_date", order: DESC }], page: 0, page_size: 50) {
        error {
            detail
            status
        }
        total # omit for better performance
        page_size
        page
        data {
            _id
            edges {
                vendor {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    find_product_listings_by_name_org_id(org_id: 42, sort_by: [{ field: "creation_date", order: DESC }], page: 0, page_size: 50, name: "example") {
        error {
            detail
            status
        }
        total # omit for better performance
        page_size
        page
        data {
            _id
            edges {
                vendor {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}

edges.cert_projects | List[Certification Project]

Certification projects associated with the product listing.

Parent arguments: [‘_id’]

Uses GQL query: find_product_listing_certification_projects

Example queries
{
    find_vendor_product_listings_by_org_id(org_id: 42, sort_by: [{ field: "creation_date", order: DESC }], page: 0, page_size: 50) {
        error {
            detail
            status
        }
        total # omit for better performance
        page_size
        page
        data {
            _id
            edges {
                cert_projects {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    find_vendor_product_listings_by_label(label: "example", sort_by: [{ field: "creation_date", order: DESC }], page: 0, page_size: 50) {
        error {
            detail
            status
        }
        total # omit for better performance
        page_size
        page
        data {
            _id
            edges {
                cert_projects {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    find_certification_projects_product_listings(id: "6304c560cbb2b2d2d4053b8e", sort_by: [{ field: "creation_date", order: DESC }], page: 0, page_size: 50) {
        error {
            detail
            status
        }
        total # omit for better performance
        page_size
        page
        data {
            _id
            edges {
                cert_projects {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    find_product_listings(sort_by: [{ field: "creation_date", order: DESC }], page: 0, page_size: 50) {
        error {
            detail
            status
        }
        total # omit for better performance
        page_size
        page
        data {
            _id
            edges {
                cert_projects {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    get_product_listing(id: "6304c560cbb2b2d2d4053b8e") {
        error {
            detail
            status
        }
        data {
            _id
            edges {
                cert_projects {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    find_repository_product_listings(id: "6304c560cbb2b2d2d4053b8e", sort_by: [{ field: "creation_date", order: DESC }], page: 0, page_size: 50) {
        error {
            detail
            status
        }
        total # omit for better performance
        page_size
        page
        data {
            _id
            edges {
                cert_projects {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    find_repository_product_listings_by_registry_path(registry: "example", repository: "example", sort_by: [{ field: "creation_date", order: DESC }], page: 0, page_size: 50) {
        error {
            detail
            status
        }
        total # omit for better performance
        page_size
        page
        data {
            _id
            edges {
                cert_projects {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    find_product_listings_by_name_org_id(org_id: 42, sort_by: [{ field: "creation_date", order: DESC }], page: 0, page_size: 50, name: "example") {
        error {
            detail
            status
        }
        total # omit for better performance
        page_size
        page
        data {
            _id
            edges {
                cert_projects {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}