google-cloud-domains-v1beta1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Domains
23
+ module V1beta1
24
+ VERSION = "0.1.0"
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,4 @@
1
+ # Cloud Domains V1beta1 Protocol Buffer Documentation
2
+
3
+ These files are for the YARD documentation of the generated protobuf files.
4
+ They are not intended to be required or loaded at runtime.
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Api
22
+ # An indicator of the behavior of a given field (for example, that a field
23
+ # is required in requests, or given as output but ignored as input).
24
+ # This **does not** change the behavior in protocol buffers itself; it only
25
+ # denotes the behavior and may affect how API tooling handles the field.
26
+ #
27
+ # Note: This enum **may** receive new values in the future.
28
+ module FieldBehavior
29
+ # Conventional default for enums. Do not use this.
30
+ FIELD_BEHAVIOR_UNSPECIFIED = 0
31
+
32
+ # Specifically denotes a field as optional.
33
+ # While all fields in protocol buffers are optional, this may be specified
34
+ # for emphasis if appropriate.
35
+ OPTIONAL = 1
36
+
37
+ # Denotes a field as required.
38
+ # This indicates that the field **must** be provided as part of the request,
39
+ # and failure to do so will cause an error (usually `INVALID_ARGUMENT`).
40
+ REQUIRED = 2
41
+
42
+ # Denotes a field as output only.
43
+ # This indicates that the field is provided in responses, but including the
44
+ # field in a request does nothing (the server *must* ignore it and
45
+ # *must not* throw an error as a result of the field's presence).
46
+ OUTPUT_ONLY = 3
47
+
48
+ # Denotes a field as input only.
49
+ # This indicates that the field is provided in requests, and the
50
+ # corresponding field is not included in output.
51
+ INPUT_ONLY = 4
52
+
53
+ # Denotes a field as immutable.
54
+ # This indicates that the field may be set once in a request to create a
55
+ # resource, but may not be changed thereafter.
56
+ IMMUTABLE = 5
57
+
58
+ # Denotes that a (repeated) field is an unordered list.
59
+ # This indicates that the service may provide the elements of the list
60
+ # in any arbitrary order, rather than the order the user originally
61
+ # provided. Additionally, the list's order may or may not be stable.
62
+ UNORDERED_LIST = 6
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,283 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Api
22
+ # A simple descriptor of a resource type.
23
+ #
24
+ # ResourceDescriptor annotates a resource message (either by means of a
25
+ # protobuf annotation or use in the service config), and associates the
26
+ # resource's schema, the resource type, and the pattern of the resource name.
27
+ #
28
+ # Example:
29
+ #
30
+ # message Topic {
31
+ # // Indicates this message defines a resource schema.
32
+ # // Declares the resource type in the format of {service}/{kind}.
33
+ # // For Kubernetes resources, the format is {api group}/{kind}.
34
+ # option (google.api.resource) = {
35
+ # type: "pubsub.googleapis.com/Topic"
36
+ # name_descriptor: {
37
+ # pattern: "projects/{project}/topics/{topic}"
38
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
39
+ # parent_name_extractor: "projects/{project}"
40
+ # }
41
+ # };
42
+ # }
43
+ #
44
+ # The ResourceDescriptor Yaml config will look like:
45
+ #
46
+ # resources:
47
+ # - type: "pubsub.googleapis.com/Topic"
48
+ # name_descriptor:
49
+ # - pattern: "projects/{project}/topics/{topic}"
50
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
51
+ # parent_name_extractor: "projects/{project}"
52
+ #
53
+ # Sometimes, resources have multiple patterns, typically because they can
54
+ # live under multiple parents.
55
+ #
56
+ # Example:
57
+ #
58
+ # message LogEntry {
59
+ # option (google.api.resource) = {
60
+ # type: "logging.googleapis.com/LogEntry"
61
+ # name_descriptor: {
62
+ # pattern: "projects/{project}/logs/{log}"
63
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
64
+ # parent_name_extractor: "projects/{project}"
65
+ # }
66
+ # name_descriptor: {
67
+ # pattern: "folders/{folder}/logs/{log}"
68
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
69
+ # parent_name_extractor: "folders/{folder}"
70
+ # }
71
+ # name_descriptor: {
72
+ # pattern: "organizations/{organization}/logs/{log}"
73
+ # parent_type: "cloudresourcemanager.googleapis.com/Organization"
74
+ # parent_name_extractor: "organizations/{organization}"
75
+ # }
76
+ # name_descriptor: {
77
+ # pattern: "billingAccounts/{billing_account}/logs/{log}"
78
+ # parent_type: "billing.googleapis.com/BillingAccount"
79
+ # parent_name_extractor: "billingAccounts/{billing_account}"
80
+ # }
81
+ # };
82
+ # }
83
+ #
84
+ # The ResourceDescriptor Yaml config will look like:
85
+ #
86
+ # resources:
87
+ # - type: 'logging.googleapis.com/LogEntry'
88
+ # name_descriptor:
89
+ # - pattern: "projects/{project}/logs/{log}"
90
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
91
+ # parent_name_extractor: "projects/{project}"
92
+ # - pattern: "folders/{folder}/logs/{log}"
93
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
94
+ # parent_name_extractor: "folders/{folder}"
95
+ # - pattern: "organizations/{organization}/logs/{log}"
96
+ # parent_type: "cloudresourcemanager.googleapis.com/Organization"
97
+ # parent_name_extractor: "organizations/{organization}"
98
+ # - pattern: "billingAccounts/{billing_account}/logs/{log}"
99
+ # parent_type: "billing.googleapis.com/BillingAccount"
100
+ # parent_name_extractor: "billingAccounts/{billing_account}"
101
+ #
102
+ # For flexible resources, the resource name doesn't contain parent names, but
103
+ # the resource itself has parents for policy evaluation.
104
+ #
105
+ # Example:
106
+ #
107
+ # message Shelf {
108
+ # option (google.api.resource) = {
109
+ # type: "library.googleapis.com/Shelf"
110
+ # name_descriptor: {
111
+ # pattern: "shelves/{shelf}"
112
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
113
+ # }
114
+ # name_descriptor: {
115
+ # pattern: "shelves/{shelf}"
116
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
117
+ # }
118
+ # };
119
+ # }
120
+ #
121
+ # The ResourceDescriptor Yaml config will look like:
122
+ #
123
+ # resources:
124
+ # - type: 'library.googleapis.com/Shelf'
125
+ # name_descriptor:
126
+ # - pattern: "shelves/{shelf}"
127
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
128
+ # - pattern: "shelves/{shelf}"
129
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
130
+ # @!attribute [rw] type
131
+ # @return [::String]
132
+ # The resource type. It must be in the format of
133
+ # \\{service_name}/\\{resource_type_kind}. The `resource_type_kind` must be
134
+ # singular and must not include version numbers.
135
+ #
136
+ # Example: `storage.googleapis.com/Bucket`
137
+ #
138
+ # The value of the resource_type_kind must follow the regular expression
139
+ # /[A-Za-z][a-zA-Z0-9]+/. It should start with an upper case character and
140
+ # should use PascalCase (UpperCamelCase). The maximum number of
141
+ # characters allowed for the `resource_type_kind` is 100.
142
+ # @!attribute [rw] pattern
143
+ # @return [::Array<::String>]
144
+ # Optional. The relative resource name pattern associated with this resource
145
+ # type. The DNS prefix of the full resource name shouldn't be specified here.
146
+ #
147
+ # The path pattern must follow the syntax, which aligns with HTTP binding
148
+ # syntax:
149
+ #
150
+ # Template = Segment { "/" Segment } ;
151
+ # Segment = LITERAL | Variable ;
152
+ # Variable = "{" LITERAL "}" ;
153
+ #
154
+ # Examples:
155
+ #
156
+ # - "projects/\\{project}/topics/\\{topic}"
157
+ # - "projects/\\{project}/knowledgeBases/\\{knowledge_base}"
158
+ #
159
+ # The components in braces correspond to the IDs for each resource in the
160
+ # hierarchy. It is expected that, if multiple patterns are provided,
161
+ # the same component name (e.g. "project") refers to IDs of the same
162
+ # type of resource.
163
+ # @!attribute [rw] name_field
164
+ # @return [::String]
165
+ # Optional. The field on the resource that designates the resource name
166
+ # field. If omitted, this is assumed to be "name".
167
+ # @!attribute [rw] history
168
+ # @return [::Google::Api::ResourceDescriptor::History]
169
+ # Optional. The historical or future-looking state of the resource pattern.
170
+ #
171
+ # Example:
172
+ #
173
+ # // The InspectTemplate message originally only supported resource
174
+ # // names with organization, and project was added later.
175
+ # message InspectTemplate {
176
+ # option (google.api.resource) = {
177
+ # type: "dlp.googleapis.com/InspectTemplate"
178
+ # pattern:
179
+ # "organizations/{organization}/inspectTemplates/{inspect_template}"
180
+ # pattern: "projects/{project}/inspectTemplates/{inspect_template}"
181
+ # history: ORIGINALLY_SINGLE_PATTERN
182
+ # };
183
+ # }
184
+ # @!attribute [rw] plural
185
+ # @return [::String]
186
+ # The plural name used in the resource name and permission names, such as
187
+ # 'projects' for the resource name of 'projects/\\{project}' and the permission
188
+ # name of 'cloudresourcemanager.googleapis.com/projects.get'. It is the same
189
+ # concept of the `plural` field in k8s CRD spec
190
+ # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
191
+ #
192
+ # Note: The plural form is required even for singleton resources. See
193
+ # https://aip.dev/156
194
+ # @!attribute [rw] singular
195
+ # @return [::String]
196
+ # The same concept of the `singular` field in k8s CRD spec
197
+ # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
198
+ # Such as "project" for the `resourcemanager.googleapis.com/Project` type.
199
+ # @!attribute [rw] style
200
+ # @return [::Array<::Google::Api::ResourceDescriptor::Style>]
201
+ # Style flag(s) for this resource.
202
+ # These indicate that a resource is expected to conform to a given
203
+ # style. See the specific style flags for additional information.
204
+ class ResourceDescriptor
205
+ include ::Google::Protobuf::MessageExts
206
+ extend ::Google::Protobuf::MessageExts::ClassMethods
207
+
208
+ # A description of the historical or future-looking state of the
209
+ # resource pattern.
210
+ module History
211
+ # The "unset" value.
212
+ HISTORY_UNSPECIFIED = 0
213
+
214
+ # The resource originally had one pattern and launched as such, and
215
+ # additional patterns were added later.
216
+ ORIGINALLY_SINGLE_PATTERN = 1
217
+
218
+ # The resource has one pattern, but the API owner expects to add more
219
+ # later. (This is the inverse of ORIGINALLY_SINGLE_PATTERN, and prevents
220
+ # that from being necessary once there are multiple patterns.)
221
+ FUTURE_MULTI_PATTERN = 2
222
+ end
223
+
224
+ # A flag representing a specific style that a resource claims to conform to.
225
+ module Style
226
+ # The unspecified value. Do not use.
227
+ STYLE_UNSPECIFIED = 0
228
+
229
+ # This resource is intended to be "declarative-friendly".
230
+ #
231
+ # Declarative-friendly resources must be more strictly consistent, and
232
+ # setting this to true communicates to tools that this resource should
233
+ # adhere to declarative-friendly expectations.
234
+ #
235
+ # Note: This is used by the API linter (linter.aip.dev) to enable
236
+ # additional checks.
237
+ DECLARATIVE_FRIENDLY = 1
238
+ end
239
+ end
240
+
241
+ # Defines a proto annotation that describes a string field that refers to
242
+ # an API resource.
243
+ # @!attribute [rw] type
244
+ # @return [::String]
245
+ # The resource type that the annotated field references.
246
+ #
247
+ # Example:
248
+ #
249
+ # message Subscription {
250
+ # string topic = 2 [(google.api.resource_reference) = {
251
+ # type: "pubsub.googleapis.com/Topic"
252
+ # }];
253
+ # }
254
+ #
255
+ # Occasionally, a field may reference an arbitrary resource. In this case,
256
+ # APIs use the special value * in their resource reference.
257
+ #
258
+ # Example:
259
+ #
260
+ # message GetIamPolicyRequest {
261
+ # string resource = 2 [(google.api.resource_reference) = {
262
+ # type: "*"
263
+ # }];
264
+ # }
265
+ # @!attribute [rw] child_type
266
+ # @return [::String]
267
+ # The resource type of a child collection that the annotated field
268
+ # references. This is useful for annotating the `parent` field that
269
+ # doesn't have a fixed resource type.
270
+ #
271
+ # Example:
272
+ #
273
+ # message ListLogEntriesRequest {
274
+ # string parent = 1 [(google.api.resource_reference) = {
275
+ # child_type: "logging.googleapis.com/LogEntry"
276
+ # };
277
+ # }
278
+ class ResourceReference
279
+ include ::Google::Protobuf::MessageExts
280
+ extend ::Google::Protobuf::MessageExts::ClassMethods
281
+ end
282
+ end
283
+ end
@@ -0,0 +1,805 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Domains
23
+ module V1beta1
24
+ # The `Registration` resource facilitates managing and configuring domain name
25
+ # registrations.
26
+ #
27
+ #
28
+ # To create a new `Registration` resource, find a suitable domain name by
29
+ # calling the `SearchDomains` method with a query to see available domain name
30
+ # options. After choosing a name, call `RetrieveRegisterParameters` to
31
+ # ensure availability and obtain information like pricing, which is needed to
32
+ # build a call to `RegisterDomain`.
33
+ # @!attribute [r] name
34
+ # @return [::String]
35
+ # Output only. Name of the `Registration` resource, in the format
36
+ # `projects/*/locations/*/registrations/<domain_name>`.
37
+ # @!attribute [rw] domain_name
38
+ # @return [::String]
39
+ # Required. Immutable. The domain name. Unicode domain names must be expressed in Punycode format.
40
+ # @!attribute [r] create_time
41
+ # @return [::Google::Protobuf::Timestamp]
42
+ # Output only. The creation timestamp of the `Registration` resource.
43
+ # @!attribute [r] expire_time
44
+ # @return [::Google::Protobuf::Timestamp]
45
+ # Output only. The expiration timestamp of the `Registration`.
46
+ # @!attribute [r] state
47
+ # @return [::Google::Cloud::Domains::V1beta1::Registration::State]
48
+ # Output only. The state of the `Registration`
49
+ # @!attribute [r] issues
50
+ # @return [::Array<::Google::Cloud::Domains::V1beta1::Registration::Issue>]
51
+ # Output only. The set of issues with the `Registration` that require attention.
52
+ # @!attribute [rw] labels
53
+ # @return [::Google::Protobuf::Map{::String => ::String}]
54
+ # Set of labels associated with the `Registration`.
55
+ # @!attribute [rw] management_settings
56
+ # @return [::Google::Cloud::Domains::V1beta1::ManagementSettings]
57
+ # Settings for management of the `Registration`, including renewal, billing,
58
+ # and transfer. You cannot update these with the `UpdateRegistration`
59
+ # method. To update these settings, use the `ConfigureManagementSettings`
60
+ # method.
61
+ # @!attribute [rw] dns_settings
62
+ # @return [::Google::Cloud::Domains::V1beta1::DnsSettings]
63
+ # Settings controlling the DNS configuration of the `Registration`. You
64
+ # cannot update these with the `UpdateRegistration` method. To update these
65
+ # settings, use the `ConfigureDnsSettings` method.
66
+ # @!attribute [rw] contact_settings
67
+ # @return [::Google::Cloud::Domains::V1beta1::ContactSettings]
68
+ # Required. Settings for contact information linked to the `Registration`. You cannot
69
+ # update these with the `UpdateRegistration` method. To update these
70
+ # settings, use the `ConfigureContactSettings` method.
71
+ # @!attribute [r] pending_contact_settings
72
+ # @return [::Google::Cloud::Domains::V1beta1::ContactSettings]
73
+ # Output only. Pending contact settings for the `Registration`. Updates to the
74
+ # `contact_settings` field that change its `registrant_contact` or `privacy`
75
+ # fields require email confirmation by the `registrant_contact`
76
+ # before taking effect. This field is set only if there are pending updates
77
+ # to the `contact_settings` that have not yet been confirmed. To confirm the
78
+ # changes, the `registrant_contact` must follow the instructions in the
79
+ # email they receive.
80
+ # @!attribute [r] supported_privacy
81
+ # @return [::Array<::Google::Cloud::Domains::V1beta1::ContactPrivacy>]
82
+ # Output only. Set of options for the `contact_settings.privacy` field that this
83
+ # `Registration` supports.
84
+ class Registration
85
+ include ::Google::Protobuf::MessageExts
86
+ extend ::Google::Protobuf::MessageExts::ClassMethods
87
+
88
+ # @!attribute [rw] key
89
+ # @return [::String]
90
+ # @!attribute [rw] value
91
+ # @return [::String]
92
+ class LabelsEntry
93
+ include ::Google::Protobuf::MessageExts
94
+ extend ::Google::Protobuf::MessageExts::ClassMethods
95
+ end
96
+
97
+ # Possible states of a `Registration`.
98
+ module State
99
+ # The state is undefined.
100
+ STATE_UNSPECIFIED = 0
101
+
102
+ # The domain is being registered.
103
+ REGISTRATION_PENDING = 1
104
+
105
+ # The domain registration failed. You can delete resources in this state
106
+ # to allow registration to be retried.
107
+ REGISTRATION_FAILED = 2
108
+
109
+ # The domain is registered and operational. The domain renews automatically
110
+ # as long as it remains in this state.
111
+ ACTIVE = 6
112
+
113
+ # The domain is suspended and inoperative. For more details, see the
114
+ # `issues` field.
115
+ SUSPENDED = 7
116
+
117
+ # The domain has been exported from Cloud Domains to
118
+ # [Google Domains](https://domains.google/). You can no longer update it
119
+ # with this API, and information shown about it may be stale. Without further action, domains in this
120
+ # state expire at their `expire_time`. You can delete the resource
121
+ # after the `expire_time` has passed.
122
+ EXPORTED = 8
123
+ end
124
+
125
+ # Possible issues with a `Registration` that require attention.
126
+ module Issue
127
+ # The issue is undefined.
128
+ ISSUE_UNSPECIFIED = 0
129
+
130
+ # Contact the Cloud Support team to resolve a problem with this domain.
131
+ CONTACT_SUPPORT = 1
132
+
133
+ # [ICANN](https://icann.org/) requires verification of the email address
134
+ # in the `Registration`'s `contact_settings.registrant_contact` field. To
135
+ # verify the email address, follow the
136
+ # instructions in the email the `registrant_contact` receives following
137
+ # registration. If you do not complete email verification within
138
+ # 14 days of registration, the domain is suspended. To resend the
139
+ # verification email, call ConfigureContactSettings and provide the current
140
+ # `registrant_contact.email`.
141
+ UNVERIFIED_EMAIL = 2
142
+ end
143
+ end
144
+
145
+ # Defines renewal, billing, and transfer settings for a `Registration`.
146
+ # @!attribute [r] renewal_method
147
+ # @return [::Google::Cloud::Domains::V1beta1::ManagementSettings::RenewalMethod]
148
+ # Output only. The renewal method for this `Registration`.
149
+ # @!attribute [rw] transfer_lock_state
150
+ # @return [::Google::Cloud::Domains::V1beta1::TransferLockState]
151
+ # Controls whether the domain can be transferred to another registrar.
152
+ class ManagementSettings
153
+ include ::Google::Protobuf::MessageExts
154
+ extend ::Google::Protobuf::MessageExts::ClassMethods
155
+
156
+ # Defines how the `Registration` is renewed.
157
+ module RenewalMethod
158
+ # The renewal method is undefined.
159
+ RENEWAL_METHOD_UNSPECIFIED = 0
160
+
161
+ # The domain is automatically renewed each year .
162
+ #
163
+ # To disable automatic renewals, export the domain by calling
164
+ # `ExportRegistration` .
165
+ AUTOMATIC_RENEWAL = 1
166
+
167
+ # The domain must be explicitly renewed each year before its
168
+ # `expire_time`. This option is only available when the `Registration`
169
+ # is in state `EXPORTED`.
170
+ #
171
+ # To manage the domain's current billing and
172
+ # renewal settings, go to [Google Domains](https://domains.google/).
173
+ MANUAL_RENEWAL = 2
174
+ end
175
+ end
176
+
177
+ # Defines the DNS configuration of a `Registration`, including name servers,
178
+ # DNSSEC, and glue records.
179
+ # @!attribute [rw] custom_dns
180
+ # @return [::Google::Cloud::Domains::V1beta1::DnsSettings::CustomDns]
181
+ # An arbitrary DNS provider identified by its name servers.
182
+ # @!attribute [rw] google_domains_dns
183
+ # @return [::Google::Cloud::Domains::V1beta1::DnsSettings::GoogleDomainsDns]
184
+ # The free DNS zone provided by
185
+ # [Google Domains](https://domains.google/).
186
+ # @!attribute [rw] glue_records
187
+ # @return [::Array<::Google::Cloud::Domains::V1beta1::DnsSettings::GlueRecord>]
188
+ # The list of glue records for this `Registration`. Commonly empty.
189
+ class DnsSettings
190
+ include ::Google::Protobuf::MessageExts
191
+ extend ::Google::Protobuf::MessageExts::ClassMethods
192
+
193
+ # Configuration for an arbitrary DNS provider.
194
+ # @!attribute [rw] name_servers
195
+ # @return [::Array<::String>]
196
+ # Required. A list of name servers that store the DNS zone for this domain. Each name
197
+ # server is a domain name, with Unicode domain names expressed in
198
+ # Punycode format.
199
+ # @!attribute [rw] ds_records
200
+ # @return [::Array<::Google::Cloud::Domains::V1beta1::DnsSettings::DsRecord>]
201
+ # The list of DS records for this domain, which are used to enable DNSSEC.
202
+ # The domain's DNS provider can provide the values to set here. If this
203
+ # field is empty, DNSSEC is disabled.
204
+ class CustomDns
205
+ include ::Google::Protobuf::MessageExts
206
+ extend ::Google::Protobuf::MessageExts::ClassMethods
207
+ end
208
+
209
+ # Configuration for using the free DNS zone provided by Google Domains as a
210
+ # `Registration`'s `dns_provider`. You cannot configure the DNS zone itself
211
+ # using the API. To configure the DNS zone, go to
212
+ # [Google Domains](https://domains.google/).
213
+ # @!attribute [r] name_servers
214
+ # @return [::Array<::String>]
215
+ # Output only. A list of name servers that store the DNS zone for this domain. Each name
216
+ # server is a domain name, with Unicode domain names expressed in
217
+ # Punycode format. This field is automatically populated with the name
218
+ # servers assigned to the Google Domains DNS zone.
219
+ # @!attribute [rw] ds_state
220
+ # @return [::Google::Cloud::Domains::V1beta1::DnsSettings::DsState]
221
+ # Required. The state of DS records for this domain. Used to enable or disable
222
+ # automatic DNSSEC.
223
+ # @!attribute [r] ds_records
224
+ # @return [::Array<::Google::Cloud::Domains::V1beta1::DnsSettings::DsRecord>]
225
+ # Output only. The list of DS records published for this domain. The list is
226
+ # automatically populated when `ds_state` is `DS_RECORDS_PUBLISHED`,
227
+ # otherwise it remains empty.
228
+ class GoogleDomainsDns
229
+ include ::Google::Protobuf::MessageExts
230
+ extend ::Google::Protobuf::MessageExts::ClassMethods
231
+ end
232
+
233
+ # Defines a Delegation Signer (DS) record, which is needed to enable DNSSEC
234
+ # for a domain. It contains a digest (hash) of a DNSKEY record that must be
235
+ # present in the domain's DNS zone.
236
+ # @!attribute [rw] key_tag
237
+ # @return [::Integer]
238
+ # The key tag of the record. Must be set in range 0 -- 65535.
239
+ # @!attribute [rw] algorithm
240
+ # @return [::Google::Cloud::Domains::V1beta1::DnsSettings::DsRecord::Algorithm]
241
+ # The algorithm used to generate the referenced DNSKEY.
242
+ # @!attribute [rw] digest_type
243
+ # @return [::Google::Cloud::Domains::V1beta1::DnsSettings::DsRecord::DigestType]
244
+ # The hash function used to generate the digest of the referenced DNSKEY.
245
+ # @!attribute [rw] digest
246
+ # @return [::String]
247
+ # The digest generated from the referenced DNSKEY.
248
+ class DsRecord
249
+ include ::Google::Protobuf::MessageExts
250
+ extend ::Google::Protobuf::MessageExts::ClassMethods
251
+
252
+ # List of algorithms used to create a DNSKEY. Certain
253
+ # algorithms are not supported for particular domains.
254
+ module Algorithm
255
+ # The algorithm is unspecified.
256
+ ALGORITHM_UNSPECIFIED = 0
257
+
258
+ # DSA/SHA1. Not recommended for new deployments.
259
+ DSA = 3
260
+
261
+ # ECC. Not recommended for new deployments.
262
+ ECC = 4
263
+
264
+ # RSA/SHA-1. Not recommended for new deployments.
265
+ RSASHA1 = 5
266
+
267
+ # DSA-NSEC3-SHA1. Not recommended for new deployments.
268
+ DSANSEC3SHA1 = 6
269
+
270
+ # RSA/SHA1-NSEC3-SHA1. Not recommended for new deployments.
271
+ RSASHA1NSEC3SHA1 = 7
272
+
273
+ # RSA/SHA-256.
274
+ RSASHA256 = 8
275
+
276
+ # RSA/SHA-512.
277
+ RSASHA512 = 10
278
+
279
+ # GOST R 34.10-2001.
280
+ ECCGOST = 12
281
+
282
+ # ECDSA Curve P-256 with SHA-256.
283
+ ECDSAP256SHA256 = 13
284
+
285
+ # ECDSA Curve P-384 with SHA-384.
286
+ ECDSAP384SHA384 = 14
287
+
288
+ # Ed25519.
289
+ ED25519 = 15
290
+
291
+ # Ed448.
292
+ ED448 = 16
293
+ end
294
+
295
+ # List of hash functions that may have been used to generate a digest of a
296
+ # DNSKEY.
297
+ module DigestType
298
+ # The DigestType is unspecified.
299
+ DIGEST_TYPE_UNSPECIFIED = 0
300
+
301
+ # SHA-1. Not recommended for new deployments.
302
+ SHA1 = 1
303
+
304
+ # SHA-256.
305
+ SHA256 = 2
306
+
307
+ # GOST R 34.11-94.
308
+ GOST3411 = 3
309
+
310
+ # SHA-384.
311
+ SHA384 = 4
312
+ end
313
+ end
314
+
315
+ # Defines a host on your domain that is a DNS name server for your domain
316
+ # and/or other domains. Glue records are a way of making the IP address of a
317
+ # name server known, even when it serves DNS queries for its parent domain.
318
+ # For example, when `ns.example.com` is a name server for `example.com`, the
319
+ # host `ns.example.com` must have a glue record to break the circular DNS
320
+ # reference.
321
+ # @!attribute [rw] host_name
322
+ # @return [::String]
323
+ # Required. Domain name of the host in Punycode format.
324
+ # @!attribute [rw] ipv4_addresses
325
+ # @return [::Array<::String>]
326
+ # List of IPv4 addresses corresponding to this host in the standard decimal
327
+ # format (e.g. `198.51.100.1`). At least one of `ipv4_address` and
328
+ # `ipv6_address` must be set.
329
+ # @!attribute [rw] ipv6_addresses
330
+ # @return [::Array<::String>]
331
+ # List of IPv6 addresses corresponding to this host in the standard
332
+ # hexadecimal format (e.g. `2001:db8::`). At least one of
333
+ # `ipv4_address` and `ipv6_address` must be set.
334
+ class GlueRecord
335
+ include ::Google::Protobuf::MessageExts
336
+ extend ::Google::Protobuf::MessageExts::ClassMethods
337
+ end
338
+
339
+ # The publication state of DS records for a `Registration`.
340
+ module DsState
341
+ # DS state is unspecified.
342
+ DS_STATE_UNSPECIFIED = 0
343
+
344
+ # DNSSEC is disabled for this domain. No DS records for this domain are
345
+ # published in the parent DNS zone.
346
+ DS_RECORDS_UNPUBLISHED = 1
347
+
348
+ # DNSSEC is enabled for this domain. Appropriate DS records for this domain
349
+ # are published in the parent DNS zone. This option is valid only if the
350
+ # DNS zone referenced in the `Registration`'s `dns_provider` field is
351
+ # already DNSSEC-signed.
352
+ DS_RECORDS_PUBLISHED = 2
353
+ end
354
+ end
355
+
356
+ # Defines the contact information associated with a `Registration`.
357
+ #
358
+ # [ICANN](https://icann.org/) requires all domain names to have associated
359
+ # contact information. The `registrant_contact` is considered the
360
+ # domain's legal owner, and often the other contacts are identical.
361
+ # @!attribute [rw] privacy
362
+ # @return [::Google::Cloud::Domains::V1beta1::ContactPrivacy]
363
+ # Required. Privacy setting for the contacts associated with the `Registration`.
364
+ # @!attribute [rw] registrant_contact
365
+ # @return [::Google::Cloud::Domains::V1beta1::ContactSettings::Contact]
366
+ # Required. The registrant contact for the `Registration`.
367
+ #
368
+ # *Caution: Anyone with access to this email address, phone number,
369
+ # and/or postal address can take control of the domain.*
370
+ #
371
+ # *Warning: For new `Registration`s, the registrant will receive an email
372
+ # confirmation that they must complete within 14 days to avoid domain
373
+ # suspension.*
374
+ # @!attribute [rw] admin_contact
375
+ # @return [::Google::Cloud::Domains::V1beta1::ContactSettings::Contact]
376
+ # Required. The administrative contact for the `Registration`.
377
+ # @!attribute [rw] technical_contact
378
+ # @return [::Google::Cloud::Domains::V1beta1::ContactSettings::Contact]
379
+ # Required. The technical contact for the `Registration`.
380
+ class ContactSettings
381
+ include ::Google::Protobuf::MessageExts
382
+ extend ::Google::Protobuf::MessageExts::ClassMethods
383
+
384
+ # Details required for a contact associated with a `Registration`.
385
+ # @!attribute [rw] postal_address
386
+ # @return [::Google::Type::PostalAddress]
387
+ # Required. Postal address of the contact.
388
+ # @!attribute [rw] email
389
+ # @return [::String]
390
+ # Required. Email address of the contact.
391
+ # @!attribute [rw] phone_number
392
+ # @return [::String]
393
+ # Required. Phone number of the contact in international format. For example,
394
+ # `"+1-800-555-0123"`.
395
+ # @!attribute [rw] fax_number
396
+ # @return [::String]
397
+ # Fax number of the contact in international format. For example,
398
+ # `"+1-800-555-0123"`.
399
+ class Contact
400
+ include ::Google::Protobuf::MessageExts
401
+ extend ::Google::Protobuf::MessageExts::ClassMethods
402
+ end
403
+ end
404
+
405
+ # Request for the `SearchDomains` method.
406
+ # @!attribute [rw] query
407
+ # @return [::String]
408
+ # Required. String used to search for available domain names.
409
+ # @!attribute [rw] location
410
+ # @return [::String]
411
+ # Required. The location. Must be in the format `projects/*/locations/*`.
412
+ class SearchDomainsRequest
413
+ include ::Google::Protobuf::MessageExts
414
+ extend ::Google::Protobuf::MessageExts::ClassMethods
415
+ end
416
+
417
+ # Response for the `SearchDomains` method.
418
+ # @!attribute [rw] register_parameters
419
+ # @return [::Array<::Google::Cloud::Domains::V1beta1::RegisterParameters>]
420
+ # Results of the domain name search.
421
+ class SearchDomainsResponse
422
+ include ::Google::Protobuf::MessageExts
423
+ extend ::Google::Protobuf::MessageExts::ClassMethods
424
+ end
425
+
426
+ # Request for the `RetrieveRegisterParameters` method.
427
+ # @!attribute [rw] domain_name
428
+ # @return [::String]
429
+ # Required. The domain name. Unicode domain names must be expressed in Punycode format.
430
+ # @!attribute [rw] location
431
+ # @return [::String]
432
+ # Required. The location. Must be in the format `projects/*/locations/*`.
433
+ class RetrieveRegisterParametersRequest
434
+ include ::Google::Protobuf::MessageExts
435
+ extend ::Google::Protobuf::MessageExts::ClassMethods
436
+ end
437
+
438
+ # Response for the `RetrieveRegisterParameters` method.
439
+ # @!attribute [rw] register_parameters
440
+ # @return [::Google::Cloud::Domains::V1beta1::RegisterParameters]
441
+ # Parameters to use when calling the `RegisterDomain` method.
442
+ class RetrieveRegisterParametersResponse
443
+ include ::Google::Protobuf::MessageExts
444
+ extend ::Google::Protobuf::MessageExts::ClassMethods
445
+ end
446
+
447
+ # Request for the `RegisterDomain` method.
448
+ # @!attribute [rw] parent
449
+ # @return [::String]
450
+ # Required. The parent resource of the `Registration`. Must be in the
451
+ # format `projects/*/locations/*`.
452
+ # @!attribute [rw] registration
453
+ # @return [::Google::Cloud::Domains::V1beta1::Registration]
454
+ # Required. The complete `Registration` resource to be created.
455
+ # @!attribute [rw] domain_notices
456
+ # @return [::Array<::Google::Cloud::Domains::V1beta1::DomainNotice>]
457
+ # The list of domain notices that you acknowledge. Call
458
+ # `RetrieveRegisterParameters` to see the notices that need acknowledgement.
459
+ # @!attribute [rw] contact_notices
460
+ # @return [::Array<::Google::Cloud::Domains::V1beta1::ContactNotice>]
461
+ # The list of contact notices that the caller acknowledges. The notices
462
+ # required here depend on the values specified in
463
+ # `registration.contact_settings`.
464
+ # @!attribute [rw] yearly_price
465
+ # @return [::Google::Type::Money]
466
+ # Required. Yearly price to register or renew the domain.
467
+ # The value that should be put here can be obtained from
468
+ # RetrieveRegisterParameters or SearchDomains calls.
469
+ # @!attribute [rw] validate_only
470
+ # @return [::Boolean]
471
+ # When true, only validation will be performed, without actually registering
472
+ # the domain. Follows:
473
+ # https://cloud.google.com/apis/design/design_patterns#request_validation
474
+ class RegisterDomainRequest
475
+ include ::Google::Protobuf::MessageExts
476
+ extend ::Google::Protobuf::MessageExts::ClassMethods
477
+ end
478
+
479
+ # Request for the `ListRegistrations` method.
480
+ # @!attribute [rw] parent
481
+ # @return [::String]
482
+ # Required. The project and location from which to list `Registration`s, specified in
483
+ # the format `projects/*/locations/*`.
484
+ # @!attribute [rw] page_size
485
+ # @return [::Integer]
486
+ # Maximum number of results to return.
487
+ # @!attribute [rw] page_token
488
+ # @return [::String]
489
+ # When set to the `next_page_token` from a prior response, provides the next
490
+ # page of results.
491
+ # @!attribute [rw] filter
492
+ # @return [::String]
493
+ # Filter expression to restrict the `Registration`s returned.
494
+ #
495
+ # The expression must specify the field name, a comparison operator, and the
496
+ # value that you want to use for filtering. The value must be a string, a
497
+ # number, a boolean, or an enum value. The comparison operator should be one
498
+ # of =, !=, >, <, >=, <=, or : for prefix or wildcard matches.
499
+ #
500
+ # For example, to filter to a specific domain name, use an expression like
501
+ # `domainName="example.com"`. You can also check for the existence of a
502
+ # field; for example, to find domains using custom DNS settings, use an
503
+ # expression like `dnsSettings.customDns:*`.
504
+ #
505
+ # You can also create compound filters by combining expressions with the
506
+ # `AND` and `OR` operators. For example, to find domains that are suspended
507
+ # or have specific issues flagged, use an expression like
508
+ # `(state=SUSPENDED) OR (issue:*)`.
509
+ class ListRegistrationsRequest
510
+ include ::Google::Protobuf::MessageExts
511
+ extend ::Google::Protobuf::MessageExts::ClassMethods
512
+ end
513
+
514
+ # Response for the `ListRegistrations` method.
515
+ # @!attribute [rw] registrations
516
+ # @return [::Array<::Google::Cloud::Domains::V1beta1::Registration>]
517
+ # A list of `Registration`s.
518
+ # @!attribute [rw] next_page_token
519
+ # @return [::String]
520
+ # When present, there are more results to retrieve. Set `page_token` to this
521
+ # value on a subsequent call to get the next page of results.
522
+ class ListRegistrationsResponse
523
+ include ::Google::Protobuf::MessageExts
524
+ extend ::Google::Protobuf::MessageExts::ClassMethods
525
+ end
526
+
527
+ # Request for the `GetRegistration` method.
528
+ # @!attribute [rw] name
529
+ # @return [::String]
530
+ # Required. The name of the `Registration` to get, in the format
531
+ # `projects/*/locations/*/registrations/*`.
532
+ class GetRegistrationRequest
533
+ include ::Google::Protobuf::MessageExts
534
+ extend ::Google::Protobuf::MessageExts::ClassMethods
535
+ end
536
+
537
+ # Request for the `UpdateRegistration` method.
538
+ # @!attribute [rw] registration
539
+ # @return [::Google::Cloud::Domains::V1beta1::Registration]
540
+ # Fields of the `Registration` to update.
541
+ # @!attribute [rw] update_mask
542
+ # @return [::Google::Protobuf::FieldMask]
543
+ # Required. The field mask describing which fields to update as a comma-separated list.
544
+ # For example, if only the labels are being updated, the `update_mask` would
545
+ # be `"labels"`.
546
+ class UpdateRegistrationRequest
547
+ include ::Google::Protobuf::MessageExts
548
+ extend ::Google::Protobuf::MessageExts::ClassMethods
549
+ end
550
+
551
+ # Request for the `ConfigureManagementSettings` method.
552
+ # @!attribute [rw] registration
553
+ # @return [::String]
554
+ # Required. The name of the `Registration` whose management settings are being updated,
555
+ # in the format `projects/*/locations/*/registrations/*`.
556
+ # @!attribute [rw] management_settings
557
+ # @return [::Google::Cloud::Domains::V1beta1::ManagementSettings]
558
+ # Fields of the `ManagementSettings` to update.
559
+ # @!attribute [rw] update_mask
560
+ # @return [::Google::Protobuf::FieldMask]
561
+ # Required. The field mask describing which fields to update as a comma-separated list.
562
+ # For example, if only the transfer lock is being updated, the `update_mask`
563
+ # would be `"transfer_lock_state"`.
564
+ class ConfigureManagementSettingsRequest
565
+ include ::Google::Protobuf::MessageExts
566
+ extend ::Google::Protobuf::MessageExts::ClassMethods
567
+ end
568
+
569
+ # Request for the `ConfigureDnsSettings` method.
570
+ # @!attribute [rw] registration
571
+ # @return [::String]
572
+ # Required. The name of the `Registration` whose DNS settings are being updated,
573
+ # in the format `projects/*/locations/*/registrations/*`.
574
+ # @!attribute [rw] dns_settings
575
+ # @return [::Google::Cloud::Domains::V1beta1::DnsSettings]
576
+ # Fields of the `DnsSettings` to update.
577
+ # @!attribute [rw] update_mask
578
+ # @return [::Google::Protobuf::FieldMask]
579
+ # Required. The field mask describing which fields to update as a comma-separated list.
580
+ # For example, if only the name servers are being updated for an existing
581
+ # Custom DNS configuration, the `update_mask` would be
582
+ # `"custom_dns.name_servers"`.
583
+ #
584
+ # When changing the DNS provider from one type to another, pass the new
585
+ # provider's field name as part of the field mask. For example, when changing
586
+ # from a Google Domains DNS configuration to a Custom DNS configuration, the
587
+ # `update_mask` would be `"custom_dns"`. //
588
+ # @!attribute [rw] validate_only
589
+ # @return [::Boolean]
590
+ # Validate the request without actually updating the DNS settings.
591
+ class ConfigureDnsSettingsRequest
592
+ include ::Google::Protobuf::MessageExts
593
+ extend ::Google::Protobuf::MessageExts::ClassMethods
594
+ end
595
+
596
+ # Request for the `ConfigureContactSettings` method.
597
+ # @!attribute [rw] registration
598
+ # @return [::String]
599
+ # Required. The name of the `Registration` whose contact settings are being updated,
600
+ # in the format `projects/*/locations/*/registrations/*`.
601
+ # @!attribute [rw] contact_settings
602
+ # @return [::Google::Cloud::Domains::V1beta1::ContactSettings]
603
+ # Fields of the `ContactSettings` to update.
604
+ # @!attribute [rw] update_mask
605
+ # @return [::Google::Protobuf::FieldMask]
606
+ # Required. The field mask describing which fields to update as a comma-separated list.
607
+ # For example, if only the registrant contact is being updated, the
608
+ # `update_mask` would be `"registrant_contact"`.
609
+ # @!attribute [rw] contact_notices
610
+ # @return [::Array<::Google::Cloud::Domains::V1beta1::ContactNotice>]
611
+ # The list of contact notices that the caller acknowledges. The notices
612
+ # required here depend on the values specified in `contact_settings`.
613
+ # @!attribute [rw] validate_only
614
+ # @return [::Boolean]
615
+ # Validate the request without actually updating the contact settings.
616
+ class ConfigureContactSettingsRequest
617
+ include ::Google::Protobuf::MessageExts
618
+ extend ::Google::Protobuf::MessageExts::ClassMethods
619
+ end
620
+
621
+ # Request for the `ExportRegistration` method.
622
+ # @!attribute [rw] name
623
+ # @return [::String]
624
+ # Required. The name of the `Registration` to export,
625
+ # in the format `projects/*/locations/*/registrations/*`.
626
+ class ExportRegistrationRequest
627
+ include ::Google::Protobuf::MessageExts
628
+ extend ::Google::Protobuf::MessageExts::ClassMethods
629
+ end
630
+
631
+ # Request for the `DeleteRegistration` method.
632
+ # @!attribute [rw] name
633
+ # @return [::String]
634
+ # Required. The name of the `Registration` to delete,
635
+ # in the format `projects/*/locations/*/registrations/*`.
636
+ class DeleteRegistrationRequest
637
+ include ::Google::Protobuf::MessageExts
638
+ extend ::Google::Protobuf::MessageExts::ClassMethods
639
+ end
640
+
641
+ # Request for the `RetrieveAuthorizationCode` method.
642
+ # @!attribute [rw] registration
643
+ # @return [::String]
644
+ # Required. The name of the `Registration` whose authorization code is being retrieved,
645
+ # in the format `projects/*/locations/*/registrations/*`.
646
+ class RetrieveAuthorizationCodeRequest
647
+ include ::Google::Protobuf::MessageExts
648
+ extend ::Google::Protobuf::MessageExts::ClassMethods
649
+ end
650
+
651
+ # Request for the `ResetAuthorizationCode` method.
652
+ # @!attribute [rw] registration
653
+ # @return [::String]
654
+ # Required. The name of the `Registration` whose authorization code is being reset,
655
+ # in the format `projects/*/locations/*/registrations/*`.
656
+ class ResetAuthorizationCodeRequest
657
+ include ::Google::Protobuf::MessageExts
658
+ extend ::Google::Protobuf::MessageExts::ClassMethods
659
+ end
660
+
661
+ # Parameters required to register a new domain.
662
+ # @!attribute [rw] domain_name
663
+ # @return [::String]
664
+ # The domain name. Unicode domain names are expressed in Punycode format.
665
+ # @!attribute [rw] availability
666
+ # @return [::Google::Cloud::Domains::V1beta1::RegisterParameters::Availability]
667
+ # Indicates whether the domain is available for registration. This value is
668
+ # accurate when obtained by calling `RetrieveRegisterParameters`, but is
669
+ # approximate when obtained by calling `SearchDomains`.
670
+ # @!attribute [rw] supported_privacy
671
+ # @return [::Array<::Google::Cloud::Domains::V1beta1::ContactPrivacy>]
672
+ # Contact privacy options that the domain supports.
673
+ # @!attribute [rw] domain_notices
674
+ # @return [::Array<::Google::Cloud::Domains::V1beta1::DomainNotice>]
675
+ # Notices about special properties of the domain.
676
+ # @!attribute [rw] yearly_price
677
+ # @return [::Google::Type::Money]
678
+ # Price to register or renew the domain for one year.
679
+ class RegisterParameters
680
+ include ::Google::Protobuf::MessageExts
681
+ extend ::Google::Protobuf::MessageExts::ClassMethods
682
+
683
+ # Possible availability states of a domain name.
684
+ module Availability
685
+ # The availability is unspecified.
686
+ AVAILABILITY_UNSPECIFIED = 0
687
+
688
+ # The domain is available for registration.
689
+ AVAILABLE = 1
690
+
691
+ # The domain is not available for registration. Generally this means it is
692
+ # already registered to another party.
693
+ UNAVAILABLE = 2
694
+
695
+ # The domain is not currently supported by Cloud Domains, but may
696
+ # be available elsewhere.
697
+ UNSUPPORTED = 3
698
+
699
+ # Cloud Domains is unable to determine domain availability, generally
700
+ # due to system maintenance at the domain name registry.
701
+ UNKNOWN = 4
702
+ end
703
+ end
704
+
705
+ # Defines an authorization code.
706
+ # @!attribute [rw] code
707
+ # @return [::String]
708
+ # The Authorization Code in ASCII. It can be used to transfer the domain
709
+ # to or from another registrar.
710
+ class AuthorizationCode
711
+ include ::Google::Protobuf::MessageExts
712
+ extend ::Google::Protobuf::MessageExts::ClassMethods
713
+ end
714
+
715
+ # Represents the metadata of the long-running operation. Output only.
716
+ # @!attribute [rw] create_time
717
+ # @return [::Google::Protobuf::Timestamp]
718
+ # The time the operation was created.
719
+ # @!attribute [rw] end_time
720
+ # @return [::Google::Protobuf::Timestamp]
721
+ # The time the operation finished running.
722
+ # @!attribute [rw] target
723
+ # @return [::String]
724
+ # Server-defined resource path for the target of the operation.
725
+ # @!attribute [rw] verb
726
+ # @return [::String]
727
+ # Name of the verb executed by the operation.
728
+ # @!attribute [rw] status_detail
729
+ # @return [::String]
730
+ # Human-readable status of the operation, if any.
731
+ # @!attribute [rw] api_version
732
+ # @return [::String]
733
+ # API version used to start the operation.
734
+ class OperationMetadata
735
+ include ::Google::Protobuf::MessageExts
736
+ extend ::Google::Protobuf::MessageExts::ClassMethods
737
+ end
738
+
739
+ # Defines a set of possible contact privacy settings for a `Registration`.
740
+ #
741
+ # [ICANN](https://icann.org/) maintains the WHOIS database, a publicly
742
+ # accessible mapping from domain name to contact information, and requires that
743
+ # each domain name have an entry. Choose from these options to control how much
744
+ # information in your `ContactSettings` is published.
745
+ module ContactPrivacy
746
+ # The contact privacy settings are undefined.
747
+ CONTACT_PRIVACY_UNSPECIFIED = 0
748
+
749
+ # All the data from `ContactSettings` is publicly available. When setting
750
+ # this option, you must also provide a
751
+ # `PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT` in the `contact_notices` field of the
752
+ # request.
753
+ PUBLIC_CONTACT_DATA = 1
754
+
755
+ # None of the data from `ContactSettings` is publicly available. Instead,
756
+ # proxy contact data is published for your domain. Email sent to the proxy
757
+ # email address is forwarded to the registrant's email address. Cloud Domains
758
+ # provides this privacy proxy service at no additional cost.
759
+ PRIVATE_CONTACT_DATA = 2
760
+
761
+ # Some data from `ContactSettings` is publicly available. The actual
762
+ # information redacted depends on the domain. For details, see [the
763
+ # registration privacy
764
+ # article](https://support.google.com/domains/answer/3251242).
765
+ REDACTED_CONTACT_DATA = 3
766
+ end
767
+
768
+ # Notices about special properties of certain domains.
769
+ module DomainNotice
770
+ # The notice is undefined.
771
+ DOMAIN_NOTICE_UNSPECIFIED = 0
772
+
773
+ # Indicates that the domain is preloaded on the HTTP Strict Transport
774
+ # Security list in browsers. Serving a website on such domain requires
775
+ # an SSL certificate. For details, see
776
+ # [how to get an SSL
777
+ # certificate](https://support.google.com/domains/answer/7638036).
778
+ HSTS_PRELOADED = 1
779
+ end
780
+
781
+ # Notices related to contact information.
782
+ module ContactNotice
783
+ # The notice is undefined.
784
+ CONTACT_NOTICE_UNSPECIFIED = 0
785
+
786
+ # Required when setting the `privacy` field of `ContactSettings` to
787
+ # `PUBLIC_CONTACT_DATA`, which exposes contact data publicly.
788
+ PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT = 1
789
+ end
790
+
791
+ # Possible states of a `Registration`'s transfer lock.
792
+ module TransferLockState
793
+ # The state is unspecified.
794
+ TRANSFER_LOCK_STATE_UNSPECIFIED = 0
795
+
796
+ # The domain is unlocked and can be transferred to another registrar.
797
+ UNLOCKED = 1
798
+
799
+ # The domain is locked and cannot be transferred to another registrar.
800
+ LOCKED = 2
801
+ end
802
+ end
803
+ end
804
+ end
805
+ end