google-api-client 0.46.1 → 0.46.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (151) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/autoapprove.yml +49 -0
  3. data/.gitignore +2 -0
  4. data/CHANGELOG.md +58 -0
  5. data/api_list_config.yaml +8 -0
  6. data/bin/generate-api +77 -15
  7. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  8. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +30 -30
  9. data/generated/google/apis/admin_directory_v1.rb +1 -1
  10. data/generated/google/apis/admin_directory_v1/classes.rb +135 -0
  11. data/generated/google/apis/admin_directory_v1/representations.rb +62 -0
  12. data/generated/google/apis/admin_directory_v1/service.rb +72 -0
  13. data/generated/google/apis/admin_reports_v1.rb +1 -1
  14. data/generated/google/apis/admob_v1.rb +1 -1
  15. data/generated/google/apis/admob_v1/classes.rb +29 -29
  16. data/generated/google/apis/analyticsadmin_v1alpha.rb +1 -1
  17. data/generated/google/apis/analyticsadmin_v1alpha/classes.rb +6 -6
  18. data/generated/google/apis/analyticsadmin_v1alpha/service.rb +8 -9
  19. data/generated/google/apis/analyticsdata_v1alpha.rb +1 -1
  20. data/generated/google/apis/analyticsdata_v1alpha/classes.rb +1 -1
  21. data/generated/google/apis/analyticsdata_v1alpha/service.rb +7 -7
  22. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  23. data/generated/google/apis/androidpublisher_v3/service.rb +5 -2
  24. data/generated/google/apis/artifactregistry_v1beta1.rb +1 -1
  25. data/generated/google/apis/artifactregistry_v1beta1/classes.rb +7 -0
  26. data/generated/google/apis/artifactregistry_v1beta1/representations.rb +1 -0
  27. data/generated/google/apis/bigquery_v2.rb +1 -1
  28. data/generated/google/apis/bigquery_v2/classes.rb +80 -5
  29. data/generated/google/apis/bigquery_v2/representations.rb +33 -0
  30. data/generated/google/apis/bigquery_v2/service.rb +46 -0
  31. data/generated/google/apis/billingbudgets_v1.rb +1 -1
  32. data/generated/google/apis/billingbudgets_v1/classes.rb +1 -1
  33. data/generated/google/apis/billingbudgets_v1beta1.rb +1 -1
  34. data/generated/google/apis/billingbudgets_v1beta1/classes.rb +1 -1
  35. data/generated/google/apis/civicinfo_v2.rb +1 -1
  36. data/generated/google/apis/civicinfo_v2/classes.rb +0 -24
  37. data/generated/google/apis/civicinfo_v2/representations.rb +0 -3
  38. data/generated/google/apis/classroom_v1.rb +1 -1
  39. data/generated/google/apis/classroom_v1/classes.rb +21 -21
  40. data/generated/google/apis/container_v1.rb +1 -1
  41. data/generated/google/apis/container_v1/classes.rb +22 -10
  42. data/generated/google/apis/container_v1beta1.rb +1 -1
  43. data/generated/google/apis/container_v1beta1/classes.rb +22 -10
  44. data/generated/google/apis/content_v2.rb +1 -1
  45. data/generated/google/apis/content_v2_1.rb +1 -1
  46. data/generated/google/apis/content_v2_1/classes.rb +6 -3
  47. data/generated/google/apis/displayvideo_v1.rb +1 -1
  48. data/generated/google/apis/displayvideo_v1/classes.rb +30 -30
  49. data/generated/google/apis/displayvideo_v1/service.rb +8 -8
  50. data/generated/google/apis/dlp_v2.rb +1 -1
  51. data/generated/google/apis/dlp_v2/classes.rb +4 -3
  52. data/generated/google/apis/dns_v1.rb +1 -1
  53. data/generated/google/apis/dns_v1/classes.rb +181 -0
  54. data/generated/google/apis/dns_v1/representations.rb +83 -0
  55. data/generated/google/apis/dns_v1beta2.rb +1 -1
  56. data/generated/google/apis/dns_v1beta2/classes.rb +181 -0
  57. data/generated/google/apis/dns_v1beta2/representations.rb +83 -0
  58. data/generated/google/apis/domains_v1alpha2.rb +34 -0
  59. data/generated/google/apis/domains_v1alpha2/classes.rb +1534 -0
  60. data/generated/google/apis/domains_v1alpha2/representations.rb +605 -0
  61. data/generated/google/apis/domains_v1alpha2/service.rb +805 -0
  62. data/generated/google/apis/domains_v1beta1.rb +34 -0
  63. data/generated/google/apis/domains_v1beta1/classes.rb +1534 -0
  64. data/generated/google/apis/domains_v1beta1/representations.rb +605 -0
  65. data/generated/google/apis/domains_v1beta1/service.rb +805 -0
  66. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  67. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +1 -1
  68. data/generated/google/apis/doubleclickbidmanager_v1_1.rb +1 -1
  69. data/generated/google/apis/doubleclickbidmanager_v1_1/classes.rb +1 -1
  70. data/generated/google/apis/drive_v2.rb +1 -1
  71. data/generated/google/apis/drive_v2/classes.rb +2 -0
  72. data/generated/google/apis/drive_v3.rb +1 -1
  73. data/generated/google/apis/drive_v3/classes.rb +4 -2
  74. data/generated/google/apis/fitness_v1.rb +1 -1
  75. data/generated/google/apis/fitness_v1/service.rb +3 -1
  76. data/generated/google/apis/gameservices_v1.rb +1 -1
  77. data/generated/google/apis/gameservices_v1/classes.rb +15 -14
  78. data/generated/google/apis/gameservices_v1/service.rb +54 -51
  79. data/generated/google/apis/gameservices_v1beta.rb +1 -1
  80. data/generated/google/apis/gameservices_v1beta/classes.rb +15 -14
  81. data/generated/google/apis/gameservices_v1beta/service.rb +54 -51
  82. data/generated/google/apis/gmailpostmastertools_v1beta1.rb +1 -1
  83. data/generated/google/apis/gmailpostmastertools_v1beta1/service.rb +10 -10
  84. data/generated/google/apis/healthcare_v1.rb +1 -1
  85. data/generated/google/apis/healthcare_v1/classes.rb +4 -4
  86. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  87. data/generated/google/apis/healthcare_v1beta1/classes.rb +7 -6
  88. data/generated/google/apis/licensing_v1.rb +1 -1
  89. data/generated/google/apis/licensing_v1/service.rb +2 -2
  90. data/generated/google/apis/localservices_v1.rb +1 -1
  91. data/generated/google/apis/localservices_v1/service.rb +20 -20
  92. data/generated/google/apis/managedidentities_v1.rb +1 -1
  93. data/generated/google/apis/managedidentities_v1/classes.rb +1 -1
  94. data/generated/google/apis/managedidentities_v1/service.rb +1 -4
  95. data/generated/google/apis/managedidentities_v1alpha1.rb +1 -1
  96. data/generated/google/apis/managedidentities_v1alpha1/classes.rb +80 -9
  97. data/generated/google/apis/managedidentities_v1alpha1/representations.rb +33 -1
  98. data/generated/google/apis/managedidentities_v1alpha1/service.rb +83 -5
  99. data/generated/google/apis/managedidentities_v1beta1.rb +1 -1
  100. data/generated/google/apis/managedidentities_v1beta1/classes.rb +81 -9
  101. data/generated/google/apis/managedidentities_v1beta1/representations.rb +33 -1
  102. data/generated/google/apis/managedidentities_v1beta1/service.rb +83 -5
  103. data/generated/google/apis/monitoring_v3.rb +1 -1
  104. data/generated/google/apis/monitoring_v3/classes.rb +8 -8
  105. data/generated/google/apis/people_v1.rb +1 -1
  106. data/generated/google/apis/people_v1/classes.rb +45 -45
  107. data/generated/google/apis/playablelocations_v3.rb +1 -1
  108. data/generated/google/apis/playablelocations_v3/classes.rb +6 -6
  109. data/generated/google/apis/poly_v1.rb +3 -4
  110. data/generated/google/apis/poly_v1/classes.rb +65 -79
  111. data/generated/google/apis/poly_v1/service.rb +50 -63
  112. data/generated/google/apis/prod_tt_sasportal_v1alpha1.rb +1 -1
  113. data/generated/google/apis/prod_tt_sasportal_v1alpha1/service.rb +109 -0
  114. data/generated/google/apis/realtimebidding_v1.rb +1 -1
  115. data/generated/google/apis/realtimebidding_v1/classes.rb +33 -33
  116. data/generated/google/apis/realtimebidding_v1/service.rb +4 -4
  117. data/generated/google/apis/run_v1.rb +1 -1
  118. data/generated/google/apis/run_v1/classes.rb +7 -6
  119. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  120. data/generated/google/apis/servicenetworking_v1/classes.rb +107 -4
  121. data/generated/google/apis/servicenetworking_v1/representations.rb +34 -0
  122. data/generated/google/apis/servicenetworking_v1/service.rb +2 -2
  123. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  124. data/generated/google/apis/servicenetworking_v1beta/classes.rb +107 -4
  125. data/generated/google/apis/servicenetworking_v1beta/representations.rb +34 -0
  126. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  127. data/generated/google/apis/storagetransfer_v1/classes.rb +8 -0
  128. data/generated/google/apis/storagetransfer_v1/representations.rb +1 -0
  129. data/generated/google/apis/storagetransfer_v1/service.rb +17 -18
  130. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  131. data/generated/google/apis/streetviewpublish_v1/classes.rb +4 -4
  132. data/generated/google/apis/sts_v1beta.rb +1 -1
  133. data/generated/google/apis/sts_v1beta/classes.rb +12 -11
  134. data/generated/google/apis/tpu_v1.rb +1 -1
  135. data/generated/google/apis/tpu_v1/classes.rb +3 -3
  136. data/generated/google/apis/tpu_v1/service.rb +8 -8
  137. data/generated/google/apis/tpu_v1alpha1.rb +1 -1
  138. data/generated/google/apis/tpu_v1alpha1/classes.rb +3 -3
  139. data/generated/google/apis/tpu_v1alpha1/service.rb +8 -8
  140. data/generated/google/apis/vault_v1.rb +1 -1
  141. data/generated/google/apis/vault_v1/classes.rb +333 -0
  142. data/generated/google/apis/vault_v1/representations.rb +162 -0
  143. data/generated/google/apis/vault_v1/service.rb +151 -0
  144. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  145. data/generated/google/apis/youtube_v3.rb +1 -1
  146. data/generated/google/apis/youtube_v3/service.rb +2 -2
  147. data/google-api-client.gemspec +1 -1
  148. data/lib/google/apis/core/api_command.rb +1 -0
  149. data/lib/google/apis/version.rb +1 -1
  150. data/synth.py +40 -0
  151. metadata +13 -3
