google-api-client 0.24.2 → 0.24.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (185) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +68 -0
  3. data/README.md +9 -0
  4. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +5 -4
  5. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +90 -87
  6. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +17 -15
  7. data/generated/google/apis/admin_directory_v1.rb +1 -1
  8. data/generated/google/apis/admin_directory_v1/classes.rb +155 -0
  9. data/generated/google/apis/admin_directory_v1/representations.rb +82 -0
  10. data/generated/google/apis/alertcenter_v1beta1.rb +31 -0
  11. data/generated/google/apis/alertcenter_v1beta1/classes.rb +835 -0
  12. data/generated/google/apis/alertcenter_v1beta1/representations.rb +394 -0
  13. data/generated/google/apis/alertcenter_v1beta1/service.rb +302 -0
  14. data/generated/google/apis/androiddeviceprovisioning_v1.rb +1 -1
  15. data/generated/google/apis/androiddeviceprovisioning_v1/classes.rb +37 -0
  16. data/generated/google/apis/androiddeviceprovisioning_v1/representations.rb +6 -0
  17. data/generated/google/apis/androiddeviceprovisioning_v1/service.rb +8 -1
  18. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  19. data/generated/google/apis/androidenterprise_v1/classes.rb +8 -4
  20. data/generated/google/apis/androidenterprise_v1/representations.rb +1 -0
  21. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  22. data/generated/google/apis/androidpublisher_v2/service.rb +5 -1
  23. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  24. data/generated/google/apis/androidpublisher_v3/service.rb +5 -1
  25. data/generated/google/apis/appengine_v1.rb +1 -1
  26. data/generated/google/apis/appengine_v1/classes.rb +8 -1
  27. data/generated/google/apis/appengine_v1/representations.rb +1 -0
  28. data/generated/google/apis/appengine_v1beta.rb +1 -1
  29. data/generated/google/apis/appengine_v1beta/classes.rb +1 -1
  30. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  31. data/generated/google/apis/bigquerydatatransfer_v1/classes.rb +6 -5
  32. data/generated/google/apis/bigquerydatatransfer_v1/service.rb +12 -10
  33. data/generated/google/apis/calendar_v3.rb +1 -1
  34. data/generated/google/apis/calendar_v3/service.rb +52 -18
  35. data/generated/google/apis/cloudasset_v1beta1.rb +34 -0
  36. data/generated/google/apis/cloudasset_v1beta1/classes.rb +798 -0
  37. data/generated/google/apis/cloudasset_v1beta1/representations.rb +263 -0
  38. data/generated/google/apis/cloudasset_v1beta1/service.rb +313 -0
  39. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  40. data/generated/google/apis/cloudbuild_v1/classes.rb +42 -5
  41. data/generated/google/apis/cloudbuild_v1/representations.rb +6 -0
  42. data/generated/google/apis/cloudiot_v1.rb +1 -1
  43. data/generated/google/apis/cloudiot_v1/classes.rb +59 -0
  44. data/generated/google/apis/cloudiot_v1/representations.rb +28 -0
  45. data/generated/google/apis/cloudiot_v1/service.rb +94 -0
  46. data/generated/google/apis/composer_v1.rb +1 -1
  47. data/generated/google/apis/composer_v1/classes.rb +1 -0
  48. data/generated/google/apis/composer_v1beta1.rb +1 -1
  49. data/generated/google/apis/composer_v1beta1/classes.rb +34 -5
  50. data/generated/google/apis/composer_v1beta1/representations.rb +1 -0
  51. data/generated/google/apis/compute_alpha.rb +1 -1
  52. data/generated/google/apis/compute_alpha/classes.rb +227 -48
  53. data/generated/google/apis/compute_alpha/representations.rb +84 -1
  54. data/generated/google/apis/compute_alpha/service.rb +50 -10
  55. data/generated/google/apis/compute_beta.rb +1 -1
  56. data/generated/google/apis/compute_beta/classes.rb +593 -77
  57. data/generated/google/apis/compute_beta/representations.rb +224 -18
  58. data/generated/google/apis/compute_beta/service.rb +174 -3
  59. data/generated/google/apis/compute_v1.rb +1 -1
  60. data/generated/google/apis/compute_v1/classes.rb +41 -18
  61. data/generated/google/apis/compute_v1/representations.rb +3 -0
  62. data/generated/google/apis/content_v2.rb +1 -1
  63. data/generated/google/apis/content_v2/classes.rb +372 -119
  64. data/generated/google/apis/content_v2/representations.rb +157 -39
  65. data/generated/google/apis/content_v2/service.rb +101 -11
  66. data/generated/google/apis/content_v2sandbox.rb +1 -1
  67. data/generated/google/apis/content_v2sandbox/classes.rb +372 -119
  68. data/generated/google/apis/content_v2sandbox/representations.rb +157 -39
  69. data/generated/google/apis/content_v2sandbox/service.rb +90 -0
  70. data/generated/google/apis/customsearch_v1.rb +1 -1
  71. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  72. data/generated/google/apis/dataflow_v1b3/classes.rb +7 -0
  73. data/generated/google/apis/dataflow_v1b3/representations.rb +1 -0
  74. data/generated/google/apis/dataproc_v1.rb +1 -1
  75. data/generated/google/apis/dataproc_v1/classes.rb +12 -0
  76. data/generated/google/apis/dataproc_v1/representations.rb +2 -0
  77. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  78. data/generated/google/apis/dataproc_v1beta2/classes.rb +21 -6
  79. data/generated/google/apis/dataproc_v1beta2/representations.rb +2 -0
  80. data/generated/google/apis/datastore_v1.rb +1 -1
  81. data/generated/google/apis/datastore_v1/classes.rb +2 -2
  82. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  83. data/generated/google/apis/datastore_v1beta3/classes.rb +2 -2
  84. data/generated/google/apis/dlp_v2.rb +1 -1
  85. data/generated/google/apis/dlp_v2/classes.rb +110 -5
  86. data/generated/google/apis/dlp_v2/representations.rb +17 -0
  87. data/generated/google/apis/dlp_v2/service.rb +41 -3
  88. data/generated/google/apis/file_v1beta1.rb +1 -1
  89. data/generated/google/apis/file_v1beta1/classes.rb +0 -234
  90. data/generated/google/apis/file_v1beta1/representations.rb +0 -79
  91. data/generated/google/apis/firebasedynamiclinks_v1.rb +1 -1
  92. data/generated/google/apis/firebasedynamiclinks_v1/classes.rb +19 -1
  93. data/generated/google/apis/firebasedynamiclinks_v1/representations.rb +3 -0
  94. data/generated/google/apis/firebasedynamiclinks_v1/service.rb +4 -1
  95. data/generated/google/apis/firebasehosting_v1beta1.rb +43 -0
  96. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +767 -0
  97. data/generated/google/apis/firebasehosting_v1beta1/representations.rb +337 -0
  98. data/generated/google/apis/firebasehosting_v1beta1/service.rb +502 -0
  99. data/generated/google/apis/firebaserules_v1.rb +1 -1
  100. data/generated/google/apis/firebaserules_v1/classes.rb +8 -0
  101. data/generated/google/apis/firebaserules_v1/representations.rb +1 -0
  102. data/generated/google/apis/firebaserules_v1/service.rb +1 -1
  103. data/generated/google/apis/firestore_v1beta2.rb +1 -1
  104. data/generated/google/apis/firestore_v1beta2/service.rb +80 -80
  105. data/generated/google/apis/games_v1.rb +1 -1
  106. data/generated/google/apis/games_v1/service.rb +4 -1
  107. data/generated/google/apis/iam_v1.rb +1 -1
  108. data/generated/google/apis/iam_v1/classes.rb +3 -1
  109. data/generated/google/apis/iamcredentials_v1.rb +1 -1
  110. data/generated/google/apis/iamcredentials_v1/service.rb +0 -10
  111. data/generated/google/apis/iap_v1beta1.rb +1 -1
  112. data/generated/google/apis/iap_v1beta1/service.rb +339 -0
  113. data/generated/google/apis/jobs_v2.rb +1 -1
  114. data/generated/google/apis/jobs_v2/classes.rb +45 -37
  115. data/generated/google/apis/jobs_v3.rb +1 -1
  116. data/generated/google/apis/jobs_v3/classes.rb +21 -18
  117. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  118. data/generated/google/apis/jobs_v3p1beta1/classes.rb +45 -20
  119. data/generated/google/apis/jobs_v3p1beta1/representations.rb +2 -0
  120. data/generated/google/apis/language_v1.rb +1 -1
  121. data/generated/google/apis/language_v1beta1.rb +1 -1
  122. data/generated/google/apis/language_v1beta2.rb +1 -1
  123. data/generated/google/apis/logging_v2.rb +1 -1
  124. data/generated/google/apis/logging_v2/classes.rb +12 -0
  125. data/generated/google/apis/logging_v2/representations.rb +1 -0
  126. data/generated/google/apis/logging_v2beta1.rb +1 -1
  127. data/generated/google/apis/logging_v2beta1/classes.rb +12 -0
  128. data/generated/google/apis/logging_v2beta1/representations.rb +1 -0
  129. data/generated/google/apis/ml_v1.rb +1 -1
  130. data/generated/google/apis/ml_v1/classes.rb +2 -2
  131. data/generated/google/apis/monitoring_v3.rb +1 -1
  132. data/generated/google/apis/monitoring_v3/classes.rb +19 -17
  133. data/generated/google/apis/monitoring_v3/representations.rb +1 -2
  134. data/generated/google/apis/partners_v2.rb +1 -1
  135. data/generated/google/apis/partners_v2/classes.rb +18 -15
  136. data/generated/google/apis/proximitybeacon_v1beta1.rb +1 -1
  137. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +18 -15
  138. data/generated/google/apis/redis_v1.rb +1 -1
  139. data/generated/google/apis/redis_v1/classes.rb +1 -1
  140. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  141. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +1 -1
  142. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  143. data/generated/google/apis/servicemanagement_v1/classes.rb +2 -150
  144. data/generated/google/apis/servicemanagement_v1/representations.rb +0 -42
  145. data/generated/google/apis/servicenetworking_v1beta.rb +38 -0
  146. data/generated/google/apis/servicenetworking_v1beta/classes.rb +3440 -0
  147. data/generated/google/apis/servicenetworking_v1beta/representations.rb +992 -0
  148. data/generated/google/apis/servicenetworking_v1beta/service.rb +227 -0
  149. data/generated/google/apis/serviceusage_v1.rb +1 -1
  150. data/generated/google/apis/serviceusage_v1/classes.rb +1 -1
  151. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  152. data/generated/google/apis/serviceusage_v1beta1/classes.rb +1 -1
  153. data/generated/google/apis/serviceuser_v1.rb +1 -1
  154. data/generated/google/apis/serviceuser_v1/classes.rb +2 -150
  155. data/generated/google/apis/serviceuser_v1/representations.rb +0 -42
  156. data/generated/google/apis/spanner_v1.rb +1 -1
  157. data/generated/google/apis/spanner_v1/classes.rb +308 -30
  158. data/generated/google/apis/spanner_v1/representations.rb +17 -0
  159. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  160. data/generated/google/apis/streetviewpublish_v1/classes.rb +12 -0
  161. data/generated/google/apis/streetviewpublish_v1/representations.rb +1 -0
  162. data/generated/google/apis/testing_v1.rb +1 -1
  163. data/generated/google/apis/testing_v1/classes.rb +47 -0
  164. data/generated/google/apis/testing_v1/representations.rb +18 -0
  165. data/generated/google/apis/videointelligence_v1.rb +1 -1
  166. data/generated/google/apis/videointelligence_v1/classes.rb +676 -0
  167. data/generated/google/apis/videointelligence_v1/representations.rb +306 -0
  168. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  169. data/generated/google/apis/videointelligence_v1beta2/classes.rb +676 -0
  170. data/generated/google/apis/videointelligence_v1beta2/representations.rb +306 -0
  171. data/generated/google/apis/{videointelligence_v1beta1.rb → videointelligence_v1p1beta1.rb} +6 -6
  172. data/generated/google/apis/{videointelligence_v1beta1 → videointelligence_v1p1beta1}/classes.rb +885 -489
  173. data/generated/google/apis/{videointelligence_v1beta1 → videointelligence_v1p1beta1}/representations.rb +357 -194
  174. data/generated/google/apis/{videointelligence_v1beta1 → videointelligence_v1p1beta1}/service.rb +12 -12
  175. data/generated/google/apis/vision_v1.rb +1 -1
  176. data/generated/google/apis/vision_v1/classes.rb +1 -1
  177. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  178. data/generated/google/apis/vision_v1p1beta1/classes.rb +1 -1
  179. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  180. data/generated/google/apis/vision_v1p2beta1/classes.rb +1 -1
  181. data/generated/google/apis/youtube_partner_v1.rb +2 -2
  182. data/generated/google/apis/youtube_partner_v1/classes.rb +2 -1
  183. data/generated/google/apis/youtube_partner_v1/service.rb +1 -1
  184. data/lib/google/apis/version.rb +1 -1
  185. metadata +22 -6
