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