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,393 @@
|
|
|
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
|
+
# Create ticket request
|
|
8
|
+
class CreateTicketRequest < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# The autotriage verdict to filter by
|
|
13
|
+
# @return [AutotriageVerdict]
|
|
14
|
+
attr_accessor :autotriage_verdict
|
|
15
|
+
|
|
16
|
+
# List of categories to filter by
|
|
17
|
+
# @return [Array[String]]
|
|
18
|
+
attr_accessor :categories
|
|
19
|
+
|
|
20
|
+
# List of component tags to filter by
|
|
21
|
+
# @return [Array[String]]
|
|
22
|
+
attr_accessor :component_tags
|
|
23
|
+
|
|
24
|
+
# List of confidence levels to filter by
|
|
25
|
+
# @return [Confidence3]
|
|
26
|
+
attr_accessor :confidence
|
|
27
|
+
|
|
28
|
+
# Filter by dependency name. Only applies for sca findings.
|
|
29
|
+
# @return [Array[String]]
|
|
30
|
+
attr_accessor :dependencies
|
|
31
|
+
|
|
32
|
+
# Deployment slug. Can be found at `/deployments`, or in your Settings in
|
|
33
|
+
# the web UI.
|
|
34
|
+
# @return [String]
|
|
35
|
+
attr_accessor :deployment_slug
|
|
36
|
+
|
|
37
|
+
# Filter by EPSS probability (likelihood of exploit). Only applies for sca
|
|
38
|
+
# findings.
|
|
39
|
+
# @return [EpssProbability]
|
|
40
|
+
attr_accessor :epss_probability
|
|
41
|
+
|
|
42
|
+
# Filter by exposure (reachability type). Only applies for sca findings.
|
|
43
|
+
# Reachability is the ability of an attacker to access a vulnerability in a
|
|
44
|
+
# system.
|
|
45
|
+
# @return [Exposures]
|
|
46
|
+
attr_accessor :exposures
|
|
47
|
+
|
|
48
|
+
# Whether or not to group findings from the same rule and repository into a
|
|
49
|
+
# single ticket. Defaults to true.
|
|
50
|
+
# @return [TrueClass | FalseClass]
|
|
51
|
+
attr_accessor :group_issues
|
|
52
|
+
|
|
53
|
+
# Whether to include historical findings. Only applies for secrets findings.
|
|
54
|
+
# Defaults to true.
|
|
55
|
+
# @return [TrueClass | FalseClass]
|
|
56
|
+
attr_accessor :include_historical
|
|
57
|
+
|
|
58
|
+
# An array of issue IDs to act on. If this is not provided, an issue filter
|
|
59
|
+
# should be provided.
|
|
60
|
+
# @return [Array[String]]
|
|
61
|
+
attr_accessor :issue_ids
|
|
62
|
+
|
|
63
|
+
# Type of findings to create tickets for.
|
|
64
|
+
# @return [IssueType1]
|
|
65
|
+
attr_accessor :issue_type
|
|
66
|
+
|
|
67
|
+
# Optional numeric Jira project ID to associate with the created tickets. If
|
|
68
|
+
# not specified, defaults to the project configured in your integration
|
|
69
|
+
# settings. You can fetch this ID using the Jira API.
|
|
70
|
+
# @return [String]
|
|
71
|
+
attr_accessor :jira_project_id
|
|
72
|
+
|
|
73
|
+
# Max number of tickets to create. Must be an integer between 1 and 20.
|
|
74
|
+
# Defaults to 20
|
|
75
|
+
# @return [Integer]
|
|
76
|
+
attr_accessor :limit
|
|
77
|
+
|
|
78
|
+
# List of policy modes to filter by
|
|
79
|
+
# @return [Array[String]]
|
|
80
|
+
attr_accessor :policies
|
|
81
|
+
|
|
82
|
+
# List of policy modes to filter by
|
|
83
|
+
# @return [PolicyMode1]
|
|
84
|
+
attr_accessor :policy_mode
|
|
85
|
+
|
|
86
|
+
# Filter by whether a finding is only available with Semgrep Pro features.
|
|
87
|
+
# Only applies for sast findings.
|
|
88
|
+
# @return [TrueClass | FalseClass]
|
|
89
|
+
attr_accessor :pro_only
|
|
90
|
+
|
|
91
|
+
# List of project tags to filter by
|
|
92
|
+
# @return [Array[String]]
|
|
93
|
+
attr_accessor :project_tags
|
|
94
|
+
|
|
95
|
+
# Branch reference to filter by
|
|
96
|
+
# @return [String]
|
|
97
|
+
attr_accessor :ref
|
|
98
|
+
|
|
99
|
+
# List of repository names to filter by
|
|
100
|
+
# @return [Array[String]]
|
|
101
|
+
attr_accessor :repos
|
|
102
|
+
|
|
103
|
+
# Filter by repository visibility. Only applies for secrets findings.
|
|
104
|
+
# @return [RepositoryVisibility]
|
|
105
|
+
attr_accessor :repository_visibility
|
|
106
|
+
|
|
107
|
+
# List of rule names to filter by
|
|
108
|
+
# @return [Array[String]]
|
|
109
|
+
attr_accessor :rules
|
|
110
|
+
|
|
111
|
+
# List of Semgrep Registry rulesets to filter by
|
|
112
|
+
# @return [Array[String]]
|
|
113
|
+
attr_accessor :ruleset
|
|
114
|
+
|
|
115
|
+
# Filter by type of secret (typically provider-related). Only applies for
|
|
116
|
+
# secrets findings.
|
|
117
|
+
# @return [Array[String]]
|
|
118
|
+
attr_accessor :secret_types
|
|
119
|
+
|
|
120
|
+
# List of severities to filter by
|
|
121
|
+
# @return [Severities]
|
|
122
|
+
attr_accessor :severities
|
|
123
|
+
|
|
124
|
+
# Epoch timestamp in seconds. Filters using the relevant_since field: the
|
|
125
|
+
# timestamp when this finding was detected by Semgrep (the first time, or
|
|
126
|
+
# when reintroduced).
|
|
127
|
+
# @return [String]
|
|
128
|
+
attr_accessor :since
|
|
129
|
+
|
|
130
|
+
# The status to filter by
|
|
131
|
+
# @return [Status1]
|
|
132
|
+
attr_accessor :status
|
|
133
|
+
|
|
134
|
+
# Filter by transitivity of a dependency. Only applies for sca findings.
|
|
135
|
+
# @return [Transitivities]
|
|
136
|
+
attr_accessor :transitivities
|
|
137
|
+
|
|
138
|
+
# List of triage reasons to filter by
|
|
139
|
+
# @return [TriageReasons]
|
|
140
|
+
attr_accessor :triage_reasons
|
|
141
|
+
|
|
142
|
+
# Filter by whether a secret could be validated. Only applies for secrets
|
|
143
|
+
# findings.
|
|
144
|
+
# @return [ValidationState]
|
|
145
|
+
attr_accessor :validation_state
|
|
146
|
+
|
|
147
|
+
# A mapping from model property names to API property names.
|
|
148
|
+
def self.names
|
|
149
|
+
@_hash = {} if @_hash.nil?
|
|
150
|
+
@_hash['autotriage_verdict'] = 'autotriage_verdict'
|
|
151
|
+
@_hash['categories'] = 'categories'
|
|
152
|
+
@_hash['component_tags'] = 'component_tags'
|
|
153
|
+
@_hash['confidence'] = 'confidence'
|
|
154
|
+
@_hash['dependencies'] = 'dependencies'
|
|
155
|
+
@_hash['deployment_slug'] = 'deploymentSlug'
|
|
156
|
+
@_hash['epss_probability'] = 'epss_probability'
|
|
157
|
+
@_hash['exposures'] = 'exposures'
|
|
158
|
+
@_hash['group_issues'] = 'group_issues'
|
|
159
|
+
@_hash['include_historical'] = 'include_historical'
|
|
160
|
+
@_hash['issue_ids'] = 'issue_ids'
|
|
161
|
+
@_hash['issue_type'] = 'issue_type'
|
|
162
|
+
@_hash['jira_project_id'] = 'jira_project_id'
|
|
163
|
+
@_hash['limit'] = 'limit'
|
|
164
|
+
@_hash['policies'] = 'policies'
|
|
165
|
+
@_hash['policy_mode'] = 'policy_mode'
|
|
166
|
+
@_hash['pro_only'] = 'pro_only'
|
|
167
|
+
@_hash['project_tags'] = 'project_tags'
|
|
168
|
+
@_hash['ref'] = 'ref'
|
|
169
|
+
@_hash['repos'] = 'repos'
|
|
170
|
+
@_hash['repository_visibility'] = 'repository_visibility'
|
|
171
|
+
@_hash['rules'] = 'rules'
|
|
172
|
+
@_hash['ruleset'] = 'ruleset'
|
|
173
|
+
@_hash['secret_types'] = 'secret_types'
|
|
174
|
+
@_hash['severities'] = 'severities'
|
|
175
|
+
@_hash['since'] = 'since'
|
|
176
|
+
@_hash['status'] = 'status'
|
|
177
|
+
@_hash['transitivities'] = 'transitivities'
|
|
178
|
+
@_hash['triage_reasons'] = 'triage_reasons'
|
|
179
|
+
@_hash['validation_state'] = 'validation_state'
|
|
180
|
+
@_hash
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
# An array for optional fields
|
|
184
|
+
def self.optionals
|
|
185
|
+
%w[
|
|
186
|
+
autotriage_verdict
|
|
187
|
+
categories
|
|
188
|
+
component_tags
|
|
189
|
+
confidence
|
|
190
|
+
dependencies
|
|
191
|
+
epss_probability
|
|
192
|
+
exposures
|
|
193
|
+
group_issues
|
|
194
|
+
include_historical
|
|
195
|
+
issue_ids
|
|
196
|
+
jira_project_id
|
|
197
|
+
limit
|
|
198
|
+
policies
|
|
199
|
+
policy_mode
|
|
200
|
+
pro_only
|
|
201
|
+
project_tags
|
|
202
|
+
ref
|
|
203
|
+
repos
|
|
204
|
+
repository_visibility
|
|
205
|
+
rules
|
|
206
|
+
ruleset
|
|
207
|
+
secret_types
|
|
208
|
+
severities
|
|
209
|
+
since
|
|
210
|
+
status
|
|
211
|
+
transitivities
|
|
212
|
+
triage_reasons
|
|
213
|
+
validation_state
|
|
214
|
+
]
|
|
215
|
+
end
|
|
216
|
+
|
|
217
|
+
# An array for nullable fields
|
|
218
|
+
def self.nullables
|
|
219
|
+
[]
|
|
220
|
+
end
|
|
221
|
+
|
|
222
|
+
def initialize(deployment_slug:, issue_type:, autotriage_verdict: SKIP,
|
|
223
|
+
categories: SKIP, component_tags: SKIP, confidence: SKIP,
|
|
224
|
+
dependencies: SKIP, epss_probability: SKIP, exposures: SKIP,
|
|
225
|
+
group_issues: true, include_historical: SKIP,
|
|
226
|
+
issue_ids: SKIP, jira_project_id: SKIP, limit: 20,
|
|
227
|
+
policies: SKIP, policy_mode: SKIP, pro_only: SKIP,
|
|
228
|
+
project_tags: SKIP, ref: SKIP, repos: SKIP,
|
|
229
|
+
repository_visibility: SKIP, rules: SKIP, ruleset: SKIP,
|
|
230
|
+
secret_types: SKIP, severities: SKIP, since: SKIP,
|
|
231
|
+
status: SKIP, transitivities: SKIP, triage_reasons: SKIP,
|
|
232
|
+
validation_state: SKIP, additional_properties: nil)
|
|
233
|
+
# Add additional model properties to the instance
|
|
234
|
+
additional_properties = {} if additional_properties.nil?
|
|
235
|
+
|
|
236
|
+
@autotriage_verdict = autotriage_verdict unless autotriage_verdict == SKIP
|
|
237
|
+
@categories = categories unless categories == SKIP
|
|
238
|
+
@component_tags = component_tags unless component_tags == SKIP
|
|
239
|
+
@confidence = confidence unless confidence == SKIP
|
|
240
|
+
@dependencies = dependencies unless dependencies == SKIP
|
|
241
|
+
@deployment_slug = deployment_slug
|
|
242
|
+
@epss_probability = epss_probability unless epss_probability == SKIP
|
|
243
|
+
@exposures = exposures unless exposures == SKIP
|
|
244
|
+
@group_issues = group_issues unless group_issues == SKIP
|
|
245
|
+
@include_historical = include_historical unless include_historical == SKIP
|
|
246
|
+
@issue_ids = issue_ids unless issue_ids == SKIP
|
|
247
|
+
@issue_type = issue_type
|
|
248
|
+
@jira_project_id = jira_project_id unless jira_project_id == SKIP
|
|
249
|
+
@limit = limit unless limit == SKIP
|
|
250
|
+
@policies = policies unless policies == SKIP
|
|
251
|
+
@policy_mode = policy_mode unless policy_mode == SKIP
|
|
252
|
+
@pro_only = pro_only unless pro_only == SKIP
|
|
253
|
+
@project_tags = project_tags unless project_tags == SKIP
|
|
254
|
+
@ref = ref unless ref == SKIP
|
|
255
|
+
@repos = repos unless repos == SKIP
|
|
256
|
+
@repository_visibility = repository_visibility unless repository_visibility == SKIP
|
|
257
|
+
@rules = rules unless rules == SKIP
|
|
258
|
+
@ruleset = ruleset unless ruleset == SKIP
|
|
259
|
+
@secret_types = secret_types unless secret_types == SKIP
|
|
260
|
+
@severities = severities unless severities == SKIP
|
|
261
|
+
@since = since unless since == SKIP
|
|
262
|
+
@status = status unless status == SKIP
|
|
263
|
+
@transitivities = transitivities unless transitivities == SKIP
|
|
264
|
+
@triage_reasons = triage_reasons unless triage_reasons == SKIP
|
|
265
|
+
@validation_state = validation_state unless validation_state == SKIP
|
|
266
|
+
@additional_properties = additional_properties
|
|
267
|
+
end
|
|
268
|
+
|
|
269
|
+
# Creates an instance of the object from a hash.
|
|
270
|
+
def self.from_hash(hash)
|
|
271
|
+
return nil unless hash
|
|
272
|
+
|
|
273
|
+
# Extract variables from the hash.
|
|
274
|
+
deployment_slug =
|
|
275
|
+
hash.key?('deploymentSlug') ? hash['deploymentSlug'] : nil
|
|
276
|
+
issue_type = hash.key?('issue_type') ? hash['issue_type'] : nil
|
|
277
|
+
autotriage_verdict =
|
|
278
|
+
hash.key?('autotriage_verdict') ? hash['autotriage_verdict'] : SKIP
|
|
279
|
+
categories = hash.key?('categories') ? hash['categories'] : SKIP
|
|
280
|
+
component_tags =
|
|
281
|
+
hash.key?('component_tags') ? hash['component_tags'] : SKIP
|
|
282
|
+
confidence = hash.key?('confidence') ? hash['confidence'] : SKIP
|
|
283
|
+
dependencies = hash.key?('dependencies') ? hash['dependencies'] : SKIP
|
|
284
|
+
epss_probability =
|
|
285
|
+
hash.key?('epss_probability') ? hash['epss_probability'] : SKIP
|
|
286
|
+
exposures = hash.key?('exposures') ? hash['exposures'] : SKIP
|
|
287
|
+
group_issues = hash['group_issues'] ||= true
|
|
288
|
+
include_historical =
|
|
289
|
+
hash.key?('include_historical') ? hash['include_historical'] : SKIP
|
|
290
|
+
issue_ids = hash.key?('issue_ids') ? hash['issue_ids'] : SKIP
|
|
291
|
+
jira_project_id =
|
|
292
|
+
hash.key?('jira_project_id') ? hash['jira_project_id'] : SKIP
|
|
293
|
+
limit = hash['limit'] ||= 20
|
|
294
|
+
policies = hash.key?('policies') ? hash['policies'] : SKIP
|
|
295
|
+
policy_mode = hash.key?('policy_mode') ? hash['policy_mode'] : SKIP
|
|
296
|
+
pro_only = hash.key?('pro_only') ? hash['pro_only'] : SKIP
|
|
297
|
+
project_tags = hash.key?('project_tags') ? hash['project_tags'] : SKIP
|
|
298
|
+
ref = hash.key?('ref') ? hash['ref'] : SKIP
|
|
299
|
+
repos = hash.key?('repos') ? hash['repos'] : SKIP
|
|
300
|
+
repository_visibility =
|
|
301
|
+
hash.key?('repository_visibility') ? hash['repository_visibility'] : SKIP
|
|
302
|
+
rules = hash.key?('rules') ? hash['rules'] : SKIP
|
|
303
|
+
ruleset = hash.key?('ruleset') ? hash['ruleset'] : SKIP
|
|
304
|
+
secret_types = hash.key?('secret_types') ? hash['secret_types'] : SKIP
|
|
305
|
+
severities = hash.key?('severities') ? hash['severities'] : SKIP
|
|
306
|
+
since = hash.key?('since') ? hash['since'] : SKIP
|
|
307
|
+
status = hash.key?('status') ? hash['status'] : SKIP
|
|
308
|
+
transitivities =
|
|
309
|
+
hash.key?('transitivities') ? hash['transitivities'] : SKIP
|
|
310
|
+
triage_reasons =
|
|
311
|
+
hash.key?('triage_reasons') ? hash['triage_reasons'] : SKIP
|
|
312
|
+
validation_state =
|
|
313
|
+
hash.key?('validation_state') ? hash['validation_state'] : SKIP
|
|
314
|
+
|
|
315
|
+
# Create a new hash for additional properties, removing known properties.
|
|
316
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
317
|
+
|
|
318
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
319
|
+
new_hash, proc { |value| value }
|
|
320
|
+
)
|
|
321
|
+
|
|
322
|
+
# Create object from extracted values.
|
|
323
|
+
CreateTicketRequest.new(deployment_slug: deployment_slug,
|
|
324
|
+
issue_type: issue_type,
|
|
325
|
+
autotriage_verdict: autotriage_verdict,
|
|
326
|
+
categories: categories,
|
|
327
|
+
component_tags: component_tags,
|
|
328
|
+
confidence: confidence,
|
|
329
|
+
dependencies: dependencies,
|
|
330
|
+
epss_probability: epss_probability,
|
|
331
|
+
exposures: exposures,
|
|
332
|
+
group_issues: group_issues,
|
|
333
|
+
include_historical: include_historical,
|
|
334
|
+
issue_ids: issue_ids,
|
|
335
|
+
jira_project_id: jira_project_id,
|
|
336
|
+
limit: limit,
|
|
337
|
+
policies: policies,
|
|
338
|
+
policy_mode: policy_mode,
|
|
339
|
+
pro_only: pro_only,
|
|
340
|
+
project_tags: project_tags,
|
|
341
|
+
ref: ref,
|
|
342
|
+
repos: repos,
|
|
343
|
+
repository_visibility: repository_visibility,
|
|
344
|
+
rules: rules,
|
|
345
|
+
ruleset: ruleset,
|
|
346
|
+
secret_types: secret_types,
|
|
347
|
+
severities: severities,
|
|
348
|
+
since: since,
|
|
349
|
+
status: status,
|
|
350
|
+
transitivities: transitivities,
|
|
351
|
+
triage_reasons: triage_reasons,
|
|
352
|
+
validation_state: validation_state,
|
|
353
|
+
additional_properties: additional_properties)
|
|
354
|
+
end
|
|
355
|
+
|
|
356
|
+
# Provides a human-readable string representation of the object.
|
|
357
|
+
def to_s
|
|
358
|
+
class_name = self.class.name.split('::').last
|
|
359
|
+
"<#{class_name} autotriage_verdict: #{@autotriage_verdict}, categories: #{@categories},"\
|
|
360
|
+
" component_tags: #{@component_tags}, confidence: #{@confidence}, dependencies:"\
|
|
361
|
+
" #{@dependencies}, deployment_slug: #{@deployment_slug}, epss_probability:"\
|
|
362
|
+
" #{@epss_probability}, exposures: #{@exposures}, group_issues: #{@group_issues},"\
|
|
363
|
+
" include_historical: #{@include_historical}, issue_ids: #{@issue_ids}, issue_type:"\
|
|
364
|
+
" #{@issue_type}, jira_project_id: #{@jira_project_id}, limit: #{@limit}, policies:"\
|
|
365
|
+
" #{@policies}, policy_mode: #{@policy_mode}, pro_only: #{@pro_only}, project_tags:"\
|
|
366
|
+
" #{@project_tags}, ref: #{@ref}, repos: #{@repos}, repository_visibility:"\
|
|
367
|
+
" #{@repository_visibility}, rules: #{@rules}, ruleset: #{@ruleset}, secret_types:"\
|
|
368
|
+
" #{@secret_types}, severities: #{@severities}, since: #{@since}, status: #{@status},"\
|
|
369
|
+
" transitivities: #{@transitivities}, triage_reasons: #{@triage_reasons}, validation_state:"\
|
|
370
|
+
" #{@validation_state}, additional_properties: #{@additional_properties}>"
|
|
371
|
+
end
|
|
372
|
+
|
|
373
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
374
|
+
def inspect
|
|
375
|
+
class_name = self.class.name.split('::').last
|
|
376
|
+
"<#{class_name} autotriage_verdict: #{@autotriage_verdict.inspect}, categories:"\
|
|
377
|
+
" #{@categories.inspect}, component_tags: #{@component_tags.inspect}, confidence:"\
|
|
378
|
+
" #{@confidence.inspect}, dependencies: #{@dependencies.inspect}, deployment_slug:"\
|
|
379
|
+
" #{@deployment_slug.inspect}, epss_probability: #{@epss_probability.inspect}, exposures:"\
|
|
380
|
+
" #{@exposures.inspect}, group_issues: #{@group_issues.inspect}, include_historical:"\
|
|
381
|
+
" #{@include_historical.inspect}, issue_ids: #{@issue_ids.inspect}, issue_type:"\
|
|
382
|
+
" #{@issue_type.inspect}, jira_project_id: #{@jira_project_id.inspect}, limit:"\
|
|
383
|
+
" #{@limit.inspect}, policies: #{@policies.inspect}, policy_mode: #{@policy_mode.inspect},"\
|
|
384
|
+
" pro_only: #{@pro_only.inspect}, project_tags: #{@project_tags.inspect}, ref:"\
|
|
385
|
+
" #{@ref.inspect}, repos: #{@repos.inspect}, repository_visibility:"\
|
|
386
|
+
" #{@repository_visibility.inspect}, rules: #{@rules.inspect}, ruleset: #{@ruleset.inspect},"\
|
|
387
|
+
" secret_types: #{@secret_types.inspect}, severities: #{@severities.inspect}, since:"\
|
|
388
|
+
" #{@since.inspect}, status: #{@status.inspect}, transitivities: #{@transitivities.inspect},"\
|
|
389
|
+
" triage_reasons: #{@triage_reasons.inspect}, validation_state:"\
|
|
390
|
+
" #{@validation_state.inspect}, additional_properties: #{@additional_properties}>"
|
|
391
|
+
end
|
|
392
|
+
end
|
|
393
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
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
|
+
# CycloneDX schema version for the SBOM export. Supported: 1.4, 1.5, 1.6, 1.7.
|
|
8
|
+
# Defaults to 1.4 when unset. | value | description |
|
|
9
|
+
# |-------|---------------| | SBOM_CYCLONE_DX_VERSION_V1_4 | | |
|
|
10
|
+
# SBOM_CYCLONE_DX_VERSION_V1_5 | | | SBOM_CYCLONE_DX_VERSION_V1_6 | | |
|
|
11
|
+
# SBOM_CYCLONE_DX_VERSION_V1_7 | |
|
|
12
|
+
class CyclonedxVersion
|
|
13
|
+
CYCLONEDX_VERSION = [
|
|
14
|
+
# TODO: Write general description for SBOM_CYCLONE_DX_VERSION_V1_4
|
|
15
|
+
SBOM_CYCLONE_DX_VERSION_V1_4 = 'SBOM_CYCLONE_DX_VERSION_V1_4'.freeze,
|
|
16
|
+
|
|
17
|
+
# TODO: Write general description for SBOM_CYCLONE_DX_VERSION_V1_5
|
|
18
|
+
SBOM_CYCLONE_DX_VERSION_V1_5 = 'SBOM_CYCLONE_DX_VERSION_V1_5'.freeze,
|
|
19
|
+
|
|
20
|
+
# TODO: Write general description for SBOM_CYCLONE_DX_VERSION_V1_6
|
|
21
|
+
SBOM_CYCLONE_DX_VERSION_V1_6 = 'SBOM_CYCLONE_DX_VERSION_V1_6'.freeze,
|
|
22
|
+
|
|
23
|
+
# TODO: Write general description for SBOM_CYCLONE_DX_VERSION_V1_7
|
|
24
|
+
SBOM_CYCLONE_DX_VERSION_V1_7 = 'SBOM_CYCLONE_DX_VERSION_V1_7'.freeze
|
|
25
|
+
].freeze
|
|
26
|
+
|
|
27
|
+
def self.validate(value)
|
|
28
|
+
return false if value.nil?
|
|
29
|
+
|
|
30
|
+
CYCLONEDX_VERSION.include?(value)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def self.from_value(value, default_value = SBOM_CYCLONE_DX_VERSION_V1_4)
|
|
34
|
+
return default_value if value.nil?
|
|
35
|
+
|
|
36
|
+
str = value.to_s.strip
|
|
37
|
+
|
|
38
|
+
case str.downcase
|
|
39
|
+
when 'sbom_cyclone_dx_version_v1_4' then SBOM_CYCLONE_DX_VERSION_V1_4
|
|
40
|
+
when 'sbom_cyclone_dx_version_v1_5' then SBOM_CYCLONE_DX_VERSION_V1_5
|
|
41
|
+
when 'sbom_cyclone_dx_version_v1_6' then SBOM_CYCLONE_DX_VERSION_V1_6
|
|
42
|
+
when 'sbom_cyclone_dx_version_v1_7' then SBOM_CYCLONE_DX_VERSION_V1_7
|
|
43
|
+
else
|
|
44
|
+
default_value
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,74 @@
|
|
|
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 deleted the project.
|
|
8
|
+
class DeleteProjectResponse < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# The name of the deleted project.
|
|
13
|
+
# @return [String]
|
|
14
|
+
attr_accessor :project_name
|
|
15
|
+
|
|
16
|
+
# A mapping from model property names to API property names.
|
|
17
|
+
def self.names
|
|
18
|
+
@_hash = {} if @_hash.nil?
|
|
19
|
+
@_hash['project_name'] = 'project_name'
|
|
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_name:, additional_properties: nil)
|
|
34
|
+
# Add additional model properties to the instance
|
|
35
|
+
additional_properties = {} if additional_properties.nil?
|
|
36
|
+
|
|
37
|
+
@project_name = project_name
|
|
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_name = hash.key?('project_name') ? hash['project_name'] : nil
|
|
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
|
+
DeleteProjectResponse.new(project_name: project_name,
|
|
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_name: #{@project_name}, additional_properties:"\
|
|
64
|
+
" #{@additional_properties}>"
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
68
|
+
def inspect
|
|
69
|
+
class_name = self.class.name.split('::').last
|
|
70
|
+
"<#{class_name} project_name: #{@project_name.inspect}, additional_properties:"\
|
|
71
|
+
" #{@additional_properties}>"
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
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 removed tags from project.
|
|
8
|
+
class DeleteProjectTagsResponse < 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
|
+
DeleteProjectTagsResponse.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,102 @@
|
|
|
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
|
+
# Deployment record, with relevant meta-data and further accesses.
|
|
8
|
+
class Deployment < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# TODO: Write general description for this method
|
|
13
|
+
# @return [EndpointReference]
|
|
14
|
+
attr_accessor :findings
|
|
15
|
+
|
|
16
|
+
# Unique numerical identifier of the deployment.
|
|
17
|
+
# @return [Integer]
|
|
18
|
+
attr_accessor :id
|
|
19
|
+
|
|
20
|
+
# Human readable name.
|
|
21
|
+
# @return [String]
|
|
22
|
+
attr_accessor :name
|
|
23
|
+
|
|
24
|
+
# Sanitized machine-readable name. Used as primary identifier through the
|
|
25
|
+
# web API.
|
|
26
|
+
# @return [String]
|
|
27
|
+
attr_accessor :slug
|
|
28
|
+
|
|
29
|
+
# A mapping from model property names to API property names.
|
|
30
|
+
def self.names
|
|
31
|
+
@_hash = {} if @_hash.nil?
|
|
32
|
+
@_hash['findings'] = 'findings'
|
|
33
|
+
@_hash['id'] = 'id'
|
|
34
|
+
@_hash['name'] = 'name'
|
|
35
|
+
@_hash['slug'] = 'slug'
|
|
36
|
+
@_hash
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# An array for optional fields
|
|
40
|
+
def self.optionals
|
|
41
|
+
%w[
|
|
42
|
+
findings
|
|
43
|
+
]
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# An array for nullable fields
|
|
47
|
+
def self.nullables
|
|
48
|
+
[]
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def initialize(id:, name:, slug:, findings: SKIP,
|
|
52
|
+
additional_properties: nil)
|
|
53
|
+
# Add additional model properties to the instance
|
|
54
|
+
additional_properties = {} if additional_properties.nil?
|
|
55
|
+
|
|
56
|
+
@findings = findings unless findings == SKIP
|
|
57
|
+
@id = id
|
|
58
|
+
@name = name
|
|
59
|
+
@slug = slug
|
|
60
|
+
@additional_properties = additional_properties
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# Creates an instance of the object from a hash.
|
|
64
|
+
def self.from_hash(hash)
|
|
65
|
+
return nil unless hash
|
|
66
|
+
|
|
67
|
+
# Extract variables from the hash.
|
|
68
|
+
id = hash.key?('id') ? hash['id'] : nil
|
|
69
|
+
name = hash.key?('name') ? hash['name'] : nil
|
|
70
|
+
slug = hash.key?('slug') ? hash['slug'] : nil
|
|
71
|
+
findings = EndpointReference.from_hash(hash['findings']) if hash['findings']
|
|
72
|
+
|
|
73
|
+
# Create a new hash for additional properties, removing known properties.
|
|
74
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
75
|
+
|
|
76
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
77
|
+
new_hash, proc { |value| value }
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
# Create object from extracted values.
|
|
81
|
+
Deployment.new(id: id,
|
|
82
|
+
name: name,
|
|
83
|
+
slug: slug,
|
|
84
|
+
findings: findings,
|
|
85
|
+
additional_properties: additional_properties)
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
# Provides a human-readable string representation of the object.
|
|
89
|
+
def to_s
|
|
90
|
+
class_name = self.class.name.split('::').last
|
|
91
|
+
"<#{class_name} findings: #{@findings}, id: #{@id}, name: #{@name}, slug: #{@slug},"\
|
|
92
|
+
" additional_properties: #{@additional_properties}>"
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
96
|
+
def inspect
|
|
97
|
+
class_name = self.class.name.split('::').last
|
|
98
|
+
"<#{class_name} findings: #{@findings.inspect}, id: #{@id.inspect}, name: #{@name.inspect},"\
|
|
99
|
+
" slug: #{@slug.inspect}, additional_properties: #{@additional_properties}>"
|
|
100
|
+
end
|
|
101
|
+
end
|
|
102
|
+
end
|