@@ -0,0 +1,34 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/domains_v1beta1/service.rb'
16
+ require 'google/apis/domains_v1beta1/classes.rb'
17
+ require 'google/apis/domains_v1beta1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Cloud Domains API
22
+ #
23
+ # Enables management and configuration of domain names.
24
+ #
25
+ # @see https://cloud.google.com/domains/
26
+ module DomainsV1beta1
27
+ VERSION = 'V1beta1'
28
+ REVISION = '20201013'
29
+
30
+ # View and manage your data across Google Cloud Platform services
31
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,1534 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module DomainsV1beta1
24
+
25
+ # Specifies the audit configuration for a service. The configuration determines
26
+ # which permission types are logged, and what identities, if any, are exempted
27
+ # from logging. An AuditConfig must have one or more AuditLogConfigs. If there
28
+ # are AuditConfigs for both `allServices` and a specific service, the union of
29
+ # the two AuditConfigs is used for that service: the log_types specified in each
30
+ # AuditConfig are enabled, and the exempted_members in each AuditLogConfig are
31
+ # exempted. Example Policy with multiple AuditConfigs: ` "audit_configs": [ ` "
32
+ # service": "allServices", "audit_log_configs": [ ` "log_type": "DATA_READ", "
33
+ # exempted_members": [ "user:jose@example.com" ] `, ` "log_type": "DATA_WRITE" `,
34
+ # ` "log_type": "ADMIN_READ" ` ] `, ` "service": "sampleservice.googleapis.com",
35
+ # "audit_log_configs": [ ` "log_type": "DATA_READ" `, ` "log_type": "DATA_WRITE"
36
+ # , "exempted_members": [ "user:aliya@example.com" ] ` ] ` ] ` For sampleservice,
37
+ # this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also
38
+ # exempts jose@example.com from DATA_READ logging, and aliya@example.com from
39
+ # DATA_WRITE logging.
40
+ class AuditConfig
41
+ include Google::Apis::Core::Hashable
42
+
43
+ # The configuration for logging of each type of permission.
44
+ # Corresponds to the JSON property `auditLogConfigs`
45
+ # @return [Array<Google::Apis::DomainsV1beta1::AuditLogConfig>]
46
+ attr_accessor :audit_log_configs
47
+
48
+ # Specifies a service that will be enabled for audit logging. For example, `
49
+ # storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special
50
+ # value that covers all services.
51
+ # Corresponds to the JSON property `service`
52
+ # @return [String]
53
+ attr_accessor :service
54
+
55
+ def initialize(**args)
56
+ update!(**args)
57
+ end
58
+
59
+ # Update properties of this object
60
+ def update!(**args)
61
+ @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
62
+ @service = args[:service] if args.key?(:service)
63
+ end
64
+ end
65
+
66
+ # Provides the configuration for logging a type of permissions. Example: ` "
67
+ # audit_log_configs": [ ` "log_type": "DATA_READ", "exempted_members": [ "user:
68
+ # jose@example.com" ] `, ` "log_type": "DATA_WRITE" ` ] ` This enables '
69
+ # DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from
70
+ # DATA_READ logging.
71
+ class AuditLogConfig
72
+ include Google::Apis::Core::Hashable
73
+
74
+ # Specifies the identities that do not cause logging for this type of permission.
75
+ # Follows the same format of Binding.members.
76
+ # Corresponds to the JSON property `exemptedMembers`
77
+ # @return [Array<String>]
78
+ attr_accessor :exempted_members
79
+
80
+ # The log type that this config enables.
81
+ # Corresponds to the JSON property `logType`
82
+ # @return [String]
83
+ attr_accessor :log_type
84
+
85
+ def initialize(**args)
86
+ update!(**args)
87
+ end
88
+
89
+ # Update properties of this object
90
+ def update!(**args)
91
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
92
+ @log_type = args[:log_type] if args.key?(:log_type)
93
+ end
94
+ end
95
+
96
+ # Defines an authorization code.
97
+ class AuthorizationCode
98
+ include Google::Apis::Core::Hashable
99
+
100
+ # The Authorization Code in ASCII. It can be used to transfer the domain to or
101
+ # from another registrar.
102
+ # Corresponds to the JSON property `code`
103
+ # @return [String]
104
+ attr_accessor :code
105
+
106
+ def initialize(**args)
107
+ update!(**args)
108
+ end
109
+
110
+ # Update properties of this object
111
+ def update!(**args)
112
+ @code = args[:code] if args.key?(:code)
113
+ end
114
+ end
115
+
116
+ # Associates `members` with a `role`.
117
+ class Binding
118
+ include Google::Apis::Core::Hashable
119
+
120
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
121
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
122
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
123
+ # "Summary size limit" description: "Determines if a summary is less than 100
124
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
125
+ # Requestor is owner" description: "Determines if requestor is the document
126
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
127
+ # Logic): title: "Public documents" description: "Determine whether the document
128
+ # should be publicly visible" expression: "document.type != 'private' &&
129
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
130
+ # string" description: "Create a notification string with a timestamp."
131
+ # expression: "'New message received at ' + string(document.create_time)" The
132
+ # exact variables and functions that may be referenced within an expression are
133
+ # determined by the service that evaluates it. See the service documentation for
134
+ # additional information.
135
+ # Corresponds to the JSON property `condition`
136
+ # @return [Google::Apis::DomainsV1beta1::Expr]
137
+ attr_accessor :condition
138
+
139
+ # Specifies the identities requesting access for a Cloud Platform resource. `
140
+ # members` can have the following values: * `allUsers`: A special identifier
141
+ # that represents anyone who is on the internet; with or without a Google
142
+ # account. * `allAuthenticatedUsers`: A special identifier that represents
143
+ # anyone who is authenticated with a Google account or a service account. * `
144
+ # user:`emailid``: An email address that represents a specific Google account.
145
+ # For example, `alice@example.com` . * `serviceAccount:`emailid``: An email
146
+ # address that represents a service account. For example, `my-other-app@appspot.
147
+ # gserviceaccount.com`. * `group:`emailid``: An email address that represents a
148
+ # Google group. For example, `admins@example.com`. * `deleted:user:`emailid`?uid=
149
+ # `uniqueid``: An email address (plus unique identifier) representing a user
150
+ # that has been recently deleted. For example, `alice@example.com?uid=
151
+ # 123456789012345678901`. If the user is recovered, this value reverts to `user:`
152
+ # emailid`` and the recovered user retains the role in the binding. * `deleted:
153
+ # serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus unique
154
+ # identifier) representing a service account that has been recently deleted. For
155
+ # example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
156
+ # If the service account is undeleted, this value reverts to `serviceAccount:`
157
+ # emailid`` and the undeleted service account retains the role in the binding. *
158
+ # `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
159
+ # identifier) representing a Google group that has been recently deleted. For
160
+ # example, `admins@example.com?uid=123456789012345678901`. If the group is
161
+ # recovered, this value reverts to `group:`emailid`` and the recovered group
162
+ # retains the role in the binding. * `domain:`domain``: The G Suite domain (
163
+ # primary) that represents all the users of that domain. For example, `google.
164
+ # com` or `example.com`.
165
+ # Corresponds to the JSON property `members`
166
+ # @return [Array<String>]
167
+ attr_accessor :members
168
+
169
+ # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`
170
+ # , or `roles/owner`.
171
+ # Corresponds to the JSON property `role`
172
+ # @return [String]
173
+ attr_accessor :role
174
+
175
+ def initialize(**args)
176
+ update!(**args)
177
+ end
178
+
179
+ # Update properties of this object
180
+ def update!(**args)
181
+ @condition = args[:condition] if args.key?(:condition)
182
+ @members = args[:members] if args.key?(:members)
183
+ @role = args[:role] if args.key?(:role)
184
+ end
185
+ end
186
+
187
+ # Request for the `ConfigureContactSettings` method.
188
+ class ConfigureContactSettingsRequest
189
+ include Google::Apis::Core::Hashable
190
+
191
+ # The list of contact notices that the caller acknowledges. The notices required
192
+ # here depend on the values specified in `contact_settings`.
193
+ # Corresponds to the JSON property `contactNotices`
194
+ # @return [Array<String>]
195
+ attr_accessor :contact_notices
196
+
197
+ # Defines the contact information associated with a `Registration`. [ICANN](
198
+ # https://icann.org/) requires all domain names to have associated contact
199
+ # information. The `registrant_contact` is considered the domain's legal owner,
200
+ # and often the other contacts are identical.
201
+ # Corresponds to the JSON property `contactSettings`
202
+ # @return [Google::Apis::DomainsV1beta1::ContactSettings]
203
+ attr_accessor :contact_settings
204
+
205
+ # Required. The field mask describing which fields to update as a comma-
206
+ # separated list. For example, if only the registrant contact is being updated,
207
+ # the `update_mask` would be `"registrant_contact"`.
208
+ # Corresponds to the JSON property `updateMask`
209
+ # @return [String]
210
+ attr_accessor :update_mask
211
+
212
+ # Validate the request without actually updating the contact settings.
213
+ # Corresponds to the JSON property `validateOnly`
214
+ # @return [Boolean]
215
+ attr_accessor :validate_only
216
+ alias_method :validate_only?, :validate_only
217
+
218
+ def initialize(**args)
219
+ update!(**args)
220
+ end
221
+
222
+ # Update properties of this object
223
+ def update!(**args)
224
+ @contact_notices = args[:contact_notices] if args.key?(:contact_notices)
225
+ @contact_settings = args[:contact_settings] if args.key?(:contact_settings)
226
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
227
+ @validate_only = args[:validate_only] if args.key?(:validate_only)
228
+ end
229
+ end
230
+
231
+ # Request for the `ConfigureDnsSettings` method.
232
+ class ConfigureDnsSettingsRequest
233
+ include Google::Apis::Core::Hashable
234
+
235
+ # Defines the DNS configuration of a `Registration`, including name servers,
236
+ # DNSSEC, and glue records.
237
+ # Corresponds to the JSON property `dnsSettings`
238
+ # @return [Google::Apis::DomainsV1beta1::DnsSettings]
239
+ attr_accessor :dns_settings
240
+
241
+ # Required. The field mask describing which fields to update as a comma-
242
+ # separated list. For example, if only the name servers are being updated for an
243
+ # existing Custom DNS configuration, the `update_mask` would be `"custom_dns.
244
+ # name_servers"`. When changing the DNS provider from one type to another, pass
245
+ # the new provider's field name as part of the field mask. For example, when
246
+ # changing from a Google Domains DNS configuration to a Custom DNS configuration,
247
+ # the `update_mask` would be `"custom_dns"`. //
248
+ # Corresponds to the JSON property `updateMask`
249
+ # @return [String]
250
+ attr_accessor :update_mask
251
+
252
+ # Validate the request without actually updating the DNS settings.
253
+ # Corresponds to the JSON property `validateOnly`
254
+ # @return [Boolean]
255
+ attr_accessor :validate_only
256
+ alias_method :validate_only?, :validate_only
257
+
258
+ def initialize(**args)
259
+ update!(**args)
260
+ end
261
+
262
+ # Update properties of this object
263
+ def update!(**args)
264
+ @dns_settings = args[:dns_settings] if args.key?(:dns_settings)
265
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
266
+ @validate_only = args[:validate_only] if args.key?(:validate_only)
267
+ end
268
+ end
269
+
270
+ # Request for the `ConfigureManagementSettings` method.
271
+ class ConfigureManagementSettingsRequest
272
+ include Google::Apis::Core::Hashable
273
+
274
+ # Defines renewal, billing, and transfer settings for a `Registration`.
275
+ # Corresponds to the JSON property `managementSettings`
276
+ # @return [Google::Apis::DomainsV1beta1::ManagementSettings]
277
+ attr_accessor :management_settings
278
+
279
+ # Required. The field mask describing which fields to update as a comma-
280
+ # separated list. For example, if only the transfer lock is being updated, the `
281
+ # update_mask` would be `"transfer_lock_state"`.
282
+ # Corresponds to the JSON property `updateMask`
283
+ # @return [String]
284
+ attr_accessor :update_mask
285
+
286
+ def initialize(**args)
287
+ update!(**args)
288
+ end
289
+
290
+ # Update properties of this object
291
+ def update!(**args)
292
+ @management_settings = args[:management_settings] if args.key?(:management_settings)
293
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
294
+ end
295
+ end
296
+
297
+ # Details required for a contact associated with a `Registration`.
298
+ class Contact
299
+ include Google::Apis::Core::Hashable
300
+
301
+ # Required. Email address of the contact.
302
+ # Corresponds to the JSON property `email`
303
+ # @return [String]
304
+ attr_accessor :email
305
+
306
+ # Fax number of the contact in international format. For example, `"+1-800-555-
307
+ # 0123"`.
308
+ # Corresponds to the JSON property `faxNumber`
309
+ # @return [String]
310
+ attr_accessor :fax_number
311
+
312
+ # Required. Phone number of the contact in international format. For example, `"+
313
+ # 1-800-555-0123"`.
314
+ # Corresponds to the JSON property `phoneNumber`
315
+ # @return [String]
316
+ attr_accessor :phone_number
317
+
318
+ # Represents a postal address, e.g. for postal delivery or payments addresses.
319
+ # Given a postal address, a postal service can deliver items to a premise, P.O.
320
+ # Box or similar. It is not intended to model geographical locations (roads,
321
+ # towns, mountains). In typical usage an address would be created via user input
322
+ # or from importing existing data, depending on the type of process. Advice on
323
+ # address input / editing: - Use an i18n-ready address widget such as https://
324
+ # github.com/google/libaddressinput) - Users should not be presented with UI
325
+ # elements for input or editing of fields outside countries where that field is
326
+ # used. For more guidance on how to use this schema, please see: https://support.
327
+ # google.com/business/answer/6397478
328
+ # Corresponds to the JSON property `postalAddress`
329
+ # @return [Google::Apis::DomainsV1beta1::PostalAddress]
330
+ attr_accessor :postal_address
331
+
332
+ def initialize(**args)
333
+ update!(**args)
334
+ end
335
+
336
+ # Update properties of this object
337
+ def update!(**args)
338
+ @email = args[:email] if args.key?(:email)
339
+ @fax_number = args[:fax_number] if args.key?(:fax_number)
340
+ @phone_number = args[:phone_number] if args.key?(:phone_number)
341
+ @postal_address = args[:postal_address] if args.key?(:postal_address)
342
+ end
343
+ end
344
+
345
+ # Defines the contact information associated with a `Registration`. [ICANN](
346
+ # https://icann.org/) requires all domain names to have associated contact
347
+ # information. The `registrant_contact` is considered the domain's legal owner,
348
+ # and often the other contacts are identical.
349
+ class ContactSettings
350
+ include Google::Apis::Core::Hashable
351
+
352
+ # Details required for a contact associated with a `Registration`.
353
+ # Corresponds to the JSON property `adminContact`
354
+ # @return [Google::Apis::DomainsV1beta1::Contact]
355
+ attr_accessor :admin_contact
356
+
357
+ # Required. Privacy setting for the contacts associated with the `Registration`.
358
+ # Corresponds to the JSON property `privacy`
359
+ # @return [String]
360
+ attr_accessor :privacy
361
+
362
+ # Details required for a contact associated with a `Registration`.
363
+ # Corresponds to the JSON property `registrantContact`
364
+ # @return [Google::Apis::DomainsV1beta1::Contact]
365
+ attr_accessor :registrant_contact
366
+
367
+ # Details required for a contact associated with a `Registration`.
368
+ # Corresponds to the JSON property `technicalContact`
369
+ # @return [Google::Apis::DomainsV1beta1::Contact]
370
+ attr_accessor :technical_contact
371
+
372
+ def initialize(**args)
373
+ update!(**args)
374
+ end
375
+
376
+ # Update properties of this object
377
+ def update!(**args)
378
+ @admin_contact = args[:admin_contact] if args.key?(:admin_contact)
379
+ @privacy = args[:privacy] if args.key?(:privacy)
380
+ @registrant_contact = args[:registrant_contact] if args.key?(:registrant_contact)
381
+ @technical_contact = args[:technical_contact] if args.key?(:technical_contact)
382
+ end
383
+ end
384
+
385
+ # Configuration for an arbitrary DNS provider.
386
+ class CustomDns
387
+ include Google::Apis::Core::Hashable
388
+
389
+ # The list of DS records for this domain, which are used to enable DNSSEC. The
390
+ # domain's DNS provider can provide the values to set here. If this field is
391
+ # empty, DNSSEC is disabled.
392
+ # Corresponds to the JSON property `dsRecords`
393
+ # @return [Array<Google::Apis::DomainsV1beta1::DsRecord>]
394
+ attr_accessor :ds_records
395
+
396
+ # Required. A list of name servers that store the DNS zone for this domain. Each
397
+ # name server is a domain name, with Unicode domain names expressed in Punycode
398
+ # format.
399
+ # Corresponds to the JSON property `nameServers`
400
+ # @return [Array<String>]
401
+ attr_accessor :name_servers
402
+
403
+ def initialize(**args)
404
+ update!(**args)
405
+ end
406
+
407
+ # Update properties of this object
408
+ def update!(**args)
409
+ @ds_records = args[:ds_records] if args.key?(:ds_records)
410
+ @name_servers = args[:name_servers] if args.key?(:name_servers)
411
+ end
412
+ end
413
+
414
+ # Defines the DNS configuration of a `Registration`, including name servers,
415
+ # DNSSEC, and glue records.
416
+ class DnsSettings
417
+ include Google::Apis::Core::Hashable
418
+
419
+ # Configuration for an arbitrary DNS provider.
420
+ # Corresponds to the JSON property `customDns`
421
+ # @return [Google::Apis::DomainsV1beta1::CustomDns]
422
+ attr_accessor :custom_dns
423
+
424
+ # The list of glue records for this `Registration`. Commonly empty.
425
+ # Corresponds to the JSON property `glueRecords`
426
+ # @return [Array<Google::Apis::DomainsV1beta1::GlueRecord>]
427
+ attr_accessor :glue_records
428
+
429
+ # Configuration for using the free DNS zone provided by Google Domains as a `
430
+ # Registration`'s `dns_provider`. You cannot configure the DNS zone itself using
431
+ # the API. To configure the DNS zone, go to [Google Domains](https://domains.
432
+ # google/).
433
+ # Corresponds to the JSON property `googleDomainsDns`
434
+ # @return [Google::Apis::DomainsV1beta1::GoogleDomainsDns]
435
+ attr_accessor :google_domains_dns
436
+
437
+ def initialize(**args)
438
+ update!(**args)
439
+ end
440
+
441
+ # Update properties of this object
442
+ def update!(**args)
443
+ @custom_dns = args[:custom_dns] if args.key?(:custom_dns)
444
+ @glue_records = args[:glue_records] if args.key?(:glue_records)
445
+ @google_domains_dns = args[:google_domains_dns] if args.key?(:google_domains_dns)
446
+ end
447
+ end
448
+
449
+ # Defines a Delegation Signer (DS) record, which is needed to enable DNSSEC for
450
+ # a domain. It contains a digest (hash) of a DNSKEY record that must be present
451
+ # in the domain's DNS zone.
452
+ class DsRecord
453
+ include Google::Apis::Core::Hashable
454
+
455
+ # The algorithm used to generate the referenced DNSKEY.
456
+ # Corresponds to the JSON property `algorithm`
457
+ # @return [String]
458
+ attr_accessor :algorithm
459
+
460
+ # The digest generated from the referenced DNSKEY.
461
+ # Corresponds to the JSON property `digest`
462
+ # @return [String]
463
+ attr_accessor :digest
464
+
465
+ # The hash function used to generate the digest of the referenced DNSKEY.
466
+ # Corresponds to the JSON property `digestType`
467
+ # @return [String]
468
+ attr_accessor :digest_type
469
+
470
+ # The key tag of the record. Must be set in range 0 -- 65535.
471
+ # Corresponds to the JSON property `keyTag`
472
+ # @return [Fixnum]
473
+ attr_accessor :key_tag
474
+
475
+ def initialize(**args)
476
+ update!(**args)
477
+ end
478
+
479
+ # Update properties of this object
480
+ def update!(**args)
481
+ @algorithm = args[:algorithm] if args.key?(:algorithm)
482
+ @digest = args[:digest] if args.key?(:digest)
483
+ @digest_type = args[:digest_type] if args.key?(:digest_type)
484
+ @key_tag = args[:key_tag] if args.key?(:key_tag)
485
+ end
486
+ end
487
+
488
+ # Request for the `ExportRegistration` method.
489
+ class ExportRegistrationRequest
490
+ include Google::Apis::Core::Hashable
491
+
492
+ def initialize(**args)
493
+ update!(**args)
494
+ end
495
+
496
+ # Update properties of this object
497
+ def update!(**args)
498
+ end
499
+ end
500
+
501
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
502
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
503
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
504
+ # "Summary size limit" description: "Determines if a summary is less than 100
505
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
506
+ # Requestor is owner" description: "Determines if requestor is the document
507
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
508
+ # Logic): title: "Public documents" description: "Determine whether the document
509
+ # should be publicly visible" expression: "document.type != 'private' &&
510
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
511
+ # string" description: "Create a notification string with a timestamp."
512
+ # expression: "'New message received at ' + string(document.create_time)" The
513
+ # exact variables and functions that may be referenced within an expression are
514
+ # determined by the service that evaluates it. See the service documentation for
515
+ # additional information.
516
+ class Expr
517
+ include Google::Apis::Core::Hashable
518
+
519
+ # Optional. Description of the expression. This is a longer text which describes
520
+ # the expression, e.g. when hovered over it in a UI.
521
+ # Corresponds to the JSON property `description`
522
+ # @return [String]
523
+ attr_accessor :description
524
+
525
+ # Textual representation of an expression in Common Expression Language syntax.
526
+ # Corresponds to the JSON property `expression`
527
+ # @return [String]
528
+ attr_accessor :expression
529
+
530
+ # Optional. String indicating the location of the expression for error reporting,
531
+ # e.g. a file name and a position in the file.
532
+ # Corresponds to the JSON property `location`
533
+ # @return [String]
534
+ attr_accessor :location
535
+
536
+ # Optional. Title for the expression, i.e. a short string describing its purpose.
537
+ # This can be used e.g. in UIs which allow to enter the expression.
538
+ # Corresponds to the JSON property `title`
539
+ # @return [String]
540
+ attr_accessor :title
541
+
542
+ def initialize(**args)
543
+ update!(**args)
544
+ end
545
+
546
+ # Update properties of this object
547
+ def update!(**args)
548
+ @description = args[:description] if args.key?(:description)
549
+ @expression = args[:expression] if args.key?(:expression)
550
+ @location = args[:location] if args.key?(:location)
551
+ @title = args[:title] if args.key?(:title)
552
+ end
553
+ end
554
+
555
+ # Defines a host on your domain that is a DNS name server for your domain and/or
556
+ # other domains. Glue records are a way of making the IP address of a name
557
+ # server known, even when it serves DNS queries for its parent domain. For
558
+ # example, when `ns.example.com` is a name server for `example.com`, the host `
559
+ # ns.example.com` must have a glue record to break the circular DNS reference.
560
+ class GlueRecord
561
+ include Google::Apis::Core::Hashable
562
+
563
+ # Required. Domain name of the host in Punycode format.
564
+ # Corresponds to the JSON property `hostName`
565
+ # @return [String]
566
+ attr_accessor :host_name
567
+
568
+ # List of IPv4 addresses corresponding to this host in the standard decimal
569
+ # format (e.g. `198.51.100.1`). At least one of `ipv4_address` and `ipv6_address`
570
+ # must be set.
571
+ # Corresponds to the JSON property `ipv4Addresses`
572
+ # @return [Array<String>]
573
+ attr_accessor :ipv4_addresses
574
+
575
+ # List of IPv6 addresses corresponding to this host in the standard hexadecimal
576
+ # format (e.g. `2001:db8::`). At least one of `ipv4_address` and `ipv6_address`
577
+ # must be set.
578
+ # Corresponds to the JSON property `ipv6Addresses`
579
+ # @return [Array<String>]
580
+ attr_accessor :ipv6_addresses
581
+
582
+ def initialize(**args)
583
+ update!(**args)
584
+ end
585
+
586
+ # Update properties of this object
587
+ def update!(**args)
588
+ @host_name = args[:host_name] if args.key?(:host_name)
589
+ @ipv4_addresses = args[:ipv4_addresses] if args.key?(:ipv4_addresses)
590
+ @ipv6_addresses = args[:ipv6_addresses] if args.key?(:ipv6_addresses)
591
+ end
592
+ end
593
+
594
+ # Configuration for using the free DNS zone provided by Google Domains as a `
595
+ # Registration`'s `dns_provider`. You cannot configure the DNS zone itself using
596
+ # the API. To configure the DNS zone, go to [Google Domains](https://domains.
597
+ # google/).
598
+ class GoogleDomainsDns
599
+ include Google::Apis::Core::Hashable
600
+
601
+ # Output only. The list of DS records published for this domain. The list is
602
+ # automatically populated when `ds_state` is `DS_RECORDS_PUBLISHED`, otherwise
603
+ # it remains empty.
604
+ # Corresponds to the JSON property `dsRecords`
605
+ # @return [Array<Google::Apis::DomainsV1beta1::DsRecord>]
606
+ attr_accessor :ds_records
607
+
608
+ # Required. The state of DS records for this domain. Used to enable or disable
609
+ # automatic DNSSEC.
610
+ # Corresponds to the JSON property `dsState`
611
+ # @return [String]
612
+ attr_accessor :ds_state
613
+
614
+ # Output only. A list of name servers that store the DNS zone for this domain.
615
+ # Each name server is a domain name, with Unicode domain names expressed in
616
+ # Punycode format. This field is automatically populated with the name servers
617
+ # assigned to the Google Domains DNS zone.
618
+ # Corresponds to the JSON property `nameServers`
619
+ # @return [Array<String>]
620
+ attr_accessor :name_servers
621
+
622
+ def initialize(**args)
623
+ update!(**args)
624
+ end
625
+
626
+ # Update properties of this object
627
+ def update!(**args)
628
+ @ds_records = args[:ds_records] if args.key?(:ds_records)
629
+ @ds_state = args[:ds_state] if args.key?(:ds_state)
630
+ @name_servers = args[:name_servers] if args.key?(:name_servers)
631
+ end
632
+ end
633
+
634
+ # The response message for Locations.ListLocations.
635
+ class ListLocationsResponse
636
+ include Google::Apis::Core::Hashable
637
+
638
+ # A list of locations that matches the specified filter in the request.
639
+ # Corresponds to the JSON property `locations`
640
+ # @return [Array<Google::Apis::DomainsV1beta1::Location>]
641
+ attr_accessor :locations
642
+
643
+ # The standard List next-page token.
644
+ # Corresponds to the JSON property `nextPageToken`
645
+ # @return [String]
646
+ attr_accessor :next_page_token
647
+
648
+ def initialize(**args)
649
+ update!(**args)
650
+ end
651
+
652
+ # Update properties of this object
653
+ def update!(**args)
654
+ @locations = args[:locations] if args.key?(:locations)
655
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
656
+ end
657
+ end
658
+
659
+ # The response message for Operations.ListOperations.
660
+ class ListOperationsResponse
661
+ include Google::Apis::Core::Hashable
662
+
663
+ # The standard List next-page token.
664
+ # Corresponds to the JSON property `nextPageToken`
665
+ # @return [String]
666
+ attr_accessor :next_page_token
667
+
668
+ # A list of operations that matches the specified filter in the request.
669
+ # Corresponds to the JSON property `operations`
670
+ # @return [Array<Google::Apis::DomainsV1beta1::Operation>]
671
+ attr_accessor :operations
672
+
673
+ def initialize(**args)
674
+ update!(**args)
675
+ end
676
+
677
+ # Update properties of this object
678
+ def update!(**args)
679
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
680
+ @operations = args[:operations] if args.key?(:operations)
681
+ end
682
+ end
683
+
684
+ # Response for the `ListRegistrations` method.
685
+ class ListRegistrationsResponse
686
+ include Google::Apis::Core::Hashable
687
+
688
+ # When present, there are more results to retrieve. Set `page_token` to this
689
+ # value on a subsequent call to get the next page of results.
690
+ # Corresponds to the JSON property `nextPageToken`
691
+ # @return [String]
692
+ attr_accessor :next_page_token
693
+
694
+ # A list of `Registration`s.
695
+ # Corresponds to the JSON property `registrations`
696
+ # @return [Array<Google::Apis::DomainsV1beta1::Registration>]
697
+ attr_accessor :registrations
698
+
699
+ def initialize(**args)
700
+ update!(**args)
701
+ end
702
+
703
+ # Update properties of this object
704
+ def update!(**args)
705
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
706
+ @registrations = args[:registrations] if args.key?(:registrations)
707
+ end
708
+ end
709
+
710
+ # A resource that represents Google Cloud Platform location.
711
+ class Location
712
+ include Google::Apis::Core::Hashable
713
+
714
+ # The friendly name for this location, typically a nearby city name. For example,
715
+ # "Tokyo".
716
+ # Corresponds to the JSON property `displayName`
717
+ # @return [String]
718
+ attr_accessor :display_name
719
+
720
+ # Cross-service attributes for the location. For example `"cloud.googleapis.com/
721
+ # region": "us-east1"`
722
+ # Corresponds to the JSON property `labels`
723
+ # @return [Hash<String,String>]
724
+ attr_accessor :labels
725
+
726
+ # The canonical id for this location. For example: `"us-east1"`.
727
+ # Corresponds to the JSON property `locationId`
728
+ # @return [String]
729
+ attr_accessor :location_id
730
+
731
+ # Service-specific metadata. For example the available capacity at the given
732
+ # location.
733
+ # Corresponds to the JSON property `metadata`
734
+ # @return [Hash<String,Object>]
735
+ attr_accessor :metadata
736
+
737
+ # Resource name for the location, which may vary between implementations. For
738
+ # example: `"projects/example-project/locations/us-east1"`
739
+ # Corresponds to the JSON property `name`
740
+ # @return [String]
741
+ attr_accessor :name
742
+
743
+ def initialize(**args)
744
+ update!(**args)
745
+ end
746
+
747
+ # Update properties of this object
748
+ def update!(**args)
749
+ @display_name = args[:display_name] if args.key?(:display_name)
750
+ @labels = args[:labels] if args.key?(:labels)
751
+ @location_id = args[:location_id] if args.key?(:location_id)
752
+ @metadata = args[:metadata] if args.key?(:metadata)
753
+ @name = args[:name] if args.key?(:name)
754
+ end
755
+ end
756
+
757
+ # Defines renewal, billing, and transfer settings for a `Registration`.
758
+ class ManagementSettings
759
+ include Google::Apis::Core::Hashable
760
+
761
+ # Output only. The renewal method for this `Registration`.
762
+ # Corresponds to the JSON property `renewalMethod`
763
+ # @return [String]
764
+ attr_accessor :renewal_method
765
+
766
+ # Controls whether the domain can be transferred to another registrar.
767
+ # Corresponds to the JSON property `transferLockState`
768
+ # @return [String]
769
+ attr_accessor :transfer_lock_state
770
+
771
+ def initialize(**args)
772
+ update!(**args)
773
+ end
774
+
775
+ # Update properties of this object
776
+ def update!(**args)
777
+ @renewal_method = args[:renewal_method] if args.key?(:renewal_method)
778
+ @transfer_lock_state = args[:transfer_lock_state] if args.key?(:transfer_lock_state)
779
+ end
780
+ end
781
+
782
+ # Represents an amount of money with its currency type.
783
+ class Money
784
+ include Google::Apis::Core::Hashable
785
+
786
+ # The three-letter currency code defined in ISO 4217.
787
+ # Corresponds to the JSON property `currencyCode`
788
+ # @return [String]
789
+ attr_accessor :currency_code
790
+
791
+ # Number of nano (10^-9) units of the amount. The value must be between -999,999,
792
+ # 999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be
793
+ # positive or zero. If `units` is zero, `nanos` can be positive, zero, or
794
+ # negative. If `units` is negative, `nanos` must be negative or zero. For
795
+ # example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
796
+ # Corresponds to the JSON property `nanos`
797
+ # @return [Fixnum]
798
+ attr_accessor :nanos
799
+
800
+ # The whole units of the amount. For example if `currencyCode` is `"USD"`, then
801
+ # 1 unit is one US dollar.
802
+ # Corresponds to the JSON property `units`
803
+ # @return [Fixnum]
804
+ attr_accessor :units
805
+
806
+ def initialize(**args)
807
+ update!(**args)
808
+ end
809
+
810
+ # Update properties of this object
811
+ def update!(**args)
812
+ @currency_code = args[:currency_code] if args.key?(:currency_code)
813
+ @nanos = args[:nanos] if args.key?(:nanos)
814
+ @units = args[:units] if args.key?(:units)
815
+ end
816
+ end
817
+
818
+ # This resource represents a long-running operation that is the result of a
819
+ # network API call.
820
+ class Operation
821
+ include Google::Apis::Core::Hashable
822
+
823
+ # If the value is `false`, it means the operation is still in progress. If `true`
824
+ # , the operation is completed, and either `error` or `response` is available.
825
+ # Corresponds to the JSON property `done`
826
+ # @return [Boolean]
827
+ attr_accessor :done
828
+ alias_method :done?, :done
829
+
830
+ # The `Status` type defines a logical error model that is suitable for different
831
+ # programming environments, including REST APIs and RPC APIs. It is used by [
832
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
833
+ # data: error code, error message, and error details. You can find out more
834
+ # about this error model and how to work with it in the [API Design Guide](https:
835
+ # //cloud.google.com/apis/design/errors).
836
+ # Corresponds to the JSON property `error`
837
+ # @return [Google::Apis::DomainsV1beta1::Status]
838
+ attr_accessor :error
839
+
840
+ # Service-specific metadata associated with the operation. It typically contains
841
+ # progress information and common metadata such as create time. Some services
842
+ # might not provide such metadata. Any method that returns a long-running
843
+ # operation should document the metadata type, if any.
844
+ # Corresponds to the JSON property `metadata`
845
+ # @return [Hash<String,Object>]
846
+ attr_accessor :metadata
847
+
848
+ # The server-assigned name, which is only unique within the same service that
849
+ # originally returns it. If you use the default HTTP mapping, the `name` should
850
+ # be a resource name ending with `operations/`unique_id``.
851
+ # Corresponds to the JSON property `name`
852
+ # @return [String]
853
+ attr_accessor :name
854
+
855
+ # The normal response of the operation in case of success. If the original
856
+ # method returns no data on success, such as `Delete`, the response is `google.
857
+ # protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`,
858
+ # the response should be the resource. For other methods, the response should
859
+ # have the type `XxxResponse`, where `Xxx` is the original method name. For
860
+ # example, if the original method name is `TakeSnapshot()`, the inferred
861
+ # response type is `TakeSnapshotResponse`.
862
+ # Corresponds to the JSON property `response`
863
+ # @return [Hash<String,Object>]
864
+ attr_accessor :response
865
+
866
+ def initialize(**args)
867
+ update!(**args)
868
+ end
869
+
870
+ # Update properties of this object
871
+ def update!(**args)
872
+ @done = args[:done] if args.key?(:done)
873
+ @error = args[:error] if args.key?(:error)
874
+ @metadata = args[:metadata] if args.key?(:metadata)
875
+ @name = args[:name] if args.key?(:name)
876
+ @response = args[:response] if args.key?(:response)
877
+ end
878
+ end
879
+
880
+ # Represents the metadata of the long-running operation. Output only.
881
+ class OperationMetadata
882
+ include Google::Apis::Core::Hashable
883
+
884
+ # API version used to start the operation.
885
+ # Corresponds to the JSON property `apiVersion`
886
+ # @return [String]
887
+ attr_accessor :api_version
888
+
889
+ # The time the operation was created.
890
+ # Corresponds to the JSON property `createTime`
891
+ # @return [String]
892
+ attr_accessor :create_time
893
+
894
+ # The time the operation finished running.
895
+ # Corresponds to the JSON property `endTime`
896
+ # @return [String]
897
+ attr_accessor :end_time
898
+
899
+ # Human-readable status of the operation, if any.
900
+ # Corresponds to the JSON property `statusDetail`
901
+ # @return [String]
902
+ attr_accessor :status_detail
903
+
904
+ # Server-defined resource path for the target of the operation.
905
+ # Corresponds to the JSON property `target`
906
+ # @return [String]
907
+ attr_accessor :target
908
+
909
+ # Name of the verb executed by the operation.
910
+ # Corresponds to the JSON property `verb`
911
+ # @return [String]
912
+ attr_accessor :verb
913
+
914
+ def initialize(**args)
915
+ update!(**args)
916
+ end
917
+
918
+ # Update properties of this object
919
+ def update!(**args)
920
+ @api_version = args[:api_version] if args.key?(:api_version)
921
+ @create_time = args[:create_time] if args.key?(:create_time)
922
+ @end_time = args[:end_time] if args.key?(:end_time)
923
+ @status_detail = args[:status_detail] if args.key?(:status_detail)
924
+ @target = args[:target] if args.key?(:target)
925
+ @verb = args[:verb] if args.key?(:verb)
926
+ end
927
+ end
928
+
929
+ # An Identity and Access Management (IAM) policy, which specifies access
930
+ # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
931
+ # A `binding` binds one or more `members` to a single `role`. Members can be
932
+ # user accounts, service accounts, Google groups, and domains (such as G Suite).
933
+ # A `role` is a named list of permissions; each `role` can be an IAM predefined
934
+ # role or a user-created custom role. For some types of Google Cloud resources,
935
+ # a `binding` can also specify a `condition`, which is a logical expression that
936
+ # allows access to a resource only if the expression evaluates to `true`. A
937
+ # condition can add constraints based on attributes of the request, the resource,
938
+ # or both. To learn which resources support conditions in their IAM policies,
939
+ # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
940
+ # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
941
+ # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
942
+ # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
943
+ # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
944
+ # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
945
+ # title": "expirable access", "description": "Does not grant access after Sep
946
+ # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
947
+ # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
948
+ # members: - user:mike@example.com - group:admins@example.com - domain:google.
949
+ # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
950
+ # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
951
+ # roles/resourcemanager.organizationViewer condition: title: expirable access
952
+ # description: Does not grant access after Sep 2020 expression: request.time <
953
+ # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
954
+ # description of IAM and its features, see the [IAM documentation](https://cloud.
955
+ # google.com/iam/docs/).
956
+ class Policy
957
+ include Google::Apis::Core::Hashable
958
+
959
+ # Specifies cloud audit logging configuration for this policy.
960
+ # Corresponds to the JSON property `auditConfigs`
961
+ # @return [Array<Google::Apis::DomainsV1beta1::AuditConfig>]
962
+ attr_accessor :audit_configs
963
+
964
+ # Associates a list of `members` to a `role`. Optionally, may specify a `
965
+ # condition` that determines how and when the `bindings` are applied. Each of
966
+ # the `bindings` must contain at least one member.
967
+ # Corresponds to the JSON property `bindings`
968
+ # @return [Array<Google::Apis::DomainsV1beta1::Binding>]
969
+ attr_accessor :bindings
970
+
971
+ # `etag` is used for optimistic concurrency control as a way to help prevent
972
+ # simultaneous updates of a policy from overwriting each other. It is strongly
973
+ # suggested that systems make use of the `etag` in the read-modify-write cycle
974
+ # to perform policy updates in order to avoid race conditions: An `etag` is
975
+ # returned in the response to `getIamPolicy`, and systems are expected to put
976
+ # that etag in the request to `setIamPolicy` to ensure that their change will be
977
+ # applied to the same version of the policy. **Important:** If you use IAM
978
+ # Conditions, you must include the `etag` field whenever you call `setIamPolicy`.
979
+ # If you omit this field, then IAM allows you to overwrite a version `3` policy
980
+ # with a version `1` policy, and all of the conditions in the version `3` policy
981
+ # are lost.
982
+ # Corresponds to the JSON property `etag`
983
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
984
+ # @return [String]
985
+ attr_accessor :etag
986
+
987
+ # Specifies the format of the policy. Valid values are `0`, `1`, and `3`.
988
+ # Requests that specify an invalid value are rejected. Any operation that
989
+ # affects conditional role bindings must specify version `3`. This requirement
990
+ # applies to the following operations: * Getting a policy that includes a
991
+ # conditional role binding * Adding a conditional role binding to a policy *
992
+ # Changing a conditional role binding in a policy * Removing any role binding,
993
+ # with or without a condition, from a policy that includes conditions **
994
+ # Important:** If you use IAM Conditions, you must include the `etag` field
995
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows you
996
+ # to overwrite a version `3` policy with a version `1` policy, and all of the
997
+ # conditions in the version `3` policy are lost. If a policy does not include
998
+ # any conditions, operations on that policy may specify any valid version or
999
+ # leave the field unset. To learn which resources support conditions in their
1000
+ # IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/
1001
+ # conditions/resource-policies).
1002
+ # Corresponds to the JSON property `version`
1003
+ # @return [Fixnum]
1004
+ attr_accessor :version
1005
+
1006
+ def initialize(**args)
1007
+ update!(**args)
1008
+ end
1009
+
1010
+ # Update properties of this object
1011
+ def update!(**args)
1012
+ @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
1013
+ @bindings = args[:bindings] if args.key?(:bindings)
1014
+ @etag = args[:etag] if args.key?(:etag)
1015
+ @version = args[:version] if args.key?(:version)
1016
+ end
1017
+ end
1018
+
1019
+ # Represents a postal address, e.g. for postal delivery or payments addresses.
1020
+ # Given a postal address, a postal service can deliver items to a premise, P.O.
1021
+ # Box or similar. It is not intended to model geographical locations (roads,
1022
+ # towns, mountains). In typical usage an address would be created via user input
1023
+ # or from importing existing data, depending on the type of process. Advice on
1024
+ # address input / editing: - Use an i18n-ready address widget such as https://
1025
+ # github.com/google/libaddressinput) - Users should not be presented with UI
1026
+ # elements for input or editing of fields outside countries where that field is
1027
+ # used. For more guidance on how to use this schema, please see: https://support.
1028
+ # google.com/business/answer/6397478
1029
+ class PostalAddress
1030
+ include Google::Apis::Core::Hashable
1031
+
1032
+ # Unstructured address lines describing the lower levels of an address. Because
1033
+ # values in address_lines do not have type information and may sometimes contain
1034
+ # multiple values in a single field (e.g. "Austin, TX"), it is important that
1035
+ # the line order is clear. The order of address lines should be "envelope order"
1036
+ # for the country/region of the address. In places where this can vary (e.g.
1037
+ # Japan), address_language is used to make it explicit (e.g. "ja" for large-to-
1038
+ # small ordering and "ja-Latn" or "en" for small-to-large). This way, the most
1039
+ # specific line of an address can be selected based on the language. The minimum
1040
+ # permitted structural representation of an address consists of a region_code
1041
+ # with all remaining information placed in the address_lines. It would be
1042
+ # possible to format such an address very approximately without geocoding, but
1043
+ # no semantic reasoning could be made about any of the address components until
1044
+ # it was at least partially resolved. Creating an address only containing a
1045
+ # region_code and address_lines, and then geocoding is the recommended way to
1046
+ # handle completely unstructured addresses (as opposed to guessing which parts
1047
+ # of the address should be localities or administrative areas).
1048
+ # Corresponds to the JSON property `addressLines`
1049
+ # @return [Array<String>]
1050
+ attr_accessor :address_lines
1051
+
1052
+ # Optional. Highest administrative subdivision which is used for postal
1053
+ # addresses of a country or region. For example, this can be a state, a province,
1054
+ # an oblast, or a prefecture. Specifically, for Spain this is the province and
1055
+ # not the autonomous community (e.g. "Barcelona" and not "Catalonia"). Many
1056
+ # countries don't use an administrative area in postal addresses. E.g. in
1057
+ # Switzerland this should be left unpopulated.
1058
+ # Corresponds to the JSON property `administrativeArea`
1059
+ # @return [String]
1060
+ attr_accessor :administrative_area
1061
+
1062
+ # Optional. BCP-47 language code of the contents of this address (if known).
1063
+ # This is often the UI language of the input form or is expected to match one of
1064
+ # the languages used in the address' country/region, or their transliterated
1065
+ # equivalents. This can affect formatting in certain countries, but is not
1066
+ # critical to the correctness of the data and will never affect any validation
1067
+ # or other non-formatting related operations. If this value is not known, it
1068
+ # should be omitted (rather than specifying a possibly incorrect default).
1069
+ # Examples: "zh-Hant", "ja", "ja-Latn", "en".
1070
+ # Corresponds to the JSON property `languageCode`
1071
+ # @return [String]
1072
+ attr_accessor :language_code
1073
+
1074
+ # Optional. Generally refers to the city/town portion of the address. Examples:
1075
+ # US city, IT comune, UK post town. In regions of the world where localities are
1076
+ # not well defined or do not fit into this structure well, leave locality empty
1077
+ # and use address_lines.
1078
+ # Corresponds to the JSON property `locality`
1079
+ # @return [String]
1080
+ attr_accessor :locality
1081
+
1082
+ # Optional. The name of the organization at the address.
1083
+ # Corresponds to the JSON property `organization`
1084
+ # @return [String]
1085
+ attr_accessor :organization
1086
+
1087
+ # Optional. Postal code of the address. Not all countries use or require postal
1088
+ # codes to be present, but where they are used, they may trigger additional
1089
+ # validation with other parts of the address (e.g. state/zip validation in the U.
1090
+ # S.A.).
1091
+ # Corresponds to the JSON property `postalCode`
1092
+ # @return [String]
1093
+ attr_accessor :postal_code
1094
+
1095
+ # Optional. The recipient at the address. This field may, under certain
1096
+ # circumstances, contain multiline information. For example, it might contain "
1097
+ # care of" information.
1098
+ # Corresponds to the JSON property `recipients`
1099
+ # @return [Array<String>]
1100
+ attr_accessor :recipients
1101
+
1102
+ # Required. CLDR region code of the country/region of the address. This is never
1103
+ # inferred and it is up to the user to ensure the value is correct. See http://
1104
+ # cldr.unicode.org/ and http://www.unicode.org/cldr/charts/30/supplemental/
1105
+ # territory_information.html for details. Example: "CH" for Switzerland.
1106
+ # Corresponds to the JSON property `regionCode`
1107
+ # @return [String]
1108
+ attr_accessor :region_code
1109
+
1110
+ # The schema revision of the `PostalAddress`. This must be set to 0, which is
1111
+ # the latest revision. All new revisions **must** be backward compatible with
1112
+ # old revisions.
1113
+ # Corresponds to the JSON property `revision`
1114
+ # @return [Fixnum]
1115
+ attr_accessor :revision
1116
+
1117
+ # Optional. Additional, country-specific, sorting code. This is not used in most
1118
+ # regions. Where it is used, the value is either a string like "CEDEX",
1119
+ # optionally followed by a number (e.g. "CEDEX 7"), or just a number alone,
1120
+ # representing the "sector code" (Jamaica), "delivery area indicator" (Malawi)
1121
+ # or "post office indicator" (e.g. Côte d'Ivoire).
1122
+ # Corresponds to the JSON property `sortingCode`
1123
+ # @return [String]
1124
+ attr_accessor :sorting_code
1125
+
1126
+ # Optional. Sublocality of the address. For example, this can be neighborhoods,
1127
+ # boroughs, districts.
1128
+ # Corresponds to the JSON property `sublocality`
1129
+ # @return [String]
1130
+ attr_accessor :sublocality
1131
+
1132
+ def initialize(**args)
1133
+ update!(**args)
1134
+ end
1135
+
1136
+ # Update properties of this object
1137
+ def update!(**args)
1138
+ @address_lines = args[:address_lines] if args.key?(:address_lines)
1139
+ @administrative_area = args[:administrative_area] if args.key?(:administrative_area)
1140
+ @language_code = args[:language_code] if args.key?(:language_code)
1141
+ @locality = args[:locality] if args.key?(:locality)
1142
+ @organization = args[:organization] if args.key?(:organization)
1143
+ @postal_code = args[:postal_code] if args.key?(:postal_code)
1144
+ @recipients = args[:recipients] if args.key?(:recipients)
1145
+ @region_code = args[:region_code] if args.key?(:region_code)
1146
+ @revision = args[:revision] if args.key?(:revision)
1147
+ @sorting_code = args[:sorting_code] if args.key?(:sorting_code)
1148
+ @sublocality = args[:sublocality] if args.key?(:sublocality)
1149
+ end
1150
+ end
1151
+
1152
+ # Request for the `RegisterDomain` method.
1153
+ class RegisterDomainRequest
1154
+ include Google::Apis::Core::Hashable
1155
+
1156
+ # The list of contact notices that the caller acknowledges. The notices required
1157
+ # here depend on the values specified in `registration.contact_settings`.
1158
+ # Corresponds to the JSON property `contactNotices`
1159
+ # @return [Array<String>]
1160
+ attr_accessor :contact_notices
1161
+
1162
+ # The list of domain notices that you acknowledge. Call `
1163
+ # RetrieveRegisterParameters` to see the notices that need acknowledgement.
1164
+ # Corresponds to the JSON property `domainNotices`
1165
+ # @return [Array<String>]
1166
+ attr_accessor :domain_notices
1167
+
1168
+ # The `Registration` resource facilitates managing and configuring domain name
1169
+ # registrations. To create a new `Registration` resource, find a suitable domain
1170
+ # name by calling the `SearchDomains` method with a query to see available
1171
+ # domain name options. After choosing a name, call `RetrieveRegisterParameters`
1172
+ # to ensure availability and obtain information like pricing, which is needed to
1173
+ # build a call to `RegisterDomain`.
1174
+ # Corresponds to the JSON property `registration`
1175
+ # @return [Google::Apis::DomainsV1beta1::Registration]
1176
+ attr_accessor :registration
1177
+
1178
+ # When true, only validation will be performed, without actually registering the
1179
+ # domain. Follows: https://cloud.google.com/apis/design/design_patterns#
1180
+ # request_validation
1181
+ # Corresponds to the JSON property `validateOnly`
1182
+ # @return [Boolean]
1183
+ attr_accessor :validate_only
1184
+ alias_method :validate_only?, :validate_only
1185
+
1186
+ # Represents an amount of money with its currency type.
1187
+ # Corresponds to the JSON property `yearlyPrice`
1188
+ # @return [Google::Apis::DomainsV1beta1::Money]
1189
+ attr_accessor :yearly_price
1190
+
1191
+ def initialize(**args)
1192
+ update!(**args)
1193
+ end
1194
+
1195
+ # Update properties of this object
1196
+ def update!(**args)
1197
+ @contact_notices = args[:contact_notices] if args.key?(:contact_notices)
1198
+ @domain_notices = args[:domain_notices] if args.key?(:domain_notices)
1199
+ @registration = args[:registration] if args.key?(:registration)
1200
+ @validate_only = args[:validate_only] if args.key?(:validate_only)
1201
+ @yearly_price = args[:yearly_price] if args.key?(:yearly_price)
1202
+ end
1203
+ end
1204
+
1205
+ # Parameters required to register a new domain.
1206
+ class RegisterParameters
1207
+ include Google::Apis::Core::Hashable
1208
+
1209
+ # Indicates whether the domain is available for registration. This value is
1210
+ # accurate when obtained by calling `RetrieveRegisterParameters`, but is
1211
+ # approximate when obtained by calling `SearchDomains`.
1212
+ # Corresponds to the JSON property `availability`
1213
+ # @return [String]
1214
+ attr_accessor :availability
1215
+
1216
+ # The domain name. Unicode domain names are expressed in Punycode format.
1217
+ # Corresponds to the JSON property `domainName`
1218
+ # @return [String]
1219
+ attr_accessor :domain_name
1220
+
1221
+ # Notices about special properties of the domain.
1222
+ # Corresponds to the JSON property `domainNotices`
1223
+ # @return [Array<String>]
1224
+ attr_accessor :domain_notices
1225
+
1226
+ # Contact privacy options that the domain supports.
1227
+ # Corresponds to the JSON property `supportedPrivacy`
1228
+ # @return [Array<String>]
1229
+ attr_accessor :supported_privacy
1230
+
1231
+ # Represents an amount of money with its currency type.
1232
+ # Corresponds to the JSON property `yearlyPrice`
1233
+ # @return [Google::Apis::DomainsV1beta1::Money]
1234
+ attr_accessor :yearly_price
1235
+
1236
+ def initialize(**args)
1237
+ update!(**args)
1238
+ end
1239
+
1240
+ # Update properties of this object
1241
+ def update!(**args)
1242
+ @availability = args[:availability] if args.key?(:availability)
1243
+ @domain_name = args[:domain_name] if args.key?(:domain_name)
1244
+ @domain_notices = args[:domain_notices] if args.key?(:domain_notices)
1245
+ @supported_privacy = args[:supported_privacy] if args.key?(:supported_privacy)
1246
+ @yearly_price = args[:yearly_price] if args.key?(:yearly_price)
1247
+ end
1248
+ end
1249
+
1250
+ # The `Registration` resource facilitates managing and configuring domain name
1251
+ # registrations. To create a new `Registration` resource, find a suitable domain
1252
+ # name by calling the `SearchDomains` method with a query to see available
1253
+ # domain name options. After choosing a name, call `RetrieveRegisterParameters`
1254
+ # to ensure availability and obtain information like pricing, which is needed to
1255
+ # build a call to `RegisterDomain`.
1256
+ class Registration
1257
+ include Google::Apis::Core::Hashable
1258
+
1259
+ # Defines the contact information associated with a `Registration`. [ICANN](
1260
+ # https://icann.org/) requires all domain names to have associated contact
1261
+ # information. The `registrant_contact` is considered the domain's legal owner,
1262
+ # and often the other contacts are identical.
1263
+ # Corresponds to the JSON property `contactSettings`
1264
+ # @return [Google::Apis::DomainsV1beta1::ContactSettings]
1265
+ attr_accessor :contact_settings
1266
+
1267
+ # Output only. The creation timestamp of the `Registration` resource.
1268
+ # Corresponds to the JSON property `createTime`
1269
+ # @return [String]
1270
+ attr_accessor :create_time
1271
+
1272
+ # Defines the DNS configuration of a `Registration`, including name servers,
1273
+ # DNSSEC, and glue records.
1274
+ # Corresponds to the JSON property `dnsSettings`
1275
+ # @return [Google::Apis::DomainsV1beta1::DnsSettings]
1276
+ attr_accessor :dns_settings
1277
+
1278
+ # Required. Immutable. The domain name. Unicode domain names must be expressed
1279
+ # in Punycode format.
1280
+ # Corresponds to the JSON property `domainName`
1281
+ # @return [String]
1282
+ attr_accessor :domain_name
1283
+
1284
+ # Output only. The expiration timestamp of the `Registration`.
1285
+ # Corresponds to the JSON property `expireTime`
1286
+ # @return [String]
1287
+ attr_accessor :expire_time
1288
+
1289
+ # Output only. The set of issues with the `Registration` that require attention.
1290
+ # Corresponds to the JSON property `issues`
1291
+ # @return [Array<String>]
1292
+ attr_accessor :issues
1293
+
1294
+ # Set of labels associated with the `Registration`.
1295
+ # Corresponds to the JSON property `labels`
1296
+ # @return [Hash<String,String>]
1297
+ attr_accessor :labels
1298
+
1299
+ # Defines renewal, billing, and transfer settings for a `Registration`.
1300
+ # Corresponds to the JSON property `managementSettings`
1301
+ # @return [Google::Apis::DomainsV1beta1::ManagementSettings]
1302
+ attr_accessor :management_settings
1303
+
1304
+ # Output only. Name of the `Registration` resource, in the format `projects/*/
1305
+ # locations/*/registrations/`.
1306
+ # Corresponds to the JSON property `name`
1307
+ # @return [String]
1308
+ attr_accessor :name
1309
+
1310
+ # Defines the contact information associated with a `Registration`. [ICANN](
1311
+ # https://icann.org/) requires all domain names to have associated contact
1312
+ # information. The `registrant_contact` is considered the domain's legal owner,
1313
+ # and often the other contacts are identical.
1314
+ # Corresponds to the JSON property `pendingContactSettings`
1315
+ # @return [Google::Apis::DomainsV1beta1::ContactSettings]
1316
+ attr_accessor :pending_contact_settings
1317
+
1318
+ # Output only. The state of the `Registration`
1319
+ # Corresponds to the JSON property `state`
1320
+ # @return [String]
1321
+ attr_accessor :state
1322
+
1323
+ # Output only. Set of options for the `contact_settings.privacy` field that this
1324
+ # `Registration` supports.
1325
+ # Corresponds to the JSON property `supportedPrivacy`
1326
+ # @return [Array<String>]
1327
+ attr_accessor :supported_privacy
1328
+
1329
+ def initialize(**args)
1330
+ update!(**args)
1331
+ end
1332
+
1333
+ # Update properties of this object
1334
+ def update!(**args)
1335
+ @contact_settings = args[:contact_settings] if args.key?(:contact_settings)
1336
+ @create_time = args[:create_time] if args.key?(:create_time)
1337
+ @dns_settings = args[:dns_settings] if args.key?(:dns_settings)
1338
+ @domain_name = args[:domain_name] if args.key?(:domain_name)
1339
+ @expire_time = args[:expire_time] if args.key?(:expire_time)
1340
+ @issues = args[:issues] if args.key?(:issues)
1341
+ @labels = args[:labels] if args.key?(:labels)
1342
+ @management_settings = args[:management_settings] if args.key?(:management_settings)
1343
+ @name = args[:name] if args.key?(:name)
1344
+ @pending_contact_settings = args[:pending_contact_settings] if args.key?(:pending_contact_settings)
1345
+ @state = args[:state] if args.key?(:state)
1346
+ @supported_privacy = args[:supported_privacy] if args.key?(:supported_privacy)
1347
+ end
1348
+ end
1349
+
1350
+ # Request for the `ResetAuthorizationCode` method.
1351
+ class ResetAuthorizationCodeRequest
1352
+ include Google::Apis::Core::Hashable
1353
+
1354
+ def initialize(**args)
1355
+ update!(**args)
1356
+ end
1357
+
1358
+ # Update properties of this object
1359
+ def update!(**args)
1360
+ end
1361
+ end
1362
+
1363
+ # Response for the `RetrieveRegisterParameters` method.
1364
+ class RetrieveRegisterParametersResponse
1365
+ include Google::Apis::Core::Hashable
1366
+
1367
+ # Parameters required to register a new domain.
1368
+ # Corresponds to the JSON property `registerParameters`
1369
+ # @return [Google::Apis::DomainsV1beta1::RegisterParameters]
1370
+ attr_accessor :register_parameters
1371
+
1372
+ def initialize(**args)
1373
+ update!(**args)
1374
+ end
1375
+
1376
+ # Update properties of this object
1377
+ def update!(**args)
1378
+ @register_parameters = args[:register_parameters] if args.key?(:register_parameters)
1379
+ end
1380
+ end
1381
+
1382
+ # Response for the `SearchDomains` method.
1383
+ class SearchDomainsResponse
1384
+ include Google::Apis::Core::Hashable
1385
+
1386
+ # Results of the domain name search.
1387
+ # Corresponds to the JSON property `registerParameters`
1388
+ # @return [Array<Google::Apis::DomainsV1beta1::RegisterParameters>]
1389
+ attr_accessor :register_parameters
1390
+
1391
+ def initialize(**args)
1392
+ update!(**args)
1393
+ end
1394
+
1395
+ # Update properties of this object
1396
+ def update!(**args)
1397
+ @register_parameters = args[:register_parameters] if args.key?(:register_parameters)
1398
+ end
1399
+ end
1400
+
1401
+ # Request message for `SetIamPolicy` method.
1402
+ class SetIamPolicyRequest
1403
+ include Google::Apis::Core::Hashable
1404
+
1405
+ # An Identity and Access Management (IAM) policy, which specifies access
1406
+ # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
1407
+ # A `binding` binds one or more `members` to a single `role`. Members can be
1408
+ # user accounts, service accounts, Google groups, and domains (such as G Suite).
1409
+ # A `role` is a named list of permissions; each `role` can be an IAM predefined
1410
+ # role or a user-created custom role. For some types of Google Cloud resources,
1411
+ # a `binding` can also specify a `condition`, which is a logical expression that
1412
+ # allows access to a resource only if the expression evaluates to `true`. A
1413
+ # condition can add constraints based on attributes of the request, the resource,
1414
+ # or both. To learn which resources support conditions in their IAM policies,
1415
+ # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
1416
+ # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
1417
+ # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
1418
+ # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
1419
+ # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
1420
+ # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
1421
+ # title": "expirable access", "description": "Does not grant access after Sep
1422
+ # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
1423
+ # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
1424
+ # members: - user:mike@example.com - group:admins@example.com - domain:google.
1425
+ # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
1426
+ # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
1427
+ # roles/resourcemanager.organizationViewer condition: title: expirable access
1428
+ # description: Does not grant access after Sep 2020 expression: request.time <
1429
+ # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
1430
+ # description of IAM and its features, see the [IAM documentation](https://cloud.
1431
+ # google.com/iam/docs/).
1432
+ # Corresponds to the JSON property `policy`
1433
+ # @return [Google::Apis::DomainsV1beta1::Policy]
1434
+ attr_accessor :policy
1435
+
1436
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
1437
+ # the fields in the mask will be modified. If no mask is provided, the following
1438
+ # default mask is used: `paths: "bindings, etag"`
1439
+ # Corresponds to the JSON property `updateMask`
1440
+ # @return [String]
1441
+ attr_accessor :update_mask
1442
+
1443
+ def initialize(**args)
1444
+ update!(**args)
1445
+ end
1446
+
1447
+ # Update properties of this object
1448
+ def update!(**args)
1449
+ @policy = args[:policy] if args.key?(:policy)
1450
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
1451
+ end
1452
+ end
1453
+
1454
+ # The `Status` type defines a logical error model that is suitable for different
1455
+ # programming environments, including REST APIs and RPC APIs. It is used by [
1456
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
1457
+ # data: error code, error message, and error details. You can find out more
1458
+ # about this error model and how to work with it in the [API Design Guide](https:
1459
+ # //cloud.google.com/apis/design/errors).
1460
+ class Status
1461
+ include Google::Apis::Core::Hashable
1462
+
1463
+ # The status code, which should be an enum value of google.rpc.Code.
1464
+ # Corresponds to the JSON property `code`
1465
+ # @return [Fixnum]
1466
+ attr_accessor :code
1467
+
1468
+ # A list of messages that carry the error details. There is a common set of
1469
+ # message types for APIs to use.
1470
+ # Corresponds to the JSON property `details`
1471
+ # @return [Array<Hash<String,Object>>]
1472
+ attr_accessor :details
1473
+
1474
+ # A developer-facing error message, which should be in English. Any user-facing
1475
+ # error message should be localized and sent in the google.rpc.Status.details
1476
+ # field, or localized by the client.
1477
+ # Corresponds to the JSON property `message`
1478
+ # @return [String]
1479
+ attr_accessor :message
1480
+
1481
+ def initialize(**args)
1482
+ update!(**args)
1483
+ end
1484
+
1485
+ # Update properties of this object
1486
+ def update!(**args)
1487
+ @code = args[:code] if args.key?(:code)
1488
+ @details = args[:details] if args.key?(:details)
1489
+ @message = args[:message] if args.key?(:message)
1490
+ end
1491
+ end
1492
+
1493
+ # Request message for `TestIamPermissions` method.
1494
+ class TestIamPermissionsRequest
1495
+ include Google::Apis::Core::Hashable
1496
+
1497
+ # The set of permissions to check for the `resource`. Permissions with wildcards
1498
+ # (such as '*' or 'storage.*') are not allowed. For more information see [IAM
1499
+ # Overview](https://cloud.google.com/iam/docs/overview#permissions).
1500
+ # Corresponds to the JSON property `permissions`
1501
+ # @return [Array<String>]
1502
+ attr_accessor :permissions
1503
+
1504
+ def initialize(**args)
1505
+ update!(**args)
1506
+ end
1507
+
1508
+ # Update properties of this object
1509
+ def update!(**args)
1510
+ @permissions = args[:permissions] if args.key?(:permissions)
1511
+ end
1512
+ end
1513
+
1514
+ # Response message for `TestIamPermissions` method.
1515
+ class TestIamPermissionsResponse
1516
+ include Google::Apis::Core::Hashable
1517
+
1518
+ # A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
1519
+ # Corresponds to the JSON property `permissions`
1520
+ # @return [Array<String>]
1521
+ attr_accessor :permissions
1522
+
1523
+ def initialize(**args)
1524
+ update!(**args)
1525
+ end
1526
+
1527
+ # Update properties of this object
1528
+ def update!(**args)
1529
+ @permissions = args[:permissions] if args.key?(:permissions)
1530
+ end
1531
+ end
1532
+ end
1533
+ end
1534
+ end