apimatic-semgrep-sdk 0.0.1
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.
- checksums.yaml +7 -0
- data/LICENSE +28 -0
- data/README.md +205 -0
- data/bin/console +15 -0
- data/lib/semgrep_web_app/api_helper.rb +10 -0
- data/lib/semgrep_web_app/apis/base_api.rb +67 -0
- data/lib/semgrep_web_app/apis/deployments_service_api.rb +29 -0
- data/lib/semgrep_web_app/apis/findings_service_api.rb +107 -0
- data/lib/semgrep_web_app/apis/misc_service_api.rb +47 -0
- data/lib/semgrep_web_app/apis/policies_service_api.rb +97 -0
- data/lib/semgrep_web_app/apis/projects_service_api.rb +238 -0
- data/lib/semgrep_web_app/apis/scans_service_api.rb +65 -0
- data/lib/semgrep_web_app/apis/secrets_service_api.rb +55 -0
- data/lib/semgrep_web_app/apis/supply_chain_service_api.rb +154 -0
- data/lib/semgrep_web_app/apis/ticketing_service_api.rb +144 -0
- data/lib/semgrep_web_app/apis/triage_service_api.rb +43 -0
- data/lib/semgrep_web_app/client.rb +136 -0
- data/lib/semgrep_web_app/configuration.rb +178 -0
- data/lib/semgrep_web_app/exceptions/api_exception.rb +21 -0
- data/lib/semgrep_web_app/http/api_response.rb +19 -0
- data/lib/semgrep_web_app/http/auth/semgrep_admin_jwt.rb +53 -0
- data/lib/semgrep_web_app/http/auth/semgrep_jwt.rb +53 -0
- data/lib/semgrep_web_app/http/auth/semgrep_web_token.rb +53 -0
- data/lib/semgrep_web_app/http/http_call_back.rb +10 -0
- data/lib/semgrep_web_app/http/http_method_enum.rb +10 -0
- data/lib/semgrep_web_app/http/http_request.rb +10 -0
- data/lib/semgrep_web_app/http/http_response.rb +10 -0
- data/lib/semgrep_web_app/http/proxy_settings.rb +22 -0
- data/lib/semgrep_web_app/logging/configuration/api_logging_configuration.rb +186 -0
- data/lib/semgrep_web_app/logging/sdk_logger.rb +17 -0
- data/lib/semgrep_web_app/models/add_project_tags_request.rb +96 -0
- data/lib/semgrep_web_app/models/add_project_tags_response.rb +73 -0
- data/lib/semgrep_web_app/models/ai_powered_scan_finding.rb +426 -0
- data/lib/semgrep_web_app/models/ai_sast_findings.rb +85 -0
- data/lib/semgrep_web_app/models/api_v1_deployments_findings_response.rb +87 -0
- data/lib/semgrep_web_app/models/assistant.rb +127 -0
- data/lib/semgrep_web_app/models/autofix.rb +98 -0
- data/lib/semgrep_web_app/models/autotriage.rb +98 -0
- data/lib/semgrep_web_app/models/autotriage_verdict.rb +36 -0
- data/lib/semgrep_web_app/models/autotriage_verdict2.rb +38 -0
- data/lib/semgrep_web_app/models/base_model.rb +110 -0
- data/lib/semgrep_web_app/models/bulk_triage_request.rb +393 -0
- data/lib/semgrep_web_app/models/bulk_triage_response.rb +83 -0
- data/lib/semgrep_web_app/models/click_to_fix_failure.rb +95 -0
- data/lib/semgrep_web_app/models/click_to_fix_pr.rb +95 -0
- data/lib/semgrep_web_app/models/click_to_fix_pr_state.rb +38 -0
- data/lib/semgrep_web_app/models/component.rb +95 -0
- data/lib/semgrep_web_app/models/confidence.rb +42 -0
- data/lib/semgrep_web_app/models/confidence1.rb +40 -0
- data/lib/semgrep_web_app/models/confidence2.rb +40 -0
- data/lib/semgrep_web_app/models/confidence3.rb +40 -0
- data/lib/semgrep_web_app/models/confidence7.rb +41 -0
- data/lib/semgrep_web_app/models/confidence8.rb +42 -0
- data/lib/semgrep_web_app/models/create_sbom_export_request.rb +176 -0
- data/lib/semgrep_web_app/models/create_sbom_export_response.rb +74 -0
- data/lib/semgrep_web_app/models/create_ticket_request.rb +393 -0
- data/lib/semgrep_web_app/models/cyclonedx_version.rb +48 -0
- data/lib/semgrep_web_app/models/delete_project_response.rb +74 -0
- data/lib/semgrep_web_app/models/delete_project_tags_response.rb +73 -0
- data/lib/semgrep_web_app/models/deployment.rb +102 -0
- data/lib/semgrep_web_app/models/ecosystem.rb +91 -0
- data/lib/semgrep_web_app/models/ecosystem1.rb +92 -0
- data/lib/semgrep_web_app/models/ecosystem2.rb +76 -0
- data/lib/semgrep_web_app/models/endpoint_reference.rb +72 -0
- data/lib/semgrep_web_app/models/epss_probability.rb +45 -0
- data/lib/semgrep_web_app/models/epss_score.rb +95 -0
- data/lib/semgrep_web_app/models/exposures.rb +50 -0
- data/lib/semgrep_web_app/models/exposures2.rb +51 -0
- data/lib/semgrep_web_app/models/external_ticket.rb +116 -0
- data/lib/semgrep_web_app/models/finding_location.rb +126 -0
- data/lib/semgrep_web_app/models/finding_repository.rb +95 -0
- data/lib/semgrep_web_app/models/finding_rule.rb +158 -0
- data/lib/semgrep_web_app/models/fix_recommendation.rb +95 -0
- data/lib/semgrep_web_app/models/float_range.rb +85 -0
- data/lib/semgrep_web_app/models/format.rb +27 -0
- data/lib/semgrep_web_app/models/found_dependency.rb +128 -0
- data/lib/semgrep_web_app/models/get_project_response.rb +73 -0
- data/lib/semgrep_web_app/models/get_sbom_export_response.rb +100 -0
- data/lib/semgrep_web_app/models/guidance.rb +98 -0
- data/lib/semgrep_web_app/models/issue_type.rb +40 -0
- data/lib/semgrep_web_app/models/issue_type1.rb +40 -0
- data/lib/semgrep_web_app/models/issue_type2.rb +42 -0
- data/lib/semgrep_web_app/models/license_policy_settings.rb +42 -0
- data/lib/semgrep_web_app/models/link_ticket_request.rb +93 -0
- data/lib/semgrep_web_app/models/list_dependencies_request.rb +108 -0
- data/lib/semgrep_web_app/models/list_dependencies_response.rb +102 -0
- data/lib/semgrep_web_app/models/list_findings_response.rb +100 -0
- data/lib/semgrep_web_app/models/list_lockfiles_for_dependencies_request.rb +118 -0
- data/lib/semgrep_web_app/models/list_lockfiles_for_dependencies_response.rb +103 -0
- data/lib/semgrep_web_app/models/list_project.rb +145 -0
- data/lib/semgrep_web_app/models/list_projects_response.rb +82 -0
- data/lib/semgrep_web_app/models/list_repositories_for_dependencies_request.rb +107 -0
- data/lib/semgrep_web_app/models/list_repositories_for_dependencies_response.rb +103 -0
- data/lib/semgrep_web_app/models/managed_scan_config.rb +85 -0
- data/lib/semgrep_web_app/models/metadata_component_type.rb +101 -0
- data/lib/semgrep_web_app/models/mode.rb +48 -0
- data/lib/semgrep_web_app/models/new_triage_reason.rb +48 -0
- data/lib/semgrep_web_app/models/new_triage_state.rb +48 -0
- data/lib/semgrep_web_app/models/policy.rb +118 -0
- data/lib/semgrep_web_app/models/policy_mode.rb +48 -0
- data/lib/semgrep_web_app/models/policy_mode1.rb +40 -0
- data/lib/semgrep_web_app/models/policy_mode3.rb +51 -0
- data/lib/semgrep_web_app/models/policy_reference.rb +105 -0
- data/lib/semgrep_web_app/models/product_type.rb +38 -0
- data/lib/semgrep_web_app/models/products.rb +46 -0
- data/lib/semgrep_web_app/models/project.rb +157 -0
- data/lib/semgrep_web_app/models/protos_ai_v1_autotriage.rb +154 -0
- data/lib/semgrep_web_app/models/protos_ai_v1_autotriage_feedback.rb +98 -0
- data/lib/semgrep_web_app/models/protos_common_v1_review_comment.rb +90 -0
- data/lib/semgrep_web_app/models/protos_openapi_v1_create_ticket_response.rb +123 -0
- data/lib/semgrep_web_app/models/protos_openapi_v1_create_ticket_response_ticket_creation_failed.rb +85 -0
- data/lib/semgrep_web_app/models/protos_openapi_v1_create_ticket_response_ticket_creation_skipped.rb +85 -0
- data/lib/semgrep_web_app/models/protos_openapi_v1_create_ticket_response_ticket_creation_success.rb +106 -0
- data/lib/semgrep_web_app/models/protos_openapi_v1_delete_ticket_response.rb +76 -0
- data/lib/semgrep_web_app/models/protos_openapi_v1_diff_scan.rb +75 -0
- data/lib/semgrep_web_app/models/protos_openapi_v1_full_scan.rb +75 -0
- data/lib/semgrep_web_app/models/protos_openapi_v1_get_bootstrap_sms_vpc_response.rb +130 -0
- data/lib/semgrep_web_app/models/protos_openapi_v1_get_scan_response.rb +168 -0
- data/lib/semgrep_web_app/models/protos_openapi_v1_get_scan_response_scan_meta.rb +256 -0
- data/lib/semgrep_web_app/models/protos_openapi_v1_link_ticket_response.rb +119 -0
- data/lib/semgrep_web_app/models/protos_openapi_v1_list_deployments_response.rb +85 -0
- data/lib/semgrep_web_app/models/protos_openapi_v1_list_policies_response.rb +84 -0
- data/lib/semgrep_web_app/models/protos_openapi_v1_list_policy_rules_response.rb +104 -0
- data/lib/semgrep_web_app/models/protos_openapi_v1_list_secrets_path_response.rb +104 -0
- data/lib/semgrep_web_app/models/protos_openapi_v1_search_scans_response.rb +94 -0
- data/lib/semgrep_web_app/models/protos_openapi_v1_unlink_ticket_response.rb +77 -0
- data/lib/semgrep_web_app/models/protos_openapi_v1_update_policy_response.rb +88 -0
- data/lib/semgrep_web_app/models/protos_sca_v1_code_location.rb +144 -0
- data/lib/semgrep_web_app/models/protos_sca_v1_dependency.rb +87 -0
- data/lib/semgrep_web_app/models/protos_sca_v1_dependency_filter.rb +199 -0
- data/lib/semgrep_web_app/models/protos_sca_v1_found_dependency.rb +174 -0
- data/lib/semgrep_web_app/models/protos_sca_v1_lockfile_dependency_summary.rb +87 -0
- data/lib/semgrep_web_app/models/protos_sca_v1_package_filter.rb +124 -0
- data/lib/semgrep_web_app/models/protos_sca_v1_repository_dependency_summary.rb +111 -0
- data/lib/semgrep_web_app/models/protos_sca_v1_sbom_format_version.rb +109 -0
- data/lib/semgrep_web_app/models/protos_sca_v1_sbom_metadata_contact.rb +95 -0
- data/lib/semgrep_web_app/models/protos_sca_v1_sbom_metadata_supplier.rb +95 -0
- data/lib/semgrep_web_app/models/protos_scan_v1_scan_findings_counts.rb +105 -0
- data/lib/semgrep_web_app/models/protos_scan_v1_scan_public.rb +228 -0
- data/lib/semgrep_web_app/models/protos_secrets_v1_historical_info.rb +116 -0
- data/lib/semgrep_web_app/models/protos_secrets_v1_secrets_finding.rb +320 -0
- data/lib/semgrep_web_app/models/protos_secrets_v1_secrets_finding_repository.rb +121 -0
- data/lib/semgrep_web_app/models/protos_ticketing_v1_external_ticket.rb +106 -0
- data/lib/semgrep_web_app/models/rating.rb +38 -0
- data/lib/semgrep_web_app/models/reachability.rb +48 -0
- data/lib/semgrep_web_app/models/repository_visibility.rb +40 -0
- data/lib/semgrep_web_app/models/review_comment.rb +100 -0
- data/lib/semgrep_web_app/models/risk.rb +40 -0
- data/lib/semgrep_web_app/models/rule.rb +292 -0
- data/lib/semgrep_web_app/models/rule_explanation.rb +98 -0
- data/lib/semgrep_web_app/models/sast_finding.rb +426 -0
- data/lib/semgrep_web_app/models/sast_findings.rb +84 -0
- data/lib/semgrep_web_app/models/sbom_output_format.rb +37 -0
- data/lib/semgrep_web_app/models/sca_finding.rb +458 -0
- data/lib/semgrep_web_app/models/sca_findings.rb +85 -0
- data/lib/semgrep_web_app/models/scm_type.rb +70 -0
- data/lib/semgrep_web_app/models/search_scans_request.rb +202 -0
- data/lib/semgrep_web_app/models/severities.rb +44 -0
- data/lib/semgrep_web_app/models/severities2.rb +45 -0
- data/lib/semgrep_web_app/models/severity.rb +46 -0
- data/lib/semgrep_web_app/models/severity1.rb +45 -0
- data/lib/semgrep_web_app/models/severity4.rb +46 -0
- data/lib/semgrep_web_app/models/severity5.rb +48 -0
- data/lib/semgrep_web_app/models/source.rb +42 -0
- data/lib/semgrep_web_app/models/state.rb +42 -0
- data/lib/semgrep_web_app/models/status.rb +55 -0
- data/lib/semgrep_web_app/models/status1.rb +52 -0
- data/lib/semgrep_web_app/models/status3.rb +44 -0
- data/lib/semgrep_web_app/models/status6.rb +55 -0
- data/lib/semgrep_web_app/models/status7.rb +59 -0
- data/lib/semgrep_web_app/models/status8.rb +61 -0
- data/lib/semgrep_web_app/models/status9.rb +55 -0
- data/lib/semgrep_web_app/models/statuses.rb +63 -0
- data/lib/semgrep_web_app/models/toggle_project_managed_scan_request.rb +108 -0
- data/lib/semgrep_web_app/models/toggle_project_managed_scan_response.rb +73 -0
- data/lib/semgrep_web_app/models/transitivities.rb +40 -0
- data/lib/semgrep_web_app/models/transitivities2.rb +42 -0
- data/lib/semgrep_web_app/models/transitivity.rb +41 -0
- data/lib/semgrep_web_app/models/transitivity1.rb +42 -0
- data/lib/semgrep_web_app/models/transitivity2.rb +40 -0
- data/lib/semgrep_web_app/models/triage_reason.rb +48 -0
- data/lib/semgrep_web_app/models/triage_reasons.rb +48 -0
- data/lib/semgrep_web_app/models/triage_reasons2.rb +50 -0
- data/lib/semgrep_web_app/models/triage_state.rb +54 -0
- data/lib/semgrep_web_app/models/unlink_ticket_request.rb +83 -0
- data/lib/semgrep_web_app/models/update_policy_request.rb +113 -0
- data/lib/semgrep_web_app/models/update_project_request.rb +121 -0
- data/lib/semgrep_web_app/models/update_project_response.rb +73 -0
- data/lib/semgrep_web_app/models/usage.rb +99 -0
- data/lib/semgrep_web_app/models/validation_state.rb +45 -0
- data/lib/semgrep_web_app/models/validation_state2.rb +47 -0
- data/lib/semgrep_web_app/models/validation_state3.rb +48 -0
- data/lib/semgrep_web_app/models/verdict.rb +41 -0
- data/lib/semgrep_web_app/models/verdict1.rb +38 -0
- data/lib/semgrep_web_app/models/visibility.rb +42 -0
- data/lib/semgrep_web_app/utilities/date_time_helper.rb +11 -0
- data/lib/semgrep_web_app/utilities/file_wrapper.rb +28 -0
- data/lib/semgrep_web_app/utilities/union_type_lookup.rb +34 -0
- data/lib/semgrep_web_app.rb +245 -0
- metadata +283 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# semgrep_web_app
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module SemgrepWebApp
|
|
7
|
+
# Status of the SBOM export job. | value | description |
|
|
8
|
+
# |-------|---------------| | SBOM_EXPORT_STATUS_IN_PROGRESS | The SBOM export
|
|
9
|
+
# job is in progress. | | SBOM_EXPORT_STATUS_COMPLETED | The SBOM export job
|
|
10
|
+
# has completed. | | SBOM_EXPORT_STATUS_FAILED | The SBOM export job has
|
|
11
|
+
# failed. |
|
|
12
|
+
class Status3
|
|
13
|
+
STATUS3 = [
|
|
14
|
+
# TODO: Write general description for SBOM_EXPORT_STATUS_IN_PROGRESS
|
|
15
|
+
SBOM_EXPORT_STATUS_IN_PROGRESS = 'SBOM_EXPORT_STATUS_IN_PROGRESS'.freeze,
|
|
16
|
+
|
|
17
|
+
# TODO: Write general description for SBOM_EXPORT_STATUS_COMPLETED
|
|
18
|
+
SBOM_EXPORT_STATUS_COMPLETED = 'SBOM_EXPORT_STATUS_COMPLETED'.freeze,
|
|
19
|
+
|
|
20
|
+
# TODO: Write general description for SBOM_EXPORT_STATUS_FAILED
|
|
21
|
+
SBOM_EXPORT_STATUS_FAILED = 'SBOM_EXPORT_STATUS_FAILED'.freeze
|
|
22
|
+
].freeze
|
|
23
|
+
|
|
24
|
+
def self.validate(value)
|
|
25
|
+
return false if value.nil?
|
|
26
|
+
|
|
27
|
+
STATUS3.include?(value)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def self.from_value(value, default_value = SBOM_EXPORT_STATUS_IN_PROGRESS)
|
|
31
|
+
return default_value if value.nil?
|
|
32
|
+
|
|
33
|
+
str = value.to_s.strip
|
|
34
|
+
|
|
35
|
+
case str.downcase
|
|
36
|
+
when 'sbom_export_status_in_progress' then SBOM_EXPORT_STATUS_IN_PROGRESS
|
|
37
|
+
when 'sbom_export_status_completed' then SBOM_EXPORT_STATUS_COMPLETED
|
|
38
|
+
when 'sbom_export_status_failed' then SBOM_EXPORT_STATUS_FAILED
|
|
39
|
+
else
|
|
40
|
+
default_value
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# semgrep_web_app
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module SemgrepWebApp
|
|
7
|
+
# Status of the finding. | value | description | |-------|---------------| |
|
|
8
|
+
# FINDING_STATUS_OPEN | | | FINDING_STATUS_IGNORED | | |
|
|
9
|
+
# FINDING_STATUS_FIXED | | | FINDING_STATUS_REMOVED | | |
|
|
10
|
+
# FINDING_STATUS_UNKNOWN | | | FINDING_STATUS_PROVISIONALLY_IGNORED | |
|
|
11
|
+
class Status6
|
|
12
|
+
STATUS6 = [
|
|
13
|
+
# TODO: Write general description for FINDING_STATUS_OPEN
|
|
14
|
+
FINDING_STATUS_OPEN = 'FINDING_STATUS_OPEN'.freeze,
|
|
15
|
+
|
|
16
|
+
# TODO: Write general description for FINDING_STATUS_IGNORED
|
|
17
|
+
FINDING_STATUS_IGNORED = 'FINDING_STATUS_IGNORED'.freeze,
|
|
18
|
+
|
|
19
|
+
# TODO: Write general description for FINDING_STATUS_FIXED
|
|
20
|
+
FINDING_STATUS_FIXED = 'FINDING_STATUS_FIXED'.freeze,
|
|
21
|
+
|
|
22
|
+
# TODO: Write general description for FINDING_STATUS_REMOVED
|
|
23
|
+
FINDING_STATUS_REMOVED = 'FINDING_STATUS_REMOVED'.freeze,
|
|
24
|
+
|
|
25
|
+
# TODO: Write general description for FINDING_STATUS_UNKNOWN
|
|
26
|
+
FINDING_STATUS_UNKNOWN = 'FINDING_STATUS_UNKNOWN'.freeze,
|
|
27
|
+
|
|
28
|
+
# TODO: Write general description for FINDING_STATUS_PROVISIONALLY_IGNORED
|
|
29
|
+
FINDING_STATUS_PROVISIONALLY_IGNORED = 'FINDING_STATUS_PROVISIONALLY_IGNORED'.freeze
|
|
30
|
+
].freeze
|
|
31
|
+
|
|
32
|
+
def self.validate(value)
|
|
33
|
+
return false if value.nil?
|
|
34
|
+
|
|
35
|
+
STATUS6.include?(value)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def self.from_value(value, default_value = FINDING_STATUS_OPEN)
|
|
39
|
+
return default_value if value.nil?
|
|
40
|
+
|
|
41
|
+
str = value.to_s.strip
|
|
42
|
+
|
|
43
|
+
case str.downcase
|
|
44
|
+
when 'finding_status_open' then FINDING_STATUS_OPEN
|
|
45
|
+
when 'finding_status_ignored' then FINDING_STATUS_IGNORED
|
|
46
|
+
when 'finding_status_fixed' then FINDING_STATUS_FIXED
|
|
47
|
+
when 'finding_status_removed' then FINDING_STATUS_REMOVED
|
|
48
|
+
when 'finding_status_unknown' then FINDING_STATUS_UNKNOWN
|
|
49
|
+
when 'finding_status_provisionally_ignored' then FINDING_STATUS_PROVISIONALLY_IGNORED
|
|
50
|
+
else
|
|
51
|
+
default_value
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# semgrep_web_app
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module SemgrepWebApp
|
|
7
|
+
# The current status of the scan | value | description |
|
|
8
|
+
# |-------|---------------| | SCAN_STATUS_RUNNING | The scan is currently
|
|
9
|
+
# running | | SCAN_STATUS_COMPLETED | The scan has completed successfully (0
|
|
10
|
+
# or 1 exit code) | | SCAN_STATUS_PENDING | The scan is queued and waiting to
|
|
11
|
+
# start | | SCAN_STATUS_CANCELLED | The scan was cancelled before completion |
|
|
12
|
+
# | SCAN_STATUS_ERROR | The scan has exited with a failure (exit code not 0 or
|
|
13
|
+
# 1) | | SCAN_STATUS_NEVER_FINISHED | The scan did not report an error or
|
|
14
|
+
# success after over an hour |
|
|
15
|
+
class Status7
|
|
16
|
+
STATUS7 = [
|
|
17
|
+
# TODO: Write general description for SCAN_STATUS_RUNNING
|
|
18
|
+
SCAN_STATUS_RUNNING = 'SCAN_STATUS_RUNNING'.freeze,
|
|
19
|
+
|
|
20
|
+
# TODO: Write general description for SCAN_STATUS_COMPLETED
|
|
21
|
+
SCAN_STATUS_COMPLETED = 'SCAN_STATUS_COMPLETED'.freeze,
|
|
22
|
+
|
|
23
|
+
# TODO: Write general description for SCAN_STATUS_PENDING
|
|
24
|
+
SCAN_STATUS_PENDING = 'SCAN_STATUS_PENDING'.freeze,
|
|
25
|
+
|
|
26
|
+
# TODO: Write general description for SCAN_STATUS_CANCELLED
|
|
27
|
+
SCAN_STATUS_CANCELLED = 'SCAN_STATUS_CANCELLED'.freeze,
|
|
28
|
+
|
|
29
|
+
# TODO: Write general description for SCAN_STATUS_ERROR
|
|
30
|
+
SCAN_STATUS_ERROR = 'SCAN_STATUS_ERROR'.freeze,
|
|
31
|
+
|
|
32
|
+
# TODO: Write general description for SCAN_STATUS_NEVER_FINISHED
|
|
33
|
+
SCAN_STATUS_NEVER_FINISHED = 'SCAN_STATUS_NEVER_FINISHED'.freeze
|
|
34
|
+
].freeze
|
|
35
|
+
|
|
36
|
+
def self.validate(value)
|
|
37
|
+
return false if value.nil?
|
|
38
|
+
|
|
39
|
+
STATUS7.include?(value)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def self.from_value(value, default_value = SCAN_STATUS_RUNNING)
|
|
43
|
+
return default_value if value.nil?
|
|
44
|
+
|
|
45
|
+
str = value.to_s.strip
|
|
46
|
+
|
|
47
|
+
case str.downcase
|
|
48
|
+
when 'scan_status_running' then SCAN_STATUS_RUNNING
|
|
49
|
+
when 'scan_status_completed' then SCAN_STATUS_COMPLETED
|
|
50
|
+
when 'scan_status_pending' then SCAN_STATUS_PENDING
|
|
51
|
+
when 'scan_status_cancelled' then SCAN_STATUS_CANCELLED
|
|
52
|
+
when 'scan_status_error' then SCAN_STATUS_ERROR
|
|
53
|
+
when 'scan_status_never_finished' then SCAN_STATUS_NEVER_FINISHED
|
|
54
|
+
else
|
|
55
|
+
default_value
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# semgrep_web_app
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module SemgrepWebApp
|
|
7
|
+
# Status of the finding. - FINDING_STATUS_UNSPECIFIED: Return results for all
|
|
8
|
+
# finding statuses (if used as a parameter). - FINDING_STATUS_OPEN: Finding
|
|
9
|
+
# is open and needs to be triaged - FINDING_STATUS_IGNORED: Finding has been
|
|
10
|
+
# triaged and is being ignored - FINDING_STATUS_FIXED: Finding has been fixed
|
|
11
|
+
# - FINDING_STATUS_REMOVED: Finding has been removed -
|
|
12
|
+
# FINDING_STATUS_UNKNOWN: Finding status is unknown
|
|
13
|
+
class Status8
|
|
14
|
+
STATUS8 = [
|
|
15
|
+
# TODO: Write general description for FINDING_STATUS_UNSPECIFIED
|
|
16
|
+
FINDING_STATUS_UNSPECIFIED = 'FINDING_STATUS_UNSPECIFIED'.freeze,
|
|
17
|
+
|
|
18
|
+
# TODO: Write general description for FINDING_STATUS_OPEN
|
|
19
|
+
FINDING_STATUS_OPEN = 'FINDING_STATUS_OPEN'.freeze,
|
|
20
|
+
|
|
21
|
+
# TODO: Write general description for FINDING_STATUS_IGNORED
|
|
22
|
+
FINDING_STATUS_IGNORED = 'FINDING_STATUS_IGNORED'.freeze,
|
|
23
|
+
|
|
24
|
+
# TODO: Write general description for FINDING_STATUS_FIXED
|
|
25
|
+
FINDING_STATUS_FIXED = 'FINDING_STATUS_FIXED'.freeze,
|
|
26
|
+
|
|
27
|
+
# TODO: Write general description for FINDING_STATUS_REMOVED
|
|
28
|
+
FINDING_STATUS_REMOVED = 'FINDING_STATUS_REMOVED'.freeze,
|
|
29
|
+
|
|
30
|
+
# TODO: Write general description for FINDING_STATUS_UNKNOWN
|
|
31
|
+
FINDING_STATUS_UNKNOWN = 'FINDING_STATUS_UNKNOWN'.freeze,
|
|
32
|
+
|
|
33
|
+
# TODO: Write general description for FINDING_STATUS_PROVISIONALLY_IGNORED
|
|
34
|
+
FINDING_STATUS_PROVISIONALLY_IGNORED = 'FINDING_STATUS_PROVISIONALLY_IGNORED'.freeze
|
|
35
|
+
].freeze
|
|
36
|
+
|
|
37
|
+
def self.validate(value)
|
|
38
|
+
return false if value.nil?
|
|
39
|
+
|
|
40
|
+
STATUS8.include?(value)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def self.from_value(value, default_value = FINDING_STATUS_UNSPECIFIED)
|
|
44
|
+
return default_value if value.nil?
|
|
45
|
+
|
|
46
|
+
str = value.to_s.strip
|
|
47
|
+
|
|
48
|
+
case str.downcase
|
|
49
|
+
when 'finding_status_unspecified' then FINDING_STATUS_UNSPECIFIED
|
|
50
|
+
when 'finding_status_open' then FINDING_STATUS_OPEN
|
|
51
|
+
when 'finding_status_ignored' then FINDING_STATUS_IGNORED
|
|
52
|
+
when 'finding_status_fixed' then FINDING_STATUS_FIXED
|
|
53
|
+
when 'finding_status_removed' then FINDING_STATUS_REMOVED
|
|
54
|
+
when 'finding_status_unknown' then FINDING_STATUS_UNKNOWN
|
|
55
|
+
when 'finding_status_provisionally_ignored' then FINDING_STATUS_PROVISIONALLY_IGNORED
|
|
56
|
+
else
|
|
57
|
+
default_value
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# semgrep_web_app
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module SemgrepWebApp
|
|
7
|
+
# Which status do you want to include? If not specified, includes all
|
|
8
|
+
# statuses. Findings in the `removed` state are always excluded from this
|
|
9
|
+
# endpoint. Valid values: open, fixed, ignored, reviewing, fixing,
|
|
10
|
+
# provisionally_ignored
|
|
11
|
+
class Status9
|
|
12
|
+
STATUS9 = [
|
|
13
|
+
# TODO: Write general description for OPEN
|
|
14
|
+
OPEN = 'open'.freeze,
|
|
15
|
+
|
|
16
|
+
# TODO: Write general description for FIXED
|
|
17
|
+
FIXED = 'fixed'.freeze,
|
|
18
|
+
|
|
19
|
+
# TODO: Write general description for IGNORED
|
|
20
|
+
IGNORED = 'ignored'.freeze,
|
|
21
|
+
|
|
22
|
+
# TODO: Write general description for REVIEWING
|
|
23
|
+
REVIEWING = 'reviewing'.freeze,
|
|
24
|
+
|
|
25
|
+
# TODO: Write general description for FIXING
|
|
26
|
+
FIXING = 'fixing'.freeze,
|
|
27
|
+
|
|
28
|
+
# TODO: Write general description for PROVISIONALLY_IGNORED
|
|
29
|
+
PROVISIONALLY_IGNORED = 'provisionally_ignored'.freeze
|
|
30
|
+
].freeze
|
|
31
|
+
|
|
32
|
+
def self.validate(value)
|
|
33
|
+
return false if value.nil?
|
|
34
|
+
|
|
35
|
+
STATUS9.include?(value)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def self.from_value(value, default_value = OPEN)
|
|
39
|
+
return default_value if value.nil?
|
|
40
|
+
|
|
41
|
+
str = value.to_s.strip
|
|
42
|
+
|
|
43
|
+
case str.downcase
|
|
44
|
+
when 'open' then OPEN
|
|
45
|
+
when 'fixed' then FIXED
|
|
46
|
+
when 'ignored' then IGNORED
|
|
47
|
+
when 'reviewing' then REVIEWING
|
|
48
|
+
when 'fixing' then FIXING
|
|
49
|
+
when 'provisionally_ignored' then PROVISIONALLY_IGNORED
|
|
50
|
+
else
|
|
51
|
+
default_value
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# semgrep_web_app
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module SemgrepWebApp
|
|
7
|
+
# Only get scans that have one of these statuses | value | description |
|
|
8
|
+
# |-------|---------------| | SCAN_STATUS_RUNNING | The scan is currently
|
|
9
|
+
# running | | SCAN_STATUS_COMPLETED | The scan has completed successfully (0
|
|
10
|
+
# or 1 exit code) | | SCAN_STATUS_PENDING | The scan is queued and waiting to
|
|
11
|
+
# start | | SCAN_STATUS_CANCELLED | The scan was cancelled before completion |
|
|
12
|
+
# | SCAN_STATUS_ERROR | The scan has exited with a failure (exit code not 0 or
|
|
13
|
+
# 1) | | SCAN_STATUS_NEVER_FINISHED | The scan did not report an error or
|
|
14
|
+
# success after over an hour |
|
|
15
|
+
class Statuses
|
|
16
|
+
STATUSES = [
|
|
17
|
+
# TODO: Write general description for SCAN_STATUS_UNSPECIFIED
|
|
18
|
+
SCAN_STATUS_UNSPECIFIED = 'SCAN_STATUS_UNSPECIFIED'.freeze,
|
|
19
|
+
|
|
20
|
+
# TODO: Write general description for SCAN_STATUS_RUNNING
|
|
21
|
+
SCAN_STATUS_RUNNING = 'SCAN_STATUS_RUNNING'.freeze,
|
|
22
|
+
|
|
23
|
+
# TODO: Write general description for SCAN_STATUS_COMPLETED
|
|
24
|
+
SCAN_STATUS_COMPLETED = 'SCAN_STATUS_COMPLETED'.freeze,
|
|
25
|
+
|
|
26
|
+
# TODO: Write general description for SCAN_STATUS_PENDING
|
|
27
|
+
SCAN_STATUS_PENDING = 'SCAN_STATUS_PENDING'.freeze,
|
|
28
|
+
|
|
29
|
+
# TODO: Write general description for SCAN_STATUS_CANCELLED
|
|
30
|
+
SCAN_STATUS_CANCELLED = 'SCAN_STATUS_CANCELLED'.freeze,
|
|
31
|
+
|
|
32
|
+
# TODO: Write general description for SCAN_STATUS_ERROR
|
|
33
|
+
SCAN_STATUS_ERROR = 'SCAN_STATUS_ERROR'.freeze,
|
|
34
|
+
|
|
35
|
+
# TODO: Write general description for SCAN_STATUS_NEVER_FINISHED
|
|
36
|
+
SCAN_STATUS_NEVER_FINISHED = 'SCAN_STATUS_NEVER_FINISHED'.freeze
|
|
37
|
+
].freeze
|
|
38
|
+
|
|
39
|
+
def self.validate(value)
|
|
40
|
+
return false if value.nil?
|
|
41
|
+
|
|
42
|
+
STATUSES.include?(value)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def self.from_value(value, default_value = SCAN_STATUS_UNSPECIFIED)
|
|
46
|
+
return default_value if value.nil?
|
|
47
|
+
|
|
48
|
+
str = value.to_s.strip
|
|
49
|
+
|
|
50
|
+
case str.downcase
|
|
51
|
+
when 'scan_status_unspecified' then SCAN_STATUS_UNSPECIFIED
|
|
52
|
+
when 'scan_status_running' then SCAN_STATUS_RUNNING
|
|
53
|
+
when 'scan_status_completed' then SCAN_STATUS_COMPLETED
|
|
54
|
+
when 'scan_status_pending' then SCAN_STATUS_PENDING
|
|
55
|
+
when 'scan_status_cancelled' then SCAN_STATUS_CANCELLED
|
|
56
|
+
when 'scan_status_error' then SCAN_STATUS_ERROR
|
|
57
|
+
when 'scan_status_never_finished' then SCAN_STATUS_NEVER_FINISHED
|
|
58
|
+
else
|
|
59
|
+
default_value
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# semgrep_web_app
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module SemgrepWebApp
|
|
7
|
+
# ToggleProjectManagedScanRequest Model.
|
|
8
|
+
class ToggleProjectManagedScanRequest < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# Slug of the deployment name. Can be found at `/deployments`, or in your
|
|
13
|
+
# Settings in the web UI.
|
|
14
|
+
# @return [String]
|
|
15
|
+
attr_accessor :deployment_slug
|
|
16
|
+
|
|
17
|
+
# Slug of the deployment name. Can be found at `/deployments`, or in your
|
|
18
|
+
# Settings in the web UI.
|
|
19
|
+
# @return [ProtosOpenapiV1DiffScan]
|
|
20
|
+
attr_accessor :diff_scan
|
|
21
|
+
|
|
22
|
+
# Slug of the deployment name. Can be found at `/deployments`, or in your
|
|
23
|
+
# Settings in the web UI.
|
|
24
|
+
# @return [ProtosOpenapiV1FullScan]
|
|
25
|
+
attr_accessor :full_scan
|
|
26
|
+
|
|
27
|
+
# Name of the project, typically the repository formatted as a path.
|
|
28
|
+
# @return [String]
|
|
29
|
+
attr_accessor :project_name
|
|
30
|
+
|
|
31
|
+
# A mapping from model property names to API property names.
|
|
32
|
+
def self.names
|
|
33
|
+
@_hash = {} if @_hash.nil?
|
|
34
|
+
@_hash['deployment_slug'] = 'deploymentSlug'
|
|
35
|
+
@_hash['diff_scan'] = 'diff_scan'
|
|
36
|
+
@_hash['full_scan'] = 'full_scan'
|
|
37
|
+
@_hash['project_name'] = 'projectName'
|
|
38
|
+
@_hash
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# An array for optional fields
|
|
42
|
+
def self.optionals
|
|
43
|
+
%w[
|
|
44
|
+
diff_scan
|
|
45
|
+
full_scan
|
|
46
|
+
]
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# An array for nullable fields
|
|
50
|
+
def self.nullables
|
|
51
|
+
[]
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def initialize(deployment_slug:, project_name:, diff_scan: SKIP,
|
|
55
|
+
full_scan: SKIP, additional_properties: nil)
|
|
56
|
+
# Add additional model properties to the instance
|
|
57
|
+
additional_properties = {} if additional_properties.nil?
|
|
58
|
+
|
|
59
|
+
@deployment_slug = deployment_slug
|
|
60
|
+
@diff_scan = diff_scan unless diff_scan == SKIP
|
|
61
|
+
@full_scan = full_scan unless full_scan == SKIP
|
|
62
|
+
@project_name = project_name
|
|
63
|
+
@additional_properties = additional_properties
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# Creates an instance of the object from a hash.
|
|
67
|
+
def self.from_hash(hash)
|
|
68
|
+
return nil unless hash
|
|
69
|
+
|
|
70
|
+
# Extract variables from the hash.
|
|
71
|
+
deployment_slug =
|
|
72
|
+
hash.key?('deploymentSlug') ? hash['deploymentSlug'] : nil
|
|
73
|
+
project_name = hash.key?('projectName') ? hash['projectName'] : nil
|
|
74
|
+
diff_scan = ProtosOpenapiV1DiffScan.from_hash(hash['diff_scan']) if hash['diff_scan']
|
|
75
|
+
full_scan = ProtosOpenapiV1FullScan.from_hash(hash['full_scan']) if hash['full_scan']
|
|
76
|
+
|
|
77
|
+
# Create a new hash for additional properties, removing known properties.
|
|
78
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
79
|
+
|
|
80
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
81
|
+
new_hash, proc { |value| value }
|
|
82
|
+
)
|
|
83
|
+
|
|
84
|
+
# Create object from extracted values.
|
|
85
|
+
ToggleProjectManagedScanRequest.new(deployment_slug: deployment_slug,
|
|
86
|
+
project_name: project_name,
|
|
87
|
+
diff_scan: diff_scan,
|
|
88
|
+
full_scan: full_scan,
|
|
89
|
+
additional_properties: additional_properties)
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
# Provides a human-readable string representation of the object.
|
|
93
|
+
def to_s
|
|
94
|
+
class_name = self.class.name.split('::').last
|
|
95
|
+
"<#{class_name} deployment_slug: #{@deployment_slug}, diff_scan: #{@diff_scan}, full_scan:"\
|
|
96
|
+
" #{@full_scan}, project_name: #{@project_name}, additional_properties:"\
|
|
97
|
+
" #{@additional_properties}>"
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
101
|
+
def inspect
|
|
102
|
+
class_name = self.class.name.split('::').last
|
|
103
|
+
"<#{class_name} deployment_slug: #{@deployment_slug.inspect}, diff_scan:"\
|
|
104
|
+
" #{@diff_scan.inspect}, full_scan: #{@full_scan.inspect}, project_name:"\
|
|
105
|
+
" #{@project_name.inspect}, additional_properties: #{@additional_properties}>"
|
|
106
|
+
end
|
|
107
|
+
end
|
|
108
|
+
end
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# semgrep_web_app
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module SemgrepWebApp
|
|
7
|
+
# Successfully updated managed scan settings for project.
|
|
8
|
+
class ToggleProjectManagedScanResponse < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# A project in your organization that uses Semgrep.
|
|
13
|
+
# @return [Project]
|
|
14
|
+
attr_accessor :project
|
|
15
|
+
|
|
16
|
+
# A mapping from model property names to API property names.
|
|
17
|
+
def self.names
|
|
18
|
+
@_hash = {} if @_hash.nil?
|
|
19
|
+
@_hash['project'] = 'project'
|
|
20
|
+
@_hash
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# An array for optional fields
|
|
24
|
+
def self.optionals
|
|
25
|
+
[]
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# An array for nullable fields
|
|
29
|
+
def self.nullables
|
|
30
|
+
[]
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def initialize(project:, additional_properties: nil)
|
|
34
|
+
# Add additional model properties to the instance
|
|
35
|
+
additional_properties = {} if additional_properties.nil?
|
|
36
|
+
|
|
37
|
+
@project = project
|
|
38
|
+
@additional_properties = additional_properties
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# Creates an instance of the object from a hash.
|
|
42
|
+
def self.from_hash(hash)
|
|
43
|
+
return nil unless hash
|
|
44
|
+
|
|
45
|
+
# Extract variables from the hash.
|
|
46
|
+
project = Project.from_hash(hash['project']) if hash['project']
|
|
47
|
+
|
|
48
|
+
# Create a new hash for additional properties, removing known properties.
|
|
49
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
50
|
+
|
|
51
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
52
|
+
new_hash, proc { |value| value }
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
# Create object from extracted values.
|
|
56
|
+
ToggleProjectManagedScanResponse.new(project: project,
|
|
57
|
+
additional_properties: additional_properties)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# Provides a human-readable string representation of the object.
|
|
61
|
+
def to_s
|
|
62
|
+
class_name = self.class.name.split('::').last
|
|
63
|
+
"<#{class_name} project: #{@project}, additional_properties: #{@additional_properties}>"
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
67
|
+
def inspect
|
|
68
|
+
class_name = self.class.name.split('::').last
|
|
69
|
+
"<#{class_name} project: #{@project.inspect}, additional_properties:"\
|
|
70
|
+
" #{@additional_properties}>"
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# semgrep_web_app
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module SemgrepWebApp
|
|
7
|
+
# Filter by transitivity of a dependency. Only applies for sca findings.
|
|
8
|
+
class Transitivities
|
|
9
|
+
TRANSITIVITIES = [
|
|
10
|
+
# TODO: Write general description for DIRECT
|
|
11
|
+
DIRECT = 'direct'.freeze,
|
|
12
|
+
|
|
13
|
+
# TODO: Write general description for TRANSITIVE
|
|
14
|
+
TRANSITIVE = 'transitive'.freeze,
|
|
15
|
+
|
|
16
|
+
# TODO: Write general description for UNKNOWN
|
|
17
|
+
UNKNOWN = 'unknown'.freeze
|
|
18
|
+
].freeze
|
|
19
|
+
|
|
20
|
+
def self.validate(value)
|
|
21
|
+
return false if value.nil?
|
|
22
|
+
|
|
23
|
+
TRANSITIVITIES.include?(value)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def self.from_value(value, default_value = DIRECT)
|
|
27
|
+
return default_value if value.nil?
|
|
28
|
+
|
|
29
|
+
str = value.to_s.strip
|
|
30
|
+
|
|
31
|
+
case str.downcase
|
|
32
|
+
when 'direct' then DIRECT
|
|
33
|
+
when 'transitive' then TRANSITIVE
|
|
34
|
+
when 'unknown' then UNKNOWN
|
|
35
|
+
else
|
|
36
|
+
default_value
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# semgrep_web_app
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module SemgrepWebApp
|
|
7
|
+
# List of transitivities to filter by. If not specified, returns all
|
|
8
|
+
# transitivities. This filter is applicable when `issue_type=sca` is
|
|
9
|
+
# specified. Valid values: direct, transitive, unknown
|
|
10
|
+
class Transitivities2
|
|
11
|
+
TRANSITIVITIES2 = [
|
|
12
|
+
# TODO: Write general description for DIRECT
|
|
13
|
+
DIRECT = 'direct'.freeze,
|
|
14
|
+
|
|
15
|
+
# TODO: Write general description for TRANSITIVE
|
|
16
|
+
TRANSITIVE = 'transitive'.freeze,
|
|
17
|
+
|
|
18
|
+
# TODO: Write general description for UNKNOWN
|
|
19
|
+
UNKNOWN = 'unknown'.freeze
|
|
20
|
+
].freeze
|
|
21
|
+
|
|
22
|
+
def self.validate(value)
|
|
23
|
+
return false if value.nil?
|
|
24
|
+
|
|
25
|
+
TRANSITIVITIES2.include?(value)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def self.from_value(value, default_value = DIRECT)
|
|
29
|
+
return default_value if value.nil?
|
|
30
|
+
|
|
31
|
+
str = value.to_s.strip
|
|
32
|
+
|
|
33
|
+
case str.downcase
|
|
34
|
+
when 'direct' then DIRECT
|
|
35
|
+
when 'transitive' then TRANSITIVE
|
|
36
|
+
when 'unknown' then UNKNOWN
|
|
37
|
+
else
|
|
38
|
+
default_value
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# semgrep_web_app
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module SemgrepWebApp
|
|
7
|
+
# Filter by transitivity. | value | description | |-------|---------------| |
|
|
8
|
+
# UNKNOWN_TRANSITIVITY | | | TRANSITIVE | | | DIRECT | |
|
|
9
|
+
class Transitivity
|
|
10
|
+
TRANSITIVITY = [
|
|
11
|
+
# TODO: Write general description for UNKNOWN_TRANSITIVITY
|
|
12
|
+
UNKNOWN_TRANSITIVITY = 'UNKNOWN_TRANSITIVITY'.freeze,
|
|
13
|
+
|
|
14
|
+
# TODO: Write general description for TRANSITIVE
|
|
15
|
+
TRANSITIVE = 'TRANSITIVE'.freeze,
|
|
16
|
+
|
|
17
|
+
# TODO: Write general description for DIRECT
|
|
18
|
+
DIRECT = 'DIRECT'.freeze
|
|
19
|
+
].freeze
|
|
20
|
+
|
|
21
|
+
def self.validate(value)
|
|
22
|
+
return false if value.nil?
|
|
23
|
+
|
|
24
|
+
TRANSITIVITY.include?(value)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def self.from_value(value, default_value = UNKNOWN_TRANSITIVITY)
|
|
28
|
+
return default_value if value.nil?
|
|
29
|
+
|
|
30
|
+
str = value.to_s.strip
|
|
31
|
+
|
|
32
|
+
case str.downcase
|
|
33
|
+
when 'unknown_transitivity' then UNKNOWN_TRANSITIVITY
|
|
34
|
+
when 'transitive' then TRANSITIVE
|
|
35
|
+
when 'direct' then DIRECT
|
|
36
|
+
else
|
|
37
|
+
default_value
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# semgrep_web_app
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module SemgrepWebApp
|
|
7
|
+
# Whether dependency is direct or transitive. | value | description |
|
|
8
|
+
# |-------|---------------| | UNKNOWN_TRANSITIVITY | | | TRANSITIVE | | |
|
|
9
|
+
# DIRECT | |
|
|
10
|
+
class Transitivity1
|
|
11
|
+
TRANSITIVITY1 = [
|
|
12
|
+
# TODO: Write general description for UNKNOWN_TRANSITIVITY
|
|
13
|
+
UNKNOWN_TRANSITIVITY = 'UNKNOWN_TRANSITIVITY'.freeze,
|
|
14
|
+
|
|
15
|
+
# TODO: Write general description for TRANSITIVE
|
|
16
|
+
TRANSITIVE = 'TRANSITIVE'.freeze,
|
|
17
|
+
|
|
18
|
+
# TODO: Write general description for DIRECT
|
|
19
|
+
DIRECT = 'DIRECT'.freeze
|
|
20
|
+
].freeze
|
|
21
|
+
|
|
22
|
+
def self.validate(value)
|
|
23
|
+
return false if value.nil?
|
|
24
|
+
|
|
25
|
+
TRANSITIVITY1.include?(value)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def self.from_value(value, default_value = UNKNOWN_TRANSITIVITY)
|
|
29
|
+
return default_value if value.nil?
|
|
30
|
+
|
|
31
|
+
str = value.to_s.strip
|
|
32
|
+
|
|
33
|
+
case str.downcase
|
|
34
|
+
when 'unknown_transitivity' then UNKNOWN_TRANSITIVITY
|
|
35
|
+
when 'transitive' then TRANSITIVE
|
|
36
|
+
when 'direct' then DIRECT
|
|
37
|
+
else
|
|
38
|
+
default_value
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|