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