1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 Google LLC 2*d5c09012SAndroid Build Coastguard Worker// 3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*d5c09012SAndroid Build Coastguard Worker// 7*d5c09012SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*d5c09012SAndroid Build Coastguard Worker// 9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*d5c09012SAndroid Build Coastguard Worker// limitations under the License. 14*d5c09012SAndroid Build Coastguard Worker 15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3"; 16*d5c09012SAndroid Build Coastguard Worker 17*d5c09012SAndroid Build Coastguard Workerpackage google.cloud.apphub.v1; 18*d5c09012SAndroid Build Coastguard Worker 19*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto"; 20*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_info.proto"; 21*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto"; 22*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/apphub/v1/attributes.proto"; 23*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto"; 24*d5c09012SAndroid Build Coastguard Worker 25*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.AppHub.V1"; 26*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/apphub/apiv1/apphubpb;apphubpb"; 27*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 28*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "ServiceProto"; 29*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.apphub.v1"; 30*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\AppHub\\V1"; 31*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::AppHub::V1"; 32*d5c09012SAndroid Build Coastguard Worker 33*d5c09012SAndroid Build Coastguard Worker// Service is an App Hub data model that contains a discovered service, which 34*d5c09012SAndroid Build Coastguard Worker// represents a network/api interface that exposes some functionality to clients 35*d5c09012SAndroid Build Coastguard Worker// for consumption over the network. 36*d5c09012SAndroid Build Coastguard Workermessage Service { 37*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 38*d5c09012SAndroid Build Coastguard Worker type: "apphub.googleapis.com/Service" 39*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/applications/{application}/services/{service}" 40*d5c09012SAndroid Build Coastguard Worker plural: "services" 41*d5c09012SAndroid Build Coastguard Worker singular: "service" 42*d5c09012SAndroid Build Coastguard Worker }; 43*d5c09012SAndroid Build Coastguard Worker 44*d5c09012SAndroid Build Coastguard Worker // Service state. 45*d5c09012SAndroid Build Coastguard Worker enum State { 46*d5c09012SAndroid Build Coastguard Worker // Unspecified state. 47*d5c09012SAndroid Build Coastguard Worker STATE_UNSPECIFIED = 0; 48*d5c09012SAndroid Build Coastguard Worker 49*d5c09012SAndroid Build Coastguard Worker // The service is being created. 50*d5c09012SAndroid Build Coastguard Worker CREATING = 1; 51*d5c09012SAndroid Build Coastguard Worker 52*d5c09012SAndroid Build Coastguard Worker // The service is ready. 53*d5c09012SAndroid Build Coastguard Worker ACTIVE = 2; 54*d5c09012SAndroid Build Coastguard Worker 55*d5c09012SAndroid Build Coastguard Worker // The service is being deleted. 56*d5c09012SAndroid Build Coastguard Worker DELETING = 3; 57*d5c09012SAndroid Build Coastguard Worker 58*d5c09012SAndroid Build Coastguard Worker // The underlying networking resources have been deleted. 59*d5c09012SAndroid Build Coastguard Worker DETACHED = 4; 60*d5c09012SAndroid Build Coastguard Worker } 61*d5c09012SAndroid Build Coastguard Worker 62*d5c09012SAndroid Build Coastguard Worker // Identifier. The resource name of a Service. Format: 63*d5c09012SAndroid Build Coastguard Worker // "projects/{host-project-id}/locations/{location}/applications/{application-id}/services/{service-id}" 64*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = IDENTIFIER]; 65*d5c09012SAndroid Build Coastguard Worker 66*d5c09012SAndroid Build Coastguard Worker // Optional. User-defined name for the Service. 67*d5c09012SAndroid Build Coastguard Worker // Can have a maximum length of 63 characters. 68*d5c09012SAndroid Build Coastguard Worker string display_name = 2 [(google.api.field_behavior) = OPTIONAL]; 69*d5c09012SAndroid Build Coastguard Worker 70*d5c09012SAndroid Build Coastguard Worker // Optional. User-defined description of a Service. 71*d5c09012SAndroid Build Coastguard Worker // Can have a maximum length of 2048 characters. 72*d5c09012SAndroid Build Coastguard Worker string description = 3 [(google.api.field_behavior) = OPTIONAL]; 73*d5c09012SAndroid Build Coastguard Worker 74*d5c09012SAndroid Build Coastguard Worker // Output only. Reference to an underlying networking resource that can 75*d5c09012SAndroid Build Coastguard Worker // comprise a Service. These are immutable. 76*d5c09012SAndroid Build Coastguard Worker ServiceReference service_reference = 4 77*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 78*d5c09012SAndroid Build Coastguard Worker 79*d5c09012SAndroid Build Coastguard Worker // Output only. Properties of an underlying compute resource that can comprise 80*d5c09012SAndroid Build Coastguard Worker // a Service. These are immutable. 81*d5c09012SAndroid Build Coastguard Worker ServiceProperties service_properties = 5 82*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 83*d5c09012SAndroid Build Coastguard Worker 84*d5c09012SAndroid Build Coastguard Worker // Optional. Consumer provided attributes. 85*d5c09012SAndroid Build Coastguard Worker Attributes attributes = 6 [(google.api.field_behavior) = OPTIONAL]; 86*d5c09012SAndroid Build Coastguard Worker 87*d5c09012SAndroid Build Coastguard Worker // Required. Immutable. The resource name of the original discovered service. 88*d5c09012SAndroid Build Coastguard Worker string discovered_service = 7 [ 89*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 90*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = IMMUTABLE, 91*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 92*d5c09012SAndroid Build Coastguard Worker child_type: "apphub.googleapis.com/DiscoveredService" 93*d5c09012SAndroid Build Coastguard Worker } 94*d5c09012SAndroid Build Coastguard Worker ]; 95*d5c09012SAndroid Build Coastguard Worker 96*d5c09012SAndroid Build Coastguard Worker // Output only. Create time. 97*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 8 98*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 99*d5c09012SAndroid Build Coastguard Worker 100*d5c09012SAndroid Build Coastguard Worker // Output only. Update time. 101*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp update_time = 9 102*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 103*d5c09012SAndroid Build Coastguard Worker 104*d5c09012SAndroid Build Coastguard Worker // Output only. A universally unique identifier (UUID) for the `Service` in 105*d5c09012SAndroid Build Coastguard Worker // the UUID4 format. 106*d5c09012SAndroid Build Coastguard Worker string uid = 10 [ 107*d5c09012SAndroid Build Coastguard Worker (google.api.field_info).format = UUID4, 108*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = OUTPUT_ONLY 109*d5c09012SAndroid Build Coastguard Worker ]; 110*d5c09012SAndroid Build Coastguard Worker 111*d5c09012SAndroid Build Coastguard Worker // Output only. Service state. 112*d5c09012SAndroid Build Coastguard Worker State state = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; 113*d5c09012SAndroid Build Coastguard Worker} 114*d5c09012SAndroid Build Coastguard Worker 115*d5c09012SAndroid Build Coastguard Worker// Reference to an underlying networking resource that can comprise a Service. 116*d5c09012SAndroid Build Coastguard Workermessage ServiceReference { 117*d5c09012SAndroid Build Coastguard Worker // Output only. The underlying resource URI (For example, URI of Forwarding 118*d5c09012SAndroid Build Coastguard Worker // Rule, URL Map, and Backend Service). 119*d5c09012SAndroid Build Coastguard Worker string uri = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 120*d5c09012SAndroid Build Coastguard Worker} 121*d5c09012SAndroid Build Coastguard Worker 122*d5c09012SAndroid Build Coastguard Worker// Properties of an underlying cloud resource that can comprise a Service. 123*d5c09012SAndroid Build Coastguard Workermessage ServiceProperties { 124*d5c09012SAndroid Build Coastguard Worker // Output only. The service project identifier that the underlying cloud 125*d5c09012SAndroid Build Coastguard Worker // resource resides in. 126*d5c09012SAndroid Build Coastguard Worker string gcp_project = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 127*d5c09012SAndroid Build Coastguard Worker 128*d5c09012SAndroid Build Coastguard Worker // Output only. The location that the underlying resource resides in, for 129*d5c09012SAndroid Build Coastguard Worker // example, us-west1. 130*d5c09012SAndroid Build Coastguard Worker string location = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; 131*d5c09012SAndroid Build Coastguard Worker 132*d5c09012SAndroid Build Coastguard Worker // Output only. The location that the underlying resource resides in if it is 133*d5c09012SAndroid Build Coastguard Worker // zonal, for example, us-west1-a). 134*d5c09012SAndroid Build Coastguard Worker string zone = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; 135*d5c09012SAndroid Build Coastguard Worker} 136*d5c09012SAndroid Build Coastguard Worker 137*d5c09012SAndroid Build Coastguard Worker// DiscoveredService is a network/api interface that exposes some functionality 138*d5c09012SAndroid Build Coastguard Worker// to clients for consumption over the network. A discovered service can be 139*d5c09012SAndroid Build Coastguard Worker// registered to a App Hub service. 140*d5c09012SAndroid Build Coastguard Workermessage DiscoveredService { 141*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 142*d5c09012SAndroid Build Coastguard Worker type: "apphub.googleapis.com/DiscoveredService" 143*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/discoveredServices/{discovered_service}" 144*d5c09012SAndroid Build Coastguard Worker plural: "discoveredServices" 145*d5c09012SAndroid Build Coastguard Worker singular: "discoveredService" 146*d5c09012SAndroid Build Coastguard Worker }; 147*d5c09012SAndroid Build Coastguard Worker 148*d5c09012SAndroid Build Coastguard Worker // Identifier. The resource name of the discovered service. Format: 149*d5c09012SAndroid Build Coastguard Worker // "projects/{host-project-id}/locations/{location}/discoveredServices/{uuid}"" 150*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = IDENTIFIER]; 151*d5c09012SAndroid Build Coastguard Worker 152*d5c09012SAndroid Build Coastguard Worker // Output only. Reference to an underlying networking resource that can 153*d5c09012SAndroid Build Coastguard Worker // comprise a Service. These are immutable. 154*d5c09012SAndroid Build Coastguard Worker ServiceReference service_reference = 2 155*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 156*d5c09012SAndroid Build Coastguard Worker 157*d5c09012SAndroid Build Coastguard Worker // Output only. Properties of an underlying compute resource that can comprise 158*d5c09012SAndroid Build Coastguard Worker // a Service. These are immutable. 159*d5c09012SAndroid Build Coastguard Worker ServiceProperties service_properties = 3 160*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 161*d5c09012SAndroid Build Coastguard Worker} 162