emass_client

EmassClient - the Ruby gem for the Enterprise Mission Assurance Support Service (eMASS)

The eMASS Representational State Transfer (REST) Application Programming Interface (API) enables users to perform assessments and complete actions associated with system records.

The eMASS API provides an interface for application to communicate eMASS Services. For information on how to register and use the eMASS API reference the eMASS API Getting Started.

Additional information about eMASS can be obtain by contacting the National Industrial Security Program (NISP). Points of Contact are:

This SDK is automatically generated by the OpenAPI Generator project:

  • API version: v3.22
  • Package version: 3.22.0
  • Generator version: 7.12.0-SNAPSHOT
  • Build package: org.openapitools.codegen.languages.RubyClientCodegen For more information, please visit https://www.dcsa.mil/is/emass/

Installation

Build a gem

To build the Ruby code into a gem:

gem build emass_client.gemspec

Then either install the gem locally:

gem install ./emass_client-3.22.0.gem

(for development, run gem install --dev ./emass_client-3.22.0.gem to install the development dependencies)

or publish the gem to a gem hosting service, e.g. RubyGems.

Finally add this to the Gemfile:

gem 'emass_client', '~> 3.22.0'

Install from Git

If the Ruby gem is hosted at a git repository: https://github.com/GIT_USER_ID/GIT_REPO_ID, then add the following in the Gemfile:

gem 'emass_client', :git => 'https://github.com/GIT_USER_ID/GIT_REPO_ID.git'

Include the Ruby code directly

Include the Ruby code directly using -I as follows:

ruby -Ilib script.rb

Getting Started

Please follow the installation procedure and then run the following code:

# Load the gem
require 'emass_client'

# Setup authorization
EmassClient.configure do |config|
  # Configure API key authorization: apiKey
  config.api_key['api-key'] = 'YOUR API KEY'
  # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
  # config.api_key_prefix['api-key'] = 'Bearer'

  # Configure API key authorization: mockType
  config.api_key['Prefer'] = 'YOUR API KEY'
  # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
  # config.api_key_prefix['Prefer'] = 'Bearer'

  # Configure API key authorization: userId
  config.api_key['user-uid'] = 'YOUR API KEY'
  # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
  # config.api_key_prefix['user-uid'] = 'Bearer'
end

api_instance = EmassClient::ArtifactsApi.new
system_id = 35 # Integer | **System Id**: The unique system record identifier.
filename = File.new('/path/to/some/file') # File | The file to upload. Must be a .zip file if isBulk is set to true, otherwise any acceptable artifact file. Max 30MB per artifact.
opts = {
  is_bulk: true, # Boolean | **Is Bulk**: If no value is specified, the default is false, and an individual artifact file is expected. When set to true, a .zip file is expected which can contain multiple artifact files. 
  is_template: true, # Boolean | Is the artifact a template?  Indicates whether an artifact is a template
  type: 'type_example', # String | The type of artifact. Possible values are:  Procedure, Diagram, Policy, Labor, Document, Image, Other, Scan Result, Auditor Report. May also accept custom artifact type values set by system administrators.
  category: 'category_example' # String | The category of artifact. Possible values are:  Implementation Guidance, Evidence.  May also accept custom artifact category values set by system administrators.
}

begin
  #Add one or many artifacts in a system
  result = api_instance.add_artifacts_by_system_id(system_id, filename, opts)
  p result
rescue EmassClient::ApiError => e
  puts "Exception when calling ArtifactsApi->add_artifacts_by_system_id: #{e}"
end

Documentation for API Endpoints

All URIs are relative to http://localhost:4010

