xref: /aosp_15_r20/external/googleapis/google/cloud/managedidentities/v1beta1/resource.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1*d5c09012SAndroid Build Coastguard Worker// Copyright 2021 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.managedidentities.v1beta1;
18*d5c09012SAndroid Build Coastguard Worker
19*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto";
20*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto";
21*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto";
22*d5c09012SAndroid Build Coastguard Worker
23*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.ManagedIdentities.V1Beta1";
24*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/managedidentities/apiv1beta1/managedidentitiespb;managedidentitiespb";
25*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
26*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "ResourceProto";
27*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.managedidentities.v1beta1";
28*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\ManagedIdentities\\V1beta1";
29*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::ManagedIdentities::V1beta1";
30*d5c09012SAndroid Build Coastguard Worker
31*d5c09012SAndroid Build Coastguard Worker// Represents a managed Microsoft Active Directory domain.
32*d5c09012SAndroid Build Coastguard Worker// If the domain is being changed, it will be placed into the UPDATING state,
33*d5c09012SAndroid Build Coastguard Worker// which indicates that the resource is being reconciled. At this point, Get
34*d5c09012SAndroid Build Coastguard Worker// will reflect an intermediate state.
35*d5c09012SAndroid Build Coastguard Workermessage Domain {
36*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
37*d5c09012SAndroid Build Coastguard Worker    type: "managedidentities.googleapis.com/Domain"
38*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/domains/{domain}"
39*d5c09012SAndroid Build Coastguard Worker  };
40*d5c09012SAndroid Build Coastguard Worker
41*d5c09012SAndroid Build Coastguard Worker  // Represents the different states of a managed domain.
42*d5c09012SAndroid Build Coastguard Worker  enum State {
43*d5c09012SAndroid Build Coastguard Worker    // Not set.
44*d5c09012SAndroid Build Coastguard Worker    STATE_UNSPECIFIED = 0;
45*d5c09012SAndroid Build Coastguard Worker
46*d5c09012SAndroid Build Coastguard Worker    // The domain is being created.
47*d5c09012SAndroid Build Coastguard Worker    CREATING = 1;
48*d5c09012SAndroid Build Coastguard Worker
49*d5c09012SAndroid Build Coastguard Worker    // The domain has been created and is fully usable.
50*d5c09012SAndroid Build Coastguard Worker    READY = 2;
51*d5c09012SAndroid Build Coastguard Worker
52*d5c09012SAndroid Build Coastguard Worker    // The domain's configuration is being updated.
53*d5c09012SAndroid Build Coastguard Worker    UPDATING = 3;
54*d5c09012SAndroid Build Coastguard Worker
55*d5c09012SAndroid Build Coastguard Worker    // The domain is being deleted.
56*d5c09012SAndroid Build Coastguard Worker    DELETING = 4;
57*d5c09012SAndroid Build Coastguard Worker
58*d5c09012SAndroid Build Coastguard Worker    // The domain is being repaired and may be unusable. Details
59*d5c09012SAndroid Build Coastguard Worker    // can be found in the `status_message` field.
60*d5c09012SAndroid Build Coastguard Worker    REPAIRING = 5;
61*d5c09012SAndroid Build Coastguard Worker
62*d5c09012SAndroid Build Coastguard Worker    // The domain is undergoing maintenance.
63*d5c09012SAndroid Build Coastguard Worker    PERFORMING_MAINTENANCE = 6;
64*d5c09012SAndroid Build Coastguard Worker
65*d5c09012SAndroid Build Coastguard Worker    // The domain is not serving requests.
66*d5c09012SAndroid Build Coastguard Worker    UNAVAILABLE = 7;
67*d5c09012SAndroid Build Coastguard Worker  }
68*d5c09012SAndroid Build Coastguard Worker
69*d5c09012SAndroid Build Coastguard Worker  // Output only. The unique name of the domain using the form:
70*d5c09012SAndroid Build Coastguard Worker  // `projects/{project_id}/locations/global/domains/{domain_name}`.
71*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
72*d5c09012SAndroid Build Coastguard Worker
73*d5c09012SAndroid Build Coastguard Worker  // Optional. Resource labels that can contain user-provided metadata.
74*d5c09012SAndroid Build Coastguard Worker  map<string, string> labels = 2 [(google.api.field_behavior) = OPTIONAL];
75*d5c09012SAndroid Build Coastguard Worker
76*d5c09012SAndroid Build Coastguard Worker  // Optional. The full names of the Google Compute Engine
77*d5c09012SAndroid Build Coastguard Worker  // [networks](/compute/docs/networks-and-firewalls#networks) the domain
78*d5c09012SAndroid Build Coastguard Worker  // instance is connected to. Networks can be added using UpdateDomain.
79*d5c09012SAndroid Build Coastguard Worker  // The domain is only available on networks listed in `authorized_networks`.
80*d5c09012SAndroid Build Coastguard Worker  // If CIDR subnets overlap between networks, domain creation will fail.
81*d5c09012SAndroid Build Coastguard Worker  repeated string authorized_networks = 3 [(google.api.field_behavior) = OPTIONAL];
82*d5c09012SAndroid Build Coastguard Worker
83*d5c09012SAndroid Build Coastguard Worker  // Required. The CIDR range of internal addresses that are reserved for this
84*d5c09012SAndroid Build Coastguard Worker  // domain. Reserved networks must be /24 or larger. Ranges must be
85*d5c09012SAndroid Build Coastguard Worker  // unique and non-overlapping with existing subnets in
86*d5c09012SAndroid Build Coastguard Worker  // [Domain].[authorized_networks].
87*d5c09012SAndroid Build Coastguard Worker  string reserved_ip_range = 4 [(google.api.field_behavior) = REQUIRED];
88*d5c09012SAndroid Build Coastguard Worker
89*d5c09012SAndroid Build Coastguard Worker  // Required. Locations where domain needs to be provisioned.
90*d5c09012SAndroid Build Coastguard Worker  // [regions][compute/docs/regions-zones/]
91*d5c09012SAndroid Build Coastguard Worker  // e.g. us-west1 or us-east4
92*d5c09012SAndroid Build Coastguard Worker  // Service supports up to 4 locations at once. Each location will use a /26
93*d5c09012SAndroid Build Coastguard Worker  // block.
94*d5c09012SAndroid Build Coastguard Worker  repeated string locations = 5 [(google.api.field_behavior) = REQUIRED];
95*d5c09012SAndroid Build Coastguard Worker
96*d5c09012SAndroid Build Coastguard Worker  // Optional. The name of delegated administrator account used to perform
97*d5c09012SAndroid Build Coastguard Worker  // Active Directory operations. If not specified, `setupadmin` will be used.
98*d5c09012SAndroid Build Coastguard Worker  string admin = 6 [(google.api.field_behavior) = OPTIONAL];
99*d5c09012SAndroid Build Coastguard Worker
100*d5c09012SAndroid Build Coastguard Worker  // Output only. The fully-qualified domain name of the exposed domain used by
101*d5c09012SAndroid Build Coastguard Worker  // clients to connect to the service. Similar to what would be chosen for an
102*d5c09012SAndroid Build Coastguard Worker  // Active Directory set up on an internal network.
103*d5c09012SAndroid Build Coastguard Worker  string fqdn = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
104*d5c09012SAndroid Build Coastguard Worker
105*d5c09012SAndroid Build Coastguard Worker  // Output only. The time the instance was created.
106*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
107*d5c09012SAndroid Build Coastguard Worker
108*d5c09012SAndroid Build Coastguard Worker  // Output only. The last update time.
109*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp update_time = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
110*d5c09012SAndroid Build Coastguard Worker
111*d5c09012SAndroid Build Coastguard Worker  // Output only. The current state of this domain.
112*d5c09012SAndroid Build Coastguard Worker  State state = 13 [(google.api.field_behavior) = OUTPUT_ONLY];
113*d5c09012SAndroid Build Coastguard Worker
114*d5c09012SAndroid Build Coastguard Worker  // Output only. Additional information about the current status of this
115*d5c09012SAndroid Build Coastguard Worker  // domain, if available.
116*d5c09012SAndroid Build Coastguard Worker  string status_message = 14 [(google.api.field_behavior) = OUTPUT_ONLY];
117*d5c09012SAndroid Build Coastguard Worker
118*d5c09012SAndroid Build Coastguard Worker  // Output only. The current trusts associated with the domain.
119*d5c09012SAndroid Build Coastguard Worker  repeated Trust trusts = 15 [(google.api.field_behavior) = OUTPUT_ONLY];
120*d5c09012SAndroid Build Coastguard Worker}
121*d5c09012SAndroid Build Coastguard Worker
122*d5c09012SAndroid Build Coastguard Worker// Represents a relationship between two domains. This allows a controller in
123*d5c09012SAndroid Build Coastguard Worker// one domain to authenticate a user in another domain.
124*d5c09012SAndroid Build Coastguard Workermessage Trust {
125*d5c09012SAndroid Build Coastguard Worker  // Represents the different states of a domain trust.
126*d5c09012SAndroid Build Coastguard Worker  enum State {
127*d5c09012SAndroid Build Coastguard Worker    // Not set.
128*d5c09012SAndroid Build Coastguard Worker    STATE_UNSPECIFIED = 0;
129*d5c09012SAndroid Build Coastguard Worker
130*d5c09012SAndroid Build Coastguard Worker    // The domain trust is being created.
131*d5c09012SAndroid Build Coastguard Worker    CREATING = 1;
132*d5c09012SAndroid Build Coastguard Worker
133*d5c09012SAndroid Build Coastguard Worker    // The domain trust is being updated.
134*d5c09012SAndroid Build Coastguard Worker    UPDATING = 2;
135*d5c09012SAndroid Build Coastguard Worker
136*d5c09012SAndroid Build Coastguard Worker    // The domain trust is being deleted.
137*d5c09012SAndroid Build Coastguard Worker    DELETING = 3;
138*d5c09012SAndroid Build Coastguard Worker
139*d5c09012SAndroid Build Coastguard Worker    // The domain trust is connected.
140*d5c09012SAndroid Build Coastguard Worker    CONNECTED = 4;
141*d5c09012SAndroid Build Coastguard Worker
142*d5c09012SAndroid Build Coastguard Worker    // The domain trust is disconnected.
143*d5c09012SAndroid Build Coastguard Worker    DISCONNECTED = 5;
144*d5c09012SAndroid Build Coastguard Worker  }
145*d5c09012SAndroid Build Coastguard Worker
146*d5c09012SAndroid Build Coastguard Worker  // Represents the different inter-forest trust types.
147*d5c09012SAndroid Build Coastguard Worker  enum TrustType {
148*d5c09012SAndroid Build Coastguard Worker    // Not set.
149*d5c09012SAndroid Build Coastguard Worker    TRUST_TYPE_UNSPECIFIED = 0;
150*d5c09012SAndroid Build Coastguard Worker
151*d5c09012SAndroid Build Coastguard Worker    // The forest trust.
152*d5c09012SAndroid Build Coastguard Worker    FOREST = 1;
153*d5c09012SAndroid Build Coastguard Worker
154*d5c09012SAndroid Build Coastguard Worker    // The external domain trust.
155*d5c09012SAndroid Build Coastguard Worker    EXTERNAL = 2;
156*d5c09012SAndroid Build Coastguard Worker  }
157*d5c09012SAndroid Build Coastguard Worker
158*d5c09012SAndroid Build Coastguard Worker  // Represents the direction of trust.
159*d5c09012SAndroid Build Coastguard Worker  // See
160*d5c09012SAndroid Build Coastguard Worker  // [System.DirectoryServices.ActiveDirectory.TrustDirection](https://docs.microsoft.com/en-us/dotnet/api/system.directoryservices.activedirectory.trustdirection?view=netframework-4.7.2)
161*d5c09012SAndroid Build Coastguard Worker  // for more information.
162*d5c09012SAndroid Build Coastguard Worker  enum TrustDirection {
163*d5c09012SAndroid Build Coastguard Worker    // Not set.
164*d5c09012SAndroid Build Coastguard Worker    TRUST_DIRECTION_UNSPECIFIED = 0;
165*d5c09012SAndroid Build Coastguard Worker
166*d5c09012SAndroid Build Coastguard Worker    // The inbound direction represents the trusting side.
167*d5c09012SAndroid Build Coastguard Worker    INBOUND = 1;
168*d5c09012SAndroid Build Coastguard Worker
169*d5c09012SAndroid Build Coastguard Worker    // The outboud direction represents the trusted side.
170*d5c09012SAndroid Build Coastguard Worker    OUTBOUND = 2;
171*d5c09012SAndroid Build Coastguard Worker
172*d5c09012SAndroid Build Coastguard Worker    // The bidirectional direction represents the trusted / trusting side.
173*d5c09012SAndroid Build Coastguard Worker    BIDIRECTIONAL = 3;
174*d5c09012SAndroid Build Coastguard Worker  }
175*d5c09012SAndroid Build Coastguard Worker
176*d5c09012SAndroid Build Coastguard Worker  // The fully qualified target domain name which will be in trust with the
177*d5c09012SAndroid Build Coastguard Worker  // current domain.
178*d5c09012SAndroid Build Coastguard Worker  string target_domain_name = 1;
179*d5c09012SAndroid Build Coastguard Worker
180*d5c09012SAndroid Build Coastguard Worker  // The type of trust represented by the trust resource.
181*d5c09012SAndroid Build Coastguard Worker  TrustType trust_type = 2;
182*d5c09012SAndroid Build Coastguard Worker
183*d5c09012SAndroid Build Coastguard Worker  // The trust direction, which decides if the current domain is trusted,
184*d5c09012SAndroid Build Coastguard Worker  // trusting, or both.
185*d5c09012SAndroid Build Coastguard Worker  TrustDirection trust_direction = 3;
186*d5c09012SAndroid Build Coastguard Worker
187*d5c09012SAndroid Build Coastguard Worker  // The trust authentication type, which decides whether the trusted side has
188*d5c09012SAndroid Build Coastguard Worker  // forest/domain wide access or selective access to an approved set of
189*d5c09012SAndroid Build Coastguard Worker  // resources.
190*d5c09012SAndroid Build Coastguard Worker  bool selective_authentication = 4;
191*d5c09012SAndroid Build Coastguard Worker
192*d5c09012SAndroid Build Coastguard Worker  // The target DNS server IP addresses which can resolve the remote domain
193*d5c09012SAndroid Build Coastguard Worker  // involved in the trust.
194*d5c09012SAndroid Build Coastguard Worker  repeated string target_dns_ip_addresses = 5;
195*d5c09012SAndroid Build Coastguard Worker
196*d5c09012SAndroid Build Coastguard Worker  // Input only. The trust secret used for the handshake
197*d5c09012SAndroid Build Coastguard Worker  // with the target domain. It will not be stored.
198*d5c09012SAndroid Build Coastguard Worker  string trust_handshake_secret = 6 [(google.api.field_behavior) = INPUT_ONLY];
199*d5c09012SAndroid Build Coastguard Worker
200*d5c09012SAndroid Build Coastguard Worker  // Output only. The time the instance was created.
201*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
202*d5c09012SAndroid Build Coastguard Worker
203*d5c09012SAndroid Build Coastguard Worker  // Output only. The last update time.
204*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp update_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
205*d5c09012SAndroid Build Coastguard Worker
206*d5c09012SAndroid Build Coastguard Worker  // Output only. The current state of the trust.
207*d5c09012SAndroid Build Coastguard Worker  State state = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
208*d5c09012SAndroid Build Coastguard Worker
209*d5c09012SAndroid Build Coastguard Worker  // Output only. Additional information about the current state of the
210*d5c09012SAndroid Build Coastguard Worker  // trust, if available.
211*d5c09012SAndroid Build Coastguard Worker  string state_description = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
212*d5c09012SAndroid Build Coastguard Worker
213*d5c09012SAndroid Build Coastguard Worker  // Output only. The last heartbeat time when the trust was known to be
214*d5c09012SAndroid Build Coastguard Worker  // connected.
215*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp last_trust_heartbeat_time = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
216*d5c09012SAndroid Build Coastguard Worker}
217