Product Listing

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/ML | Analytics | App dev | App modernization | Automation | Backup & Recovery | Cloud | Compute | Content management | Data management | Developer tools | DevOps | Edge | Infrastructure | IT & management tools | Migration | Networking | Observability | Orchestration | OS & platforms | Security | Storage | Virtualization

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_history | FieldHistoryBoolean read-only

Tracks history for the published field

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 | 2 enum: cni | csi | cnf | vnf | virt

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 | 2 enum: cni | csi | cnf | vnf | virt

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

certification_badges_exclude | List[String] nullableread-only

List parameters

enum: cni | csi | cnf | vnf | virt

List of badges disabled for given product. This field is taken into account when synchronizing badges from certification projects.

certification_level_history | FieldHistoryString read-only

Tracks history for the certification_level field

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.

last_published_certification_date | DateTime read-only

Reflects the date when the last certification event happened for published product (eg. attached certification project is published, new image is published, helm chart released)

functional_info | PublicProductListingFunctionalInfo

Field resolves PublicProductListingFunctionalInfo in federated schema. It is used to provide information about the product listing functional certification.

product_validations_data | ProductValidationsData nullableread-only

Data about all related approved Red Hat validations.

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
                    }
                }
            }
        }
    }
}
{
    product_listing(id: "6304c560cbb2b2d2d4053b8e") {
        error {
            detail
            status
        }
        data {
            _id
            edges {
                vendor {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    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
                    }
                }
            }
        }
    }
}

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
                    }
                }
            }
        }
    }
}
{
    product_listing(id: "6304c560cbb2b2d2d4053b8e") {
        error {
            detail
            status
        }
        data {
            _id
            edges {
                cert_projects {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    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
                    }
                }
            }
        }
    }
}

edges.product_validations | List[Product Validation]

Product validations associated with the product listing.

Parent arguments: [‘_id’]

Uses GQL query: find_product_validations_by_product_listing_id

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 {
                product_validations {
                    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 {
                product_validations {
                    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 {
                product_validations {
                    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 {
                product_validations {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    get_product_listing(id: "6304c560cbb2b2d2d4053b8e") {
        error {
            detail
            status
        }
        data {
            _id
            edges {
                product_validations {
                    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 {
                product_validations {
                    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 {
                product_validations {
                    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 {
                product_validations {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    product_listing(id: "6304c560cbb2b2d2d4053b8e") {
        error {
            detail
            status
        }
        data {
            _id
            edges {
                product_validations {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    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 {
                product_validations {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}