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 = "ApplicationProto"; 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// Application defines the governance boundary for App Hub Entities that 34*d5c09012SAndroid Build Coastguard Worker// perform a logical end-to-end business function. 35*d5c09012SAndroid Build Coastguard Worker// App Hub supports application level IAM permission to align with governance 36*d5c09012SAndroid Build Coastguard Worker// requirements. 37*d5c09012SAndroid Build Coastguard Workermessage Application { 38*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 39*d5c09012SAndroid Build Coastguard Worker type: "apphub.googleapis.com/Application" 40*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/applications/{application}" 41*d5c09012SAndroid Build Coastguard Worker plural: "applications" 42*d5c09012SAndroid Build Coastguard Worker singular: "application" 43*d5c09012SAndroid Build Coastguard Worker }; 44*d5c09012SAndroid Build Coastguard Worker 45*d5c09012SAndroid Build Coastguard Worker // Application state. 46*d5c09012SAndroid Build Coastguard Worker enum State { 47*d5c09012SAndroid Build Coastguard Worker // Unspecified state. 48*d5c09012SAndroid Build Coastguard Worker STATE_UNSPECIFIED = 0; 49*d5c09012SAndroid Build Coastguard Worker 50*d5c09012SAndroid Build Coastguard Worker // The Application is being created. 51*d5c09012SAndroid Build Coastguard Worker CREATING = 1; 52*d5c09012SAndroid Build Coastguard Worker 53*d5c09012SAndroid Build Coastguard Worker // The Application is ready to register Services and Workloads. 54*d5c09012SAndroid Build Coastguard Worker ACTIVE = 2; 55*d5c09012SAndroid Build Coastguard Worker 56*d5c09012SAndroid Build Coastguard Worker // The Application is being deleted. 57*d5c09012SAndroid Build Coastguard Worker DELETING = 3; 58*d5c09012SAndroid Build Coastguard Worker } 59*d5c09012SAndroid Build Coastguard Worker 60*d5c09012SAndroid Build Coastguard Worker // Identifier. The resource name of an Application. Format: 61*d5c09012SAndroid Build Coastguard Worker // "projects/{host-project-id}/locations/{location}/applications/{application-id}" 62*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = IDENTIFIER]; 63*d5c09012SAndroid Build Coastguard Worker 64*d5c09012SAndroid Build Coastguard Worker // Optional. User-defined name for the Application. 65*d5c09012SAndroid Build Coastguard Worker // Can have a maximum length of 63 characters. 66*d5c09012SAndroid Build Coastguard Worker string display_name = 2 [(google.api.field_behavior) = OPTIONAL]; 67*d5c09012SAndroid Build Coastguard Worker 68*d5c09012SAndroid Build Coastguard Worker // Optional. User-defined description of an Application. 69*d5c09012SAndroid Build Coastguard Worker // Can have a maximum length of 2048 characters. 70*d5c09012SAndroid Build Coastguard Worker string description = 3 [(google.api.field_behavior) = OPTIONAL]; 71*d5c09012SAndroid Build Coastguard Worker 72*d5c09012SAndroid Build Coastguard Worker // Optional. Consumer provided attributes. 73*d5c09012SAndroid Build Coastguard Worker Attributes attributes = 4 [(google.api.field_behavior) = OPTIONAL]; 74*d5c09012SAndroid Build Coastguard Worker 75*d5c09012SAndroid Build Coastguard Worker // Output only. Create time. 76*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 5 77*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 78*d5c09012SAndroid Build Coastguard Worker 79*d5c09012SAndroid Build Coastguard Worker // Output only. Update time. 80*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp update_time = 6 81*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 82*d5c09012SAndroid Build Coastguard Worker 83*d5c09012SAndroid Build Coastguard Worker // Required. Immutable. Defines what data can be included into this 84*d5c09012SAndroid Build Coastguard Worker // Application. Limits which Services and Workloads can be registered. 85*d5c09012SAndroid Build Coastguard Worker Scope scope = 9 [ 86*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 87*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = IMMUTABLE 88*d5c09012SAndroid Build Coastguard Worker ]; 89*d5c09012SAndroid Build Coastguard Worker 90*d5c09012SAndroid Build Coastguard Worker // Output only. A universally unique identifier (in UUID4 format) for the 91*d5c09012SAndroid Build Coastguard Worker // `Application`. 92*d5c09012SAndroid Build Coastguard Worker string uid = 10 [ 93*d5c09012SAndroid Build Coastguard Worker (google.api.field_info).format = UUID4, 94*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = OUTPUT_ONLY 95*d5c09012SAndroid Build Coastguard Worker ]; 96*d5c09012SAndroid Build Coastguard Worker 97*d5c09012SAndroid Build Coastguard Worker // Output only. Application state. 98*d5c09012SAndroid Build Coastguard Worker State state = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; 99*d5c09012SAndroid Build Coastguard Worker} 100*d5c09012SAndroid Build Coastguard Worker 101*d5c09012SAndroid Build Coastguard Worker// Scope of an application. 102*d5c09012SAndroid Build Coastguard Workermessage Scope { 103*d5c09012SAndroid Build Coastguard Worker // Scope Type. 104*d5c09012SAndroid Build Coastguard Worker enum Type { 105*d5c09012SAndroid Build Coastguard Worker // Unspecified type. 106*d5c09012SAndroid Build Coastguard Worker TYPE_UNSPECIFIED = 0; 107*d5c09012SAndroid Build Coastguard Worker 108*d5c09012SAndroid Build Coastguard Worker // Regional type. 109*d5c09012SAndroid Build Coastguard Worker REGIONAL = 1; 110*d5c09012SAndroid Build Coastguard Worker } 111*d5c09012SAndroid Build Coastguard Worker 112*d5c09012SAndroid Build Coastguard Worker // Required. Scope Type. 113*d5c09012SAndroid Build Coastguard Worker Type type = 1 [(google.api.field_behavior) = REQUIRED]; 114*d5c09012SAndroid Build Coastguard Worker} 115