1// Copyright 2023 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15syntax = "proto3"; 16 17package google.cloud.channel.v1; 18 19import "google/api/resource.proto"; 20 21option go_package = "cloud.google.com/go/channel/apiv1/channelpb;channelpb"; 22option java_multiple_files = true; 23option java_outer_classname = "ProductsProto"; 24option java_package = "com.google.cloud.channel.v1"; 25 26// Type of media used. 27enum MediaType { 28 // Not used. 29 MEDIA_TYPE_UNSPECIFIED = 0; 30 31 // Type of image. 32 MEDIA_TYPE_IMAGE = 1; 33} 34 35// A Product is the entity a customer uses when placing an order. For example, 36// Google Workspace, Google Voice, etc. 37message Product { 38 option (google.api.resource) = { 39 type: "cloudchannel.googleapis.com/Product" 40 pattern: "products/{product}" 41 }; 42 43 // Resource Name of the Product. 44 // Format: products/{product_id} 45 string name = 1; 46 47 // Marketing information for the product. 48 MarketingInfo marketing_info = 2; 49} 50 51// Represents a product's purchasable Stock Keeping Unit (SKU). 52// SKUs represent the different variations of the product. For example, Google 53// Workspace Business Standard and Google Workspace Business Plus are Google 54// Workspace product SKUs. 55message Sku { 56 option (google.api.resource) = { 57 type: "cloudchannel.googleapis.com/Sku" 58 pattern: "products/{product}/skus/{sku}" 59 }; 60 61 // Resource Name of the SKU. 62 // Format: products/{product_id}/skus/{sku_id} 63 string name = 1; 64 65 // Marketing information for the SKU. 66 MarketingInfo marketing_info = 2; 67 68 // Product the SKU is associated with. 69 Product product = 3; 70} 71 72// Represents the marketing information for a Product, SKU or Offer. 73message MarketingInfo { 74 // Human readable name. 75 string display_name = 1; 76 77 // Human readable description. Description can contain HTML. 78 string description = 2; 79 80 // Default logo. 81 Media default_logo = 3; 82} 83 84// Represents media information. 85message Media { 86 // Title of the media. 87 string title = 1; 88 89 // URL of the media. 90 string content = 2; 91 92 // Type of the media. 93 MediaType type = 3; 94} 95