xref: /aosp_15_r20/external/googleapis/google/cloud/domains/v1/domains.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.domains.v1;
18*d5c09012SAndroid Build Coastguard Worker
19*d5c09012SAndroid Build Coastguard Workerimport "google/api/annotations.proto";
20*d5c09012SAndroid Build Coastguard Workerimport "google/api/client.proto";
21*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto";
22*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto";
23*d5c09012SAndroid Build Coastguard Workerimport "google/longrunning/operations.proto";
24*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/field_mask.proto";
25*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto";
26*d5c09012SAndroid Build Coastguard Workerimport "google/type/money.proto";
27*d5c09012SAndroid Build Coastguard Workerimport "google/type/postal_address.proto";
28*d5c09012SAndroid Build Coastguard Worker
29*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/domains/apiv1/domainspb;domainspb";
30*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
31*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "DomainsProto";
32*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.domains.v1";
33*d5c09012SAndroid Build Coastguard Worker
34*d5c09012SAndroid Build Coastguard Worker// The Cloud Domains API enables management and configuration of domain names.
35*d5c09012SAndroid Build Coastguard Workerservice Domains {
36*d5c09012SAndroid Build Coastguard Worker  option (google.api.default_host) = "domains.googleapis.com";
37*d5c09012SAndroid Build Coastguard Worker  option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
38*d5c09012SAndroid Build Coastguard Worker
39*d5c09012SAndroid Build Coastguard Worker  // Searches for available domain names similar to the provided query.
40*d5c09012SAndroid Build Coastguard Worker  //
41*d5c09012SAndroid Build Coastguard Worker  // Availability results from this method are approximate; call
42*d5c09012SAndroid Build Coastguard Worker  // `RetrieveRegisterParameters` on a domain before registering to confirm
43*d5c09012SAndroid Build Coastguard Worker  // availability.
44*d5c09012SAndroid Build Coastguard Worker  rpc SearchDomains(SearchDomainsRequest) returns (SearchDomainsResponse) {
45*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
46*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{location=projects/*/locations/*}/registrations:searchDomains"
47*d5c09012SAndroid Build Coastguard Worker    };
48*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "location,query";
49*d5c09012SAndroid Build Coastguard Worker  }
50*d5c09012SAndroid Build Coastguard Worker
51*d5c09012SAndroid Build Coastguard Worker  // Gets parameters needed to register a new domain name, including price and
52*d5c09012SAndroid Build Coastguard Worker  // up-to-date availability. Use the returned values to call `RegisterDomain`.
53*d5c09012SAndroid Build Coastguard Worker  rpc RetrieveRegisterParameters(RetrieveRegisterParametersRequest) returns (RetrieveRegisterParametersResponse) {
54*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
55*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{location=projects/*/locations/*}/registrations:retrieveRegisterParameters"
56*d5c09012SAndroid Build Coastguard Worker    };
57*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "location,domain_name";
58*d5c09012SAndroid Build Coastguard Worker  }
59*d5c09012SAndroid Build Coastguard Worker
60*d5c09012SAndroid Build Coastguard Worker  // Registers a new domain name and creates a corresponding `Registration`
61*d5c09012SAndroid Build Coastguard Worker  // resource.
62*d5c09012SAndroid Build Coastguard Worker  //
63*d5c09012SAndroid Build Coastguard Worker  // Call `RetrieveRegisterParameters` first to check availability of the domain
64*d5c09012SAndroid Build Coastguard Worker  // name and determine parameters like price that are needed to build a call to
65*d5c09012SAndroid Build Coastguard Worker  // this method.
66*d5c09012SAndroid Build Coastguard Worker  //
67*d5c09012SAndroid Build Coastguard Worker  // A successful call creates a `Registration` resource in state
68*d5c09012SAndroid Build Coastguard Worker  // `REGISTRATION_PENDING`, which resolves to `ACTIVE` within 1-2
69*d5c09012SAndroid Build Coastguard Worker  // minutes, indicating that the domain was successfully registered. If the
70*d5c09012SAndroid Build Coastguard Worker  // resource ends up in state `REGISTRATION_FAILED`, it indicates that the
71*d5c09012SAndroid Build Coastguard Worker  // domain was not registered successfully, and you can safely delete the
72*d5c09012SAndroid Build Coastguard Worker  // resource and retry registration.
73*d5c09012SAndroid Build Coastguard Worker  rpc RegisterDomain(RegisterDomainRequest) returns (google.longrunning.Operation) {
74*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
75*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{parent=projects/*/locations/*}/registrations:register"
76*d5c09012SAndroid Build Coastguard Worker      body: "*"
77*d5c09012SAndroid Build Coastguard Worker    };
78*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent,registration,yearly_price";
79*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
80*d5c09012SAndroid Build Coastguard Worker      response_type: "Registration"
81*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
82*d5c09012SAndroid Build Coastguard Worker    };
83*d5c09012SAndroid Build Coastguard Worker  }
84*d5c09012SAndroid Build Coastguard Worker
85*d5c09012SAndroid Build Coastguard Worker  // Gets parameters needed to transfer a domain name from another registrar to
86*d5c09012SAndroid Build Coastguard Worker  // Cloud Domains. For domains managed by Google Domains, transferring to Cloud
87*d5c09012SAndroid Build Coastguard Worker  // Domains is not supported.
88*d5c09012SAndroid Build Coastguard Worker  //
89*d5c09012SAndroid Build Coastguard Worker  //
90*d5c09012SAndroid Build Coastguard Worker  // Use the returned values to call `TransferDomain`.
91*d5c09012SAndroid Build Coastguard Worker  rpc RetrieveTransferParameters(RetrieveTransferParametersRequest) returns (RetrieveTransferParametersResponse) {
92*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
93*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{location=projects/*/locations/*}/registrations:retrieveTransferParameters"
94*d5c09012SAndroid Build Coastguard Worker    };
95*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "location,domain_name";
96*d5c09012SAndroid Build Coastguard Worker  }
97*d5c09012SAndroid Build Coastguard Worker
98*d5c09012SAndroid Build Coastguard Worker  // Transfers a domain name from another registrar to Cloud Domains.  For
99*d5c09012SAndroid Build Coastguard Worker  // domains managed by Google Domains, transferring to Cloud Domains is not
100*d5c09012SAndroid Build Coastguard Worker  // supported.
101*d5c09012SAndroid Build Coastguard Worker  //
102*d5c09012SAndroid Build Coastguard Worker  //
103*d5c09012SAndroid Build Coastguard Worker  // Before calling this method, go to the domain's current registrar to unlock
104*d5c09012SAndroid Build Coastguard Worker  // the domain for transfer and retrieve the domain's transfer authorization
105*d5c09012SAndroid Build Coastguard Worker  // code. Then call `RetrieveTransferParameters` to confirm that the domain is
106*d5c09012SAndroid Build Coastguard Worker  // unlocked and to get values needed to build a call to this method.
107*d5c09012SAndroid Build Coastguard Worker  //
108*d5c09012SAndroid Build Coastguard Worker  // A successful call creates a `Registration` resource in state
109*d5c09012SAndroid Build Coastguard Worker  // `TRANSFER_PENDING`. It can take several days to complete the transfer
110*d5c09012SAndroid Build Coastguard Worker  // process. The registrant can often speed up this process by approving the
111*d5c09012SAndroid Build Coastguard Worker  // transfer through the current registrar, either by clicking a link in an
112*d5c09012SAndroid Build Coastguard Worker  // email from the registrar or by visiting the registrar's website.
113*d5c09012SAndroid Build Coastguard Worker  //
114*d5c09012SAndroid Build Coastguard Worker  // A few minutes after transfer approval, the resource transitions to state
115*d5c09012SAndroid Build Coastguard Worker  // `ACTIVE`, indicating that the transfer was successful. If the transfer is
116*d5c09012SAndroid Build Coastguard Worker  // rejected or the request expires without being approved, the resource can
117*d5c09012SAndroid Build Coastguard Worker  // end up in state `TRANSFER_FAILED`. If transfer fails, you can safely delete
118*d5c09012SAndroid Build Coastguard Worker  // the resource and retry the transfer.
119*d5c09012SAndroid Build Coastguard Worker  rpc TransferDomain(TransferDomainRequest) returns (google.longrunning.Operation) {
120*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
121*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{parent=projects/*/locations/*}/registrations:transfer"
122*d5c09012SAndroid Build Coastguard Worker      body: "*"
123*d5c09012SAndroid Build Coastguard Worker    };
124*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent,registration,yearly_price,authorization_code";
125*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
126*d5c09012SAndroid Build Coastguard Worker      response_type: "Registration"
127*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
128*d5c09012SAndroid Build Coastguard Worker    };
129*d5c09012SAndroid Build Coastguard Worker  }
130*d5c09012SAndroid Build Coastguard Worker
131*d5c09012SAndroid Build Coastguard Worker  // Lists the `Registration` resources in a project.
132*d5c09012SAndroid Build Coastguard Worker  rpc ListRegistrations(ListRegistrationsRequest) returns (ListRegistrationsResponse) {
133*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
134*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{parent=projects/*/locations/*}/registrations"
135*d5c09012SAndroid Build Coastguard Worker    };
136*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
137*d5c09012SAndroid Build Coastguard Worker  }
138*d5c09012SAndroid Build Coastguard Worker
139*d5c09012SAndroid Build Coastguard Worker  // Gets the details of a `Registration` resource.
140*d5c09012SAndroid Build Coastguard Worker  rpc GetRegistration(GetRegistrationRequest) returns (Registration) {
141*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
142*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{name=projects/*/locations/*/registrations/*}"
143*d5c09012SAndroid Build Coastguard Worker    };
144*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
145*d5c09012SAndroid Build Coastguard Worker  }
146*d5c09012SAndroid Build Coastguard Worker
147*d5c09012SAndroid Build Coastguard Worker  // Updates select fields of a `Registration` resource, notably `labels`. To
148*d5c09012SAndroid Build Coastguard Worker  // update other fields, use the appropriate custom update method:
149*d5c09012SAndroid Build Coastguard Worker  //
150*d5c09012SAndroid Build Coastguard Worker  // * To update management settings, see `ConfigureManagementSettings`
151*d5c09012SAndroid Build Coastguard Worker  // * To update DNS configuration, see `ConfigureDnsSettings`
152*d5c09012SAndroid Build Coastguard Worker  // * To update contact information, see `ConfigureContactSettings`
153*d5c09012SAndroid Build Coastguard Worker  rpc UpdateRegistration(UpdateRegistrationRequest) returns (google.longrunning.Operation) {
154*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
155*d5c09012SAndroid Build Coastguard Worker      patch: "/v1/{registration.name=projects/*/locations/*/registrations/*}"
156*d5c09012SAndroid Build Coastguard Worker      body: "registration"
157*d5c09012SAndroid Build Coastguard Worker    };
158*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "registration,update_mask";
159*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
160*d5c09012SAndroid Build Coastguard Worker      response_type: "Registration"
161*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
162*d5c09012SAndroid Build Coastguard Worker    };
163*d5c09012SAndroid Build Coastguard Worker  }
164*d5c09012SAndroid Build Coastguard Worker
165*d5c09012SAndroid Build Coastguard Worker  // Updates a `Registration`'s management settings.
166*d5c09012SAndroid Build Coastguard Worker  rpc ConfigureManagementSettings(ConfigureManagementSettingsRequest) returns (google.longrunning.Operation) {
167*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
168*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{registration=projects/*/locations/*/registrations/*}:configureManagementSettings"
169*d5c09012SAndroid Build Coastguard Worker      body: "*"
170*d5c09012SAndroid Build Coastguard Worker    };
171*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "registration,management_settings,update_mask";
172*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
173*d5c09012SAndroid Build Coastguard Worker      response_type: "Registration"
174*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
175*d5c09012SAndroid Build Coastguard Worker    };
176*d5c09012SAndroid Build Coastguard Worker  }
177*d5c09012SAndroid Build Coastguard Worker
178*d5c09012SAndroid Build Coastguard Worker  // Updates a `Registration`'s DNS settings.
179*d5c09012SAndroid Build Coastguard Worker  rpc ConfigureDnsSettings(ConfigureDnsSettingsRequest) returns (google.longrunning.Operation) {
180*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
181*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{registration=projects/*/locations/*/registrations/*}:configureDnsSettings"
182*d5c09012SAndroid Build Coastguard Worker      body: "*"
183*d5c09012SAndroid Build Coastguard Worker    };
184*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "registration,dns_settings,update_mask";
185*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
186*d5c09012SAndroid Build Coastguard Worker      response_type: "Registration"
187*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
188*d5c09012SAndroid Build Coastguard Worker    };
189*d5c09012SAndroid Build Coastguard Worker  }
190*d5c09012SAndroid Build Coastguard Worker
191*d5c09012SAndroid Build Coastguard Worker  // Updates a `Registration`'s contact settings. Some changes require
192*d5c09012SAndroid Build Coastguard Worker  // confirmation by the domain's registrant contact .
193*d5c09012SAndroid Build Coastguard Worker  rpc ConfigureContactSettings(ConfigureContactSettingsRequest) returns (google.longrunning.Operation) {
194*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
195*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{registration=projects/*/locations/*/registrations/*}:configureContactSettings"
196*d5c09012SAndroid Build Coastguard Worker      body: "*"
197*d5c09012SAndroid Build Coastguard Worker    };
198*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "registration,contact_settings,update_mask";
199*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
200*d5c09012SAndroid Build Coastguard Worker      response_type: "Registration"
201*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
202*d5c09012SAndroid Build Coastguard Worker    };
203*d5c09012SAndroid Build Coastguard Worker  }
204*d5c09012SAndroid Build Coastguard Worker
205*d5c09012SAndroid Build Coastguard Worker  // Exports a `Registration` resource, such that it is no longer managed by
206*d5c09012SAndroid Build Coastguard Worker  // Cloud Domains.
207*d5c09012SAndroid Build Coastguard Worker  //
208*d5c09012SAndroid Build Coastguard Worker  // When an active domain is successfully exported, you can continue to use the
209*d5c09012SAndroid Build Coastguard Worker  // domain in [Google Domains](https://domains.google/) until it expires. The
210*d5c09012SAndroid Build Coastguard Worker  // calling user becomes the domain's sole owner in Google Domains, and
211*d5c09012SAndroid Build Coastguard Worker  // permissions for the domain are subsequently managed there. The domain does
212*d5c09012SAndroid Build Coastguard Worker  // not renew automatically unless the new owner sets up billing in Google
213*d5c09012SAndroid Build Coastguard Worker  // Domains.
214*d5c09012SAndroid Build Coastguard Worker  rpc ExportRegistration(ExportRegistrationRequest) returns (google.longrunning.Operation) {
215*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
216*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{name=projects/*/locations/*/registrations/*}:export"
217*d5c09012SAndroid Build Coastguard Worker      body: "*"
218*d5c09012SAndroid Build Coastguard Worker    };
219*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
220*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
221*d5c09012SAndroid Build Coastguard Worker      response_type: "Registration"
222*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
223*d5c09012SAndroid Build Coastguard Worker    };
224*d5c09012SAndroid Build Coastguard Worker  }
225*d5c09012SAndroid Build Coastguard Worker
226*d5c09012SAndroid Build Coastguard Worker  // Deletes a `Registration` resource.
227*d5c09012SAndroid Build Coastguard Worker  //
228*d5c09012SAndroid Build Coastguard Worker  // This method works on any `Registration` resource using [Subscription or
229*d5c09012SAndroid Build Coastguard Worker  // Commitment billing](/domains/pricing#billing-models), provided that the
230*d5c09012SAndroid Build Coastguard Worker  // resource was created at least 1 day in the past.
231*d5c09012SAndroid Build Coastguard Worker  //
232*d5c09012SAndroid Build Coastguard Worker  // For `Registration` resources using
233*d5c09012SAndroid Build Coastguard Worker  // [Monthly billing](/domains/pricing#billing-models), this method works if:
234*d5c09012SAndroid Build Coastguard Worker  //
235*d5c09012SAndroid Build Coastguard Worker  // * `state` is `EXPORTED` with `expire_time` in the past
236*d5c09012SAndroid Build Coastguard Worker  // * `state` is `REGISTRATION_FAILED`
237*d5c09012SAndroid Build Coastguard Worker  // * `state` is `TRANSFER_FAILED`
238*d5c09012SAndroid Build Coastguard Worker  //
239*d5c09012SAndroid Build Coastguard Worker  // When an active registration is successfully deleted, you can continue to
240*d5c09012SAndroid Build Coastguard Worker  // use the domain in [Google Domains](https://domains.google/) until it
241*d5c09012SAndroid Build Coastguard Worker  // expires. The calling user becomes the domain's sole owner in Google
242*d5c09012SAndroid Build Coastguard Worker  // Domains, and permissions for the domain are subsequently managed there. The
243*d5c09012SAndroid Build Coastguard Worker  // domain does not renew automatically unless the new owner sets up billing in
244*d5c09012SAndroid Build Coastguard Worker  // Google Domains.
245*d5c09012SAndroid Build Coastguard Worker  rpc DeleteRegistration(DeleteRegistrationRequest) returns (google.longrunning.Operation) {
246*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
247*d5c09012SAndroid Build Coastguard Worker      delete: "/v1/{name=projects/*/locations/*/registrations/*}"
248*d5c09012SAndroid Build Coastguard Worker    };
249*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
250*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
251*d5c09012SAndroid Build Coastguard Worker      response_type: "google.protobuf.Empty"
252*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
253*d5c09012SAndroid Build Coastguard Worker    };
254*d5c09012SAndroid Build Coastguard Worker  }
255*d5c09012SAndroid Build Coastguard Worker
256*d5c09012SAndroid Build Coastguard Worker  // Gets the authorization code of the `Registration` for the purpose of
257*d5c09012SAndroid Build Coastguard Worker  // transferring the domain to another registrar.
258*d5c09012SAndroid Build Coastguard Worker  //
259*d5c09012SAndroid Build Coastguard Worker  // You can call this method only after 60 days have elapsed since the initial
260*d5c09012SAndroid Build Coastguard Worker  // domain registration.
261*d5c09012SAndroid Build Coastguard Worker  rpc RetrieveAuthorizationCode(RetrieveAuthorizationCodeRequest) returns (AuthorizationCode) {
262*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
263*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{registration=projects/*/locations/*/registrations/*}:retrieveAuthorizationCode"
264*d5c09012SAndroid Build Coastguard Worker    };
265*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "registration";
266*d5c09012SAndroid Build Coastguard Worker  }
267*d5c09012SAndroid Build Coastguard Worker
268*d5c09012SAndroid Build Coastguard Worker  // Resets the authorization code of the `Registration` to a new random string.
269*d5c09012SAndroid Build Coastguard Worker  //
270*d5c09012SAndroid Build Coastguard Worker  // You can call this method only after 60 days have elapsed since the initial
271*d5c09012SAndroid Build Coastguard Worker  // domain registration.
272*d5c09012SAndroid Build Coastguard Worker  rpc ResetAuthorizationCode(ResetAuthorizationCodeRequest) returns (AuthorizationCode) {
273*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
274*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{registration=projects/*/locations/*/registrations/*}:resetAuthorizationCode"
275*d5c09012SAndroid Build Coastguard Worker      body: "*"
276*d5c09012SAndroid Build Coastguard Worker    };
277*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "registration";
278*d5c09012SAndroid Build Coastguard Worker  }
279*d5c09012SAndroid Build Coastguard Worker}
280*d5c09012SAndroid Build Coastguard Worker
281*d5c09012SAndroid Build Coastguard Worker// The `Registration` resource facilitates managing and configuring domain name
282*d5c09012SAndroid Build Coastguard Worker// registrations.
283*d5c09012SAndroid Build Coastguard Worker//
284*d5c09012SAndroid Build Coastguard Worker// There are several ways to create a new `Registration` resource:
285*d5c09012SAndroid Build Coastguard Worker//
286*d5c09012SAndroid Build Coastguard Worker// To create a new `Registration` resource, find a suitable domain name by
287*d5c09012SAndroid Build Coastguard Worker// calling the `SearchDomains` method with a query to see available domain name
288*d5c09012SAndroid Build Coastguard Worker// options. After choosing a name, call `RetrieveRegisterParameters` to
289*d5c09012SAndroid Build Coastguard Worker// ensure availability and obtain information like pricing, which is needed to
290*d5c09012SAndroid Build Coastguard Worker// build a call to `RegisterDomain`.
291*d5c09012SAndroid Build Coastguard Worker//
292*d5c09012SAndroid Build Coastguard Worker// Another way to create a new `Registration` is to transfer an existing
293*d5c09012SAndroid Build Coastguard Worker// domain from another registrar. First, go to the current registrar to unlock
294*d5c09012SAndroid Build Coastguard Worker// the domain for transfer and retrieve the domain's transfer authorization
295*d5c09012SAndroid Build Coastguard Worker// code. Then call `RetrieveTransferParameters` to confirm that the domain is
296*d5c09012SAndroid Build Coastguard Worker// unlocked and to get values needed to build a call to `TransferDomain`.
297*d5c09012SAndroid Build Coastguard Workermessage Registration {
298*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
299*d5c09012SAndroid Build Coastguard Worker    type: "domains.googleapis.com/Registration"
300*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/registrations/{registration}"
301*d5c09012SAndroid Build Coastguard Worker  };
302*d5c09012SAndroid Build Coastguard Worker
303*d5c09012SAndroid Build Coastguard Worker  // Possible states of a `Registration`.
304*d5c09012SAndroid Build Coastguard Worker  enum State {
305*d5c09012SAndroid Build Coastguard Worker    // The state is undefined.
306*d5c09012SAndroid Build Coastguard Worker    STATE_UNSPECIFIED = 0;
307*d5c09012SAndroid Build Coastguard Worker
308*d5c09012SAndroid Build Coastguard Worker    // The domain is being registered.
309*d5c09012SAndroid Build Coastguard Worker    REGISTRATION_PENDING = 1;
310*d5c09012SAndroid Build Coastguard Worker
311*d5c09012SAndroid Build Coastguard Worker    // The domain registration failed. You can delete resources in this state
312*d5c09012SAndroid Build Coastguard Worker    // to allow registration to be retried.
313*d5c09012SAndroid Build Coastguard Worker    REGISTRATION_FAILED = 2;
314*d5c09012SAndroid Build Coastguard Worker
315*d5c09012SAndroid Build Coastguard Worker    // The domain is being transferred from another registrar to Cloud Domains.
316*d5c09012SAndroid Build Coastguard Worker    TRANSFER_PENDING = 3;
317*d5c09012SAndroid Build Coastguard Worker
318*d5c09012SAndroid Build Coastguard Worker    // The attempt to transfer the domain from another registrar to
319*d5c09012SAndroid Build Coastguard Worker    // Cloud Domains failed. You can delete resources in this state and retry
320*d5c09012SAndroid Build Coastguard Worker    // the transfer.
321*d5c09012SAndroid Build Coastguard Worker    TRANSFER_FAILED = 4;
322*d5c09012SAndroid Build Coastguard Worker
323*d5c09012SAndroid Build Coastguard Worker    // The domain is registered and operational. The domain renews automatically
324*d5c09012SAndroid Build Coastguard Worker    // as long as it remains in this state.
325*d5c09012SAndroid Build Coastguard Worker    ACTIVE = 6;
326*d5c09012SAndroid Build Coastguard Worker
327*d5c09012SAndroid Build Coastguard Worker    // The domain is suspended and inoperative. For more details, see the
328*d5c09012SAndroid Build Coastguard Worker    // `issues` field.
329*d5c09012SAndroid Build Coastguard Worker    SUSPENDED = 7;
330*d5c09012SAndroid Build Coastguard Worker
331*d5c09012SAndroid Build Coastguard Worker    // The domain is no longer managed with Cloud Domains. It may have been
332*d5c09012SAndroid Build Coastguard Worker    // transferred to another registrar or exported for management in
333*d5c09012SAndroid Build Coastguard Worker    // [Google Domains](https://domains.google/). You can no longer update it
334*d5c09012SAndroid Build Coastguard Worker    // with this API, and information shown about it may be stale. Domains in
335*d5c09012SAndroid Build Coastguard Worker    // this state are not automatically renewed by Cloud Domains.
336*d5c09012SAndroid Build Coastguard Worker    EXPORTED = 8;
337*d5c09012SAndroid Build Coastguard Worker  }
338*d5c09012SAndroid Build Coastguard Worker
339*d5c09012SAndroid Build Coastguard Worker  // Possible issues with a `Registration` that require attention.
340*d5c09012SAndroid Build Coastguard Worker  enum Issue {
341*d5c09012SAndroid Build Coastguard Worker    // The issue is undefined.
342*d5c09012SAndroid Build Coastguard Worker    ISSUE_UNSPECIFIED = 0;
343*d5c09012SAndroid Build Coastguard Worker
344*d5c09012SAndroid Build Coastguard Worker    // Contact the Cloud Support team to resolve a problem with this domain.
345*d5c09012SAndroid Build Coastguard Worker    CONTACT_SUPPORT = 1;
346*d5c09012SAndroid Build Coastguard Worker
347*d5c09012SAndroid Build Coastguard Worker    // [ICANN](https://icann.org/) requires verification of the email address
348*d5c09012SAndroid Build Coastguard Worker    // in the `Registration`'s `contact_settings.registrant_contact` field. To
349*d5c09012SAndroid Build Coastguard Worker    // verify the email address, follow the
350*d5c09012SAndroid Build Coastguard Worker    // instructions in the email the `registrant_contact` receives following
351*d5c09012SAndroid Build Coastguard Worker    // registration. If you do not complete email verification within
352*d5c09012SAndroid Build Coastguard Worker    // 15 days of registration, the domain is suspended. To resend the
353*d5c09012SAndroid Build Coastguard Worker    // verification email, call ConfigureContactSettings and provide the current
354*d5c09012SAndroid Build Coastguard Worker    // `registrant_contact.email`.
355*d5c09012SAndroid Build Coastguard Worker    UNVERIFIED_EMAIL = 2;
356*d5c09012SAndroid Build Coastguard Worker  }
357*d5c09012SAndroid Build Coastguard Worker
358*d5c09012SAndroid Build Coastguard Worker  // Output only. Name of the `Registration` resource, in the format
359*d5c09012SAndroid Build Coastguard Worker  // `projects/*/locations/*/registrations/<domain_name>`.
360*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
361*d5c09012SAndroid Build Coastguard Worker
362*d5c09012SAndroid Build Coastguard Worker  // Required. Immutable. The domain name. Unicode domain names must be expressed in Punycode format.
363*d5c09012SAndroid Build Coastguard Worker  string domain_name = 2 [
364*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
365*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = IMMUTABLE
366*d5c09012SAndroid Build Coastguard Worker  ];
367*d5c09012SAndroid Build Coastguard Worker
368*d5c09012SAndroid Build Coastguard Worker  // Output only. The creation timestamp of the `Registration` resource.
369*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
370*d5c09012SAndroid Build Coastguard Worker
371*d5c09012SAndroid Build Coastguard Worker  // Output only. The expiration timestamp of the `Registration`.
372*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp expire_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
373*d5c09012SAndroid Build Coastguard Worker
374*d5c09012SAndroid Build Coastguard Worker  // Output only. The state of the `Registration`
375*d5c09012SAndroid Build Coastguard Worker  State state = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
376*d5c09012SAndroid Build Coastguard Worker
377*d5c09012SAndroid Build Coastguard Worker  // Output only. The set of issues with the `Registration` that require attention.
378*d5c09012SAndroid Build Coastguard Worker  repeated Issue issues = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
379*d5c09012SAndroid Build Coastguard Worker
380*d5c09012SAndroid Build Coastguard Worker  // Set of labels associated with the `Registration`.
381*d5c09012SAndroid Build Coastguard Worker  map<string, string> labels = 9;
382*d5c09012SAndroid Build Coastguard Worker
383*d5c09012SAndroid Build Coastguard Worker  // Settings for management of the `Registration`, including renewal, billing,
384*d5c09012SAndroid Build Coastguard Worker  // and transfer. You cannot update these with the `UpdateRegistration`
385*d5c09012SAndroid Build Coastguard Worker  // method. To update these settings, use the `ConfigureManagementSettings`
386*d5c09012SAndroid Build Coastguard Worker  // method.
387*d5c09012SAndroid Build Coastguard Worker  ManagementSettings management_settings = 10;
388*d5c09012SAndroid Build Coastguard Worker
389*d5c09012SAndroid Build Coastguard Worker  // Settings controlling the DNS configuration of the `Registration`. You
390*d5c09012SAndroid Build Coastguard Worker  // cannot update these with the `UpdateRegistration` method. To update these
391*d5c09012SAndroid Build Coastguard Worker  // settings, use the `ConfigureDnsSettings` method.
392*d5c09012SAndroid Build Coastguard Worker  DnsSettings dns_settings = 11;
393*d5c09012SAndroid Build Coastguard Worker
394*d5c09012SAndroid Build Coastguard Worker  // Required. Settings for contact information linked to the `Registration`. You cannot
395*d5c09012SAndroid Build Coastguard Worker  // update these with the `UpdateRegistration` method. To update these
396*d5c09012SAndroid Build Coastguard Worker  // settings, use the `ConfigureContactSettings` method.
397*d5c09012SAndroid Build Coastguard Worker  ContactSettings contact_settings = 12 [(google.api.field_behavior) = REQUIRED];
398*d5c09012SAndroid Build Coastguard Worker
399*d5c09012SAndroid Build Coastguard Worker  // Output only. Pending contact settings for the `Registration`. Updates to the
400*d5c09012SAndroid Build Coastguard Worker  // `contact_settings` field that change its `registrant_contact` or `privacy`
401*d5c09012SAndroid Build Coastguard Worker  // fields require email confirmation by the `registrant_contact`
402*d5c09012SAndroid Build Coastguard Worker  // before taking effect. This field is set only if there are pending updates
403*d5c09012SAndroid Build Coastguard Worker  // to the `contact_settings` that have not been confirmed. To confirm the
404*d5c09012SAndroid Build Coastguard Worker  // changes, the `registrant_contact` must follow the instructions in the
405*d5c09012SAndroid Build Coastguard Worker  // email they receive.
406*d5c09012SAndroid Build Coastguard Worker  ContactSettings pending_contact_settings = 13 [(google.api.field_behavior) = OUTPUT_ONLY];
407*d5c09012SAndroid Build Coastguard Worker
408*d5c09012SAndroid Build Coastguard Worker  // Output only. Set of options for the `contact_settings.privacy` field that this
409*d5c09012SAndroid Build Coastguard Worker  // `Registration` supports.
410*d5c09012SAndroid Build Coastguard Worker  repeated ContactPrivacy supported_privacy = 14 [(google.api.field_behavior) = OUTPUT_ONLY];
411*d5c09012SAndroid Build Coastguard Worker}
412*d5c09012SAndroid Build Coastguard Worker
413*d5c09012SAndroid Build Coastguard Worker// Defines renewal, billing, and transfer settings for a `Registration`.
414*d5c09012SAndroid Build Coastguard Workermessage ManagementSettings {
415*d5c09012SAndroid Build Coastguard Worker  // Defines how the `Registration` is renewed.
416*d5c09012SAndroid Build Coastguard Worker  enum RenewalMethod {
417*d5c09012SAndroid Build Coastguard Worker    // The renewal method is undefined.
418*d5c09012SAndroid Build Coastguard Worker    RENEWAL_METHOD_UNSPECIFIED = 0;
419*d5c09012SAndroid Build Coastguard Worker
420*d5c09012SAndroid Build Coastguard Worker    // The domain is automatically renewed each year .
421*d5c09012SAndroid Build Coastguard Worker    //
422*d5c09012SAndroid Build Coastguard Worker    // To disable automatic renewals, delete the resource by calling
423*d5c09012SAndroid Build Coastguard Worker    // `DeleteRegistration` or export it by calling `ExportRegistration`.
424*d5c09012SAndroid Build Coastguard Worker    AUTOMATIC_RENEWAL = 1;
425*d5c09012SAndroid Build Coastguard Worker
426*d5c09012SAndroid Build Coastguard Worker    // The domain must be explicitly renewed each year before its
427*d5c09012SAndroid Build Coastguard Worker    // `expire_time`. This option is only available when the `Registration`
428*d5c09012SAndroid Build Coastguard Worker    // is in state `EXPORTED`.
429*d5c09012SAndroid Build Coastguard Worker    //
430*d5c09012SAndroid Build Coastguard Worker    // To manage the domain's current billing and
431*d5c09012SAndroid Build Coastguard Worker    // renewal settings, go to [Google Domains](https://domains.google/).
432*d5c09012SAndroid Build Coastguard Worker    MANUAL_RENEWAL = 2;
433*d5c09012SAndroid Build Coastguard Worker  }
434*d5c09012SAndroid Build Coastguard Worker
435*d5c09012SAndroid Build Coastguard Worker  // Output only. The renewal method for this `Registration`.
436*d5c09012SAndroid Build Coastguard Worker  RenewalMethod renewal_method = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
437*d5c09012SAndroid Build Coastguard Worker
438*d5c09012SAndroid Build Coastguard Worker  // Controls whether the domain can be transferred to another registrar.
439*d5c09012SAndroid Build Coastguard Worker  TransferLockState transfer_lock_state = 4;
440*d5c09012SAndroid Build Coastguard Worker}
441*d5c09012SAndroid Build Coastguard Worker
442*d5c09012SAndroid Build Coastguard Worker// Defines the DNS configuration of a `Registration`, including name servers,
443*d5c09012SAndroid Build Coastguard Worker// DNSSEC, and glue records.
444*d5c09012SAndroid Build Coastguard Workermessage DnsSettings {
445*d5c09012SAndroid Build Coastguard Worker  // Configuration for an arbitrary DNS provider.
446*d5c09012SAndroid Build Coastguard Worker  message CustomDns {
447*d5c09012SAndroid Build Coastguard Worker    // Required. A list of name servers that store the DNS zone for this domain. Each name
448*d5c09012SAndroid Build Coastguard Worker    // server is a domain name, with Unicode domain names expressed in
449*d5c09012SAndroid Build Coastguard Worker    // Punycode format.
450*d5c09012SAndroid Build Coastguard Worker    repeated string name_servers = 1 [(google.api.field_behavior) = REQUIRED];
451*d5c09012SAndroid Build Coastguard Worker
452*d5c09012SAndroid Build Coastguard Worker    // The list of DS records for this domain, which are used to enable DNSSEC.
453*d5c09012SAndroid Build Coastguard Worker    // The domain's DNS provider can provide the values to set here. If this
454*d5c09012SAndroid Build Coastguard Worker    // field is empty, DNSSEC is disabled.
455*d5c09012SAndroid Build Coastguard Worker    repeated DsRecord ds_records = 2;
456*d5c09012SAndroid Build Coastguard Worker  }
457*d5c09012SAndroid Build Coastguard Worker
458*d5c09012SAndroid Build Coastguard Worker  // Configuration for using the free DNS zone provided by Google Domains as a
459*d5c09012SAndroid Build Coastguard Worker  // `Registration`'s `dns_provider`. You cannot configure the DNS zone itself
460*d5c09012SAndroid Build Coastguard Worker  // using the API. To configure the DNS zone, go to
461*d5c09012SAndroid Build Coastguard Worker  // [Google Domains](https://domains.google/).
462*d5c09012SAndroid Build Coastguard Worker  message GoogleDomainsDns {
463*d5c09012SAndroid Build Coastguard Worker    // Output only. A list of name servers that store the DNS zone for this domain. Each name
464*d5c09012SAndroid Build Coastguard Worker    // server is a domain name, with Unicode domain names expressed in
465*d5c09012SAndroid Build Coastguard Worker    // Punycode format. This field is automatically populated with the name
466*d5c09012SAndroid Build Coastguard Worker    // servers assigned to the Google Domains DNS zone.
467*d5c09012SAndroid Build Coastguard Worker    repeated string name_servers = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
468*d5c09012SAndroid Build Coastguard Worker
469*d5c09012SAndroid Build Coastguard Worker    // Required. The state of DS records for this domain. Used to enable or disable
470*d5c09012SAndroid Build Coastguard Worker    // automatic DNSSEC.
471*d5c09012SAndroid Build Coastguard Worker    DsState ds_state = 2 [(google.api.field_behavior) = REQUIRED];
472*d5c09012SAndroid Build Coastguard Worker
473*d5c09012SAndroid Build Coastguard Worker    // Output only. The list of DS records published for this domain. The list is
474*d5c09012SAndroid Build Coastguard Worker    // automatically populated when `ds_state` is `DS_RECORDS_PUBLISHED`,
475*d5c09012SAndroid Build Coastguard Worker    // otherwise it remains empty.
476*d5c09012SAndroid Build Coastguard Worker    repeated DsRecord ds_records = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
477*d5c09012SAndroid Build Coastguard Worker  }
478*d5c09012SAndroid Build Coastguard Worker
479*d5c09012SAndroid Build Coastguard Worker  // Defines a Delegation Signer (DS) record, which is needed to enable DNSSEC
480*d5c09012SAndroid Build Coastguard Worker  // for a domain. It contains a digest (hash) of a DNSKEY record that must be
481*d5c09012SAndroid Build Coastguard Worker  // present in the domain's DNS zone.
482*d5c09012SAndroid Build Coastguard Worker  message DsRecord {
483*d5c09012SAndroid Build Coastguard Worker    // List of algorithms used to create a DNSKEY. Certain
484*d5c09012SAndroid Build Coastguard Worker    // algorithms are not supported for particular domains.
485*d5c09012SAndroid Build Coastguard Worker    enum Algorithm {
486*d5c09012SAndroid Build Coastguard Worker      // The algorithm is unspecified.
487*d5c09012SAndroid Build Coastguard Worker      ALGORITHM_UNSPECIFIED = 0;
488*d5c09012SAndroid Build Coastguard Worker
489*d5c09012SAndroid Build Coastguard Worker      // RSA/MD5. Cannot be used for new deployments.
490*d5c09012SAndroid Build Coastguard Worker      RSAMD5 = 1;
491*d5c09012SAndroid Build Coastguard Worker
492*d5c09012SAndroid Build Coastguard Worker      // Diffie-Hellman. Cannot be used for new deployments.
493*d5c09012SAndroid Build Coastguard Worker      DH = 2;
494*d5c09012SAndroid Build Coastguard Worker
495*d5c09012SAndroid Build Coastguard Worker      // DSA/SHA1. Not recommended for new deployments.
496*d5c09012SAndroid Build Coastguard Worker      DSA = 3;
497*d5c09012SAndroid Build Coastguard Worker
498*d5c09012SAndroid Build Coastguard Worker      // ECC. Not recommended for new deployments.
499*d5c09012SAndroid Build Coastguard Worker      ECC = 4;
500*d5c09012SAndroid Build Coastguard Worker
501*d5c09012SAndroid Build Coastguard Worker      // RSA/SHA-1. Not recommended for new deployments.
502*d5c09012SAndroid Build Coastguard Worker      RSASHA1 = 5;
503*d5c09012SAndroid Build Coastguard Worker
504*d5c09012SAndroid Build Coastguard Worker      // DSA-NSEC3-SHA1. Not recommended for new deployments.
505*d5c09012SAndroid Build Coastguard Worker      DSANSEC3SHA1 = 6;
506*d5c09012SAndroid Build Coastguard Worker
507*d5c09012SAndroid Build Coastguard Worker      // RSA/SHA1-NSEC3-SHA1. Not recommended for new deployments.
508*d5c09012SAndroid Build Coastguard Worker      RSASHA1NSEC3SHA1 = 7;
509*d5c09012SAndroid Build Coastguard Worker
510*d5c09012SAndroid Build Coastguard Worker      // RSA/SHA-256.
511*d5c09012SAndroid Build Coastguard Worker      RSASHA256 = 8;
512*d5c09012SAndroid Build Coastguard Worker
513*d5c09012SAndroid Build Coastguard Worker      // RSA/SHA-512.
514*d5c09012SAndroid Build Coastguard Worker      RSASHA512 = 10;
515*d5c09012SAndroid Build Coastguard Worker
516*d5c09012SAndroid Build Coastguard Worker      // GOST R 34.10-2001.
517*d5c09012SAndroid Build Coastguard Worker      ECCGOST = 12;
518*d5c09012SAndroid Build Coastguard Worker
519*d5c09012SAndroid Build Coastguard Worker      // ECDSA Curve P-256 with SHA-256.
520*d5c09012SAndroid Build Coastguard Worker      ECDSAP256SHA256 = 13;
521*d5c09012SAndroid Build Coastguard Worker
522*d5c09012SAndroid Build Coastguard Worker      // ECDSA Curve P-384 with SHA-384.
523*d5c09012SAndroid Build Coastguard Worker      ECDSAP384SHA384 = 14;
524*d5c09012SAndroid Build Coastguard Worker
525*d5c09012SAndroid Build Coastguard Worker      // Ed25519.
526*d5c09012SAndroid Build Coastguard Worker      ED25519 = 15;
527*d5c09012SAndroid Build Coastguard Worker
528*d5c09012SAndroid Build Coastguard Worker      // Ed448.
529*d5c09012SAndroid Build Coastguard Worker      ED448 = 16;
530*d5c09012SAndroid Build Coastguard Worker
531*d5c09012SAndroid Build Coastguard Worker      // Reserved for Indirect Keys. Cannot be used for new deployments.
532*d5c09012SAndroid Build Coastguard Worker      INDIRECT = 252;
533*d5c09012SAndroid Build Coastguard Worker
534*d5c09012SAndroid Build Coastguard Worker      // Private algorithm. Cannot be used for new deployments.
535*d5c09012SAndroid Build Coastguard Worker      PRIVATEDNS = 253;
536*d5c09012SAndroid Build Coastguard Worker
537*d5c09012SAndroid Build Coastguard Worker      // Private algorithm OID. Cannot be used for new deployments.
538*d5c09012SAndroid Build Coastguard Worker      PRIVATEOID = 254;
539*d5c09012SAndroid Build Coastguard Worker    }
540*d5c09012SAndroid Build Coastguard Worker
541*d5c09012SAndroid Build Coastguard Worker    // List of hash functions that may have been used to generate a digest of a
542*d5c09012SAndroid Build Coastguard Worker    // DNSKEY.
543*d5c09012SAndroid Build Coastguard Worker    enum DigestType {
544*d5c09012SAndroid Build Coastguard Worker      // The DigestType is unspecified.
545*d5c09012SAndroid Build Coastguard Worker      DIGEST_TYPE_UNSPECIFIED = 0;
546*d5c09012SAndroid Build Coastguard Worker
547*d5c09012SAndroid Build Coastguard Worker      // SHA-1. Not recommended for new deployments.
548*d5c09012SAndroid Build Coastguard Worker      SHA1 = 1;
549*d5c09012SAndroid Build Coastguard Worker
550*d5c09012SAndroid Build Coastguard Worker      // SHA-256.
551*d5c09012SAndroid Build Coastguard Worker      SHA256 = 2;
552*d5c09012SAndroid Build Coastguard Worker
553*d5c09012SAndroid Build Coastguard Worker      // GOST R 34.11-94.
554*d5c09012SAndroid Build Coastguard Worker      GOST3411 = 3;
555*d5c09012SAndroid Build Coastguard Worker
556*d5c09012SAndroid Build Coastguard Worker      // SHA-384.
557*d5c09012SAndroid Build Coastguard Worker      SHA384 = 4;
558*d5c09012SAndroid Build Coastguard Worker    }
559*d5c09012SAndroid Build Coastguard Worker
560*d5c09012SAndroid Build Coastguard Worker    // The key tag of the record. Must be set in range 0 -- 65535.
561*d5c09012SAndroid Build Coastguard Worker    int32 key_tag = 1;
562*d5c09012SAndroid Build Coastguard Worker
563*d5c09012SAndroid Build Coastguard Worker    // The algorithm used to generate the referenced DNSKEY.
564*d5c09012SAndroid Build Coastguard Worker    Algorithm algorithm = 2;
565*d5c09012SAndroid Build Coastguard Worker
566*d5c09012SAndroid Build Coastguard Worker    // The hash function used to generate the digest of the referenced DNSKEY.
567*d5c09012SAndroid Build Coastguard Worker    DigestType digest_type = 3;
568*d5c09012SAndroid Build Coastguard Worker
569*d5c09012SAndroid Build Coastguard Worker    // The digest generated from the referenced DNSKEY.
570*d5c09012SAndroid Build Coastguard Worker    string digest = 4;
571*d5c09012SAndroid Build Coastguard Worker  }
572*d5c09012SAndroid Build Coastguard Worker
573*d5c09012SAndroid Build Coastguard Worker  // Defines a host on your domain that is a DNS name server for your domain
574*d5c09012SAndroid Build Coastguard Worker  // and/or other domains. Glue records are a way of making the IP address of a
575*d5c09012SAndroid Build Coastguard Worker  // name server known, even when it serves DNS queries for its parent domain.
576*d5c09012SAndroid Build Coastguard Worker  // For example, when `ns.example.com` is a name server for `example.com`, the
577*d5c09012SAndroid Build Coastguard Worker  // host `ns.example.com` must have a glue record to break the circular DNS
578*d5c09012SAndroid Build Coastguard Worker  // reference.
579*d5c09012SAndroid Build Coastguard Worker  message GlueRecord {
580*d5c09012SAndroid Build Coastguard Worker    // Required. Domain name of the host in Punycode format.
581*d5c09012SAndroid Build Coastguard Worker    string host_name = 1 [(google.api.field_behavior) = REQUIRED];
582*d5c09012SAndroid Build Coastguard Worker
583*d5c09012SAndroid Build Coastguard Worker    // List of IPv4 addresses corresponding to this host in the standard decimal
584*d5c09012SAndroid Build Coastguard Worker    // format (e.g. `198.51.100.1`). At least one of `ipv4_address` and
585*d5c09012SAndroid Build Coastguard Worker    // `ipv6_address` must be set.
586*d5c09012SAndroid Build Coastguard Worker    repeated string ipv4_addresses = 2;
587*d5c09012SAndroid Build Coastguard Worker
588*d5c09012SAndroid Build Coastguard Worker    // List of IPv6 addresses corresponding to this host in the standard
589*d5c09012SAndroid Build Coastguard Worker    // hexadecimal format (e.g. `2001:db8::`). At least one of
590*d5c09012SAndroid Build Coastguard Worker    // `ipv4_address` and `ipv6_address` must be set.
591*d5c09012SAndroid Build Coastguard Worker    repeated string ipv6_addresses = 3;
592*d5c09012SAndroid Build Coastguard Worker  }
593*d5c09012SAndroid Build Coastguard Worker
594*d5c09012SAndroid Build Coastguard Worker  // The publication state of DS records for a `Registration`.
595*d5c09012SAndroid Build Coastguard Worker  enum DsState {
596*d5c09012SAndroid Build Coastguard Worker    // DS state is unspecified.
597*d5c09012SAndroid Build Coastguard Worker    DS_STATE_UNSPECIFIED = 0;
598*d5c09012SAndroid Build Coastguard Worker
599*d5c09012SAndroid Build Coastguard Worker    // DNSSEC is disabled for this domain. No DS records for this domain are
600*d5c09012SAndroid Build Coastguard Worker    // published in the parent DNS zone.
601*d5c09012SAndroid Build Coastguard Worker    DS_RECORDS_UNPUBLISHED = 1;
602*d5c09012SAndroid Build Coastguard Worker
603*d5c09012SAndroid Build Coastguard Worker    // DNSSEC is enabled for this domain. Appropriate DS records for this domain
604*d5c09012SAndroid Build Coastguard Worker    // are published in the parent DNS zone. This option is valid only if the
605*d5c09012SAndroid Build Coastguard Worker    // DNS zone referenced in the `Registration`'s `dns_provider` field is
606*d5c09012SAndroid Build Coastguard Worker    // already DNSSEC-signed.
607*d5c09012SAndroid Build Coastguard Worker    DS_RECORDS_PUBLISHED = 2;
608*d5c09012SAndroid Build Coastguard Worker  }
609*d5c09012SAndroid Build Coastguard Worker
610*d5c09012SAndroid Build Coastguard Worker  // The DNS provider of the registration.
611*d5c09012SAndroid Build Coastguard Worker  oneof dns_provider {
612*d5c09012SAndroid Build Coastguard Worker    // An arbitrary DNS provider identified by its name servers.
613*d5c09012SAndroid Build Coastguard Worker    CustomDns custom_dns = 1;
614*d5c09012SAndroid Build Coastguard Worker
615*d5c09012SAndroid Build Coastguard Worker    // The free DNS zone provided by
616*d5c09012SAndroid Build Coastguard Worker    // [Google Domains](https://domains.google/).
617*d5c09012SAndroid Build Coastguard Worker    GoogleDomainsDns google_domains_dns = 2;
618*d5c09012SAndroid Build Coastguard Worker  }
619*d5c09012SAndroid Build Coastguard Worker
620*d5c09012SAndroid Build Coastguard Worker  // The list of glue records for this `Registration`. Commonly empty.
621*d5c09012SAndroid Build Coastguard Worker  repeated GlueRecord glue_records = 4;
622*d5c09012SAndroid Build Coastguard Worker}
623*d5c09012SAndroid Build Coastguard Worker
624*d5c09012SAndroid Build Coastguard Worker// Defines the contact information associated with a `Registration`.
625*d5c09012SAndroid Build Coastguard Worker//
626*d5c09012SAndroid Build Coastguard Worker// [ICANN](https://icann.org/) requires all domain names to have associated
627*d5c09012SAndroid Build Coastguard Worker// contact information. The `registrant_contact` is considered the
628*d5c09012SAndroid Build Coastguard Worker// domain's legal owner, and often the other contacts are identical.
629*d5c09012SAndroid Build Coastguard Workermessage ContactSettings {
630*d5c09012SAndroid Build Coastguard Worker  // Details required for a contact associated with a `Registration`.
631*d5c09012SAndroid Build Coastguard Worker  message Contact {
632*d5c09012SAndroid Build Coastguard Worker    // Required. Postal address of the contact.
633*d5c09012SAndroid Build Coastguard Worker    google.type.PostalAddress postal_address = 1 [(google.api.field_behavior) = REQUIRED];
634*d5c09012SAndroid Build Coastguard Worker
635*d5c09012SAndroid Build Coastguard Worker    // Required. Email address of the contact.
636*d5c09012SAndroid Build Coastguard Worker    string email = 2 [(google.api.field_behavior) = REQUIRED];
637*d5c09012SAndroid Build Coastguard Worker
638*d5c09012SAndroid Build Coastguard Worker    // Required. Phone number of the contact in international format. For example,
639*d5c09012SAndroid Build Coastguard Worker    // `"+1-800-555-0123"`.
640*d5c09012SAndroid Build Coastguard Worker    string phone_number = 3 [(google.api.field_behavior) = REQUIRED];
641*d5c09012SAndroid Build Coastguard Worker
642*d5c09012SAndroid Build Coastguard Worker    // Fax number of the contact in international format. For example,
643*d5c09012SAndroid Build Coastguard Worker    // `"+1-800-555-0123"`.
644*d5c09012SAndroid Build Coastguard Worker    string fax_number = 4;
645*d5c09012SAndroid Build Coastguard Worker  }
646*d5c09012SAndroid Build Coastguard Worker
647*d5c09012SAndroid Build Coastguard Worker  // Required. Privacy setting for the contacts associated with the `Registration`.
648*d5c09012SAndroid Build Coastguard Worker  ContactPrivacy privacy = 1 [(google.api.field_behavior) = REQUIRED];
649*d5c09012SAndroid Build Coastguard Worker
650*d5c09012SAndroid Build Coastguard Worker  // Required. The registrant contact for the `Registration`.
651*d5c09012SAndroid Build Coastguard Worker  //
652*d5c09012SAndroid Build Coastguard Worker  // *Caution: Anyone with access to this email address, phone number,
653*d5c09012SAndroid Build Coastguard Worker  // and/or postal address can take control of the domain.*
654*d5c09012SAndroid Build Coastguard Worker  //
655*d5c09012SAndroid Build Coastguard Worker  // *Warning: For new `Registration`s, the registrant receives an email
656*d5c09012SAndroid Build Coastguard Worker  // confirmation that they must complete within 15 days to avoid domain
657*d5c09012SAndroid Build Coastguard Worker  // suspension.*
658*d5c09012SAndroid Build Coastguard Worker  Contact registrant_contact = 2 [(google.api.field_behavior) = REQUIRED];
659*d5c09012SAndroid Build Coastguard Worker
660*d5c09012SAndroid Build Coastguard Worker  // Required. The administrative contact for the `Registration`.
661*d5c09012SAndroid Build Coastguard Worker  Contact admin_contact = 3 [(google.api.field_behavior) = REQUIRED];
662*d5c09012SAndroid Build Coastguard Worker
663*d5c09012SAndroid Build Coastguard Worker  // Required. The technical contact for the `Registration`.
664*d5c09012SAndroid Build Coastguard Worker  Contact technical_contact = 4 [(google.api.field_behavior) = REQUIRED];
665*d5c09012SAndroid Build Coastguard Worker}
666*d5c09012SAndroid Build Coastguard Worker
667*d5c09012SAndroid Build Coastguard Worker// Request for the `SearchDomains` method.
668*d5c09012SAndroid Build Coastguard Workermessage SearchDomainsRequest {
669*d5c09012SAndroid Build Coastguard Worker  // Required. String used to search for available domain names.
670*d5c09012SAndroid Build Coastguard Worker  string query = 1 [(google.api.field_behavior) = REQUIRED];
671*d5c09012SAndroid Build Coastguard Worker
672*d5c09012SAndroid Build Coastguard Worker  // Required. The location. Must be in the format `projects/*/locations/*`.
673*d5c09012SAndroid Build Coastguard Worker  string location = 2 [
674*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
675*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
676*d5c09012SAndroid Build Coastguard Worker      type: "locations.googleapis.com/Location"
677*d5c09012SAndroid Build Coastguard Worker    }
678*d5c09012SAndroid Build Coastguard Worker  ];
679*d5c09012SAndroid Build Coastguard Worker}
680*d5c09012SAndroid Build Coastguard Worker
681*d5c09012SAndroid Build Coastguard Worker// Response for the `SearchDomains` method.
682*d5c09012SAndroid Build Coastguard Workermessage SearchDomainsResponse {
683*d5c09012SAndroid Build Coastguard Worker  // Results of the domain name search.
684*d5c09012SAndroid Build Coastguard Worker  repeated RegisterParameters register_parameters = 1;
685*d5c09012SAndroid Build Coastguard Worker}
686*d5c09012SAndroid Build Coastguard Worker
687*d5c09012SAndroid Build Coastguard Worker// Request for the `RetrieveRegisterParameters` method.
688*d5c09012SAndroid Build Coastguard Workermessage RetrieveRegisterParametersRequest {
689*d5c09012SAndroid Build Coastguard Worker  // Required. The domain name. Unicode domain names must be expressed in Punycode format.
690*d5c09012SAndroid Build Coastguard Worker  string domain_name = 1 [(google.api.field_behavior) = REQUIRED];
691*d5c09012SAndroid Build Coastguard Worker
692*d5c09012SAndroid Build Coastguard Worker  // Required. The location. Must be in the format `projects/*/locations/*`.
693*d5c09012SAndroid Build Coastguard Worker  string location = 2 [
694*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
695*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
696*d5c09012SAndroid Build Coastguard Worker      type: "locations.googleapis.com/Location"
697*d5c09012SAndroid Build Coastguard Worker    }
698*d5c09012SAndroid Build Coastguard Worker  ];
699*d5c09012SAndroid Build Coastguard Worker}
700*d5c09012SAndroid Build Coastguard Worker
701*d5c09012SAndroid Build Coastguard Worker// Response for the `RetrieveRegisterParameters` method.
702*d5c09012SAndroid Build Coastguard Workermessage RetrieveRegisterParametersResponse {
703*d5c09012SAndroid Build Coastguard Worker  // Parameters to use when calling the `RegisterDomain` method.
704*d5c09012SAndroid Build Coastguard Worker  RegisterParameters register_parameters = 1;
705*d5c09012SAndroid Build Coastguard Worker}
706*d5c09012SAndroid Build Coastguard Worker
707*d5c09012SAndroid Build Coastguard Worker// Request for the `RegisterDomain` method.
708*d5c09012SAndroid Build Coastguard Workermessage RegisterDomainRequest {
709*d5c09012SAndroid Build Coastguard Worker  // Required. The parent resource of the `Registration`. Must be in the
710*d5c09012SAndroid Build Coastguard Worker  // format `projects/*/locations/*`.
711*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
712*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
713*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
714*d5c09012SAndroid Build Coastguard Worker      type: "locations.googleapis.com/Location"
715*d5c09012SAndroid Build Coastguard Worker    }
716*d5c09012SAndroid Build Coastguard Worker  ];
717*d5c09012SAndroid Build Coastguard Worker
718*d5c09012SAndroid Build Coastguard Worker  // Required. The complete `Registration` resource to be created.
719*d5c09012SAndroid Build Coastguard Worker  Registration registration = 2 [(google.api.field_behavior) = REQUIRED];
720*d5c09012SAndroid Build Coastguard Worker
721*d5c09012SAndroid Build Coastguard Worker  // The list of domain notices that you acknowledge. Call
722*d5c09012SAndroid Build Coastguard Worker  // `RetrieveRegisterParameters` to see the notices that need acknowledgement.
723*d5c09012SAndroid Build Coastguard Worker  repeated DomainNotice domain_notices = 3;
724*d5c09012SAndroid Build Coastguard Worker
725*d5c09012SAndroid Build Coastguard Worker  // The list of contact notices that the caller acknowledges. The notices
726*d5c09012SAndroid Build Coastguard Worker  // needed here depend on the values specified in
727*d5c09012SAndroid Build Coastguard Worker  // `registration.contact_settings`.
728*d5c09012SAndroid Build Coastguard Worker  repeated ContactNotice contact_notices = 4;
729*d5c09012SAndroid Build Coastguard Worker
730*d5c09012SAndroid Build Coastguard Worker  // Required. Yearly price to register or renew the domain.
731*d5c09012SAndroid Build Coastguard Worker  // The value that should be put here can be obtained from
732*d5c09012SAndroid Build Coastguard Worker  // RetrieveRegisterParameters or SearchDomains calls.
733*d5c09012SAndroid Build Coastguard Worker  google.type.Money yearly_price = 5 [(google.api.field_behavior) = REQUIRED];
734*d5c09012SAndroid Build Coastguard Worker
735*d5c09012SAndroid Build Coastguard Worker  // When true, only validation is performed, without actually registering
736*d5c09012SAndroid Build Coastguard Worker  // the domain. Follows:
737*d5c09012SAndroid Build Coastguard Worker  // https://cloud.google.com/apis/design/design_patterns#request_validation
738*d5c09012SAndroid Build Coastguard Worker  bool validate_only = 6;
739*d5c09012SAndroid Build Coastguard Worker}
740*d5c09012SAndroid Build Coastguard Worker
741*d5c09012SAndroid Build Coastguard Worker// Request for the `RetrieveTransferParameters` method.
742*d5c09012SAndroid Build Coastguard Workermessage RetrieveTransferParametersRequest {
743*d5c09012SAndroid Build Coastguard Worker  // Required. The domain name. Unicode domain names must be expressed in Punycode format.
744*d5c09012SAndroid Build Coastguard Worker  string domain_name = 1 [(google.api.field_behavior) = REQUIRED];
745*d5c09012SAndroid Build Coastguard Worker
746*d5c09012SAndroid Build Coastguard Worker  // Required. The location. Must be in the format `projects/*/locations/*`.
747*d5c09012SAndroid Build Coastguard Worker  string location = 2 [
748*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
749*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
750*d5c09012SAndroid Build Coastguard Worker      type: "locations.googleapis.com/Location"
751*d5c09012SAndroid Build Coastguard Worker    }
752*d5c09012SAndroid Build Coastguard Worker  ];
753*d5c09012SAndroid Build Coastguard Worker}
754*d5c09012SAndroid Build Coastguard Worker
755*d5c09012SAndroid Build Coastguard Worker// Response for the `RetrieveTransferParameters` method.
756*d5c09012SAndroid Build Coastguard Workermessage RetrieveTransferParametersResponse {
757*d5c09012SAndroid Build Coastguard Worker  // Parameters to use when calling the `TransferDomain` method.
758*d5c09012SAndroid Build Coastguard Worker  TransferParameters transfer_parameters = 1;
759*d5c09012SAndroid Build Coastguard Worker}
760*d5c09012SAndroid Build Coastguard Worker
761*d5c09012SAndroid Build Coastguard Worker// Request for the `TransferDomain` method.
762*d5c09012SAndroid Build Coastguard Workermessage TransferDomainRequest {
763*d5c09012SAndroid Build Coastguard Worker  // Required. The parent resource of the `Registration`. Must be in the
764*d5c09012SAndroid Build Coastguard Worker  // format `projects/*/locations/*`.
765*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
766*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
767*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
768*d5c09012SAndroid Build Coastguard Worker      type: "locations.googleapis.com/Location"
769*d5c09012SAndroid Build Coastguard Worker    }
770*d5c09012SAndroid Build Coastguard Worker  ];
771*d5c09012SAndroid Build Coastguard Worker
772*d5c09012SAndroid Build Coastguard Worker  // Required. The complete `Registration` resource to be created.
773*d5c09012SAndroid Build Coastguard Worker  //
774*d5c09012SAndroid Build Coastguard Worker  // You can leave `registration.dns_settings` unset to import the
775*d5c09012SAndroid Build Coastguard Worker  // domain's current DNS configuration from its current registrar. Use this
776*d5c09012SAndroid Build Coastguard Worker  // option only if you are sure that the domain's current DNS service
777*d5c09012SAndroid Build Coastguard Worker  // does not cease upon transfer, as is often the case for DNS services
778*d5c09012SAndroid Build Coastguard Worker  // provided for free by the registrar.
779*d5c09012SAndroid Build Coastguard Worker  Registration registration = 2 [(google.api.field_behavior) = REQUIRED];
780*d5c09012SAndroid Build Coastguard Worker
781*d5c09012SAndroid Build Coastguard Worker  // The list of contact notices that you acknowledge. The notices
782*d5c09012SAndroid Build Coastguard Worker  // needed here depend on the values specified in
783*d5c09012SAndroid Build Coastguard Worker  // `registration.contact_settings`.
784*d5c09012SAndroid Build Coastguard Worker  repeated ContactNotice contact_notices = 3;
785*d5c09012SAndroid Build Coastguard Worker
786*d5c09012SAndroid Build Coastguard Worker  // Required. Acknowledgement of the price to transfer or renew the domain for one year.
787*d5c09012SAndroid Build Coastguard Worker  // Call `RetrieveTransferParameters` to obtain the price, which you must
788*d5c09012SAndroid Build Coastguard Worker  // acknowledge.
789*d5c09012SAndroid Build Coastguard Worker  google.type.Money yearly_price = 4 [(google.api.field_behavior) = REQUIRED];
790*d5c09012SAndroid Build Coastguard Worker
791*d5c09012SAndroid Build Coastguard Worker  // The domain's transfer authorization code. You can obtain this from the
792*d5c09012SAndroid Build Coastguard Worker  // domain's current registrar.
793*d5c09012SAndroid Build Coastguard Worker  AuthorizationCode authorization_code = 5;
794*d5c09012SAndroid Build Coastguard Worker
795*d5c09012SAndroid Build Coastguard Worker  // Validate the request without actually transferring the domain.
796*d5c09012SAndroid Build Coastguard Worker  bool validate_only = 6;
797*d5c09012SAndroid Build Coastguard Worker}
798*d5c09012SAndroid Build Coastguard Worker
799*d5c09012SAndroid Build Coastguard Worker// Request for the `ListRegistrations` method.
800*d5c09012SAndroid Build Coastguard Workermessage ListRegistrationsRequest {
801*d5c09012SAndroid Build Coastguard Worker  // Required. The project and location from which to list `Registration`s, specified in
802*d5c09012SAndroid Build Coastguard Worker  // the format `projects/*/locations/*`.
803*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
804*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
805*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
806*d5c09012SAndroid Build Coastguard Worker      type: "locations.googleapis.com/Location"
807*d5c09012SAndroid Build Coastguard Worker    }
808*d5c09012SAndroid Build Coastguard Worker  ];
809*d5c09012SAndroid Build Coastguard Worker
810*d5c09012SAndroid Build Coastguard Worker  // Maximum number of results to return.
811*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2;
812*d5c09012SAndroid Build Coastguard Worker
813*d5c09012SAndroid Build Coastguard Worker  // When set to the `next_page_token` from a prior response, provides the next
814*d5c09012SAndroid Build Coastguard Worker  // page of results.
815*d5c09012SAndroid Build Coastguard Worker  string page_token = 3;
816*d5c09012SAndroid Build Coastguard Worker
817*d5c09012SAndroid Build Coastguard Worker  // Filter expression to restrict the `Registration`s returned.
818*d5c09012SAndroid Build Coastguard Worker  //
819*d5c09012SAndroid Build Coastguard Worker  // The expression must specify the field name, a comparison operator, and the
820*d5c09012SAndroid Build Coastguard Worker  // value that you want to use for filtering. The value must be a string, a
821*d5c09012SAndroid Build Coastguard Worker  // number, a boolean, or an enum value. The comparison operator should be one
822*d5c09012SAndroid Build Coastguard Worker  // of =, !=, >, <, >=, <=, or : for prefix or wildcard matches.
823*d5c09012SAndroid Build Coastguard Worker  //
824*d5c09012SAndroid Build Coastguard Worker  // For example, to filter to a specific domain name, use an expression like
825*d5c09012SAndroid Build Coastguard Worker  // `domainName="example.com"`. You can also check for the existence of a
826*d5c09012SAndroid Build Coastguard Worker  // field; for example, to find domains using custom DNS settings, use an
827*d5c09012SAndroid Build Coastguard Worker  // expression like `dnsSettings.customDns:*`.
828*d5c09012SAndroid Build Coastguard Worker  //
829*d5c09012SAndroid Build Coastguard Worker  // You can also create compound filters by combining expressions with the
830*d5c09012SAndroid Build Coastguard Worker  // `AND` and `OR` operators. For example, to find domains that are suspended
831*d5c09012SAndroid Build Coastguard Worker  // or have specific issues flagged, use an expression like
832*d5c09012SAndroid Build Coastguard Worker  // `(state=SUSPENDED) OR (issue:*)`.
833*d5c09012SAndroid Build Coastguard Worker  string filter = 4;
834*d5c09012SAndroid Build Coastguard Worker}
835*d5c09012SAndroid Build Coastguard Worker
836*d5c09012SAndroid Build Coastguard Worker// Response for the `ListRegistrations` method.
837*d5c09012SAndroid Build Coastguard Workermessage ListRegistrationsResponse {
838*d5c09012SAndroid Build Coastguard Worker  // A list of `Registration`s.
839*d5c09012SAndroid Build Coastguard Worker  repeated Registration registrations = 1;
840*d5c09012SAndroid Build Coastguard Worker
841*d5c09012SAndroid Build Coastguard Worker  // When present, there are more results to retrieve. Set `page_token` to this
842*d5c09012SAndroid Build Coastguard Worker  // value on a subsequent call to get the next page of results.
843*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
844*d5c09012SAndroid Build Coastguard Worker}
845*d5c09012SAndroid Build Coastguard Worker
846*d5c09012SAndroid Build Coastguard Worker// Request for the `GetRegistration` method.
847*d5c09012SAndroid Build Coastguard Workermessage GetRegistrationRequest {
848*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the `Registration` to get, in the format
849*d5c09012SAndroid Build Coastguard Worker  // `projects/*/locations/*/registrations/*`.
850*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
851*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
852*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
853*d5c09012SAndroid Build Coastguard Worker      type: "domains.googleapis.com/Registration"
854*d5c09012SAndroid Build Coastguard Worker    }
855*d5c09012SAndroid Build Coastguard Worker  ];
856*d5c09012SAndroid Build Coastguard Worker}
857*d5c09012SAndroid Build Coastguard Worker
858*d5c09012SAndroid Build Coastguard Worker// Request for the `UpdateRegistration` method.
859*d5c09012SAndroid Build Coastguard Workermessage UpdateRegistrationRequest {
860*d5c09012SAndroid Build Coastguard Worker  // Fields of the `Registration` to update.
861*d5c09012SAndroid Build Coastguard Worker  Registration registration = 1;
862*d5c09012SAndroid Build Coastguard Worker
863*d5c09012SAndroid Build Coastguard Worker  // Required. The field mask describing which fields to update as a comma-separated list.
864*d5c09012SAndroid Build Coastguard Worker  // For example, if only the labels are being updated, the `update_mask` is
865*d5c09012SAndroid Build Coastguard Worker  // `"labels"`.
866*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
867*d5c09012SAndroid Build Coastguard Worker}
868*d5c09012SAndroid Build Coastguard Worker
869*d5c09012SAndroid Build Coastguard Worker// Request for the `ConfigureManagementSettings` method.
870*d5c09012SAndroid Build Coastguard Workermessage ConfigureManagementSettingsRequest {
871*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the `Registration` whose management settings are being updated,
872*d5c09012SAndroid Build Coastguard Worker  // in the format `projects/*/locations/*/registrations/*`.
873*d5c09012SAndroid Build Coastguard Worker  string registration = 1 [
874*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
875*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
876*d5c09012SAndroid Build Coastguard Worker      type: "domains.googleapis.com/Registration"
877*d5c09012SAndroid Build Coastguard Worker    }
878*d5c09012SAndroid Build Coastguard Worker  ];
879*d5c09012SAndroid Build Coastguard Worker
880*d5c09012SAndroid Build Coastguard Worker  // Fields of the `ManagementSettings` to update.
881*d5c09012SAndroid Build Coastguard Worker  ManagementSettings management_settings = 2;
882*d5c09012SAndroid Build Coastguard Worker
883*d5c09012SAndroid Build Coastguard Worker  // Required. The field mask describing which fields to update as a comma-separated list.
884*d5c09012SAndroid Build Coastguard Worker  // For example, if only the transfer lock is being updated, the `update_mask`
885*d5c09012SAndroid Build Coastguard Worker  // is `"transfer_lock_state"`.
886*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 3 [(google.api.field_behavior) = REQUIRED];
887*d5c09012SAndroid Build Coastguard Worker}
888*d5c09012SAndroid Build Coastguard Worker
889*d5c09012SAndroid Build Coastguard Worker// Request for the `ConfigureDnsSettings` method.
890*d5c09012SAndroid Build Coastguard Workermessage ConfigureDnsSettingsRequest {
891*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the `Registration` whose DNS settings are being updated,
892*d5c09012SAndroid Build Coastguard Worker  // in the format `projects/*/locations/*/registrations/*`.
893*d5c09012SAndroid Build Coastguard Worker  string registration = 1 [
894*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
895*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
896*d5c09012SAndroid Build Coastguard Worker      type: "domains.googleapis.com/Registration"
897*d5c09012SAndroid Build Coastguard Worker    }
898*d5c09012SAndroid Build Coastguard Worker  ];
899*d5c09012SAndroid Build Coastguard Worker
900*d5c09012SAndroid Build Coastguard Worker  // Fields of the `DnsSettings` to update.
901*d5c09012SAndroid Build Coastguard Worker  DnsSettings dns_settings = 2;
902*d5c09012SAndroid Build Coastguard Worker
903*d5c09012SAndroid Build Coastguard Worker  // Required. The field mask describing which fields to update as a comma-separated list.
904*d5c09012SAndroid Build Coastguard Worker  // For example, if only the name servers are being updated for an existing
905*d5c09012SAndroid Build Coastguard Worker  // Custom DNS configuration, the `update_mask` is
906*d5c09012SAndroid Build Coastguard Worker  // `"custom_dns.name_servers"`.
907*d5c09012SAndroid Build Coastguard Worker  //
908*d5c09012SAndroid Build Coastguard Worker  // When changing the DNS provider from one type to another, pass the new
909*d5c09012SAndroid Build Coastguard Worker  // provider's field name as part of the field mask. For example, when changing
910*d5c09012SAndroid Build Coastguard Worker  // from a Google Domains DNS configuration to a Custom DNS configuration, the
911*d5c09012SAndroid Build Coastguard Worker  // `update_mask` is `"custom_dns"`. //
912*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 3 [(google.api.field_behavior) = REQUIRED];
913*d5c09012SAndroid Build Coastguard Worker
914*d5c09012SAndroid Build Coastguard Worker  // Validate the request without actually updating the DNS settings.
915*d5c09012SAndroid Build Coastguard Worker  bool validate_only = 4;
916*d5c09012SAndroid Build Coastguard Worker}
917*d5c09012SAndroid Build Coastguard Worker
918*d5c09012SAndroid Build Coastguard Worker// Request for the `ConfigureContactSettings` method.
919*d5c09012SAndroid Build Coastguard Workermessage ConfigureContactSettingsRequest {
920*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the `Registration` whose contact settings are being updated,
921*d5c09012SAndroid Build Coastguard Worker  // in the format `projects/*/locations/*/registrations/*`.
922*d5c09012SAndroid Build Coastguard Worker  string registration = 1 [
923*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
924*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
925*d5c09012SAndroid Build Coastguard Worker      type: "domains.googleapis.com/Registration"
926*d5c09012SAndroid Build Coastguard Worker    }
927*d5c09012SAndroid Build Coastguard Worker  ];
928*d5c09012SAndroid Build Coastguard Worker
929*d5c09012SAndroid Build Coastguard Worker  // Fields of the `ContactSettings` to update.
930*d5c09012SAndroid Build Coastguard Worker  ContactSettings contact_settings = 2;
931*d5c09012SAndroid Build Coastguard Worker
932*d5c09012SAndroid Build Coastguard Worker  // Required. The field mask describing which fields to update as a comma-separated list.
933*d5c09012SAndroid Build Coastguard Worker  // For example, if only the registrant contact is being updated, the
934*d5c09012SAndroid Build Coastguard Worker  // `update_mask` is `"registrant_contact"`.
935*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 3 [(google.api.field_behavior) = REQUIRED];
936*d5c09012SAndroid Build Coastguard Worker
937*d5c09012SAndroid Build Coastguard Worker  // The list of contact notices that the caller acknowledges. The notices
938*d5c09012SAndroid Build Coastguard Worker  // needed here depend on the values specified in `contact_settings`.
939*d5c09012SAndroid Build Coastguard Worker  repeated ContactNotice contact_notices = 4;
940*d5c09012SAndroid Build Coastguard Worker
941*d5c09012SAndroid Build Coastguard Worker  // Validate the request without actually updating the contact settings.
942*d5c09012SAndroid Build Coastguard Worker  bool validate_only = 5;
943*d5c09012SAndroid Build Coastguard Worker}
944*d5c09012SAndroid Build Coastguard Worker
945*d5c09012SAndroid Build Coastguard Worker// Request for the `ExportRegistration` method.
946*d5c09012SAndroid Build Coastguard Workermessage ExportRegistrationRequest {
947*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the `Registration` to export,
948*d5c09012SAndroid Build Coastguard Worker  // in the format `projects/*/locations/*/registrations/*`.
949*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
950*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
951*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
952*d5c09012SAndroid Build Coastguard Worker      type: "domains.googleapis.com/Registration"
953*d5c09012SAndroid Build Coastguard Worker    }
954*d5c09012SAndroid Build Coastguard Worker  ];
955*d5c09012SAndroid Build Coastguard Worker}
956*d5c09012SAndroid Build Coastguard Worker
957*d5c09012SAndroid Build Coastguard Worker// Request for the `DeleteRegistration` method.
958*d5c09012SAndroid Build Coastguard Workermessage DeleteRegistrationRequest {
959*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the `Registration` to delete,
960*d5c09012SAndroid Build Coastguard Worker  // in the format `projects/*/locations/*/registrations/*`.
961*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
962*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
963*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
964*d5c09012SAndroid Build Coastguard Worker      type: "domains.googleapis.com/Registration"
965*d5c09012SAndroid Build Coastguard Worker    }
966*d5c09012SAndroid Build Coastguard Worker  ];
967*d5c09012SAndroid Build Coastguard Worker}
968*d5c09012SAndroid Build Coastguard Worker
969*d5c09012SAndroid Build Coastguard Worker// Request for the `RetrieveAuthorizationCode` method.
970*d5c09012SAndroid Build Coastguard Workermessage RetrieveAuthorizationCodeRequest {
971*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the `Registration` whose authorization code is being retrieved,
972*d5c09012SAndroid Build Coastguard Worker  // in the format `projects/*/locations/*/registrations/*`.
973*d5c09012SAndroid Build Coastguard Worker  string registration = 1 [
974*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
975*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
976*d5c09012SAndroid Build Coastguard Worker      type: "domains.googleapis.com/Registration"
977*d5c09012SAndroid Build Coastguard Worker    }
978*d5c09012SAndroid Build Coastguard Worker  ];
979*d5c09012SAndroid Build Coastguard Worker}
980*d5c09012SAndroid Build Coastguard Worker
981*d5c09012SAndroid Build Coastguard Worker// Request for the `ResetAuthorizationCode` method.
982*d5c09012SAndroid Build Coastguard Workermessage ResetAuthorizationCodeRequest {
983*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the `Registration` whose authorization code is being reset,
984*d5c09012SAndroid Build Coastguard Worker  // in the format `projects/*/locations/*/registrations/*`.
985*d5c09012SAndroid Build Coastguard Worker  string registration = 1 [
986*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
987*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
988*d5c09012SAndroid Build Coastguard Worker      type: "domains.googleapis.com/Registration"
989*d5c09012SAndroid Build Coastguard Worker    }
990*d5c09012SAndroid Build Coastguard Worker  ];
991*d5c09012SAndroid Build Coastguard Worker}
992*d5c09012SAndroid Build Coastguard Worker
993*d5c09012SAndroid Build Coastguard Worker// Parameters required to register a new domain.
994*d5c09012SAndroid Build Coastguard Workermessage RegisterParameters {
995*d5c09012SAndroid Build Coastguard Worker  // Possible availability states of a domain name.
996*d5c09012SAndroid Build Coastguard Worker  enum Availability {
997*d5c09012SAndroid Build Coastguard Worker    // The availability is unspecified.
998*d5c09012SAndroid Build Coastguard Worker    AVAILABILITY_UNSPECIFIED = 0;
999*d5c09012SAndroid Build Coastguard Worker
1000*d5c09012SAndroid Build Coastguard Worker    // The domain is available for registration.
1001*d5c09012SAndroid Build Coastguard Worker    AVAILABLE = 1;
1002*d5c09012SAndroid Build Coastguard Worker
1003*d5c09012SAndroid Build Coastguard Worker    // The domain is not available for registration. Generally this means it is
1004*d5c09012SAndroid Build Coastguard Worker    // already registered to another party.
1005*d5c09012SAndroid Build Coastguard Worker    UNAVAILABLE = 2;
1006*d5c09012SAndroid Build Coastguard Worker
1007*d5c09012SAndroid Build Coastguard Worker    // The domain is not currently supported by Cloud Domains, but may
1008*d5c09012SAndroid Build Coastguard Worker    // be available elsewhere.
1009*d5c09012SAndroid Build Coastguard Worker    UNSUPPORTED = 3;
1010*d5c09012SAndroid Build Coastguard Worker
1011*d5c09012SAndroid Build Coastguard Worker    // Cloud Domains is unable to determine domain availability, generally
1012*d5c09012SAndroid Build Coastguard Worker    // due to system maintenance at the domain name registry.
1013*d5c09012SAndroid Build Coastguard Worker    UNKNOWN = 4;
1014*d5c09012SAndroid Build Coastguard Worker  }
1015*d5c09012SAndroid Build Coastguard Worker
1016*d5c09012SAndroid Build Coastguard Worker  // The domain name. Unicode domain names are expressed in Punycode format.
1017*d5c09012SAndroid Build Coastguard Worker  string domain_name = 1;
1018*d5c09012SAndroid Build Coastguard Worker
1019*d5c09012SAndroid Build Coastguard Worker  // Indicates whether the domain is available for registration. This value is
1020*d5c09012SAndroid Build Coastguard Worker  // accurate when obtained by calling `RetrieveRegisterParameters`, but is
1021*d5c09012SAndroid Build Coastguard Worker  // approximate when obtained by calling `SearchDomains`.
1022*d5c09012SAndroid Build Coastguard Worker  Availability availability = 2;
1023*d5c09012SAndroid Build Coastguard Worker
1024*d5c09012SAndroid Build Coastguard Worker  // Contact privacy options that the domain supports.
1025*d5c09012SAndroid Build Coastguard Worker  repeated ContactPrivacy supported_privacy = 3;
1026*d5c09012SAndroid Build Coastguard Worker
1027*d5c09012SAndroid Build Coastguard Worker  // Notices about special properties of the domain.
1028*d5c09012SAndroid Build Coastguard Worker  repeated DomainNotice domain_notices = 4;
1029*d5c09012SAndroid Build Coastguard Worker
1030*d5c09012SAndroid Build Coastguard Worker  // Price to register or renew the domain for one year.
1031*d5c09012SAndroid Build Coastguard Worker  google.type.Money yearly_price = 5;
1032*d5c09012SAndroid Build Coastguard Worker}
1033*d5c09012SAndroid Build Coastguard Worker
1034*d5c09012SAndroid Build Coastguard Worker// Parameters required to transfer a domain from another registrar.
1035*d5c09012SAndroid Build Coastguard Workermessage TransferParameters {
1036*d5c09012SAndroid Build Coastguard Worker  // The domain name. Unicode domain names are expressed in Punycode format.
1037*d5c09012SAndroid Build Coastguard Worker  string domain_name = 1;
1038*d5c09012SAndroid Build Coastguard Worker
1039*d5c09012SAndroid Build Coastguard Worker  // The registrar that currently manages the domain.
1040*d5c09012SAndroid Build Coastguard Worker  string current_registrar = 2;
1041*d5c09012SAndroid Build Coastguard Worker
1042*d5c09012SAndroid Build Coastguard Worker  // The name servers that currently store the configuration of the domain.
1043*d5c09012SAndroid Build Coastguard Worker  repeated string name_servers = 3;
1044*d5c09012SAndroid Build Coastguard Worker
1045*d5c09012SAndroid Build Coastguard Worker  // Indicates whether the domain is protected by a transfer lock. For a
1046*d5c09012SAndroid Build Coastguard Worker  // transfer to succeed, this must show `UNLOCKED`. To unlock a domain,
1047*d5c09012SAndroid Build Coastguard Worker  // go to its current registrar.
1048*d5c09012SAndroid Build Coastguard Worker  TransferLockState transfer_lock_state = 4;
1049*d5c09012SAndroid Build Coastguard Worker
1050*d5c09012SAndroid Build Coastguard Worker  // Contact privacy options that the domain supports.
1051*d5c09012SAndroid Build Coastguard Worker  repeated ContactPrivacy supported_privacy = 5;
1052*d5c09012SAndroid Build Coastguard Worker
1053*d5c09012SAndroid Build Coastguard Worker  // Price to transfer or renew the domain for one year.
1054*d5c09012SAndroid Build Coastguard Worker  google.type.Money yearly_price = 6;
1055*d5c09012SAndroid Build Coastguard Worker}
1056*d5c09012SAndroid Build Coastguard Worker
1057*d5c09012SAndroid Build Coastguard Worker// Defines an authorization code.
1058*d5c09012SAndroid Build Coastguard Workermessage AuthorizationCode {
1059*d5c09012SAndroid Build Coastguard Worker  // The Authorization Code in ASCII. It can be used to transfer the domain
1060*d5c09012SAndroid Build Coastguard Worker  // to or from another registrar.
1061*d5c09012SAndroid Build Coastguard Worker  string code = 1;
1062*d5c09012SAndroid Build Coastguard Worker}
1063*d5c09012SAndroid Build Coastguard Worker
1064*d5c09012SAndroid Build Coastguard Worker// Represents the metadata of the long-running operation. Output only.
1065*d5c09012SAndroid Build Coastguard Workermessage OperationMetadata {
1066*d5c09012SAndroid Build Coastguard Worker  // The time the operation was created.
1067*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 1;
1068*d5c09012SAndroid Build Coastguard Worker
1069*d5c09012SAndroid Build Coastguard Worker  // The time the operation finished running.
1070*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp end_time = 2;
1071*d5c09012SAndroid Build Coastguard Worker
1072*d5c09012SAndroid Build Coastguard Worker  // Server-defined resource path for the target of the operation.
1073*d5c09012SAndroid Build Coastguard Worker  string target = 3;
1074*d5c09012SAndroid Build Coastguard Worker
1075*d5c09012SAndroid Build Coastguard Worker  // Name of the verb executed by the operation.
1076*d5c09012SAndroid Build Coastguard Worker  string verb = 4;
1077*d5c09012SAndroid Build Coastguard Worker
1078*d5c09012SAndroid Build Coastguard Worker  // Human-readable status of the operation, if any.
1079*d5c09012SAndroid Build Coastguard Worker  string status_detail = 5;
1080*d5c09012SAndroid Build Coastguard Worker
1081*d5c09012SAndroid Build Coastguard Worker  // API version used to start the operation.
1082*d5c09012SAndroid Build Coastguard Worker  string api_version = 6;
1083*d5c09012SAndroid Build Coastguard Worker}
1084*d5c09012SAndroid Build Coastguard Worker
1085*d5c09012SAndroid Build Coastguard Worker// Defines a set of possible contact privacy settings for a `Registration`.
1086*d5c09012SAndroid Build Coastguard Worker//
1087*d5c09012SAndroid Build Coastguard Worker// [ICANN](https://icann.org/) maintains the WHOIS database, a publicly
1088*d5c09012SAndroid Build Coastguard Worker// accessible mapping from domain name to contact information, and requires that
1089*d5c09012SAndroid Build Coastguard Worker// each domain name have an entry. Choose from these options to control how much
1090*d5c09012SAndroid Build Coastguard Worker// information in your `ContactSettings` is published.
1091*d5c09012SAndroid Build Coastguard Workerenum ContactPrivacy {
1092*d5c09012SAndroid Build Coastguard Worker  // The contact privacy settings are undefined.
1093*d5c09012SAndroid Build Coastguard Worker  CONTACT_PRIVACY_UNSPECIFIED = 0;
1094*d5c09012SAndroid Build Coastguard Worker
1095*d5c09012SAndroid Build Coastguard Worker  // All the data from `ContactSettings` is publicly available. When setting
1096*d5c09012SAndroid Build Coastguard Worker  // this option, you must also provide a
1097*d5c09012SAndroid Build Coastguard Worker  // `PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT` in the `contact_notices` field of the
1098*d5c09012SAndroid Build Coastguard Worker  // request.
1099*d5c09012SAndroid Build Coastguard Worker  PUBLIC_CONTACT_DATA = 1;
1100*d5c09012SAndroid Build Coastguard Worker
1101*d5c09012SAndroid Build Coastguard Worker  // None of the data from `ContactSettings` is publicly available. Instead,
1102*d5c09012SAndroid Build Coastguard Worker  // proxy contact data is published for your domain. Email sent to the proxy
1103*d5c09012SAndroid Build Coastguard Worker  // email address is forwarded to the registrant's email address. Cloud Domains
1104*d5c09012SAndroid Build Coastguard Worker  // provides this privacy proxy service at no additional cost.
1105*d5c09012SAndroid Build Coastguard Worker  PRIVATE_CONTACT_DATA = 2;
1106*d5c09012SAndroid Build Coastguard Worker
1107*d5c09012SAndroid Build Coastguard Worker  // Some data from `ContactSettings` is publicly available. The actual
1108*d5c09012SAndroid Build Coastguard Worker  // information redacted depends on the domain. For details, see [the
1109*d5c09012SAndroid Build Coastguard Worker  // registration privacy
1110*d5c09012SAndroid Build Coastguard Worker  // article](https://support.google.com/domains/answer/3251242).
1111*d5c09012SAndroid Build Coastguard Worker  REDACTED_CONTACT_DATA = 3;
1112*d5c09012SAndroid Build Coastguard Worker}
1113*d5c09012SAndroid Build Coastguard Worker
1114*d5c09012SAndroid Build Coastguard Worker// Notices about special properties of certain domains.
1115*d5c09012SAndroid Build Coastguard Workerenum DomainNotice {
1116*d5c09012SAndroid Build Coastguard Worker  // The notice is undefined.
1117*d5c09012SAndroid Build Coastguard Worker  DOMAIN_NOTICE_UNSPECIFIED = 0;
1118*d5c09012SAndroid Build Coastguard Worker
1119*d5c09012SAndroid Build Coastguard Worker  // Indicates that the domain is preloaded on the HTTP Strict Transport
1120*d5c09012SAndroid Build Coastguard Worker  // Security list in browsers. Serving a website on such domain requires
1121*d5c09012SAndroid Build Coastguard Worker  // an SSL certificate. For details, see
1122*d5c09012SAndroid Build Coastguard Worker  // [how to get an SSL
1123*d5c09012SAndroid Build Coastguard Worker  // certificate](https://support.google.com/domains/answer/7638036).
1124*d5c09012SAndroid Build Coastguard Worker  HSTS_PRELOADED = 1;
1125*d5c09012SAndroid Build Coastguard Worker}
1126*d5c09012SAndroid Build Coastguard Worker
1127*d5c09012SAndroid Build Coastguard Worker// Notices related to contact information.
1128*d5c09012SAndroid Build Coastguard Workerenum ContactNotice {
1129*d5c09012SAndroid Build Coastguard Worker  // The notice is undefined.
1130*d5c09012SAndroid Build Coastguard Worker  CONTACT_NOTICE_UNSPECIFIED = 0;
1131*d5c09012SAndroid Build Coastguard Worker
1132*d5c09012SAndroid Build Coastguard Worker  // Required when setting the `privacy` field of `ContactSettings` to
1133*d5c09012SAndroid Build Coastguard Worker  // `PUBLIC_CONTACT_DATA`, which exposes contact data publicly.
1134*d5c09012SAndroid Build Coastguard Worker  PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT = 1;
1135*d5c09012SAndroid Build Coastguard Worker}
1136*d5c09012SAndroid Build Coastguard Worker
1137*d5c09012SAndroid Build Coastguard Worker// Possible states of a `Registration`'s transfer lock.
1138*d5c09012SAndroid Build Coastguard Workerenum TransferLockState {
1139*d5c09012SAndroid Build Coastguard Worker  // The state is unspecified.
1140*d5c09012SAndroid Build Coastguard Worker  TRANSFER_LOCK_STATE_UNSPECIFIED = 0;
1141*d5c09012SAndroid Build Coastguard Worker
1142*d5c09012SAndroid Build Coastguard Worker  // The domain is unlocked and can be transferred to another registrar.
1143*d5c09012SAndroid Build Coastguard Worker  UNLOCKED = 1;
1144*d5c09012SAndroid Build Coastguard Worker
1145*d5c09012SAndroid Build Coastguard Worker  // The domain is locked and cannot be transferred to another registrar.
1146*d5c09012SAndroid Build Coastguard Worker  LOCKED = 2;
1147*d5c09012SAndroid Build Coastguard Worker}
1148