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