Class Method HTTP request Description
EmassClient::ArtifactsApi add_artifacts_by_system_id POST /api/systems/systemId/artifacts Add one or many artifacts in a system
EmassClient::ArtifactsApi delete_artifact DELETE /api/systems/systemId/artifacts Remove one or many artifacts in a system
EmassClient::ArtifactsApi get_system_artifacts GET /api/systems/systemId/artifacts Get one or many artifacts in a system
EmassClient::ArtifactsApi update_artifact_by_system_id PUT /api/systems/systemId/artifacts Update one or many artifacts in a system
EmassClient::ArtifactsExportApi get_system_artifacts_export GET /api/systems/systemId/artifacts-export Get the file of an artifact in a system
EmassClient::CACApi add_system_cac POST /api/systems/systemId/approval/cac Submit control to second role of CAC
EmassClient::CACApi get_system_cac GET /api/systems/systemId/approval/cac Get location of one or many controls in CAC
EmassClient::CMMCAssessmentDashboardsApi get_cmmc_assessment_requirement_objectives_details GET /api/dashboards/cmmc-assessment-requirement-objectives-details CMMC Assessment Requirement Objectives Details
EmassClient::CMMCAssessmentDashboardsApi get_cmmc_assessment_requirements_compliance_summary GET /api/dashboards/cmmc-assessment-requirements-compliance-summary CMMC Assessment Requirements Compliance Summary
EmassClient::CMMCAssessmentDashboardsApi get_cmmc_assessment_security_requirements_details GET /api/dashboards/cmmc-assessment-security-requirements-details CMMC Assessment Security Requirements Details
EmassClient::CMMCAssessmentDashboardsApi get_cmmc_assessment_status_summary GET /api/dashboards/cmmc-assessment-status-summary CMMC Assessment Status Summary
EmassClient::CMMCAssessmentsApi get_cmmc_assessments GET /api/cmmc-assessments Get CMMC assessment information
EmassClient::CloudResourceResultsApi add_cloud_resources_by_system_id POST /api/systems/systemId/cloud-resource-results Add one or many cloud resources and their scan results
EmassClient::CloudResourceResultsApi delete_cloud_resources DELETE /api/systems/systemId/cloud-resource-results Remove one or many cloud resources in a system
EmassClient::CoastGuardSystemFISMAMetricsDashboardApi get_coast_guard_system_fisma_metrics GET /api/dashboards/coastguard-system-fisma-metrics Coast Guard System FISMA Metrics
EmassClient::ContainerScanResultsApi add_container_sans_by_system_id POST /api/systems/systemId/container-scan-results Add one or many containers and their scan results
EmassClient::ContainerScanResultsApi delete_container_sans DELETE /api/systems/systemId/container-scan-results Remove one or many containers in a system
EmassClient::ControlsApi get_system_controls GET /api/systems/systemId/controls Get control information in a system for one or many controls
EmassClient::ControlsApi update_control_by_system_id PUT /api/systems/systemId/controls Update control information in a system for one or many controls
EmassClient::DeviceScanResultsApi add_scan_results_by_system_id POST /api/systems/systemId/device-scan-results Add device scans in a system
EmassClient::HardwareBaselineApi add_hw_baseline_assets POST /api/systems/systemId/hw-baseline Add one or many hardware assets in a system
EmassClient::HardwareBaselineApi delete_hw_baseline_assets DELETE /api/systems/systemId/hw-baseline Delete one or many hardware assets in a system
EmassClient::HardwareBaselineApi get_system_hw_baseline GET /api/systems/systemId/hw-baseline Get hardware baseline for a system
EmassClient::HardwareBaselineApi update_hw_baseline_assets PUT /api/systems/systemId/hw-baseline Update one or many hardware assets in a system
EmassClient::MilestonesApi add_milestone_by_system_id_and_poam_id POST /api/systems/systemId/poams/poamId/milestones Add milestones to one or many POA&M items in a system
EmassClient::MilestonesApi delete_milestone DELETE /api/systems/systemId/poams/poamId/milestones Remove milestones in a system for one or many POA&M items
EmassClient::MilestonesApi get_system_milestones_by_poam_id GET /api/systems/systemId/poams/poamId/milestones Get milestones in one or many POA&M items in a system
EmassClient::MilestonesApi get_system_milestones_by_poam_id_and_milestone_id GET /api/systems/systemId/poams/poamId/milestones/milestoneId Get milestone by ID in POA&M item in a system
EmassClient::MilestonesApi update_milestone_by_system_id_and_poam_id PUT /api/systems/systemId/poams/poamId/milestones Update one or many POA&M items in a system
EmassClient::OrganizationMigrationStatusDashboardApi get_organization_migration_status_summary GET /api/dashboards/organization-migration-status-summary Organization Migration Status Summary
EmassClient::PACApi add_system_pac POST /api/systems/systemId/approval/pac Initiate system workflow for review
EmassClient::PACApi get_system_pac GET /api/systems/systemId/approval/pac Get status of active workflows in a system
EmassClient::POAMApi add_poam_by_system_id POST /api/systems/systemId/poams Add one or many POA&M items in a system
EmassClient::POAMApi delete_poam DELETE /api/systems/systemId/poams Remove one or many POA&M items in a system
EmassClient::POAMApi get_system_poams GET /api/systems/systemId/poams Get one or many POA&M items in a system
EmassClient::POAMApi get_system_poams_by_poam_id GET /api/systems/systemId/poams/poamId Get POA&M item by ID in a system
EmassClient::POAMApi update_poam_by_system_id PUT /api/systems/systemId/poams Update one or many POA&M items in a system
EmassClient::RegistrationApi register_user POST /api/api-key Register user certificate and obtain an API key
EmassClient::SoftwareBaselineApi add_sw_baseline_assets POST /api/systems/systemId/sw-baseline Add one or many software assets in a system
EmassClient::SoftwareBaselineApi delete_sw_baseline_assets DELETE /api/systems/systemId/sw-baseline Delete one or many software assets in a system
EmassClient::SoftwareBaselineApi get_system_sw_baseline GET /api/systems/systemId/sw-baseline Get software baseline for a system
EmassClient::SoftwareBaselineApi update_sw_baseline_assets PUT /api/systems/systemId/sw-baseline Update one or many software assets in a system
EmassClient::StaticCodeScansApi add_static_code_scans_by_system_id POST /api/systems/systemId/static-code-scans Upload static code scans or Clear static code scans
EmassClient::SystemATCIATCDashboardApi get_system_atc_iatc_details GET /api/dashboards/system-atc-iatc-details System ATC/IATC Details
EmassClient::SystemApplicationFindingsDashboardsApi get_system_application_findings_details GET /api/dashboards/system-application-findings-details System Application Findings Details
EmassClient::SystemApplicationFindingsDashboardsApi get_system_application_findings_summary GET /api/dashboards/system-application-findings-summary System Application Findings Summary
EmassClient::SystemArtifactsDashboardsApi get_system_artifacts_details GET /api/dashboards/system-artifacts-details System Artifacts Details
EmassClient::SystemArtifactsDashboardsApi get_system_artifacts_summary GET /api/dashboards/system-artifacts-summary System Artifacts Summary
EmassClient::SystemAssociationsDashboardApi get_system_associations_details GET /api/dashboards/system-associations-details System Associations Details
EmassClient::SystemCONMONIntegrationStatusDashboardApi get_system_common_integration_status_summary GET /api/dashboards/system-conmon-integration-status-summary System CONMON Integration Status
EmassClient::SystemConnectivityCCSDDashboardsApi get_system_connectivity_ccsd_details GET /api/dashboards/system-connectivity-ccsd-details System Connectivity/CCSD Details
EmassClient::SystemConnectivityCCSDDashboardsApi get_system_connectivity_ccsd_summary GET /api/dashboards/system-connectivity-ccsd-summary System Connectivity/CCSD Summary
EmassClient::SystemCriticalAssetsDashboardApi get_system_critical_assets_summary GET /api/dashboards/system-critical-assets-summary System Critical Assets Summary
EmassClient::SystemDeviceFindingsDashboardsApi get_system_device_findings_details GET /api/dashboards/system-device-findings-details System Device Findings Details
EmassClient::SystemDeviceFindingsDashboardsApi get_system_device_findings_summary GET /api/dashboards/system-device-findings-summary System Device Findings Summary
EmassClient::SystemFISMAMetricsDashboardApi get_system_fisma_metrics GET /api/dashboards/system-fisma-metrics System FISMA Metrics
EmassClient::SystemHardwareDashboardsApi get_system_hardware_details GET /api/dashboards/system-hardware-details System Hardware Details
EmassClient::SystemHardwareDashboardsApi get_system_hardware_summary GET /api/dashboards/system-hardware-summary System Hardware Summary
EmassClient::SystemMigrationStatusDashboardApi get_system_migration_status_summary GET /api/dashboards/system-migration-status-summary System Migration Status Summary
EmassClient::SystemPOAMDashboardsApi get_system_poam_details GET /api/dashboards/system-poam-details System POA&M Details
EmassClient::SystemPOAMDashboardsApi get_system_poam_summary GET /api/dashboards/system-poam-summary System POA&M Summary
EmassClient::SystemPortsProtocolsDashboardsApi get_system_ports_protocols_details GET /api/dashboards/system-ports-protocols-details System Ports/Protocols Details
EmassClient::SystemPortsProtocolsDashboardsApi get_system_ports_protocols_summary GET /api/dashboards/system-ports-protocols-summary System Ports/Protocols Summary
EmassClient::SystemPrivacyDashboardApi get_system_privacy_summary GET /api/dashboards/system-privacy-summary System Privacy Summary
EmassClient::SystemQuestionnaireDashboardsApi get_system_questionnaire_details GET /api/dashboards/system-questionnaire-details System Questionnaire Details
EmassClient::SystemQuestionnaireDashboardsApi get_system_questionnaire_summary GET /api/dashboards/system-questionnaire-summary System Questionnaire Summary
EmassClient::SystemRolesApi get_system_roles GET /api/system-roles Get available roles
EmassClient::SystemRolesApi get_system_roles_by_category_id GET /api/system-roles/roleCategory Get system roles
EmassClient::SystemSecurityControlsDashboardsApi get_system_assessment_procedures_details GET /api/dashboards/system-assessment-procedures-details System Assessment Procedures Details
EmassClient::SystemSecurityControlsDashboardsApi get_system_control_compliance_summary GET /api/dashboards/system-control-compliance-summary System Control Compliance Summary
EmassClient::SystemSecurityControlsDashboardsApi get_system_security_control_details GET /api/dashboards/system-security-controls-details System Control Compliance Details
EmassClient::SystemSensorHardwareDashboardsApi get_system_sensor_hardware_details GET /api/dashboards/system-sensor-hardware-details System Sensor Hardware Details
EmassClient::SystemSensorHardwareDashboardsApi get_system_sensor_hardware_summary GET /api/dashboards/system-sensor-hardware-summary System Sensor Hardware Summary
EmassClient::SystemSensorSoftwareDashboardsApi get_system_sensor_software_counts GET /api/dashboards/system-sensor-software-counts System Sensor Software Counts
EmassClient::SystemSensorSoftwareDashboardsApi get_system_sensor_software_details GET /api/dashboards/system-sensor-software-details System Sensor Software Details
EmassClient::SystemSensorSoftwareDashboardsApi get_system_sensor_software_summary GET /api/dashboards/system-sensor-software-summary System Sensor Software Summary
EmassClient::SystemSoftwareDashboardsApi get_system_software_details GET /api/dashboards/system-software-details System Software Details
EmassClient::SystemSoftwareDashboardsApi get_system_software_summary GET /api/dashboards/system-software-summary System Software Summary
EmassClient::SystemStatusDashboardApi get_system_status_details GET /api/dashboards/system-status-details System Status Details
EmassClient::SystemTermsConditionsDashboardsApi get_system_terms_conditions_details GET /api/dashboards/system-terms-conditions-details System Terms Conditions Details
EmassClient::SystemTermsConditionsDashboardsApi get_system_terms_conditions_summary GET /api/dashboards/system-terms-conditions-summary System Terms Conditions Summary
EmassClient::SystemVulnerabilityDashboardApi get_system_vulnerability_summary GET /api/dashboards/system-vulnerability-summary System Vulnerability Summary
EmassClient::SystemWorkflowsDashboardsApi get_system_workflows_history_details GET /api/dashboards/system-workflows-history-details System Workflows History Details
EmassClient::SystemWorkflowsDashboardsApi get_system_workflows_history_stage_details GET /api/dashboards/system-workflows-history-stage-details System Workflows History Stage Details
EmassClient::SystemWorkflowsDashboardsApi get_system_workflows_history_summary GET /api/dashboards/system-workflows-history-summary System Workflows History Summary
EmassClient::SystemsApi get_system GET /api/systems/systemId Get system information for a specific system
EmassClient::SystemsApi get_systems GET /api/systems Get system information
EmassClient::TestApi test_connection GET /api Test connection to the API
EmassClient::TestResultsApi add_test_results_by_system_id POST /api/systems/systemId/test-results Add one or many test results in a system
EmassClient::TestResultsApi get_system_test_results GET /api/systems/systemId/test-results Get one or many test results in a system
EmassClient::UserSystemAssignmentsDashboardApi get_user_system_assignments_details GET /api/dashboards/user-system-assignments-details User System Assignments Details
EmassClient::VAOMBFISMADashboardApi get_va_omb_fsma_saop_summary GET /api/dashboards/va-omb-fisma-saop-summary VA OMB FISMA SAOP Summary
EmassClient::VASystemDashboardsApi get_va_system_a2_summary GET /api/dashboards/va-system-a2-summary VA System A2.0 Summary
EmassClient::VASystemDashboardsApi get_va_system_aa_summary GET /api/dashboards/va-system-aa-summary VA System A&A Summary
EmassClient::VASystemDashboardsApi get_va_system_fisma_invetory_crypto_summary GET /api/dashboards/va-system-fisma-inventory-crypto-summary VA System FISMA Inventory Crypto Summary
EmassClient::VASystemDashboardsApi get_va_system_fisma_invetory_summary GET /api/dashboards/va-system-fisma-inventory-summary VA System FISMA Inventory Summary
EmassClient::VASystemDashboardsApi get_va_system_icamp_tableau_poam_details GET /api/dashboards/va-system-icamp-tableau-poam-details VA System ICAMP Tableau POAM Details
EmassClient::VASystemDashboardsApi get_va_system_pl109_reporting_summary GET /api/dashboards/va-system-pl-109-reporting-summary VA System P.L. 109 Reporting Summary
EmassClient::VASystemDashboardsApi get_va_system_threat_architecture_details GET /api/dashboards/va-system-threat-architecture-details VA System Threat Architecture Details
EmassClient::VASystemDashboardsApi get_va_system_threat_risk_summary GET /api/dashboards/va-system-threat-risks-summary VA System Threat Risks Summary
EmassClient::VASystemDashboardsApi get_va_system_threat_source_details GET /api/dashboards/va-system-threat-sources-details VA System Threat Sources Details
EmassClient::WorkflowDefinitionsApi get_workflow_definitions GET /api/workflows/definitions Get workflow definitions in a site
EmassClient::WorkflowInstancesApi get_system_workflow_instances GET /api/workflows/instances Get workflow instances in a site
EmassClient::WorkflowInstancesApi get_system_workflow_instances_by_workflow_instance_id GET /api/workflows/instances/workflowInstanceId Get workflow instance by ID

Documentation for Models

Documentation for Authorization

Authentication schemes defined for the API:

apiKey

  • Type: API key
  • API key parameter name: api-key
  • Location: HTTP header

userId

  • Type: API key
  • API key parameter name: user-uid
  • Location: HTTP header

mockType

  • Type: API key
  • API key parameter name: Prefer
  • Location: HTTP header