@aws-sdk/client-continuum 0.0.0-stage → 3.1157.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.
- package/LICENSE +201 -0
- package/README.md +412 -2
- package/dist-cjs/index.js +2581 -0
- package/dist-es/Continuum.js +95 -0
- package/dist-es/ContinuumClient.js +47 -0
- package/dist-es/auth/httpAuthExtensionConfiguration.js +38 -0
- package/dist-es/auth/httpAuthSchemeProvider.js +40 -0
- package/dist-es/commandBuilder.js +6 -0
- package/dist-es/commands/AssociateCollectorCommand.js +4 -0
- package/dist-es/commands/CreateCodeFindingCommand.js +4 -0
- package/dist-es/commands/CreateCodeScanCommand.js +4 -0
- package/dist-es/commands/CreateCollectorCommand.js +4 -0
- package/dist-es/commands/CreateEnvironmentCommand.js +4 -0
- package/dist-es/commands/CreateIntegrationCommand.js +4 -0
- package/dist-es/commands/DeleteCollectorCommand.js +4 -0
- package/dist-es/commands/DeleteEnvironmentCommand.js +4 -0
- package/dist-es/commands/DeleteIntegrationCommand.js +4 -0
- package/dist-es/commands/DisassociateCollectorCommand.js +4 -0
- package/dist-es/commands/GetCodeFindingCommand.js +4 -0
- package/dist-es/commands/GetCodeIssueArtifactCommand.js +4 -0
- package/dist-es/commands/GetCodeIssueCommand.js +4 -0
- package/dist-es/commands/GetCodeScanCommand.js +4 -0
- package/dist-es/commands/GetCollectorCommand.js +4 -0
- package/dist-es/commands/GetCollectorDataAccessAuthorizationCommand.js +4 -0
- package/dist-es/commands/GetEnvironmentCommand.js +4 -0
- package/dist-es/commands/GetIntegrationCommand.js +4 -0
- package/dist-es/commands/GetResourcePolicyCommand.js +4 -0
- package/dist-es/commands/ListAssociatedCollectorsCommand.js +4 -0
- package/dist-es/commands/ListAssociatedEnvironmentsCommand.js +4 -0
- package/dist-es/commands/ListCodeFindingsCommand.js +4 -0
- package/dist-es/commands/ListCodeIssueArtifactsCommand.js +4 -0
- package/dist-es/commands/ListCodeIssuesCommand.js +4 -0
- package/dist-es/commands/ListCodeScansCommand.js +4 -0
- package/dist-es/commands/ListCollectorsCommand.js +4 -0
- package/dist-es/commands/ListEnvironmentsCommand.js +4 -0
- package/dist-es/commands/ListIntegrationsCommand.js +4 -0
- package/dist-es/commands/PutResourcePolicyCommand.js +4 -0
- package/dist-es/commands/StartIntegrationAuthorizationCommand.js +4 -0
- package/dist-es/commands/UpdateCollectorCommand.js +4 -0
- package/dist-es/commands/UpdateEnvironmentCommand.js +4 -0
- package/dist-es/commands/UpdateIntegrationCommand.js +4 -0
- package/dist-es/commands/index.js +33 -0
- package/dist-es/endpoint/EndpointParameters.js +11 -0
- package/dist-es/endpoint/bdd.js +29 -0
- package/dist-es/endpoint/endpointResolver.js +14 -0
- package/dist-es/extensionConfiguration.js +1 -0
- package/dist-es/index.js +11 -0
- package/dist-es/models/ContinuumServiceException.js +9 -0
- package/dist-es/models/enums.js +334 -0
- package/dist-es/models/errors.js +102 -0
- package/dist-es/models/models_0.js +1 -0
- package/dist-es/pagination/Interfaces.js +1 -0
- package/dist-es/pagination/ListAssociatedCollectorsPaginator.js +4 -0
- package/dist-es/pagination/ListAssociatedEnvironmentsPaginator.js +4 -0
- package/dist-es/pagination/ListCodeFindingsPaginator.js +4 -0
- package/dist-es/pagination/ListCodeIssueArtifactsPaginator.js +4 -0
- package/dist-es/pagination/ListCodeIssuesPaginator.js +4 -0
- package/dist-es/pagination/ListCodeScansPaginator.js +4 -0
- package/dist-es/pagination/ListEnvironmentsPaginator.js +4 -0
- package/dist-es/pagination/ListIntegrationsPaginator.js +4 -0
- package/dist-es/pagination/index.js +9 -0
- package/dist-es/runtimeConfig.browser.js +29 -0
- package/dist-es/runtimeConfig.js +43 -0
- package/dist-es/runtimeConfig.native.js +9 -0
- package/dist-es/runtimeConfig.shared.js +40 -0
- package/dist-es/runtimeExtensions.js +9 -0
- package/dist-es/schemas/schemas_0.js +1399 -0
- package/dist-es/waiters/index.js +1 -0
- package/dist-es/waiters/waitForCodeScanSucceeded.js +40 -0
- package/dist-types/Continuum.d.ts +315 -0
- package/dist-types/ContinuumClient.d.ts +221 -0
- package/dist-types/auth/httpAuthExtensionConfiguration.d.ts +29 -0
- package/dist-types/auth/httpAuthSchemeProvider.d.ts +75 -0
- package/dist-types/commandBuilder.d.ts +18 -0
- package/dist-types/commands/AssociateCollectorCommand.d.ts +96 -0
- package/dist-types/commands/CreateCodeFindingCommand.d.ts +94 -0
- package/dist-types/commands/CreateCodeScanCommand.d.ts +115 -0
- package/dist-types/commands/CreateCollectorCommand.d.ts +97 -0
- package/dist-types/commands/CreateEnvironmentCommand.d.ts +123 -0
- package/dist-types/commands/CreateIntegrationCommand.d.ts +130 -0
- package/dist-types/commands/DeleteCollectorCommand.d.ts +86 -0
- package/dist-types/commands/DeleteEnvironmentCommand.d.ts +86 -0
- package/dist-types/commands/DeleteIntegrationCommand.d.ts +92 -0
- package/dist-types/commands/DisassociateCollectorCommand.d.ts +84 -0
- package/dist-types/commands/GetCodeFindingCommand.d.ts +228 -0
- package/dist-types/commands/GetCodeIssueArtifactCommand.d.ts +285 -0
- package/dist-types/commands/GetCodeIssueCommand.d.ts +113 -0
- package/dist-types/commands/GetCodeScanCommand.d.ts +94 -0
- package/dist-types/commands/GetCollectorCommand.d.ts +92 -0
- package/dist-types/commands/GetCollectorDataAccessAuthorizationCommand.d.ts +93 -0
- package/dist-types/commands/GetEnvironmentCommand.d.ts +133 -0
- package/dist-types/commands/GetIntegrationCommand.d.ts +106 -0
- package/dist-types/commands/GetResourcePolicyCommand.d.ts +87 -0
- package/dist-types/commands/ListAssociatedCollectorsCommand.d.ts +93 -0
- package/dist-types/commands/ListAssociatedEnvironmentsCommand.d.ts +96 -0
- package/dist-types/commands/ListCodeFindingsCommand.d.ts +112 -0
- package/dist-types/commands/ListCodeIssueArtifactsCommand.d.ts +101 -0
- package/dist-types/commands/ListCodeIssuesCommand.d.ts +103 -0
- package/dist-types/commands/ListCodeScansCommand.d.ts +98 -0
- package/dist-types/commands/ListCollectorsCommand.d.ts +88 -0
- package/dist-types/commands/ListEnvironmentsCommand.d.ts +92 -0
- package/dist-types/commands/ListIntegrationsCommand.d.ts +109 -0
- package/dist-types/commands/PutResourcePolicyCommand.d.ts +92 -0
- package/dist-types/commands/StartIntegrationAuthorizationCommand.d.ts +89 -0
- package/dist-types/commands/UpdateCollectorCommand.d.ts +103 -0
- package/dist-types/commands/UpdateEnvironmentCommand.d.ts +165 -0
- package/dist-types/commands/UpdateIntegrationCommand.d.ts +125 -0
- package/dist-types/commands/index.d.ts +33 -0
- package/dist-types/endpoint/EndpointParameters.d.ts +44 -0
- package/dist-types/endpoint/bdd.d.ts +2 -0
- package/dist-types/endpoint/endpointResolver.d.ts +8 -0
- package/dist-types/extensionConfiguration.d.ts +9 -0
- package/dist-types/index.d.ts +20 -0
- package/dist-types/models/ContinuumServiceException.d.ts +15 -0
- package/dist-types/models/enums.d.ts +1003 -0
- package/dist-types/models/errors.d.ts +108 -0
- package/dist-types/models/models_0.d.ts +4202 -0
- package/dist-types/pagination/Interfaces.d.ts +8 -0
- package/dist-types/pagination/ListAssociatedCollectorsPaginator.d.ts +7 -0
- package/dist-types/pagination/ListAssociatedEnvironmentsPaginator.d.ts +7 -0
- package/dist-types/pagination/ListCodeFindingsPaginator.d.ts +7 -0
- package/dist-types/pagination/ListCodeIssueArtifactsPaginator.d.ts +7 -0
- package/dist-types/pagination/ListCodeIssuesPaginator.d.ts +7 -0
- package/dist-types/pagination/ListCodeScansPaginator.d.ts +7 -0
- package/dist-types/pagination/ListEnvironmentsPaginator.d.ts +7 -0
- package/dist-types/pagination/ListIntegrationsPaginator.d.ts +7 -0
- package/dist-types/pagination/index.d.ts +9 -0
- package/dist-types/runtimeConfig.browser.d.ts +57 -0
- package/dist-types/runtimeConfig.d.ts +57 -0
- package/dist-types/runtimeConfig.native.d.ts +56 -0
- package/dist-types/runtimeConfig.shared.d.ts +28 -0
- package/dist-types/runtimeExtensions.d.ts +17 -0
- package/dist-types/schemas/schemas_0.d.ts +187 -0
- package/dist-types/ts3.4/Continuum.d.ts +642 -0
- package/dist-types/ts3.4/ContinuumClient.d.ts +296 -0
- package/dist-types/ts3.4/auth/httpAuthExtensionConfiguration.d.ts +25 -0
- package/dist-types/ts3.4/auth/httpAuthSchemeProvider.d.ts +43 -0
- package/dist-types/ts3.4/commandBuilder.d.ts +40 -0
- package/dist-types/ts3.4/commands/AssociateCollectorCommand.d.ts +39 -0
- package/dist-types/ts3.4/commands/CreateCodeFindingCommand.d.ts +38 -0
- package/dist-types/ts3.4/commands/CreateCodeScanCommand.d.ts +38 -0
- package/dist-types/ts3.4/commands/CreateCollectorCommand.d.ts +38 -0
- package/dist-types/ts3.4/commands/CreateEnvironmentCommand.d.ts +38 -0
- package/dist-types/ts3.4/commands/CreateIntegrationCommand.d.ts +38 -0
- package/dist-types/ts3.4/commands/DeleteCollectorCommand.d.ts +38 -0
- package/dist-types/ts3.4/commands/DeleteEnvironmentCommand.d.ts +38 -0
- package/dist-types/ts3.4/commands/DeleteIntegrationCommand.d.ts +38 -0
- package/dist-types/ts3.4/commands/DisassociateCollectorCommand.d.ts +38 -0
- package/dist-types/ts3.4/commands/GetCodeFindingCommand.d.ts +38 -0
- package/dist-types/ts3.4/commands/GetCodeIssueArtifactCommand.d.ts +39 -0
- package/dist-types/ts3.4/commands/GetCodeIssueCommand.d.ts +38 -0
- package/dist-types/ts3.4/commands/GetCodeScanCommand.d.ts +38 -0
- package/dist-types/ts3.4/commands/GetCollectorCommand.d.ts +38 -0
- package/dist-types/ts3.4/commands/GetCollectorDataAccessAuthorizationCommand.d.ts +42 -0
- package/dist-types/ts3.4/commands/GetEnvironmentCommand.d.ts +38 -0
- package/dist-types/ts3.4/commands/GetIntegrationCommand.d.ts +38 -0
- package/dist-types/ts3.4/commands/GetResourcePolicyCommand.d.ts +38 -0
- package/dist-types/ts3.4/commands/ListAssociatedCollectorsCommand.d.ts +39 -0
- package/dist-types/ts3.4/commands/ListAssociatedEnvironmentsCommand.d.ts +42 -0
- package/dist-types/ts3.4/commands/ListCodeFindingsCommand.d.ts +38 -0
- package/dist-types/ts3.4/commands/ListCodeIssueArtifactsCommand.d.ts +39 -0
- package/dist-types/ts3.4/commands/ListCodeIssuesCommand.d.ts +38 -0
- package/dist-types/ts3.4/commands/ListCodeScansCommand.d.ts +38 -0
- package/dist-types/ts3.4/commands/ListCollectorsCommand.d.ts +38 -0
- package/dist-types/ts3.4/commands/ListEnvironmentsCommand.d.ts +38 -0
- package/dist-types/ts3.4/commands/ListIntegrationsCommand.d.ts +38 -0
- package/dist-types/ts3.4/commands/PutResourcePolicyCommand.d.ts +38 -0
- package/dist-types/ts3.4/commands/StartIntegrationAuthorizationCommand.d.ts +42 -0
- package/dist-types/ts3.4/commands/UpdateCollectorCommand.d.ts +38 -0
- package/dist-types/ts3.4/commands/UpdateEnvironmentCommand.d.ts +38 -0
- package/dist-types/ts3.4/commands/UpdateIntegrationCommand.d.ts +38 -0
- package/dist-types/ts3.4/commands/index.d.ts +33 -0
- package/dist-types/ts3.4/endpoint/EndpointParameters.d.ts +45 -0
- package/dist-types/ts3.4/endpoint/bdd.d.ts +2 -0
- package/dist-types/ts3.4/endpoint/endpointResolver.d.ts +8 -0
- package/dist-types/ts3.4/extensionConfiguration.d.ts +10 -0
- package/dist-types/ts3.4/index.d.ts +14 -0
- package/dist-types/ts3.4/models/ContinuumServiceException.d.ts +10 -0
- package/dist-types/ts3.4/models/enums.d.ts +387 -0
- package/dist-types/ts3.4/models/errors.d.ts +52 -0
- package/dist-types/ts3.4/models/models_0.d.ts +1056 -0
- package/dist-types/ts3.4/pagination/Interfaces.d.ts +5 -0
- package/dist-types/ts3.4/pagination/ListAssociatedCollectorsPaginator.d.ts +11 -0
- package/dist-types/ts3.4/pagination/ListAssociatedEnvironmentsPaginator.d.ts +11 -0
- package/dist-types/ts3.4/pagination/ListCodeFindingsPaginator.d.ts +11 -0
- package/dist-types/ts3.4/pagination/ListCodeIssueArtifactsPaginator.d.ts +11 -0
- package/dist-types/ts3.4/pagination/ListCodeIssuesPaginator.d.ts +11 -0
- package/dist-types/ts3.4/pagination/ListCodeScansPaginator.d.ts +11 -0
- package/dist-types/ts3.4/pagination/ListEnvironmentsPaginator.d.ts +11 -0
- package/dist-types/ts3.4/pagination/ListIntegrationsPaginator.d.ts +11 -0
- package/dist-types/ts3.4/pagination/index.d.ts +9 -0
- package/dist-types/ts3.4/runtimeConfig.browser.d.ts +93 -0
- package/dist-types/ts3.4/runtimeConfig.d.ts +95 -0
- package/dist-types/ts3.4/runtimeConfig.native.d.ts +97 -0
- package/dist-types/ts3.4/runtimeConfig.shared.d.ts +31 -0
- package/dist-types/ts3.4/runtimeExtensions.d.ts +11 -0
- package/dist-types/ts3.4/schemas/schemas_0.d.ts +187 -0
- package/dist-types/ts3.4/waiters/index.d.ts +1 -0
- package/dist-types/ts3.4/waiters/waitForCodeScanSucceeded.d.ts +12 -0
- package/dist-types/waiters/index.d.ts +1 -0
- package/dist-types/waiters/waitForCodeScanSucceeded.d.ts +15 -0
- 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
|
+
}
|