google-apis-auditmanager_v1 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.yardopts +13 -0
- data/CHANGELOG.md +7 -0
- data/LICENSE.md +202 -0
- data/OVERVIEW.md +96 -0
- data/lib/google/apis/auditmanager_v1/classes.rb +1191 -0
- data/lib/google/apis/auditmanager_v1/gem_version.rb +28 -0
- data/lib/google/apis/auditmanager_v1/representations.rb +489 -0
- data/lib/google/apis/auditmanager_v1/service.rb +2065 -0
- data/lib/google/apis/auditmanager_v1.rb +39 -0
- data/lib/google-apis-auditmanager_v1.rb +15 -0
- metadata +79 -0
|
@@ -0,0 +1,1191 @@
|
|
|
1
|
+
# Copyright 2020 Google LLC
|
|
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 AuditmanagerV1
|
|
24
|
+
|
|
25
|
+
# An audit report.
|
|
26
|
+
class AuditReport
|
|
27
|
+
include Google::Apis::Core::Hashable
|
|
28
|
+
|
|
29
|
+
# Output only. Compliance framework to use for the audit report. For example, `
|
|
30
|
+
# CIS_GCP_FOUNDATIONS_V1_2_0`.
|
|
31
|
+
# Corresponds to the JSON property `complianceFramework`
|
|
32
|
+
# @return [String]
|
|
33
|
+
attr_accessor :compliance_framework
|
|
34
|
+
|
|
35
|
+
# Output only. Deprecated. Compliance standard to be audited against. Use the `
|
|
36
|
+
# compliance_framework` field instead.
|
|
37
|
+
# Corresponds to the JSON property `complianceStandard`
|
|
38
|
+
# @return [String]
|
|
39
|
+
attr_accessor :compliance_standard
|
|
40
|
+
|
|
41
|
+
# Output only. Overall status of the controls.
|
|
42
|
+
# Corresponds to the JSON property `controlDetails`
|
|
43
|
+
# @return [Array<Google::Apis::AuditmanagerV1::ControlDetails>]
|
|
44
|
+
attr_accessor :control_details
|
|
45
|
+
|
|
46
|
+
# Output only. Creation time of the audit report.
|
|
47
|
+
# Corresponds to the JSON property `createTime`
|
|
48
|
+
# @return [String]
|
|
49
|
+
attr_accessor :create_time
|
|
50
|
+
|
|
51
|
+
# Cloud Storage bucket where the audit report is uploaded to.
|
|
52
|
+
# Corresponds to the JSON property `destinationDetails`
|
|
53
|
+
# @return [Google::Apis::AuditmanagerV1::DestinationDetails]
|
|
54
|
+
attr_accessor :destination_details
|
|
55
|
+
|
|
56
|
+
# Identifier. Name of the audit report, in one of the following formats: * `
|
|
57
|
+
# projects/`project`/locations/`location`/auditReports/`audit_report`` * `
|
|
58
|
+
# folders/`folder`/locations/`location`/auditReports/`audit_report`` * `
|
|
59
|
+
# organizations/`organization`/locations/`location`/auditReports/`audit_report``
|
|
60
|
+
# Corresponds to the JSON property `name`
|
|
61
|
+
# @return [String]
|
|
62
|
+
attr_accessor :name
|
|
63
|
+
|
|
64
|
+
# Output only. Client operation ID for the audit report.
|
|
65
|
+
# Corresponds to the JSON property `operationId`
|
|
66
|
+
# @return [String]
|
|
67
|
+
attr_accessor :operation_id
|
|
68
|
+
|
|
69
|
+
# Output only. State of audit report generation.
|
|
70
|
+
# Corresponds to the JSON property `reportGenerationState`
|
|
71
|
+
# @return [String]
|
|
72
|
+
attr_accessor :report_generation_state
|
|
73
|
+
|
|
74
|
+
# Additional information about the number of checks that were made during an
|
|
75
|
+
# audit operation.
|
|
76
|
+
# Corresponds to the JSON property `reportSummary`
|
|
77
|
+
# @return [Google::Apis::AuditmanagerV1::ReportSummary]
|
|
78
|
+
attr_accessor :report_summary
|
|
79
|
+
|
|
80
|
+
# Output only. Organization, folder, or project that the report is generated for,
|
|
81
|
+
# in one of the following formats: * `projects/`project`/locations/`location`` *
|
|
82
|
+
# `folders/`folder`/locations/`location`` * `organizations/`organization`/
|
|
83
|
+
# locations/`location``
|
|
84
|
+
# Corresponds to the JSON property `scope`
|
|
85
|
+
# @return [String]
|
|
86
|
+
attr_accessor :scope
|
|
87
|
+
|
|
88
|
+
# Output only. Project number, folder ID, or organization ID that the audit
|
|
89
|
+
# report was generated for.
|
|
90
|
+
# Corresponds to the JSON property `scopeId`
|
|
91
|
+
# @return [String]
|
|
92
|
+
attr_accessor :scope_id
|
|
93
|
+
|
|
94
|
+
def initialize(**args)
|
|
95
|
+
update!(**args)
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
# Update properties of this object
|
|
99
|
+
def update!(**args)
|
|
100
|
+
@compliance_framework = args[:compliance_framework] if args.key?(:compliance_framework)
|
|
101
|
+
@compliance_standard = args[:compliance_standard] if args.key?(:compliance_standard)
|
|
102
|
+
@control_details = args[:control_details] if args.key?(:control_details)
|
|
103
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
|
104
|
+
@destination_details = args[:destination_details] if args.key?(:destination_details)
|
|
105
|
+
@name = args[:name] if args.key?(:name)
|
|
106
|
+
@operation_id = args[:operation_id] if args.key?(:operation_id)
|
|
107
|
+
@report_generation_state = args[:report_generation_state] if args.key?(:report_generation_state)
|
|
108
|
+
@report_summary = args[:report_summary] if args.key?(:report_summary)
|
|
109
|
+
@scope = args[:scope] if args.key?(:scope)
|
|
110
|
+
@scope_id = args[:scope_id] if args.key?(:scope_id)
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
# An audit schedule, in one of the following formats: * `projects/`project`/
|
|
115
|
+
# locations/`location`/auditSchedules/`audit_schedule`` * `folders/`folder`/
|
|
116
|
+
# locations/`location`/auditSchedules/`audit_schedule``
|
|
117
|
+
class AuditSchedule
|
|
118
|
+
include Google::Apis::Core::Hashable
|
|
119
|
+
|
|
120
|
+
# Required. Framework (set of controls) that the audit scope report is generated
|
|
121
|
+
# against. For example, `NIST_800_53`.
|
|
122
|
+
# Corresponds to the JSON property `complianceFramework`
|
|
123
|
+
# @return [String]
|
|
124
|
+
attr_accessor :compliance_framework
|
|
125
|
+
|
|
126
|
+
# Output only. Timestamp when the schedule was created.
|
|
127
|
+
# Corresponds to the JSON property `createTime`
|
|
128
|
+
# @return [String]
|
|
129
|
+
attr_accessor :create_time
|
|
130
|
+
|
|
131
|
+
# Optional. Display name for the audit schedule.
|
|
132
|
+
# Corresponds to the JSON property `displayName`
|
|
133
|
+
# @return [String]
|
|
134
|
+
attr_accessor :display_name
|
|
135
|
+
|
|
136
|
+
# Output only. Describes the error if the schedule is in an error state.
|
|
137
|
+
# Corresponds to the JSON property `errorMessage`
|
|
138
|
+
# @return [String]
|
|
139
|
+
attr_accessor :error_message
|
|
140
|
+
|
|
141
|
+
# Required. Cloud Storage bucket where Audit Manager can upload the audit report
|
|
142
|
+
# and evidence. The format is `gs://`bucket_name``.
|
|
143
|
+
# Corresponds to the JSON property `gcsUri`
|
|
144
|
+
# @return [String]
|
|
145
|
+
attr_accessor :gcs_uri
|
|
146
|
+
|
|
147
|
+
# Output only. Timestamp when the audit run was last triggered.
|
|
148
|
+
# Corresponds to the JSON property `lastTriggerTime`
|
|
149
|
+
# @return [String]
|
|
150
|
+
attr_accessor :last_trigger_time
|
|
151
|
+
|
|
152
|
+
# Identifier. Unique identifier for the audit schedule. Format: projects/`
|
|
153
|
+
# project`/locations/`location`/auditSchedules/`audit_schedule` folders/`folder`/
|
|
154
|
+
# locations/`location`/auditSchedules/`audit_schedule` organizations/`
|
|
155
|
+
# organization`/locations/`location`/auditSchedules/`audit_schedule`
|
|
156
|
+
# Corresponds to the JSON property `name`
|
|
157
|
+
# @return [String]
|
|
158
|
+
attr_accessor :name
|
|
159
|
+
|
|
160
|
+
# Output only. Calculated timestamp for the next scheduled run.
|
|
161
|
+
# Corresponds to the JSON property `nextRunTime`
|
|
162
|
+
# @return [String]
|
|
163
|
+
attr_accessor :next_run_time
|
|
164
|
+
|
|
165
|
+
# Required. Format for the audit report.
|
|
166
|
+
# Corresponds to the JSON property `reportFormat`
|
|
167
|
+
# @return [String]
|
|
168
|
+
attr_accessor :report_format
|
|
169
|
+
|
|
170
|
+
# Timing and frequency parameters for recurring audit runs.
|
|
171
|
+
# Corresponds to the JSON property `scheduleConfig`
|
|
172
|
+
# @return [Google::Apis::AuditmanagerV1::ScheduleConfig]
|
|
173
|
+
attr_accessor :schedule_config
|
|
174
|
+
|
|
175
|
+
# Optional. State of the audit schedule. While most states are managed by the
|
|
176
|
+
# system, you can use UpdateAuditSchedule to start, pause, or delete the
|
|
177
|
+
# schedule.
|
|
178
|
+
# Corresponds to the JSON property `state`
|
|
179
|
+
# @return [String]
|
|
180
|
+
attr_accessor :state
|
|
181
|
+
|
|
182
|
+
# Output only. Timestamp when the schedule was last updated.
|
|
183
|
+
# Corresponds to the JSON property `updateTime`
|
|
184
|
+
# @return [String]
|
|
185
|
+
attr_accessor :update_time
|
|
186
|
+
|
|
187
|
+
def initialize(**args)
|
|
188
|
+
update!(**args)
|
|
189
|
+
end
|
|
190
|
+
|
|
191
|
+
# Update properties of this object
|
|
192
|
+
def update!(**args)
|
|
193
|
+
@compliance_framework = args[:compliance_framework] if args.key?(:compliance_framework)
|
|
194
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
|
195
|
+
@display_name = args[:display_name] if args.key?(:display_name)
|
|
196
|
+
@error_message = args[:error_message] if args.key?(:error_message)
|
|
197
|
+
@gcs_uri = args[:gcs_uri] if args.key?(:gcs_uri)
|
|
198
|
+
@last_trigger_time = args[:last_trigger_time] if args.key?(:last_trigger_time)
|
|
199
|
+
@name = args[:name] if args.key?(:name)
|
|
200
|
+
@next_run_time = args[:next_run_time] if args.key?(:next_run_time)
|
|
201
|
+
@report_format = args[:report_format] if args.key?(:report_format)
|
|
202
|
+
@schedule_config = args[:schedule_config] if args.key?(:schedule_config)
|
|
203
|
+
@state = args[:state] if args.key?(:state)
|
|
204
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
|
205
|
+
end
|
|
206
|
+
end
|
|
207
|
+
|
|
208
|
+
# Audit scope report.
|
|
209
|
+
class AuditScopeReport
|
|
210
|
+
include Google::Apis::Core::Hashable
|
|
211
|
+
|
|
212
|
+
# Identifier. Name for the audit scope report, in one of the following formats: *
|
|
213
|
+
# `projects/`project`/locations/`location`/auditScopeReports/`
|
|
214
|
+
# audit_scope_report`` * `folders/`folder`/locations/`location`/
|
|
215
|
+
# auditScopeReports/`audit_scope_report`` * `organizations/`organization`/
|
|
216
|
+
# locations/`location`/auditScopeReports/`audit_scope_report``
|
|
217
|
+
# Corresponds to the JSON property `name`
|
|
218
|
+
# @return [String]
|
|
219
|
+
attr_accessor :name
|
|
220
|
+
|
|
221
|
+
# Audit scope report content in byte format.
|
|
222
|
+
# Corresponds to the JSON property `scopeReportContents`
|
|
223
|
+
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
224
|
+
# @return [String]
|
|
225
|
+
attr_accessor :scope_report_contents
|
|
226
|
+
|
|
227
|
+
def initialize(**args)
|
|
228
|
+
update!(**args)
|
|
229
|
+
end
|
|
230
|
+
|
|
231
|
+
# Update properties of this object
|
|
232
|
+
def update!(**args)
|
|
233
|
+
@name = args[:name] if args.key?(:name)
|
|
234
|
+
@scope_report_contents = args[:scope_report_contents] if args.key?(:scope_report_contents)
|
|
235
|
+
end
|
|
236
|
+
end
|
|
237
|
+
|
|
238
|
+
# The request message for Operations.CancelOperation.
|
|
239
|
+
class CancelOperationRequest
|
|
240
|
+
include Google::Apis::Core::Hashable
|
|
241
|
+
|
|
242
|
+
def initialize(**args)
|
|
243
|
+
update!(**args)
|
|
244
|
+
end
|
|
245
|
+
|
|
246
|
+
# Update properties of this object
|
|
247
|
+
def update!(**args)
|
|
248
|
+
end
|
|
249
|
+
end
|
|
250
|
+
|
|
251
|
+
# A control.
|
|
252
|
+
class Control
|
|
253
|
+
include Google::Apis::Core::Hashable
|
|
254
|
+
|
|
255
|
+
# Regulatory family of the control.
|
|
256
|
+
# Corresponds to the JSON property `controlFamily`
|
|
257
|
+
# @return [Google::Apis::AuditmanagerV1::ControlFamily]
|
|
258
|
+
attr_accessor :control_family
|
|
259
|
+
|
|
260
|
+
# Output only. A description of your responsibility for this control.
|
|
261
|
+
# Corresponds to the JSON property `customerResponsibilityDescription`
|
|
262
|
+
# @return [String]
|
|
263
|
+
attr_accessor :customer_responsibility_description
|
|
264
|
+
|
|
265
|
+
# Output only. A description of how you can implement your responsibility for
|
|
266
|
+
# this control.
|
|
267
|
+
# Corresponds to the JSON property `customerResponsibilityImplementation`
|
|
268
|
+
# @return [String]
|
|
269
|
+
attr_accessor :customer_responsibility_implementation
|
|
270
|
+
|
|
271
|
+
# Output only. Description of the control.
|
|
272
|
+
# Corresponds to the JSON property `description`
|
|
273
|
+
# @return [String]
|
|
274
|
+
attr_accessor :description
|
|
275
|
+
|
|
276
|
+
# Output only. Display name of the control.
|
|
277
|
+
# Corresponds to the JSON property `displayName`
|
|
278
|
+
# @return [String]
|
|
279
|
+
attr_accessor :display_name
|
|
280
|
+
|
|
281
|
+
# Output only. Category that the control belongs to.
|
|
282
|
+
# Corresponds to the JSON property `family`
|
|
283
|
+
# @return [String]
|
|
284
|
+
attr_accessor :family
|
|
285
|
+
|
|
286
|
+
# Output only. A description of Google's responsibility for this control.
|
|
287
|
+
# Corresponds to the JSON property `googleResponsibilityDescription`
|
|
288
|
+
# @return [String]
|
|
289
|
+
attr_accessor :google_responsibility_description
|
|
290
|
+
|
|
291
|
+
# Output only. A description of how Google implements its responsibility for
|
|
292
|
+
# this control.
|
|
293
|
+
# Corresponds to the JSON property `googleResponsibilityImplementation`
|
|
294
|
+
# @return [String]
|
|
295
|
+
attr_accessor :google_responsibility_implementation
|
|
296
|
+
|
|
297
|
+
# Output only. Control identifier that's used to fetch the findings. The
|
|
298
|
+
# identifier is the same as the control report name.
|
|
299
|
+
# Corresponds to the JSON property `id`
|
|
300
|
+
# @return [String]
|
|
301
|
+
attr_accessor :id
|
|
302
|
+
|
|
303
|
+
# Output only. Who is responsible for implementing this control. Set to one of
|
|
304
|
+
# the following values: `GOOGLE`, `CUSTOMER`, or `SHARED`.
|
|
305
|
+
# Corresponds to the JSON property `responsibilityType`
|
|
306
|
+
# @return [String]
|
|
307
|
+
attr_accessor :responsibility_type
|
|
308
|
+
|
|
309
|
+
def initialize(**args)
|
|
310
|
+
update!(**args)
|
|
311
|
+
end
|
|
312
|
+
|
|
313
|
+
# Update properties of this object
|
|
314
|
+
def update!(**args)
|
|
315
|
+
@control_family = args[:control_family] if args.key?(:control_family)
|
|
316
|
+
@customer_responsibility_description = args[:customer_responsibility_description] if args.key?(:customer_responsibility_description)
|
|
317
|
+
@customer_responsibility_implementation = args[:customer_responsibility_implementation] if args.key?(:customer_responsibility_implementation)
|
|
318
|
+
@description = args[:description] if args.key?(:description)
|
|
319
|
+
@display_name = args[:display_name] if args.key?(:display_name)
|
|
320
|
+
@family = args[:family] if args.key?(:family)
|
|
321
|
+
@google_responsibility_description = args[:google_responsibility_description] if args.key?(:google_responsibility_description)
|
|
322
|
+
@google_responsibility_implementation = args[:google_responsibility_implementation] if args.key?(:google_responsibility_implementation)
|
|
323
|
+
@id = args[:id] if args.key?(:id)
|
|
324
|
+
@responsibility_type = args[:responsibility_type] if args.key?(:responsibility_type)
|
|
325
|
+
end
|
|
326
|
+
end
|
|
327
|
+
|
|
328
|
+
# Evaluation details for a control.
|
|
329
|
+
class ControlDetails
|
|
330
|
+
include Google::Apis::Core::Hashable
|
|
331
|
+
|
|
332
|
+
# Output only. Overall status of the findings for the control.
|
|
333
|
+
# Corresponds to the JSON property `complianceState`
|
|
334
|
+
# @return [String]
|
|
335
|
+
attr_accessor :compliance_state
|
|
336
|
+
|
|
337
|
+
# A control.
|
|
338
|
+
# Corresponds to the JSON property `control`
|
|
339
|
+
# @return [Google::Apis::AuditmanagerV1::Control]
|
|
340
|
+
attr_accessor :control
|
|
341
|
+
|
|
342
|
+
# Additional information about the number of checks that were made during an
|
|
343
|
+
# audit operation.
|
|
344
|
+
# Corresponds to the JSON property `controlReportSummary`
|
|
345
|
+
# @return [Google::Apis::AuditmanagerV1::ReportSummary]
|
|
346
|
+
attr_accessor :control_report_summary
|
|
347
|
+
|
|
348
|
+
def initialize(**args)
|
|
349
|
+
update!(**args)
|
|
350
|
+
end
|
|
351
|
+
|
|
352
|
+
# Update properties of this object
|
|
353
|
+
def update!(**args)
|
|
354
|
+
@compliance_state = args[:compliance_state] if args.key?(:compliance_state)
|
|
355
|
+
@control = args[:control] if args.key?(:control)
|
|
356
|
+
@control_report_summary = args[:control_report_summary] if args.key?(:control_report_summary)
|
|
357
|
+
end
|
|
358
|
+
end
|
|
359
|
+
|
|
360
|
+
# Regulatory family of the control.
|
|
361
|
+
class ControlFamily
|
|
362
|
+
include Google::Apis::Core::Hashable
|
|
363
|
+
|
|
364
|
+
# Display name of the regulatory control family.
|
|
365
|
+
# Corresponds to the JSON property `displayName`
|
|
366
|
+
# @return [String]
|
|
367
|
+
attr_accessor :display_name
|
|
368
|
+
|
|
369
|
+
# ID of the regulatory control family. To find the list of supported control
|
|
370
|
+
# families, use the ListControls method and review the `control_family` field in
|
|
371
|
+
# the response.
|
|
372
|
+
# Corresponds to the JSON property `familyId`
|
|
373
|
+
# @return [String]
|
|
374
|
+
attr_accessor :family_id
|
|
375
|
+
|
|
376
|
+
def initialize(**args)
|
|
377
|
+
update!(**args)
|
|
378
|
+
end
|
|
379
|
+
|
|
380
|
+
# Update properties of this object
|
|
381
|
+
def update!(**args)
|
|
382
|
+
@display_name = args[:display_name] if args.key?(:display_name)
|
|
383
|
+
@family_id = args[:family_id] if args.key?(:family_id)
|
|
384
|
+
end
|
|
385
|
+
end
|
|
386
|
+
|
|
387
|
+
# Cloud Storage bucket where the audit report is uploaded to.
|
|
388
|
+
class DestinationDetails
|
|
389
|
+
include Google::Apis::Core::Hashable
|
|
390
|
+
|
|
391
|
+
# URI for the Cloud Storage bucket, in the format `gs://`bucket_name``.
|
|
392
|
+
# Corresponds to the JSON property `gcsBucketUri`
|
|
393
|
+
# @return [String]
|
|
394
|
+
attr_accessor :gcs_bucket_uri
|
|
395
|
+
|
|
396
|
+
def initialize(**args)
|
|
397
|
+
update!(**args)
|
|
398
|
+
end
|
|
399
|
+
|
|
400
|
+
# Update properties of this object
|
|
401
|
+
def update!(**args)
|
|
402
|
+
@gcs_bucket_uri = args[:gcs_bucket_uri] if args.key?(:gcs_bucket_uri)
|
|
403
|
+
end
|
|
404
|
+
end
|
|
405
|
+
|
|
406
|
+
# Details about the bucket where you want to upload the audit report.
|
|
407
|
+
class EligibleDestination
|
|
408
|
+
include Google::Apis::Core::Hashable
|
|
409
|
+
|
|
410
|
+
# The location of the Cloud Storage bucket where you want to upload the audit
|
|
411
|
+
# report and evidence during the GenerateAuditReport API call.
|
|
412
|
+
# Corresponds to the JSON property `eligibleGcsBucket`
|
|
413
|
+
# @return [String]
|
|
414
|
+
attr_accessor :eligible_gcs_bucket
|
|
415
|
+
|
|
416
|
+
def initialize(**args)
|
|
417
|
+
update!(**args)
|
|
418
|
+
end
|
|
419
|
+
|
|
420
|
+
# Update properties of this object
|
|
421
|
+
def update!(**args)
|
|
422
|
+
@eligible_gcs_bucket = args[:eligible_gcs_bucket] if args.key?(:eligible_gcs_bucket)
|
|
423
|
+
end
|
|
424
|
+
end
|
|
425
|
+
|
|
426
|
+
# A generic empty message that you can re-use to avoid defining duplicated empty
|
|
427
|
+
# messages in your APIs. A typical example is to use it as the request or the
|
|
428
|
+
# response type of an API method. For instance: service Foo ` rpc Bar(google.
|
|
429
|
+
# protobuf.Empty) returns (google.protobuf.Empty); `
|
|
430
|
+
class Empty
|
|
431
|
+
include Google::Apis::Core::Hashable
|
|
432
|
+
|
|
433
|
+
def initialize(**args)
|
|
434
|
+
update!(**args)
|
|
435
|
+
end
|
|
436
|
+
|
|
437
|
+
# Update properties of this object
|
|
438
|
+
def update!(**args)
|
|
439
|
+
end
|
|
440
|
+
end
|
|
441
|
+
|
|
442
|
+
# Request message for EnrollResource.
|
|
443
|
+
class EnrollResourceRequest
|
|
444
|
+
include Google::Apis::Core::Hashable
|
|
445
|
+
|
|
446
|
+
# Required. Cloud Storage buckets that you can upload your audit reports to
|
|
447
|
+
# during the audit process. When you enroll an organization or folder, you can
|
|
448
|
+
# choose a Cloud Storage bucket from any project in the organization or folder.
|
|
449
|
+
# If you run an audit at the project level using the service agent at the
|
|
450
|
+
# organization or folder level, all the buckets that are associated with the
|
|
451
|
+
# service agent are available.
|
|
452
|
+
# Corresponds to the JSON property `destinations`
|
|
453
|
+
# @return [Array<Google::Apis::AuditmanagerV1::EligibleDestination>]
|
|
454
|
+
attr_accessor :destinations
|
|
455
|
+
|
|
456
|
+
# Optional. If `true`, only validates the request and does not enroll the
|
|
457
|
+
# resource. This executes standard request validation (such as schema, IAM, and
|
|
458
|
+
# destination checks) and skips the apply phase. Use this field for the
|
|
459
|
+
# following purposes: * **Infrastructure as Code (IaC)**: Allow tools like
|
|
460
|
+
# Terraform to run dry-run mutations (e.g., `terraform plan`) without creating
|
|
461
|
+
# real resources or incurring costs. * **User Interface Validation**: Enable
|
|
462
|
+
# real-time form and permission validation in custom UIs before submitting
|
|
463
|
+
# requests. * **CI/CD & Automation**: Test your scripts, permissions, and
|
|
464
|
+
# parameters safely without consuming resource quotas.
|
|
465
|
+
# Corresponds to the JSON property `validateOnly`
|
|
466
|
+
# @return [Boolean]
|
|
467
|
+
attr_accessor :validate_only
|
|
468
|
+
alias_method :validate_only?, :validate_only
|
|
469
|
+
|
|
470
|
+
def initialize(**args)
|
|
471
|
+
update!(**args)
|
|
472
|
+
end
|
|
473
|
+
|
|
474
|
+
# Update properties of this object
|
|
475
|
+
def update!(**args)
|
|
476
|
+
@destinations = args[:destinations] if args.key?(:destinations)
|
|
477
|
+
@validate_only = args[:validate_only] if args.key?(:validate_only)
|
|
478
|
+
end
|
|
479
|
+
end
|
|
480
|
+
|
|
481
|
+
# Organization, folder, or project to enroll for audit reports.
|
|
482
|
+
class Enrollment
|
|
483
|
+
include Google::Apis::Core::Hashable
|
|
484
|
+
|
|
485
|
+
# Output only. Cloud Storage buckets where you want to upload the audit reports.
|
|
486
|
+
# Corresponds to the JSON property `destinationDetails`
|
|
487
|
+
# @return [Array<Google::Apis::AuditmanagerV1::DestinationDetails>]
|
|
488
|
+
attr_accessor :destination_details
|
|
489
|
+
|
|
490
|
+
# Identifier. Name of the enrollment, in one of the following formats: * `
|
|
491
|
+
# projects/`project`/locations/`location`/enrollments/`enrollment`` * `folders/`
|
|
492
|
+
# folder`/locations/`location`/enrollments/`enrollment`` * `organizations/`
|
|
493
|
+
# organization`/locations/`location`/enrollments/`enrollment``
|
|
494
|
+
# Corresponds to the JSON property `name`
|
|
495
|
+
# @return [String]
|
|
496
|
+
attr_accessor :name
|
|
497
|
+
|
|
498
|
+
def initialize(**args)
|
|
499
|
+
update!(**args)
|
|
500
|
+
end
|
|
501
|
+
|
|
502
|
+
# Update properties of this object
|
|
503
|
+
def update!(**args)
|
|
504
|
+
@destination_details = args[:destination_details] if args.key?(:destination_details)
|
|
505
|
+
@name = args[:name] if args.key?(:name)
|
|
506
|
+
end
|
|
507
|
+
end
|
|
508
|
+
|
|
509
|
+
# Request message for GenerateAuditReport.
|
|
510
|
+
class GenerateAuditReportRequest
|
|
511
|
+
include Google::Apis::Core::Hashable
|
|
512
|
+
|
|
513
|
+
# Required. The framework that's used for the audit report. For example, `
|
|
514
|
+
# NIST_800_53`.
|
|
515
|
+
# Corresponds to the JSON property `complianceFramework`
|
|
516
|
+
# @return [String]
|
|
517
|
+
attr_accessor :compliance_framework
|
|
518
|
+
|
|
519
|
+
# Optional. Deprecated. Compliance standard for the audit report. Use the `
|
|
520
|
+
# compliance_framework` field instead.
|
|
521
|
+
# Corresponds to the JSON property `complianceStandard`
|
|
522
|
+
# @return [String]
|
|
523
|
+
attr_accessor :compliance_standard
|
|
524
|
+
|
|
525
|
+
# URL for the Cloud Storage bucket where the report and evidence is uploaded.
|
|
526
|
+
# You must select a bucket that was provided during the enrollment process.
|
|
527
|
+
# Corresponds to the JSON property `gcsUri`
|
|
528
|
+
# @return [String]
|
|
529
|
+
attr_accessor :gcs_uri
|
|
530
|
+
|
|
531
|
+
# Required. Format for the audit report.
|
|
532
|
+
# Corresponds to the JSON property `reportFormat`
|
|
533
|
+
# @return [String]
|
|
534
|
+
attr_accessor :report_format
|
|
535
|
+
|
|
536
|
+
# Optional. If `true`, only validates the request and does not generate the
|
|
537
|
+
# audit report. This executes standard request validation (such as schema,
|
|
538
|
+
# framework existence, scope, and IAM checks) and skips the apply phase. Use
|
|
539
|
+
# this field for the following purposes: * **Infrastructure as Code (IaC)**:
|
|
540
|
+
# Allow tools like Terraform to run dry-run mutations (e.g., `terraform plan`)
|
|
541
|
+
# without creating real resources or incurring costs. * **User Interface
|
|
542
|
+
# Validation**: Enable real-time form and permission validation in custom UIs
|
|
543
|
+
# before submitting requests. * **CI/CD & Automation**: Test your scripts,
|
|
544
|
+
# permissions, and parameters safely without triggering expensive Long-Running
|
|
545
|
+
# Operations (LROs) or consuming resource quotas.
|
|
546
|
+
# Corresponds to the JSON property `validateOnly`
|
|
547
|
+
# @return [Boolean]
|
|
548
|
+
attr_accessor :validate_only
|
|
549
|
+
alias_method :validate_only?, :validate_only
|
|
550
|
+
|
|
551
|
+
def initialize(**args)
|
|
552
|
+
update!(**args)
|
|
553
|
+
end
|
|
554
|
+
|
|
555
|
+
# Update properties of this object
|
|
556
|
+
def update!(**args)
|
|
557
|
+
@compliance_framework = args[:compliance_framework] if args.key?(:compliance_framework)
|
|
558
|
+
@compliance_standard = args[:compliance_standard] if args.key?(:compliance_standard)
|
|
559
|
+
@gcs_uri = args[:gcs_uri] if args.key?(:gcs_uri)
|
|
560
|
+
@report_format = args[:report_format] if args.key?(:report_format)
|
|
561
|
+
@validate_only = args[:validate_only] if args.key?(:validate_only)
|
|
562
|
+
end
|
|
563
|
+
end
|
|
564
|
+
|
|
565
|
+
# Request message for GenerateAuditScopeReport.
|
|
566
|
+
class GenerateAuditScopeReportRequest
|
|
567
|
+
include Google::Apis::Core::Hashable
|
|
568
|
+
|
|
569
|
+
# Required. Framework (set of controls) that the audit scope report is generated
|
|
570
|
+
# against. For example, `NIST_800_53`.
|
|
571
|
+
# Corresponds to the JSON property `complianceFramework`
|
|
572
|
+
# @return [String]
|
|
573
|
+
attr_accessor :compliance_framework
|
|
574
|
+
|
|
575
|
+
# Optional. Deprecated. The standard (industry or regulatory requirements) that
|
|
576
|
+
# the audit scope report is run against. Use the `compliance_framework` field
|
|
577
|
+
# instead.
|
|
578
|
+
# Corresponds to the JSON property `complianceStandard`
|
|
579
|
+
# @return [String]
|
|
580
|
+
attr_accessor :compliance_standard
|
|
581
|
+
|
|
582
|
+
# Required. Format for the audit scope report.
|
|
583
|
+
# Corresponds to the JSON property `reportFormat`
|
|
584
|
+
# @return [String]
|
|
585
|
+
attr_accessor :report_format
|
|
586
|
+
|
|
587
|
+
# Optional. If `true`, only validates the request and does not generate the
|
|
588
|
+
# audit scope report. This executes standard request validation (such as schema,
|
|
589
|
+
# framework existence, scope, and IAM checks) and skips the apply phase. Use
|
|
590
|
+
# this field for the following purposes: * **Infrastructure as Code (IaC)**:
|
|
591
|
+
# Allow tools like Terraform to run dry-run mutations (e.g., `terraform plan`)
|
|
592
|
+
# without creating real resources or incurring costs. * **User Interface
|
|
593
|
+
# Validation**: Enable real-time form and permission validation in custom UIs
|
|
594
|
+
# before submitting requests. * **CI/CD & Automation**: Test your scripts,
|
|
595
|
+
# permissions, and parameters safely without consuming resource quotas.
|
|
596
|
+
# Corresponds to the JSON property `validateOnly`
|
|
597
|
+
# @return [Boolean]
|
|
598
|
+
attr_accessor :validate_only
|
|
599
|
+
alias_method :validate_only?, :validate_only
|
|
600
|
+
|
|
601
|
+
def initialize(**args)
|
|
602
|
+
update!(**args)
|
|
603
|
+
end
|
|
604
|
+
|
|
605
|
+
# Update properties of this object
|
|
606
|
+
def update!(**args)
|
|
607
|
+
@compliance_framework = args[:compliance_framework] if args.key?(:compliance_framework)
|
|
608
|
+
@compliance_standard = args[:compliance_standard] if args.key?(:compliance_standard)
|
|
609
|
+
@report_format = args[:report_format] if args.key?(:report_format)
|
|
610
|
+
@validate_only = args[:validate_only] if args.key?(:validate_only)
|
|
611
|
+
end
|
|
612
|
+
end
|
|
613
|
+
|
|
614
|
+
# Response message for ListAuditReports.
|
|
615
|
+
class ListAuditReportsResponse
|
|
616
|
+
include Google::Apis::Core::Hashable
|
|
617
|
+
|
|
618
|
+
# Output only. Audit reports.
|
|
619
|
+
# Corresponds to the JSON property `auditReports`
|
|
620
|
+
# @return [Array<Google::Apis::AuditmanagerV1::AuditReport>]
|
|
621
|
+
attr_accessor :audit_reports
|
|
622
|
+
|
|
623
|
+
# Output only. A token that you can send as the `page_token` in a subsequent
|
|
624
|
+
# request to retrieve the next page of results. If this field is empty, there
|
|
625
|
+
# are no subsequent pages.
|
|
626
|
+
# Corresponds to the JSON property `nextPageToken`
|
|
627
|
+
# @return [String]
|
|
628
|
+
attr_accessor :next_page_token
|
|
629
|
+
|
|
630
|
+
def initialize(**args)
|
|
631
|
+
update!(**args)
|
|
632
|
+
end
|
|
633
|
+
|
|
634
|
+
# Update properties of this object
|
|
635
|
+
def update!(**args)
|
|
636
|
+
@audit_reports = args[:audit_reports] if args.key?(:audit_reports)
|
|
637
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
638
|
+
end
|
|
639
|
+
end
|
|
640
|
+
|
|
641
|
+
# Response message for ListAuditSchedules.
|
|
642
|
+
class ListAuditSchedulesResponse
|
|
643
|
+
include Google::Apis::Core::Hashable
|
|
644
|
+
|
|
645
|
+
# List of audit schedules.
|
|
646
|
+
# Corresponds to the JSON property `auditSchedules`
|
|
647
|
+
# @return [Array<Google::Apis::AuditmanagerV1::AuditSchedule>]
|
|
648
|
+
attr_accessor :audit_schedules
|
|
649
|
+
|
|
650
|
+
# A token that you can send as the `page_token` in a subsequent request to
|
|
651
|
+
# retrieve the next page of results. If this field is empty, there are no
|
|
652
|
+
# subsequent pages.
|
|
653
|
+
# Corresponds to the JSON property `nextPageToken`
|
|
654
|
+
# @return [String]
|
|
655
|
+
attr_accessor :next_page_token
|
|
656
|
+
|
|
657
|
+
# Locations that can't be reached.
|
|
658
|
+
# Corresponds to the JSON property `unreachable`
|
|
659
|
+
# @return [Array<String>]
|
|
660
|
+
attr_accessor :unreachable
|
|
661
|
+
|
|
662
|
+
def initialize(**args)
|
|
663
|
+
update!(**args)
|
|
664
|
+
end
|
|
665
|
+
|
|
666
|
+
# Update properties of this object
|
|
667
|
+
def update!(**args)
|
|
668
|
+
@audit_schedules = args[:audit_schedules] if args.key?(:audit_schedules)
|
|
669
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
670
|
+
@unreachable = args[:unreachable] if args.key?(:unreachable)
|
|
671
|
+
end
|
|
672
|
+
end
|
|
673
|
+
|
|
674
|
+
# Response message for ListControls.
|
|
675
|
+
class ListControlsResponse
|
|
676
|
+
include Google::Apis::Core::Hashable
|
|
677
|
+
|
|
678
|
+
# Output only. Controls for a given regulatory standard.
|
|
679
|
+
# Corresponds to the JSON property `controls`
|
|
680
|
+
# @return [Array<Google::Apis::AuditmanagerV1::Control>]
|
|
681
|
+
attr_accessor :controls
|
|
682
|
+
|
|
683
|
+
# Output only. A token that you can send as the `page_token` in a subsequent
|
|
684
|
+
# request to retrieve the next page of results. If this field is empty, there
|
|
685
|
+
# are no subsequent pages.
|
|
686
|
+
# Corresponds to the JSON property `nextPageToken`
|
|
687
|
+
# @return [String]
|
|
688
|
+
attr_accessor :next_page_token
|
|
689
|
+
|
|
690
|
+
def initialize(**args)
|
|
691
|
+
update!(**args)
|
|
692
|
+
end
|
|
693
|
+
|
|
694
|
+
# Update properties of this object
|
|
695
|
+
def update!(**args)
|
|
696
|
+
@controls = args[:controls] if args.key?(:controls)
|
|
697
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
698
|
+
end
|
|
699
|
+
end
|
|
700
|
+
|
|
701
|
+
# The response message for Locations.ListLocations.
|
|
702
|
+
class ListLocationsResponse
|
|
703
|
+
include Google::Apis::Core::Hashable
|
|
704
|
+
|
|
705
|
+
# A list of locations that matches the specified filter in the request.
|
|
706
|
+
# Corresponds to the JSON property `locations`
|
|
707
|
+
# @return [Array<Google::Apis::AuditmanagerV1::Location>]
|
|
708
|
+
attr_accessor :locations
|
|
709
|
+
|
|
710
|
+
# The standard List next-page token.
|
|
711
|
+
# Corresponds to the JSON property `nextPageToken`
|
|
712
|
+
# @return [String]
|
|
713
|
+
attr_accessor :next_page_token
|
|
714
|
+
|
|
715
|
+
def initialize(**args)
|
|
716
|
+
update!(**args)
|
|
717
|
+
end
|
|
718
|
+
|
|
719
|
+
# Update properties of this object
|
|
720
|
+
def update!(**args)
|
|
721
|
+
@locations = args[:locations] if args.key?(:locations)
|
|
722
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
723
|
+
end
|
|
724
|
+
end
|
|
725
|
+
|
|
726
|
+
# The response message for Operations.ListOperations.
|
|
727
|
+
class ListOperationsResponse
|
|
728
|
+
include Google::Apis::Core::Hashable
|
|
729
|
+
|
|
730
|
+
# The standard List next-page token.
|
|
731
|
+
# Corresponds to the JSON property `nextPageToken`
|
|
732
|
+
# @return [String]
|
|
733
|
+
attr_accessor :next_page_token
|
|
734
|
+
|
|
735
|
+
# A list of operations that matches the specified filter in the request.
|
|
736
|
+
# Corresponds to the JSON property `operations`
|
|
737
|
+
# @return [Array<Google::Apis::AuditmanagerV1::Operation>]
|
|
738
|
+
attr_accessor :operations
|
|
739
|
+
|
|
740
|
+
# Unordered list. Unreachable resources. Populated when the request sets `
|
|
741
|
+
# ListOperationsRequest.return_partial_success` and reads across collections.
|
|
742
|
+
# For example, when attempting to list all resources across all supported
|
|
743
|
+
# locations.
|
|
744
|
+
# Corresponds to the JSON property `unreachable`
|
|
745
|
+
# @return [Array<String>]
|
|
746
|
+
attr_accessor :unreachable
|
|
747
|
+
|
|
748
|
+
def initialize(**args)
|
|
749
|
+
update!(**args)
|
|
750
|
+
end
|
|
751
|
+
|
|
752
|
+
# Update properties of this object
|
|
753
|
+
def update!(**args)
|
|
754
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
755
|
+
@operations = args[:operations] if args.key?(:operations)
|
|
756
|
+
@unreachable = args[:unreachable] if args.key?(:unreachable)
|
|
757
|
+
end
|
|
758
|
+
end
|
|
759
|
+
|
|
760
|
+
# Response message for ListResourceEnrollmentStatuses.
|
|
761
|
+
class ListResourceEnrollmentStatusesResponse
|
|
762
|
+
include Google::Apis::Core::Hashable
|
|
763
|
+
|
|
764
|
+
# Output only. A token that you can send as the `page_token` in a subsequent
|
|
765
|
+
# request to retrieve the next page of results. If this field is empty, there
|
|
766
|
+
# are no subsequent pages.
|
|
767
|
+
# Corresponds to the JSON property `nextPageToken`
|
|
768
|
+
# @return [String]
|
|
769
|
+
attr_accessor :next_page_token
|
|
770
|
+
|
|
771
|
+
# Resources with their enrollment status.
|
|
772
|
+
# Corresponds to the JSON property `resourceEnrollmentStatuses`
|
|
773
|
+
# @return [Array<Google::Apis::AuditmanagerV1::ResourceEnrollmentStatus>]
|
|
774
|
+
attr_accessor :resource_enrollment_statuses
|
|
775
|
+
|
|
776
|
+
def initialize(**args)
|
|
777
|
+
update!(**args)
|
|
778
|
+
end
|
|
779
|
+
|
|
780
|
+
# Update properties of this object
|
|
781
|
+
def update!(**args)
|
|
782
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
783
|
+
@resource_enrollment_statuses = args[:resource_enrollment_statuses] if args.key?(:resource_enrollment_statuses)
|
|
784
|
+
end
|
|
785
|
+
end
|
|
786
|
+
|
|
787
|
+
# A resource that represents a Google Cloud location.
|
|
788
|
+
class Location
|
|
789
|
+
include Google::Apis::Core::Hashable
|
|
790
|
+
|
|
791
|
+
# The friendly name for this location, typically a nearby city name. For example,
|
|
792
|
+
# "Tokyo".
|
|
793
|
+
# Corresponds to the JSON property `displayName`
|
|
794
|
+
# @return [String]
|
|
795
|
+
attr_accessor :display_name
|
|
796
|
+
|
|
797
|
+
# Cross-service attributes for the location. For example `"cloud.googleapis.com/
|
|
798
|
+
# region": "us-east1"`
|
|
799
|
+
# Corresponds to the JSON property `labels`
|
|
800
|
+
# @return [Hash<String,String>]
|
|
801
|
+
attr_accessor :labels
|
|
802
|
+
|
|
803
|
+
# The canonical id for this location. For example: `"us-east1"`.
|
|
804
|
+
# Corresponds to the JSON property `locationId`
|
|
805
|
+
# @return [String]
|
|
806
|
+
attr_accessor :location_id
|
|
807
|
+
|
|
808
|
+
# Service-specific metadata. For example the available capacity at the given
|
|
809
|
+
# location.
|
|
810
|
+
# Corresponds to the JSON property `metadata`
|
|
811
|
+
# @return [Hash<String,Object>]
|
|
812
|
+
attr_accessor :metadata
|
|
813
|
+
|
|
814
|
+
# Resource name for the location, which may vary between implementations. For
|
|
815
|
+
# example: `"projects/example-project/locations/us-east1"`
|
|
816
|
+
# Corresponds to the JSON property `name`
|
|
817
|
+
# @return [String]
|
|
818
|
+
attr_accessor :name
|
|
819
|
+
|
|
820
|
+
def initialize(**args)
|
|
821
|
+
update!(**args)
|
|
822
|
+
end
|
|
823
|
+
|
|
824
|
+
# Update properties of this object
|
|
825
|
+
def update!(**args)
|
|
826
|
+
@display_name = args[:display_name] if args.key?(:display_name)
|
|
827
|
+
@labels = args[:labels] if args.key?(:labels)
|
|
828
|
+
@location_id = args[:location_id] if args.key?(:location_id)
|
|
829
|
+
@metadata = args[:metadata] if args.key?(:metadata)
|
|
830
|
+
@name = args[:name] if args.key?(:name)
|
|
831
|
+
end
|
|
832
|
+
end
|
|
833
|
+
|
|
834
|
+
# This resource represents a long-running operation that is the result of a
|
|
835
|
+
# network API call.
|
|
836
|
+
class Operation
|
|
837
|
+
include Google::Apis::Core::Hashable
|
|
838
|
+
|
|
839
|
+
# If the value is `false`, it means the operation is still in progress. If `true`
|
|
840
|
+
# , the operation is completed, and either `error` or `response` is available.
|
|
841
|
+
# Corresponds to the JSON property `done`
|
|
842
|
+
# @return [Boolean]
|
|
843
|
+
attr_accessor :done
|
|
844
|
+
alias_method :done?, :done
|
|
845
|
+
|
|
846
|
+
# The `Status` type defines a logical error model that is suitable for different
|
|
847
|
+
# programming environments, including REST APIs and RPC APIs. It is used by [
|
|
848
|
+
# gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
|
|
849
|
+
# data: error code, error message, and error details. You can find out more
|
|
850
|
+
# about this error model and how to work with it in the [API Design Guide](https:
|
|
851
|
+
# //cloud.google.com/apis/design/errors).
|
|
852
|
+
# Corresponds to the JSON property `error`
|
|
853
|
+
# @return [Google::Apis::AuditmanagerV1::Status]
|
|
854
|
+
attr_accessor :error
|
|
855
|
+
|
|
856
|
+
# Service-specific metadata associated with the operation. It typically contains
|
|
857
|
+
# progress information and common metadata such as create time. Some services
|
|
858
|
+
# might not provide such metadata. Any method that returns a long-running
|
|
859
|
+
# operation should document the metadata type, if any.
|
|
860
|
+
# Corresponds to the JSON property `metadata`
|
|
861
|
+
# @return [Hash<String,Object>]
|
|
862
|
+
attr_accessor :metadata
|
|
863
|
+
|
|
864
|
+
# The server-assigned name, which is only unique within the same service that
|
|
865
|
+
# originally returns it. If you use the default HTTP mapping, the `name` should
|
|
866
|
+
# be a resource name ending with `operations/`unique_id``.
|
|
867
|
+
# Corresponds to the JSON property `name`
|
|
868
|
+
# @return [String]
|
|
869
|
+
attr_accessor :name
|
|
870
|
+
|
|
871
|
+
# The normal, successful response of the operation. If the original method
|
|
872
|
+
# returns no data on success, such as `Delete`, the response is `google.protobuf.
|
|
873
|
+
# Empty`. If the original method is standard `Get`/`Create`/`Update`, the
|
|
874
|
+
# response should be the resource. For other methods, the response should have
|
|
875
|
+
# the type `XxxResponse`, where `Xxx` is the original method name. For example,
|
|
876
|
+
# if the original method name is `TakeSnapshot()`, the inferred response type is
|
|
877
|
+
# `TakeSnapshotResponse`.
|
|
878
|
+
# Corresponds to the JSON property `response`
|
|
879
|
+
# @return [Hash<String,Object>]
|
|
880
|
+
attr_accessor :response
|
|
881
|
+
|
|
882
|
+
def initialize(**args)
|
|
883
|
+
update!(**args)
|
|
884
|
+
end
|
|
885
|
+
|
|
886
|
+
# Update properties of this object
|
|
887
|
+
def update!(**args)
|
|
888
|
+
@done = args[:done] if args.key?(:done)
|
|
889
|
+
@error = args[:error] if args.key?(:error)
|
|
890
|
+
@metadata = args[:metadata] if args.key?(:metadata)
|
|
891
|
+
@name = args[:name] if args.key?(:name)
|
|
892
|
+
@response = args[:response] if args.key?(:response)
|
|
893
|
+
end
|
|
894
|
+
end
|
|
895
|
+
|
|
896
|
+
# Metadata for the long-running operation.
|
|
897
|
+
class OperationMetadata
|
|
898
|
+
include Google::Apis::Core::Hashable
|
|
899
|
+
|
|
900
|
+
# Output only. The API version used to start the operation. For example, `v1`.
|
|
901
|
+
# Corresponds to the JSON property `apiVersion`
|
|
902
|
+
# @return [String]
|
|
903
|
+
attr_accessor :api_version
|
|
904
|
+
|
|
905
|
+
# Output only. Time that the operation was created.
|
|
906
|
+
# Corresponds to the JSON property `createTime`
|
|
907
|
+
# @return [String]
|
|
908
|
+
attr_accessor :create_time
|
|
909
|
+
|
|
910
|
+
# Output only. Time that the operation finished running.
|
|
911
|
+
# Corresponds to the JSON property `endTime`
|
|
912
|
+
# @return [String]
|
|
913
|
+
attr_accessor :end_time
|
|
914
|
+
|
|
915
|
+
# Output only. Whether you requested that the operation be cancelled. Operations
|
|
916
|
+
# that were cancelled successfully have an Operation.error value with a status
|
|
917
|
+
# code Code.CANCELLED.
|
|
918
|
+
# Corresponds to the JSON property `requestedCancellation`
|
|
919
|
+
# @return [Boolean]
|
|
920
|
+
attr_accessor :requested_cancellation
|
|
921
|
+
alias_method :requested_cancellation?, :requested_cancellation
|
|
922
|
+
|
|
923
|
+
# Output only. A human-readable status of the operation, if any.
|
|
924
|
+
# Corresponds to the JSON property `statusMessage`
|
|
925
|
+
# @return [String]
|
|
926
|
+
attr_accessor :status_message
|
|
927
|
+
|
|
928
|
+
# Output only. A server-defined resource path for the target of the operation.
|
|
929
|
+
# Corresponds to the JSON property `target`
|
|
930
|
+
# @return [String]
|
|
931
|
+
attr_accessor :target
|
|
932
|
+
|
|
933
|
+
# Output only. The name of the verb that was executed by the operation.
|
|
934
|
+
# Corresponds to the JSON property `verb`
|
|
935
|
+
# @return [String]
|
|
936
|
+
attr_accessor :verb
|
|
937
|
+
|
|
938
|
+
def initialize(**args)
|
|
939
|
+
update!(**args)
|
|
940
|
+
end
|
|
941
|
+
|
|
942
|
+
# Update properties of this object
|
|
943
|
+
def update!(**args)
|
|
944
|
+
@api_version = args[:api_version] if args.key?(:api_version)
|
|
945
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
|
946
|
+
@end_time = args[:end_time] if args.key?(:end_time)
|
|
947
|
+
@requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation)
|
|
948
|
+
@status_message = args[:status_message] if args.key?(:status_message)
|
|
949
|
+
@target = args[:target] if args.key?(:target)
|
|
950
|
+
@verb = args[:verb] if args.key?(:verb)
|
|
951
|
+
end
|
|
952
|
+
end
|
|
953
|
+
|
|
954
|
+
# Details about the current status of the report-generation process.
|
|
955
|
+
class ReportGenerationProgress
|
|
956
|
+
include Google::Apis::Core::Hashable
|
|
957
|
+
|
|
958
|
+
# Output only. Name of the audit report.
|
|
959
|
+
# Corresponds to the JSON property `auditReport`
|
|
960
|
+
# @return [String]
|
|
961
|
+
attr_accessor :audit_report
|
|
962
|
+
|
|
963
|
+
# Output only. Cloud Storage bucket where the audit report is uploaded to after
|
|
964
|
+
# the evaluation process is completed.
|
|
965
|
+
# Corresponds to the JSON property `destinationGcsBucket`
|
|
966
|
+
# @return [String]
|
|
967
|
+
attr_accessor :destination_gcs_bucket
|
|
968
|
+
|
|
969
|
+
# Progress of the evaluation process. The progress is defined in terms of
|
|
970
|
+
# percentage complete.
|
|
971
|
+
# Corresponds to the JSON property `evaluationPercentComplete`
|
|
972
|
+
# @return [Float]
|
|
973
|
+
attr_accessor :evaluation_percent_complete
|
|
974
|
+
|
|
975
|
+
# Output only. Reason for failure during the audit report generation process.
|
|
976
|
+
# This field is set only if the `OperationState` attribute is `
|
|
977
|
+
# OPERATION_STATE_FAILED`.
|
|
978
|
+
# Corresponds to the JSON property `failureReason`
|
|
979
|
+
# @return [String]
|
|
980
|
+
attr_accessor :failure_reason
|
|
981
|
+
|
|
982
|
+
# Report generation progress, defined in terms of percentage complete. Until
|
|
983
|
+
# evaluation is complete, this value is always `0`.
|
|
984
|
+
# Corresponds to the JSON property `reportGenerationPercentComplete`
|
|
985
|
+
# @return [Float]
|
|
986
|
+
attr_accessor :report_generation_percent_complete
|
|
987
|
+
|
|
988
|
+
# Report uploading progress, defined in terms of percentage complete. Until
|
|
989
|
+
# evaluation and report generation are complete, this value is always `0`.
|
|
990
|
+
# Corresponds to the JSON property `reportUploadingPercentComplete`
|
|
991
|
+
# @return [Float]
|
|
992
|
+
attr_accessor :report_uploading_percent_complete
|
|
993
|
+
|
|
994
|
+
# Output only. Current state of execution for report generation.
|
|
995
|
+
# Corresponds to the JSON property `state`
|
|
996
|
+
# @return [String]
|
|
997
|
+
attr_accessor :state
|
|
998
|
+
|
|
999
|
+
def initialize(**args)
|
|
1000
|
+
update!(**args)
|
|
1001
|
+
end
|
|
1002
|
+
|
|
1003
|
+
# Update properties of this object
|
|
1004
|
+
def update!(**args)
|
|
1005
|
+
@audit_report = args[:audit_report] if args.key?(:audit_report)
|
|
1006
|
+
@destination_gcs_bucket = args[:destination_gcs_bucket] if args.key?(:destination_gcs_bucket)
|
|
1007
|
+
@evaluation_percent_complete = args[:evaluation_percent_complete] if args.key?(:evaluation_percent_complete)
|
|
1008
|
+
@failure_reason = args[:failure_reason] if args.key?(:failure_reason)
|
|
1009
|
+
@report_generation_percent_complete = args[:report_generation_percent_complete] if args.key?(:report_generation_percent_complete)
|
|
1010
|
+
@report_uploading_percent_complete = args[:report_uploading_percent_complete] if args.key?(:report_uploading_percent_complete)
|
|
1011
|
+
@state = args[:state] if args.key?(:state)
|
|
1012
|
+
end
|
|
1013
|
+
end
|
|
1014
|
+
|
|
1015
|
+
# Additional information about the number of checks that were made during an
|
|
1016
|
+
# audit operation.
|
|
1017
|
+
class ReportSummary
|
|
1018
|
+
include Google::Apis::Core::Hashable
|
|
1019
|
+
|
|
1020
|
+
# Number of compliant checks.
|
|
1021
|
+
# Corresponds to the JSON property `compliantCount`
|
|
1022
|
+
# @return [Fixnum]
|
|
1023
|
+
attr_accessor :compliant_count
|
|
1024
|
+
|
|
1025
|
+
# Number of checks that can't be performed due to errors.
|
|
1026
|
+
# Corresponds to the JSON property `errorCount`
|
|
1027
|
+
# @return [Fixnum]
|
|
1028
|
+
attr_accessor :error_count
|
|
1029
|
+
|
|
1030
|
+
# Number of checks that require a manual review.
|
|
1031
|
+
# Corresponds to the JSON property `manualReviewNeededCount`
|
|
1032
|
+
# @return [Fixnum]
|
|
1033
|
+
attr_accessor :manual_review_needed_count
|
|
1034
|
+
|
|
1035
|
+
# Total number of evaluated checks.
|
|
1036
|
+
# Corresponds to the JSON property `totalCount`
|
|
1037
|
+
# @return [Fixnum]
|
|
1038
|
+
attr_accessor :total_count
|
|
1039
|
+
|
|
1040
|
+
# Number of checks with violations.
|
|
1041
|
+
# Corresponds to the JSON property `violationCount`
|
|
1042
|
+
# @return [Fixnum]
|
|
1043
|
+
attr_accessor :violation_count
|
|
1044
|
+
|
|
1045
|
+
def initialize(**args)
|
|
1046
|
+
update!(**args)
|
|
1047
|
+
end
|
|
1048
|
+
|
|
1049
|
+
# Update properties of this object
|
|
1050
|
+
def update!(**args)
|
|
1051
|
+
@compliant_count = args[:compliant_count] if args.key?(:compliant_count)
|
|
1052
|
+
@error_count = args[:error_count] if args.key?(:error_count)
|
|
1053
|
+
@manual_review_needed_count = args[:manual_review_needed_count] if args.key?(:manual_review_needed_count)
|
|
1054
|
+
@total_count = args[:total_count] if args.key?(:total_count)
|
|
1055
|
+
@violation_count = args[:violation_count] if args.key?(:violation_count)
|
|
1056
|
+
end
|
|
1057
|
+
end
|
|
1058
|
+
|
|
1059
|
+
# An organization, folder, or project with its enrollment status.
|
|
1060
|
+
class ResourceEnrollmentStatus
|
|
1061
|
+
include Google::Apis::Core::Hashable
|
|
1062
|
+
|
|
1063
|
+
# Output only. Display name for the organization, folder, or project.
|
|
1064
|
+
# Corresponds to the JSON property `displayName`
|
|
1065
|
+
# @return [String]
|
|
1066
|
+
attr_accessor :display_name
|
|
1067
|
+
|
|
1068
|
+
# Output only. Deprecated. Whether the organization, folder, or project is
|
|
1069
|
+
# enrolled. Use `enrollment_state` instead.
|
|
1070
|
+
# Corresponds to the JSON property `enrolled`
|
|
1071
|
+
# @return [Boolean]
|
|
1072
|
+
attr_accessor :enrolled
|
|
1073
|
+
alias_method :enrolled?, :enrolled
|
|
1074
|
+
|
|
1075
|
+
# Organization, folder, or project to enroll for audit reports.
|
|
1076
|
+
# Corresponds to the JSON property `enrollment`
|
|
1077
|
+
# @return [Google::Apis::AuditmanagerV1::Enrollment]
|
|
1078
|
+
attr_accessor :enrollment
|
|
1079
|
+
|
|
1080
|
+
# Output only. Enrollment state of the organization, folder, or project.
|
|
1081
|
+
# Corresponds to the JSON property `enrollmentState`
|
|
1082
|
+
# @return [String]
|
|
1083
|
+
attr_accessor :enrollment_state
|
|
1084
|
+
|
|
1085
|
+
# Identifier. Name of the resource enrollment status, in one of the following
|
|
1086
|
+
# formats: * `folders/`folder`/locations/`location`/resourceEnrollmentStatuses/`
|
|
1087
|
+
# resource_enrollment_status`` * `projects/`project`/locations/`location`/
|
|
1088
|
+
# resourceEnrollmentStatuses/`resource_enrollment_status`` * `organizations/`
|
|
1089
|
+
# organization`/locations/`location`/resourceEnrollmentStatuses/`
|
|
1090
|
+
# resource_enrollment_status``
|
|
1091
|
+
# Corresponds to the JSON property `name`
|
|
1092
|
+
# @return [String]
|
|
1093
|
+
attr_accessor :name
|
|
1094
|
+
|
|
1095
|
+
def initialize(**args)
|
|
1096
|
+
update!(**args)
|
|
1097
|
+
end
|
|
1098
|
+
|
|
1099
|
+
# Update properties of this object
|
|
1100
|
+
def update!(**args)
|
|
1101
|
+
@display_name = args[:display_name] if args.key?(:display_name)
|
|
1102
|
+
@enrolled = args[:enrolled] if args.key?(:enrolled)
|
|
1103
|
+
@enrollment = args[:enrollment] if args.key?(:enrollment)
|
|
1104
|
+
@enrollment_state = args[:enrollment_state] if args.key?(:enrollment_state)
|
|
1105
|
+
@name = args[:name] if args.key?(:name)
|
|
1106
|
+
end
|
|
1107
|
+
end
|
|
1108
|
+
|
|
1109
|
+
# Timing and frequency parameters for recurring audit runs.
|
|
1110
|
+
class ScheduleConfig
|
|
1111
|
+
include Google::Apis::Core::Hashable
|
|
1112
|
+
|
|
1113
|
+
# Optional. Date that the schedule stops. If not specified, the schedule runs
|
|
1114
|
+
# indefinitely.
|
|
1115
|
+
# Corresponds to the JSON property `endTime`
|
|
1116
|
+
# @return [String]
|
|
1117
|
+
attr_accessor :end_time
|
|
1118
|
+
|
|
1119
|
+
# Required. Frequency of audit runs.
|
|
1120
|
+
# Corresponds to the JSON property `frequency`
|
|
1121
|
+
# @return [String]
|
|
1122
|
+
attr_accessor :frequency
|
|
1123
|
+
|
|
1124
|
+
# Required. Date and time when the first audit run is triggered. Subsequent runs
|
|
1125
|
+
# are based on this time and the chosen frequency.
|
|
1126
|
+
# Corresponds to the JSON property `startTime`
|
|
1127
|
+
# @return [String]
|
|
1128
|
+
attr_accessor :start_time
|
|
1129
|
+
|
|
1130
|
+
# Optional. Time zone for the audit schedule in IANA format (for example, `
|
|
1131
|
+
# America/New_York`). The time zone is used to interpret the `start_time` and
|
|
1132
|
+
# the `end_time`, and to calculate subsequent run dates. If not specified, the
|
|
1133
|
+
# time zone default is UTC.
|
|
1134
|
+
# Corresponds to the JSON property `timeZone`
|
|
1135
|
+
# @return [String]
|
|
1136
|
+
attr_accessor :time_zone
|
|
1137
|
+
|
|
1138
|
+
def initialize(**args)
|
|
1139
|
+
update!(**args)
|
|
1140
|
+
end
|
|
1141
|
+
|
|
1142
|
+
# Update properties of this object
|
|
1143
|
+
def update!(**args)
|
|
1144
|
+
@end_time = args[:end_time] if args.key?(:end_time)
|
|
1145
|
+
@frequency = args[:frequency] if args.key?(:frequency)
|
|
1146
|
+
@start_time = args[:start_time] if args.key?(:start_time)
|
|
1147
|
+
@time_zone = args[:time_zone] if args.key?(:time_zone)
|
|
1148
|
+
end
|
|
1149
|
+
end
|
|
1150
|
+
|
|
1151
|
+
# The `Status` type defines a logical error model that is suitable for different
|
|
1152
|
+
# programming environments, including REST APIs and RPC APIs. It is used by [
|
|
1153
|
+
# gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
|
|
1154
|
+
# data: error code, error message, and error details. You can find out more
|
|
1155
|
+
# about this error model and how to work with it in the [API Design Guide](https:
|
|
1156
|
+
# //cloud.google.com/apis/design/errors).
|
|
1157
|
+
class Status
|
|
1158
|
+
include Google::Apis::Core::Hashable
|
|
1159
|
+
|
|
1160
|
+
# The status code, which should be an enum value of google.rpc.Code.
|
|
1161
|
+
# Corresponds to the JSON property `code`
|
|
1162
|
+
# @return [Fixnum]
|
|
1163
|
+
attr_accessor :code
|
|
1164
|
+
|
|
1165
|
+
# A list of messages that carry the error details. There is a common set of
|
|
1166
|
+
# message types for APIs to use.
|
|
1167
|
+
# Corresponds to the JSON property `details`
|
|
1168
|
+
# @return [Array<Hash<String,Object>>]
|
|
1169
|
+
attr_accessor :details
|
|
1170
|
+
|
|
1171
|
+
# A developer-facing error message, which should be in English. Any user-facing
|
|
1172
|
+
# error message should be localized and sent in the google.rpc.Status.details
|
|
1173
|
+
# field, or localized by the client.
|
|
1174
|
+
# Corresponds to the JSON property `message`
|
|
1175
|
+
# @return [String]
|
|
1176
|
+
attr_accessor :message
|
|
1177
|
+
|
|
1178
|
+
def initialize(**args)
|
|
1179
|
+
update!(**args)
|
|
1180
|
+
end
|
|
1181
|
+
|
|
1182
|
+
# Update properties of this object
|
|
1183
|
+
def update!(**args)
|
|
1184
|
+
@code = args[:code] if args.key?(:code)
|
|
1185
|
+
@details = args[:details] if args.key?(:details)
|
|
1186
|
+
@message = args[:message] if args.key?(:message)
|
|
1187
|
+
end
|
|
1188
|
+
end
|
|
1189
|
+
end
|
|
1190
|
+
end
|
|
1191
|
+
end
|