@mitre/hdf-schema 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +55 -0
- package/README.md +143 -0
- package/dist/go/go.mod +4 -0
- package/dist/go/hdf.go +2224 -0
- package/dist/helpers.d.ts +77 -0
- package/dist/helpers.js +242 -0
- package/dist/index.d.ts +62 -0
- package/dist/index.js +37 -0
- package/dist/python/hdf_amendments.py +695 -0
- package/dist/python/hdf_baseline.py +782 -0
- package/dist/python/hdf_comparison.py +1771 -0
- package/dist/python/hdf_evidence_package.py +593 -0
- package/dist/python/hdf_plan.py +363 -0
- package/dist/python/hdf_results.py +2163 -0
- package/dist/python/hdf_system.py +904 -0
- package/dist/schemas/hdf-amendments.schema.json +1562 -0
- package/dist/schemas/hdf-baseline.schema.json +1787 -0
- package/dist/schemas/hdf-comparison.schema.json +3730 -0
- package/dist/schemas/hdf-evidence-package.schema.json +1738 -0
- package/dist/schemas/hdf-plan.schema.json +1821 -0
- package/dist/schemas/hdf-results.schema.json +2810 -0
- package/dist/schemas/hdf-system.schema.json +2512 -0
- package/dist/ts/hdf-amendments.d.ts +446 -0
- package/dist/ts/hdf-amendments.js +77 -0
- package/dist/ts/hdf-amendments.ts +457 -0
- package/dist/ts/hdf-baseline.d.ts +472 -0
- package/dist/ts/hdf-baseline.js +58 -0
- package/dist/ts/hdf-baseline.ts +483 -0
- package/dist/ts/hdf-comparison.d.ts +1185 -0
- package/dist/ts/hdf-comparison.js +216 -0
- package/dist/ts/hdf-comparison.ts +1210 -0
- package/dist/ts/hdf-evidence-package.d.ts +348 -0
- package/dist/ts/hdf-evidence-package.js +39 -0
- package/dist/ts/hdf-evidence-package.ts +356 -0
- package/dist/ts/hdf-plan.d.ts +204 -0
- package/dist/ts/hdf-plan.js +23 -0
- package/dist/ts/hdf-plan.ts +205 -0
- package/dist/ts/hdf-results.d.ts +1457 -0
- package/dist/ts/hdf-results.js +174 -0
- package/dist/ts/hdf-results.ts +1481 -0
- package/dist/ts/hdf-system.d.ts +609 -0
- package/dist/ts/hdf-system.js +102 -0
- package/dist/ts/hdf-system.ts +617 -0
- package/package.json +98 -0
- package/src/schemas/hdf-amendments.schema.json +97 -0
- package/src/schemas/hdf-baseline.schema.json +190 -0
- package/src/schemas/hdf-comparison.schema.json +107 -0
- package/src/schemas/hdf-evidence-package.schema.json +227 -0
- package/src/schemas/hdf-plan.schema.json +92 -0
- package/src/schemas/hdf-results.schema.json +304 -0
- package/src/schemas/hdf-system.schema.json +136 -0
- package/src/schemas/primitives/amendments.schema.json +155 -0
- package/src/schemas/primitives/common.schema.json +814 -0
- package/src/schemas/primitives/comparison.schema.json +809 -0
- package/src/schemas/primitives/component.schema.json +518 -0
- package/src/schemas/primitives/data-flow.schema.json +158 -0
- package/src/schemas/primitives/extensions.schema.json +342 -0
- package/src/schemas/primitives/parameter.schema.json +128 -0
- package/src/schemas/primitives/plan.schema.json +128 -0
- package/src/schemas/primitives/platform.schema.json +32 -0
- package/src/schemas/primitives/result.schema.json +133 -0
- package/src/schemas/primitives/runner.schema.json +83 -0
- package/src/schemas/primitives/statistics.schema.json +71 -0
- package/src/schemas/primitives/system.schema.json +132 -0
- package/src/schemas/primitives/target.schema.json +523 -0
|
@@ -0,0 +1,483 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Information on the set of requirements that can be assessed, including baseline metadata
|
|
3
|
+
* and requirement definitions.
|
|
4
|
+
*
|
|
5
|
+
* Shared metadata fields for baselines. Used in both standalone baseline documents and
|
|
6
|
+
* evaluated baseline results.
|
|
7
|
+
*/
|
|
8
|
+
export interface HdfBaseline {
|
|
9
|
+
/**
|
|
10
|
+
* The set of dependencies this baseline depends on.
|
|
11
|
+
*/
|
|
12
|
+
depends?: Dependency[];
|
|
13
|
+
/**
|
|
14
|
+
* The tool that generated this file.
|
|
15
|
+
*/
|
|
16
|
+
generator?: Generator;
|
|
17
|
+
/**
|
|
18
|
+
* A set of descriptions for the requirement groups.
|
|
19
|
+
*/
|
|
20
|
+
groups?: RequirementGroup[];
|
|
21
|
+
/**
|
|
22
|
+
* The input(s) or attribute(s) to be used in the run.
|
|
23
|
+
*/
|
|
24
|
+
inputs?: Input[];
|
|
25
|
+
/**
|
|
26
|
+
* Cryptographic integrity information for verifying this baseline has not been tampered
|
|
27
|
+
* with.
|
|
28
|
+
*/
|
|
29
|
+
integrity?: Integrity;
|
|
30
|
+
/**
|
|
31
|
+
* Optional reference to automated remediation resources (Ansible playbooks, Terraform
|
|
32
|
+
* scripts, etc.) for implementing the security controls defined in this baseline.
|
|
33
|
+
*/
|
|
34
|
+
remediation?: Remediation;
|
|
35
|
+
/**
|
|
36
|
+
* The set of requirements - contains no findings as the assessment has not yet occurred.
|
|
37
|
+
*/
|
|
38
|
+
requirements: BaselineRequirement[];
|
|
39
|
+
/**
|
|
40
|
+
* The name - must be unique.
|
|
41
|
+
*/
|
|
42
|
+
name: string;
|
|
43
|
+
/**
|
|
44
|
+
* The copyright holder(s).
|
|
45
|
+
*/
|
|
46
|
+
copyright?: string;
|
|
47
|
+
/**
|
|
48
|
+
* The email address or other contact information of the copyright holder(s).
|
|
49
|
+
*/
|
|
50
|
+
copyrightEmail?: string;
|
|
51
|
+
/**
|
|
52
|
+
* Optional key-value labels for flexible grouping. Well-known keys: system, component,
|
|
53
|
+
* environment, region, team. Values must be strings.
|
|
54
|
+
*/
|
|
55
|
+
labels?: { [key: string]: string };
|
|
56
|
+
/**
|
|
57
|
+
* The copyright license. Example: 'Apache-2.0'.
|
|
58
|
+
*/
|
|
59
|
+
license?: string;
|
|
60
|
+
/**
|
|
61
|
+
* The maintainer(s).
|
|
62
|
+
*/
|
|
63
|
+
maintainer?: string;
|
|
64
|
+
/**
|
|
65
|
+
* The status. Example: 'loaded'.
|
|
66
|
+
*/
|
|
67
|
+
status?: string;
|
|
68
|
+
/**
|
|
69
|
+
* The summary. Example: the Security Technical Implementation Guide (STIG) header.
|
|
70
|
+
*/
|
|
71
|
+
summary?: string;
|
|
72
|
+
/**
|
|
73
|
+
* The set of supported platform targets.
|
|
74
|
+
*/
|
|
75
|
+
supports?: SupportedPlatform[];
|
|
76
|
+
/**
|
|
77
|
+
* The title - should be human readable.
|
|
78
|
+
*/
|
|
79
|
+
title?: string;
|
|
80
|
+
/**
|
|
81
|
+
* The version of the baseline.
|
|
82
|
+
*/
|
|
83
|
+
version?: string;
|
|
84
|
+
[property: string]: any;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* A dependency for a baseline. Can include relative paths or URLs for where to find the
|
|
89
|
+
* dependency.
|
|
90
|
+
*/
|
|
91
|
+
export interface Dependency {
|
|
92
|
+
/**
|
|
93
|
+
* The branch name for a git repo.
|
|
94
|
+
*/
|
|
95
|
+
branch?: string;
|
|
96
|
+
/**
|
|
97
|
+
* The 'user/profilename' attribute for an Automate server.
|
|
98
|
+
*/
|
|
99
|
+
compliance?: string;
|
|
100
|
+
/**
|
|
101
|
+
* The location of the git repo. Example:
|
|
102
|
+
* 'https://github.com/my-org/ubuntu-22.04-stig-baseline.git'.
|
|
103
|
+
*/
|
|
104
|
+
git?: string;
|
|
105
|
+
/**
|
|
106
|
+
* The name or assigned alias.
|
|
107
|
+
*/
|
|
108
|
+
name?: string;
|
|
109
|
+
/**
|
|
110
|
+
* The relative path if the dependency is locally available.
|
|
111
|
+
*/
|
|
112
|
+
path?: string;
|
|
113
|
+
/**
|
|
114
|
+
* The status. Should be: 'loaded', 'failed', or 'skipped'.
|
|
115
|
+
*/
|
|
116
|
+
status?: string;
|
|
117
|
+
/**
|
|
118
|
+
* The reason for the status if it is 'failed' or 'skipped'.
|
|
119
|
+
*/
|
|
120
|
+
statusMessage?: string;
|
|
121
|
+
/**
|
|
122
|
+
* The 'user/profilename' attribute for a Supermarket server.
|
|
123
|
+
*/
|
|
124
|
+
supermarket?: string;
|
|
125
|
+
/**
|
|
126
|
+
* The address of the dependency.
|
|
127
|
+
*/
|
|
128
|
+
url?: string;
|
|
129
|
+
[property: string]: any;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* The tool that generated this file.
|
|
134
|
+
*
|
|
135
|
+
* Information about the tool that generated this HDF file.
|
|
136
|
+
*/
|
|
137
|
+
export interface Generator {
|
|
138
|
+
/**
|
|
139
|
+
* The name of the software that produced this HDF file. Example: 'gosec-to-hdf'.
|
|
140
|
+
*/
|
|
141
|
+
name: string;
|
|
142
|
+
/**
|
|
143
|
+
* The version of the tool. Example: '5.22.3'.
|
|
144
|
+
*/
|
|
145
|
+
version: string;
|
|
146
|
+
[property: string]: any;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Describes a group of requirements, such as those defined in a single file.
|
|
151
|
+
*/
|
|
152
|
+
export interface RequirementGroup {
|
|
153
|
+
/**
|
|
154
|
+
* The unique identifier for the group. Example: the relative path to the file specifying
|
|
155
|
+
* the requirements.
|
|
156
|
+
*/
|
|
157
|
+
id: string;
|
|
158
|
+
/**
|
|
159
|
+
* The set of requirements as specified by their ids in this group. Example: 'SV-238196'.
|
|
160
|
+
*/
|
|
161
|
+
requirements: string[];
|
|
162
|
+
/**
|
|
163
|
+
* The title of the group - should be human readable.
|
|
164
|
+
*/
|
|
165
|
+
title?: string;
|
|
166
|
+
[property: string]: any;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* A typed input parameter that bridges governance requirements and scanner automation.
|
|
171
|
+
* Inputs carry expected configuration values with type information, comparison operators,
|
|
172
|
+
* and validation constraints, enabling traceability from policy through to scan results.
|
|
173
|
+
*/
|
|
174
|
+
export interface Input {
|
|
175
|
+
/**
|
|
176
|
+
* Validation constraints for the input value.
|
|
177
|
+
*/
|
|
178
|
+
constraints?: InputConstraints;
|
|
179
|
+
/**
|
|
180
|
+
* Human-readable description of what this input controls.
|
|
181
|
+
*/
|
|
182
|
+
description?: string;
|
|
183
|
+
/**
|
|
184
|
+
* The input name. Must be unique within a baseline or results document. Example:
|
|
185
|
+
* 'max_concurrent_sessions'.
|
|
186
|
+
*/
|
|
187
|
+
name: string;
|
|
188
|
+
/**
|
|
189
|
+
* The comparison operator used when evaluating this input against observed values.
|
|
190
|
+
*/
|
|
191
|
+
operator?: ComparisonOperator;
|
|
192
|
+
/**
|
|
193
|
+
* Whether this input must be provided. Defaults to false if omitted.
|
|
194
|
+
*/
|
|
195
|
+
required?: boolean;
|
|
196
|
+
/**
|
|
197
|
+
* Whether this input contains sensitive data (passwords, keys). Sensitive values should be
|
|
198
|
+
* redacted in output. Defaults to false if omitted.
|
|
199
|
+
*/
|
|
200
|
+
sensitive?: boolean;
|
|
201
|
+
/**
|
|
202
|
+
* The data type of this input.
|
|
203
|
+
*/
|
|
204
|
+
type?: InputType;
|
|
205
|
+
/**
|
|
206
|
+
* The input value. Type should match the declared type field. Accepts any JSON value.
|
|
207
|
+
*/
|
|
208
|
+
value?: any;
|
|
209
|
+
[property: string]: any;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* Validation constraints for the input value.
|
|
214
|
+
*
|
|
215
|
+
* Validation constraints for an input value.
|
|
216
|
+
*/
|
|
217
|
+
export interface InputConstraints {
|
|
218
|
+
/**
|
|
219
|
+
* Enumeration of permitted values.
|
|
220
|
+
*/
|
|
221
|
+
allowedValues?: any[];
|
|
222
|
+
/**
|
|
223
|
+
* Maximum allowed value (for Numeric inputs).
|
|
224
|
+
*/
|
|
225
|
+
max?: number;
|
|
226
|
+
/**
|
|
227
|
+
* Minimum allowed value (for Numeric inputs).
|
|
228
|
+
*/
|
|
229
|
+
min?: number;
|
|
230
|
+
/**
|
|
231
|
+
* Regular expression pattern the value must match (for String inputs).
|
|
232
|
+
*/
|
|
233
|
+
pattern?: string;
|
|
234
|
+
[property: string]: any;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* The comparison operator used when evaluating this input against observed values.
|
|
239
|
+
*
|
|
240
|
+
* Comparison operator for evaluating the input value against observed values. Numeric:
|
|
241
|
+
* eq/ne/lt/le/gt/ge. String: eq/ne/contains/matches. Collection: in/notIn.
|
|
242
|
+
*/
|
|
243
|
+
export enum ComparisonOperator {
|
|
244
|
+
Contains = "contains",
|
|
245
|
+
Eq = "eq",
|
|
246
|
+
Ge = "ge",
|
|
247
|
+
Gt = "gt",
|
|
248
|
+
In = "in",
|
|
249
|
+
LE = "le",
|
|
250
|
+
Lt = "lt",
|
|
251
|
+
Matches = "matches",
|
|
252
|
+
Ne = "ne",
|
|
253
|
+
NotIn = "notIn",
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* The data type of this input.
|
|
258
|
+
*
|
|
259
|
+
* The data type of the input value. Aligns with InSpec input types.
|
|
260
|
+
*/
|
|
261
|
+
export enum InputType {
|
|
262
|
+
Array = "Array",
|
|
263
|
+
Boolean = "Boolean",
|
|
264
|
+
Hash = "Hash",
|
|
265
|
+
Numeric = "Numeric",
|
|
266
|
+
Regexp = "Regexp",
|
|
267
|
+
String = "String",
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
/**
|
|
271
|
+
* Cryptographic integrity information for verifying this baseline has not been tampered
|
|
272
|
+
* with.
|
|
273
|
+
*
|
|
274
|
+
* Cryptographic integrity information for verifying the HDF file has not been tampered
|
|
275
|
+
* with. If algorithm is provided, checksum must also be provided, and vice versa.
|
|
276
|
+
*/
|
|
277
|
+
export interface Integrity {
|
|
278
|
+
/**
|
|
279
|
+
* The hash algorithm used for the checksum.
|
|
280
|
+
*/
|
|
281
|
+
algorithm?: HashAlgorithm;
|
|
282
|
+
/**
|
|
283
|
+
* The checksum value.
|
|
284
|
+
*/
|
|
285
|
+
checksum?: string;
|
|
286
|
+
/**
|
|
287
|
+
* Optional cryptographic signature.
|
|
288
|
+
*/
|
|
289
|
+
signature?: string;
|
|
290
|
+
/**
|
|
291
|
+
* Identifier of who signed this file.
|
|
292
|
+
*/
|
|
293
|
+
signedBy?: string;
|
|
294
|
+
[property: string]: any;
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
/**
|
|
298
|
+
* The hash algorithm used for the checksum.
|
|
299
|
+
*
|
|
300
|
+
* Supported cryptographic hash algorithms for checksums and integrity verification.
|
|
301
|
+
*/
|
|
302
|
+
export enum HashAlgorithm {
|
|
303
|
+
Sha256 = "sha256",
|
|
304
|
+
Sha384 = "sha384",
|
|
305
|
+
Sha512 = "sha512",
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
/**
|
|
309
|
+
* Optional reference to automated remediation resources (Ansible playbooks, Terraform
|
|
310
|
+
* scripts, etc.) for implementing the security controls defined in this baseline.
|
|
311
|
+
*
|
|
312
|
+
* Reference to automated remediation resources for implementing security controls. Points
|
|
313
|
+
* to external automation content like Ansible playbooks, Terraform scripts, or
|
|
314
|
+
* vendor-provided remediation tools.
|
|
315
|
+
*/
|
|
316
|
+
export interface Remediation {
|
|
317
|
+
/**
|
|
318
|
+
* Optional cryptographic checksum for verifying the integrity of remediation resources
|
|
319
|
+
* fetched from the URI. Recommended for security when referencing external automation
|
|
320
|
+
* scripts.
|
|
321
|
+
*/
|
|
322
|
+
checksum?: Checksum;
|
|
323
|
+
/**
|
|
324
|
+
* URI pointing to automated remediation resources (Ansible playbooks, Terraform scripts,
|
|
325
|
+
* etc.). Examples: GitHub repository, DISA STIG Supplemental Automation Content,
|
|
326
|
+
* vendor-provided scripts.
|
|
327
|
+
*/
|
|
328
|
+
uri: string;
|
|
329
|
+
[property: string]: any;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
/**
|
|
333
|
+
* Optional cryptographic checksum for verifying the integrity of remediation resources
|
|
334
|
+
* fetched from the URI. Recommended for security when referencing external automation
|
|
335
|
+
* scripts.
|
|
336
|
+
*
|
|
337
|
+
* Cryptographic checksum for baseline integrity verification.
|
|
338
|
+
*/
|
|
339
|
+
export interface Checksum {
|
|
340
|
+
/**
|
|
341
|
+
* The hash algorithm used for the checksum.
|
|
342
|
+
*/
|
|
343
|
+
algorithm: HashAlgorithm;
|
|
344
|
+
/**
|
|
345
|
+
* The checksum value.
|
|
346
|
+
*/
|
|
347
|
+
value: string;
|
|
348
|
+
[property: string]: any;
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
/**
|
|
352
|
+
* A requirement definition without assessment results.
|
|
353
|
+
*
|
|
354
|
+
* Core requirement fields shared between baseline requirements and evaluated requirements.
|
|
355
|
+
* Contains the fundamental requirement definition without assessment results.
|
|
356
|
+
*/
|
|
357
|
+
export interface BaselineRequirement {
|
|
358
|
+
/**
|
|
359
|
+
* Array of labeled descriptions. At least one description with label 'default' must be
|
|
360
|
+
* present. Convention: place default description first. Common labels: 'default', 'check',
|
|
361
|
+
* 'fix', 'rationale'.
|
|
362
|
+
*/
|
|
363
|
+
descriptions: Description[];
|
|
364
|
+
/**
|
|
365
|
+
* Explicit severity rating. Typically derived from impact score but provided explicitly for
|
|
366
|
+
* clarity.
|
|
367
|
+
*/
|
|
368
|
+
severity?: Severity;
|
|
369
|
+
/**
|
|
370
|
+
* The requirement identifier. Example: 'SV-238196'.
|
|
371
|
+
*/
|
|
372
|
+
id: string;
|
|
373
|
+
/**
|
|
374
|
+
* The impactfulness or severity (0.0 to 1.0).
|
|
375
|
+
*/
|
|
376
|
+
impact: number;
|
|
377
|
+
/**
|
|
378
|
+
* A set of tags - usually metadata like CCI, STIG ID, severity.
|
|
379
|
+
*/
|
|
380
|
+
tags: { [key: string]: any };
|
|
381
|
+
/**
|
|
382
|
+
* The raw source code of the requirement. Set to null for manual-only requirements or
|
|
383
|
+
* requirements not yet implemented. Note that if this is an overlay, it does not include
|
|
384
|
+
* the underlying source code.
|
|
385
|
+
*/
|
|
386
|
+
code?: string;
|
|
387
|
+
/**
|
|
388
|
+
* The set of references to external documents.
|
|
389
|
+
*/
|
|
390
|
+
refs?: Reference[];
|
|
391
|
+
/**
|
|
392
|
+
* The explicit location of the requirement within the source code.
|
|
393
|
+
*/
|
|
394
|
+
sourceLocation?: SourceLocation;
|
|
395
|
+
/**
|
|
396
|
+
* The title - is nullable.
|
|
397
|
+
*/
|
|
398
|
+
title?: string;
|
|
399
|
+
[property: string]: any;
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
export interface Description {
|
|
403
|
+
/**
|
|
404
|
+
* The description text content.
|
|
405
|
+
*/
|
|
406
|
+
data: string;
|
|
407
|
+
/**
|
|
408
|
+
* Description category. The 'default' label is required for the primary description. Common
|
|
409
|
+
* labels: 'default', 'check', 'fix', 'rationale'. Tools may use custom labels.
|
|
410
|
+
*/
|
|
411
|
+
label: string;
|
|
412
|
+
[property: string]: any;
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
/**
|
|
416
|
+
* A reference to an external document.
|
|
417
|
+
*
|
|
418
|
+
* A reference using the 'ref' field.
|
|
419
|
+
*
|
|
420
|
+
* A URL pointing at the reference.
|
|
421
|
+
*
|
|
422
|
+
* A URI pointing at the reference.
|
|
423
|
+
*/
|
|
424
|
+
export interface Reference {
|
|
425
|
+
ref?: { [key: string]: any }[] | string;
|
|
426
|
+
url?: string;
|
|
427
|
+
uri?: string;
|
|
428
|
+
[property: string]: any;
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
/**
|
|
432
|
+
* Explicit severity rating. Typically derived from impact score but provided explicitly for
|
|
433
|
+
* clarity.
|
|
434
|
+
*
|
|
435
|
+
* Severity rating for a requirement. Typically derived from the numeric impact score.
|
|
436
|
+
*/
|
|
437
|
+
export enum Severity {
|
|
438
|
+
Critical = "critical",
|
|
439
|
+
High = "high",
|
|
440
|
+
Informational = "informational",
|
|
441
|
+
Low = "low",
|
|
442
|
+
Medium = "medium",
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
/**
|
|
446
|
+
* The explicit location of the requirement within the source code.
|
|
447
|
+
*
|
|
448
|
+
* The explicit location of a requirement within source code.
|
|
449
|
+
*/
|
|
450
|
+
export interface SourceLocation {
|
|
451
|
+
/**
|
|
452
|
+
* The line on which this requirement is located.
|
|
453
|
+
*/
|
|
454
|
+
line?: number;
|
|
455
|
+
/**
|
|
456
|
+
* Path to the file that this requirement originates from.
|
|
457
|
+
*/
|
|
458
|
+
ref?: string;
|
|
459
|
+
[property: string]: any;
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
/**
|
|
463
|
+
* A supported platform target. Example: the platform name being 'ubuntu'.
|
|
464
|
+
*/
|
|
465
|
+
export interface SupportedPlatform {
|
|
466
|
+
/**
|
|
467
|
+
* The location of the platform. Can be: 'os', 'aws', 'azure', or 'gcp'.
|
|
468
|
+
*/
|
|
469
|
+
platform?: string;
|
|
470
|
+
/**
|
|
471
|
+
* The platform family. Example: 'redhat'.
|
|
472
|
+
*/
|
|
473
|
+
platformFamily?: string;
|
|
474
|
+
/**
|
|
475
|
+
* The platform name - can include wildcards. Example: 'debian'.
|
|
476
|
+
*/
|
|
477
|
+
platformName?: string;
|
|
478
|
+
/**
|
|
479
|
+
* The release of the platform. Example: '20.04' for 'ubuntu'.
|
|
480
|
+
*/
|
|
481
|
+
release?: string;
|
|
482
|
+
[property: string]: any;
|
|
483
|
+
}
|