google-cloud-domains-v1beta1 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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