xref: /aosp_15_r20/external/googleapis/google/cloud/netapp/v1/active_directory.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.netapp.v1;
18
19import "google/api/field_behavior.proto";
20import "google/api/resource.proto";
21import "google/protobuf/field_mask.proto";
22import "google/protobuf/timestamp.proto";
23
24option csharp_namespace = "Google.Cloud.NetApp.V1";
25option go_package = "cloud.google.com/go/netapp/apiv1/netapppb;netapppb";
26option java_multiple_files = true;
27option java_outer_classname = "ActiveDirectoryProto";
28option java_package = "com.google.cloud.netapp.v1";
29option php_namespace = "Google\\Cloud\\NetApp\\V1";
30option ruby_package = "Google::Cloud::NetApp::V1";
31
32// ListActiveDirectoriesRequest for requesting multiple active directories.
33message ListActiveDirectoriesRequest {
34  // Required. Parent value for ListActiveDirectoriesRequest
35  string parent = 1 [
36    (google.api.field_behavior) = REQUIRED,
37    (google.api.resource_reference) = {
38      child_type: "netapp.googleapis.com/ActiveDirectory"
39    }
40  ];
41
42  // Requested page size. Server may return fewer items than requested.
43  // If unspecified, the server will pick an appropriate default.
44  int32 page_size = 2;
45
46  // A token identifying a page of results the server should return.
47  string page_token = 3;
48
49  // Filtering results
50  string filter = 4;
51
52  // Hint for how to order the results
53  string order_by = 5;
54}
55
56// ListActiveDirectoriesResponse contains all the active directories requested.
57message ListActiveDirectoriesResponse {
58  // The list of active directories.
59  repeated ActiveDirectory active_directories = 1;
60
61  // A token identifying a page of results the server should return.
62  string next_page_token = 2;
63
64  // Locations that could not be reached.
65  repeated string unreachable = 3;
66}
67
68// GetActiveDirectory for getting a single active directory.
69message GetActiveDirectoryRequest {
70  // Required. Name of the active directory.
71  string name = 1 [
72    (google.api.field_behavior) = REQUIRED,
73    (google.api.resource_reference) = {
74      type: "netapp.googleapis.com/ActiveDirectory"
75    }
76  ];
77}
78
79// CreateActiveDirectoryRequest for creating an active directory.
80message CreateActiveDirectoryRequest {
81  // Required. Value for parent.
82  string parent = 1 [
83    (google.api.field_behavior) = REQUIRED,
84    (google.api.resource_reference) = {
85      child_type: "netapp.googleapis.com/ActiveDirectory"
86    }
87  ];
88
89  // Required. Fields of the to be created active directory.
90  ActiveDirectory active_directory = 2 [(google.api.field_behavior) = REQUIRED];
91
92  // Required. ID of the active directory to create.
93  string active_directory_id = 3 [(google.api.field_behavior) = REQUIRED];
94}
95
96// UpdateActiveDirectoryRequest for updating an active directory.
97message UpdateActiveDirectoryRequest {
98  // Required. Field mask is used to specify the fields to be overwritten in the
99  // Active Directory resource by the update.
100  // The fields specified in the update_mask are relative to the resource, not
101  // the full request. A field will be overwritten if it is in the mask. If the
102  // user does not provide a mask then all fields will be overwritten.
103  google.protobuf.FieldMask update_mask = 1
104      [(google.api.field_behavior) = REQUIRED];
105
106  // Required. The volume being updated
107  ActiveDirectory active_directory = 2 [(google.api.field_behavior) = REQUIRED];
108}
109
110// DeleteActiveDirectoryRequest for deleting a single active directory.
111message DeleteActiveDirectoryRequest {
112  // Required. Name of the active directory.
113  string name = 1 [
114    (google.api.field_behavior) = REQUIRED,
115    (google.api.resource_reference) = {
116      type: "netapp.googleapis.com/ActiveDirectory"
117    }
118  ];
119}
120
121// ActiveDirectory is the public representation of the active directory config.
122message ActiveDirectory {
123  option (google.api.resource) = {
124    type: "netapp.googleapis.com/ActiveDirectory"
125    pattern: "projects/{project}/locations/{location}/activeDirectories/{active_directory}"
126    plural: "activeDirectories"
127    singular: "activeDirectory"
128  };
129
130  // The Active Directory States
131  enum State {
132    // Unspecified Active Directory State
133    STATE_UNSPECIFIED = 0;
134
135    // Active Directory State is Creating
136    CREATING = 1;
137
138    // Active Directory State is Ready
139    READY = 2;
140
141    // Active Directory State is Updating
142    UPDATING = 3;
143
144    // Active Directory State is In use
145    IN_USE = 4;
146
147    // Active Directory State is Deleting
148    DELETING = 5;
149
150    // Active Directory State is Error
151    ERROR = 6;
152  }
153
154  // Identifier. The resource name of the active directory.
155  // Format:
156  // `projects/{project_number}/locations/{location_id}/activeDirectories/{active_directory_id}`.
157  string name = 1 [(google.api.field_behavior) = IDENTIFIER];
158
159  // Output only. Create time of the active directory.
160  google.protobuf.Timestamp create_time = 2
161      [(google.api.field_behavior) = OUTPUT_ONLY];
162
163  // Output only. The state of the AD.
164  State state = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
165
166  // Required. Name of the Active Directory domain
167  string domain = 4 [(google.api.field_behavior) = REQUIRED];
168
169  // The Active Directory site the service will limit Domain Controller
170  // discovery too.
171  string site = 5;
172
173  // Required. Comma separated list of DNS server IP addresses for the Active
174  // Directory domain.
175  string dns = 6 [(google.api.field_behavior) = REQUIRED];
176
177  // Required. NetBIOSPrefix is used as a prefix for SMB server name.
178  string net_bios_prefix = 7 [(google.api.field_behavior) = REQUIRED];
179
180  // The Organizational Unit (OU) within the Windows Active Directory the user
181  // belongs to.
182  string organizational_unit = 8;
183
184  // If enabled, AES encryption will be enabled for SMB communication.
185  bool aes_encryption = 9;
186
187  // Required. Username of the Active Directory domain administrator.
188  string username = 10 [(google.api.field_behavior) = REQUIRED];
189
190  // Required. Password of the Active Directory domain administrator.
191  string password = 11 [(google.api.field_behavior) = REQUIRED];
192
193  // Optional. Users to be added to the Built-in Backup Operator active
194  // directory group.
195  repeated string backup_operators = 12
196      [(google.api.field_behavior) = OPTIONAL];
197
198  // Optional. Domain users to be given the SeSecurityPrivilege.
199  repeated string security_operators = 13
200      [(google.api.field_behavior) = OPTIONAL];
201
202  // Name of the active directory machine. This optional parameter is used only
203  // while creating kerberos volume
204  string kdc_hostname = 14;
205
206  // KDC server IP address for the active directory machine.
207  string kdc_ip = 15;
208
209  // If enabled, will allow access to local users and LDAP users. If access is
210  // needed for only LDAP users, it has to be disabled.
211  bool nfs_users_with_ldap = 16;
212
213  // Description of the active directory.
214  string description = 17;
215
216  // Specifies whether or not the LDAP traffic needs to be signed.
217  bool ldap_signing = 18;
218
219  // If enabled, traffic between the SMB server to Domain Controller (DC) will
220  // be encrypted.
221  bool encrypt_dc_connections = 19;
222
223  // Labels for the active directory.
224  map<string, string> labels = 20;
225
226  // Output only. The state details of the Active Directory.
227  string state_details = 21 [(google.api.field_behavior) = OUTPUT_ONLY];
228}
229