aws-sdk-continuum 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,4746 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::Continuum
11
+ module Types
12
+
13
+ # The request is not authorized. Verify that your credentials and
14
+ # request signature are valid and that you have permission to perform
15
+ # this action.
16
+ #
17
+ # @!attribute [rw] message
18
+ # Error description.
19
+ # @return [String]
20
+ #
21
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/AccessDeniedException AWS API Documentation
22
+ #
23
+ class AccessDeniedException < Struct.new(
24
+ :message)
25
+ SENSITIVE = []
26
+ include Aws::Structure
27
+ end
28
+
29
+ # A software package implicated by a finding.
30
+ #
31
+ # @!attribute [rw] name
32
+ # The package name.
33
+ # @return [String]
34
+ #
35
+ # @!attribute [rw] version
36
+ # The affected version.
37
+ # @return [String]
38
+ #
39
+ # @!attribute [rw] fixed_in_version
40
+ # The earliest version that resolves the issue, when one is known.
41
+ # @return [String]
42
+ #
43
+ # @!attribute [rw] package_manager
44
+ # The ecosystem supplying the package.
45
+ # @return [String]
46
+ #
47
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/AffectedPackage AWS API Documentation
48
+ #
49
+ class AffectedPackage < Struct.new(
50
+ :name,
51
+ :version,
52
+ :fixed_in_version,
53
+ :package_manager)
54
+ SENSITIVE = []
55
+ include Aws::Structure
56
+ end
57
+
58
+ # Specifies the Collector ARN and data-access role to associate with
59
+ # this Environment.
60
+ #
61
+ # @!attribute [rw] environment_id
62
+ # The unique identifier of the Environment making the association.
63
+ # @return [String]
64
+ #
65
+ # @!attribute [rw] client_token
66
+ # Caller-provided token that makes retried association requests
67
+ # idempotent. The first successful request binds the token to the
68
+ # complete Collector ARN, supplied role, and result for at least 24
69
+ # hours. During that retry window, reusing it with a different request
70
+ # fails with ConflictException. A matching replay still requires the
71
+ # supplied role to have current Collector access. Once authorized, a
72
+ # matching replay returns the stored result without changing
73
+ # association state. Revocation can deny a replay; it does not remove
74
+ # the stored association or its original result.
75
+ #
76
+ # **A suitable default value is auto-generated.** You should normally
77
+ # not need to pass this option.
78
+ # @return [String]
79
+ #
80
+ # @!attribute [rw] collector_arn
81
+ # The ARN of the Collector to associate with this Environment.
82
+ # @return [String]
83
+ #
84
+ # @!attribute [rw] collector_data_access_role_arn
85
+ # IAM role in the Environment account that Continuum assumes before
86
+ # authorizing access to associated Collector inventory. Every
87
+ # association, including a same-account association, requires this
88
+ # role. The supplied ARN replaces the Environment's previously stored
89
+ # role. The customer is responsible for granting the role access to
90
+ # every Collector that should contribute data.
91
+ # @return [String]
92
+ #
93
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/AssociateCollectorInput AWS API Documentation
94
+ #
95
+ class AssociateCollectorInput < Struct.new(
96
+ :environment_id,
97
+ :client_token,
98
+ :collector_arn,
99
+ :collector_data_access_role_arn)
100
+ SENSITIVE = []
101
+ include Aws::Structure
102
+ end
103
+
104
+ # Contains the Environment and the Collector associated by this request.
105
+ #
106
+ # @!attribute [rw] environment_id
107
+ # The unique identifier of the Environment making the association.
108
+ # @return [String]
109
+ #
110
+ # @!attribute [rw] environment_arn
111
+ # The ARN of the Environment making the association.
112
+ # @return [String]
113
+ #
114
+ # @!attribute [rw] associated_collector
115
+ # The Collector identifier and ARN validated by this operation.
116
+ # @return [Types::AssociatedCollector]
117
+ #
118
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/AssociateCollectorOutput AWS API Documentation
119
+ #
120
+ class AssociateCollectorOutput < Struct.new(
121
+ :environment_id,
122
+ :environment_arn,
123
+ :associated_collector)
124
+ SENSITIVE = []
125
+ include Aws::Structure
126
+ end
127
+
128
+ # One Collector associated with an Environment.
129
+ #
130
+ # @!attribute [rw] collector_id
131
+ # The unique identifier of the associated Collector.
132
+ # @return [String]
133
+ #
134
+ # @!attribute [rw] collector_arn
135
+ # The ARN of the associated Collector. The account and Region encoded
136
+ # in this ARN identify cross-account and cross-Region associations.
137
+ # @return [String]
138
+ #
139
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/AssociatedCollector AWS API Documentation
140
+ #
141
+ class AssociatedCollector < Struct.new(
142
+ :collector_id,
143
+ :collector_arn)
144
+ SENSITIVE = []
145
+ include Aws::Structure
146
+ end
147
+
148
+ # A summary of one Environment associated with a Collector. This shape
149
+ # intentionally remains distinct from EnvironmentSummary so the two list
150
+ # operations can evolve independently.
151
+ #
152
+ # @!attribute [rw] environment_id
153
+ # The unique identifier of the associated Environment.
154
+ # @return [String]
155
+ #
156
+ # @!attribute [rw] environment_arn
157
+ # The ARN of the associated Environment. The account encoded in this
158
+ # ARN identifies cross-account associations; association mutations
159
+ # require its Region to match the Collector's Region.
160
+ # @return [String]
161
+ #
162
+ # @!attribute [rw] name
163
+ # The customer-visible name of the associated Environment.
164
+ # @return [String]
165
+ #
166
+ # @!attribute [rw] status
167
+ # The current operational status of the associated Environment.
168
+ # @return [String]
169
+ #
170
+ # @!attribute [rw] created_at
171
+ # The timestamp when the associated Environment was created.
172
+ # @return [Time]
173
+ #
174
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/AssociatedEnvironment AWS API Documentation
175
+ #
176
+ class AssociatedEnvironment < Struct.new(
177
+ :environment_id,
178
+ :environment_arn,
179
+ :name,
180
+ :status,
181
+ :created_at)
182
+ SENSITIVE = []
183
+ include Aws::Structure
184
+ end
185
+
186
+ # Code-specific environment properties. GetEnvironment returns the
187
+ # source and operating policy; UpdateEnvironment returns Collector
188
+ # details and the latest scan.
189
+ #
190
+ # @!attribute [rw] collector_details
191
+ # Collector data access configuration. Omitted when no Collector data
192
+ # access role is configured.
193
+ # @return [Types::CollectorDetails]
194
+ #
195
+ # @!attribute [rw] source_configuration
196
+ # Sources in the shape accepted by CreateEnvironment and
197
+ # UpdateEnvironment.
198
+ # @return [Types::EnvironmentSourceConfiguration]
199
+ #
200
+ # @!attribute [rw] environment_configuration
201
+ # Operating policy in the shape accepted by CreateEnvironment and
202
+ # UpdateEnvironment.
203
+ # @return [Types::EnvironmentConfiguration]
204
+ #
205
+ # @!attribute [rw] latest_scan
206
+ # The newest scan requested for this environment, if one exists.
207
+ # @return [Types::CodeScanSummary]
208
+ #
209
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/CodeConfigurationDetails AWS API Documentation
210
+ #
211
+ class CodeConfigurationDetails < Struct.new(
212
+ :collector_details,
213
+ :source_configuration,
214
+ :environment_configuration,
215
+ :latest_scan)
216
+ SENSITIVE = []
217
+ include Aws::Structure
218
+ end
219
+
220
+ # Complete customer-visible data for one environment scan.
221
+ #
222
+ # Kept distinct from CodeScanSummary so GetCodeScan can grow
223
+ # independently of ListCodeScans without changing its response contract.
224
+ #
225
+ # @!attribute [rw] scan_run_id
226
+ # The unique scan identifier.
227
+ # @return [String]
228
+ #
229
+ # @!attribute [rw] status
230
+ # Current customer-visible status.
231
+ # @return [String]
232
+ #
233
+ # @!attribute [rw] origin
234
+ # Why the scan was created. Always present.
235
+ # @return [String]
236
+ #
237
+ # @!attribute [rw] created_at
238
+ # Time at which Continuum accepted the scan request.
239
+ # @return [Time]
240
+ #
241
+ # @!attribute [rw] completed_at
242
+ # Time at which a terminal result was recorded.
243
+ # @return [Time]
244
+ #
245
+ # @!attribute [rw] failure_message
246
+ # Failure detail present for unsuccessful scans.
247
+ # @return [String]
248
+ #
249
+ # @!attribute [rw] failure_stage
250
+ # Phase this scan failed in. Present only when `status` is FAILED, and
251
+ # absent for a scan that failed before this field existed.
252
+ # @return [String]
253
+ #
254
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/CodeScanData AWS API Documentation
255
+ #
256
+ class CodeScanData < Struct.new(
257
+ :scan_run_id,
258
+ :status,
259
+ :origin,
260
+ :created_at,
261
+ :completed_at,
262
+ :failure_message,
263
+ :failure_stage)
264
+ SENSITIVE = []
265
+ include Aws::Structure
266
+ end
267
+
268
+ # Customer-visible summary of one environment scan.
269
+ #
270
+ # @!attribute [rw] scan_run_id
271
+ # The unique scan identifier.
272
+ # @return [String]
273
+ #
274
+ # @!attribute [rw] status
275
+ # Current customer-visible status.
276
+ # @return [String]
277
+ #
278
+ # @!attribute [rw] origin
279
+ # Why the scan was created. Always present.
280
+ # @return [String]
281
+ #
282
+ # @!attribute [rw] created_at
283
+ # Time at which Continuum accepted the scan request.
284
+ # @return [Time]
285
+ #
286
+ # @!attribute [rw] completed_at
287
+ # Time at which a terminal result was recorded.
288
+ # @return [Time]
289
+ #
290
+ # @!attribute [rw] failure_message
291
+ # Failure detail present for unsuccessful scans.
292
+ # @return [String]
293
+ #
294
+ # @!attribute [rw] failure_stage
295
+ # Phase this scan failed in. Present only when `status` is FAILED, and
296
+ # absent for a scan that failed before this field existed.
297
+ # @return [String]
298
+ #
299
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/CodeScanSummary AWS API Documentation
300
+ #
301
+ class CodeScanSummary < Struct.new(
302
+ :scan_run_id,
303
+ :status,
304
+ :origin,
305
+ :created_at,
306
+ :completed_at,
307
+ :failure_message,
308
+ :failure_stage)
309
+ SENSITIVE = []
310
+ include Aws::Structure
311
+ end
312
+
313
+ # Collector data access configuration returned for an environment.
314
+ #
315
+ # @!attribute [rw] collector_data_access_role_arn
316
+ # IAM role that Continuum assumes to authorize its access to
317
+ # associated Collector inventory. Required for nonempty Collector
318
+ # inventory resolution, in the same account or across accounts. This
319
+ # is independent from any S3 source role.
320
+ # @return [String]
321
+ #
322
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/CollectorDetails AWS API Documentation
323
+ #
324
+ class CollectorDetails < Struct.new(
325
+ :collector_data_access_role_arn)
326
+ SENSITIVE = []
327
+ include Aws::Structure
328
+ end
329
+
330
+ # A summary of a Collector returned in list responses.
331
+ #
332
+ # @!attribute [rw] collector_id
333
+ # The unique identifier of the Collector.
334
+ # @return [String]
335
+ #
336
+ # @!attribute [rw] collector_arn
337
+ # The ARN of the Collector.
338
+ # @return [String]
339
+ #
340
+ # @!attribute [rw] type
341
+ # The source collected by this Collector.
342
+ # @return [String]
343
+ #
344
+ # @!attribute [rw] status
345
+ # The current lifecycle status.
346
+ # @return [String]
347
+ #
348
+ # @!attribute [rw] created_at
349
+ # The timestamp when the Collector was created.
350
+ # @return [Time]
351
+ #
352
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/CollectorSummary AWS API Documentation
353
+ #
354
+ class CollectorSummary < Struct.new(
355
+ :collector_id,
356
+ :collector_arn,
357
+ :type,
358
+ :status,
359
+ :created_at)
360
+ SENSITIVE = []
361
+ include Aws::Structure
362
+ end
363
+
364
+ # The request could not be completed due to a conflict with the current
365
+ # state of the resource.
366
+ #
367
+ # @!attribute [rw] message
368
+ # Description of the conflict.
369
+ # @return [String]
370
+ #
371
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/ConflictException AWS API Documentation
372
+ #
373
+ class ConflictException < Struct.new(
374
+ :message)
375
+ SENSITIVE = []
376
+ include Aws::Structure
377
+ end
378
+
379
+ # Source and operating-policy settings for a new code environment.
380
+ #
381
+ # @!attribute [rw] source_configuration
382
+ # Source configuration for the environment.
383
+ # @return [Types::EnvironmentSourceConfiguration]
384
+ #
385
+ # @!attribute [rw] environment_configuration
386
+ # Environment-level operating policy.
387
+ # @return [Types::EnvironmentConfiguration]
388
+ #
389
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/CreateCodeConfiguration AWS API Documentation
390
+ #
391
+ class CreateCodeConfiguration < Struct.new(
392
+ :source_configuration,
393
+ :environment_configuration)
394
+ SENSITIVE = []
395
+ include Aws::Structure
396
+ end
397
+
398
+ # Specifies the environment and the finding document to ingest.
399
+ #
400
+ # @!attribute [rw] environment_id
401
+ # The environment to ingest the finding into.
402
+ # @return [String]
403
+ #
404
+ # @!attribute [rw] ocsf_document
405
+ # The OCSF finding document to ingest, verbatim. Must declare a
406
+ # class\_uid Continuum supports (2002 Vulnerability Finding, or 2007
407
+ # Application Security Posture Finding) and validate against the
408
+ # vendored OCSF JSON Schema for that class, including the Continuum
409
+ # overlay requirements that finding\_info.uid be present and that
410
+ # vulnerabilities\[0\].affected\_code\[0\].file identify the code
411
+ # location. With several repositories in the environment, the file
412
+ # path must begin with the repository name. Maximum size 256 KB.
413
+ # Stored verbatim and normalized into the typed Finding members
414
+ # returned by GetCodeFinding. GetCodeFinding does not return the
415
+ # document itself.
416
+ # @return [Hash,Array,String,Numeric,Boolean]
417
+ #
418
+ # @!attribute [rw] client_token
419
+ # Caller-provided idempotency token. A retry with the same token and
420
+ # an identical finding document replays the original result; the same
421
+ # token with different content is rejected.
422
+ #
423
+ # **A suitable default value is auto-generated.** You should normally
424
+ # not need to pass this option.
425
+ # @return [String]
426
+ #
427
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/CreateCodeFindingInput AWS API Documentation
428
+ #
429
+ class CreateCodeFindingInput < Struct.new(
430
+ :environment_id,
431
+ :ocsf_document,
432
+ :client_token)
433
+ SENSITIVE = []
434
+ include Aws::Structure
435
+ end
436
+
437
+ # Contains the identifier, ARN, title, and initial status of the newly
438
+ # ingested finding.
439
+ #
440
+ # @!attribute [rw] finding_id
441
+ # The unique identifier assigned to the finding.
442
+ # @return [String]
443
+ #
444
+ # @!attribute [rw] finding_arn
445
+ # The ARN of the ingested finding.
446
+ # @return [String]
447
+ #
448
+ # @!attribute [rw] title
449
+ # The title extracted from the submitted document. Always populated at
450
+ # ingestion.
451
+ # @return [String]
452
+ #
453
+ # @!attribute [rw] status
454
+ # The finding's current lifecycle status -- SUBMITTED for a newly
455
+ # ingested finding, or the finding's present status when an
456
+ # idempotent retry replays an already-processed finding.
457
+ # @return [String]
458
+ #
459
+ # @!attribute [rw] created_at
460
+ # The timestamp when the finding was ingested.
461
+ # @return [Time]
462
+ #
463
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/CreateCodeFindingOutput AWS API Documentation
464
+ #
465
+ class CreateCodeFindingOutput < Struct.new(
466
+ :finding_id,
467
+ :finding_arn,
468
+ :title,
469
+ :status,
470
+ :created_at)
471
+ SENSITIVE = []
472
+ include Aws::Structure
473
+ end
474
+
475
+ # @!attribute [rw] environment_id
476
+ # Environment to scan.
477
+ # @return [String]
478
+ #
479
+ # @!attribute [rw] client_token
480
+ # An optional token identifying one scan request for this environment.
481
+ # SDKs generate a token when omitted. If a request reaches the service
482
+ # without a token, the service generates one for that request, so each
483
+ # request without a token starts a new scan. To retry a request after
484
+ # a lost response, supply the same token on the same environment; once
485
+ # a request with that token has succeeded, a retry returns the
486
+ # original scan. Concurrent requests with the same token, or a retry
487
+ # after a request that failed partway through, can leave an additional
488
+ # scan, which may end FAILED as superseded. A token is bound to its
489
+ # scan for as long as the service retains the scan's build record,
490
+ # with no shorter expiry. Deleting the environment makes the binding
491
+ # inaccessible: a later request with the token returns
492
+ # ResourceNotFoundException.
493
+ #
494
+ # **A suitable default value is auto-generated.** You should normally
495
+ # not need to pass this option.
496
+ # @return [String]
497
+ #
498
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/CreateCodeScanInput AWS API Documentation
499
+ #
500
+ class CreateCodeScanInput < Struct.new(
501
+ :environment_id,
502
+ :client_token)
503
+ SENSITIVE = []
504
+ include Aws::Structure
505
+ end
506
+
507
+ # @!attribute [rw] scan
508
+ # The scan run this request created, or the scan run a previous
509
+ # request with the same clientToken already accepted.
510
+ # @return [Types::CodeScanSummary]
511
+ #
512
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/CreateCodeScanOutput AWS API Documentation
513
+ #
514
+ class CreateCodeScanOutput < Struct.new(
515
+ :scan)
516
+ SENSITIVE = []
517
+ include Aws::Structure
518
+ end
519
+
520
+ # Creates a Collector for the authenticated caller.
521
+ #
522
+ # @!attribute [rw] type
523
+ # Source to collect. Defaults to AWS\_COLLECTOR when omitted.
524
+ # @return [String]
525
+ #
526
+ # @!attribute [rw] kubernetes_cluster_role
527
+ # IAM role configuration used to collect Kubernetes cluster metadata.
528
+ # The authenticated caller must be allowed to pass its exact roleArn
529
+ # to Continuum.
530
+ # @return [Types::KubernetesClusterRoleConfiguration]
531
+ #
532
+ # @!attribute [rw] client_token
533
+ # Caller-provided token that makes retried create requests return the
534
+ # original Collector rather than creating a duplicate.
535
+ #
536
+ # **A suitable default value is auto-generated.** You should normally
537
+ # not need to pass this option.
538
+ # @return [String]
539
+ #
540
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/CreateCollectorInput AWS API Documentation
541
+ #
542
+ class CreateCollectorInput < Struct.new(
543
+ :type,
544
+ :kubernetes_cluster_role,
545
+ :client_token)
546
+ SENSITIVE = []
547
+ include Aws::Structure
548
+ end
549
+
550
+ # Contains the identifier and ARN of the newly created Collector.
551
+ #
552
+ # @!attribute [rw] collector_id
553
+ # The unique identifier assigned to the Collector.
554
+ # @return [String]
555
+ #
556
+ # @!attribute [rw] collector_arn
557
+ # The ARN of the created Collector.
558
+ # @return [String]
559
+ #
560
+ # @!attribute [rw] type
561
+ # The source collected by this Collector.
562
+ # @return [String]
563
+ #
564
+ # @!attribute [rw] status
565
+ # The current lifecycle status.
566
+ # @return [String]
567
+ #
568
+ # @!attribute [rw] created_at
569
+ # The timestamp when the Collector was created.
570
+ # @return [Time]
571
+ #
572
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/CreateCollectorOutput AWS API Documentation
573
+ #
574
+ class CreateCollectorOutput < Struct.new(
575
+ :collector_id,
576
+ :collector_arn,
577
+ :type,
578
+ :status,
579
+ :created_at)
580
+ SENSITIVE = []
581
+ include Aws::Structure
582
+ end
583
+
584
+ # Type-specific configuration for a new environment. Omission creates a
585
+ # code environment with the default operating policy and no sources.
586
+ #
587
+ # @!attribute [rw] code_configuration
588
+ # Configuration for a code-scanning environment.
589
+ # @return [Types::CreateCodeConfiguration]
590
+ #
591
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/CreateEnvironmentConfiguration AWS API Documentation
592
+ #
593
+ class CreateEnvironmentConfiguration < Struct.new(
594
+ :code_configuration)
595
+ SENSITIVE = []
596
+ include Aws::Structure
597
+ end
598
+
599
+ # Specifies the name and type-specific configuration of the new
600
+ # environment. Source and operating-policy settings belong to
601
+ # configuration.codeConfiguration.
602
+ #
603
+ # @!attribute [rw] name
604
+ # The customer-visible name of the environment.
605
+ # @return [String]
606
+ #
607
+ # @!attribute [rw] configuration
608
+ # Type-specific configuration. Omission creates a code environment
609
+ # with the default operating policy and no sources.
610
+ # @return [Types::CreateEnvironmentConfiguration]
611
+ #
612
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/CreateEnvironmentInput AWS API Documentation
613
+ #
614
+ class CreateEnvironmentInput < Struct.new(
615
+ :name,
616
+ :configuration)
617
+ SENSITIVE = []
618
+ include Aws::Structure
619
+ end
620
+
621
+ # Contains the identifier and ARN of the newly created environment.
622
+ #
623
+ # @!attribute [rw] environment_id
624
+ # The unique identifier assigned to the environment.
625
+ # @return [String]
626
+ #
627
+ # @!attribute [rw] environment_arn
628
+ # The ARN of the created environment.
629
+ # @return [String]
630
+ #
631
+ # @!attribute [rw] status
632
+ # The initial status of the environment. Always ACTIVE on successful
633
+ # creation.
634
+ # @return [String]
635
+ #
636
+ # @!attribute [rw] created_at
637
+ # The timestamp when the environment was created.
638
+ # @return [Time]
639
+ #
640
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/CreateEnvironmentOutput AWS API Documentation
641
+ #
642
+ class CreateEnvironmentOutput < Struct.new(
643
+ :environment_id,
644
+ :environment_arn,
645
+ :status,
646
+ :created_at)
647
+ SENSITIVE = []
648
+ include Aws::Structure
649
+ end
650
+
651
+ # Specifies the provider configuration and name for the new integration.
652
+ #
653
+ # @!attribute [rw] client_token
654
+ # An optional token identifying one create attempt within the
655
+ # caller's account, Region, and operation. SDKs generate a token when
656
+ # omitted. If a request reaches the service without a token, the
657
+ # service generates one for that request. Each request without a token
658
+ # starts a new attempt. To replay an attempt, supply the same token
659
+ # and identical input. Authorized users and roles in the same account
660
+ # can retry an attempt this way. Token records are retained for eight
661
+ # hours after success or terminal failure, including after deletion of
662
+ # a successfully created integration. Different input with the same
663
+ # token returns ValidationException.
664
+ #
665
+ # **A suitable default value is auto-generated.** You should normally
666
+ # not need to pass this option.
667
+ # @return [String]
668
+ #
669
+ # @!attribute [rw] name
670
+ # The name for the integration.
671
+ # @return [String]
672
+ #
673
+ # @!attribute [rw] provider_configuration
674
+ # The provider-specific configuration required to create the
675
+ # integration. Only one member may be specified.
676
+ # @return [Types::ProviderConfiguration]
677
+ #
678
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/CreateIntegrationInput AWS API Documentation
679
+ #
680
+ class CreateIntegrationInput < Struct.new(
681
+ :client_token,
682
+ :name,
683
+ :provider_configuration)
684
+ SENSITIVE = []
685
+ include Aws::Structure
686
+ end
687
+
688
+ # Contains the original identifier, ARN, and creation time of the new or
689
+ # replayed integration. A replay can refer to an integration that has
690
+ # since been deleted.
691
+ #
692
+ # @!attribute [rw] integration_id
693
+ # The unique identifier of the created integration.
694
+ # @return [String]
695
+ #
696
+ # @!attribute [rw] integration_arn
697
+ # The ARN of the created integration.
698
+ # @return [String]
699
+ #
700
+ # @!attribute [rw] created_at
701
+ # The timestamp when the integration was created.
702
+ # @return [Time]
703
+ #
704
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/CreateIntegrationOutput AWS API Documentation
705
+ #
706
+ class CreateIntegrationOutput < Struct.new(
707
+ :integration_id,
708
+ :integration_arn,
709
+ :created_at)
710
+ SENSITIVE = []
711
+ include Aws::Structure
712
+ end
713
+
714
+ # Specifies the Collector to delete.
715
+ #
716
+ # @!attribute [rw] collector_id
717
+ # The unique identifier of the Collector to delete.
718
+ # @return [String]
719
+ #
720
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/DeleteCollectorInput AWS API Documentation
721
+ #
722
+ class DeleteCollectorInput < Struct.new(
723
+ :collector_id)
724
+ SENSITIVE = []
725
+ include Aws::Structure
726
+ end
727
+
728
+ # Specifies the environment to delete.
729
+ #
730
+ # @!attribute [rw] environment_id
731
+ # The unique identifier of the environment to delete.
732
+ # @return [String]
733
+ #
734
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/DeleteEnvironmentInput AWS API Documentation
735
+ #
736
+ class DeleteEnvironmentInput < Struct.new(
737
+ :environment_id)
738
+ SENSITIVE = []
739
+ include Aws::Structure
740
+ end
741
+
742
+ # Specifies the integration to delete.
743
+ #
744
+ # @!attribute [rw] integration_id
745
+ # The unique identifier of the integration to delete.
746
+ # @return [String]
747
+ #
748
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/DeleteIntegrationInput AWS API Documentation
749
+ #
750
+ class DeleteIntegrationInput < Struct.new(
751
+ :integration_id)
752
+ SENSITIVE = []
753
+ include Aws::Structure
754
+ end
755
+
756
+ # Identity only. Future providers may add union members without
757
+ # duplicating state.
758
+ #
759
+ # @note DestinationTarget is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of DestinationTarget corresponding to the set member.
760
+ #
761
+ # @!attribute [rw] s3
762
+ # The S3 object the patch is delivered to.
763
+ # @return [Types::S3Target]
764
+ #
765
+ # @!attribute [rw] github
766
+ # The GitHub repository the patch is delivered to, including the pull
767
+ # request once it is opened.
768
+ # @return [Types::GitHubTarget]
769
+ #
770
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/DestinationTarget AWS API Documentation
771
+ #
772
+ class DestinationTarget < Struct.new(
773
+ :s3,
774
+ :github,
775
+ :unknown)
776
+ SENSITIVE = []
777
+ include Aws::Structure
778
+ include Aws::Structure::Union
779
+
780
+ class S3 < DestinationTarget; end
781
+ class Github < DestinationTarget; end
782
+ class Unknown < DestinationTarget; end
783
+ end
784
+
785
+ # Specifies the Collector to disassociate from this Environment.
786
+ #
787
+ # @!attribute [rw] environment_id
788
+ # The unique identifier of the Environment whose associations are
789
+ # updated.
790
+ # @return [String]
791
+ #
792
+ # @!attribute [rw] collector_arn
793
+ # The ARN of the Collector to disassociate from this Environment.
794
+ # @return [String]
795
+ #
796
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/DisassociateCollectorInput AWS API Documentation
797
+ #
798
+ class DisassociateCollectorInput < Struct.new(
799
+ :environment_id,
800
+ :collector_arn)
801
+ SENSITIVE = []
802
+ include Aws::Structure
803
+ end
804
+
805
+ # Environment-level operating policy.
806
+ #
807
+ # @!attribute [rw] network
808
+ # Network policy for agent execution.
809
+ # @return [Types::EnvironmentNetworkConfiguration]
810
+ #
811
+ # @!attribute [rw] scan_frequency
812
+ # Recurring scan interval: P1D (1 day), P2D (2 days), or P7D (7 days).
813
+ # PT0H disables recurring scans. Defaults to P1D when creating an
814
+ # environment.
815
+ # @return [String]
816
+ #
817
+ # @!attribute [rw] patch_creation_policy
818
+ # Whether Continuum creates a patch for a proposed remediation.
819
+ # Defaults to DISABLED.
820
+ # @return [String]
821
+ #
822
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/EnvironmentConfiguration AWS API Documentation
823
+ #
824
+ class EnvironmentConfiguration < Struct.new(
825
+ :network,
826
+ :scan_frequency,
827
+ :patch_creation_policy)
828
+ SENSITIVE = []
829
+ include Aws::Structure
830
+ end
831
+
832
+ # Type-specific configuration and state returned by GetEnvironment and
833
+ # UpdateEnvironment.
834
+ #
835
+ # @!attribute [rw] code_configuration
836
+ # Configuration and scan state for a code-scanning environment.
837
+ # @return [Types::CodeConfigurationDetails]
838
+ #
839
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/EnvironmentConfigurationDetails AWS API Documentation
840
+ #
841
+ class EnvironmentConfigurationDetails < Struct.new(
842
+ :code_configuration)
843
+ SENSITIVE = []
844
+ include Aws::Structure
845
+ end
846
+
847
+ # Summary of an environment returned in list responses.
848
+ #
849
+ # @!attribute [rw] environment_id
850
+ # The unique identifier of the environment.
851
+ # @return [String]
852
+ #
853
+ # @!attribute [rw] environment_arn
854
+ # The ARN of the environment.
855
+ # @return [String]
856
+ #
857
+ # @!attribute [rw] name
858
+ # The customer-visible name of the environment.
859
+ # @return [String]
860
+ #
861
+ # @!attribute [rw] status
862
+ # The current operational status of the environment.
863
+ # @return [String]
864
+ #
865
+ # @!attribute [rw] created_at
866
+ # The timestamp when the environment was created. Preserve the
867
+ # existing EnvironmentSummary.createdAt date-time wire format.
868
+ # @return [Time]
869
+ #
870
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/EnvironmentListEntry AWS API Documentation
871
+ #
872
+ class EnvironmentListEntry < Struct.new(
873
+ :environment_id,
874
+ :environment_arn,
875
+ :name,
876
+ :status,
877
+ :created_at)
878
+ SENSITIVE = []
879
+ include Aws::Structure
880
+ end
881
+
882
+ # Network policy for agent execution.
883
+ #
884
+ # @!attribute [rw] allowed_domains
885
+ # Domains that an environment's agent execution may contact.
886
+ # @return [Array<String>]
887
+ #
888
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/EnvironmentNetworkConfiguration AWS API Documentation
889
+ #
890
+ class EnvironmentNetworkConfiguration < Struct.new(
891
+ :allowed_domains)
892
+ SENSITIVE = []
893
+ include Aws::Structure
894
+ end
895
+
896
+ # One repository selected from a previously-created integration.
897
+ #
898
+ # @!attribute [rw] integration_id
899
+ # Integration that provides the selected repository.
900
+ # @return [String]
901
+ #
902
+ # @!attribute [rw] repository
903
+ # Repository selected from that integration in owner/repository form.
904
+ # @return [String]
905
+ #
906
+ # @!attribute [rw] default_branch
907
+ # Branch used when a scan does not choose a more specific revision.
908
+ # @return [String]
909
+ #
910
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/EnvironmentRepositorySource AWS API Documentation
911
+ #
912
+ class EnvironmentRepositorySource < Struct.new(
913
+ :integration_id,
914
+ :repository,
915
+ :default_branch)
916
+ SENSITIVE = []
917
+ include Aws::Structure
918
+ end
919
+
920
+ # An S3 source for one environment, backed by a previously-created S3
921
+ # integration.
922
+ #
923
+ # @!attribute [rw] integration_id
924
+ # Identifier of an S3 integration in the caller's account. The
925
+ # integration supplies the bucket, the read role, and the external ID
926
+ # Continuum uses to read the prefixes.
927
+ # @return [String]
928
+ #
929
+ # @!attribute [rw] code_prefix
930
+ # Prefix containing source code. Defaults to code/ when omitted.
931
+ # @return [String]
932
+ #
933
+ # @!attribute [rw] context_prefix
934
+ # Prefix containing customer-authored context. Defaults to context/
935
+ # when omitted.
936
+ # @return [String]
937
+ #
938
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/EnvironmentS3IntegrationSource AWS API Documentation
939
+ #
940
+ class EnvironmentS3IntegrationSource < Struct.new(
941
+ :integration_id,
942
+ :code_prefix,
943
+ :context_prefix)
944
+ SENSITIVE = []
945
+ include Aws::Structure
946
+ end
947
+
948
+ # GA source configuration for code and customer-authored context.
949
+ #
950
+ # @!attribute [rw] s3_sources
951
+ # S3 sources backed by previously-created S3 integrations.
952
+ # @return [Array<Types::EnvironmentS3IntegrationSource>]
953
+ #
954
+ # @!attribute [rw] repository_sources
955
+ # Explicit repository selections from previously-created integrations.
956
+ # @return [Array<Types::EnvironmentRepositorySource>]
957
+ #
958
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/EnvironmentSourceConfiguration AWS API Documentation
959
+ #
960
+ class EnvironmentSourceConfiguration < Struct.new(
961
+ :s3_sources,
962
+ :repository_sources)
963
+ SENSITIVE = []
964
+ include Aws::Structure
965
+ end
966
+
967
+ # One compliance check behind a posture finding.
968
+ #
969
+ # @!attribute [rw] uid
970
+ # A vulnerability-taxonomy label: the producer's category,
971
+ # sub-category, or OWASP category. Deliberately unconstrained beyond
972
+ # length -- producers do not share a taxonomy, so this is NOT a stable
973
+ # filter key across finding types. Use `cweIds` when a stable
974
+ # classification is needed.
975
+ # @return [String]
976
+ #
977
+ # @!attribute [rw] name
978
+ # A vulnerability-taxonomy label: the producer's category,
979
+ # sub-category, or OWASP category. Deliberately unconstrained beyond
980
+ # length -- producers do not share a taxonomy, so this is NOT a stable
981
+ # filter key across finding types. Use `cweIds` when a stable
982
+ # classification is needed.
983
+ # @return [String]
984
+ #
985
+ # @!attribute [rw] description
986
+ # Free-form prose about a finding (summary, detailed analysis,
987
+ # rationale, remediation guidance). Capped well below the finding
988
+ # document's own 256 KB limit, since several of these can appear on
989
+ # one finding.
990
+ # @return [String]
991
+ #
992
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/FindingComplianceCheck AWS API Documentation
993
+ #
994
+ class FindingComplianceCheck < Struct.new(
995
+ :uid,
996
+ :name,
997
+ :description)
998
+ SENSITIVE = []
999
+ include Aws::Structure
1000
+ end
1001
+
1002
+ # A code citation supporting a validation verdict.
1003
+ #
1004
+ # @!attribute [rw] file
1005
+ # The file the evidence was found in.
1006
+ # @return [String]
1007
+ #
1008
+ # @!attribute [rw] line
1009
+ # The 1-indexed line, when known.
1010
+ # @return [Integer]
1011
+ #
1012
+ # @!attribute [rw] snippet
1013
+ # The cited excerpt.
1014
+ # @return [String]
1015
+ #
1016
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/FindingEvidence AWS API Documentation
1017
+ #
1018
+ class FindingEvidence < Struct.new(
1019
+ :file,
1020
+ :line,
1021
+ :snippet)
1022
+ SENSITIVE = []
1023
+ include Aws::Structure
1024
+ end
1025
+
1026
+ # A code location a finding points at.
1027
+ #
1028
+ # @!attribute [rw] file_path
1029
+ # Repository-relative path.
1030
+ # @return [String]
1031
+ #
1032
+ # @!attribute [rw] start_line
1033
+ # 1-indexed first line of the affected range.
1034
+ # @return [Integer]
1035
+ #
1036
+ # @!attribute [rw] end_line
1037
+ # 1-indexed last line, when the producer reported a range.
1038
+ # @return [Integer]
1039
+ #
1040
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/FindingLocation AWS API Documentation
1041
+ #
1042
+ class FindingLocation < Struct.new(
1043
+ :file_path,
1044
+ :start_line,
1045
+ :end_line)
1046
+ SENSITIVE = []
1047
+ include Aws::Structure
1048
+ end
1049
+
1050
+ # The compliance posture a finding reports, for the Application Security
1051
+ # Posture Finding class. Absent for a vulnerability finding.
1052
+ #
1053
+ # @!attribute [rw] application
1054
+ # The application the posture was assessed against.
1055
+ # @return [String]
1056
+ #
1057
+ # @!attribute [rw] application_uid
1058
+ # A vulnerability-taxonomy label: the producer's category,
1059
+ # sub-category, or OWASP category. Deliberately unconstrained beyond
1060
+ # length -- producers do not share a taxonomy, so this is NOT a stable
1061
+ # filter key across finding types. Use `cweIds` when a stable
1062
+ # classification is needed.
1063
+ # @return [String]
1064
+ #
1065
+ # @!attribute [rw] application_version
1066
+ # A vulnerability-taxonomy label: the producer's category,
1067
+ # sub-category, or OWASP category. Deliberately unconstrained beyond
1068
+ # length -- producers do not share a taxonomy, so this is NOT a stable
1069
+ # filter key across finding types. Use `cweIds` when a stable
1070
+ # classification is needed.
1071
+ # @return [String]
1072
+ #
1073
+ # @!attribute [rw] control
1074
+ # The control assessed, and the producer's description of it.
1075
+ # @return [String]
1076
+ #
1077
+ # @!attribute [rw] description
1078
+ # Free-form prose about a finding (summary, detailed analysis,
1079
+ # rationale, remediation guidance). Capped well below the finding
1080
+ # document's own 256 KB limit, since several of these can appear on
1081
+ # one finding.
1082
+ # @return [String]
1083
+ #
1084
+ # @!attribute [rw] standards
1085
+ # Standards and requirements the control maps to.
1086
+ # @return [Array<String>]
1087
+ #
1088
+ # @!attribute [rw] requirements
1089
+ # A free-form list of strings carried verbatim from a producer.
1090
+ # @return [Array<String>]
1091
+ #
1092
+ # @!attribute [rw] checks
1093
+ # The individual checks performed.
1094
+ # @return [Array<Types::FindingComplianceCheck>]
1095
+ #
1096
+ # @!attribute [rw] status
1097
+ # The producer's compliance status, and the enum value behind it.
1098
+ # @return [String]
1099
+ #
1100
+ # @!attribute [rw] status_id
1101
+ # The producer's numeric enum value for `status`.
1102
+ # @return [Integer]
1103
+ #
1104
+ # @!attribute [rw] remediation
1105
+ # Free-form prose about a finding (summary, detailed analysis,
1106
+ # rationale, remediation guidance). Capped well below the finding
1107
+ # document's own 256 KB limit, since several of these can appear on
1108
+ # one finding.
1109
+ # @return [String]
1110
+ #
1111
+ # @!attribute [rw] remediation_references
1112
+ # A free-form list of strings carried verbatim from a producer.
1113
+ # @return [Array<String>]
1114
+ #
1115
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/FindingPosture AWS API Documentation
1116
+ #
1117
+ class FindingPosture < Struct.new(
1118
+ :application,
1119
+ :application_uid,
1120
+ :application_version,
1121
+ :control,
1122
+ :description,
1123
+ :standards,
1124
+ :requirements,
1125
+ :checks,
1126
+ :status,
1127
+ :status_id,
1128
+ :remediation,
1129
+ :remediation_references)
1130
+ SENSITIVE = []
1131
+ include Aws::Structure
1132
+ end
1133
+
1134
+ # A cloud or application resource a finding concerns.
1135
+ #
1136
+ # @!attribute [rw] uid
1137
+ # A resource identifier -- a cloud ARN, a context-graph node id, or
1138
+ # whatever identifier scheme the producer uses.
1139
+ # @return [String]
1140
+ #
1141
+ # @!attribute [rw] name
1142
+ # A vulnerability-taxonomy label: the producer's category,
1143
+ # sub-category, or OWASP category. Deliberately unconstrained beyond
1144
+ # length -- producers do not share a taxonomy, so this is NOT a stable
1145
+ # filter key across finding types. Use `cweIds` when a stable
1146
+ # classification is needed.
1147
+ # @return [String]
1148
+ #
1149
+ # @!attribute [rw] type
1150
+ # A vulnerability-taxonomy label: the producer's category,
1151
+ # sub-category, or OWASP category. Deliberately unconstrained beyond
1152
+ # length -- producers do not share a taxonomy, so this is NOT a stable
1153
+ # filter key across finding types. Use `cweIds` when a stable
1154
+ # classification is needed.
1155
+ # @return [String]
1156
+ #
1157
+ # @!attribute [rw] region
1158
+ # A vulnerability-taxonomy label: the producer's category,
1159
+ # sub-category, or OWASP category. Deliberately unconstrained beyond
1160
+ # length -- producers do not share a taxonomy, so this is NOT a stable
1161
+ # filter key across finding types. Use `cweIds` when a stable
1162
+ # classification is needed.
1163
+ # @return [String]
1164
+ #
1165
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/FindingResource AWS API Documentation
1166
+ #
1167
+ class FindingResource < Struct.new(
1168
+ :uid,
1169
+ :name,
1170
+ :type,
1171
+ :region)
1172
+ SENSITIVE = []
1173
+ include Aws::Structure
1174
+ end
1175
+
1176
+ # A summary of a finding returned in list responses. Shares
1177
+ # FindingLifecycleFields with the read operations so the list and get
1178
+ # projections cannot drift. Carries a lean content subset -- fetch the
1179
+ # finding for its full contents.
1180
+ #
1181
+ # @!attribute [rw] finding_id
1182
+ # The unique identifier of the finding.
1183
+ # @return [String]
1184
+ #
1185
+ # @!attribute [rw] finding_arn
1186
+ # The ARN of the finding.
1187
+ # @return [String]
1188
+ #
1189
+ # @!attribute [rw] environment_id
1190
+ # The environment that owns the finding.
1191
+ # @return [String]
1192
+ #
1193
+ # @!attribute [rw] source
1194
+ # The system that produced the finding.
1195
+ # @return [String]
1196
+ #
1197
+ # @!attribute [rw] source_finding_id
1198
+ # The producer's own identifier for the finding.
1199
+ # @return [String]
1200
+ #
1201
+ # @!attribute [rw] reported_at
1202
+ # When the producer reported the finding -- its own clock, which is
1203
+ # not Continuum's ingestion time. `createdAt` is when Continuum
1204
+ # accepted it; these are genuinely different instants and a reader
1205
+ # usually wants this one.
1206
+ #
1207
+ # For CreateCodeFinding, this is the submitted OCSF document's own
1208
+ # top-level `time`. For findings Continuum's scanner produces, it is
1209
+ # the finding's own creation time.
1210
+ #
1211
+ # Continuum does not validate it for plausibility: a producer's value
1212
+ # is echoed as given, so a `timestamp` here asserts the unit and
1213
+ # format, not that the instant is genuine.
1214
+ # @return [Time]
1215
+ #
1216
+ # @!attribute [rw] status
1217
+ # The current lifecycle status of the finding.
1218
+ # @return [String]
1219
+ #
1220
+ # @!attribute [rw] status_updated_at
1221
+ # The timestamp when the status last transitioned.
1222
+ # @return [Time]
1223
+ #
1224
+ # @!attribute [rw] created_at
1225
+ # The timestamp when the finding was ingested.
1226
+ # @return [Time]
1227
+ #
1228
+ # @!attribute [rw] scan_run_id
1229
+ # The scan that produced the finding, when it came from one. For a
1230
+ # finding Continuum's scanner produced, this is the Continuum scan
1231
+ # run (see GetCodeScan). For a finding submitted with
1232
+ # CreateCodeFinding, it is the OCSF document's
1233
+ # `metadata.correlation_uid`, when that value is a valid ScanRunId.
1234
+ # Absent when the finding did not come from a scan.
1235
+ # @return [String]
1236
+ #
1237
+ # @!attribute [rw] status_message
1238
+ # Human-readable context about the current status.
1239
+ # @return [String]
1240
+ #
1241
+ # @!attribute [rw] discard_reason
1242
+ # Why the finding was not escalated. Present only when status is
1243
+ # DISCARDED.
1244
+ # @return [String]
1245
+ #
1246
+ # @!attribute [rw] discard_reasoning
1247
+ # Customer-facing explanation accompanying `discardReason`.
1248
+ # @return [String]
1249
+ #
1250
+ # @!attribute [rw] duplicate_of_issue_id
1251
+ # The existing issue this finding duplicates. Present only for the
1252
+ # DUPLICATE\_OF\_* discard reasons.
1253
+ # @return [String]
1254
+ #
1255
+ # @!attribute [rw] created_issue_id
1256
+ # The issue Continuum created from this finding.
1257
+ # @return [String]
1258
+ #
1259
+ # @!attribute [rw] completed_at
1260
+ # When processing finished, whether by creating an issue or
1261
+ # discarding. Absent while the finding is still in flight.
1262
+ # @return [Time]
1263
+ #
1264
+ # @!attribute [rw] type
1265
+ # What kind of finding this is.
1266
+ # @return [String]
1267
+ #
1268
+ # @!attribute [rw] title
1269
+ # The producer's title for the finding.
1270
+ # @return [String]
1271
+ #
1272
+ # @!attribute [rw] severity
1273
+ # The finding's severity.
1274
+ # @return [String]
1275
+ #
1276
+ # @!attribute [rw] category
1277
+ # The producer's vulnerability category.
1278
+ # @return [String]
1279
+ #
1280
+ # @!attribute [rw] file_path
1281
+ # The file the finding is about, when it has a code location.
1282
+ # @return [String]
1283
+ #
1284
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/FindingSummary AWS API Documentation
1285
+ #
1286
+ class FindingSummary < Struct.new(
1287
+ :finding_id,
1288
+ :finding_arn,
1289
+ :environment_id,
1290
+ :source,
1291
+ :source_finding_id,
1292
+ :reported_at,
1293
+ :status,
1294
+ :status_updated_at,
1295
+ :created_at,
1296
+ :scan_run_id,
1297
+ :status_message,
1298
+ :discard_reason,
1299
+ :discard_reasoning,
1300
+ :duplicate_of_issue_id,
1301
+ :created_issue_id,
1302
+ :completed_at,
1303
+ :type,
1304
+ :title,
1305
+ :severity,
1306
+ :category,
1307
+ :file_path)
1308
+ SENSITIVE = []
1309
+ include Aws::Structure
1310
+ end
1311
+
1312
+ # A validator's assessment of a finding. Present only when validation
1313
+ # actually ran -- absent for finding types that are ingested untested,
1314
+ # rather than reporting a verdict Continuum did not reach.
1315
+ #
1316
+ # @!attribute [rw] verdict
1317
+ # The validator's conclusion.
1318
+ # @return [String]
1319
+ #
1320
+ # @!attribute [rw] blocking_reason
1321
+ # Why the validator reached that verdict.
1322
+ # @return [String]
1323
+ #
1324
+ # @!attribute [rw] confidence
1325
+ # The validator's confidence, from 0.0 to 1.0 inclusive. Advisory: it
1326
+ # does not drive Continuum's own routing decisions. The range is
1327
+ # enforced server-side, not by a @range trait -- the smithy-rs server
1328
+ # SDK does not support range constraints on double shapes
1329
+ # (smithy-rs#2007).
1330
+ # @return [Float]
1331
+ #
1332
+ # @!attribute [rw] rationale
1333
+ # The validator's reasoning.
1334
+ # @return [String]
1335
+ #
1336
+ # @!attribute [rw] severity_adjustment
1337
+ # The validator's severity conclusion.
1338
+ # @return [String]
1339
+ #
1340
+ # @!attribute [rw] mitigating_controls
1341
+ # Controls the validator found that reduce exploitability.
1342
+ # @return [Array<String>]
1343
+ #
1344
+ # @!attribute [rw] preconditions
1345
+ # Conditions exploitation depends on, which bound the severity.
1346
+ # @return [Array<String>]
1347
+ #
1348
+ # @!attribute [rw] evidence
1349
+ # Code citations supporting the verdict.
1350
+ # @return [Array<Types::FindingEvidence>]
1351
+ #
1352
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/FindingValidation AWS API Documentation
1353
+ #
1354
+ class FindingValidation < Struct.new(
1355
+ :verdict,
1356
+ :blocking_reason,
1357
+ :confidence,
1358
+ :rationale,
1359
+ :severity_adjustment,
1360
+ :mitigating_controls,
1361
+ :preconditions,
1362
+ :evidence)
1363
+ SENSITIVE = []
1364
+ include Aws::Structure
1365
+ end
1366
+
1367
+ # One vulnerability reported by a finding. A customer document may
1368
+ # report several; each carries its own identity, locations and
1369
+ # remediation.
1370
+ #
1371
+ # @!attribute [rw] title
1372
+ # The title of a finding, from the producer's own title -- OCSF
1373
+ # finding\_info.title, or the scanner's finding title. Length matches
1374
+ # the OCSF title constraint.
1375
+ # @return [String]
1376
+ #
1377
+ # @!attribute [rw] description
1378
+ # Free-form prose about a finding (summary, detailed analysis,
1379
+ # rationale, remediation guidance). Capped well below the finding
1380
+ # document's own 256 KB limit, since several of these can appear on
1381
+ # one finding.
1382
+ # @return [String]
1383
+ #
1384
+ # @!attribute [rw] cwe_id
1385
+ # Primary CWE for this vulnerability, e.g. "CWE-89".
1386
+ # @return [String]
1387
+ #
1388
+ # @!attribute [rw] cwe_caption
1389
+ # The producer's human-readable caption for `cweId`.
1390
+ # @return [String]
1391
+ #
1392
+ # @!attribute [rw] additional_cwe_ids
1393
+ # Further CWEs the producer attributed to this same vulnerability.
1394
+ # @return [Array<String>]
1395
+ #
1396
+ # @!attribute [rw] cve_id
1397
+ # A CVE identifier, e.g. "CVE-2020-8203".
1398
+ # @return [String]
1399
+ #
1400
+ # @!attribute [rw] cvss_base_score
1401
+ # The CVSS base score for `cveId`, when the producer supplies one,
1402
+ # from 0.0 to 10.0.
1403
+ # @return [Float]
1404
+ #
1405
+ # @!attribute [rw] fix_coverage
1406
+ # The producer's description of how completely a fix is available.
1407
+ # @return [String]
1408
+ #
1409
+ # @!attribute [rw] fix_coverage_id
1410
+ # The producer's enum value behind `fixCoverage`.
1411
+ # @return [Integer]
1412
+ #
1413
+ # @!attribute [rw] locations
1414
+ # Every location this vulnerability was reported at.
1415
+ # @return [Array<Types::FindingLocation>]
1416
+ #
1417
+ # @!attribute [rw] remediation
1418
+ # Free-form prose about a finding (summary, detailed analysis,
1419
+ # rationale, remediation guidance). Capped well below the finding
1420
+ # document's own 256 KB limit, since several of these can appear on
1421
+ # one finding.
1422
+ # @return [String]
1423
+ #
1424
+ # @!attribute [rw] remediation_references
1425
+ # A free-form list of strings carried verbatim from a producer.
1426
+ # @return [Array<String>]
1427
+ #
1428
+ # @!attribute [rw] code
1429
+ # The vulnerable fragment, when the producer supplied one.
1430
+ # @return [String]
1431
+ #
1432
+ # @!attribute [rw] details
1433
+ # The producer's extended analysis for this vulnerability.
1434
+ # @return [String]
1435
+ #
1436
+ # @!attribute [rw] affected_packages
1437
+ # Software packages implicated by a finding.
1438
+ # @return [Array<Types::AffectedPackage>]
1439
+ #
1440
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/FindingVulnerability AWS API Documentation
1441
+ #
1442
+ class FindingVulnerability < Struct.new(
1443
+ :title,
1444
+ :description,
1445
+ :cwe_id,
1446
+ :cwe_caption,
1447
+ :additional_cwe_ids,
1448
+ :cve_id,
1449
+ :cvss_base_score,
1450
+ :fix_coverage,
1451
+ :fix_coverage_id,
1452
+ :locations,
1453
+ :remediation,
1454
+ :remediation_references,
1455
+ :code,
1456
+ :details,
1457
+ :affected_packages)
1458
+ SENSITIVE = []
1459
+ include Aws::Structure
1460
+ end
1461
+
1462
+ # Validation's verdict for one attack flow.
1463
+ #
1464
+ # @!attribute [rw] flow_id
1465
+ # Identifier of the attack flow assessed.
1466
+ # @return [String]
1467
+ #
1468
+ # @!attribute [rw] verdict
1469
+ # Outcome for this flow.
1470
+ # @return [String]
1471
+ #
1472
+ # @!attribute [rw] confidence
1473
+ # Confidence in this flow's verdict. Absent when out of range.
1474
+ # @return [Float]
1475
+ #
1476
+ # @!attribute [rw] evidence
1477
+ # Citations supporting the verdict.
1478
+ # @return [Array<String>]
1479
+ #
1480
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/FlowVerdict AWS API Documentation
1481
+ #
1482
+ class FlowVerdict < Struct.new(
1483
+ :flow_id,
1484
+ :verdict,
1485
+ :confidence,
1486
+ :evidence)
1487
+ SENSITIVE = []
1488
+ include Aws::Structure
1489
+ end
1490
+
1491
+ # Specifies the finding to retrieve.
1492
+ #
1493
+ # @!attribute [rw] environment_id
1494
+ # The environment that owns the finding.
1495
+ # @return [String]
1496
+ #
1497
+ # @!attribute [rw] finding_id
1498
+ # The unique identifier of the finding to retrieve.
1499
+ # @return [String]
1500
+ #
1501
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/GetCodeFindingInput AWS API Documentation
1502
+ #
1503
+ class GetCodeFindingInput < Struct.new(
1504
+ :environment_id,
1505
+ :finding_id)
1506
+ SENSITIVE = []
1507
+ include Aws::Structure
1508
+ end
1509
+
1510
+ # Contains the current state and details of the requested finding. Which
1511
+ # type-specific members are populated depends on `type`.
1512
+ #
1513
+ # @!attribute [rw] type
1514
+ # What kind of finding this is. Determines which of the type-specific
1515
+ # members below are populated.
1516
+ # @return [String]
1517
+ #
1518
+ # @!attribute [rw] title
1519
+ # The producer's title for the finding.
1520
+ # @return [String]
1521
+ #
1522
+ # @!attribute [rw] severity
1523
+ # The finding's severity.
1524
+ # @return [String]
1525
+ #
1526
+ # @!attribute [rw] summary
1527
+ # A one-paragraph description.
1528
+ # @return [String]
1529
+ #
1530
+ # @!attribute [rw] detailed_description
1531
+ # The full analysis.
1532
+ # @return [String]
1533
+ #
1534
+ # @!attribute [rw] category
1535
+ # The producer's vulnerability category. Not a stable filter key
1536
+ # across finding types -- see FindingCategory.
1537
+ # @return [String]
1538
+ #
1539
+ # @!attribute [rw] sub_category
1540
+ # A more specific classification within `category`.
1541
+ # @return [String]
1542
+ #
1543
+ # @!attribute [rw] cwe_ids
1544
+ # CWE identifiers classifying the finding.
1545
+ # @return [Array<String>]
1546
+ #
1547
+ # @!attribute [rw] owasp_category
1548
+ # The OWASP Top 10 category, when the producer supplies one.
1549
+ # @return [String]
1550
+ #
1551
+ # @!attribute [rw] mitigation
1552
+ # How to fix the finding.
1553
+ # @return [String]
1554
+ #
1555
+ # @!attribute [rw] file_path
1556
+ # The file the finding is about.
1557
+ # @return [String]
1558
+ #
1559
+ # @!attribute [rw] line_number
1560
+ # The 1-indexed line the finding is about. Bounds are enforced
1561
+ # server-side rather than by a constraint trait: a numeric constraint
1562
+ # generates a distinct newtype per enclosing structure, so the same
1563
+ # concept would not share a type across the create input and the read
1564
+ # output.
1565
+ # @return [Integer]
1566
+ #
1567
+ # @!attribute [rw] cve_id
1568
+ # The CVE this finding reports, for software-composition findings.
1569
+ # Both code types can carry one: a customer document supplies it under
1570
+ # vulnerabilities\[\].cve, and Continuum's scanner reports CVEs for
1571
+ # dependency-manifest findings.
1572
+ # @return [String]
1573
+ #
1574
+ # @!attribute [rw] cvss_base_score
1575
+ # The CVSS base score accompanying `cveId`, when the producer supplies
1576
+ # one, from 0.0 to 10.0. Not computed by Continuum. The range is
1577
+ # enforced server-side, not by a @range trait -- the smithy-rs server
1578
+ # SDK does not support range constraints on double shapes
1579
+ # (smithy-rs#2007).
1580
+ # @return [Float]
1581
+ #
1582
+ # @!attribute [rw] affected_packages
1583
+ # Packages implicated by the finding.
1584
+ # @return [Array<Types::AffectedPackage>]
1585
+ #
1586
+ # @!attribute [rw] vulnerable_code
1587
+ # The vulnerable code fragment.
1588
+ # @return [String]
1589
+ #
1590
+ # @!attribute [rw] relevant_inputs
1591
+ # User-controlled inputs that reach the vulnerability.
1592
+ # @return [Array<String>]
1593
+ #
1594
+ # @!attribute [rw] steps_to_reproduce
1595
+ # Steps to reproduce or exploit the finding.
1596
+ # @return [Array<String>]
1597
+ #
1598
+ # @!attribute [rw] validation
1599
+ # The validator's assessment. Absent when no validation ran.
1600
+ # @return [Types::FindingValidation]
1601
+ #
1602
+ # @!attribute [rw] end_line
1603
+ # The last line of the affected range, from the document's
1604
+ # affected\_code\[\].end\_line.
1605
+ # @return [Integer]
1606
+ #
1607
+ # @!attribute [rw] mitre_techniques
1608
+ # MITRE ATT&amp;CK technique identifiers, from the document's
1609
+ # finding\_info.attacks\[\].technique.uid.
1610
+ # @return [Array<String>]
1611
+ #
1612
+ # @!attribute [rw] remediation_references
1613
+ # Remediation references, from the document's
1614
+ # vulnerabilities\[\].remediation.references.
1615
+ # @return [Array<String>]
1616
+ #
1617
+ # @!attribute [rw] ocsf_class
1618
+ # The OCSF class the document declared. Determines whether `posture`
1619
+ # is populated.
1620
+ # @return [String]
1621
+ #
1622
+ # @!attribute [rw] ocsf_schema_version
1623
+ # The OCSF schema version the producer wrote against
1624
+ # (metadata.version).
1625
+ # @return [String]
1626
+ #
1627
+ # @!attribute [rw] product_name
1628
+ # The producing product and vendor (metadata.product).
1629
+ # @return [String]
1630
+ #
1631
+ # @!attribute [rw] product_vendor_name
1632
+ # A vulnerability-taxonomy label: the producer's category,
1633
+ # sub-category, or OWASP category. Deliberately unconstrained beyond
1634
+ # length -- producers do not share a taxonomy, so this is NOT a stable
1635
+ # filter key across finding types. Use `cweIds` when a stable
1636
+ # classification is needed.
1637
+ # @return [String]
1638
+ #
1639
+ # @!attribute [rw] product_version
1640
+ # A vulnerability-taxonomy label: the producer's category,
1641
+ # sub-category, or OWASP category. Deliberately unconstrained beyond
1642
+ # length -- producers do not share a taxonomy, so this is NOT a stable
1643
+ # filter key across finding types. Use `cweIds` when a stable
1644
+ # classification is needed.
1645
+ # @return [String]
1646
+ #
1647
+ # @!attribute [rw] source_status
1648
+ # The producer's own status for the finding, and the enum value
1649
+ # behind it. Distinct from `status`, which is Continuum's lifecycle
1650
+ # state -- a producer may call a finding "New" while Continuum has it
1651
+ # SUBMITTED.
1652
+ # @return [String]
1653
+ #
1654
+ # @!attribute [rw] source_status_id
1655
+ # The producer's numeric enum value for `sourceStatus`.
1656
+ # @return [Integer]
1657
+ #
1658
+ # @!attribute [rw] first_seen_at
1659
+ # When the producer first observed the finding
1660
+ # (finding\_info.first\_seen\_time). The producer's own clock, not
1661
+ # Continuum's.
1662
+ # @return [Time]
1663
+ #
1664
+ # @!attribute [rw] finding_types
1665
+ # The producer's own classification of the finding
1666
+ # (finding\_info.types).
1667
+ # @return [Array<String>]
1668
+ #
1669
+ # @!attribute [rw] vulnerabilities
1670
+ # Every vulnerability the document reported. A document may report
1671
+ # several; the flat `cveId`/`cvssBaseScore`/`filePath`/`lineNumber`
1672
+ # members above carry the first one's identity so a caller that only
1673
+ # needs "what and where" does not have to walk this list.
1674
+ # @return [Array<Types::FindingVulnerability>]
1675
+ #
1676
+ # @!attribute [rw] resources
1677
+ # Resources the document named (resources\[\]).
1678
+ # @return [Array<Types::FindingResource>]
1679
+ #
1680
+ # @!attribute [rw] posture
1681
+ # The compliance posture, for an Application Security Posture Finding.
1682
+ # Absent for a vulnerability finding.
1683
+ # @return [Types::FindingPosture]
1684
+ #
1685
+ # @!attribute [rw] finding_id
1686
+ # The unique identifier of the finding.
1687
+ # @return [String]
1688
+ #
1689
+ # @!attribute [rw] finding_arn
1690
+ # The ARN of the finding.
1691
+ # @return [String]
1692
+ #
1693
+ # @!attribute [rw] environment_id
1694
+ # The environment that owns the finding.
1695
+ # @return [String]
1696
+ #
1697
+ # @!attribute [rw] source
1698
+ # The system that produced the finding.
1699
+ # @return [String]
1700
+ #
1701
+ # @!attribute [rw] source_finding_id
1702
+ # The producer's own identifier for the finding.
1703
+ # @return [String]
1704
+ #
1705
+ # @!attribute [rw] reported_at
1706
+ # When the producer reported the finding -- its own clock, which is
1707
+ # not Continuum's ingestion time. `createdAt` is when Continuum
1708
+ # accepted it; these are genuinely different instants and a reader
1709
+ # usually wants this one.
1710
+ #
1711
+ # For CreateCodeFinding, this is the submitted OCSF document's own
1712
+ # top-level `time`. For findings Continuum's scanner produces, it is
1713
+ # the finding's own creation time.
1714
+ #
1715
+ # Continuum does not validate it for plausibility: a producer's value
1716
+ # is echoed as given, so a `timestamp` here asserts the unit and
1717
+ # format, not that the instant is genuine.
1718
+ # @return [Time]
1719
+ #
1720
+ # @!attribute [rw] status
1721
+ # The current lifecycle status of the finding.
1722
+ # @return [String]
1723
+ #
1724
+ # @!attribute [rw] status_updated_at
1725
+ # The timestamp when the status last transitioned.
1726
+ # @return [Time]
1727
+ #
1728
+ # @!attribute [rw] created_at
1729
+ # The timestamp when the finding was ingested.
1730
+ # @return [Time]
1731
+ #
1732
+ # @!attribute [rw] scan_run_id
1733
+ # The scan that produced the finding, when it came from one. For a
1734
+ # finding Continuum's scanner produced, this is the Continuum scan
1735
+ # run (see GetCodeScan). For a finding submitted with
1736
+ # CreateCodeFinding, it is the OCSF document's
1737
+ # `metadata.correlation_uid`, when that value is a valid ScanRunId.
1738
+ # Absent when the finding did not come from a scan.
1739
+ # @return [String]
1740
+ #
1741
+ # @!attribute [rw] status_message
1742
+ # Human-readable context about the current status.
1743
+ # @return [String]
1744
+ #
1745
+ # @!attribute [rw] discard_reason
1746
+ # Why the finding was not escalated. Present only when status is
1747
+ # DISCARDED.
1748
+ # @return [String]
1749
+ #
1750
+ # @!attribute [rw] discard_reasoning
1751
+ # Customer-facing explanation accompanying `discardReason`.
1752
+ # @return [String]
1753
+ #
1754
+ # @!attribute [rw] duplicate_of_issue_id
1755
+ # The existing issue this finding duplicates. Present only for the
1756
+ # DUPLICATE\_OF\_* discard reasons.
1757
+ # @return [String]
1758
+ #
1759
+ # @!attribute [rw] created_issue_id
1760
+ # The issue Continuum created from this finding.
1761
+ # @return [String]
1762
+ #
1763
+ # @!attribute [rw] completed_at
1764
+ # When processing finished, whether by creating an issue or
1765
+ # discarding. Absent while the finding is still in flight.
1766
+ # @return [Time]
1767
+ #
1768
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/GetCodeFindingOutput AWS API Documentation
1769
+ #
1770
+ class GetCodeFindingOutput < Struct.new(
1771
+ :type,
1772
+ :title,
1773
+ :severity,
1774
+ :summary,
1775
+ :detailed_description,
1776
+ :category,
1777
+ :sub_category,
1778
+ :cwe_ids,
1779
+ :owasp_category,
1780
+ :mitigation,
1781
+ :file_path,
1782
+ :line_number,
1783
+ :cve_id,
1784
+ :cvss_base_score,
1785
+ :affected_packages,
1786
+ :vulnerable_code,
1787
+ :relevant_inputs,
1788
+ :steps_to_reproduce,
1789
+ :validation,
1790
+ :end_line,
1791
+ :mitre_techniques,
1792
+ :remediation_references,
1793
+ :ocsf_class,
1794
+ :ocsf_schema_version,
1795
+ :product_name,
1796
+ :product_vendor_name,
1797
+ :product_version,
1798
+ :source_status,
1799
+ :source_status_id,
1800
+ :first_seen_at,
1801
+ :finding_types,
1802
+ :vulnerabilities,
1803
+ :resources,
1804
+ :posture,
1805
+ :finding_id,
1806
+ :finding_arn,
1807
+ :environment_id,
1808
+ :source,
1809
+ :source_finding_id,
1810
+ :reported_at,
1811
+ :status,
1812
+ :status_updated_at,
1813
+ :created_at,
1814
+ :scan_run_id,
1815
+ :status_message,
1816
+ :discard_reason,
1817
+ :discard_reasoning,
1818
+ :duplicate_of_issue_id,
1819
+ :created_issue_id,
1820
+ :completed_at)
1821
+ SENSITIVE = []
1822
+ include Aws::Structure
1823
+ end
1824
+
1825
+ # Specifies the artifact to retrieve.
1826
+ #
1827
+ # @!attribute [rw] environment_id
1828
+ # The environment that owns the issue.
1829
+ # @return [String]
1830
+ #
1831
+ # @!attribute [rw] issue_id
1832
+ # The issue the artifact is attached to.
1833
+ # @return [String]
1834
+ #
1835
+ # @!attribute [rw] artifact_id
1836
+ # The unique identifier of the artifact to retrieve.
1837
+ # @return [String]
1838
+ #
1839
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/GetCodeIssueArtifactInput AWS API Documentation
1840
+ #
1841
+ class GetCodeIssueArtifactInput < Struct.new(
1842
+ :environment_id,
1843
+ :issue_id,
1844
+ :artifact_id)
1845
+ SENSITIVE = []
1846
+ include Aws::Structure
1847
+ end
1848
+
1849
+ # Contains the requested artifact and its content.
1850
+ #
1851
+ # @!attribute [rw] artifact_id
1852
+ # The unique identifier of the artifact.
1853
+ # @return [String]
1854
+ #
1855
+ # @!attribute [rw] artifact_type
1856
+ # Semantic category of the artifact.
1857
+ # @return [String]
1858
+ #
1859
+ # @!attribute [rw] media_type
1860
+ # MIME type the producer declared for its content.
1861
+ # @return [String]
1862
+ #
1863
+ # @!attribute [rw] body
1864
+ # The artifact body, projected against the shape defined for its
1865
+ # artifactType. A type with a defined shape is returned as that
1866
+ # structure, and anything else through `IssueArtifactBody.raw`.
1867
+ # @return [Types::IssueArtifactBody]
1868
+ #
1869
+ # @!attribute [rw] metadata
1870
+ # Producer-defined structured metadata, when the producer supplied
1871
+ # any.
1872
+ #
1873
+ # Returned only for an artifactType whose content has no defined
1874
+ # shape, so that the artifact stays inspectable. For an artifactType
1875
+ # with a defined shape, `body` carries the content and this member is
1876
+ # omitted.
1877
+ # @return [Hash,Array,String,Numeric,Boolean]
1878
+ #
1879
+ # @!attribute [rw] producer
1880
+ # The agent that produced the artifact.
1881
+ # @return [Types::IssueArtifactProducerSummary]
1882
+ #
1883
+ # @!attribute [rw] created_at
1884
+ # The timestamp when the artifact was created.
1885
+ # @return [Time]
1886
+ #
1887
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/GetCodeIssueArtifactOutput AWS API Documentation
1888
+ #
1889
+ class GetCodeIssueArtifactOutput < Struct.new(
1890
+ :artifact_id,
1891
+ :artifact_type,
1892
+ :media_type,
1893
+ :body,
1894
+ :metadata,
1895
+ :producer,
1896
+ :created_at)
1897
+ SENSITIVE = []
1898
+ include Aws::Structure
1899
+ end
1900
+
1901
+ # Specifies the issue to retrieve.
1902
+ #
1903
+ # @!attribute [rw] environment_id
1904
+ # The environment that owns the issue.
1905
+ # @return [String]
1906
+ #
1907
+ # @!attribute [rw] issue_id
1908
+ # The unique identifier of the issue to retrieve.
1909
+ # @return [String]
1910
+ #
1911
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/GetCodeIssueInput AWS API Documentation
1912
+ #
1913
+ class GetCodeIssueInput < Struct.new(
1914
+ :environment_id,
1915
+ :issue_id)
1916
+ SENSITIVE = []
1917
+ include Aws::Structure
1918
+ end
1919
+
1920
+ # Contains the current state and details of the requested issue.
1921
+ #
1922
+ # @!attribute [rw] issue_id
1923
+ # The unique identifier of the issue.
1924
+ # @return [String]
1925
+ #
1926
+ # @!attribute [rw] issue_arn
1927
+ # The ARN of the issue.
1928
+ # @return [String]
1929
+ #
1930
+ # @!attribute [rw] name
1931
+ # The name of the issue.
1932
+ # @return [String]
1933
+ #
1934
+ # @!attribute [rw] synopsis
1935
+ # A free-form synopsis of the issue.
1936
+ # @return [String]
1937
+ #
1938
+ # @!attribute [rw] severity
1939
+ # Current severity: the FindingSeverity seed at create, overwritten by
1940
+ # the authoritative severity that prioritization assigns after
1941
+ # validation.
1942
+ # @return [String]
1943
+ #
1944
+ # @!attribute [rw] confidence
1945
+ # The likelihood that this issue is a true positive, expressed as a
1946
+ # percentage (0-100).
1947
+ # @return [Integer]
1948
+ #
1949
+ # @!attribute [rw] severity_reasoning
1950
+ # The justification for the current severity. Always leads with a
1951
+ # customer-facing basis clause synthesized from how the severity was
1952
+ # determined (e.g. "Severity from finding.", "Severity from Continuum
1953
+ # system."); when prioritization has run, its own reasoning follows.
1954
+ # Issues created before the basis clause was introduced return their
1955
+ # original reasoning without it.
1956
+ # @return [String]
1957
+ #
1958
+ # @!attribute [rw] summary
1959
+ # The remediation completion summary, when the green stage has run.
1960
+ # @return [String]
1961
+ #
1962
+ # @!attribute [rw] finding_ids
1963
+ # The findings that motivated this issue. Bare identifiers only -- a
1964
+ # caller authorized for GetCodeIssue is not necessarily authorized to
1965
+ # read finding detail; call GetCodeFinding for that. Every referenced
1966
+ # finding is included regardless of origin (both CustomerUploaded and
1967
+ # ContinuumScanner).
1968
+ # @return [Array<String>]
1969
+ #
1970
+ # @!attribute [rw] status
1971
+ # The current lifecycle status of the issue.
1972
+ # @return [String]
1973
+ #
1974
+ # @!attribute [rw] phase
1975
+ # The part of the workflow the issue is in. Present when status is
1976
+ # IN\_PROGRESS, and when status is FAILED and the failing phase is
1977
+ # known.
1978
+ # @return [String]
1979
+ #
1980
+ # @!attribute [rw] status_reason
1981
+ # Why the issue failed. Present only when status is FAILED.
1982
+ # @return [String]
1983
+ #
1984
+ # @!attribute [rw] status_message
1985
+ # Customer-facing explanation of statusReason. Present only when
1986
+ # status is FAILED.
1987
+ # @return [String]
1988
+ #
1989
+ # @!attribute [rw] status_updated_at
1990
+ # The timestamp when the status or phase last changed.
1991
+ # @return [Time]
1992
+ #
1993
+ # @!attribute [rw] created_at
1994
+ # The timestamp when the issue was created.
1995
+ # @return [Time]
1996
+ #
1997
+ # @!attribute [rw] updated_at
1998
+ # The timestamp when any field of the issue last changed. Advances on
1999
+ # every mutation (including score-only updates that do not transition
2000
+ # status), so it is greater than or equal to statusUpdatedAt.
2001
+ # @return [Time]
2002
+ #
2003
+ # @!attribute [rw] evidence_availability
2004
+ # Whether the issue has any attached evidence (formerly 'artifacts':
2005
+ # tool output, remediation proposals, patches). NONE = no evidence;
2006
+ # AVAILABLE = at least one evidence item exists. Computed at read
2007
+ # time.
2008
+ # @return [String]
2009
+ #
2010
+ # @!attribute [rw] patch_delivery
2011
+ # Customer delivery of the issue's patches, summarized from its PATCH
2012
+ # artifacts at read time. Absent when no patch has a destination
2013
+ # delivery.
2014
+ # @return [Types::IssuePatchDelivery]
2015
+ #
2016
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/GetCodeIssueOutput AWS API Documentation
2017
+ #
2018
+ class GetCodeIssueOutput < Struct.new(
2019
+ :issue_id,
2020
+ :issue_arn,
2021
+ :name,
2022
+ :synopsis,
2023
+ :severity,
2024
+ :confidence,
2025
+ :severity_reasoning,
2026
+ :summary,
2027
+ :finding_ids,
2028
+ :status,
2029
+ :phase,
2030
+ :status_reason,
2031
+ :status_message,
2032
+ :status_updated_at,
2033
+ :created_at,
2034
+ :updated_at,
2035
+ :evidence_availability,
2036
+ :patch_delivery)
2037
+ SENSITIVE = []
2038
+ include Aws::Structure
2039
+ end
2040
+
2041
+ # @!attribute [rw] environment_id
2042
+ # Environment that owns the scan.
2043
+ # @return [String]
2044
+ #
2045
+ # @!attribute [rw] scan_run_id
2046
+ # Scan to retrieve.
2047
+ # @return [String]
2048
+ #
2049
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/GetCodeScanInput AWS API Documentation
2050
+ #
2051
+ class GetCodeScanInput < Struct.new(
2052
+ :environment_id,
2053
+ :scan_run_id)
2054
+ SENSITIVE = []
2055
+ include Aws::Structure
2056
+ end
2057
+
2058
+ # @!attribute [rw] scan
2059
+ # Complete customer-visible scan data.
2060
+ # @return [Types::CodeScanData]
2061
+ #
2062
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/GetCodeScanOutput AWS API Documentation
2063
+ #
2064
+ class GetCodeScanOutput < Struct.new(
2065
+ :scan)
2066
+ SENSITIVE = []
2067
+ include Aws::Structure
2068
+ end
2069
+
2070
+ # Identifies the Collector whose inventory is requested.
2071
+ #
2072
+ # @!attribute [rw] account_id
2073
+ # The AWS account that owns the Collector.
2074
+ # @return [String]
2075
+ #
2076
+ # @!attribute [rw] collector_id
2077
+ # The unique identifier of the Collector.
2078
+ # @return [String]
2079
+ #
2080
+ # @!attribute [rw] environment_arn
2081
+ # The full ARN of the Environment requesting the Collector's data.
2082
+ # The Environment must be in the caller's account. Continuum supplies
2083
+ # this value as the continuum:EnvironmentArn condition key.
2084
+ # @return [String]
2085
+ #
2086
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/GetCollectorDataAccessAuthorizationInput AWS API Documentation
2087
+ #
2088
+ class GetCollectorDataAccessAuthorizationInput < Struct.new(
2089
+ :account_id,
2090
+ :collector_id,
2091
+ :environment_arn)
2092
+ SENSITIVE = []
2093
+ include Aws::Structure
2094
+ end
2095
+
2096
+ # Empty response returned when the authenticated caller is authorized to
2097
+ # access the Collector's data.
2098
+ #
2099
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/GetCollectorDataAccessAuthorizationOutput AWS API Documentation
2100
+ #
2101
+ class GetCollectorDataAccessAuthorizationOutput < Aws::EmptyStructure; end
2102
+
2103
+ # Specifies the Collector to retrieve.
2104
+ #
2105
+ # @!attribute [rw] collector_id
2106
+ # The unique identifier of the Collector to retrieve.
2107
+ # @return [String]
2108
+ #
2109
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/GetCollectorInput AWS API Documentation
2110
+ #
2111
+ class GetCollectorInput < Struct.new(
2112
+ :collector_id)
2113
+ SENSITIVE = []
2114
+ include Aws::Structure
2115
+ end
2116
+
2117
+ # Contains the current state of the Collector.
2118
+ #
2119
+ # @!attribute [rw] collector_id
2120
+ # The unique identifier of the Collector.
2121
+ # @return [String]
2122
+ #
2123
+ # @!attribute [rw] collector_arn
2124
+ # The ARN of the Collector.
2125
+ # @return [String]
2126
+ #
2127
+ # @!attribute [rw] type
2128
+ # The source collected by this Collector.
2129
+ # @return [String]
2130
+ #
2131
+ # @!attribute [rw] status
2132
+ # The current lifecycle status.
2133
+ # @return [String]
2134
+ #
2135
+ # @!attribute [rw] config_recorder_arn
2136
+ # The ARN of the provisioned AWS Config Recorder.
2137
+ # @return [String]
2138
+ #
2139
+ # @!attribute [rw] kubernetes_cluster_role_arn
2140
+ # IAM role used to collect Kubernetes cluster metadata.
2141
+ # @return [String]
2142
+ #
2143
+ # @!attribute [rw] created_at
2144
+ # The timestamp when the Collector was created.
2145
+ # @return [Time]
2146
+ #
2147
+ # @!attribute [rw] updated_at
2148
+ # The time of the last successful UpdateCollector call, returned at
2149
+ # whole-second precision in the same date-time format as createdAt.
2150
+ # @return [Time]
2151
+ #
2152
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/GetCollectorOutput AWS API Documentation
2153
+ #
2154
+ class GetCollectorOutput < Struct.new(
2155
+ :collector_id,
2156
+ :collector_arn,
2157
+ :type,
2158
+ :status,
2159
+ :config_recorder_arn,
2160
+ :kubernetes_cluster_role_arn,
2161
+ :created_at,
2162
+ :updated_at)
2163
+ SENSITIVE = []
2164
+ include Aws::Structure
2165
+ end
2166
+
2167
+ # Specifies the environment to retrieve.
2168
+ #
2169
+ # @!attribute [rw] environment_id
2170
+ # The unique identifier of the environment to retrieve.
2171
+ # @return [String]
2172
+ #
2173
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/GetEnvironmentInput AWS API Documentation
2174
+ #
2175
+ class GetEnvironmentInput < Struct.new(
2176
+ :environment_id)
2177
+ SENSITIVE = []
2178
+ include Aws::Structure
2179
+ end
2180
+
2181
+ # Contains the current state and configuration of the requested
2182
+ # environment.
2183
+ #
2184
+ # @!attribute [rw] environment_id
2185
+ # The unique identifier of the environment.
2186
+ # @return [String]
2187
+ #
2188
+ # @!attribute [rw] environment_arn
2189
+ # The ARN of the environment.
2190
+ # @return [String]
2191
+ #
2192
+ # @!attribute [rw] name
2193
+ # The customer-visible name of the environment.
2194
+ # @return [String]
2195
+ #
2196
+ # @!attribute [rw] status
2197
+ # The current operational status of the environment.
2198
+ # @return [String]
2199
+ #
2200
+ # @!attribute [rw] status_message
2201
+ # Human-readable details about the current status. Present when the
2202
+ # status requires additional context (e.g., failure reason).
2203
+ # @return [String]
2204
+ #
2205
+ # @!attribute [rw] status_updated_at
2206
+ # The timestamp when the status last transitioned.
2207
+ # @return [Time]
2208
+ #
2209
+ # @!attribute [rw] created_at
2210
+ # The timestamp when the environment was created.
2211
+ # @return [Time]
2212
+ #
2213
+ # @!attribute [rw] updated_at
2214
+ # The timestamp when the environment's properties were last updated.
2215
+ # @return [Time]
2216
+ #
2217
+ # @!attribute [rw] configuration
2218
+ # Type-specific configuration and state, including code sources,
2219
+ # operating policy, Collector details, and the latest scan.
2220
+ # @return [Types::EnvironmentConfigurationDetails]
2221
+ #
2222
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/GetEnvironmentOutput AWS API Documentation
2223
+ #
2224
+ class GetEnvironmentOutput < Struct.new(
2225
+ :environment_id,
2226
+ :environment_arn,
2227
+ :name,
2228
+ :status,
2229
+ :status_message,
2230
+ :status_updated_at,
2231
+ :created_at,
2232
+ :updated_at,
2233
+ :configuration)
2234
+ SENSITIVE = []
2235
+ include Aws::Structure
2236
+ end
2237
+
2238
+ # Specifies the integration to retrieve.
2239
+ #
2240
+ # @!attribute [rw] integration_id
2241
+ # The unique identifier of the integration to retrieve.
2242
+ # @return [String]
2243
+ #
2244
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/GetIntegrationInput AWS API Documentation
2245
+ #
2246
+ class GetIntegrationInput < Struct.new(
2247
+ :integration_id)
2248
+ SENSITIVE = []
2249
+ include Aws::Structure
2250
+ end
2251
+
2252
+ # Contains metadata for the requested integration.
2253
+ #
2254
+ # @!attribute [rw] integration_id
2255
+ # The unique identifier of the integration.
2256
+ # @return [String]
2257
+ #
2258
+ # @!attribute [rw] integration_arn
2259
+ # The ARN of the integration.
2260
+ # @return [String]
2261
+ #
2262
+ # @!attribute [rw] name
2263
+ # The name of the integration.
2264
+ # @return [String]
2265
+ #
2266
+ # @!attribute [rw] integration_type
2267
+ # The immutable provider type for the integration.
2268
+ # @return [String]
2269
+ #
2270
+ # @!attribute [rw] provider_details
2271
+ # Provider-specific details for the integration.
2272
+ # @return [Types::ProviderDetails]
2273
+ #
2274
+ # @!attribute [rw] created_at
2275
+ # The timestamp when the integration was created.
2276
+ # @return [Time]
2277
+ #
2278
+ # @!attribute [rw] updated_at
2279
+ # The timestamp when the integration was last updated.
2280
+ # @return [Time]
2281
+ #
2282
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/GetIntegrationOutput AWS API Documentation
2283
+ #
2284
+ class GetIntegrationOutput < Struct.new(
2285
+ :integration_id,
2286
+ :integration_arn,
2287
+ :name,
2288
+ :integration_type,
2289
+ :provider_details,
2290
+ :created_at,
2291
+ :updated_at)
2292
+ SENSITIVE = []
2293
+ include Aws::Structure
2294
+ end
2295
+
2296
+ # Specifies the resource.
2297
+ #
2298
+ # @!attribute [rw] arn
2299
+ # The ARN of a resource in the caller's account.
2300
+ # @return [String]
2301
+ #
2302
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/GetResourcePolicyInput AWS API Documentation
2303
+ #
2304
+ class GetResourcePolicyInput < Struct.new(
2305
+ :arn)
2306
+ SENSITIVE = []
2307
+ include Aws::Structure
2308
+ end
2309
+
2310
+ # Contains the resource policy.
2311
+ #
2312
+ # @!attribute [rw] arn
2313
+ # The ARN of a Continuum resource that supports a resource policy.
2314
+ # Collectors are the only supported resource type; other well-formed
2315
+ # Continuum ARNs are rejected with ValidationException.
2316
+ # @return [String]
2317
+ #
2318
+ # @!attribute [rw] policy
2319
+ # A resource policy in displayable JSON form.
2320
+ # @return [String]
2321
+ #
2322
+ # @!attribute [rw] revision_id
2323
+ # Opaque optimistic-concurrency token for a resource policy.
2324
+ # @return [String]
2325
+ #
2326
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/GetResourcePolicyOutput AWS API Documentation
2327
+ #
2328
+ class GetResourcePolicyOutput < Struct.new(
2329
+ :arn,
2330
+ :policy,
2331
+ :revision_id)
2332
+ SENSITIVE = [:policy]
2333
+ include Aws::Structure
2334
+ end
2335
+
2336
+ # Write-only OAuth credentials used to authorize a GitHub.com
2337
+ # integration. Not stored or returned after creation.
2338
+ #
2339
+ # @!attribute [rw] authorization_code
2340
+ # The OAuth authorization code returned by GitHub after the user
2341
+ # authorizes the application.
2342
+ # @return [String]
2343
+ #
2344
+ # @!attribute [rw] state
2345
+ # The `state` returned by GitHub in the OAuth callback. It must be the
2346
+ # state that StartIntegrationAuthorization returned to the same AWS
2347
+ # account, and the authorization request must have sent that call's
2348
+ # codeChallenge. The state can be redeemed once. A stage that enforces
2349
+ # authorization sessions rejects a missing, expired, already used, or
2350
+ # other-account state with ValidationException; restart the
2351
+ # authorization with StartIntegrationAuthorization.
2352
+ # @return [String]
2353
+ #
2354
+ # @!attribute [rw] redirect_url
2355
+ # The redirect URL used to obtain the authorization code. Must match
2356
+ # one of the redirect URLs registered on the GitHub App. If omitted,
2357
+ # the App's default redirect URL is used. Not stored or returned
2358
+ # after creation.
2359
+ # @return [String]
2360
+ #
2361
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/GitHubAuthorizationConfiguration AWS API Documentation
2362
+ #
2363
+ class GitHubAuthorizationConfiguration < Struct.new(
2364
+ :authorization_code,
2365
+ :state,
2366
+ :redirect_url)
2367
+ SENSITIVE = [:authorization_code, :state]
2368
+ include Aws::Structure
2369
+ end
2370
+
2371
+ # Configuration for a GitHub.com integration using the OAuth
2372
+ # authorization code flow.
2373
+ #
2374
+ # @!attribute [rw] authorization
2375
+ # OAuth authorization used to establish the integration. Required on
2376
+ # create; not returned on read operations.
2377
+ # @return [Types::GitHubAuthorizationConfiguration]
2378
+ #
2379
+ # @!attribute [rw] organization_name
2380
+ # The name of the GitHub organization to associate with the
2381
+ # integration. If not specified, the integration is associated with
2382
+ # the authenticated user's personal account.
2383
+ # @return [String]
2384
+ #
2385
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/GitHubConfiguration AWS API Documentation
2386
+ #
2387
+ class GitHubConfiguration < Struct.new(
2388
+ :authorization,
2389
+ :organization_name)
2390
+ SENSITIVE = []
2391
+ include Aws::Structure
2392
+ end
2393
+
2394
+ # Details for a GitHub.com integration.
2395
+ #
2396
+ # @!attribute [rw] organization_name
2397
+ # The name of the GitHub organization associated with the integration.
2398
+ # @return [String]
2399
+ #
2400
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/GitHubDetails AWS API Documentation
2401
+ #
2402
+ class GitHubDetails < Struct.new(
2403
+ :organization_name)
2404
+ SENSITIVE = []
2405
+ include Aws::Structure
2406
+ end
2407
+
2408
+ # The GitHub repository a patch is delivered to, and the pull request
2409
+ # that carries it once opened.
2410
+ #
2411
+ # @!attribute [rw] owner
2412
+ # The GitHub user or organization that owns the repository.
2413
+ # @return [String]
2414
+ #
2415
+ # @!attribute [rw] repository
2416
+ # The repository name.
2417
+ # @return [String]
2418
+ #
2419
+ # @!attribute [rw] pull_request_number
2420
+ # Repository-scoped pull request number assigned by GitHub.
2421
+ # @return [Integer]
2422
+ #
2423
+ # @!attribute [rw] head_sha
2424
+ # The head commit SHA of the pull request. Absent until the pull
2425
+ # request is opened.
2426
+ # @return [String]
2427
+ #
2428
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/GitHubTarget AWS API Documentation
2429
+ #
2430
+ class GitHubTarget < Struct.new(
2431
+ :owner,
2432
+ :repository,
2433
+ :pull_request_number,
2434
+ :head_sha)
2435
+ SENSITIVE = []
2436
+ include Aws::Structure
2437
+ end
2438
+
2439
+ # Configuration for a GitLab integration using a pasted access token.
2440
+ #
2441
+ # @!attribute [rw] instance_url
2442
+ # The HTTPS base URL of the GitLab instance (gitlab.com or
2443
+ # self-managed).
2444
+ # @return [String]
2445
+ #
2446
+ # @!attribute [rw] target_type
2447
+ # Whether the integration targets a group or a single project.
2448
+ # @return [String]
2449
+ #
2450
+ # @!attribute [rw] target_path
2451
+ # The group or project path the integration targets.
2452
+ # @return [String]
2453
+ #
2454
+ # @!attribute [rw] access_token
2455
+ # The GitLab access token (personal, group or project). Write-only;
2456
+ # not stored or returned after creation. If the token carries the
2457
+ # self-rotate scope, rotation is opted in and Continuum manages the
2458
+ # token thereafter.
2459
+ # @return [String]
2460
+ #
2461
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/GitLabConfiguration AWS API Documentation
2462
+ #
2463
+ class GitLabConfiguration < Struct.new(
2464
+ :instance_url,
2465
+ :target_type,
2466
+ :target_path,
2467
+ :access_token)
2468
+ SENSITIVE = [:access_token]
2469
+ include Aws::Structure
2470
+ end
2471
+
2472
+ # Details for a GitLab integration.
2473
+ #
2474
+ # @!attribute [rw] instance_url
2475
+ # The HTTPS base URL of the GitLab instance.
2476
+ # @return [String]
2477
+ #
2478
+ # @!attribute [rw] target_type
2479
+ # Whether the integration targets a group or a single project.
2480
+ # @return [String]
2481
+ #
2482
+ # @!attribute [rw] target_path
2483
+ # The group or project path the integration targets.
2484
+ # @return [String]
2485
+ #
2486
+ # @!attribute [rw] token_rotation
2487
+ # How the integration's access token is rotated. AUTOMATIC only when
2488
+ # the pasted token had the self-rotate scope and rotation was opted in
2489
+ # at installation time.
2490
+ # @return [String]
2491
+ #
2492
+ # @!attribute [rw] expires_at
2493
+ # The expiry of the stored access token, for non-rotating tokens only.
2494
+ # A rotated token's original expiry is stale, so this is omitted when
2495
+ # tokenRotation is AUTOMATIC.
2496
+ # @return [Time]
2497
+ #
2498
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/GitLabDetails AWS API Documentation
2499
+ #
2500
+ class GitLabDetails < Struct.new(
2501
+ :instance_url,
2502
+ :target_type,
2503
+ :target_path,
2504
+ :token_rotation,
2505
+ :expires_at)
2506
+ SENSITIVE = []
2507
+ include Aws::Structure
2508
+ end
2509
+
2510
+ # A summary of an integration returned in list responses.
2511
+ #
2512
+ # @!attribute [rw] integration_id
2513
+ # The unique identifier of the integration.
2514
+ # @return [String]
2515
+ #
2516
+ # @!attribute [rw] integration_arn
2517
+ # The ARN of the integration.
2518
+ # @return [String]
2519
+ #
2520
+ # @!attribute [rw] name
2521
+ # The name of the integration.
2522
+ # @return [String]
2523
+ #
2524
+ # @!attribute [rw] integration_type
2525
+ # The immutable provider type for the integration.
2526
+ # @return [String]
2527
+ #
2528
+ # @!attribute [rw] provider_details
2529
+ # Provider-specific details for the integration.
2530
+ # @return [Types::ProviderDetails]
2531
+ #
2532
+ # @!attribute [rw] created_at
2533
+ # The timestamp when the integration was created.
2534
+ # @return [Time]
2535
+ #
2536
+ # @!attribute [rw] updated_at
2537
+ # The timestamp when the integration was last updated.
2538
+ # @return [Time]
2539
+ #
2540
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/IntegrationSummary AWS API Documentation
2541
+ #
2542
+ class IntegrationSummary < Struct.new(
2543
+ :integration_id,
2544
+ :integration_arn,
2545
+ :name,
2546
+ :integration_type,
2547
+ :provider_details,
2548
+ :created_at,
2549
+ :updated_at)
2550
+ SENSITIVE = []
2551
+ include Aws::Structure
2552
+ end
2553
+
2554
+ # The request couldn't be processed because of an internal server
2555
+ # issue. Try again later. If the problem persists, contact AWS Support.
2556
+ #
2557
+ # @!attribute [rw] message
2558
+ # Error description.
2559
+ # @return [String]
2560
+ #
2561
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/InternalServerException AWS API Documentation
2562
+ #
2563
+ class InternalServerException < Struct.new(
2564
+ :message)
2565
+ SENSITIVE = []
2566
+ include Aws::Structure
2567
+ end
2568
+
2569
+ # The projected body of an artifact. The active member is selected by
2570
+ # the artifact's artifactType, and for a type that carries more than
2571
+ # one payload kind by the stored content's own discriminator; `raw`
2572
+ # carries content for types with no defined shape yet and for content
2573
+ # that did not match its shape.
2574
+ #
2575
+ # @note IssueArtifactBody is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of IssueArtifactBody corresponding to the set member.
2576
+ #
2577
+ # @!attribute [rw] validation_evidence
2578
+ # Projected VALIDATION\_EVIDENCE content.
2579
+ # @return [Types::ValidationEvidenceBody]
2580
+ #
2581
+ # @!attribute [rw] prevalidation_signals
2582
+ # Projected EVIDENCE content whose stored envelope declares
2583
+ # `artifact_kind: prevalidation_signals` — the severity signals
2584
+ # prioritization uses.
2585
+ #
2586
+ # One artifactType can select different members here: EVIDENCE also
2587
+ # carries the prioritization markdown narrative, which is not JSON and
2588
+ # so returns through `raw`. The member is therefore chosen by
2589
+ # artifactType AND, for a type that carries more than one payload
2590
+ # kind, the content's own discriminator.
2591
+ # @return [Types::PrevalidationSignalsBody]
2592
+ #
2593
+ # @!attribute [rw] remediation_proposal
2594
+ # Projected REMEDIATION\_PROPOSAL content: a patch the remediation
2595
+ # agent produced, with the descriptors needed to apply and verify it.
2596
+ #
2597
+ # REMEDIATION\_PROPOSAL content that does not match this shape is
2598
+ # returned through `raw`.
2599
+ # @return [Types::RemediationProposalBody]
2600
+ #
2601
+ # @!attribute [rw] patch
2602
+ # Projected PATCH content: the remediation patch for one repository,
2603
+ # with the descriptors needed to verify and apply it and the state of
2604
+ # its delivery to the customer's own bucket or repository.
2605
+ #
2606
+ # Every PATCH projects here. The descriptors come from members Control
2607
+ # Plane computes or owns when it stores the patch, not from producer
2608
+ # metadata, so this member is the whole PATCH contract and `metadata`
2609
+ # is omitted for it.
2610
+ # @return [Types::PatchBody]
2611
+ #
2612
+ # @!attribute [rw] raw
2613
+ # The producer's content verbatim, for an artifactType with no
2614
+ # defined shape or content that failed to parse against its shape.
2615
+ # @return [String]
2616
+ #
2617
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/IssueArtifactBody AWS API Documentation
2618
+ #
2619
+ class IssueArtifactBody < Struct.new(
2620
+ :validation_evidence,
2621
+ :prevalidation_signals,
2622
+ :remediation_proposal,
2623
+ :patch,
2624
+ :raw,
2625
+ :unknown)
2626
+ SENSITIVE = []
2627
+ include Aws::Structure
2628
+ include Aws::Structure::Union
2629
+
2630
+ class ValidationEvidence < IssueArtifactBody; end
2631
+ class PrevalidationSignals < IssueArtifactBody; end
2632
+ class RemediationProposal < IssueArtifactBody; end
2633
+ class Patch < IssueArtifactBody; end
2634
+ class Raw < IssueArtifactBody; end
2635
+ class Unknown < IssueArtifactBody; end
2636
+ end
2637
+
2638
+ # A summary of an artifact returned in list responses.
2639
+ #
2640
+ # @!attribute [rw] artifact_id
2641
+ # The unique identifier of the artifact.
2642
+ # @return [String]
2643
+ #
2644
+ # @!attribute [rw] artifact_type
2645
+ # Semantic category of the artifact.
2646
+ # @return [String]
2647
+ #
2648
+ # @!attribute [rw] media_type
2649
+ # MIME type of the artifact content.
2650
+ # @return [String]
2651
+ #
2652
+ # @!attribute [rw] producer
2653
+ # The agent that produced the artifact.
2654
+ # @return [Types::IssueArtifactProducerSummary]
2655
+ #
2656
+ # @!attribute [rw] content_size_bytes
2657
+ # Size of the artifact content in bytes. The content itself is
2658
+ # returned by GetCodeIssueArtifact.
2659
+ # @return [Integer]
2660
+ #
2661
+ # @!attribute [rw] created_at
2662
+ # The timestamp when the artifact was created.
2663
+ # @return [Time]
2664
+ #
2665
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/IssueArtifactItem AWS API Documentation
2666
+ #
2667
+ class IssueArtifactItem < Struct.new(
2668
+ :artifact_id,
2669
+ :artifact_type,
2670
+ :media_type,
2671
+ :producer,
2672
+ :content_size_bytes,
2673
+ :created_at)
2674
+ SENSITIVE = []
2675
+ include Aws::Structure
2676
+ end
2677
+
2678
+ # The agent that produced an artifact.
2679
+ #
2680
+ # @!attribute [rw] agent
2681
+ # Stable producer name, such as ContinuumValidation.
2682
+ # @return [String]
2683
+ #
2684
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/IssueArtifactProducerSummary AWS API Documentation
2685
+ #
2686
+ class IssueArtifactProducerSummary < Struct.new(
2687
+ :agent)
2688
+ SENSITIVE = []
2689
+ include Aws::Structure
2690
+ end
2691
+
2692
+ # Customer delivery of the patches Continuum produced for an issue,
2693
+ # summarized across the issue's PATCH artifacts when the issue is read.
2694
+ # Each artifact keeps its own `delivery.destination` with the full
2695
+ # detail; this summary lets a caller see a failed delivery without
2696
+ # listing artifacts.
2697
+ #
2698
+ # @!attribute [rw] status
2699
+ # The overall result, in priority order: FAILED when any patch's
2700
+ # destination delivery failed or exhausted its retries; otherwise
2701
+ # PENDING while any is still in progress; otherwise SUCCEEDED when at
2702
+ # least one was delivered; otherwise SKIPPED.
2703
+ # @return [String]
2704
+ #
2705
+ # @!attribute [rw] patch_count
2706
+ # Number of the issue's patches that have a destination delivery.
2707
+ # @return [Integer]
2708
+ #
2709
+ # @!attribute [rw] succeeded_count
2710
+ # Number of those patches delivered to their destination.
2711
+ # @return [Integer]
2712
+ #
2713
+ # @!attribute [rw] failed_count
2714
+ # Number of those patches whose delivery failed or exhausted its
2715
+ # retries.
2716
+ # @return [Integer]
2717
+ #
2718
+ # @!attribute [rw] failure_reasons
2719
+ # Distinct reasons of the failed deliveries, in ascending order.
2720
+ # Present only when failedCount is greater than zero.
2721
+ # @return [Array<String>]
2722
+ #
2723
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/IssuePatchDelivery AWS API Documentation
2724
+ #
2725
+ class IssuePatchDelivery < Struct.new(
2726
+ :status,
2727
+ :patch_count,
2728
+ :succeeded_count,
2729
+ :failed_count,
2730
+ :failure_reasons)
2731
+ SENSITIVE = []
2732
+ include Aws::Structure
2733
+ end
2734
+
2735
+ # A summary of an issue returned in list responses.
2736
+ #
2737
+ # @!attribute [rw] issue_id
2738
+ # The unique identifier of the issue.
2739
+ # @return [String]
2740
+ #
2741
+ # @!attribute [rw] issue_arn
2742
+ # The ARN of the issue.
2743
+ # @return [String]
2744
+ #
2745
+ # @!attribute [rw] name
2746
+ # The name of the issue.
2747
+ # @return [String]
2748
+ #
2749
+ # @!attribute [rw] severity
2750
+ # Scanner-derived severity assigned to the issue.
2751
+ # @return [String]
2752
+ #
2753
+ # @!attribute [rw] confidence
2754
+ # The likelihood that this issue is a true positive, expressed as a
2755
+ # percentage (0-100).
2756
+ # @return [Integer]
2757
+ #
2758
+ # @!attribute [rw] status
2759
+ # The current lifecycle status of the issue.
2760
+ # @return [String]
2761
+ #
2762
+ # @!attribute [rw] phase
2763
+ # The part of the workflow the issue is in. Present when status is
2764
+ # IN\_PROGRESS, and when status is FAILED and the failing phase is
2765
+ # known.
2766
+ # @return [String]
2767
+ #
2768
+ # @!attribute [rw] status_reason
2769
+ # Why the issue failed. Present only when status is FAILED.
2770
+ # @return [String]
2771
+ #
2772
+ # @!attribute [rw] status_message
2773
+ # Customer-facing explanation of statusReason. Present only when
2774
+ # status is FAILED.
2775
+ # @return [String]
2776
+ #
2777
+ # @!attribute [rw] status_updated_at
2778
+ # The timestamp when the status or phase last changed.
2779
+ # @return [Time]
2780
+ #
2781
+ # @!attribute [rw] created_at
2782
+ # The timestamp when the issue was created.
2783
+ # @return [Time]
2784
+ #
2785
+ # @!attribute [rw] updated_at
2786
+ # The timestamp when any field of the issue last changed. Advances on
2787
+ # every mutation (including score-only updates that do not transition
2788
+ # status), so it is greater than or equal to statusUpdatedAt.
2789
+ # @return [Time]
2790
+ #
2791
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/IssueSummary AWS API Documentation
2792
+ #
2793
+ class IssueSummary < Struct.new(
2794
+ :issue_id,
2795
+ :issue_arn,
2796
+ :name,
2797
+ :severity,
2798
+ :confidence,
2799
+ :status,
2800
+ :phase,
2801
+ :status_reason,
2802
+ :status_message,
2803
+ :status_updated_at,
2804
+ :created_at,
2805
+ :updated_at)
2806
+ SENSITIVE = []
2807
+ include Aws::Structure
2808
+ end
2809
+
2810
+ # Complete configuration for the IAM role Continuum assumes to collect
2811
+ # Kubernetes cluster metadata.
2812
+ #
2813
+ # @!attribute [rw] role_arn
2814
+ # IAM role the authenticated caller passes to Continuum.
2815
+ # @return [String]
2816
+ #
2817
+ # @!attribute [rw] external_id
2818
+ # Optional external ID Continuum supplies when assuming roleArn. This
2819
+ # must match the role trust policy when configured and does not
2820
+ # replace the caller's iam:PassRole permission.
2821
+ # @return [String]
2822
+ #
2823
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/KubernetesClusterRoleConfiguration AWS API Documentation
2824
+ #
2825
+ class KubernetesClusterRoleConfiguration < Struct.new(
2826
+ :role_arn,
2827
+ :external_id)
2828
+ SENSITIVE = [:external_id]
2829
+ include Aws::Structure
2830
+ end
2831
+
2832
+ # One complete mutation of the Collector's Kubernetes IAM role
2833
+ # configuration.
2834
+ #
2835
+ # @note KubernetesClusterRoleUpdate is a union - when making an API calls you must set exactly one of the members.
2836
+ #
2837
+ # @!attribute [rw] set
2838
+ # Replace the complete role configuration.
2839
+ # @return [Types::KubernetesClusterRoleConfiguration]
2840
+ #
2841
+ # @!attribute [rw] remove
2842
+ # Remove the configured role and external ID.
2843
+ # @return [Types::RemoveKubernetesClusterRole]
2844
+ #
2845
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/KubernetesClusterRoleUpdate AWS API Documentation
2846
+ #
2847
+ class KubernetesClusterRoleUpdate < Struct.new(
2848
+ :set,
2849
+ :remove,
2850
+ :unknown)
2851
+ SENSITIVE = []
2852
+ include Aws::Structure
2853
+ include Aws::Structure::Union
2854
+
2855
+ class Set < KubernetesClusterRoleUpdate; end
2856
+ class Remove < KubernetesClusterRoleUpdate; end
2857
+ class Unknown < KubernetesClusterRoleUpdate; end
2858
+ end
2859
+
2860
+ # Specifies the Environment whose Collector associations to list.
2861
+ #
2862
+ # @!attribute [rw] environment_id
2863
+ # The unique identifier of the Environment whose associations to list.
2864
+ # @return [String]
2865
+ #
2866
+ # @!attribute [rw] max_results
2867
+ # Maximum number of associated Collectors to return.
2868
+ # @return [Integer]
2869
+ #
2870
+ # @!attribute [rw] next_token
2871
+ # Pagination token returned by a prior request.
2872
+ # @return [String]
2873
+ #
2874
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/ListAssociatedCollectorsInput AWS API Documentation
2875
+ #
2876
+ class ListAssociatedCollectorsInput < Struct.new(
2877
+ :environment_id,
2878
+ :max_results,
2879
+ :next_token)
2880
+ SENSITIVE = []
2881
+ include Aws::Structure
2882
+ end
2883
+
2884
+ # Contains one page of the Collectors associated with the requested
2885
+ # Environment.
2886
+ #
2887
+ # @!attribute [rw] associated_collectors
2888
+ # The Collectors associated with this Environment, ordered by
2889
+ # collectorId ascending. Empty when the Environment has no
2890
+ # associations, and also when every association on the page predates
2891
+ # Continuum persisting the ARN — the page is still advanced by
2892
+ # `nextToken` in that case.
2893
+ # @return [Array<Types::AssociatedCollector>]
2894
+ #
2895
+ # @!attribute [rw] next_token
2896
+ # Pagination token for the next page, if present.
2897
+ # @return [String]
2898
+ #
2899
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/ListAssociatedCollectorsOutput AWS API Documentation
2900
+ #
2901
+ class ListAssociatedCollectorsOutput < Struct.new(
2902
+ :associated_collectors,
2903
+ :next_token)
2904
+ SENSITIVE = []
2905
+ include Aws::Structure
2906
+ end
2907
+
2908
+ # Specifies the Collector whose Environment associations to list.
2909
+ #
2910
+ # @!attribute [rw] collector_id
2911
+ # The unique identifier of the Collector whose associations to list.
2912
+ # @return [String]
2913
+ #
2914
+ # @!attribute [rw] max_results
2915
+ # Maximum number of Environment associations to return.
2916
+ # @return [Integer]
2917
+ #
2918
+ # @!attribute [rw] next_token
2919
+ # Pagination token returned by a prior request.
2920
+ # @return [String]
2921
+ #
2922
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/ListAssociatedEnvironmentsInput AWS API Documentation
2923
+ #
2924
+ class ListAssociatedEnvironmentsInput < Struct.new(
2925
+ :collector_id,
2926
+ :max_results,
2927
+ :next_token)
2928
+ SENSITIVE = []
2929
+ include Aws::Structure
2930
+ end
2931
+
2932
+ # Contains one page of Environment summaries associated with the
2933
+ # requested Collector.
2934
+ #
2935
+ # @!attribute [rw] associated_environments
2936
+ # Summaries of the Environments associated with this Collector,
2937
+ # ordered by environmentArn lexicographically ascending. Each summary
2938
+ # has the same fields as a ListEnvironments item but uses an
2939
+ # independent model shape. Empty when the Collector has no
2940
+ # associations.
2941
+ # @return [Array<Types::AssociatedEnvironment>]
2942
+ #
2943
+ # @!attribute [rw] next_token
2944
+ # Pagination token for the next page, if present.
2945
+ # @return [String]
2946
+ #
2947
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/ListAssociatedEnvironmentsOutput AWS API Documentation
2948
+ #
2949
+ class ListAssociatedEnvironmentsOutput < Struct.new(
2950
+ :associated_environments,
2951
+ :next_token)
2952
+ SENSITIVE = []
2953
+ include Aws::Structure
2954
+ end
2955
+
2956
+ # Specifies the environment and pagination parameters for listing
2957
+ # findings.
2958
+ #
2959
+ # @!attribute [rw] environment_id
2960
+ # The environment whose findings to list.
2961
+ # @return [String]
2962
+ #
2963
+ # @!attribute [rw] max_results
2964
+ # The maximum number of results to return in a single call.
2965
+ # @return [Integer]
2966
+ #
2967
+ # @!attribute [rw] next_token
2968
+ # A pagination token returned by a previous call. Set to null for the
2969
+ # first request; use the returned token for subsequent calls.
2970
+ # @return [String]
2971
+ #
2972
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/ListCodeFindingsInput AWS API Documentation
2973
+ #
2974
+ class ListCodeFindingsInput < Struct.new(
2975
+ :environment_id,
2976
+ :max_results,
2977
+ :next_token)
2978
+ SENSITIVE = []
2979
+ include Aws::Structure
2980
+ end
2981
+
2982
+ # Contains the list of finding summaries and an optional pagination
2983
+ # token.
2984
+ #
2985
+ # @!attribute [rw] items
2986
+ # The findings in the environment, ordered by findingId descending.
2987
+ # @return [Array<Types::FindingSummary>]
2988
+ #
2989
+ # @!attribute [rw] next_token
2990
+ # A pagination token to retrieve the next page of results. Absent when
2991
+ # there are no more results.
2992
+ # @return [String]
2993
+ #
2994
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/ListCodeFindingsOutput AWS API Documentation
2995
+ #
2996
+ class ListCodeFindingsOutput < Struct.new(
2997
+ :items,
2998
+ :next_token)
2999
+ SENSITIVE = []
3000
+ include Aws::Structure
3001
+ end
3002
+
3003
+ # Specifies the issue, optional filter, and pagination parameters for
3004
+ # listing artifacts.
3005
+ #
3006
+ # @!attribute [rw] environment_id
3007
+ # The environment that owns the issue.
3008
+ # @return [String]
3009
+ #
3010
+ # @!attribute [rw] issue_id
3011
+ # The issue whose artifacts to list.
3012
+ # @return [String]
3013
+ #
3014
+ # @!attribute [rw] artifact_type
3015
+ # Optional filter for a semantic artifact category. Omit to list all
3016
+ # artifacts attached to the issue.
3017
+ # @return [String]
3018
+ #
3019
+ # @!attribute [rw] max_results
3020
+ # The maximum number of results to return in a single call.
3021
+ # @return [Integer]
3022
+ #
3023
+ # @!attribute [rw] next_token
3024
+ # A pagination token returned by a previous call. Set to null for the
3025
+ # first request; use the returned token for subsequent calls.
3026
+ # @return [String]
3027
+ #
3028
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/ListCodeIssueArtifactsInput AWS API Documentation
3029
+ #
3030
+ class ListCodeIssueArtifactsInput < Struct.new(
3031
+ :environment_id,
3032
+ :issue_id,
3033
+ :artifact_type,
3034
+ :max_results,
3035
+ :next_token)
3036
+ SENSITIVE = []
3037
+ include Aws::Structure
3038
+ end
3039
+
3040
+ # Contains the list of artifact summaries and an optional pagination
3041
+ # token.
3042
+ #
3043
+ # @!attribute [rw] items
3044
+ # The artifacts attached to the issue, ordered by artifactId
3045
+ # descending.
3046
+ # @return [Array<Types::IssueArtifactItem>]
3047
+ #
3048
+ # @!attribute [rw] next_token
3049
+ # A pagination token to retrieve the next page of results. Absent when
3050
+ # there are no more results.
3051
+ # @return [String]
3052
+ #
3053
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/ListCodeIssueArtifactsOutput AWS API Documentation
3054
+ #
3055
+ class ListCodeIssueArtifactsOutput < Struct.new(
3056
+ :items,
3057
+ :next_token)
3058
+ SENSITIVE = []
3059
+ include Aws::Structure
3060
+ end
3061
+
3062
+ # Specifies the environment and pagination parameters for listing
3063
+ # issues.
3064
+ #
3065
+ # @!attribute [rw] environment_id
3066
+ # The environment whose issues to list.
3067
+ # @return [String]
3068
+ #
3069
+ # @!attribute [rw] max_results
3070
+ # The maximum number of results to return in a single call.
3071
+ # @return [Integer]
3072
+ #
3073
+ # @!attribute [rw] next_token
3074
+ # A pagination token returned by a previous call. Set to null for the
3075
+ # first request; use the returned token for subsequent calls.
3076
+ # @return [String]
3077
+ #
3078
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/ListCodeIssuesInput AWS API Documentation
3079
+ #
3080
+ class ListCodeIssuesInput < Struct.new(
3081
+ :environment_id,
3082
+ :max_results,
3083
+ :next_token)
3084
+ SENSITIVE = []
3085
+ include Aws::Structure
3086
+ end
3087
+
3088
+ # Contains the list of issue summaries and an optional pagination token.
3089
+ #
3090
+ # @!attribute [rw] items
3091
+ # The issues in the environment, ordered by issueId descending.
3092
+ # @return [Array<Types::IssueSummary>]
3093
+ #
3094
+ # @!attribute [rw] next_token
3095
+ # A pagination token to retrieve the next page of results. Absent when
3096
+ # there are no more results.
3097
+ # @return [String]
3098
+ #
3099
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/ListCodeIssuesOutput AWS API Documentation
3100
+ #
3101
+ class ListCodeIssuesOutput < Struct.new(
3102
+ :items,
3103
+ :next_token)
3104
+ SENSITIVE = []
3105
+ include Aws::Structure
3106
+ end
3107
+
3108
+ # @!attribute [rw] environment_id
3109
+ # Environment whose scans to list.
3110
+ # @return [String]
3111
+ #
3112
+ # @!attribute [rw] max_results
3113
+ # Maximum number of scans to return.
3114
+ # @return [Integer]
3115
+ #
3116
+ # @!attribute [rw] next_token
3117
+ # Pagination token returned by a prior request.
3118
+ # @return [String]
3119
+ #
3120
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/ListCodeScansInput AWS API Documentation
3121
+ #
3122
+ class ListCodeScansInput < Struct.new(
3123
+ :environment_id,
3124
+ :max_results,
3125
+ :next_token)
3126
+ SENSITIVE = []
3127
+ include Aws::Structure
3128
+ end
3129
+
3130
+ # @!attribute [rw] scans
3131
+ # Customer-visible scans ordered by scanRunId descending.
3132
+ # @return [Array<Types::CodeScanSummary>]
3133
+ #
3134
+ # @!attribute [rw] next_token
3135
+ # Pagination token for the next page, if present.
3136
+ # @return [String]
3137
+ #
3138
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/ListCodeScansOutput AWS API Documentation
3139
+ #
3140
+ class ListCodeScansOutput < Struct.new(
3141
+ :scans,
3142
+ :next_token)
3143
+ SENSITIVE = []
3144
+ include Aws::Structure
3145
+ end
3146
+
3147
+ # Specifies no request parameters. The target account is derived
3148
+ # exclusively from the authenticated calling context.
3149
+ #
3150
+ # @api private
3151
+ #
3152
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/ListCollectorsInput AWS API Documentation
3153
+ #
3154
+ class ListCollectorsInput < Aws::EmptyStructure; end
3155
+
3156
+ # Contains summaries of the caller account's Collectors.
3157
+ #
3158
+ # @!attribute [rw] items
3159
+ # The Collectors owned by the authenticated caller's account. At most
3160
+ # one result is currently returned, so no result ordering applies.
3161
+ # @return [Array<Types::CollectorSummary>]
3162
+ #
3163
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/ListCollectorsOutput AWS API Documentation
3164
+ #
3165
+ class ListCollectorsOutput < Struct.new(
3166
+ :items)
3167
+ SENSITIVE = []
3168
+ include Aws::Structure
3169
+ end
3170
+
3171
+ # Specifies pagination parameters for listing environments.
3172
+ #
3173
+ # Response-filtering justification: filtering is intentionally omitted
3174
+ # because every current consumer needs the canonical complete,
3175
+ # account-scoped environment inventory, and no useful selective
3176
+ # server-side query use case is defined. Environment ID already has the
3177
+ # GetEnvironment lookup operation, and status, name, or timestamp
3178
+ # filtering is not needed by any current workflow. Adding speculative
3179
+ # filters would require unsupported access patterns and ambiguous
3180
+ # semantics without reducing data returned for existing consumers. If a
3181
+ # concrete indexed query use case is introduced later, its filter values
3182
+ # must be bound to pagination tokens so a token cannot be replayed
3183
+ # against a different query. The formal API standards decision is
3184
+ # recorded in the package-root BR\_EXCEPTIONS.md file.
3185
+ #
3186
+ # @!attribute [rw] max_results
3187
+ # The maximum number of results to return in a single call.
3188
+ # @return [Integer]
3189
+ #
3190
+ # @!attribute [rw] next_token
3191
+ # A pagination token returned by a previous call. Set to null for the
3192
+ # first request; use the returned token for subsequent calls.
3193
+ # @return [String]
3194
+ #
3195
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/ListEnvironmentsInput AWS API Documentation
3196
+ #
3197
+ class ListEnvironmentsInput < Struct.new(
3198
+ :max_results,
3199
+ :next_token)
3200
+ SENSITIVE = []
3201
+ include Aws::Structure
3202
+ end
3203
+
3204
+ # Contains environment metadata and an optional pagination token.
3205
+ #
3206
+ # @!attribute [rw] items
3207
+ # Common metadata for the environments in the account, ordered by
3208
+ # environmentId descending.
3209
+ # @return [Array<Types::EnvironmentListEntry>]
3210
+ #
3211
+ # @!attribute [rw] next_token
3212
+ # A pagination token to retrieve the next page of results. Absent when
3213
+ # there are no more results.
3214
+ # @return [String]
3215
+ #
3216
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/ListEnvironmentsOutput AWS API Documentation
3217
+ #
3218
+ class ListEnvironmentsOutput < Struct.new(
3219
+ :items,
3220
+ :next_token)
3221
+ SENSITIVE = []
3222
+ include Aws::Structure
3223
+ end
3224
+
3225
+ # Specifies pagination parameters for listing integrations.
3226
+ #
3227
+ # @!attribute [rw] max_results
3228
+ # The maximum number of results to return in a single call.
3229
+ # @return [Integer]
3230
+ #
3231
+ # @!attribute [rw] next_token
3232
+ # A pagination token returned by a previous call. Set to null for the
3233
+ # first request; use the returned token for subsequent calls.
3234
+ # @return [String]
3235
+ #
3236
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/ListIntegrationsInput AWS API Documentation
3237
+ #
3238
+ class ListIntegrationsInput < Struct.new(
3239
+ :max_results,
3240
+ :next_token)
3241
+ SENSITIVE = []
3242
+ include Aws::Structure
3243
+ end
3244
+
3245
+ # Contains the list of integration summaries and an optional pagination
3246
+ # token.
3247
+ #
3248
+ # @!attribute [rw] items
3249
+ # The integrations in the account, ordered by integrationId
3250
+ # descending.
3251
+ # @return [Array<Types::IntegrationSummary>]
3252
+ #
3253
+ # @!attribute [rw] next_token
3254
+ # A pagination token to retrieve the next page of results. Absent when
3255
+ # there are no more results.
3256
+ # @return [String]
3257
+ #
3258
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/ListIntegrationsOutput AWS API Documentation
3259
+ #
3260
+ class ListIntegrationsOutput < Struct.new(
3261
+ :items,
3262
+ :next_token)
3263
+ SENSITIVE = []
3264
+ include Aws::Structure
3265
+ end
3266
+
3267
+ # Projected content for a PATCH artifact: the remediation patch for one
3268
+ # repository, with the descriptors needed to verify and apply it and the
3269
+ # state of its delivery to the customer's own bucket or repository.
3270
+ #
3271
+ # @!attribute [rw] patch
3272
+ # The patch exactly as stored, unmodified. Control Plane accepted it
3273
+ # only as a text unified diff, so `git apply` applies it.
3274
+ # @return [String]
3275
+ #
3276
+ # @!attribute [rw] format
3277
+ # The patch's wire format, read from the patch itself, which
3278
+ # determines how to apply it. Absent when the patch starts with
3279
+ # neither a git mailbox header nor a `diff --git` header.
3280
+ # @return [String]
3281
+ #
3282
+ # @!attribute [rw] repository_name
3283
+ # The repository the patch applies to, as named in the source snapshot
3284
+ # it was generated against.
3285
+ # @return [String]
3286
+ #
3287
+ # @!attribute [rw] patch_sha_256
3288
+ # SHA-256 of the patch's UTF-8 bytes in lowercase hex, computed by
3289
+ # Control Plane when it stored the patch.
3290
+ #
3291
+ # Lets a caller confirm the patch it applies is byte-for-byte the one
3292
+ # that was reviewed. Computed over the patch bytes, so it is
3293
+ # verifiable against `patch` without trusting this value.
3294
+ # @return [String]
3295
+ #
3296
+ # @!attribute [rw] size_bytes
3297
+ # Size of the patch in UTF-8 bytes, the unit the digest is computed
3298
+ # over.
3299
+ # @return [Integer]
3300
+ #
3301
+ # @!attribute [rw] delivery
3302
+ # Delivery of the patch to the customer's bucket or repository.
3303
+ # Absent when the artifact has no delivery destination.
3304
+ # @return [Types::PatchDelivery]
3305
+ #
3306
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/PatchBody AWS API Documentation
3307
+ #
3308
+ class PatchBody < Struct.new(
3309
+ :patch,
3310
+ :format,
3311
+ :repository_name,
3312
+ :patch_sha_256,
3313
+ :size_bytes,
3314
+ :delivery)
3315
+ SENSITIVE = []
3316
+ include Aws::Structure
3317
+ end
3318
+
3319
+ # Delivery of a patch to a destination the customer owns: an object in
3320
+ # the environment's source bucket or a pull request in the source
3321
+ # repository.
3322
+ #
3323
+ # @!attribute [rw] status
3324
+ # How far delivery to the destination has progressed.
3325
+ # @return [String]
3326
+ #
3327
+ # @!attribute [rw] target
3328
+ # Where the patch was or will be delivered. Absent while the
3329
+ # destination is still being resolved, or when delivery was skipped
3330
+ # before a destination was known.
3331
+ # @return [Types::DestinationTarget]
3332
+ #
3333
+ # @!attribute [rw] updated_at
3334
+ # When the delivery status last changed.
3335
+ # @return [Time]
3336
+ #
3337
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/PatchDelivery AWS API Documentation
3338
+ #
3339
+ class PatchDelivery < Struct.new(
3340
+ :status,
3341
+ :target,
3342
+ :updated_at)
3343
+ SENSITIVE = []
3344
+ include Aws::Structure
3345
+ end
3346
+
3347
+ # Validation's result for one finding within a multi-finding bundle.
3348
+ #
3349
+ # @!attribute [rw] finding_id
3350
+ # The finding assessed.
3351
+ # @return [String]
3352
+ #
3353
+ # @!attribute [rw] exploitable
3354
+ # Exploitability verdict for this finding.
3355
+ # @return [String]
3356
+ #
3357
+ # @!attribute [rw] confidence
3358
+ # Confidence in this finding's verdict. Absent when out of range.
3359
+ # @return [Float]
3360
+ #
3361
+ # @!attribute [rw] flow_verdicts
3362
+ # Per-flow verdicts recorded for this finding.
3363
+ # @return [Array<Types::FlowVerdict>]
3364
+ #
3365
+ # @!attribute [rw] reasoning_chain
3366
+ # Reasoning chain recorded for this finding.
3367
+ # @return [Array<Types::ReasoningStep>]
3368
+ #
3369
+ # @!attribute [rw] exploit_artifact
3370
+ # Exploit artifact produced for this finding, when there was one.
3371
+ # @return [Types::ValidationExploitArtifact]
3372
+ #
3373
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/PerFindingResult AWS API Documentation
3374
+ #
3375
+ class PerFindingResult < Struct.new(
3376
+ :finding_id,
3377
+ :exploitable,
3378
+ :confidence,
3379
+ :flow_verdicts,
3380
+ :reasoning_chain,
3381
+ :exploit_artifact)
3382
+ SENSITIVE = []
3383
+ include Aws::Structure
3384
+ end
3385
+
3386
+ # One producer's conclusion about one subject on one scoring dimension.
3387
+ #
3388
+ # @!attribute [rw] subject_ref
3389
+ # What this signal is about, such as a finding or issue reference.
3390
+ # @return [String]
3391
+ #
3392
+ # @!attribute [rw] dimension
3393
+ # The axis this signal speaks to. Absent when the producer reported a
3394
+ # dimension with no mapping yet.
3395
+ # @return [String]
3396
+ #
3397
+ # @!attribute [rw] signal_strength
3398
+ # The signal's own rating. This is an input to scoring and is NOT the
3399
+ # finding's severity.
3400
+ # @return [String]
3401
+ #
3402
+ # @!attribute [rw] conclusion
3403
+ # The producer's conclusion.
3404
+ # @return [String]
3405
+ #
3406
+ # @!attribute [rw] producer_id
3407
+ # Stable name of the producer that emitted this signal.
3408
+ # @return [String]
3409
+ #
3410
+ # @!attribute [rw] producer_version
3411
+ # Version of that producer.
3412
+ # @return [String]
3413
+ #
3414
+ # @!attribute [rw] confidence
3415
+ # The producer's confidence in this conclusion, on its native 0-1
3416
+ # scale. Absent when the stored value falls outside 0-1.
3417
+ # @return [Float]
3418
+ #
3419
+ # @!attribute [rw] confidence_reasoning
3420
+ # Why the producer is or is not sure, kept structured rather than
3421
+ # prose.
3422
+ # @return [Types::SignalConfidenceReasoning]
3423
+ #
3424
+ # @!attribute [rw] computed
3425
+ # The deterministic values the producer computed from its assessment.
3426
+ # @return [Types::SignalComputation]
3427
+ #
3428
+ # @!attribute [rw] preconditions
3429
+ # The four exploit preconditions a likelihood signal assessed, each
3430
+ # with the basis the producer had for it.
3431
+ # @return [Types::SignalPreconditions]
3432
+ #
3433
+ # @!attribute [rw] impact_dimensions
3434
+ # The three impact dimensions an impact signal assessed, each with the
3435
+ # basis the producer had for it. These are what the computed impact
3436
+ # band is derived from.
3437
+ # @return [Types::SignalImpactDimensions]
3438
+ #
3439
+ # @!attribute [rw] exploitability
3440
+ # What validation established about exploitability, on an
3441
+ # exploitability signal. This summarizes the verdict the signal was
3442
+ # derived from; the proof itself is the VALIDATION\_EVIDENCE artifact
3443
+ # it cites.
3444
+ # @return [Types::SignalExploitability]
3445
+ #
3446
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/PrevalidationSignal AWS API Documentation
3447
+ #
3448
+ class PrevalidationSignal < Struct.new(
3449
+ :subject_ref,
3450
+ :dimension,
3451
+ :signal_strength,
3452
+ :conclusion,
3453
+ :producer_id,
3454
+ :producer_version,
3455
+ :confidence,
3456
+ :confidence_reasoning,
3457
+ :computed,
3458
+ :preconditions,
3459
+ :impact_dimensions,
3460
+ :exploitability)
3461
+ SENSITIVE = []
3462
+ include Aws::Structure
3463
+ end
3464
+
3465
+ # Projected content for an EVIDENCE artifact carrying prioritization's
3466
+ # prevalidation signals.
3467
+ #
3468
+ # @!attribute [rw] produced_by
3469
+ # The agent that produced this signal set.
3470
+ # @return [String]
3471
+ #
3472
+ # @!attribute [rw] signals
3473
+ # The signals backing the Issue's proposed severity.
3474
+ # @return [Array<Types::PrevalidationSignal>]
3475
+ #
3476
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/PrevalidationSignalsBody AWS API Documentation
3477
+ #
3478
+ class PrevalidationSignalsBody < Struct.new(
3479
+ :produced_by,
3480
+ :signals)
3481
+ SENSITIVE = []
3482
+ include Aws::Structure
3483
+ end
3484
+
3485
+ # Provider-specific configuration for creating an integration. Only one
3486
+ # member may be specified.
3487
+ #
3488
+ # @note ProviderConfiguration is a union - when making an API calls you must set exactly one of the members.
3489
+ #
3490
+ # @!attribute [rw] github
3491
+ # Configuration for a GitHub.com integration.
3492
+ # @return [Types::GitHubConfiguration]
3493
+ #
3494
+ # @!attribute [rw] gitlab
3495
+ # Configuration for a GitLab integration.
3496
+ # @return [Types::GitLabConfiguration]
3497
+ #
3498
+ # @!attribute [rw] s3
3499
+ # Configuration for a customer-managed S3 integration.
3500
+ # @return [Types::S3Configuration]
3501
+ #
3502
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/ProviderConfiguration AWS API Documentation
3503
+ #
3504
+ class ProviderConfiguration < Struct.new(
3505
+ :github,
3506
+ :gitlab,
3507
+ :s3,
3508
+ :unknown)
3509
+ SENSITIVE = []
3510
+ include Aws::Structure
3511
+ include Aws::Structure::Union
3512
+
3513
+ class Github < ProviderConfiguration; end
3514
+ class Gitlab < ProviderConfiguration; end
3515
+ class S3 < ProviderConfiguration; end
3516
+ class Unknown < ProviderConfiguration; end
3517
+ end
3518
+
3519
+ # Provider-specific details for an integration. Only one member will be
3520
+ # present.
3521
+ #
3522
+ # @note ProviderDetails is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of ProviderDetails corresponding to the set member.
3523
+ #
3524
+ # @!attribute [rw] github
3525
+ # Details for a GitHub.com integration.
3526
+ # @return [Types::GitHubDetails]
3527
+ #
3528
+ # @!attribute [rw] gitlab
3529
+ # Details for a GitLab integration.
3530
+ # @return [Types::GitLabDetails]
3531
+ #
3532
+ # @!attribute [rw] s3
3533
+ # Public details for a customer-managed S3 integration.
3534
+ # @return [Types::S3Details]
3535
+ #
3536
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/ProviderDetails AWS API Documentation
3537
+ #
3538
+ class ProviderDetails < Struct.new(
3539
+ :github,
3540
+ :gitlab,
3541
+ :s3,
3542
+ :unknown)
3543
+ SENSITIVE = []
3544
+ include Aws::Structure
3545
+ include Aws::Structure::Union
3546
+
3547
+ class Github < ProviderDetails; end
3548
+ class Gitlab < ProviderDetails; end
3549
+ class S3 < ProviderDetails; end
3550
+ class Unknown < ProviderDetails; end
3551
+ end
3552
+
3553
+ # Specifies the resource and its new policy.
3554
+ #
3555
+ # @!attribute [rw] arn
3556
+ # The ARN of a resource in the caller's account.
3557
+ # @return [String]
3558
+ #
3559
+ # @!attribute [rw] policy
3560
+ # Omit or supply an empty Statement array to clear resource-policy
3561
+ # grants and store the canonical empty-statement policy. Cross-account
3562
+ # access is denied; same-account access remains subject to identity
3563
+ # policies. Use an explicit Deny statement to deny same-account
3564
+ # principals too.
3565
+ # @return [String]
3566
+ #
3567
+ # @!attribute [rw] expected_revision_id
3568
+ # Optional optimistic-concurrency token for the currently observed
3569
+ # policy.
3570
+ # @return [String]
3571
+ #
3572
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/PutResourcePolicyInput AWS API Documentation
3573
+ #
3574
+ class PutResourcePolicyInput < Struct.new(
3575
+ :arn,
3576
+ :policy,
3577
+ :expected_revision_id)
3578
+ SENSITIVE = [:policy]
3579
+ include Aws::Structure
3580
+ end
3581
+
3582
+ # Contains the stored resource policy.
3583
+ #
3584
+ # @!attribute [rw] arn
3585
+ # The ARN of a Continuum resource that supports a resource policy.
3586
+ # Collectors are the only supported resource type; other well-formed
3587
+ # Continuum ARNs are rejected with ValidationException.
3588
+ # @return [String]
3589
+ #
3590
+ # @!attribute [rw] policy
3591
+ # A resource policy in displayable JSON form.
3592
+ # @return [String]
3593
+ #
3594
+ # @!attribute [rw] revision_id
3595
+ # Opaque optimistic-concurrency token for a resource policy.
3596
+ # @return [String]
3597
+ #
3598
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/PutResourcePolicyOutput AWS API Documentation
3599
+ #
3600
+ class PutResourcePolicyOutput < Struct.new(
3601
+ :arn,
3602
+ :policy,
3603
+ :revision_id)
3604
+ SENSITIVE = [:policy]
3605
+ include Aws::Structure
3606
+ end
3607
+
3608
+ # One step in the validation agent's reasoning chain.
3609
+ #
3610
+ # @!attribute [rw] step
3611
+ # Position of this step in the chain.
3612
+ # @return [Integer]
3613
+ #
3614
+ # @!attribute [rw] claim
3615
+ # The claim or conclusion reached at this step.
3616
+ # @return [String]
3617
+ #
3618
+ # @!attribute [rw] source
3619
+ # Citation supporting the claim.
3620
+ # @return [String]
3621
+ #
3622
+ # @!attribute [rw] confidence
3623
+ # Confidence in this individual claim, on the producer's native 0-1
3624
+ # scale.
3625
+ # @return [Float]
3626
+ #
3627
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/ReasoningStep AWS API Documentation
3628
+ #
3629
+ class ReasoningStep < Struct.new(
3630
+ :step,
3631
+ :claim,
3632
+ :source,
3633
+ :confidence)
3634
+ SENSITIVE = []
3635
+ include Aws::Structure
3636
+ end
3637
+
3638
+ # Projected content for a REMEDIATION\_PROPOSAL artifact: the patch the
3639
+ # remediation agent produced, with the descriptors needed to apply and
3640
+ # verify it.
3641
+ #
3642
+ # @!attribute [rw] patch
3643
+ # The patch exactly as the remediation agent produced it, unmodified.
3644
+ # @return [String]
3645
+ #
3646
+ # @!attribute [rw] format
3647
+ # The patch's wire format, which determines how to apply it. Absent
3648
+ # when the producer recorded a format with no mapping yet.
3649
+ # @return [String]
3650
+ #
3651
+ # @!attribute [rw] filename
3652
+ # Filename the producer suggests for the patch, when it named one.
3653
+ # @return [String]
3654
+ #
3655
+ # @!attribute [rw] patch_sha_256
3656
+ # SHA-256 of the patch bytes in lowercase hex, as recorded by the
3657
+ # producer.
3658
+ #
3659
+ # Lets a caller confirm the patch it applies is byte-for-byte the one
3660
+ # that was reviewed. Computed over the patch bytes, so it is
3661
+ # verifiable against `patch` without trusting this value.
3662
+ # @return [String]
3663
+ #
3664
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/RemediationProposalBody AWS API Documentation
3665
+ #
3666
+ class RemediationProposalBody < Struct.new(
3667
+ :patch,
3668
+ :format,
3669
+ :filename,
3670
+ :patch_sha_256)
3671
+ SENSITIVE = []
3672
+ include Aws::Structure
3673
+ end
3674
+
3675
+ # Empty marker selecting removal in KubernetesClusterRoleUpdate.
3676
+ #
3677
+ # @api private
3678
+ #
3679
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/RemoveKubernetesClusterRole AWS API Documentation
3680
+ #
3681
+ class RemoveKubernetesClusterRole < Aws::EmptyStructure; end
3682
+
3683
+ # The specified resource was not found. Verify that the resource
3684
+ # identifier is correct and that the resource exists.
3685
+ #
3686
+ # @!attribute [rw] message
3687
+ # Description of the resource that was not found.
3688
+ # @return [String]
3689
+ #
3690
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/ResourceNotFoundException AWS API Documentation
3691
+ #
3692
+ class ResourceNotFoundException < Struct.new(
3693
+ :message)
3694
+ SENSITIVE = []
3695
+ include Aws::Structure
3696
+ end
3697
+
3698
+ # Configuration for a customer-managed S3 integration.
3699
+ #
3700
+ # @!attribute [rw] bucket
3701
+ # Customer-managed source bucket name.
3702
+ # @return [String]
3703
+ #
3704
+ # @!attribute [rw] role_arn
3705
+ # Role Continuum will assume to read from the source bucket.
3706
+ # @return [String]
3707
+ #
3708
+ # @!attribute [rw] external_id
3709
+ # Caller-provided external ID required by the role trust policy.
3710
+ # @return [String]
3711
+ #
3712
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/S3Configuration AWS API Documentation
3713
+ #
3714
+ class S3Configuration < Struct.new(
3715
+ :bucket,
3716
+ :role_arn,
3717
+ :external_id)
3718
+ SENSITIVE = [:external_id]
3719
+ include Aws::Structure
3720
+ end
3721
+
3722
+ # Public details for a customer-managed S3 integration. The sensitive
3723
+ # external ID is intentionally omitted.
3724
+ #
3725
+ # @!attribute [rw] bucket
3726
+ # Customer-managed S3 bucket name.
3727
+ # @return [String]
3728
+ #
3729
+ # @!attribute [rw] role_arn
3730
+ # IAM role assumed by Continuum to read a customer-managed S3
3731
+ # integration.
3732
+ # @return [String]
3733
+ #
3734
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/S3Details AWS API Documentation
3735
+ #
3736
+ class S3Details < Struct.new(
3737
+ :bucket,
3738
+ :role_arn)
3739
+ SENSITIVE = []
3740
+ include Aws::Structure
3741
+ end
3742
+
3743
+ # The S3 object a patch is delivered to.
3744
+ #
3745
+ # @!attribute [rw] bucket
3746
+ # Customer-managed S3 bucket name.
3747
+ # @return [String]
3748
+ #
3749
+ # @!attribute [rw] key
3750
+ # The object key of the delivered patch.
3751
+ # @return [String]
3752
+ #
3753
+ # @!attribute [rw] version
3754
+ # The S3 version ID of the delivered object, when the bucket is
3755
+ # versioned.
3756
+ # @return [String]
3757
+ #
3758
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/S3Target AWS API Documentation
3759
+ #
3760
+ class S3Target < Struct.new(
3761
+ :bucket,
3762
+ :key,
3763
+ :version)
3764
+ SENSITIVE = []
3765
+ include Aws::Structure
3766
+ end
3767
+
3768
+ # The request would exceed a service quota. Review your quota and
3769
+ # request an increase if needed.
3770
+ #
3771
+ # @!attribute [rw] message
3772
+ # Description of the quota that was exceeded.
3773
+ # @return [String]
3774
+ #
3775
+ # @!attribute [rw] quota_code
3776
+ # The quota code for the exceeded limit.
3777
+ # @return [String]
3778
+ #
3779
+ # @!attribute [rw] service_code
3780
+ # The service code for the exceeded limit.
3781
+ # @return [String]
3782
+ #
3783
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/ServiceQuotaExceededException AWS API Documentation
3784
+ #
3785
+ class ServiceQuotaExceededException < Struct.new(
3786
+ :message,
3787
+ :quota_code,
3788
+ :service_code)
3789
+ SENSITIVE = []
3790
+ include Aws::Structure
3791
+ end
3792
+
3793
+ # The assessed access-level precondition with the basis behind it.
3794
+ #
3795
+ # @!attribute [rw] value
3796
+ # The level of access exploitation requires. Absent when the producer
3797
+ # reported a level with no mapping yet.
3798
+ # @return [String]
3799
+ #
3800
+ # @!attribute [rw] basis
3801
+ # Where the producer's determination came from.
3802
+ # @return [String]
3803
+ #
3804
+ # @!attribute [rw] reason
3805
+ # The producer's explanation.
3806
+ # @return [String]
3807
+ #
3808
+ # @!attribute [rw] missing_info
3809
+ # What the producer could not determine, when anything was missing.
3810
+ # @return [String]
3811
+ #
3812
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/SignalAccessPrecondition AWS API Documentation
3813
+ #
3814
+ class SignalAccessPrecondition < Struct.new(
3815
+ :value,
3816
+ :basis,
3817
+ :reason,
3818
+ :missing_info)
3819
+ SENSITIVE = []
3820
+ include Aws::Structure
3821
+ end
3822
+
3823
+ # The assessed attacker-gains dimension with the basis behind it.
3824
+ #
3825
+ # @!attribute [rw] value
3826
+ # The capability exploitation grants. Absent when the producer
3827
+ # reported a value with no mapping yet.
3828
+ # @return [String]
3829
+ #
3830
+ # @!attribute [rw] basis
3831
+ # Where the producer's determination came from.
3832
+ # @return [String]
3833
+ #
3834
+ # @!attribute [rw] reason
3835
+ # The producer's explanation.
3836
+ # @return [String]
3837
+ #
3838
+ # @!attribute [rw] missing_info
3839
+ # What the producer could not determine, when anything was missing.
3840
+ # @return [String]
3841
+ #
3842
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/SignalAttackerGainsDimension AWS API Documentation
3843
+ #
3844
+ class SignalAttackerGainsDimension < Struct.new(
3845
+ :value,
3846
+ :basis,
3847
+ :reason,
3848
+ :missing_info)
3849
+ SENSITIVE = []
3850
+ include Aws::Structure
3851
+ end
3852
+
3853
+ # The assessed blast-radius dimension with the basis behind it.
3854
+ #
3855
+ # @!attribute [rw] value
3856
+ # How far the consequences reach. Absent when the producer reported a
3857
+ # value with no mapping yet.
3858
+ # @return [String]
3859
+ #
3860
+ # @!attribute [rw] basis
3861
+ # Where the producer's determination came from.
3862
+ # @return [String]
3863
+ #
3864
+ # @!attribute [rw] reason
3865
+ # The producer's explanation.
3866
+ # @return [String]
3867
+ #
3868
+ # @!attribute [rw] missing_info
3869
+ # What the producer could not determine, when anything was missing.
3870
+ # @return [String]
3871
+ #
3872
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/SignalBlastRadiusDimension AWS API Documentation
3873
+ #
3874
+ class SignalBlastRadiusDimension < Struct.new(
3875
+ :value,
3876
+ :basis,
3877
+ :reason,
3878
+ :missing_info)
3879
+ SENSITIVE = []
3880
+ include Aws::Structure
3881
+ end
3882
+
3883
+ # Deterministic values the producer computed from its assessment, as
3884
+ # distinct from the assessment itself.
3885
+ #
3886
+ # @!attribute [rw] likelihood_band
3887
+ # Computed likelihood band, on a likelihood signal.
3888
+ # @return [String]
3889
+ #
3890
+ # @!attribute [rw] impact_band
3891
+ # Computed impact band, on an impact signal.
3892
+ # @return [String]
3893
+ #
3894
+ # @!attribute [rw] barriers
3895
+ # How many of the four exploit preconditions act as barriers (0-4).
3896
+ # @return [Integer]
3897
+ #
3898
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/SignalComputation AWS API Documentation
3899
+ #
3900
+ class SignalComputation < Struct.new(
3901
+ :likelihood_band,
3902
+ :impact_band,
3903
+ :barriers)
3904
+ SENSITIVE = []
3905
+ include Aws::Structure
3906
+ end
3907
+
3908
+ # A producer's structured rationale for a signal's confidence.
3909
+ #
3910
+ # @!attribute [rw] summary
3911
+ # One-line rationale.
3912
+ # @return [String]
3913
+ #
3914
+ # @!attribute [rw] factors
3915
+ # The individual factors behind it.
3916
+ # @return [Array<String>]
3917
+ #
3918
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/SignalConfidenceReasoning AWS API Documentation
3919
+ #
3920
+ class SignalConfidenceReasoning < Struct.new(
3921
+ :summary,
3922
+ :factors)
3923
+ SENSITIVE = []
3924
+ include Aws::Structure
3925
+ end
3926
+
3927
+ # What validation established about exploitability, as summarized onto
3928
+ # the scoring signal derived from it.
3929
+ #
3930
+ # @!attribute [rw] verdict
3931
+ # Validation's verdict. `UNCERTAIN` covers a run that was
3932
+ # inconclusive — out of budget, an ambiguous failure, or no decisive
3933
+ # layer reached — and is never a refutation.
3934
+ # @return [String]
3935
+ #
3936
+ # @!attribute [rw] reached_crown_jewels
3937
+ # Whether validation reached the high-value sink the attack path
3938
+ # posited.
3939
+ #
3940
+ # A Boolean rather than an enum: the sink was either reached or it was
3941
+ # not, and how far the walk got when it was not is already carried,
3942
+ # with more precision, by `highestLayerReached`. An unknown is the
3943
+ # absent member.
3944
+ # @return [Boolean]
3945
+ #
3946
+ # @!attribute [rw] highest_layer_reached
3947
+ # The highest impact layer validation reached, 1-5, as a measure of
3948
+ # how far the attack path was walked.
3949
+ # @return [Integer]
3950
+ #
3951
+ # @!attribute [rw] confidence_tier
3952
+ # How strong the evidence behind the verdict is.
3953
+ # @return [String]
3954
+ #
3955
+ # @!attribute [rw] scriptable
3956
+ # Whether the proven exploit is automatable rather than one-off.
3957
+ #
3958
+ # A Boolean for the same reason as `SignalPrecondition.value`:
3959
+ # validation records a bool, and an unknown is the absent member.
3960
+ # @return [Boolean]
3961
+ #
3962
+ # @!attribute [rw] source_validation_artifact_id
3963
+ # The VALIDATION\_EVIDENCE artifact on this same issue holding the
3964
+ # proof this verdict summarizes. Fetch it with GetCodeIssueArtifact
3965
+ # for the full reasoning chain and exploit artifact.
3966
+ # @return [String]
3967
+ #
3968
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/SignalExploitability AWS API Documentation
3969
+ #
3970
+ class SignalExploitability < Struct.new(
3971
+ :verdict,
3972
+ :reached_crown_jewels,
3973
+ :highest_layer_reached,
3974
+ :confidence_tier,
3975
+ :scriptable,
3976
+ :source_validation_artifact_id)
3977
+ SENSITIVE = []
3978
+ include Aws::Structure
3979
+ end
3980
+
3981
+ # The three impact dimensions an impact signal assessed. The computed
3982
+ # impact band is derived from attackerGains and blastRadius, then
3983
+ # shifted by targetValue.
3984
+ #
3985
+ # @!attribute [rw] attacker_gains
3986
+ # What the attacker gains from exploitation.
3987
+ # @return [Types::SignalAttackerGainsDimension]
3988
+ #
3989
+ # @!attribute [rw] blast_radius
3990
+ # How far the consequences reach.
3991
+ # @return [Types::SignalBlastRadiusDimension]
3992
+ #
3993
+ # @!attribute [rw] target_value
3994
+ # How valuable the target is, which can shift the band off its base
3995
+ # value.
3996
+ # @return [Types::SignalTargetValueDimension]
3997
+ #
3998
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/SignalImpactDimensions AWS API Documentation
3999
+ #
4000
+ class SignalImpactDimensions < Struct.new(
4001
+ :attacker_gains,
4002
+ :blast_radius,
4003
+ :target_value)
4004
+ SENSITIVE = []
4005
+ include Aws::Structure
4006
+ end
4007
+
4008
+ # One assessed precondition with the basis behind it.
4009
+ #
4010
+ # @!attribute [rw] value
4011
+ # The producer's determination.
4012
+ #
4013
+ # A Boolean rather than an enum, against the Common Terms preference
4014
+ # for enums on extensibility grounds. The question each precondition
4015
+ # answers is closed — is the code reachable, is configuration
4016
+ # required, must a user other than the attacker interact — and the
4017
+ # only third state, "not determined", is already expressed by omitting
4018
+ # this member, which the projection does whenever the stored value is
4019
+ # not a bool. An enum would give two ways to say the same thing, while
4020
+ # `basis` and `missingInfo` already qualify how firm the answer is.
4021
+ # @return [Boolean]
4022
+ #
4023
+ # @!attribute [rw] basis
4024
+ # Where the producer's determination came from.
4025
+ # @return [String]
4026
+ #
4027
+ # @!attribute [rw] reason
4028
+ # The producer's explanation.
4029
+ # @return [String]
4030
+ #
4031
+ # @!attribute [rw] missing_info
4032
+ # What the producer could not determine, when anything was missing.
4033
+ # @return [String]
4034
+ #
4035
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/SignalPrecondition AWS API Documentation
4036
+ #
4037
+ class SignalPrecondition < Struct.new(
4038
+ :value,
4039
+ :basis,
4040
+ :reason,
4041
+ :missing_info)
4042
+ SENSITIVE = []
4043
+ include Aws::Structure
4044
+ end
4045
+
4046
+ # The four preconditions a likelihood signal assessed.
4047
+ #
4048
+ # @!attribute [rw] reachable_from_attacker
4049
+ # Whether the vulnerable code path is reachable by an attacker.
4050
+ # @return [Types::SignalPrecondition]
4051
+ #
4052
+ # @!attribute [rw] configuration_needed
4053
+ # Whether exploitation depends on a non-default configuration.
4054
+ # @return [Types::SignalPrecondition]
4055
+ #
4056
+ # @!attribute [rw] access_level
4057
+ # What level of access exploitation requires.
4058
+ # @return [Types::SignalAccessPrecondition]
4059
+ #
4060
+ # @!attribute [rw] user_interaction_required
4061
+ # Whether exploitation requires a user other than the attacker to take
4062
+ # part, for example by opening a link or a file (CVSS User
4063
+ # Interaction).
4064
+ # @return [Types::SignalPrecondition]
4065
+ #
4066
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/SignalPreconditions AWS API Documentation
4067
+ #
4068
+ class SignalPreconditions < Struct.new(
4069
+ :reachable_from_attacker,
4070
+ :configuration_needed,
4071
+ :access_level,
4072
+ :user_interaction_required)
4073
+ SENSITIVE = []
4074
+ include Aws::Structure
4075
+ end
4076
+
4077
+ # The assessed target-value dimension with the basis behind it.
4078
+ #
4079
+ # @!attribute [rw] value
4080
+ # How valuable the target is. Absent when the producer reported a
4081
+ # value with no mapping yet.
4082
+ # @return [String]
4083
+ #
4084
+ # @!attribute [rw] basis
4085
+ # Where the producer's determination came from.
4086
+ # @return [String]
4087
+ #
4088
+ # @!attribute [rw] reason
4089
+ # The producer's explanation.
4090
+ # @return [String]
4091
+ #
4092
+ # @!attribute [rw] missing_info
4093
+ # What the producer could not determine, when anything was missing.
4094
+ # @return [String]
4095
+ #
4096
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/SignalTargetValueDimension AWS API Documentation
4097
+ #
4098
+ class SignalTargetValueDimension < Struct.new(
4099
+ :value,
4100
+ :basis,
4101
+ :reason,
4102
+ :missing_info)
4103
+ SENSITIVE = []
4104
+ include Aws::Structure
4105
+ end
4106
+
4107
+ # Specifies the provider to authorize and, optionally, the name the new
4108
+ # integration will use.
4109
+ #
4110
+ # @!attribute [rw] provider_type
4111
+ # The provider to authorize. Only GITHUB is supported.
4112
+ # @return [String]
4113
+ #
4114
+ # @!attribute [rw] name
4115
+ # The name the integration will be created with. When specified, the
4116
+ # request fails with ConflictException if an integration with this
4117
+ # name already exists in the account, before the caller leaves for the
4118
+ # provider. The name is only checked: it is not reserved, stored, or
4119
+ # authorized. CreateIntegration requires its own name, checks it
4120
+ # again, and may use a different one.
4121
+ # @return [String]
4122
+ #
4123
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/StartIntegrationAuthorizationInput AWS API Documentation
4124
+ #
4125
+ class StartIntegrationAuthorizationInput < Struct.new(
4126
+ :provider_type,
4127
+ :name)
4128
+ SENSITIVE = []
4129
+ include Aws::Structure
4130
+ end
4131
+
4132
+ # Contains the values to send to the provider's authorization endpoint.
4133
+ #
4134
+ # @!attribute [rw] state
4135
+ # An opaque value to send as the OAuth `state` parameter. Pass the
4136
+ # value the provider returns in its callback to CreateIntegration as
4137
+ # `authorization.state`.
4138
+ # @return [String]
4139
+ #
4140
+ # @!attribute [rw] code_challenge
4141
+ # The PKCE code challenge to send as the OAuth `code_challenge`
4142
+ # parameter.
4143
+ # @return [String]
4144
+ #
4145
+ # @!attribute [rw] code_challenge_method
4146
+ # The PKCE challenge method to send as the OAuth
4147
+ # `code_challenge_method` parameter.
4148
+ # @return [String]
4149
+ #
4150
+ # @!attribute [rw] expires_at
4151
+ # The time after which CreateIntegration no longer accepts this
4152
+ # authorization.
4153
+ # @return [Time]
4154
+ #
4155
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/StartIntegrationAuthorizationOutput AWS API Documentation
4156
+ #
4157
+ class StartIntegrationAuthorizationOutput < Struct.new(
4158
+ :state,
4159
+ :code_challenge,
4160
+ :code_challenge_method,
4161
+ :expires_at)
4162
+ SENSITIVE = [:state]
4163
+ include Aws::Structure
4164
+ end
4165
+
4166
+ # The request was denied due to request throttling.
4167
+ #
4168
+ # @!attribute [rw] message
4169
+ # Description of the throttling error.
4170
+ # @return [String]
4171
+ #
4172
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/ThrottlingException AWS API Documentation
4173
+ #
4174
+ class ThrottlingException < Struct.new(
4175
+ :message)
4176
+ SENSITIVE = []
4177
+ include Aws::Structure
4178
+ end
4179
+
4180
+ # Mutable source and operating-policy settings for a code environment.
4181
+ #
4182
+ # @!attribute [rw] source_configuration
4183
+ # Source changes. s3Sources replaces the environment's S3 source, and
4184
+ # repositorySources replaces its repository selections.
4185
+ # @return [Types::EnvironmentSourceConfiguration]
4186
+ #
4187
+ # @!attribute [rw] environment_configuration
4188
+ # Operating-policy changes. network replaces the environment's
4189
+ # network policy; a network without allowedDomains allows no domains.
4190
+ # Builds accepted before the change keep the domains they were
4191
+ # accepted with. patchCreationPolicy replaces the patch creation
4192
+ # policy. scanFrequency updates scan cadence. Omitted members preserve
4193
+ # their stored values.
4194
+ # @return [Types::EnvironmentConfiguration]
4195
+ #
4196
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/UpdateCodeConfiguration AWS API Documentation
4197
+ #
4198
+ class UpdateCodeConfiguration < Struct.new(
4199
+ :source_configuration,
4200
+ :environment_configuration)
4201
+ SENSITIVE = []
4202
+ include Aws::Structure
4203
+ end
4204
+
4205
+ # Specifies the mutable Collector properties. At least one property must
4206
+ # be supplied. k8ClusterRole models an atomic set-or-remove mutation, so
4207
+ # roleArn and externalId are replaced or removed together.
4208
+ #
4209
+ # @!attribute [rw] collector_id
4210
+ # The unique identifier of the Collector to update.
4211
+ # @return [String]
4212
+ #
4213
+ # @!attribute [rw] name
4214
+ # The new customer-visible name.
4215
+ # @return [String]
4216
+ #
4217
+ # @!attribute [rw] kubernetes_cluster_role
4218
+ # Atomic update to the IAM role configuration used to collect
4219
+ # Kubernetes cluster metadata. The set variant requires a complete
4220
+ # configuration; the authenticated caller must be allowed to pass its
4221
+ # exact roleArn to Continuum. The remove variant clears both the role
4222
+ # and external ID.
4223
+ # @return [Types::KubernetesClusterRoleUpdate]
4224
+ #
4225
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/UpdateCollectorInput AWS API Documentation
4226
+ #
4227
+ class UpdateCollectorInput < Struct.new(
4228
+ :collector_id,
4229
+ :name,
4230
+ :kubernetes_cluster_role)
4231
+ SENSITIVE = []
4232
+ include Aws::Structure
4233
+ end
4234
+
4235
+ # Contains the current state of the updated Collector.
4236
+ #
4237
+ # @!attribute [rw] collector_id
4238
+ # The unique identifier of the updated Collector.
4239
+ # @return [String]
4240
+ #
4241
+ # @!attribute [rw] collector_arn
4242
+ # The ARN of the updated Collector.
4243
+ # @return [String]
4244
+ #
4245
+ # @!attribute [rw] type
4246
+ # The source collected by this Collector.
4247
+ # @return [String]
4248
+ #
4249
+ # @!attribute [rw] status
4250
+ # The current lifecycle status.
4251
+ # @return [String]
4252
+ #
4253
+ # @!attribute [rw] config_recorder_arn
4254
+ # The ARN of the provisioned AWS Config Recorder.
4255
+ # @return [String]
4256
+ #
4257
+ # @!attribute [rw] kubernetes_cluster_role_arn
4258
+ # IAM role used to collect Kubernetes cluster metadata.
4259
+ # @return [String]
4260
+ #
4261
+ # @!attribute [rw] created_at
4262
+ # The timestamp when the Collector was created.
4263
+ # @return [Time]
4264
+ #
4265
+ # @!attribute [rw] updated_at
4266
+ # The time of the last successful UpdateCollector call, returned at
4267
+ # whole-second precision in the same date-time format as createdAt.
4268
+ # @return [Time]
4269
+ #
4270
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/UpdateCollectorOutput AWS API Documentation
4271
+ #
4272
+ class UpdateCollectorOutput < Struct.new(
4273
+ :collector_id,
4274
+ :collector_arn,
4275
+ :type,
4276
+ :status,
4277
+ :config_recorder_arn,
4278
+ :kubernetes_cluster_role_arn,
4279
+ :created_at,
4280
+ :updated_at)
4281
+ SENSITIVE = []
4282
+ include Aws::Structure
4283
+ end
4284
+
4285
+ # Type-specific changes to an environment. Omitted members preserve
4286
+ # stored values.
4287
+ #
4288
+ # @!attribute [rw] code_configuration
4289
+ # Changes to a code-scanning environment.
4290
+ # @return [Types::UpdateCodeConfiguration]
4291
+ #
4292
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/UpdateEnvironmentConfiguration AWS API Documentation
4293
+ #
4294
+ class UpdateEnvironmentConfiguration < Struct.new(
4295
+ :code_configuration)
4296
+ SENSITIVE = []
4297
+ include Aws::Structure
4298
+ end
4299
+
4300
+ # Specifies the mutable environment properties. Supply a name or a
4301
+ # change under configuration.codeConfiguration. Its
4302
+ # sourceConfiguration.s3Sources and
4303
+ # sourceConfiguration.repositorySources replace the S3 source and
4304
+ # repository selections. Its environmentConfiguration has patch
4305
+ # semantics: omitted members preserve stored values, scanFrequency
4306
+ # updates scan cadence, and network and patchCreationPolicy replace the
4307
+ # corresponding policies.
4308
+ #
4309
+ # @!attribute [rw] environment_id
4310
+ # The unique identifier of the environment to update.
4311
+ # @return [String]
4312
+ #
4313
+ # @!attribute [rw] name
4314
+ # The new customer-visible name.
4315
+ # @return [String]
4316
+ #
4317
+ # @!attribute [rw] configuration
4318
+ # Type-specific configuration changes. Omission preserves the
4319
+ # configuration.
4320
+ # @return [Types::UpdateEnvironmentConfiguration]
4321
+ #
4322
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/UpdateEnvironmentInput AWS API Documentation
4323
+ #
4324
+ class UpdateEnvironmentInput < Struct.new(
4325
+ :environment_id,
4326
+ :name,
4327
+ :configuration)
4328
+ SENSITIVE = []
4329
+ include Aws::Structure
4330
+ end
4331
+
4332
+ # Contains the current state of the updated environment. Use
4333
+ # GetEnvironment to read its source and environment configuration.
4334
+ #
4335
+ # @!attribute [rw] environment_id
4336
+ # The unique identifier of the updated environment.
4337
+ # @return [String]
4338
+ #
4339
+ # @!attribute [rw] environment_arn
4340
+ # The ARN of the updated environment.
4341
+ # @return [String]
4342
+ #
4343
+ # @!attribute [rw] name
4344
+ # The current customer-visible name of the environment.
4345
+ # @return [String]
4346
+ #
4347
+ # @!attribute [rw] status
4348
+ # The current operational status of the environment.
4349
+ # @return [String]
4350
+ #
4351
+ # @!attribute [rw] status_message
4352
+ # Human-readable details about the current status.
4353
+ # @return [String]
4354
+ #
4355
+ # @!attribute [rw] status_updated_at
4356
+ # The timestamp when the status last transitioned. Uses the existing
4357
+ # GetEnvironment/ListEnvironments ISO-8601 wire format for this field.
4358
+ # @return [Time]
4359
+ #
4360
+ # @!attribute [rw] created_at
4361
+ # The timestamp when the environment was created. Uses the existing
4362
+ # GetEnvironment/ListEnvironments ISO-8601 wire format for this field.
4363
+ # @return [Time]
4364
+ #
4365
+ # @!attribute [rw] configuration
4366
+ # Type-specific state, including Collector details and the latest
4367
+ # scan. Read source and operating-policy settings through
4368
+ # GetEnvironment.
4369
+ # @return [Types::EnvironmentConfigurationDetails]
4370
+ #
4371
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/UpdateEnvironmentOutput AWS API Documentation
4372
+ #
4373
+ class UpdateEnvironmentOutput < Struct.new(
4374
+ :environment_id,
4375
+ :environment_arn,
4376
+ :name,
4377
+ :status,
4378
+ :status_message,
4379
+ :status_updated_at,
4380
+ :created_at,
4381
+ :configuration)
4382
+ SENSITIVE = []
4383
+ include Aws::Structure
4384
+ end
4385
+
4386
+ # Specifies the S3 integration and the credentials to validate and save.
4387
+ #
4388
+ # @!attribute [rw] integration_id
4389
+ # The unique identifier of the S3 integration to update.
4390
+ # @return [String]
4391
+ #
4392
+ # @!attribute [rw] provider_configuration
4393
+ # The provider-specific changes to apply. The member must match the
4394
+ # integration's provider type, and only S3 integrations can be
4395
+ # updated.
4396
+ # @return [Types::UpdateProviderConfiguration]
4397
+ #
4398
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/UpdateIntegrationInput AWS API Documentation
4399
+ #
4400
+ class UpdateIntegrationInput < Struct.new(
4401
+ :integration_id,
4402
+ :provider_configuration)
4403
+ SENSITIVE = []
4404
+ include Aws::Structure
4405
+ end
4406
+
4407
+ # Contains the current state of the updated S3 integration. The
4408
+ # sensitive external ID is omitted.
4409
+ #
4410
+ # @!attribute [rw] integration_id
4411
+ # The unique identifier for an Integration resource.
4412
+ # @return [String]
4413
+ #
4414
+ # @!attribute [rw] integration_arn
4415
+ # The Amazon Resource Name (ARN) of an Integration resource, of the
4416
+ # form
4417
+ # arn:\{partition}:continuum:\{region}:\{account}:integrations/\{integrationId}.
4418
+ # @return [String]
4419
+ #
4420
+ # @!attribute [rw] name
4421
+ # The name for an integration.
4422
+ # @return [String]
4423
+ #
4424
+ # @!attribute [rw] integration_type
4425
+ # The immutable provider type for an integration.
4426
+ # @return [String]
4427
+ #
4428
+ # @!attribute [rw] provider_details
4429
+ # Provider-specific details for an integration. Only one member will
4430
+ # be present.
4431
+ # @return [Types::ProviderDetails]
4432
+ #
4433
+ # @!attribute [rw] created_at
4434
+ # When the integration was created.
4435
+ # @return [Time]
4436
+ #
4437
+ # @!attribute [rw] updated_at
4438
+ # When the integration was last updated.
4439
+ # @return [Time]
4440
+ #
4441
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/UpdateIntegrationOutput AWS API Documentation
4442
+ #
4443
+ class UpdateIntegrationOutput < Struct.new(
4444
+ :integration_id,
4445
+ :integration_arn,
4446
+ :name,
4447
+ :integration_type,
4448
+ :provider_details,
4449
+ :created_at,
4450
+ :updated_at)
4451
+ SENSITIVE = []
4452
+ include Aws::Structure
4453
+ end
4454
+
4455
+ # Provider-specific changes for updating an integration. Only S3
4456
+ # integrations can be updated, so S3 is the only member.
4457
+ #
4458
+ # @note UpdateProviderConfiguration is a union - when making an API calls you must set exactly one of the members.
4459
+ #
4460
+ # @!attribute [rw] s3
4461
+ # Replacement credentials for a customer-managed S3 integration.
4462
+ # @return [Types::UpdateS3Configuration]
4463
+ #
4464
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/UpdateProviderConfiguration AWS API Documentation
4465
+ #
4466
+ class UpdateProviderConfiguration < Struct.new(
4467
+ :s3,
4468
+ :unknown)
4469
+ SENSITIVE = []
4470
+ include Aws::Structure
4471
+ include Aws::Structure::Union
4472
+
4473
+ class S3 < UpdateProviderConfiguration; end
4474
+ class Unknown < UpdateProviderConfiguration; end
4475
+ end
4476
+
4477
+ # Replacement credentials for a customer-managed S3 integration. The
4478
+ # bucket cannot be changed.
4479
+ #
4480
+ # @!attribute [rw] role_arn
4481
+ # The role to use. Supply the current role when rotating only the
4482
+ # external ID. The caller must be allowed to pass this exact role to
4483
+ # Continuum.
4484
+ # @return [String]
4485
+ #
4486
+ # @!attribute [rw] external_id
4487
+ # The replacement external ID used when assuming the supplied role. If
4488
+ # omitted, the existing external ID is preserved. This value is
4489
+ # sensitive and is never included in the public integration response.
4490
+ # @return [String]
4491
+ #
4492
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/UpdateS3Configuration AWS API Documentation
4493
+ #
4494
+ class UpdateS3Configuration < Struct.new(
4495
+ :role_arn,
4496
+ :external_id)
4497
+ SENSITIVE = [:external_id]
4498
+ include Aws::Structure
4499
+ end
4500
+
4501
+ # Projected content for a VALIDATION\_EVIDENCE artifact: the validation
4502
+ # agent's durable proof of exploitability.
4503
+ #
4504
+ # @!attribute [rw] exploitable
4505
+ # Exploitability verdict. Explicit UNCERTAIN replaces the producer's
4506
+ # tri-state `exploitable: true | false | null`, so an absent verdict
4507
+ # is never confused with a negative one.
4508
+ # @return [String]
4509
+ #
4510
+ # @!attribute [rw] terminal_status
4511
+ # How the validation run ended. Absent when the producer reported a
4512
+ # status with no mapping yet: the rest of the body still projects, so
4513
+ # one unmapped enum never costs a customer the whole artifact.
4514
+ # @return [String]
4515
+ #
4516
+ # @!attribute [rw] flow_verdicts
4517
+ # One verdict per attack flow assessed in the bundle.
4518
+ # @return [Array<Types::FlowVerdict>]
4519
+ #
4520
+ # @!attribute [rw] attack_flows_confirmed
4521
+ # Identifiers of attack flows upgraded to Confirmed provenance.
4522
+ # @return [Array<String>]
4523
+ #
4524
+ # @!attribute [rw] exploit_artifact
4525
+ # Concrete payload and its observed effect, when validation produced
4526
+ # one by sending an HTTP request.
4527
+ #
4528
+ # Only an HTTP proof projects here. A validation agent that proves
4529
+ # exploitability by RUNNING code against the repository projects
4530
+ # `executedProof`, and one that proves it by reading the source
4531
+ # projects `sourceAnalysis`. All three are mutually exclusive: at most
4532
+ # one is present.
4533
+ # @return [Types::ValidationExploitArtifact]
4534
+ #
4535
+ # @!attribute [rw] executed_proof
4536
+ # Proof the agent produced by executing code against the repository
4537
+ # under test, with the output that execution produced.
4538
+ # @return [Types::ValidationExecutedProof]
4539
+ #
4540
+ # @!attribute [rw] source_analysis
4541
+ # Proof the agent produced by reading the repository's source, with
4542
+ # nothing built or run.
4543
+ # @return [Types::ValidationSourceAnalysis]
4544
+ #
4545
+ # @!attribute [rw] per_finding_results
4546
+ # Per-finding breakdown for a multi-finding bundle. Absent for a
4547
+ # single-finding bundle.
4548
+ # @return [Array<Types::PerFindingResult>]
4549
+ #
4550
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/ValidationEvidenceBody AWS API Documentation
4551
+ #
4552
+ class ValidationEvidenceBody < Struct.new(
4553
+ :exploitable,
4554
+ :terminal_status,
4555
+ :flow_verdicts,
4556
+ :attack_flows_confirmed,
4557
+ :exploit_artifact,
4558
+ :executed_proof,
4559
+ :source_analysis,
4560
+ :per_finding_results)
4561
+ SENSITIVE = []
4562
+ include Aws::Structure
4563
+ end
4564
+
4565
+ # @!attribute [rw] message
4566
+ # @return [String]
4567
+ #
4568
+ # @!attribute [rw] field_list
4569
+ # @return [Array<Types::ValidationExceptionField>]
4570
+ #
4571
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/ValidationException AWS API Documentation
4572
+ #
4573
+ class ValidationException < Struct.new(
4574
+ :message,
4575
+ :field_list)
4576
+ SENSITIVE = []
4577
+ include Aws::Structure
4578
+ end
4579
+
4580
+ # @!attribute [rw] path
4581
+ # @return [String]
4582
+ #
4583
+ # @!attribute [rw] message
4584
+ # @return [String]
4585
+ #
4586
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/ValidationExceptionField AWS API Documentation
4587
+ #
4588
+ class ValidationExceptionField < Struct.new(
4589
+ :path,
4590
+ :message)
4591
+ SENSITIVE = []
4592
+ include Aws::Structure
4593
+ end
4594
+
4595
+ # Proof of exploitability the validation agent produced by executing
4596
+ # code against the repository under test, with the output that execution
4597
+ # produced.
4598
+ #
4599
+ # @!attribute [rw] code
4600
+ # The code that was run. Not a request payload: it imports the
4601
+ # repository's own modules and drives the vulnerable code path
4602
+ # directly.
4603
+ # @return [Types::ValidationProofCode]
4604
+ #
4605
+ # @!attribute [rw] output
4606
+ # What the execution printed, including the agent's own PASS/FAIL
4607
+ # assertions. Absent when the run printed nothing retained.
4608
+ # @return [Types::ValidationProofOutput]
4609
+ #
4610
+ # @!attribute [rw] observed_effect
4611
+ # Effect the execution actually produced. `observedEffect` rather than
4612
+ # `effect`: this one was witnessed, and the name has to stay
4613
+ # distinguishable from `ValidationSourceAnalysis.inferredEffect`,
4614
+ # which was not.
4615
+ # @return [String]
4616
+ #
4617
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/ValidationExecutedProof AWS API Documentation
4618
+ #
4619
+ class ValidationExecutedProof < Struct.new(
4620
+ :code,
4621
+ :output,
4622
+ :observed_effect)
4623
+ SENSITIVE = []
4624
+ include Aws::Structure
4625
+ end
4626
+
4627
+ # A concrete exploit payload and the effect validation observed from it.
4628
+ #
4629
+ # @!attribute [rw] payload
4630
+ # The exact payload sent.
4631
+ # @return [String]
4632
+ #
4633
+ # @!attribute [rw] target_url
4634
+ # Target the payload was sent to.
4635
+ # @return [String]
4636
+ #
4637
+ # @!attribute [rw] http_method
4638
+ # HTTP method the payload was sent with.
4639
+ # @return [String]
4640
+ #
4641
+ # @!attribute [rw] headers
4642
+ # Headers sent with the payload.
4643
+ # @return [Hash<String,String>]
4644
+ #
4645
+ # @!attribute [rw] response_status
4646
+ # HTTP status observed in the response.
4647
+ # @return [Integer]
4648
+ #
4649
+ # @!attribute [rw] response_snippet
4650
+ # Leading portion of the response body, bounded by the producer.
4651
+ # @return [String]
4652
+ #
4653
+ # @!attribute [rw] effect
4654
+ # Effect observed from sending the payload.
4655
+ # @return [String]
4656
+ #
4657
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/ValidationExploitArtifact AWS API Documentation
4658
+ #
4659
+ class ValidationExploitArtifact < Struct.new(
4660
+ :payload,
4661
+ :target_url,
4662
+ :http_method,
4663
+ :headers,
4664
+ :response_status,
4665
+ :response_snippet,
4666
+ :effect)
4667
+ SENSITIVE = []
4668
+ include Aws::Structure
4669
+ end
4670
+
4671
+ # The executed proof's program. Further members, such as command,
4672
+ # workingDirectory and supportingInputs, can be added later as optional
4673
+ # details.
4674
+ #
4675
+ # @!attribute [rw] proof_code
4676
+ # Proof program files, main file first, in their retained order.
4677
+ # @return [Array<Types::ValidationProofMaterial>]
4678
+ #
4679
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/ValidationProofCode AWS API Documentation
4680
+ #
4681
+ class ValidationProofCode < Struct.new(
4682
+ :proof_code)
4683
+ SENSITIVE = []
4684
+ include Aws::Structure
4685
+ end
4686
+
4687
+ # One proof program file. Further members, such as path and purpose, can
4688
+ # be added later as optional details.
4689
+ #
4690
+ # @!attribute [rw] content
4691
+ # The file's non-blank text, exactly as retained.
4692
+ # @return [String]
4693
+ #
4694
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/ValidationProofMaterial AWS API Documentation
4695
+ #
4696
+ class ValidationProofMaterial < Struct.new(
4697
+ :content)
4698
+ SENSITIVE = []
4699
+ include Aws::Structure
4700
+ end
4701
+
4702
+ # Retained run output. Further members, such as completion and
4703
+ # outputCompleteness, can be added later as optional details.
4704
+ #
4705
+ # @!attribute [rw] console_output
4706
+ # What the run printed: standard output and standard error merged, as
4707
+ # retained. The text may be empty.
4708
+ # @return [String]
4709
+ #
4710
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/ValidationProofOutput AWS API Documentation
4711
+ #
4712
+ class ValidationProofOutput < Struct.new(
4713
+ :console_output)
4714
+ SENSITIVE = []
4715
+ include Aws::Structure
4716
+ end
4717
+
4718
+ # Proof of exploitability the validation agent produced by reading the
4719
+ # repository's source, with nothing built or run. Further members, such
4720
+ # as diagram and references, can be added later as optional details.
4721
+ #
4722
+ # @!attribute [rw] summary
4723
+ # The non-blank analysis as Markdown: the annotated entry-to-sink
4724
+ # walk, its citations, and why the checked guards are absent or
4725
+ # bypassed.
4726
+ # @return [String]
4727
+ #
4728
+ # @!attribute [rw] inferred_effect
4729
+ # Effect the agent concluded WOULD occur. Deliberately not `effect`:
4730
+ # nothing was executed, so this is reasoned from the source and must
4731
+ # not be read as an observation. See
4732
+ # `ValidationExecutedProof.observedEffect`.
4733
+ # @return [String]
4734
+ #
4735
+ # @see http://docs.aws.amazon.com/goto/WebAPI/continuum-2022-07-26/ValidationSourceAnalysis AWS API Documentation
4736
+ #
4737
+ class ValidationSourceAnalysis < Struct.new(
4738
+ :summary,
4739
+ :inferred_effect)
4740
+ SENSITIVE = []
4741
+ include Aws::Structure
4742
+ end
4743
+
4744
+ end
4745
+ end
4746
+