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.
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
}
}
}
}
}
}