emasser 3.12.0 → 3.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/.env-example +18 -12
  3. data/.github/workflows/anchore-syft.yml +38 -0
  4. data/.github/workflows/codeql-analysis.yml +2 -2
  5. data/.github/workflows/push-to-docker-mail.yml +1 -2
  6. data/.github/workflows/push-to-docker.yml +2 -2
  7. data/.github/workflows/rubocop.yml +1 -1
  8. data/.github/workflows/test-cli.yml +4 -4
  9. data/.mergify.yml +11 -11
  10. data/.rubocop.yml +1 -1
  11. data/CHANGELOG.md +6 -0
  12. data/Dockerfile +6 -4
  13. data/Gemfile.lock +108 -64
  14. data/README.md +7 -7
  15. data/docs/features.md +492 -524
  16. data/emasser.gemspec +19 -13
  17. data/images/emasser_architecture.png +0 -0
  18. data/lib/emasser/configuration.rb +136 -35
  19. data/lib/emasser/constants.rb +4 -0
  20. data/lib/emasser/delete.rb +75 -7
  21. data/lib/emasser/errors.rb +9 -0
  22. data/lib/emasser/get.rb +610 -177
  23. data/lib/emasser/help/approvalCac_post_mapper.md +6 -5
  24. data/lib/emasser/help/approvalPac_post_mapper.md +1 -5
  25. data/lib/emasser/help/artifacts_del_mapper.md +2 -2
  26. data/lib/emasser/help/artifacts_post_mapper.md +23 -34
  27. data/lib/emasser/help/artifacts_put_mapper.md +28 -9
  28. data/lib/emasser/help/cloudresource_post_mapper.md +4 -3
  29. data/lib/emasser/help/controls_put_mapper.md +24 -16
  30. data/lib/emasser/help/hardware_post_mapper.md +41 -0
  31. data/lib/emasser/help/hardware_put_mapper.md +42 -0
  32. data/lib/emasser/help/milestone_del_mapper.md +1 -1
  33. data/lib/emasser/help/milestone_post_mapper.md +3 -1
  34. data/lib/emasser/help/milestone_put_mapper.md +1 -8
  35. data/lib/emasser/help/poam_del_mapper.md +1 -1
  36. data/lib/emasser/help/poam_post_mapper.md +40 -14
  37. data/lib/emasser/help/poam_put_mapper.md +43 -18
  38. data/lib/emasser/help/software_post_mapper.md +59 -0
  39. data/lib/emasser/help/software_put_mapper.md +60 -0
  40. data/lib/emasser/help/staticcode_post_mapper.md +0 -4
  41. data/lib/emasser/help/testresults_post_mapper.md +8 -11
  42. data/lib/emasser/output_converters.rb +50 -42
  43. data/lib/emasser/post.rb +603 -231
  44. data/lib/emasser/put.rb +453 -193
  45. data/lib/emasser/version.rb +1 -1
  46. metadata +51 -33
  47. data/images/emasser_architecture.jpg +0 -0
  48. data/images/emasser_diagram-Page-3.jpg +0 -0
data/docs/features.md CHANGED
@@ -12,21 +12,25 @@ Place the file on the path where the `eMASSer` command is executed.
12
12
 
13
13
  ### Required and Optional Environment Variables
14
14
  The following environment variables are required:
15
- * EMASSER_API_KEY=`<API key>`
16
- * EMASSER_USER_UID=`<unique identifier for the API Key (EMASSER_API_KEY)`
17
- * EMASSER_HOST_URL=`<FQDN of the eMASS server>`
18
- * EMASSER_KEY_FILE_PATH=`<path to your eMASS key in PEM format>`
19
- * EMASSER_CERT_FILE_PATH=`<path to your eMASS certificate in PEM format>`
20
- * EMASSER_KEY_FILE_PASSWORD=`<password for the key given in EMASSER_KEY_FILE_PATH>`
21
-
15
+ * EMASSER_API_KEY=`<The eMASS API key (api-key)>`
16
+ * EMASSER_HOST_URL=`<The Full Qualified Domain Name (FQDN) for the eMASS server>`
17
+ * EMASSER_KEY_FILE_PATH=`<The eMASS key.pem private key file in PEM format (.pem)>`
18
+ * EMASSER_CERT_FILE_PATH=`<The eMASS client.pem certificate file in PEM format (.pem)>`
19
+ * EMASSER_KEY_FILE_PASSWORD=`<Secret phrase used to protect the encryption key>`
20
+
21
+ Certain eMASS integrations may not require (the majority do) this variable:
22
+ * EMASSER_USER_UID=`<The eMASS User Unique Identifier (user-uid)>`
23
+
22
24
  The following environment variables are optional*:
23
- * EMASSER_CLIENT_SIDE_VALIDATION=`<client side validation - true or false (default true)>`
24
- * EMASSER_VERIFY_SSL=`<verify SSL - true or false (default true)>`
25
- * EMASSER_VERIFY_SSL_HOST=`<verify host SSL - true or false (default true)>`
26
- * EMASSER_DEBUGGING=`<set debugging - true or false (default false)>`
27
- * EMASSER_CLI_DISPLAY_NULL=`<display null value fields - true or false (default true)>`
28
- * EMASSER_EPOCH_TO_DATETIME=`<convert epoch to data/time value - true or false (default false)>`
29
-
25
+ * EMASSER_CLIENT_SIDE_VALIDATION=`<Client side validation - true or false (default true)>`
26
+ * EMASSER_VERIFY_SSL=`<Verify SSL - true or false (default true)>`
27
+ * EMASSER_VERIFY_SSL_HOST=`<Verify host SSL - true or false (default true)>`
28
+ * EMASSER_DEBUGGING=`<Set debugging - true or false (default false)>`
29
+ * EMASSER_CLI_DISPLAY_NULL=`<Display null value fields - true or false (default true)>`
30
+ * EMASSER_EPOCH_TO_DATETIME=`<Convert epoch to data/time value - true or false (default false)>`
31
+ * EMASSER_DOWNLOAD_DIR=`<Directory where exported files are saved (default eMASSerDownloads)>?`
32
+
33
+
30
34
  \* If not provided defaults are used
31
35
 
32
36
  The proper format to set these variables in the `.env` files is as follows:
@@ -49,148 +53,87 @@ The CLI invoke commands listed in this document shows them when executing from t
49
53
  #### Test Connection
