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 Worker 21*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.AppHub.V1"; 22*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/apphub/apiv1/apphubpb;apphubpb"; 23*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 24*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "AttributesProto"; 25*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.apphub.v1"; 26*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\AppHub\\V1"; 27*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::AppHub::V1"; 28*d5c09012SAndroid Build Coastguard Worker 29*d5c09012SAndroid Build Coastguard Worker// Consumer provided attributes. 30*d5c09012SAndroid Build Coastguard Workermessage Attributes { 31*d5c09012SAndroid Build Coastguard Worker // Optional. User-defined criticality information. 32*d5c09012SAndroid Build Coastguard Worker Criticality criticality = 1 [(google.api.field_behavior) = OPTIONAL]; 33*d5c09012SAndroid Build Coastguard Worker 34*d5c09012SAndroid Build Coastguard Worker // Optional. User-defined environment information. 35*d5c09012SAndroid Build Coastguard Worker Environment environment = 2 [(google.api.field_behavior) = OPTIONAL]; 36*d5c09012SAndroid Build Coastguard Worker 37*d5c09012SAndroid Build Coastguard Worker // Optional. Developer team that owns development and coding. 38*d5c09012SAndroid Build Coastguard Worker repeated ContactInfo developer_owners = 3 39*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 40*d5c09012SAndroid Build Coastguard Worker 41*d5c09012SAndroid Build Coastguard Worker // Optional. Operator team that ensures runtime and operations. 42*d5c09012SAndroid Build Coastguard Worker repeated ContactInfo operator_owners = 4 43*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 44*d5c09012SAndroid Build Coastguard Worker 45*d5c09012SAndroid Build Coastguard Worker // Optional. Business team that ensures user needs are met and value is 46*d5c09012SAndroid Build Coastguard Worker // delivered 47*d5c09012SAndroid Build Coastguard Worker repeated ContactInfo business_owners = 5 48*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 49*d5c09012SAndroid Build Coastguard Worker} 50*d5c09012SAndroid Build Coastguard Worker 51*d5c09012SAndroid Build Coastguard Worker// Criticality of the Application, Service, or Workload 52*d5c09012SAndroid Build Coastguard Workermessage Criticality { 53*d5c09012SAndroid Build Coastguard Worker // Criticality Type. 54*d5c09012SAndroid Build Coastguard Worker enum Type { 55*d5c09012SAndroid Build Coastguard Worker // Unspecified type. 56*d5c09012SAndroid Build Coastguard Worker TYPE_UNSPECIFIED = 0; 57*d5c09012SAndroid Build Coastguard Worker 58*d5c09012SAndroid Build Coastguard Worker // Mission critical service, application or workload. 59*d5c09012SAndroid Build Coastguard Worker MISSION_CRITICAL = 1; 60*d5c09012SAndroid Build Coastguard Worker 61*d5c09012SAndroid Build Coastguard Worker // High impact. 62*d5c09012SAndroid Build Coastguard Worker HIGH = 2; 63*d5c09012SAndroid Build Coastguard Worker 64*d5c09012SAndroid Build Coastguard Worker // Medium impact. 65*d5c09012SAndroid Build Coastguard Worker MEDIUM = 3; 66*d5c09012SAndroid Build Coastguard Worker 67*d5c09012SAndroid Build Coastguard Worker // Low impact. 68*d5c09012SAndroid Build Coastguard Worker LOW = 4; 69*d5c09012SAndroid Build Coastguard Worker } 70*d5c09012SAndroid Build Coastguard Worker 71*d5c09012SAndroid Build Coastguard Worker // Required. Criticality Type. 72*d5c09012SAndroid Build Coastguard Worker Type type = 3 [(google.api.field_behavior) = REQUIRED]; 73*d5c09012SAndroid Build Coastguard Worker} 74*d5c09012SAndroid Build Coastguard Worker 75*d5c09012SAndroid Build Coastguard Worker// Environment of the Application, Service, or Workload 76*d5c09012SAndroid Build Coastguard Workermessage Environment { 77*d5c09012SAndroid Build Coastguard Worker // Environment Type. 78*d5c09012SAndroid Build Coastguard Worker enum Type { 79*d5c09012SAndroid Build Coastguard Worker // Unspecified type. 80*d5c09012SAndroid Build Coastguard Worker TYPE_UNSPECIFIED = 0; 81*d5c09012SAndroid Build Coastguard Worker 82*d5c09012SAndroid Build Coastguard Worker // Production environment. 83*d5c09012SAndroid Build Coastguard Worker PRODUCTION = 1; 84*d5c09012SAndroid Build Coastguard Worker 85*d5c09012SAndroid Build Coastguard Worker // Staging environment. 86*d5c09012SAndroid Build Coastguard Worker STAGING = 2; 87*d5c09012SAndroid Build Coastguard Worker 88*d5c09012SAndroid Build Coastguard Worker // Test environment. 89*d5c09012SAndroid Build Coastguard Worker TEST = 3; 90*d5c09012SAndroid Build Coastguard Worker 91*d5c09012SAndroid Build Coastguard Worker // Development environment. 92*d5c09012SAndroid Build Coastguard Worker DEVELOPMENT = 4; 93*d5c09012SAndroid Build Coastguard Worker } 94*d5c09012SAndroid Build Coastguard Worker 95*d5c09012SAndroid Build Coastguard Worker // Required. Environment Type. 96*d5c09012SAndroid Build Coastguard Worker Type type = 2 [(google.api.field_behavior) = REQUIRED]; 97*d5c09012SAndroid Build Coastguard Worker} 98*d5c09012SAndroid Build Coastguard Worker 99*d5c09012SAndroid Build Coastguard Worker// Contact information of stakeholders. 100*d5c09012SAndroid Build Coastguard Workermessage ContactInfo { 101*d5c09012SAndroid Build Coastguard Worker // Optional. Contact's name. 102*d5c09012SAndroid Build Coastguard Worker // Can have a maximum length of 63 characters. 103*d5c09012SAndroid Build Coastguard Worker string display_name = 1 [(google.api.field_behavior) = OPTIONAL]; 104*d5c09012SAndroid Build Coastguard Worker 105*d5c09012SAndroid Build Coastguard Worker // Required. Email address of the contacts. 106*d5c09012SAndroid Build Coastguard Worker string email = 2 [(google.api.field_behavior) = REQUIRED]; 107*d5c09012SAndroid Build Coastguard Worker} 108