xref: /aosp_15_r20/external/googleapis/google/cloud/apphub/v1/attributes.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
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