@@ -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/cloudasset_v1beta1/service.rb'
16
+ require 'google/apis/cloudasset_v1beta1/classes.rb'
17
+ require 'google/apis/cloudasset_v1beta1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Cloud Asset API
22
+ #
23
+ # The cloud asset API manages the history and inventory of cloud resources.
24
+ #
25
+ # @see https://console.cloud.google.com/apis/api/cloudasset.googleapis.com/overview
26
+ module CloudassetV1beta1
27
+ VERSION = 'V1beta1'
28
+ REVISION = '20181001'
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,798 @@
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 CloudassetV1beta1
24
+
25
+ # Cloud asset. This includes all Google Cloud Platform resources,
26
+ # Cloud IAM policies, and other non-GCP assets.
27
+ class Asset
28
+ include Google::Apis::Core::Hashable
29
+
30
+ # Type of the asset. Example: "google.compute.disk".
31
+ # Corresponds to the JSON property `assetType`
32
+ # @return [String]
33
+ attr_accessor :asset_type
34
+
35
+ # Defines an Identity and Access Management (IAM) policy. It is used to
36
+ # specify access control policies for Cloud Platform resources.
37
+ # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
38
+ # `members` to a `role`, where the members can be user accounts, Google groups,
39
+ # Google domains, and service accounts. A `role` is a named list of permissions
40
+ # defined by IAM.
41
+ # **JSON Example**
42
+ # `
43
+ # "bindings": [
44
+ # `
45
+ # "role": "roles/owner",
46
+ # "members": [
47
+ # "user:mike@example.com",
48
+ # "group:admins@example.com",
49
+ # "domain:google.com",
50
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
51
+ # ]
52
+ # `,
53
+ # `
54
+ # "role": "roles/viewer",
55
+ # "members": ["user:sean@example.com"]
56
+ # `
57
+ # ]
58
+ # `
59
+ # **YAML Example**
60
+ # bindings:
61
+ # - members:
62
+ # - user:mike@example.com
63
+ # - group:admins@example.com
64
+ # - domain:google.com
65
+ # - serviceAccount:my-other-app@appspot.gserviceaccount.com
66
+ # role: roles/owner
67
+ # - members:
68
+ # - user:sean@example.com
69
+ # role: roles/viewer
70
+ # For a description of IAM and its features, see the
71
+ # [IAM developer's guide](https://cloud.google.com/iam/docs).
72
+ # Corresponds to the JSON property `iamPolicy`
73
+ # @return [Google::Apis::CloudassetV1beta1::Policy]
74
+ attr_accessor :iam_policy
75
+
76
+ # The full name of the asset. For example: `//compute.googleapis.com/projects/
77
+ # my_project_123/zones/zone1/instances/instance1`.
78
+ # See [Resource Names](https://cloud.google.com/apis/design/resource_names#
79
+ # full_resource_name)
80
+ # for more information.
81
+ # Corresponds to the JSON property `name`
82
+ # @return [String]
83
+ attr_accessor :name
84
+
85
+ # Representation of a cloud resource.
86
+ # Corresponds to the JSON property `resource`
87
+ # @return [Google::Apis::CloudassetV1beta1::Resource]
88
+ attr_accessor :resource
89
+
90
+ def initialize(**args)
91
+ update!(**args)
92
+ end
93
+
94
+ # Update properties of this object
95
+ def update!(**args)
96
+ @asset_type = args[:asset_type] if args.key?(:asset_type)
97
+ @iam_policy = args[:iam_policy] if args.key?(:iam_policy)
98
+ @name = args[:name] if args.key?(:name)
99
+ @resource = args[:resource] if args.key?(:resource)
100
+ end
101
+ end
102
+
103
+ # Specifies the audit configuration for a service.
104
+ # The configuration determines which permission types are logged, and what
105
+ # identities, if any, are exempted from logging.
106
+ # An AuditConfig must have one or more AuditLogConfigs.
107
+ # If there are AuditConfigs for both `allServices` and a specific service,
108
+ # the union of the two AuditConfigs is used for that service: the log_types
109
+ # specified in each AuditConfig are enabled, and the exempted_members in each
110
+ # AuditLogConfig are exempted.
111
+ # Example Policy with multiple AuditConfigs:
112
+ # `
113
+ # "audit_configs": [
114
+ # `
115
+ # "service": "allServices"
116
+ # "audit_log_configs": [
117
+ # `
118
+ # "log_type": "DATA_READ",
119
+ # "exempted_members": [
120
+ # "user:foo@gmail.com"
121
+ # ]
122
+ # `,
123
+ # `
124
+ # "log_type": "DATA_WRITE",
125
+ # `,
126
+ # `
127
+ # "log_type": "ADMIN_READ",
128
+ # `
129
+ # ]
130
+ # `,
131
+ # `
132
+ # "service": "fooservice.googleapis.com"
133
+ # "audit_log_configs": [
134
+ # `
135
+ # "log_type": "DATA_READ",
136
+ # `,
137
+ # `
138
+ # "log_type": "DATA_WRITE",
139
+ # "exempted_members": [
140
+ # "user:bar@gmail.com"
141
+ # ]
142
+ # `
143
+ # ]
144
+ # `
145
+ # ]
146
+ # `
147
+ # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
148
+ # logging. It also exempts foo@gmail.com from DATA_READ logging, and
149
+ # bar@gmail.com from DATA_WRITE logging.
150
+ class AuditConfig
151
+ include Google::Apis::Core::Hashable
152
+
153
+ # The configuration for logging of each type of permission.
154
+ # Corresponds to the JSON property `auditLogConfigs`
155
+ # @return [Array<Google::Apis::CloudassetV1beta1::AuditLogConfig>]
156
+ attr_accessor :audit_log_configs
157
+
158
+ # Specifies a service that will be enabled for audit logging.
159
+ # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
160
+ # `allServices` is a special value that covers all services.
161
+ # Corresponds to the JSON property `service`
162
+ # @return [String]
163
+ attr_accessor :service
164
+
165
+ def initialize(**args)
166
+ update!(**args)
167
+ end
168
+
169
+ # Update properties of this object
170
+ def update!(**args)
171
+ @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
172
+ @service = args[:service] if args.key?(:service)
173
+ end
174
+ end
175
+
176
+ # Provides the configuration for logging a type of permissions.
177
+ # Example:
178
+ # `
179
+ # "audit_log_configs": [
180
+ # `
181
+ # "log_type": "DATA_READ",
182
+ # "exempted_members": [
183
+ # "user:foo@gmail.com"
184
+ # ]
185
+ # `,
186
+ # `
187
+ # "log_type": "DATA_WRITE",
188
+ # `
189
+ # ]
190
+ # `
191
+ # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
192
+ # foo@gmail.com from DATA_READ logging.
193
+ class AuditLogConfig
194
+ include Google::Apis::Core::Hashable
195
+
196
+ # Specifies the identities that do not cause logging for this type of
197
+ # permission.
198
+ # Follows the same format of Binding.members.
199
+ # Corresponds to the JSON property `exemptedMembers`
200
+ # @return [Array<String>]
201
+ attr_accessor :exempted_members
202
+
203
+ # The log type that this config enables.
204
+ # Corresponds to the JSON property `logType`
205
+ # @return [String]
206
+ attr_accessor :log_type
207
+
208
+ def initialize(**args)
209
+ update!(**args)
210
+ end
211
+
212
+ # Update properties of this object
213
+ def update!(**args)
214
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
215
+ @log_type = args[:log_type] if args.key?(:log_type)
216
+ end
217
+ end
218
+
219
+ # Batch get assets history response.
220
+ class BatchGetAssetsHistoryResponse
221
+ include Google::Apis::Core::Hashable
222
+
223
+ # A list of assets with valid time windows.
224
+ # Corresponds to the JSON property `assets`
225
+ # @return [Array<Google::Apis::CloudassetV1beta1::TemporalAsset>]
226
+ attr_accessor :assets
227
+
228
+ def initialize(**args)
229
+ update!(**args)
230
+ end
231
+
232
+ # Update properties of this object
233
+ def update!(**args)
234
+ @assets = args[:assets] if args.key?(:assets)
235
+ end
236
+ end
237
+
238
+ # Associates `members` with a `role`.
239
+ class Binding
240
+ include Google::Apis::Core::Hashable
241
+
242
+ # Represents an expression text. Example:
243
+ # title: "User account presence"
244
+ # description: "Determines whether the request has a user account"
245
+ # expression: "size(request.user) > 0"
246
+ # Corresponds to the JSON property `condition`
247
+ # @return [Google::Apis::CloudassetV1beta1::Expr]
248
+ attr_accessor :condition
249
+
250
+ # Specifies the identities requesting access for a Cloud Platform resource.
251
+ # `members` can have the following values:
252
+ # * `allUsers`: A special identifier that represents anyone who is
253
+ # on the internet; with or without a Google account.
254
+ # * `allAuthenticatedUsers`: A special identifier that represents anyone
255
+ # who is authenticated with a Google account or a service account.
256
+ # * `user:`emailid``: An email address that represents a specific Google
257
+ # account. For example, `alice@gmail.com` .
258
+ # * `serviceAccount:`emailid``: An email address that represents a service
259
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`.
260
+ # * `group:`emailid``: An email address that represents a Google group.
261
+ # For example, `admins@example.com`.
262
+ # * `domain:`domain``: A Google Apps domain name that represents all the
263
+ # users of that domain. For example, `google.com` or `example.com`.
264
+ # Corresponds to the JSON property `members`
265
+ # @return [Array<String>]
266
+ attr_accessor :members
267
+
268
+ # Role that is assigned to `members`.
269
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
270
+ # Corresponds to the JSON property `role`
271
+ # @return [String]
272
+ attr_accessor :role
273
+
274
+ def initialize(**args)
275
+ update!(**args)
276
+ end
277
+
278
+ # Update properties of this object
279
+ def update!(**args)
280
+ @condition = args[:condition] if args.key?(:condition)
281
+ @members = args[:members] if args.key?(:members)
282
+ @role = args[:role] if args.key?(:role)
283
+ end
284
+ end
285
+
286
+ # Export asset request.
287
+ class ExportAssetsRequest
288
+ include Google::Apis::Core::Hashable
289
+
290
+ # A list of asset types of which to take a snapshot for. For example:
291
+ # "google.compute.disk". If specified, only matching assets will be returned.
292
+ # Corresponds to the JSON property `assetTypes`
293
+ # @return [Array<String>]
294
+ attr_accessor :asset_types
295
+
296
+ # Asset content type. If not specified, no content but the asset name will be
297
+ # returned.
298
+ # Corresponds to the JSON property `contentType`
299
+ # @return [String]
300
+ attr_accessor :content_type
301
+
302
+ # Output configuration for export assets destination.
303
+ # Corresponds to the JSON property `outputConfig`
304
+ # @return [Google::Apis::CloudassetV1beta1::OutputConfig]
305
+ attr_accessor :output_config
306
+
307
+ # Timestamp to take an asset snapshot. This can only be set to a timestamp in
308
+ # the past or of the current time. If not specified, the current time will be
309
+ # used. Due to delays in resource data collection and indexing, there is a
310
+ # volatile window during which running the same query may get different
311
+ # results.
312
+ # Corresponds to the JSON property `readTime`
313
+ # @return [String]
314
+ attr_accessor :read_time
315
+
316
+ def initialize(**args)
317
+ update!(**args)
318
+ end
319
+
320
+ # Update properties of this object
321
+ def update!(**args)
322
+ @asset_types = args[:asset_types] if args.key?(:asset_types)
323
+ @content_type = args[:content_type] if args.key?(:content_type)
324
+ @output_config = args[:output_config] if args.key?(:output_config)
325
+ @read_time = args[:read_time] if args.key?(:read_time)
326
+ end
327
+ end
328
+
329
+ # Represents an expression text. Example:
330
+ # title: "User account presence"
331
+ # description: "Determines whether the request has a user account"
332
+ # expression: "size(request.user) > 0"
333
+ class Expr
334
+ include Google::Apis::Core::Hashable
335
+
336
+ # An optional description of the expression. This is a longer text which
337
+ # describes the expression, e.g. when hovered over it in a UI.
338
+ # Corresponds to the JSON property `description`
339
+ # @return [String]
340
+ attr_accessor :description
341
+
342
+ # Textual representation of an expression in
343
+ # Common Expression Language syntax.
344
+ # The application context of the containing message determines which
345
+ # well-known feature set of CEL is supported.
346
+ # Corresponds to the JSON property `expression`
347
+ # @return [String]
348
+ attr_accessor :expression
349
+
350
+ # An optional string indicating the location of the expression for error
351
+ # reporting, e.g. a file name and a position in the file.
352
+ # Corresponds to the JSON property `location`
353
+ # @return [String]
354
+ attr_accessor :location
355
+
356
+ # An optional title for the expression, i.e. a short string describing
357
+ # its purpose. This can be used e.g. in UIs which allow to enter the
358
+ # expression.
359
+ # Corresponds to the JSON property `title`
360
+ # @return [String]
361
+ attr_accessor :title
362
+
363
+ def initialize(**args)
364
+ update!(**args)
365
+ end
366
+
367
+ # Update properties of this object
368
+ def update!(**args)
369
+ @description = args[:description] if args.key?(:description)
370
+ @expression = args[:expression] if args.key?(:expression)
371
+ @location = args[:location] if args.key?(:location)
372
+ @title = args[:title] if args.key?(:title)
373
+ end
374
+ end
375
+
376
+ # A Cloud Storage location.
377
+ class GcsDestination
378
+ include Google::Apis::Core::Hashable
379
+
380
+ # The path of the Cloud Storage objects. It's the same path that is used by
381
+ # gsutil. For example: "gs://bucket_name/object_path". See [Viewing and Editing
382
+ # Object Metadata](https://cloud.google.com/storage/docs/viewing-editing-
383
+ # metadata)
384
+ # for more information.
385
+ # Corresponds to the JSON property `uri`
386
+ # @return [String]
387
+ attr_accessor :uri
388
+
389
+ def initialize(**args)
390
+ update!(**args)
391
+ end
392
+
393
+ # Update properties of this object
394
+ def update!(**args)
395
+ @uri = args[:uri] if args.key?(:uri)
396
+ end
397
+ end
398
+
399
+ # This resource represents a long-running operation that is the result of a
400
+ # network API call.
401
+ class Operation
402
+ include Google::Apis::Core::Hashable
403
+
404
+ # If the value is `false`, it means the operation is still in progress.
405
+ # If `true`, the operation is completed, and either `error` or `response` is
406
+ # available.
407
+ # Corresponds to the JSON property `done`
408
+ # @return [Boolean]
409
+ attr_accessor :done
410
+ alias_method :done?, :done
411
+
412
+ # The `Status` type defines a logical error model that is suitable for different
413
+ # programming environments, including REST APIs and RPC APIs. It is used by
414
+ # [gRPC](https://github.com/grpc). The error model is designed to be:
415
+ # - Simple to use and understand for most users
416
+ # - Flexible enough to meet unexpected needs
417
+ # # Overview
418
+ # The `Status` message contains three pieces of data: error code, error message,
419
+ # and error details. The error code should be an enum value of
420
+ # google.rpc.Code, but it may accept additional error codes if needed. The
421
+ # error message should be a developer-facing English message that helps
422
+ # developers *understand* and *resolve* the error. If a localized user-facing
423
+ # error message is needed, put the localized message in the error details or
424
+ # localize it in the client. The optional error details may contain arbitrary
425
+ # information about the error. There is a predefined set of error detail types
426
+ # in the package `google.rpc` that can be used for common error conditions.
427
+ # # Language mapping
428
+ # The `Status` message is the logical representation of the error model, but it
429
+ # is not necessarily the actual wire format. When the `Status` message is
430
+ # exposed in different client libraries and different wire protocols, it can be
431
+ # mapped differently. For example, it will likely be mapped to some exceptions
432
+ # in Java, but more likely mapped to some error codes in C.
433
+ # # Other uses
434
+ # The error model and the `Status` message can be used in a variety of
435
+ # environments, either with or without APIs, to provide a
436
+ # consistent developer experience across different environments.
437
+ # Example uses of this error model include:
438
+ # - Partial errors. If a service needs to return partial errors to the client,
439
+ # it may embed the `Status` in the normal response to indicate the partial
440
+ # errors.
441
+ # - Workflow errors. A typical workflow has multiple steps. Each step may
442
+ # have a `Status` message for error reporting.
443
+ # - Batch operations. If a client uses batch request and batch response, the
444
+ # `Status` message should be used directly inside batch response, one for
445
+ # each error sub-response.
446
+ # - Asynchronous operations. If an API call embeds asynchronous operation
447
+ # results in its response, the status of those operations should be
448
+ # represented directly using the `Status` message.
449
+ # - Logging. If some API errors are stored in logs, the message `Status` could
450
+ # be used directly after any stripping needed for security/privacy reasons.
451
+ # Corresponds to the JSON property `error`
452
+ # @return [Google::Apis::CloudassetV1beta1::Status]
453
+ attr_accessor :error
454
+
455
+ # Service-specific metadata associated with the operation. It typically
456
+ # contains progress information and common metadata such as create time.
457
+ # Some services might not provide such metadata. Any method that returns a
458
+ # long-running operation should document the metadata type, if any.
459
+ # Corresponds to the JSON property `metadata`
460
+ # @return [Hash<String,Object>]
461
+ attr_accessor :metadata
462
+
463
+ # The server-assigned name, which is only unique within the same service that
464
+ # originally returns it. If you use the default HTTP mapping, the
465
+ # `name` should have the format of `operations/some/unique/name`.
466
+ # Corresponds to the JSON property `name`
467
+ # @return [String]
468
+ attr_accessor :name
469
+
470
+ # The normal response of the operation in case of success. If the original
471
+ # method returns no data on success, such as `Delete`, the response is
472
+ # `google.protobuf.Empty`. If the original method is standard
473
+ # `Get`/`Create`/`Update`, the response should be the resource. For other
474
+ # methods, the response should have the type `XxxResponse`, where `Xxx`
475
+ # is the original method name. For example, if the original method name
476
+ # is `TakeSnapshot()`, the inferred response type is
477
+ # `TakeSnapshotResponse`.
478
+ # Corresponds to the JSON property `response`
479
+ # @return [Hash<String,Object>]
480
+ attr_accessor :response
481
+
482
+ def initialize(**args)
483
+ update!(**args)
484
+ end
485
+
486
+ # Update properties of this object
487
+ def update!(**args)
488
+ @done = args[:done] if args.key?(:done)
489
+ @error = args[:error] if args.key?(:error)
490
+ @metadata = args[:metadata] if args.key?(:metadata)
491
+ @name = args[:name] if args.key?(:name)
492
+ @response = args[:response] if args.key?(:response)
493
+ end
494
+ end
495
+
496
+ # Output configuration for export assets destination.
497
+ class OutputConfig
498
+ include Google::Apis::Core::Hashable
499
+
500
+ # A Cloud Storage location.
501
+ # Corresponds to the JSON property `gcsDestination`
502
+ # @return [Google::Apis::CloudassetV1beta1::GcsDestination]
503
+ attr_accessor :gcs_destination
504
+
505
+ def initialize(**args)
506
+ update!(**args)
507
+ end
508
+
509
+ # Update properties of this object
510
+ def update!(**args)
511
+ @gcs_destination = args[:gcs_destination] if args.key?(:gcs_destination)
512
+ end
513
+ end
514
+
515
+ # Defines an Identity and Access Management (IAM) policy. It is used to
516
+ # specify access control policies for Cloud Platform resources.
517
+ # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
518
+ # `members` to a `role`, where the members can be user accounts, Google groups,
519
+ # Google domains, and service accounts. A `role` is a named list of permissions
520
+ # defined by IAM.
521
+ # **JSON Example**
522
+ # `
523
+ # "bindings": [
524
+ # `
525
+ # "role": "roles/owner",
526
+ # "members": [
527
+ # "user:mike@example.com",
528
+ # "group:admins@example.com",
529
+ # "domain:google.com",
530
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
531
+ # ]
532
+ # `,
533
+ # `
534
+ # "role": "roles/viewer",
535
+ # "members": ["user:sean@example.com"]
536
+ # `
537
+ # ]
538
+ # `
539
+ # **YAML Example**
540
+ # bindings:
541
+ # - members:
542
+ # - user:mike@example.com
543
+ # - group:admins@example.com
544
+ # - domain:google.com
545
+ # - serviceAccount:my-other-app@appspot.gserviceaccount.com
546
+ # role: roles/owner
547
+ # - members:
548
+ # - user:sean@example.com
549
+ # role: roles/viewer
550
+ # For a description of IAM and its features, see the
551
+ # [IAM developer's guide](https://cloud.google.com/iam/docs).
552
+ class Policy
553
+ include Google::Apis::Core::Hashable
554
+
555
+ # Specifies cloud audit logging configuration for this policy.
556
+ # Corresponds to the JSON property `auditConfigs`
557
+ # @return [Array<Google::Apis::CloudassetV1beta1::AuditConfig>]
558
+ attr_accessor :audit_configs
559
+
560
+ # Associates a list of `members` to a `role`.
561
+ # `bindings` with no members will result in an error.
562
+ # Corresponds to the JSON property `bindings`
563
+ # @return [Array<Google::Apis::CloudassetV1beta1::Binding>]
564
+ attr_accessor :bindings
565
+
566
+ # `etag` is used for optimistic concurrency control as a way to help
567
+ # prevent simultaneous updates of a policy from overwriting each other.
568
+ # It is strongly suggested that systems make use of the `etag` in the
569
+ # read-modify-write cycle to perform policy updates in order to avoid race
570
+ # conditions: An `etag` is returned in the response to `getIamPolicy`, and
571
+ # systems are expected to put that etag in the request to `setIamPolicy` to
572
+ # ensure that their change will be applied to the same version of the policy.
573
+ # If no `etag` is provided in the call to `setIamPolicy`, then the existing
574
+ # policy is overwritten blindly.
575
+ # Corresponds to the JSON property `etag`
576
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
577
+ # @return [String]
578
+ attr_accessor :etag
579
+
580
+ # Deprecated.
581
+ # Corresponds to the JSON property `version`
582
+ # @return [Fixnum]
583
+ attr_accessor :version
584
+
585
+ def initialize(**args)
586
+ update!(**args)
587
+ end
588
+
589
+ # Update properties of this object
590
+ def update!(**args)
591
+ @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
592
+ @bindings = args[:bindings] if args.key?(:bindings)
593
+ @etag = args[:etag] if args.key?(:etag)
594
+ @version = args[:version] if args.key?(:version)
595
+ end
596
+ end
597
+
598
+ # Representation of a cloud resource.
599
+ class Resource
600
+ include Google::Apis::Core::Hashable
601
+
602
+ # The content of the resource, in which some sensitive fields are scrubbed
603
+ # away and may not be present.
604
+ # Corresponds to the JSON property `data`
605
+ # @return [Hash<String,Object>]
606
+ attr_accessor :data
607
+
608
+ # The URL of the discovery document containing the resource's JSON schema.
609
+ # For example:
610
+ # `"https://www.googleapis.com/discovery/v1/apis/compute/v1/rest"`.
611
+ # It will be left unspecified for resources without a discovery-based API,
612
+ # such as Cloud Bigtable.
613
+ # Corresponds to the JSON property `discoveryDocumentUri`
614
+ # @return [String]
615
+ attr_accessor :discovery_document_uri
616
+
617
+ # The JSON schema name listed in the discovery document.
618
+ # Example: "Project". It will be left unspecified for resources (such as
619
+ # Cloud Bigtable) without a discovery-based API.
620
+ # Corresponds to the JSON property `discoveryName`
621
+ # @return [String]
622
+ attr_accessor :discovery_name
623
+
624
+ # The full name of the immediate parent of this resource. See
625
+ # [Resource Names](https://cloud.google.com/apis/design/resource_names#
626
+ # full_resource_name)
627
+ # for more information.
628
+ # For GCP assets, it is the parent resource defined in the [Cloud IAM policy
629
+ # hierarchy](https://cloud.google.com/iam/docs/overview#policy_hierarchy).
630
+ # For example: `"//cloudresourcemanager.googleapis.com/projects/my_project_123"`.
631
+ # For third-party assets, it is up to the users to define.
632
+ # Corresponds to the JSON property `parent`
633
+ # @return [String]
634
+ attr_accessor :parent
635
+
636
+ # The REST URL for accessing the resource. An HTTP GET operation using this
637
+ # URL returns the resource itself.
638
+ # Example:
639
+ # `https://cloudresourcemanager.googleapis.com/v1/projects/my-project-123`.
640
+ # It will be left unspecified for resources without a REST API.
641
+ # Corresponds to the JSON property `resourceUrl`
642
+ # @return [String]
643
+ attr_accessor :resource_url
644
+
645
+ # The API version. Example: "v1".
646
+ # Corresponds to the JSON property `version`
647
+ # @return [String]
648
+ attr_accessor :version
649
+
650
+ def initialize(**args)
651
+ update!(**args)
652
+ end
653
+
654
+ # Update properties of this object
655
+ def update!(**args)
656
+ @data = args[:data] if args.key?(:data)
657
+ @discovery_document_uri = args[:discovery_document_uri] if args.key?(:discovery_document_uri)
658
+ @discovery_name = args[:discovery_name] if args.key?(:discovery_name)
659
+ @parent = args[:parent] if args.key?(:parent)
660
+ @resource_url = args[:resource_url] if args.key?(:resource_url)
661
+ @version = args[:version] if args.key?(:version)
662
+ end
663
+ end
664
+
665
+ # The `Status` type defines a logical error model that is suitable for different
666
+ # programming environments, including REST APIs and RPC APIs. It is used by
667
+ # [gRPC](https://github.com/grpc). The error model is designed to be:
668
+ # - Simple to use and understand for most users
669
+ # - Flexible enough to meet unexpected needs
670
+ # # Overview
671
+ # The `Status` message contains three pieces of data: error code, error message,
672
+ # and error details. The error code should be an enum value of
673
+ # google.rpc.Code, but it may accept additional error codes if needed. The
674
+ # error message should be a developer-facing English message that helps
675
+ # developers *understand* and *resolve* the error. If a localized user-facing
676
+ # error message is needed, put the localized message in the error details or
677
+ # localize it in the client. The optional error details may contain arbitrary
678
+ # information about the error. There is a predefined set of error detail types
679
+ # in the package `google.rpc` that can be used for common error conditions.
680
+ # # Language mapping
681
+ # The `Status` message is the logical representation of the error model, but it
682
+ # is not necessarily the actual wire format. When the `Status` message is
683
+ # exposed in different client libraries and different wire protocols, it can be
684
+ # mapped differently. For example, it will likely be mapped to some exceptions
685
+ # in Java, but more likely mapped to some error codes in C.
686
+ # # Other uses
687
+ # The error model and the `Status` message can be used in a variety of
688
+ # environments, either with or without APIs, to provide a
689
+ # consistent developer experience across different environments.
690
+ # Example uses of this error model include:
691
+ # - Partial errors. If a service needs to return partial errors to the client,
692
+ # it may embed the `Status` in the normal response to indicate the partial
693
+ # errors.
694
+ # - Workflow errors. A typical workflow has multiple steps. Each step may
695
+ # have a `Status` message for error reporting.
696
+ # - Batch operations. If a client uses batch request and batch response, the
697
+ # `Status` message should be used directly inside batch response, one for
698
+ # each error sub-response.
699
+ # - Asynchronous operations. If an API call embeds asynchronous operation
700
+ # results in its response, the status of those operations should be
701
+ # represented directly using the `Status` message.
702
+ # - Logging. If some API errors are stored in logs, the message `Status` could
703
+ # be used directly after any stripping needed for security/privacy reasons.
704
+ class Status
705
+ include Google::Apis::Core::Hashable
706
+
707
+ # The status code, which should be an enum value of google.rpc.Code.
708
+ # Corresponds to the JSON property `code`
709
+ # @return [Fixnum]
710
+ attr_accessor :code
711
+
712
+ # A list of messages that carry the error details. There is a common set of
713
+ # message types for APIs to use.
714
+ # Corresponds to the JSON property `details`
715
+ # @return [Array<Hash<String,Object>>]
716
+ attr_accessor :details
717
+
718
+ # A developer-facing error message, which should be in English. Any
719
+ # user-facing error message should be localized and sent in the
720
+ # google.rpc.Status.details field, or localized by the client.
721
+ # Corresponds to the JSON property `message`
722
+ # @return [String]
723
+ attr_accessor :message
724
+
725
+ def initialize(**args)
726
+ update!(**args)
727
+ end
728
+
729
+ # Update properties of this object
730
+ def update!(**args)
731
+ @code = args[:code] if args.key?(:code)
732
+ @details = args[:details] if args.key?(:details)
733
+ @message = args[:message] if args.key?(:message)
734
+ end
735
+ end
736
+
737
+ # Temporal asset. In addition to the asset, the temporal asset includes the
738
+ # status of the asset and valid from and to time of it.
739
+ class TemporalAsset
740
+ include Google::Apis::Core::Hashable
741
+
742
+ # Cloud asset. This includes all Google Cloud Platform resources,
743
+ # Cloud IAM policies, and other non-GCP assets.
744
+ # Corresponds to the JSON property `asset`
745
+ # @return [Google::Apis::CloudassetV1beta1::Asset]
746
+ attr_accessor :asset
747
+
748
+ # If the asset is deleted or not.
749
+ # Corresponds to the JSON property `deleted`
750
+ # @return [Boolean]
751
+ attr_accessor :deleted
752
+ alias_method :deleted?, :deleted
753
+
754
+ # A time window of [start_time, end_time).
755
+ # Corresponds to the JSON property `window`
756
+ # @return [Google::Apis::CloudassetV1beta1::TimeWindow]
757
+ attr_accessor :window
758
+
759
+ def initialize(**args)
760
+ update!(**args)
761
+ end
762
+
763
+ # Update properties of this object
764
+ def update!(**args)
765
+ @asset = args[:asset] if args.key?(:asset)
766
+ @deleted = args[:deleted] if args.key?(:deleted)
767
+ @window = args[:window] if args.key?(:window)
768
+ end
769
+ end
770
+
771
+ # A time window of [start_time, end_time).
772
+ class TimeWindow
773
+ include Google::Apis::Core::Hashable
774
+
775
+ # End time of the time window (exclusive).
776
+ # Current timestamp if not specified.
777
+ # Corresponds to the JSON property `endTime`
778
+ # @return [String]
779
+ attr_accessor :end_time
780
+
781
+ # Start time of the time window (inclusive).
782
+ # Corresponds to the JSON property `startTime`
783
+ # @return [String]
784
+ attr_accessor :start_time
785
+
786
+ def initialize(**args)
787
+ update!(**args)
788
+ end
789
+
790
+ # Update properties of this object
791
+ def update!(**args)
792
+ @end_time = args[:end_time] if args.key?(:end_time)
793
+ @start_time = args[:start_time] if args.key?(:start_time)
794
+ end
795
+ end
796
+ end
797
+ end
798
+ end