pub struct PolicyApi<'a> { /* private fields */ }Expand description
Veracode Policy API operations
Implementations§
Source§impl<'a> PolicyApi<'a>
impl<'a> PolicyApi<'a>
Sourcepub fn new(client: &'a VeracodeClient) -> Self
pub fn new(client: &'a VeracodeClient) -> Self
§Errors
Returns an error if the API request fails, the resource is not found,
or authentication/authorization fails.
Create a new PolicyApi instance
Sourcepub async fn list_policies(
&self,
params: Option<PolicyListParams>,
) -> Result<Vec<SecurityPolicy>, PolicyError>
pub async fn list_policies( &self, params: Option<PolicyListParams>, ) -> Result<Vec<SecurityPolicy>, PolicyError>
Sourcepub async fn get_policy(
&self,
policy_guid: &str,
) -> Result<SecurityPolicy, PolicyError>
pub async fn get_policy( &self, policy_guid: &str, ) -> Result<SecurityPolicy, PolicyError>
Sourcepub async fn get_default_policy(&self) -> Result<SecurityPolicy, PolicyError>
pub async fn get_default_policy(&self) -> Result<SecurityPolicy, PolicyError>
Sourcepub async fn evaluate_policy_compliance_via_buildinfo(
&self,
app_id: &str,
build_id: Option<&str>,
sandbox_id: Option<&str>,
) -> Result<Cow<'static, str>, PolicyError>
pub async fn evaluate_policy_compliance_via_buildinfo( &self, app_id: &str, build_id: Option<&str>, sandbox_id: Option<&str>, ) -> Result<Cow<'static, str>, PolicyError>
Evaluates policy compliance for an application or sandbox using XML API
This uses the /api/5.0/getbuildinfo.do endpoint which is the only working policy compliance endpoint as the REST API compliance endpoints return 404.
§Arguments
app_id- The numeric ID of the applicationsandbox_id- Optional numeric ID of the sandbox to evaluate
§Returns
A Result containing the policy compliance status string or an error.
§Errors
Returns an error if the API request fails, the policy is invalid, or authentication/authorization fails.
Sourcepub async fn evaluate_policy_compliance_via_buildinfo_with_retry(
&self,
app_id: &str,
build_id: Option<&str>,
sandbox_id: Option<&str>,
max_retries: u32,
retry_delay_seconds: u64,
) -> Result<Cow<'static, str>, PolicyError>
pub async fn evaluate_policy_compliance_via_buildinfo_with_retry( &self, app_id: &str, build_id: Option<&str>, sandbox_id: Option<&str>, max_retries: u32, retry_delay_seconds: u64, ) -> Result<Cow<'static, str>, PolicyError>
Evaluates policy compliance with retry logic for when assessment is not yet complete
This function will retry the policy evaluation check when the status is “Not Assessed” until either the assessment completes or the maximum retry attempts are reached.
§Arguments
app_id- The numeric ID of the applicationbuild_id- Optional build ID to check. If None, checks the latest buildsandbox_id- Optional numeric ID of the sandbox to evaluatemax_retries- Maximum number of retry attempts (default: 30)retry_delay_seconds- Delay between retries in seconds (default: 10)
§Returns
A Result containing the policy compliance status string or an error.
§Errors
Returns an error if the API request fails, the policy is invalid, or authentication/authorization fails.
Sourcepub fn should_break_build(status: &str) -> bool
pub fn should_break_build(status: &str) -> bool
Sourcepub fn get_exit_code_for_status(status: &str) -> i32
pub fn get_exit_code_for_status(status: &str) -> i32
Sourcepub async fn get_summary_report(
&self,
app_guid: &str,
build_id: Option<&str>,
sandbox_guid: Option<&str>,
) -> Result<SummaryReport, PolicyError>
pub async fn get_summary_report( &self, app_guid: &str, build_id: Option<&str>, sandbox_guid: Option<&str>, ) -> Result<SummaryReport, PolicyError>
Get summary report for an application build using the REST API
§Errors
Returns an error if the API request fails, the resource is not found,
or authentication/authorization fails.
This uses the /appsec/v2/applications/{app_guid}/summary_report endpoint
to get policy compliance status and scan results.
§Arguments
app_guid- The GUID of the applicationbuild_id- The build ID (GUID) to get summary forsandbox_guid- Optional sandbox GUID for sandbox scans
§Returns
A Result containing the summary report or an error.
§Errors
Returns an error if the API request fails, the policy is invalid, or authentication/authorization fails.
Sourcepub async fn get_summary_report_with_policy_retry(
&self,
app_guid: &str,
build_id: Option<&str>,
sandbox_guid: Option<&str>,
max_retries: u32,
retry_delay_seconds: u64,
enable_break_build: bool,
) -> Result<(SummaryReport, Option<Cow<'static, str>>), PolicyError>
pub async fn get_summary_report_with_policy_retry( &self, app_guid: &str, build_id: Option<&str>, sandbox_guid: Option<&str>, max_retries: u32, retry_delay_seconds: u64, enable_break_build: bool, ) -> Result<(SummaryReport, Option<Cow<'static, str>>), PolicyError>
Gets summary report with retry logic and returns both the full report and compliance status
This function combines the functionality of both get_summary_report and
evaluate_policy_compliance_via_summary_report_with_retry to avoid redundant API calls.
It will retry until the policy compliance status is ready (not “Not Assessed”).
§Arguments
app_guid- The GUID of the applicationbuild_id- The build ID to check compliance forsandbox_guid- Optional sandbox GUID for sandbox scansmax_retries- Maximum number of retry attemptsretry_delay_seconds- Delay between retries in secondsdebug- Enable debug logging
§Returns
§Errors
Returns an error if the API request fails, the policy is invalid,
or authentication/authorization fails.
A Result containing a tuple of (SummaryReport, Option<compliance_status>) or an error.
§Errors
Returns an error if the API request fails, the policy is invalid,
or authentication/authorization fails.
The compliance_status is Some(status) if break_build evaluation is needed, None otherwise.
§Errors
Returns an error if the API request fails, the policy is invalid, or authentication/authorization fails.
Sourcepub async fn evaluate_policy_compliance_via_summary_report_with_retry(
&self,
app_guid: &str,
build_id: &str,
sandbox_guid: Option<&str>,
max_retries: u32,
retry_delay_seconds: u64,
) -> Result<Cow<'static, str>, PolicyError>
pub async fn evaluate_policy_compliance_via_summary_report_with_retry( &self, app_guid: &str, build_id: &str, sandbox_guid: Option<&str>, max_retries: u32, retry_delay_seconds: u64, ) -> Result<Cow<'static, str>, PolicyError>
Evaluates policy compliance using the summary report API with retry logic
§Errors
Returns an error if the API request fails, the policy is invalid,
or authentication/authorization fails.
This function uses the summary_report endpoint instead of the buildinfo XML API
and will retry when results are not ready yet.
§Arguments
app_guid- The GUID of the applicationbuild_id- The build ID (GUID) to check compliance forsandbox_guid- Optional sandbox GUID for sandbox scansmax_retries- Maximum number of retry attempts (default: 30)retry_delay_seconds- Delay between retries in seconds (default: 10)
§Returns
A Result containing the policy compliance status string or an error.
§Errors
Returns an error if the API request fails, the policy is invalid, or authentication/authorization fails.
Sourcepub async fn evaluate_policy_compliance_via_summary_report(
&self,
app_guid: &str,
build_id: &str,
sandbox_guid: Option<&str>,
) -> Result<Cow<'static, str>, PolicyError>
pub async fn evaluate_policy_compliance_via_summary_report( &self, app_guid: &str, build_id: &str, sandbox_guid: Option<&str>, ) -> Result<Cow<'static, str>, PolicyError>
Evaluates policy compliance using the summary report API (single attempt)
This is a convenience method that calls the retry version with default parameters.
§Arguments
app_guid- The GUID of the applicationbuild_id- The build ID (GUID) to check compliance forsandbox_guid- Optional sandbox GUID for sandbox scans
§Returns
A Result containing the policy compliance status string or an error.
§Errors
Returns an error if the API request fails, the policy is invalid, or authentication/authorization fails.
Sourcepub async fn initiate_policy_scan(
&self,
request: PolicyScanRequest,
) -> Result<PolicyScanResult, PolicyError>
pub async fn initiate_policy_scan( &self, request: PolicyScanRequest, ) -> Result<PolicyScanResult, PolicyError>
Sourcepub async fn get_policy_scan_result(
&self,
scan_id: u64,
) -> Result<PolicyScanResult, PolicyError>
pub async fn get_policy_scan_result( &self, scan_id: u64, ) -> Result<PolicyScanResult, PolicyError>
Sourcepub async fn is_policy_scan_complete(
&self,
scan_id: u64,
) -> Result<bool, PolicyError>
pub async fn is_policy_scan_complete( &self, scan_id: u64, ) -> Result<bool, PolicyError>
Sourcepub async fn get_policy_status_with_fallback(
&self,
app_guid: &str,
app_id: &str,
build_id: Option<&str>,
sandbox_guid: Option<&str>,
sandbox_id: Option<&str>,
max_retries: u32,
retry_delay_seconds: u64,
enable_break_build: bool,
force_buildinfo_api: bool,
) -> Result<(Option<SummaryReport>, String, ApiSource), PolicyError>
pub async fn get_policy_status_with_fallback( &self, app_guid: &str, app_id: &str, build_id: Option<&str>, sandbox_guid: Option<&str>, sandbox_id: Option<&str>, max_retries: u32, retry_delay_seconds: u64, enable_break_build: bool, force_buildinfo_api: bool, ) -> Result<(Option<SummaryReport>, String, ApiSource), PolicyError>
Gets policy compliance status with automatic fallback from summary report to buildinfo
This method first tries the summary report API for full functionality. If access is denied (401/403), it automatically falls back to the getbuildinfo.do XML API for policy compliance status only. This provides the best user experience while maintaining compatibility.
§Arguments
app_guid- Application GUID (for REST API)app_id- Application numeric ID (for XML API fallback)build_id- Optional build IDsandbox_guid- Optional sandbox GUID (for REST API)sandbox_id- Optional sandbox numeric ID (for XML API fallback)max_retries- Maximum number of retry attemptsretry_delay_seconds- Delay between retries in secondsenable_break_build- Whether to enable break build evaluationforce_buildinfo_api- Skip summary report and use buildinfo directly
§Returns
A tuple containing:
§Errors
Returns an error if the API request fails, the policy is invalid, or authentication/authorization fails.
- Optional
SummaryReport(None if fallback was used) - Policy compliance status string
§Errors
Returns an error if the API request fails, the policy is invalid, or authentication/authorization fails.
ApiSourceindicating which API was used
§Errors
Returns an error if the API request fails, the policy is invalid, or authentication/authorization fails.