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