50
54
  * [/api](#get-test-connection)
51
55
 
52
- #### System Endpoints
56
+ #### System
53
57
  * [/api/system](#get-system)
54
58
  * [/api/systems](#get-systems)
55
59
  * [/api/systems/{systemId}](#get-system)
56
60
 
57
- #### System Roles Endpoints
61
+ #### System Roles
58
62
  * [/api/system-roles](#get-roles)
59
63
  * [/api/system-roles/{roleCategory}](#get-roles)
60
64
 
61
- #### Controls Endpoint
65
+ #### Controls
62
66
  * [/api/systems/{systemId}/controls](#get-controls)
63
67
 
64
- #### Test Results Endpoint
68
+ #### Test Results
65
69
  * [/api/systems/{systemId}/test-results](#get-test_results)
66
70
 
67
- #### POA&Ms Endpoints
71
+ #### POA&Ms
68
72
  * [/api/systems/{systemId}/poams](#get-poams)
69
73
  * [/api/systems/{systemId}/poams/{poamId}](#get-poams)
70
74
 
71
- #### Milestones Endpoints
75
+ #### Milestones
72
76
  * [/api/systems/{systemId}/poams/{poamId}/milestones](#get-milestones)
73
77
  * [/api/systems/{systemId}/poams/{poamId}/milestones/{milestoneId})](#get-milestones)
74
78
 
75
- #### Artifacts Endpoints
79
+ #### Artifacts
76
80
  * [/api/systems/{systemId}/artifacts](#get-artifacts)
77
81
  * [/api/systems/{systemId}/artifacts-export](#get-artifacts)
78
82
 
79
- #### CAC Endpoint
83
+ #### CAC
80
84
  * [/api/systems/{systemId}/approval/cac](#get-cac)
81
85
 
82
- #### PAC Endpoint
86
+ #### PAC
83
87
  * [/api/systems/{systemId}/approval/pac](#get-pac)
84
88
 
85
- #### CMMC Assessment Endpoint
89
+ #### Hardware Baseline
90
+ * [/api/systems/{systemId}/hw-baseline](#get-hardware)
91
+
92
+ #### Software Baseline
93
+ * [/api/systems/{systemId}/sw-baseline](#get-software)
94
+
95
+ #### CMMC Assessment
86
96
  * [/api/cmmc-assessments](#get-cmmc)
87
97
 
88
- #### Workflow Definition Endpoint
98
+ #### Workflow Definition
89
99
  * [/api/workflow-definitions](#get-workflow_definitions)
90
100
 
91
- #### Workflow Instances Endpoint
101
+ #### Workflow Instances
92
102
  * [/api/systems/{systemId}/workflow-instances](#get-workflow_instances)
93
103
 
94
104
  ### [Dashboards](#get-dashboards)
95
105
 
96
- #### System Status Dashboard
97
- * [/api/dashboards/system-status-details](#system-status-endpoint)
98
-
99
- #### Enterprise Terms Conditions Dashboard
100
- * [/api/dashboards/system-terms-conditions-summary](#system-terms-conditions-endpoints)
101
- * [/api/dashboards/system-terms-conditions-details](#system-terms-conditions-endpoints)
102
-
103
- ### Enterprise Security Controls Dashboard
104
- * [/api/dashboards/system-control-compliance-summary](#enterprise-security-controls-endpoints)
105
- * [/api/dashboards/system-security-controls-details](#enterprise-security-controls-endpoints)
106
- * [/api/dashboards/system-assessment-procedures-details](#enterprise-security-controls-endpoints)
107
-
108
- ### Enterprise POA&M Dashboard
109
- * [/api/dashboards/system-poam-summary](#enterprise-poam-endpoints)
110
- * [/api/dashboards/system-poam-details](#enterprise-poam-endpoints)
111
-
112
- ### Enterprise Artifacts Dashboard
113
- * [/api/dashboards/system-artifacts-summary](#enterprise-artifacts-endpoints)
114
- * [/api/dashboards/system-artifacts-details](#enterprise-artifacts-endpoints)
115
-
116
- ### Hardware Baseline Dashboard
117
- * [/api/dashboards/system-hardware-summary](#hardware-baseline-endpoints)
118
- * [/api/dashboards/system-hardware-details](#hardware-baseline-endpoints)
119
-
120
- ### Enterprise Sensor-based Hardware Resources Dashboard
121
- * [/api/dashboards/system-sensor-hardware-summary](#enterprise-sensor-based-hardware-resources-endpoints)
122
- * [/api/dashboards/system-sensor-hardware-details](#enterprise-sensor-based-hardware-resources-endpoints)
123
-
124
- ### Software Baseline Dashboard
125
- * [/api/dashboards/system-software-summary](#software-baseline-endpoints)
126
- * [/api/dashboards/system-software-details](#software-baseline-endpoints)
127
-
128
- ### Enterprise Sensor-based Software Resources Dashboard
129
- * [/api/dashboards/system-sensor-software-summary](#enterprise-sensor-based-software-resources-endpoints)
130
- * [/api/dashboards/system-sensor-software-details](#enterprise-sensor-based-software-resources-endpoints)
131
- * [/api/dashboards/system-sensor-software-counts](#enterprise-sensor-based-software-resources-endpoints)
132
-
133
- ### Enterprise Vulnerability Dashboard
134
- * [/api/dashboards/system-vulnerability-summary](#enterprise-vulnerability-endpoints)
135
- * [/api/dashboards/system-device-findings-summary](#enterprise-vulnerability-endpoints)
136
- * [/api/dashboards/system-device-findings-details](#enterprise-vulnerability-endpoints)
137
-
138
- ### Ports and Protocols Dashboard
139
- * [/api/dashboards/system-ports-protocols-summary](#ports-and-protocols-endpoints)
140
- * [/api/dashboards/system-ports-protocols-details](#ports-and-protocols-endpoints)
141
-
142
- ### System CONMON Integration Status Dashboard
143
- * [/api/dashboards/system-conmon-integration-status-summary](#system-conmon-integration-status-endpoint)
144
-
145
- ### System Associations Dashboard
146
- * [/api/dashboards/system-associations-details](#system-associations-endpoint)
147
-
148
- ### Users Dashboard
149
- * [/api/dashboards/user-system-assignments-details](#users-endpoint)
150
-
151
- ### Privacy Compliance Dashboard
152
- * [/api/dashboards/system-privacy-summary](#privacy-compliance-endpoints)
153
- * [/api/dashboards/va-omb-fisma-saop-summary](#privacy-compliance-endpoints)
154
-
155
- ### System A&A Summary Dashboard
156
- * [/api/dashboards/va-system-aa-summary](#system-aa-summary-endpoint)
157
-
158
- ### System A2.0 Summary Dashboard
159
- * [/api/dashboards/va-system-a2-summary](#system-a20-summary-endpoint)
160
-
161
- ### System P.L. 109 Reporting Summary Dashboard
162
- * [/api/dashboards/va-system-pl-109-reporting-summary](#system-pl-109-reporting-summary-endpoint)
163
-
164
- ### FISMA Inventory Summary Dashboard
165
- * [/api/dashboards/va-system-fisma-inventory-summary](#fisma-inventory-summary-endpoints)
166
- * [/api/dashboards/va-system-fisma-inventory-crypto-summary](#fisma-inventory-summary-endpoints)
167
-
168
- ### Threat Risks Dashboard
169
- * [/api/dashboards/va-system-threat-risks-summary](#threat-risks-endpoints)
170
- * [/api/dashboards/va-system-threat-sources-details](#threat-risks-endpoints)
171
- * [/api/dashboards/va-system-threat-architecture-details](#threat-risks-endpoints)
172
106
 
173
107
  ## POST Endpoints
108
+ * [/api/api-key](#post-register-cert)
174
109
  * [/api/systems/{systemId}/test-results](#post-test_results)
175
110
  * [/api/systems/{systemId}/poam](#post-poams)
176
111
  * [/api/systems/{systemId}/poam/{poamId}/milestones](#post-milestones)
177
112
  * [/api/systems/{systemId}/artifacts](#post-artifacts)
178
113
  * [/api/systems/{systemId}/approval/cac](#post-cac)
179
114
  * [/api/systems/{systemId}/approval/pac](#post-pac)
180
- * [/api/systems/{systemId}/static-code-scans](#post-static_code_scan)
115
+ * [/api/systems/{systemId}/hw-baseline](#post-hardware)
116
+ * [/api/systems/{systemId}/sw-baseline](#post-software)
117
+ * [/api/systems/{systemId}/device-scan-results](#post-device-scan-results)
181
118
  * [/api/systems/{systemId}/cloud-resource-results](#post-cloud_resource)
182
119
  * [/api/systems/{systemId}/container-scan-results](#post-container)
120
+ * [/api/systems/{systemId}/static-code-scans](#post-static_code_scan)
121
+
183
122
 
184
123
  ## PUT Endpoints
185
124
  * [/api/systems/{systemId}/controls](#put-controls)
186
125
  * [/api/systems/{systemId}/poams](#put-poams)
187
126
  * [/api/systems/{systemId}/poams/{poamId}/milestones](#put-milestones)
188
127
  * [/api/systems/{systemId}/artifacts](#put-artifacts)
128
+ * [/api/systems/{systemId}/hw-baseline](#put-hardware)
129
+ * [/api/systems/{systemId}/sw-baseline](#put-software)
189
130
 
190
131
  ## DELETE Endpoints
191
132
  * [/api/systems/{systemId}/poams](#delete-poams)
192
133
  * [/api/systems/{systemId}/poams/{poamId}/milestones](#delete-milestones)
193
134
  * [/api/systems/{systemId}/artifacts](#delete-artifacts)
135
+ * [/api/systems/{systemId}/hw-baseline](#delete-hardware)
136
+ * [/api/systems/{systemId}/sw-baseline](#delete-software)
194
137
  * [/api/systems/{systemId}/cloud-resource-results](#delete-cloud-resource)
195
138
  * [/api/systems/{systemId}/container-scan-results](#delete-container)
196
139
 
@@ -203,15 +146,16 @@ Each CLI endpoint command has several layers of help.
203
146
  $ bundle exec exe/emasser get help
204
147
  Commands:
205
148
  emasser get artifacts # Get system Artifacts
206
- emasser get cac # Get location of one or many controls in...
149
+ emasser get cac # Get location of one or many controls in CAC
207
150
  emasser get cmmc # Get CMMC assessment information
208
151
  emasser get controls # Get system Controls
209
152
  emasser get dashboards # Get dashboard information
210
- emasser get help [COMMAND] # Describe subcommands or one specific su...
153
+ emasser get hardware # Get one or many hardware assets in a system
211
154
  emasser get milestones # Get system Milestones
212
155
  emasser get pac # Get status of active workflows in a system
213
156
  emasser get poams # Get system Poams
214
157
  emasser get roles # Get all system roles or by category Id
158
+ emasser get software # Get one or many software assets in a system
215
159
  emasser get system # Get a system ID given name/owner, or ge...
216
160
  emasser get systems # Get all systems
217
161
  emasser get test # Test connection to the configured eMASS...
@@ -236,14 +180,13 @@ Each CLI endpoint command has several layers of help.
236
180
  Options:
237
181
  -s, --systemId=N # A numeric value representing the system identification
238
182
  -f, --filename=FILENAME # The artifact file name
239
- -C, [--compress], [--no-compress] # BOOLEAN - true or false.
240
- -o, [--printToStdout=PRINTTOSTDOUT] # Output file content to terminal - not valid for zip files
183
+ -C, |compress], |no-compress] # BOOLEAN - true or false.
184
+ -o, |printToStdout=PRINTTOSTDOUT] # Output file content to terminal - not valid for zip files
241
185
  ```
242
186
  **The same format is applicable for POST, PUT and DELETE requests as well, however there may be additional help content**
243
187
 
244
188
 
245
189
  ## Usage - GET
246
-
247
190
  ### ```get test connection```
248
191
  ---
249
192
  The Test Connection endpoint provides the ability to verify connection to the web service.
@@ -254,7 +197,6 @@ A return of success from the call indicates that the CLI can reach the configure
254
197
  References [Required Environment Variables](#required-environment-variables) for the necessary environment variables.
255
198
 
256
199
  [top](#test-connection)
257
-
258
200
  ### ```get system```
259
201
 
260
202
  ---
@@ -264,7 +206,6 @@ There are two commands provided by the get system:
264
206
 
265
207
  - The `get system id` - returns system ID's based on the system `name` or `owner`
266
208
  - The `get system byId` - returns the system content for parameter system ID
267
-
268
209
  ### get system id
269
210
  Retrieves a system identification based on the SYSTEM_NAME (name) or SYSTEM_OWNER (systemOwner) fields.
270
211
 
@@ -275,8 +216,6 @@ To invoke the `get system id` use the following command:
275
216
  If using a platform that has `awk` installed the following command can be used to return only the system Id:
276
217
 
277
218
  $ bundle exec exe/emasser get system --system_name "system name" --system_owner "system owner" | awk "{ print $1 }"
278
-
279
-
280
219
  ### get system byId
281
220
  Retrieves the system content for provided identification (ID) number. To invoke the endpoint use the following command:
282
221
 
@@ -295,8 +234,7 @@ Retrieves the system content for provided identification (ID) number. To invoke
295
234
  |-I, --includePackage |BOOLEAN - true or false |
296
235
  |-p, --policy |Possible values: diacap, rmf, reporting |
297
236
 
298
- [top](#system-endpoints)
299
-
237
+ [top](#system)
300
238
  ### ```get systems```
301
239
 
302
240
  ----
@@ -320,7 +258,7 @@ To retrieve controls use the following command:
320
258
  |-p, --policy |Possible values: diacap, rmf, reporting |
321
259
  |_S, --reportsForScorecard |BOOLEAN - true or false |
322
260
 
323
- [top](#system-endpoints)
261
+ [top](#system)
324
262
  ### ```get roles```
325
263
 
326
264
  ----
@@ -347,7 +285,7 @@ There are two get endpoints for system roles:
347
285
  |-p, --policy |Possible values: diacap, rmf, reporting |
348
286
 
349
287
 
350
- [top](#system-roles-endpoints)
288
+ [top](#system-roles)
351
289
  ### ```get controls```
352
290
 
353
291
  ----
@@ -367,7 +305,7 @@ To retrieve controls use the following command:
367
305
  |---------------|:------------------------------------------|
368
306
  |-a, --acronyms |The system acronym(s) e.g "AC-1, AC-2" - if not provided all controls for systemId are returned |
369
307
 
370
- [top](#controls-endpoint)
308
+ [top](#controls)
371
309
  ### ```get test_results```
372
310
 
373
311
  ----
@@ -390,7 +328,7 @@ To retrieve test results use the following command:
390
328
  |-c, --ccis |String - The system CCIS string numerical value |
391
329
  |-L, --latestOnly |BOOLEAN - true or false|
392
330
 
393
- [top](#test-results-endpoint)
331
+ [top](#test-results)
394
332
  ### ```get poams```
395
333
 
396
334
  ----
@@ -428,7 +366,7 @@ There are two get endpoints for system poams:
428
366
  |-s, --systemId |Integer - Unique system identifier |
429
367
  |-p, --poamId |Integer - Unique poam identifier |
430
368
 
431
- [top](#poams-endpoints)
369
+ [top](#poams)
432
370
  ### ```get milestones```
433
371
 
434
372
  ----
@@ -464,7 +402,7 @@ There are two get endpoints for system milestones:
464
402
  |-p, --poamId |Integer - Unique poam identifier |
465
403
  |-m, --milestoneId |Integer - Unique milestone identifier |
466
404
 
467
- [top](#milestones-endpoints)
405
+ [top](#milestones)
468
406
  ### ```get artifacts```
469
407
 
470
408
  ----
@@ -509,7 +447,7 @@ There are two get endpoints that provides the ability to view existing `Artifact
509
447
  |-C, --compress |BOOLEAN - true or false. |
510
448
  |-o, --printToStdout |BOOLEAN - true or false - Output file content to terminal - not valid for zip files|
511
449
 
512
- [top](#artifacts-endpoints)
450
+ [top](#artifacts)
513
451
  ### ```get cac```
514
452
 
515
453
  ----
@@ -529,7 +467,7 @@ To view one or many Control Approval Chain (CAC) in a system specified system ID
529
467
  |----------------------|:----------------------------------------------|
530
468
  |-a, --controlAcronyms |String - The system acronym(s) e.g "AC-1, AC-2"|
531
469
 
532
- [top](#cac-endpoint)
470
+ [top](#cac)
533
471
  ### ```get pac```
534
472
 
535
473
  ----
@@ -544,7 +482,52 @@ To view one or many Package Approval Chain (PAC) in a system specified system ID
544
482
  |-------------|:----------------------------------|
545
483
  |-s, --systemId |Integer - Unique system identifier |
546
484
 
547
- [top](#pac-endpoint)
485
+ [top](#pac)
486
+ ### ```get hardware```
487
+
488
+ ---
489
+ To view Hardware Baseline assets use the following command:
490
+
491
+ ````
492
+ $ bundle exec exe/emasser get hardware assets -s, --systemId=SYSTEMID
493
+ ````
494
+ - required parameter is:
495
+
496
+ |parameter | type or values |
497
+ |-------------|:----------------------------------|
498
+ |-s, --systemId |Integer - Unique system identifier |
499
+
500
+ - Optional flags (parameters) are:
501
+
502
+ |parameter | type or values |
503
+ |-------------------|:--------------------------------------------------------------|
504
+ |-i, --pageIndex |Integer - The index of the starting page (default first page 0)|
505
+ |-s, --pageSize |Integer - The number of entries per page (default 20000) |
506
+
507
+
508
+ [top](#hardware-baseline)
509
+ ### ```get software```
510
+
511
+ ---
512
+ To view Software Baseline assets use the following command:
513
+
514
+ ````
515
+ $ bundle exec exe/emasser get software assets -s, --systemId=SYSTEMID
516
+ ````
517
+ - required parameter is:
518
+
519
+ |parameter | type or values |
520
+ |-------------|:----------------------------------|
521
+ |-s, --systemId |Integer - Unique system identifier |
522
+
523
+ - Optional flags (parameters) are:
524
+
525
+ |parameter | type or values |
526
+ |-------------------|:--------------------------------------------------------------|
527
+ |-i, --pageIndex |Integer - The index of the starting page (default first page 0)|
528
+ |-s, --pageSize |Integer - The number of entries per page (default 20000) |
529
+
530
+ [top](#software-baseline)
548
531
  ### ```get cmmc```
549
532
 
550
533
  ----
@@ -558,7 +541,7 @@ To view Cybersecurity Maturity Model Certification (CMMC) Assessments use the fo
558
541
  |----------------|:--------------------------------------|
559
542
  |-d, --sinceDate |Date - The CMMC date. Unix date format |
560
543
 
561
- [top](#cmmc-assessment-endpoint)
544
+ [top](#cmmc-assessment)
562
545
  ### ```get workflow_definitions```
563
546
 
564
547
  ----
@@ -574,7 +557,7 @@ To view Workflow Definitions use the following command:
574
557
  |-r, --registrationType |Possible values: assessAndAuthorize, assessOnly, guest, regular, functional, |
575
558
  | | cloudServiceProvider, commonControlProvider |
576
559
 
577
- [top](#workflow-definition-endpoint)
560
+ [top](#workflow-definition)
578
561
  ### ```get workflow_instances```
579
562
 
580
563
  ----
@@ -603,7 +586,7 @@ There are two get endpoints to view workflow instances:
603
586
  |---------------------|:---------------------------------------------|
604
587
  |-w, --workflowInstanceId |Integer - Unique workflow instance identifier |
605
588
 
606
- [top](#workflow-instances-endpoint)
589
+ [top](#workflow-instances)
607
590
  ### ```get dashboards```
608
591
 
609
592
  ----
@@ -623,202 +606,82 @@ All endpoint calls utilize the same parameter values, they are:
623
606
  |-I, --excludeInherited |BOOLEAN - If no value is specified, includes inherited data |
624
607
  |-i, --pageIndex |Integer - The index of the starting page (default first page 0)|
625
608
  |-s, --pageSize |Integer - The number of entries per page (default 20000) |
626
- [top](#dashboards)
627
609
 
628
- #### System Status Endpoint
629
- - Get systems status detail dashboard information
630
- ```
631
- $ bundle exec exe/emasser get dashboards status_details [-o, --orgId] <value> [options]
632
- ```
633
- [top](#system-status-dashboard)
634
- #### System Terms Conditions Endpoints
635
- - Get system terms/conditions summary dashboard information
636
- ```
637
- $ bundle exec exe/emasser get dashboards terms_conditions_summary [-o, --orgId] <value> [options]
638
- ```
639
- - Get system terms/conditions details dashboard information
640
- ```
641
- $ bundle exec exe/emasser get dashboards terms_conditions_detail [-o, --orgId] <value> [options]
642
- ```
643
- [top](#enterprise-terms-conditions-dashboard)
644
- ### Enterprise Security Controls Endpoints
645
- - Get systems control compliance summary dashboard information
646
- ```
647
- $ bundle exec exe/emasser get dashboards control_compliance_summary [-o, --orgId] <value> [options]
648
- ```
649
- - Get systems security control details dashboard information
650
- ```
651
- $ bundle exec exe/emasser get dashboards security_control_details [-o, --orgId] <value> [options]
652
- ```
653
- - Get systems assessment procedures details dashboard information
654
- ```
655
- $ bundle exec exe/emasser get dashboards assessment_procedures_details [-o, --orgId] <value> [options]
656
- ```
657
- [top](#enterprise-security-controls-dashboard)
658
- ### Enterprise POA&M Endpoints
610
+ The following dashboard endpoint commands are available
659
611
 
660
- - Get systems POA&Ms summary dashboard information
661
- ```
662
- $ bundle exec exe/emasser get dashboards poam_summary [-o, --orgId] <value> [options]
663
- ```
664
- - Get system POA&Ms details dashboard information
665
- ```
666
- $ bundle exec exe/emasser get dashboards poam_details [-o, --orgId] <value> [options]
667
- ```
668
- [top](#enterprise-poam-dashboard)
669
- ### Enterprise Artifacts Endpoints
670
- - Get artifacts summary dashboard information
671
- ```
672
- $ bundle exec exe/emasser get dashboards artifacts_summary [-o, --orgId] <value> [options]
673
- ```
674
- - Get artifacts details dashboard information
675
- ```
676
- $ bundle exec exe/emasser get dashboards artifacts_details [-o, --orgId] <value> [options]
677
- ```
678
- [top](#enterprise-artifacts-dashboard)
679
- ### Hardware Baseline Endpoints
680
- - Get system hardware summary dashboard information
681
- ```
682
- $ bundle exec exe/emasser get dashboards hardware_summary [-o, --orgId] <value> [options]
683
- ```
684
- - Get system hardware details dashboard information
685
- ```
686
- $ bundle exec exe/emasser get dashboards hardware_details [-o, --orgId] <value> [options]
687
- ```
688
- [top](#hardware-baseline-dashboard)
689
- ### Enterprise Sensor-based Hardware Resources Endpoints
690
- - Get sensor hardware summary dashboard information
691
- ```
692
- $ bundle exec exe/emasser get dashboards sensor_hardware_summary [-o, --orgId] <value> [options]
693
- ```
694
- - Get sensor hardware details dashboard information
695
- ```
696
- $ bundle exec exe/emasser get dashboards sensor_hardware_details [-o, --orgId] <value> [options]
697
- ```
698
- [top](#enterprise-sensor-based-hardware-resources-dashboard)
699
- ### Software Baseline Endpoints
700
- - Get software baseline summary dashboard information
701
- ```
702
- $ bundle exec exe/emasser get dashboards software_summary [-o, --orgId] <value> [options]
703
- ```
704
- - Get software baseline details dashboard information
705
- ```
706
- $ bundle exec exe/emasser get dashboards software_details [-o, --orgId] <value> [options]
707
- ```
708
- [top](#software-baseline-dashboard)
612
+ ```bash
613
+ emasser get dashboards application_findings_details # Get system ...
614
+ emasser get dashboards application_findings_summary # Get system ...
615
+ emasser get dashboards artifacts_details # Get systems...
616
+ emasser get dashboards artifacts_summary # Get systems...
617
+ emasser get dashboards assessment_procedures_details # Get systems...
618
+ emasser get dashboards assignments_details # Get user sy...
619
+ emasser get dashboards associations_details # Get system ...
620
+ emasser get dashboards atc_iatc_details # Get systems...
621
+ emasser get dashboards cmmc_compliance_summary # Get CMMC As...
622
+ emasser get dashboards cmmc_requirement_objectives_details # Get CMMC As...
623
+ emasser get dashboards cmmc_security_requirements_details # Get CMMC As...
624
+ emasser get dashboards cmmc_status_summary # Get CMMC As...
625
+ emasser get dashboards coastguard_fisma_metrics # Get coastgu...
626
+ emasser get dashboards connectivity_ccsd_details # Get systems...
627
+ emasser get dashboards connectivity_ccsd_summary # Get systems...
628
+ emasser get dashboards control_compliance_summary # Get systems...
629
+ emasser get dashboards critical_assets_summary # Get system ...
630
+ emasser get dashboards device_findings_details # Get system ...
631
+ emasser get dashboards device_findings_summary # Get system ...
632
+ emasser get dashboards fisma_inventory_crypto_summary # Get VA syst...
633
+ emasser get dashboards fisma_inventory_summary # Get VA syst...
634
+ emasser get dashboards fisma_metrics # Get FISMA m...
635
+ emasser get dashboards fisma_saop_summary # Get VA OMB-...
636
+ emasser get dashboards hardware_details # Get system ...
637
+ emasser get dashboards hardware_summary # Get system ...
638
+ emasser get dashboards integration_status_summary # Get system ...
639
+ emasser get dashboards organization_migration_status_summary # Get organiz...
640
+ emasser get dashboards poam_details # Get system ...
641
+ emasser get dashboards poam_summary # Get systems...
642
+ emasser get dashboards ports_protocols_details # Get system ...
643
+ emasser get dashboards ports_protocols_summary # Get system ...
644
+ emasser get dashboards privacy_summary # Get user sy...
645
+ emasser get dashboards questionnaire_details # Get systems...
646
+ emasser get dashboards questionnaire_summary # Get systems...
647
+ emasser get dashboards security_control_details # Get systems...
648
+ emasser get dashboards sensor_hardware_details # Get system ...
649
+ emasser get dashboards sensor_hardware_summary # Get system ...
650
+ emasser get dashboards sensor_software_counts # Get system ...
651
+ emasser get dashboards sensor_software_details # Get system ...
652
+ emasser get dashboards sensor_software_summary # Get system ...
653
+ emasser get dashboards software_details # Get system ...
654
+ emasser get dashboards software_summary # Get system ...
655
+ emasser get dashboards status_details # Get systems...
656
+ emasser get dashboards system_migration_status_summary # Get system ...
657
+ emasser get dashboards terms_conditions_details # Get systems...
658
+ emasser get dashboards terms_conditions_summary # Get systems...
659
+ emasser get dashboards threat_architecture_details # Get VA Syst...
660
+ emasser get dashboards threat_risk_details # Get VA Syst...
661
+ emasser get dashboards threat_risk_summary # Get VA Syst...
662
+ emasser get dashboards va_a2_summary # Get VA syst...
663
+ emasser get dashboards va_aa_summary # Get VA syst...
664
+ emasser get dashboards va_icamp_tableau_poam_details # Get VA ICAM...
665
+ emasser get dashboards va_pl_109_summary # Get VA Syst...
666
+ emasser get dashboards vulnerability_summary # Get system ...
667
+ emasser get dashboards workflows_history_details # Get system ...
668
+ emasser get dashboards workflows_history_stage_details # Get system ...
669
+ emasser get dashboards workflows_history_summary # Get system ...
670
+ ```
671
+ [top](#dashboards)
709
672
 
710
- ### Enterprise Sensor-based Software Resources Endpoints
711
- - Get sensor based software resources summary dashboard information
712
- ```
713
- $ bundle exec exe/emasser get dashboards sensor_software_summary [-o, --orgId] <value> [options]
714
- ```
715
- - Get sensor based software resources details dashboard information
716
- ```
717
- $ bundle exec exe/emasser get dashboards sensor_software_details [-o, --orgId] <value> [options]
718
- ```
719
- - Get sensor based software resources counts dashboard information
720
- ```
721
- $ bundle exec exe/emasser get dashboards sensor_software_counts [-o, --orgId] <value> [options]
722
- ```
723
- [top](#enterprise-sensor-based-software-resources-dashboard)
724
- ### Enterprise Vulnerability Endpoints
725
- - Get vulnerability summary dashboard information
726
- ```
727
- $ bundle exec exe/emasser get dashboards vulnerability_summary [-o, --orgId] <value> [options]
728
- ```
729
- - Get device findings summary dashboard information
730
- ```
731
- $ bundle exec exe/emasser get dashboards device_findings_summary [-o, --orgId] <value> [options]
732
- ```
733
- - Get device findings details dashboard information
734
- ```
735
- $ bundle exec exe/emasser get dashboards device_findings_details [-o, --orgId] <value> [options]
736
- ```
737
- [top](#enterprise-vulnerability-dashboard)
738
- ### Ports and Protocols Endpoints
739
- - Get ports and protocols summary dashboard information
740
- ```
741
- $ bundle exec exe/emasser get dashboards ports_protocols_summary [-o, --orgId] <value> [options]
742
- ```
743
- - Get ports and protocols details dashboard information
744
- ```
745
- $ bundle exec exe/emasser get dashboards ports_protocols_details [-o, --orgId] <value> [options]
746
- ```
747
- [top](#ports-and-protocols-dashboard)
748
-
749
- ### System CONMON Integration Status Endpoint
750
- - Get CONMON integration status summary dashboard information
751
- ```
752
- $ bundle exec exe/emasser get dashboards integration_status_summary [-o, --orgId] <value> [options]
753
- ```
754
- [top](#system-conmon-integration-status-dashboard)
755
- ### System Associations Endpoint
756
- - Get system associations details dashboard information
757
- ```
758
- $ bundle exec exe/emasser get dashboards associations_details [-o, --orgId] <value> [options]
759
- ```
760
- [top](#system-associations-dashboard)
761
- ### Users Endpoint
762
- - Get user system assignments details dashboard information
763
- ```
764
- $ bundle exec exe/emasser get dashboards assignments_details [-o, --orgId] <value> [options]
765
- ```
766
- [top](#users-dashboard)
767
- ### Privacy Compliance Endpoints
768
- - Get user system privacy summary dashboard information
769
- ```
770
- $ bundle exec exe/emasser get dashboards privacy_summary [-o, --orgId] <value> [options]
771
- ```
772
- - Get VA OMB-FISMA SAOP summary dashboard information
773
- ```
774
- $ bundle exec exe/emasser get dashboards fisma_saop_summary [-o, --orgId] <value> [options]
775
- ```
776
- [top](#privacy-compliance-dashboard)
777
- ### System A&A Summary Endpoint
778
- - Get VA system A&A summary dashboard information
779
- ```
780
- $ bundle exec exe/emasser get dashboards va_aa_summary [-o, --orgId] <value> [options]
781
- ```
782
- [top](#system-aa-summary-dashboard)
783
- ### System A2.0 Summary Endpoint
784
- - Get VA system A2.0 summary dashboard information
785
- ```
786
- $ bundle exec exe/emasser get dashboards va_a2_summary [-o, --orgId] <value> [options]
787
- ```
788
- [top](#system-a20-summary-dashboard)
789
- ### System P.L. 109 Reporting Summary Endpoint
790
- - Get VA System P.L. 109 reporting summary dashboard information
791
- ```
792
- $ bundle exec exe/emasser get dashboards va_pl_109_summary [-o, --orgId] <value> [options]
793
- ```
794
- [top](#system-pl-109-reporting-summary-dashboard)
795
- ### FISMA Inventory Summary Endpoints
796
- - Get VA system FISMA inventory summary dashboard information
797
- ```
798
- $ bundle exec exe/emasser get dashboards fisma_inventory_summary [-o, --orgId] <value> [options]
799
- ```
800
- - Get VA system FISMA inventory summary dashboard information
801
- ```
802
- $ bundle exec exe/emasser get dashboards fisma_inventory_crypto_summary [-o, --orgId] <value> [options]
803
- ```
804
- [top](#fisma-inventory-summary-dashboard)
805
- ### Threat Risks Endpoints
806
- - Get VA threat risk summary dashboard information
807
- ```
808
- $ bundle exec exe/emasser get dashboards va_threat_risk_summary [-o, --orgId] <value> [options]
809
- ```
810
- - Get VA threat source details dashboard information
811
- ```
812
- $ bundle exec exe/emasser get dashboards va_threat_source_details [-o, --orgId] <value> [options]
813
- ```
814
- - Get VA threat architecture details dashboard information
815
- ```
816
- $ bundle exec exe/emasser get dashboards va_threat_architecture_details [-o, --orgId] <value> [options]
817
- ```
818
- [top](#threat-risks-dashboard)
819
673
 
820
674
  ## Usage - POST
821
675
 
676
+ ### ``post register cert``
677
+ ---
678
+ The Registration endpoint provides the ability to register a certificate & obtain an API-key.
679
+
680
+ ```
681
+ $ bundle exec exe/emasser post register cert
682
+ ```
683
+
684
+ [top](#post-endpoints)
822
685
  ### ``post test_results``
823
686
  ---
824
687
  Test Result add (POST) endpoint API business rules.
@@ -828,40 +691,38 @@ Test Result add (POST) endpoint API business rules.
828
691
  | Tests Results cannot be saved if the "Test Date" is in the future. | `testDate` |
829
692
  | Test Results cannot be saved if a Security Control is "Inherited" in the system record. | `description` |
830
693
  | Test Results cannot be saved if an Assessment Procedure is "Inherited" in the system record. | `description` |
831
- | Test Results cannot be saved if the AP does not exist in the system. | `description` |
694
+ | Test Results cannot be saved if the Assessment Procedure does not exist in the system. | `description` |
832
695
  | Test Results cannot be saved if the control is marked "Not Applicable" by an Overlay. | `description` |
833
696
  | Test Results cannot be saved if the control is required to be assessed as "Applicable" by an Overlay.| `description` |
834
697
  | Test Results cannot be saved if the Tests Results entered is greater than 4000 characters.|`description`|
835
698
  | Test Results cannot be saved if the following fields are missing data: | `complianceStatus`, `testDate`, `testedBy`, `description`|
836
- | Test results cannot be saved if there is more than one test result per CCI |`cci`|
837
699
 
838
700
  ---
839
701
  To add (POST) test results use the following command:
840
702
 
841
703
  ````
842
- $ bundle exec exe/emasser post test_results add -s, --systemId [value] --cci [value] --testedBy [value] --testDate [value] --description [value] --complianceStatus [value]
704
+ $ bundle exec exe/emasser post test_results add [-s --systemId] <value> --assessmentProcedure <value> --testedBy <value> --testDate <value? --description <value> --complianceStatus <value>
843
705
  ````
844
- Note: If no POA&Ms or AP exist for the control (system), you will get this response:
706
+ Note: If no POA&Ms or Assessment Procedure exist for the control (system), you will get this response:
845
707
  "You have entered a Non-Compliant Test Result. You must create a POA&M Item for this Control and/or AP if one does not already exist."
846
708
 
847
709
  - required parameter are:
848
710
 
849
- |parameter | type or values |
850
- |-------------------|:------------------------------------------------------------|
851
- |-s, --systemId |Integer - Unique system identifier |
852
- |--cci |String - CCI associated with the test result. e.g "00221" |
853
- |--testedBy |String - Last Name, First Name. 100 Characters. |
854
- |--testDate |Date - Unix time format (e.g. 1499990400) |
855
- |--description |String - Include description of test result. 4000 Characters |
856
- |--complianceStatus |Possible values: Compliant, Non-Compliant, Not Applicable |
711
+ |parameter | type or values |
712
+ |----------------------|:-----------------------------------------------------------------|
713
+ |-s, --systemId |Integer - Unique system identifier |
714
+ |--assessmentProcedure |String - The Security Control Assessment Procedure being assessed |
715
+ |--testedBy |String - Last Name, First Name. 100 Characters. |
716
+ |--testDate |Date - Unix time format (e.g. 1499990400) |
717
+ |--description |String - Include description of test result. 4000 Characters |
718
+ |--complianceStatus |Possible values: Compliant, Non-Compliant, Not Applicable |
857
719
 
858
720
  **Note**
859
- For information at the command line use:
721
+ For additional information about command line usages invoke the following help command:
860
722
  ```
861
723
  $ bundle exec exe/emasser post test_results help add
862
724
  ```
863
725
  [top](#post-endpoints)
864
-
865
726
  ### ``post poams``
866
727
  ---
867
728
  Plan of Action and Milestones (POA&M) add (POST) endpoint API business rules.
@@ -920,7 +781,7 @@ The following POA&M parameters/fields have the following character limitations:
920
781
 
921
782
  To add (POST) POA&Ms use the following command:
922
783
  ```
923
- $ bundle exec exe/emasser post poams add -s, --systemId [value] --status [value] --vulnerabilityDescription [value] --sourceIdentVuln [value] --pocOrganization [value] --resources [value]
784
+ $ bundle exec exe/emasser post poams add [-s, --systemId] <value> --status <value> --vulnerabilityDescription <value> --sourceIdentifyingVulnerability <value> --pocOrganization <value> --resources <value>
924
785
  ```
925
786
  **Notes:**
926
787
  - The above listed parameters/fields are the minimal required.
@@ -935,86 +796,68 @@ $ bundle exec exe/emasser post poams add -s, --systemId [value] --status [value]
935
796
  Client API parameters/fields (required, conditional, and optional).
936
797
  - required parameter are:
937
798
 
938
- |parameter | type or values |
939
- |---------------------------|:---------------------------------------------------------------|
940
- |-s, --systemId |Integer - Unique system identifier |
941
- |--status |Possible Values: Ongoing,Risk Accepted,Completed,Not Applicable |
942
- |--vulnerabilityDescription |String - Vulnerability description for the POA&M Item |
943
- |--sourceIdentVuln |String - Include Source Identifying Vulnerability text |
944
- |--pocOrganization |String - Organization/Office represented |
945
- |--resources |String - List of resources used. Character Limit = 250 |
799
+ |parameter | type or values |
800
+ |---------------------------------|:---------------------------------------------------------------|
801
+ |-s, --systemId |Integer - Unique system identifier |
802
+ |--status |Possible Values: Ongoing,Risk Accepted,Completed,Not Applicable |
803
+ |--vulnerabilityDescription |String - Vulnerability description for the POA&M Item |
804
+ |--sourceIdentifyingVulnerability |String - Include Source Identifying Vulnerability text |
805
+ |--pocOrganization |String - Organization/Office represented |
806
+ |--resources |String - List of resources used. Character Limit = 250 |
946
807
 
947
808
  ** If any poc information is provided all POC fields are required. See additional details for POC fields below.
948
809
 
949
- - conditional parameters are:
810
+ - conditional parameters are*:
950
811
 
951
812
  |parameter | type or values |
952
813
  |--------------------------|:------------------------------------------------------------------------|
953
814
  |--milestones |JSON - see milestone format |
954
815
  |--pocFirstName |String - First name of POC |
955
816
  |--pocLastName |String - Last name of POC |
956
- |--pocEmail |String - Email address of POC |
817
+ |--pocEmail** |String - Email address of POC |
957
818
  |--pocPhoneNumber |String - Phone number of POC (area code) ***-**** format |
958
819
  |--severity |Possible values - Very Low, Low, Moderate, High, Very High |
959
820
  |--scheduledCompletionDate |Date - Required for ongoing and completed POA&M items. Unix time format |
960
821
  |--completionDate |Date - Field is required for completed POA&M items. Unix time format |
961
822
  |--comments |String - Field is required for completed and risk accepted POA&M items. |
962
823
 
824
+ \* Conditional parameters listed here are for Army organiztions, see Note below for additional command line help.
825
+
963
826
  ** If a POC email is supplied, the application will attempt to locate a user already registered within the application and pre-populate any information not explicitly supplied in the request. If no such user is found, these fields are required within the request:
964
827
  pocFirstName, pocLastName, pocPhoneNumber
965
828
 
966
829
  Milestone Format:
967
830
  - --milestone description:[value] scheduledCompletionDate:[value]
968
831
 
969
- - optional parameters are:
970
-
971
- |parameter | type or values |
972
- |--------------------|:-----------------------------------------------------------------------------------------|
973
- |--externalUid |String - External unique identifier for use with associating POA&M Items |
974
- |--controlAcronym |String - Control acronym associated with the POA&M Item. NIST SP 800-53 Revision 4 defined|
975
- |--cci |String - CCI associated with the test result |
976
- |--securityChecks |String - Security Checks that are associated with the POA&M |
977
- |--rawSeverity |Possible values: I, II, III |
978
- |--relevanceOfThreat |Possible values: Very Low, Low, Moderate, High, Very High |
979
- |--likelihood |Possible values: Very Low, Low, Moderate, High, Very High |
980
- |--impact |Possible values: Very Low, Low, Moderate, High, Very High |
981
- |--impactDescription |String - Include description of Security Control’s impact |
982
- |--residualRiskLevel |Possible values: Very Low, Low, Moderate, High, Very High |
983
- |--recommendations |String - Include recommendations |
984
- |--mitigation |String - Include mitigation explanation |
985
-
986
-
987
832
  **Note**
988
- For information at the command line use:
833
+ For additional information about command line usages invoke the following help command:
989
834
  ```
990
835
  $ bundle exec exe/emasser post poams help add
991
836
  ```
992
837
  [top](#post-endpoints)
993
-
994
838
  ### ``post milestones``
995
839
  ---
996
840
  To add (POST) milestones in a system for one or more POA&M items use the following command:
997
841
 
998
842
  ````
999
- $ bundle exec exe/emasser post milestones add -s, --systemId [value] -p, --poamId [value] --description [value] --scheduledCompletionDate [value]
843
+ $ bundle exec exe/emasser post milestones add [-s, --systemId] <value> [-p, --poamId] <value> [-d, --description] <value> [c, --scheduledCompletionDate] <value>
1000
844
  ````
1001
845
  - required parameter are:
1002
846
 
1003
- |parameter | type or values |
1004
- |---------------------------|:----------------------------------------------------|
1005
- |-s, --systemId |Integer - Unique system identifier |
1006
- |-p, --poamId |Integer - Unique item identifier |
1007
- |--description |String - Milestone item description. 2000 Characters |
1008
- |--scheduledCompletionDate |Date - Schedule completion date. Unix date format |
847
+ |parameter | type or values |
848
+ |------------------------------|:----------------------------------------------------|
849
+ |-s, --systemId |Integer - Unique system identifier |
850
+ |-p, --poamId |Integer - Unique item identifier |
851
+ |-d, --description |String - Milestone item description. 2000 Characters |
852
+ |-c, --scheduledCompletionDate |Date - Schedule completion date. Unix date format |
1009
853
 
1010
854
 
1011
855
  **Note**
1012
- For information at the command line use:
856
+ For additional information about command line usages invoke the following help command:
1013
857
  ```
1014
858
  $ bundle exec exe/emasser post milestones help add
1015
859
  ```
1016
860
  [top](#post-endpoints)
1017
-
1018
861
  ### ``post artifacts``
1019
862
  ---
1020
863
  The add (POST) artifacts endpoint accepts a single binary file with file extension.zip only. The command line (CI) reads the files provided and zips them before sending to eMASS.
@@ -1026,54 +869,49 @@ If no artifact is matched via filename to the application, a new artifact will b
1026
869
  - category: evidence
1027
870
  ```
1028
871
 
1029
- Business Rules:
1030
- - Artifact cannot be saved if the file does not have the following file extensions:
1031
- - .docx,.doc,.txt,.rtf,.xfdl,.xml,.mht,.mhtml,.html,.htm,.pdf
1032
- - .mdb,.accdb,.ppt,.pptx,.xls,.xlsx,.csv,.log
1033
- - .jpeg,.jpg,.tiff,.bmp,.tif,.png,.gif
1034
- - .zip,.rar,.msg,.vsd,.vsw,.vdx, .z{#}, .ckl,.avi,.vsdx
872
+ Business Rules
1035
873
  - Artifact cannot be saved if File Name (fileName) exceeds 1,000 characters
1036
- - Artifact cannot be saved if Description (description) exceeds 2,000 characters
874
+ - Artifact cannot be saved if Name (name) exceeds 100 characters
875
+ - Artifact cannot be saved if Description (description) exceeds 10,000 characters
1037
876
  - Artifact cannot be saved if Reference Page Number (refPageNumber) exceeds 50 characters
877
+ - Artifact cannot be saved if the file does not have an allowable file extension/type.
1038
878
  - Artifact version cannot be saved if an Artifact with the same file name already exist in the system.
1039
879
  - Artifact cannot be saved if the file size exceeds 30MB.
1040
880
  - Artifact cannot be saved if the Last Review Date is set in the future.
881
+ - Artifact cannot be saved if the following fields are missing data:
882
+ - Filename
883
+ - Type
884
+ - Category
1041
885
  ---
1042
886
  To add (POST) artifacts use the following command:
1043
887
 
1044
888
  ```
1045
- $ bundle exec exe/emasser post artifacts upload -s, --systemId [value] [--isTemplate or --no-isTemplate] --type [value] --category [value] --files [value...value]
889
+ $ bundle exec exe/emasser post artifacts upload [-s, --systemId] <value> [-f, --files] <value...value> [-B, --isBulk or --no-isBulk] -[-T, --isTemplate or --no-isTemplate] [-t, --type] <value> [-c, --category] <value>
1046
890
  ```
1047
891
 
1048
892
  - required parameter are:
1049
893
 
1050
- |parameter | type or values |
1051
- |----------------|:----------------------------------------------------|
894
+ |parameter | type or values |
895
+ |--------------------|:----------------------------------------------------|
1052
896
  |-s, --systemId |Integer - Unique system identifier |
1053
- |--isTemplate |Boolean - Indicates whether an artifact is a template|
1054
- |--type |Possible Values: Procedure, Diagram, Policy, Labor, Document, Image, Other, Scan Result, Auditor Report|
1055
- |--category |Possible Values: Implementation Guidance, Evidence |
1056
- |--files |String - File names (to include path) to be uploaded into eMASS as artifacts |
897
+ |-T, --isTemplate |Boolean - Indicates whether an artifact is a template|
898
+ |-t, --type |Possible Values: Procedure, Diagram, Policy, Labor, Document, Image, Other, Scan Result, Auditor Report|
899
+ |-c, --category |Possible Values: Implementation Guidance, Evidence |
900
+ |-f, --files |String - File names (to include path) to be uploaded into eMASS as artifacts |
1057
901
 
1058
902
  - optional parameter are:
1059
903
 
1060
- |parameter | type or values |
1061
- |-------------------------|:------------------------------------------------------|
1062
- |--description |String - Artifact description. 2000 Characters |
1063
- |--refPageNumber |String - Artifact reference page number. 50 Characters |
1064
- |-c, --ccis |String - CCIs associated with artifact |
1065
- |--controls |String - Control acronym associated with the artifact. NIST SP 800-53 Revision 4 defined|
1066
- |--artifactExpirationDate |Date - Date Artifact expires and requires review. In Unix Date Format|
1067
- |--lastReviewedDate |Date - Date Artifact was last reviewed. In Unix Date Format |
904
+ |parameter | type or values |
905
+ |----------------|:------------------------------------------------------|
906
+ |-B, --isBulk |Boolean - Set to false for single file upload, true for multiple file upload (expects a .zip file)|
1068
907
 
1069
908
 
1070
909
  **Note**
1071
- For information at the command line use:
910
+ For additional information about command line usages invoke the following help command:
1072
911
  ```
1073
912
  $ bundle exec exe/emasser post artifacts help upload
1074
913
  ```
1075
914
  [top](#post-endpoints)
1076
-
1077
915
  ### ``post cac``
1078
916
  ----
1079
917
  Submit control to second role of CAC
@@ -1084,28 +922,27 @@ Business Rule
1084
922
  To add (POST) test CAC use the following command:
1085
923
 
1086
924
  ````
1087
- $ bundle exec exe/emasser post pac add -s, --systemId [value] --controlAcronym [value] --comments [value]
925
+ $ bundle exec exe/emasser post pac add [-s, --systemId] <value> [-a, --controlAcronym] <value> [-c, --comments] <value>
1088
926
  ````
1089
927
  - required parameter are:
1090
928
 
1091
- |parameter | type or values |
1092
- |-------------------|:------------------------------------------------------------|
929
+ |parameter | type or values |
930
+ |-----------------------|:------------------------------------------------------------|
1093
931
  |-s, --systemId |Integer - Unique system identifier |
1094
- |--controlAcronym |String - Control acronym associated with the POA&M Item. NIST SP 800-53 Revision 4 defined |
932
+ |-a, --controlAcronym |String - Control acronym associated with the POA&M Item. NIST SP 800-53 Revision 4 defined |
1095
933
 
1096
934
  - conditional parameter is:
1097
935
 
1098
936
  |parameter | type or values |
1099
937
  |-------------------|:-------------------------------------------|
1100
- |--comments |String -The control approval chain comments |
938
+ |-c, --comments |String -The control approval chain comments |
1101
939
 
1102
940
  **Note**
1103
- For information at the command line use:
941
+ For additional information about command line usages invoke the following help command:
1104
942
  ```
1105
943
  $ bundle exec exe/emasser post cac help add
1106
944
  ```
1107
945
  [top](#post-endpoints)
1108
-
1109
946
  ### ``post pac``
1110
947
  ----
1111
948
  Submit control to second role of CAC
@@ -1113,74 +950,109 @@ Submit control to second role of CAC
1113
950
  To add (POST) test PAC use the following command:
1114
951
 
1115
952
  ````
1116
- $ bundle exec exe/emasser post pac add -s, --systemId [value] --workflow [value] --name [value] --comments [value]
953
+ $ bundle exec exe/emasser post pac add [-s, --systemId] <value> [-f, --workflow] <value> [-n, --name] <value> [-c --comments] <value>
1117
954
  ````
1118
955
  - required parameter are:
1119
956
 
1120
- |parameter | type or values |
1121
- |--------------|:--------------------------------------------------------------------------|
1122
- |-s, --systemId |Integer - Unique system identifier |
1123
- |--workflow |Possible Values: Assess and Authorize, Assess Only, Security Plan Approval |
1124
- |--name |String - Package name. 100 Characters |
1125
- |--comments |String - Comments submitted upon initiation of the indicated workflow, 4,000 character|
957
+ |parameter | type or values |
958
+ |---------------|:--------------------------------------------------------------------------|
959
+ |-s, --systemId |Integer - Unique system identifier |
960
+ |-f, --workflow |Possible Values: Assess and Authorize, Assess Only, Security Plan Approval |
961
+ |-n, --name |String - Package name. 100 Characters |
962
+ |-c, --comments |String - Comments submitted upon initiation of the indicated workflow, 4,000 character|
1126
963
 
1127
964
  **Note**
1128
- For information at the command line use:
965
+ For additional information about command line usages invoke the following help command:
1129
966
  ```
1130
967
  $ bundle exec exe/emasser post pac help add
1131
968
  ```
1132
969
  [top](#post-endpoints)
1133
-
1134
- ### ``post static_code_scan``
1135
- ----
1136
- To add (POST) static code scans use the following command:
970
+ ### ``post hardware``
971
+ ---
972
+ Add (POST) one or many hardware assets in a system.
1137
973
 
1138
974
  ````
1139
- $ bundle exec exe/emasser post scan_findings add -s, --systemId [value] --applicationName [value] --version [value] --codeCheckName [value] --scanDate [value] --cweId [value]
975
+ $ bundle exec exe/emasser post hardware add [-s, --systemId] <value> [-a, --assetName] <value>
1140
976
  ````
1141
- - required parameter are:
1142
977
 
1143
- |parameter | type or values |
1144
- |-------------------|:-----------------------------------------------------------|
1145
- |-s, --systemId |Integer - Unique system identifier |
1146
- |--applicationName |String - Name of the software application that was assessed |
1147
- |--version |String - The version of the application |
1148
- |--codeCheckName |Strings - Name of the software vulnerability or weakness |
1149
- |--scanDate |Date - The findings scan date - Unix time format |
1150
- |--cweId |String - The Common Weakness Enumerator (CWE) identifier |
978
+ - required parameter are:
1151
979
 
1152
- - optional parameters are:
980
+ |parameter | type or values |
981
+ |----------------|:-----------------------------------|
982
+ |-s, --systemId |Integer - Unique system identifier |
983
+ |-a, --assetName |String - Name of the hardware asset |
1153
984
 
1154
- |parameter | type or values |
1155
- |-------------------|:------------------------------------------------------|
1156
- |--rawSeverity* |Possible Values: Low, Medium, Moderate, High, Critical |
1157
- |--count |Integer - Number of instances observed for a specified |
1158
985
 
1159
- *rawSeverity: In eMASS, values of "Critical" will appear as "Very High", and values of "Medium" will appear as "Moderate". Any values not listed as options in the list above will map to "Unknown" and appear as blank values.
986
+ **Note**
987
+ For additional information about command line usages invoke the following help command:
988
+ ```
989
+ $ bundle exec exe/emasser post hardware help add
990
+ ```
1160
991
 
1161
- To clear (POST) static code scans use the following command:
992
+ [top](#post-endpoints)
993
+ ### ``post software``
994
+ ---
995
+ Add (POST) one or many software assets in a system.
1162
996
 
1163
997
  ````
1164
- $ bundle exec exe/emasser post scan_findings clear -s, --systemId [value] --applicationName [value] --version [value] --clearFindings
998
+ $ bundle exec exe/emasser post software add [-s, --systemId] <value> [-V --softwareVendor] <value> [-N, --softwareName] <value> [-v, --version] <value>
1165
999
  ````
1000
+
1166
1001
  - required parameter are:
1167
1002
 
1168
- |parameter | type or values |
1169
- |-------------------|:-----------------------------------------------------------|
1170
- |-s, --systemId |Integer - Unique system identifier |
1171
- |--applicationName |String - Name of the software application that was assessed |
1172
- |--clearFindings* |Boolean - To clear an application's findings set it to true |
1173
-
1174
- *The clearFindings field is an optional field, but required with a value of "True" to clear out all application findings for a single application/version pairing.
1003
+ |parameter | type or values |
1004
+ |------------------------|:---------------------------------------------------------------|
1005
+ |-s, --systemId |Integer - A numeric value representing the system identification|
1006
+ |-S, --softwareId |String - Unique software identifier |
1007
+ |-V, --softwareVendor |String - Vendor of the software asset |
1008
+ |-N, --softwareName |String - Name of the software asset |
1009
+ |-v, --version |String - Version of the software asset |
1175
1010
 
1176
1011
  **Note**
1177
- For information at the command line use:
1012
+ For additional information about command line usages invoke the following help command:
1178
1013
  ```
1179
- $ bundle exec exe/emasser post scan_findings help add
1014
+ $ bundle exec exe/emasser post software help add
1180
1015
  ```
1016
+
1181
1017
  [top](#post-endpoints)
1018
+ ### ``post device scan results``
1019
+ The body of a request through the Device Scan Results POST endpoint accepts a single binary file. Specific file extensions are expected depending upon the scanType parameter. For example, .ckl or .cklb files are accepted when using scanType is set to disaStigViewerCklCklb.
1020
+
1021
+ When set to acasAsrArf or policyAuditor, a .zip file is expected which should contain a single scan result (for example, a single pair of .asr and .arf files). Single files are expected for all other scan types as this endpoint requires files to be uploaded consecutively as opposed to in bulk.
1022
+
1023
+ Current scan types that are supported:
1024
+ - ACAS: ASR/ARF
1025
+ - ACAS: NESSUS
1026
+ - DISA STIG Viewer: CKL/CKLB
1027
+ - DISA STIG Viewer: CMRS
1028
+ - Policy Auditor
1029
+ - SCAP Compliance Checker
1030
+
1031
+ ***NOTE:*** The CLI accepts multiple files, adds them to a zip archive and submits to the endpoint.
1032
+
1033
+ To add a upload device scan results in the assets module for a system use the following command:
1034
+ ````
1035
+ $ bundle exec exe/emasser post device_scans add -s, --systemId [value] -f, --filename [file1 file2 ...] -t, --scanType [type]
1036
+
1037
+ ````
1038
+ - required parameter are:
1182
1039
 
1183
- ### ```post cloud_resource```
1040
+ |parameter | type or values |
1041
+ |--------------------|:--------------------------------------------------------------------------|
1042
+ |-s, --systemId |Integer - Unique system identifier |
1043
+ |-f, --filename |string - The file(s) to upload (see information above) |
1044
+ |-t, --scanType |String - The device scan type to upload|
1045
+ ||Options are: [acasAsrArf, acasNessus, disaStigViewerCklCklb, disaStigViewerCmrs, policyAuditor, or scapComplianceChecker]
1046
+
1047
+
1048
+ - optional parameters are:
1049
+
1050
+ |parameter | type or values |
1051
+ |-------------------|:------------------------------------------------------|
1052
+ |-B, --isBaseline |Boolean - Indicates that the imported file represents a baseline scan that includes all findings and results |
1053
+
1054
+ [top](#post-endpoints)
1055
+ ### ``post cloud_resource``
1184
1056
  ---
1185
1057
 
1186
1058
  The following Cloud Resource parameters/fields have the following character limitations:
@@ -1242,15 +1114,13 @@ To add a cloud resource and their scan results in the assets module for a system
1242
1114
 
1243
1115
 
1244
1116
  **Note**
1245
- For information at the command line use:
1117
+ For additional information about command line usages invoke the following help command:
1246
1118
  ```
1247
1119
  $ bundle exec exe/emasser post cloud_resource help add
1248
1120
  ```
1249
1121
 
1250
1122
  [top](#post-endpoints)
1251
-
1252
-
1253
- ### ```post container```
1123
+ ### ``post container``
1254
1124
  ---
1255
1125
  The following Container parameters/fields have the following character limitations:
1256
1126
  - Fields that can not exceed 100 characters:
@@ -1264,8 +1134,6 @@ The following Container parameters/fields have the following character limitatio
1264
1134
  - Fields that can not exceed 1000 characters:
1265
1135
  - Result Comments (`message`)
1266
1136
 
1267
-
1268
-
1269
1137
  To add containers and their scan results in the assets module for a system use the following command:
1270
1138
  ````
1271
1139
  $ bundle exec ruby exe/emasser post container add -s, --systemId [value] --containerId [value] --containerName [value] --time [value] --benchmark [value] --lastSeen [value] --ruleId [value] --status [value]
@@ -1302,11 +1170,60 @@ To add containers and their scan results in the assets module for a system use t
1302
1170
  |--message |String - Comments for the result
1303
1171
 
1304
1172
  **Note**
1305
- For information at the command line use:
1173
+ For additional information about command line usages invoke the following help command:
1306
1174
  ```
1307
1175
  $ bundle exec exe/emasser post container help add
1308
1176
  ```
1309
1177
  [top](#post-endpoints)
1178
+ ### ``post static_code_scan``
1179
+ ----
1180
+ To add (POST) static code scans use the following command:
1181
+
1182
+ ````
1183
+ $ bundle exec exe/emasser post scan_findings add -s, --systemId [value] --applicationName [value] --version [value] --codeCheckName [value] --scanDate [value] --cweId [value]
1184
+ ````
1185
+ - required parameter are:
1186
+
1187
+ |parameter | type or values |
1188
+ |-------------------|:-----------------------------------------------------------|
1189
+ |-s, --systemId |Integer - Unique system identifier |
1190
+ |--applicationName |String - Name of the software application that was assessed |
1191
+ |--version |String - The version of the application |
1192
+ |--codeCheckName |Strings - Name of the software vulnerability or weakness |
1193
+ |--scanDate |Date - The findings scan date - Unix time format |
1194
+ |--cweId |String - The Common Weakness Enumerator (CWE) identifier |
1195
+
1196
+ - optional parameters are:
1197
+
1198
+ |parameter | type or values |
1199
+ |-------------------|:------------------------------------------------------|
1200
+ |--rawSeverity* |Possible Values: Low, Medium, Moderate, High, Critical |
1201
+ |--count |Integer - Number of instances observed for a specified |
1202
+
1203
+ *rawSeverity: In eMASS, values of "Critical" will appear as "Very High", and values of "Medium" will appear as "Moderate". Any values not listed as options in the list above will map to "Unknown" and appear as blank values.
1204
+
1205
+ To clear (POST) static code scans use the following command:
1206
+
1207
+ ````
1208
+ $ bundle exec exe/emasser post scan_findings clear -s, --systemId [value] --applicationName [value] --version [value] --clearFindings
1209
+ ````
1210
+ - required parameter are:
1211
+
1212
+ |parameter | type or values |
1213
+ |-------------------|:-----------------------------------------------------------|
1214
+ |-s, --systemId |Integer - Unique system identifier |
1215
+ |--applicationName |String - Name of the software application that was assessed |
1216
+ |--clearFindings* |Boolean - To clear an application's findings set it to true |
1217
+
1218
+ *The clearFindings field is an optional field, but required with a value of "True" to clear out all application findings for a single application/version pairing.
1219
+
1220
+ **Note**
1221
+ For additional information about command line usages invoke the following help command:
1222
+ ```
1223
+ $ bundle exec exe/emasser post scan_findings help add
1224
+ ```
1225
+ [top](#post-endpoints)
1226
+
1310
1227
 
1311
1228
  ## Usage - PUT
1312
1229
 
@@ -1351,13 +1268,26 @@ Updating (PUT) a Control can be accomplished by invoking the following command:
1351
1268
 
1352
1269
  |parameter | type or values |
1353
1270
  |--------------------------|:-------------------------------------------------------------------------|
1354
- |-s, --systemId |Integer - Unique system identifier |
1271
+ |--systemId |Integer - Unique system identifier |
1355
1272
  |--acronym |String - The system acronym(s) e.g "AC-1, AC-2" |
1356
1273
  |--responsibleEntities |String - Description of the responsible entities for the Security Control |
1357
1274
  |--controlDesignation |Possible values: Common, System-Specific, or Hybrid |
1358
1275
  |--estimatedCompletionDate |Date - Unix time format (e.g. 1499990400) |
1359
1276
  |--comments |String - Security control comments |
1360
1277
 
1278
+ - conditional parameters are:
1279
+
1280
+ |parameter | type or values |
1281
+ |------------------------|:----------------------------------------------|
1282
+ |--commonControlProvider |Possible values: DoD, Component, Enclave|
1283
+ |--naJustification |String - Justification for Security Controls deemed Not Applicable to the system |
1284
+ |--slcmCriticality |String - Criticality of Security Control regarding SLCM |
1285
+ |--slcmFrequency |Possible values - Constantly, Daily, Weekly, Monthly, Quarterly, Semi-Annually, Annually, or Undetermined |
1286
+ |--slcmMethod |Possible values: Automated, Semi-Automated, Manual, or Undetermined |
1287
+ |--slcmReporting |String - The System-Level Continuous Monitoring reporting |
1288
+ |--slcmTracking |String - The System-Level Continuous Monitoring tracking |
1289
+ |--slcmComments |String, - Additional comments for Security Control regarding SLCM |
1290
+
1361
1291
  - optional parameters are:
1362
1292
 
1363
1293
  |parameter | type or values |
@@ -1371,27 +1301,18 @@ Updating (PUT) a Control can be accomplished by invoking the following command:
1371
1301
  |--impact |Possible values: Very Low, Low, Moderate, High, Very High |
1372
1302
  |--impactDescription |String, - Description of the security control impact |
1373
1303
  |--residualRiskLevel |Possible values: Very Low, Low, Moderate, High, Very High |
1304
+ |--mitigation |String - Information about the Non-Compliant Security Control's vulnerabilities|
1305
+ |--applicationLayer |String - Navy specific applicablr to Financial Management overlay|
1306
+ |--databaseLayer |String - Navy specific applicablr to Financial Management overlay|
1307
+ |--operatingSystemLayer |String - Navy specific applicablr to Financial Management overlay|
1374
1308
 
1375
- - conditional parameters are:
1376
-
1377
- |parameter | type or values |
1378
- |------------------------|:----------------------------------------------|
1379
- |--commonControlProvider |Possible values: DoD, Component, Enclave|
1380
- |--naJustification |String - Justification for Security Controls deemed Not Applicable to the system |
1381
- |--slcmCriticality |String - Criticality of Security Control regarding SLCM |
1382
- |--slcmFrequency |Possible values - Constantly, Daily, Weekly, Monthly, Quarterly, Semi-Annually, Annually, or Undetermined |
1383
- |--slcmMethod |Possible values: Automated, Semi-Automated, Manual, or Undetermined |
1384
- |--slcmReporting |String - The System-Level Continuous Monitoring reporting |
1385
- |--slcmTracking |String - The System-Level Continuous Monitoring tracking |
1386
- |--slcmComments |String, - Additional comments for Security Control regarding SLCM |
1387
1309
 
1388
1310
  **Note**
1389
- For information at the command line use:
1311
+ For additional information about command line usages invoke the following help command:
1390
1312
  ```
1391
1313
  $ bundle exec exe/emasser put controls help update
1392
1314
  ```
1393
1315
  [top](#put-emdpoints)
1394
-
1395
1316
  ### ``put poams``
1396
1317
 
1397
1318
  ----
@@ -1503,111 +1424,143 @@ Updating (PUT) a POA&M can be accomplished by invoking the following command:
1503
1424
  - --milestone milestoneId:[value] description:[value] scheduledCompletionDate:[value]
1504
1425
  - If a milestoneId is not provide a new milestone is created
1505
1426
 
1506
- - optional parameters are:
1507
-
1508
- |parameter | type or values |
1509
- |--------------------|:-----------------------------------------------------------------------------------------|
1510
- |--externalUid |String - External unique identifier for use with associating POA&M Items |
1511
- |--controlAcronym |String - Control acronym associated with the POA&M Item. NIST SP 800-53 Revision 4 defined|
1512
- |--cci |String - CCI associated with the test result |
1513
- |--securityChecks |String - Security Checks that are associated with the POA&M |
1514
- |--rawSeverity |Possible values: I, II, III |
1515
- |--relevanceOfThreat |Possible values: Very Low, Low, Moderate, High, Very High |
1516
- |--likelihood |Possible values: Very Low, Low, Moderate, High, Very High |
1517
- |--impact |Possible values: Very Low, Low, Moderate, High, Very High |
1518
- |--impactDescription |String - Include description of Security Control’s impact |
1519
- |--residualRiskLevel |Possible values: Very Low, Low, Moderate, High, Very High |
1520
- |--recommendations |String - Include recommendations |
1521
- |--mitigation |String - Include mitigation explanation. 2000 Characters |
1522
-
1523
1427
  **Note**
1524
- For information at the command line use:
1428
+ For additional information about command line usages invoke the following help command:
1525
1429
  ```
1526
1430
  $ bundle exec exe/emasser put poams help update
1527
1431
  ```
1528
1432
  [top](#put-endpoints)
1529
-
1530
1433
  ### ``put milestones``
1531
1434
 
1532
1435
  ----
1533
1436
 
1534
- To add (POST) milestones in a system for one or more POA&M items use the following command:
1437
+ Updating (PUT) milestones in a system for one or more POA&M items use the following command:
1535
1438
 
1536
1439
  ````
1537
- $ bundle exec exe/emasser put milestones update [PARAMETERS]
1440
+ $ bundle exec exe/emasser post milestones update [-s, --systemId] <value> [-p, --poamId] <value> [-m, --milestoneId] <value> [-d, --description] <value> [c, --scheduledCompletionDate] <value>
1538
1441
  ````
1539
1442
  - required parameter are:
1540
1443
 
1541
- |parameter | type or values |
1542
- |---------------------------|:----------------------------------------------------|
1444
+ |parameter | type or values |
1445
+ |-------------------------------|:----------------------------------------------------|
1543
1446
  |-s, --systemId |Integer - Unique system identifier |
1544
1447
  |-p, --poamId |Integer - Unique poam identifier |
1545
1448
  |-m, --milestoneId |Integer - Unique milestone identifier |
1546
- |--description |String - Milestone item description. 2000 Characters |
1547
- |--scheduledCompletionDate |Date - Schedule completion date. Unix date format |
1449
+ |-d, --description |String - Milestone item description. 2000 Characters |
1450
+ |-c, --scheduledCompletionDate |Date - Schedule completion date. Unix date format |
1548
1451
 
1549
1452
 
1550
1453
  **Note**
1551
- For information at the command line use:
1454
+ For additional information about command line usages invoke the following help command:
1552
1455
  ```
1553
1456
  $ bundle exec exe/emasser put milestones help update
1554
1457
  ```
1555
1458
  [top](#put-endpoints)
1556
-
1557
1459
  ### ``put artifacts``
1558
1460
 
1559
1461
  ----
1560
1462
  Business Rules
1561
1463
 
1562
- - Artifact cannot be saved if the file does not have the following file extensions:
1563
- - .docx,.doc,.txt,.rtf,.xfdl,.xml,.mht,.mhtml,.html,.htm,.pdf
1564
- - .mdb,.accdb,.ppt,.pptx,.xls,.xlsx,.csv,.log
1565
- - .jpeg,.jpg,.tiff,.bmp,.tif,.png,.gif
1566
- - .zip,.rar,.msg,.vsd,.vsw,.vdx, .z{#}, .ckl,.avi,.vsdx
1567
1464
  - Artifact cannot be saved if File Name (fileName) exceeds 1,000 characters
1568
- - Artifact cannot be saved if Description (description) exceeds 2,000 characters
1465
+ - Artifact cannot be saved if Name (name) exceeds 100 characters
1466
+ - Artifact cannot be saved if Description (description) exceeds 10,000 characters
1569
1467
  - Artifact cannot be saved if Reference Page Number (refPageNumber) exceeds 50 characters
1570
1468
  - Artifact cannot be saved if the file does not have an allowable file extension/type.
1571
1469
  - Artifact version cannot be saved if an Artifact with the same file name already exist in the system.
1572
1470
  - Artifact cannot be saved if the file size exceeds 30MB.
1573
1471
  - Artifact cannot be saved if the Last Review Date is set in the future.
1472
+ - Artifact cannot be saved if the following fields are missing data:
1473
+ - Filename
1474
+ - Type
1475
+ - Category
1574
1476
 
1575
- To add (POST) milestones in a system for one or more POA&M items use the following command:
1477
+ Updating (PUT) milestones in a system for one or more POA&M items use the following command:
1576
1478
 
1577
1479
  ````
1578
- $ bundle exec exe/emasser put artifacts update [PARAMETERS]
1480
+ $ bundle exec exe/emasser put artifacts update [-s, --systemId] <value> [-f, --filename] <value> [-T, --isTemplate or --no-isTemplate] [-t, --type] <value> [-c, --category] <value>
1579
1481
  ````
1580
1482
  - required parameter are:
1581
1483
 
1582
- |parameter | type or values |
1583
- |----------------|:----------------------------------------------------|
1584
- |-s, --systemId |Integer - Unique system identifier |
1585
- |-f, --filename |String - File name should match exactly one file within the provided zip file|
1586
- | |Binary - Application/zip file. Max 30MB per artifact |
1587
- |--isTemplate |Boolean - Indicates whether an artifact is a template|
1588
- |--type* |Possible Values: Procedure, Diagram, Policy, Labor, Document, Image, Other, Scan Result, Auditor Report|
1589
- |--category* |Possible Values: Implementation Guidance, Evidence |
1484
+ |parameter | type or values |
1485
+ |------------------|:----------------------------------------------------|
1486
+ |-s, --systemId |Integer - Unique system identifier |
1487
+ |-f, --filename |String - File name should match exactly one file within the provided zip file|
1488
+ | |Binary - Application/zip file. Max 30MB per artifact |
1489
+ |-T, --isTemplate |Boolean - Indicates whether an artifact is a template|
1490
+ |-t, --type* |Possible Values: Procedure, Diagram, Policy, Labor, Document, Image, Other, Scan Result, Auditor Report|
1491
+ |-c, --category* |Possible Values: Implementation Guidance, Evidence |
1590
1492
 
1591
1493
  *May also accept custom artifact category values set by system administrators.
1592
1494
 
1593
1495
  - optional parameter are:
1594
1496
 
1595
1497
  |parameter | type or values |
1596
- |-------------------------|:------------------------------------------------------|
1498
+ |-------------------------|:------------------------------------------------------|
1499
+ |--name |String - Artifact name. Character Limit = 100 |
1597
1500
  |--description |String - Artifact description. 2000 Characters |
1598
1501
  |--refPageNumber |String - Artifact reference page number. 50 Characters |
1599
- |-c, --ccis |String - CCIs associated with artifact |
1600
1502
  |--controls |String - Control acronym associated with the artifact. NIST SP 800-53 Revision 4 defined|
1601
- |--artifactExpirationDate |Date - Date Artifact expires and requires review. In Unix Date Format|
1602
- |--lastReviewedDate |Date - Date Artifact was last reviewed. In Unix Date Format |
1603
-
1503
+ |--assessmentProcedures |String - The Security Control Assessment Procedure being associated with the artifact|
1504
+ |--expirationDate |Date - Date Artifact expires and requires review - Unix time format|
1505
+ |--lastReviewedDate |Date - Date Artifact was last reviewed. In Unix Date Format|
1506
+ |--signedDate |Date - Date artifact was signed. In Unix Date Format|
1604
1507
 
1605
1508
  **Note**
1606
- For information at the command line use:
1509
+ For additional information about command line usages invoke the following help command:
1607
1510
  ```
1608
1511
  $ bundle exec exe/emasser put artifacts help update
1609
1512
  ```
1610
1513
  [top](#put-endpoints)
1514
+ ### ``put hardware``
1515
+ ---
1516
+ Update (PUT) one or many hardware assets in a system.
1517
+
1518
+ ````
1519
+ $ bundle exec exe/emasser post hardware add [-s, --systemId] <value> [-h, --hardwareId] <value> [-a, --assetName] <value>
1520
+ ````
1521
+
1522
+ - required parameter are:
1523
+
1524
+ |parameter | type or values |
1525
+ |----------------|:-----------------------------------|
1526
+ |-s, --systemId |Integer - Unique system identifier |
1527
+ |-h, --hardwareId|String - GUID identifying the specific hardware asset|
1528
+ |-a, --assetName |String - Name of the hardware asset |
1529
+
1530
+
1531
+ **Note**
1532
+ For additional information about command line usages invoke the following help command:
1533
+ ```
1534
+ $ bundle exec exe/emasser put hardware help add
1535
+ ```
1536
+
1537
+ [top](#put-endpoints)
1538
+ ### ``put software``
1539
+ ---
1540
+ Update (PUT) one or many software assets in a system.
1541
+
1542
+ ````
1543
+ $ bundle exec exe/emasser post software update [-s, --systemId] <value> [-S --softwareId] <value> [-V, --softwareVendor] <value> [-N, --softwareName] <value> [-v --version] <value>
1544
+ ````
1545
+
1546
+ - required parameter are:
1547
+
1548
+ |parameter | type or values |
1549
+ |------------------------|:---------------------------------------------------------------|
1550
+ |-s, --systemId |Integer - A numeric value representing the system identification|
1551
+ |-S, --softwareId |String - Unique software identifier |
1552
+ |-V, --softwareVendor |String - Vendor of the software asset |
1553
+ |-N, --softwareName |String - Name of the software asset |
1554
+ |-v, --version |String - Version of the software asset |
1555
+
1556
+ **Note**
1557
+ For additional information about command line usages invoke the following help command:
1558
+ ```
1559
+ $ bundle exec exe/emasser put software help add
1560
+ ```
1561
+
1562
+ [top](#put-endpoints)
1563
+
1611
1564
 
1612
1565
  ## Usage - DELETE
1613
1566
 
@@ -1618,10 +1571,9 @@ Remove one or many poa&m items in a system
1618
1571
 
1619
1572
  To remove (DELETE) one or more POA&M items use the following command:
1620
1573
  ```
1621
- bundle exec exe/emasser delete poams remove -s, --systemId [value] -p, --poamId [value]
1574
+ $ bundle exec exe/emasser delete poams remove [-s, --systemId] <value> [-p, --poamId] <value>
1622
1575
  ```
1623
1576
  [top](#delete-endpoints)
1624
-
1625
1577
  ### ``delete milestones``
1626
1578
 
1627
1579
  ----
@@ -1635,10 +1587,9 @@ The last milestone can not be deleted, at-least on must exist.
1635
1587
 
1636
1588
  To remove (DELETE) one or more Milestones in a system use the following command:
1637
1589
  ```
1638
- bundle exec exe/emasser delete milestones remove -s, --systemId [value] -p, --poamId [value] -m, --milestoneId [value]
1590
+ $ bundle exec exe/emasser delete milestones remove [-s, --systemId] <value> [-p, --poamId] <value> [-m, --milestoneId] <value>
1639
1591
  ```
1640
1592
  [top](#delete-endpoints)
1641
-
1642
1593
  ### ``delete artifacts``
1643
1594
 
1644
1595
  ---
@@ -1648,30 +1599,47 @@ Provide single file or a space/comma delimited list of file names to be removed
1648
1599
 
1649
1600
  To remove (DELETE) one or more Artifacts from a system use the following command:
1650
1601
  ```
1651
- bundle exec exe/emasser delete artifacts remove -s, --systemId [value] -f, --files [value]
1652
- or
1653
- bundle exec exe/emasser delete artifacts remove -s, --systemId [value] -f, --files [value value...]
1654
- or
1655
- bundle exec exe/emasser delete artifacts remove -s, --systemId [value] -f, --files [value, value...]
1602
+ Delete one file:
1603
+ $ bundle exec exe/emasser delete artifacts remove [-s, --systemId] <value> [-f, --files] <value>
1604
+ Delete multiple files (can be space of comma delimited)
1605
+ $ bundle exec exe/emasser delete artifacts remove [-s, --systemId] <value> [-f, --files] <value ... value>
1606
+
1607
+ ```
1608
+ [top](#delete-endpoints)
1609
+ ### ``delete hardware``
1610
+ ---
1611
+ Delete one or many one or multiple assets from a system Hardware Baseline for a system
1612
+
1613
+ To remove (DELETE) a hardware asset use the following command:
1614
+ ```
1615
+ $ bundle exec exe/emasser delete hardware remove [-s, --systemId] <value> [-h, --hardwareIds] <value ... value>
1656
1616
  ```
1617
+
1657
1618
  [top](#delete-endpoints)
1619
+ ### ``delete software``
1620
+ ---
1621
+ Delete one or many one or multiple assets from a system Software Baselinefor a system
1658
1622
 
1623
+ To remove (DELETE) a software asset use the following command:
1624
+ ```
1625
+ $ bundle exec exe/emasser delete software remove [-s, --systemId] <value> [-w, --softwareIds] <value ... value>
1626
+ ```
1627
+ [top](#delete-endpoints)
1659
1628
  ### ``delete cloud resource``
1660
1629
  ---
1661
1630
  Delete one or many Cloud Resources and their scan results in the assets module for a system
1662
1631
 
1663
1632
  To remove (DELETE) one or many cloud resources in a system use the following command:
1664
1633
  ```
1665
- bundle exec exe/emasser delete cloud_resource remove -c, --resourceId [value] -s, --systemId [value]
1634
+ $ bundle exec exe/emasser delete cloud_resource remove [-s, --systemId] <value> [-r, --resourceId] <value>
1666
1635
  ```
1667
1636
  [top](#delete-endpoints)
1668
-
1669
1637
  ### ``delete container``
1670
1638
  ---
1671
1639
  Delete one or many containers scan results in the assets module for a system
1672
1640
 
1673
1641
  To remove (DELETE) one or many containers in a system use the following command:
1674
1642
  ```
1675
- bundle exec exe/emasser delete container remove -c, --containerId [value] -s, --systemId [value]
1643
+ bundle exec exe/emasser delete container remove [-s, --systemId] <value> [-c, --containerId] <value>
1676
1644
  ```
1677
1645
  [top](#delete-endpoints)