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.video.stitcher.v1; 18 19import "google/api/field_behavior.proto"; 20import "google/api/resource.proto"; 21 22option go_package = "cloud.google.com/go/video/stitcher/apiv1/stitcherpb;stitcherpb"; 23option java_multiple_files = true; 24option java_outer_classname = "CdnKeysProto"; 25option java_package = "com.google.cloud.video.stitcher.v1"; 26 27// Configuration for a CDN key. Used by the Video Stitcher 28// to sign URIs for fetching video manifests and signing 29// media segments for playback. 30message CdnKey { 31 option (google.api.resource) = { 32 type: "videostitcher.googleapis.com/CdnKey" 33 pattern: "projects/{project}/locations/{location}/cdnKeys/{cdn_key}" 34 }; 35 36 // Configuration associated with the CDN key. 37 oneof cdn_key_config { 38 // The configuration for a Google Cloud CDN key. 39 GoogleCdnKey google_cdn_key = 5; 40 41 // The configuration for an Akamai CDN key. 42 AkamaiCdnKey akamai_cdn_key = 6; 43 44 // The configuration for a Media CDN key. 45 MediaCdnKey media_cdn_key = 8; 46 } 47 48 // The resource name of the CDN key, in the form of 49 // `projects/{project}/locations/{location}/cdnKeys/{id}`. 50 // The name is ignored when creating a CDN key. 51 string name = 1; 52 53 // The hostname this key applies to. 54 string hostname = 4; 55} 56 57// Configuration for a Google Cloud CDN key. 58message GoogleCdnKey { 59 // Input only. Secret for this Google Cloud CDN key. 60 bytes private_key = 1 [(google.api.field_behavior) = INPUT_ONLY]; 61 62 // The public name of the Google Cloud CDN key. 63 string key_name = 2; 64} 65 66// Configuration for an Akamai CDN key. 67message AkamaiCdnKey { 68 // Input only. Token key for the Akamai CDN edge configuration. 69 bytes token_key = 1 [(google.api.field_behavior) = INPUT_ONLY]; 70} 71 72// Configuration for a Media CDN key. 73message MediaCdnKey { 74 // Input only. 64-byte ed25519 private key for this Media CDN key. 75 bytes private_key = 1 [(google.api.field_behavior) = INPUT_ONLY]; 76 77 // The keyset name of the Media CDN key. 78 string key_name = 2; 79} 80