/* tslint:disable */ /* eslint-disable */ /** * Sonatype Lifecycle Public REST API * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * The version of the OpenAPI document: 1.207.0-01 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import * as runtime from '../runtime'; import type { ApiBulkWaiversDTO, ApiContainerImageWaiverDTO, ApiContainerImageWaiverRequestDTO, ApiFirewallComponentDTOResult, ApiFirewallMetricsResultDTO, ApiFirewallQuarantineSummaryDTO, ApiFirewallQuarantinedComponentDtoResult, ApiFirewallReleaseQuarantineConfigDTO, ApiFirewallReleaseQuarantineSummaryDTO, ApiMalwareComponentEvaluationRequestList, ApiRepositoryComponentEvaluationRequestList, ApiRepositoryComponentEvaluationResultList, ApiRepositoryContainerDTO, ApiRepositoryListDTO, ApiRepositoryManagerDTO, ApiRepositoryManagerListDTO, ApplicationSummaryList, CascadeReevaluateTicketDTO, CascadeStatusResponseDTO, ContainerImageInQuarantineDataResult, MalwareDefenseResponseList, PolicyContainerWaiverDataResult, RenewWaiversRequestDTO, } from '../models/index'; import { ApiBulkWaiversDTOFromJSON, ApiBulkWaiversDTOToJSON, ApiContainerImageWaiverDTOFromJSON, ApiContainerImageWaiverDTOToJSON, ApiContainerImageWaiverRequestDTOFromJSON, ApiContainerImageWaiverRequestDTOToJSON, ApiFirewallComponentDTOResultFromJSON, ApiFirewallComponentDTOResultToJSON, ApiFirewallMetricsResultDTOFromJSON, ApiFirewallMetricsResultDTOToJSON, ApiFirewallQuarantineSummaryDTOFromJSON, ApiFirewallQuarantineSummaryDTOToJSON, ApiFirewallQuarantinedComponentDtoResultFromJSON, ApiFirewallQuarantinedComponentDtoResultToJSON, ApiFirewallReleaseQuarantineConfigDTOFromJSON, ApiFirewallReleaseQuarantineConfigDTOToJSON, ApiFirewallReleaseQuarantineSummaryDTOFromJSON, ApiFirewallReleaseQuarantineSummaryDTOToJSON, ApiMalwareComponentEvaluationRequestListFromJSON, ApiMalwareComponentEvaluationRequestListToJSON, ApiRepositoryComponentEvaluationRequestListFromJSON, ApiRepositoryComponentEvaluationRequestListToJSON, ApiRepositoryComponentEvaluationResultListFromJSON, ApiRepositoryComponentEvaluationResultListToJSON, ApiRepositoryContainerDTOFromJSON, ApiRepositoryContainerDTOToJSON, ApiRepositoryListDTOFromJSON, ApiRepositoryListDTOToJSON, ApiRepositoryManagerDTOFromJSON, ApiRepositoryManagerDTOToJSON, ApiRepositoryManagerListDTOFromJSON, ApiRepositoryManagerListDTOToJSON, ApplicationSummaryListFromJSON, ApplicationSummaryListToJSON, CascadeReevaluateTicketDTOFromJSON, CascadeReevaluateTicketDTOToJSON, CascadeStatusResponseDTOFromJSON, CascadeStatusResponseDTOToJSON, ContainerImageInQuarantineDataResultFromJSON, ContainerImageInQuarantineDataResultToJSON, MalwareDefenseResponseListFromJSON, MalwareDefenseResponseListToJSON, PolicyContainerWaiverDataResultFromJSON, PolicyContainerWaiverDataResultToJSON, RenewWaiversRequestDTOFromJSON, RenewWaiversRequestDTOToJSON, } from '../models/index'; export interface FirewallApiAddBulkWaiversRequest { ownerType: AddBulkWaiversOwnerTypeEnum; ownerId: string; apiBulkWaiversDTO: ApiBulkWaiversDTO; } export interface FirewallApiAddProprietaryComponentNamesRequest { format: string; requestBody: Array; } export interface FirewallApiAddRepositoryManagerRequest { apiRepositoryManagerDTO: ApiRepositoryManagerDTO; } export interface FirewallApiAddWaiverRequest { containerImageId: string; apiContainerImageWaiverDTO?: ApiContainerImageWaiverDTO; } export interface FirewallApiConfigureRepositoriesRequest { repositoryManagerId: string; apiRepositoryListDTO: ApiRepositoryListDTO; } export interface FirewallApiDeleteContainerImagePolicyWaiverRequest { containerImageId: string; } export interface FirewallApiDeleteRepositoryManagerRequest { repositoryManagerId: string; } export interface FirewallApiEvaluateComponents1Request { repositoryManagerId: string; repositoryId: string; apiRepositoryComponentEvaluationRequestList: ApiRepositoryComponentEvaluationRequestList; } export interface FirewallApiEvaluateMalwareRequest { apiMalwareComponentEvaluationRequestList?: ApiMalwareComponentEvaluationRequestList; } export interface FirewallApiGetCascadeStatusRequest { requestId: string; } export interface FirewallApiGetConfiguredRepositoriesRequest { repositoryManagerId: string; sinceUtcTimestamp?: number; } export interface FirewallApiGetContainerImagesInQuarantineRequest { page?: number; pageSize?: number; } export interface FirewallApiGetPolicyWaiverRequest { ownerType: GetPolicyWaiverOwnerTypeEnum; ownerId: string; policyWaiverId: string; } export interface FirewallApiGetQuarantineListRequest { page?: number; pageSize?: number; policyId?: Set; componentName?: string; repositoryPublicId?: string; quarantineTime?: number; sortBy?: string; asc?: boolean; } export interface FirewallApiGetRepositoryManagerRequest { repositoryManagerId: string; } export interface FirewallApiGetUnquarantineListRequest { page?: number; pageSize?: number; policyId?: string; componentName?: string; sortBy?: string; asc?: boolean; } export interface FirewallApiGetWaiversRequest { page?: number; pageSize?: number; } export interface FirewallApiInitiateCascadeReevaluationRequest { componentHash: string; } export interface FirewallApiRemoveProprietaryComponentNamesRequest { format: string; } export interface FirewallApiRenewWaiversRequest { renewWaiversRequestDTO: RenewWaiversRequestDTO; } export interface FirewallApiRequestWaiverRequest { containerImageId: string; apiContainerImageWaiverRequestDTO?: ApiContainerImageWaiverRequestDTO; } export interface FirewallApiSetFirewallAutoUnquarantineConfigRequest { apiFirewallReleaseQuarantineConfigDTO: Array; } export interface FirewallApiSetQuarantinedComponentViewAnonymousAccessRequest { enabled: boolean; } /** * FirewallApi - interface * * @export * @interface FirewallApiInterface */ export interface FirewallApiInterface { /** * Bulk-waive up to 1000 repository policy violations for Firewall. Supports both quarantine violations (FAIL action) and non-quarantine violations (WARN action). Quarantined components are released on the next monitoring or reevaluation pass once all remaining FAIL violations have been waived. This operation executes within a single database transaction - if any violation fails validation, the entire request is rolled back (no partial waivers are created). **Performance**: Requests with 100 violations typically complete in <5 seconds, requests with 1000 violations complete in <10 seconds. **Permissions required**: Waive Policy Violations **Security**: All violations must belong to the authenticated owner\'s tenant hierarchy. Cross-tenant access attempts will be rejected. * @param {'organization' | 'repository_container' | 'repository_manager' | 'repository'} ownerType Owner type scope for the waiver. Must be one of: organization, repository, repository_manager, repository_container. Use \'organization\' with ownerId \'ROOT_ORGANIZATION_ID\' to apply waiver across all repositories. * @param {string} ownerId Owner ID corresponding to the owner type. All violations must belong to this owner\'s tenant hierarchy. * @param {ApiBulkWaiversDTO} apiBulkWaiversDTO Bulk waiver request containing: - **violationIds** (required, 1-1000 items): List of repository policy violation IDs to waive. Duplicate IDs are automatically deduplicated. Supports both quarantine (FAIL) and non-quarantine (WARN) violations. Already-waived violations are skipped without error. - **apiWaiverOptionsDTO** (required): Waiver options including: - **comment** (required, non-blank): Reason for waiving these violations - **matcherStrategy** (required): EXACT_COMPONENT or ALL_VERSIONS - **expiryTime** (optional): Must be in the future if provided - **waiverReasonId** (optional): Reference to a pre-defined waiver reason - **expireWhenRemediationAvailable** (optional): If true, matcherStrategy must be EXACT_COMPONENT * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FirewallApiInterface */ addBulkWaiversRaw(requestParameters: FirewallApiAddBulkWaiversRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Bulk-waive up to 1000 repository policy violations for Firewall. Supports both quarantine violations (FAIL action) and non-quarantine violations (WARN action). Quarantined components are released on the next monitoring or reevaluation pass once all remaining FAIL violations have been waived. This operation executes within a single database transaction - if any violation fails validation, the entire request is rolled back (no partial waivers are created). **Performance**: Requests with 100 violations typically complete in <5 seconds, requests with 1000 violations complete in <10 seconds. **Permissions required**: Waive Policy Violations **Security**: All violations must belong to the authenticated owner\'s tenant hierarchy. Cross-tenant access attempts will be rejected. */ addBulkWaivers(requestParameters: FirewallApiAddBulkWaiversRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Adds a list of proprietary component namespaces for the specified format to prevent namespace confusion attacks. Permissions required: Evaluate Individual Components * @param {string} format Format for which the proprietary namespaces are being added. * @param {Array} requestBody List of namespaces to register as proprietary for this format. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FirewallApiInterface */ addProprietaryComponentNamesRaw(requestParameters: FirewallApiAddProprietaryComponentNamesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Adds a list of proprietary component namespaces for the specified format to prevent namespace confusion attacks. Permissions required: Evaluate Individual Components */ addProprietaryComponentNames(requestParameters: FirewallApiAddProprietaryComponentNamesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Use this method to add a new repository manager. Permissions required: Edit IQ Elements * @param {ApiRepositoryManagerDTO} apiRepositoryManagerDTO Enter values for the new repository manager. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FirewallApiInterface */ addRepositoryManagerRaw(requestParameters: FirewallApiAddRepositoryManagerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Use this method to add a new repository manager. Permissions required: Edit IQ Elements */ addRepositoryManager(requestParameters: FirewallApiAddRepositoryManagerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Use this method to create a waiver for all policy violations of a container Image. Permissions required: Waive Policy Violations * @param {string} containerImageId Enter the container image id. * @param {ApiContainerImageWaiverDTO} [apiContainerImageWaiverDTO] The request JSON can include the fields<ol><li>expiryTime (default null): Sets the datetime when the waiver expires.</li><li>waiverReasonId (default null): Sets the specific reason chosen for the waiver.</li><li>comment (default null): Further explanation about the waiver.</li></ol> * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FirewallApiInterface */ addWaiverRaw(requestParameters: FirewallApiAddWaiverRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Use this method to create a waiver for all policy violations of a container Image. Permissions required: Waive Policy Violations */ addWaiver(requestParameters: FirewallApiAddWaiverRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Use this method to update the repositories for an existing repository manager. Permissions required: Edit IQ Elements * @param {string} repositoryManagerId Enter the repository manager ID. * @param {ApiRepositoryListDTO} apiRepositoryListDTO Enter values for the repository configuration properties to be updated. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FirewallApiInterface */ configureRepositoriesRaw(requestParameters: FirewallApiConfigureRepositoriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Use this method to update the repositories for an existing repository manager. Permissions required: Edit IQ Elements */ configureRepositories(requestParameters: FirewallApiConfigureRepositoriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Use this method to delete a container waiver, specified by the containerImageId. Permissions required: Waive Policy Violations * @param {string} containerImageId Enter the container id. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FirewallApiInterface */ deleteContainerImagePolicyWaiverRaw(requestParameters: FirewallApiDeleteContainerImagePolicyWaiverRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Use this method to delete a container waiver, specified by the containerImageId. Permissions required: Waive Policy Violations */ deleteContainerImagePolicyWaiver(requestParameters: FirewallApiDeleteContainerImagePolicyWaiverRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Use this method to delete an existing repository manager. Permissions required: Edit IQ Elements * @param {string} repositoryManagerId Enter the repository manager ID. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FirewallApiInterface */ deleteRepositoryManagerRaw(requestParameters: FirewallApiDeleteRepositoryManagerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Use this method to delete an existing repository manager. Permissions required: Edit IQ Elements */ deleteRepositoryManager(requestParameters: FirewallApiDeleteRepositoryManagerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Use this method to evaluate components (max. 100). **Hash Requirements by Format Type:** **Coordinate-Based Formats** (hash NOT required when using packageUrl): - golang, conan, cargo, cocoapods, cran, conda, composer, hf-model - These formats identify components by coordinates (name+version) rather than file hash - When using packageUrl, hash is optional - If hash is provided, it will be used **Hash-Based Formats** (hash REQUIRED): - maven, npm, pypi, nuget, docker, rubygems, and others - Hash must ALWAYS be provided to identify the exact file content - Hash is required regardless of whether pathname or packageUrl is used - Missing hash for these formats will result in incorrect component identification Permissions required: Evaluate Individual Components * @param {string} repositoryManagerId Enter the repository manager ID. * @param {string} repositoryId Enter the repository ID. * @param {ApiRepositoryComponentEvaluationRequestList} apiRepositoryComponentEvaluationRequestList Provide the array of component identifiers to be evaluated. Each component requires **one of the following combinations**: **For Coordinate-Based Formats (golang, conan, cargo, cocoapods, cran, conda, composer, hf-model):** - **packageUrl only** - Hash is optional - **packageUrl + hash** - Hash is optional, will be used if provided - **pathname + hash** - Hash required (pathname approach always requires hash) **For Hash-Based Formats (maven, npm, pypi, nuget, docker, rubygems, etc.):** - **packageUrl + hash** - Hash REQUIRED to identify exact file content - **pathname + hash** - Hash REQUIRED - Providing packageUrl without hash for these formats will result in incorrect identification A maximum of 100 components can be evaluated in one request. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FirewallApiInterface */ evaluateComponents1Raw(requestParameters: FirewallApiEvaluateComponents1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Use this method to evaluate components (max. 100). **Hash Requirements by Format Type:** **Coordinate-Based Formats** (hash NOT required when using packageUrl): - golang, conan, cargo, cocoapods, cran, conda, composer, hf-model - These formats identify components by coordinates (name+version) rather than file hash - When using packageUrl, hash is optional - If hash is provided, it will be used **Hash-Based Formats** (hash REQUIRED): - maven, npm, pypi, nuget, docker, rubygems, and others - Hash must ALWAYS be provided to identify the exact file content - Hash is required regardless of whether pathname or packageUrl is used - Missing hash for these formats will result in incorrect component identification Permissions required: Evaluate Individual Components */ evaluateComponents1(requestParameters: FirewallApiEvaluateComponents1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Evaluate malware for a list of components.

Use this endpoint to evaluate malware for a list of components up to a maximum of 100 components in a single request.A hash or packageUrl (or both) can be supplied for each component that are of the same format type. * @param {ApiMalwareComponentEvaluationRequestList} [apiMalwareComponentEvaluationRequestList] * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FirewallApiInterface */ evaluateMalwareRaw(requestParameters: FirewallApiEvaluateMalwareRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Evaluate malware for a list of components.

Use this endpoint to evaluate malware for a list of components up to a maximum of 100 components in a single request.A hash or packageUrl (or both) can be supplied for each component that are of the same format type. */ evaluateMalware(requestParameters: FirewallApiEvaluateMalwareRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Get the status of a cascade re-evaluation request.

Returns the current progress of a cascade re-evaluation operation including the list of components that have been evaluated and those still pending. The overall status will be \'pending\' if any components are still being processed, or \'completed\' if all components have been evaluated.

The response includes:

  • status: Overall status (PENDING, IN_PROGRESS, COMPLETED, NO_COMPONENTS_FOUND, FAILED)
  • referenceComponentHash: The component hash that was re-evaluated
  • pending: Components still being processed (PENDING status)
  • evaluated: Components successfully re-evaluated (COMPLETED or NO_COMPONENTS_FOUND status)
  • failed: Components that could not be re-evaluated (FAILED status)

Permissions Required: Evaluate Components at Repository Managers level * @param {string} requestId The cascade request ID to check status for * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FirewallApiInterface */ getCascadeStatusRaw(requestParameters: FirewallApiGetCascadeStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Get the status of a cascade re-evaluation request.

Returns the current progress of a cascade re-evaluation operation including the list of components that have been evaluated and those still pending. The overall status will be \'pending\' if any components are still being processed, or \'completed\' if all components have been evaluated.

The response includes:

  • status: Overall status (PENDING, IN_PROGRESS, COMPLETED, NO_COMPONENTS_FOUND, FAILED)
  • referenceComponentHash: The component hash that was re-evaluated
  • pending: Components still being processed (PENDING status)
  • evaluated: Components successfully re-evaluated (COMPLETED or NO_COMPONENTS_FOUND status)
  • failed: Components that could not be re-evaluated (FAILED status)

Permissions Required: Evaluate Components at Repository Managers level */ getCascadeStatus(requestParameters: FirewallApiGetCascadeStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Use this method to retrieve the configuration details of an existing repository manager. Permissions required: View IQ Elements * @param {string} repositoryManagerId Enter the repository manager ID. * @param {number} [sinceUtcTimestamp] Enter the epoch time in milliseconds when the repository was last updated. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FirewallApiInterface */ getConfiguredRepositoriesRaw(requestParameters: FirewallApiGetConfiguredRepositoriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Use this method to retrieve the configuration details of an existing repository manager. Permissions required: View IQ Elements */ getConfiguredRepositories(requestParameters: FirewallApiGetConfiguredRepositoriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Use this method to find all container images currently in quarantine. Permissions required: Read * @param {number} [page] * @param {number} [pageSize] * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FirewallApiInterface */ getContainerImagesInQuarantineRaw(requestParameters: FirewallApiGetContainerImagesInQuarantineRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Use this method to find all container images currently in quarantine. Permissions required: Read */ getContainerImagesInQuarantine(requestParameters: FirewallApiGetContainerImagesInQuarantineRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Use this method to retrieve the configuration settings for auto-release from quarantine for repositories. Permissions required: View IQ Elements * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FirewallApiInterface */ getFirewallAutoUnquarantineConfigRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>>; /** * Use this method to retrieve the configuration settings for auto-release from quarantine for repositories. Permissions required: View IQ Elements */ getFirewallAutoUnquarantineConfig(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Use this method to retrieve firewall dashboard metrics. Permissions required: View IQ Elements * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FirewallApiInterface */ getFirewallMetricsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Use this method to retrieve firewall dashboard metrics. Permissions required: View IQ Elements */ getFirewallMetrics(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<{ [key: string]: ApiFirewallMetricsResultDTO; }>; /** * Use this method to track how many components have been automatically released from quarantine over different time periods. Permissions required: View IQ Elements * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FirewallApiInterface */ getFirewallUnquarantineSummaryRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Use this method to track how many components have been automatically released from quarantine over different time periods. Permissions required: View IQ Elements */ getFirewallUnquarantineSummary(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * The response contains malware defense API metrics.

Use this endpoint to get the count of malicious components evaluated via malware defense API grouped by format. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FirewallApiInterface */ getMalwareDefenseMetricsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * The response contains malware defense API metrics.

Use this endpoint to get the count of malicious components evaluated via malware defense API grouped by format. */ getMalwareDefenseMetrics(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<{ [key: string]: number; }>; /** * Retrieve a single Firewall policy waiver by ID.

This endpoint is for Firewall Dashboard use only. Authorization is based on Firewall repository-level access rather than owner-level READ permission, allowing scoped users to view waivers visible in their Firewall Dashboard list.

For scoped users, the waiver owner must be reachable from their permitted proxy repositories: a permitted repository itself, an organization or repository-manager ancestor of one, or a container-image application linked to a permitted repository via its shadow organization. Waivers at root-organization or repository-manager scope are accessible to any authenticated user with access to at least one proxy repository.

Permissions Required: READ permission on at least one proxy repository. * @param {'application' | 'organization' | 'repository_container' | 'repository_manager' | 'repository'} ownerType Owner type (application, organization, repository, repository_manager, or repository_container) * @param {string} ownerId Owner ID * @param {string} policyWaiverId Policy waiver ID * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FirewallApiInterface */ getPolicyWaiverRaw(requestParameters: FirewallApiGetPolicyWaiverRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Retrieve a single Firewall policy waiver by ID.

This endpoint is for Firewall Dashboard use only. Authorization is based on Firewall repository-level access rather than owner-level READ permission, allowing scoped users to view waivers visible in their Firewall Dashboard list.

For scoped users, the waiver owner must be reachable from their permitted proxy repositories: a permitted repository itself, an organization or repository-manager ancestor of one, or a container-image application linked to a permitted repository via its shadow organization. Waivers at root-organization or repository-manager scope are accessible to any authenticated user with access to at least one proxy repository.

Permissions Required: READ permission on at least one proxy repository. */ getPolicyWaiver(requestParameters: FirewallApiGetPolicyWaiverRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Use this method to request a list of quarantined components. Permissions required: View IQ Elements * @param {number} [page] Enter the starting page number for the response. * @param {number} [pageSize] Enter the page size for the response. * @param {Set} [policyId] Enter the list of policy IDs causing the quarantine. * @param {string} [componentName] Enter the component name. * @param {string} [repositoryPublicId] Enter the repository public ID of the quarantined component. * @param {number} [quarantineTime] Enter the quarantine time of the component. * @param {string} [sortBy] Enter `quarantineTime` to sort the results by quarantine time. * @param {boolean} [asc] Select the sort order. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FirewallApiInterface */ getQuarantineListRaw(requestParameters: FirewallApiGetQuarantineListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Use this method to request a list of quarantined components. Permissions required: View IQ Elements */ getQuarantineList(requestParameters: FirewallApiGetQuarantineListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Use this method to request a summary of quarantined components. Permissions required: View IQ Elements * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FirewallApiInterface */ getQuarantineSummaryRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Use this method to request a summary of quarantined components. Permissions required: View IQ Elements */ getQuarantineSummary(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Use this method to determine if the quarantined component(s) details can be accessed anonymously. Permissions required: None * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FirewallApiInterface */ getQuarantinedComponentViewAnonymousAccessRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Use this method to determine if the quarantined component(s) details can be accessed anonymously. Permissions required: None */ getQuarantinedComponentViewAnonymousAccess(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Use this method to retrieve the ID and name for the repository container. Permissions required: View IQ Elements * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FirewallApiInterface */ getRepositoryContainerRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Use this method to retrieve the ID and name for the repository container. Permissions required: View IQ Elements */ getRepositoryContainer(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Use this method to retrieve details of an existing repository manager. Permissions required: View IQ Elements * @param {string} repositoryManagerId Enter the repository manager ID. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FirewallApiInterface */ getRepositoryManagerRaw(requestParameters: FirewallApiGetRepositoryManagerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Use this method to retrieve details of an existing repository manager. Permissions required: View IQ Elements */ getRepositoryManager(requestParameters: FirewallApiGetRepositoryManagerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Use this method to retrieve all configured repository managers. Permissions required: View IQ Elements * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FirewallApiInterface */ getRepositoryManagersRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Use this method to retrieve all configured repository managers. Permissions required: View IQ Elements */ getRepositoryManagers(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Use this method to retrieve the details of components that are auto-released from quarantine. Permissions required: View IQ Elements * @param {number} [page] Enter the page number. * @param {number} [pageSize] Enter the number of results to be returned for a page. * @param {string} [policyId] Enter the `policyId`. When provided, the results will include the components that have a policy violation for the policyId. * @param {string} [componentName] Enter the component name. When provided, the results will include components with display names (case-insensitive) that match the given name. * @param {string} [sortBy] Enter the sort criteria `releaseQuarantineTime` or `quarantineTime`. * @param {boolean} [asc] Select `true` to set the sort order to ascending. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FirewallApiInterface */ getUnquarantineListRaw(requestParameters: FirewallApiGetUnquarantineListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Use this method to retrieve the details of components that are auto-released from quarantine. Permissions required: View IQ Elements */ getUnquarantineList(requestParameters: FirewallApiGetUnquarantineListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Use this method to get all policy waivers for container images. Permissions required: View IQ Elements * @param {number} [page] * @param {number} [pageSize] * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FirewallApiInterface */ getWaiversRaw(requestParameters: FirewallApiGetWaiversRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Use this method to get all policy waivers for container images. Permissions required: View IQ Elements */ getWaivers(requestParameters: FirewallApiGetWaiversRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Initiate cascade re-evaluation for a component across repository hierarchies.

This operation asynchronously re-evaluates the specified component across all repositories where the component exists.

The system will automatically discover all eligible repositories based on component presence.

Permissions Required: Evaluate Components at Repository Managers level * @param {string} componentHash The component hash to re-evaluate across all repositories * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FirewallApiInterface */ initiateCascadeReevaluationRaw(requestParameters: FirewallApiInitiateCascadeReevaluationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Initiate cascade re-evaluation for a component across repository hierarchies.

This operation asynchronously re-evaluates the specified component across all repositories where the component exists.

The system will automatically discover all eligible repositories based on component presence.

Permissions Required: Evaluate Components at Repository Managers level */ initiateCascadeReevaluation(requestParameters: FirewallApiInitiateCascadeReevaluationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Removes proprietary component namespaces for the specified format. Permissions required: Evaluate Individual Components * @param {string} format Format for which the proprietary namespaces are being removed. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FirewallApiInterface */ removeProprietaryComponentNamesRaw(requestParameters: FirewallApiRemoveProprietaryComponentNamesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Removes proprietary component namespaces for the specified format. Permissions required: Evaluate Individual Components */ removeProprietaryComponentNames(requestParameters: FirewallApiRemoveProprietaryComponentNamesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Renews Firewall policy waivers with a new expiry date. Records the previous expiry time for audit and tracking purposes.\\n\\n**Supports both single and bulk renewals**: Pass one or more waiver IDs in the request body.\\n\\n**Permissions required**: Waive Policy Violations\\n\\n**Security**: Permission is checked against the waiver\'s owner. The authenticated user must have WAIVE_POLICY_VIOLATIONS on the owner scope. * @param {RenewWaiversRequestDTO} renewWaiversRequestDTO Renewal request containing:\\n- **waiverIds** (required): List of waiver IDs to renew\\n- **newExpiryTime** (optional): New expiry time as ISO 8601 timestamp. Null means the waiver never expires.\\n- **comment** (optional): Comment explaining the renewal\\n- **reasonId** (optional): ID of a pre-defined waiver reason * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FirewallApiInterface */ renewWaiversRaw(requestParameters: FirewallApiRenewWaiversRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Renews Firewall policy waivers with a new expiry date. Records the previous expiry time for audit and tracking purposes.\\n\\n**Supports both single and bulk renewals**: Pass one or more waiver IDs in the request body.\\n\\n**Permissions required**: Waive Policy Violations\\n\\n**Security**: Permission is checked against the waiver\'s owner. The authenticated user must have WAIVE_POLICY_VIOLATIONS on the owner scope. */ renewWaivers(requestParameters: FirewallApiRenewWaiversRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Use this method to request a waiver for all policy violations of a container image. Permissions required: authenticated user (waiver request workflow must be enabled) * @param {string} containerImageId The container image id. * @param {ApiContainerImageWaiverRequestDTO} [apiContainerImageWaiverRequestDTO] Fields: comment, noteToReviewer, expiryTime, waiverReasonId * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FirewallApiInterface */ requestWaiverRaw(requestParameters: FirewallApiRequestWaiverRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Use this method to request a waiver for all policy violations of a container image. Permissions required: authenticated user (waiver request workflow must be enabled) */ requestWaiver(requestParameters: FirewallApiRequestWaiverRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Use this method to set the configurations for auto-release from quarantine for a list of repositories. Permissions required: Edit IQ Elements * @param {Array} apiFirewallReleaseQuarantineConfigDTO Enter value for each repository and the required status for auto-release as `true` or `false`. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FirewallApiInterface */ setFirewallAutoUnquarantineConfigRaw(requestParameters: FirewallApiSetFirewallAutoUnquarantineConfigRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>>; /** * Use this method to set the configurations for auto-release from quarantine for a list of repositories. Permissions required: Edit IQ Elements */ setFirewallAutoUnquarantineConfig(requestParameters: FirewallApiSetFirewallAutoUnquarantineConfigRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Use this method to enable/disable anonymous access to view the quarantined components. Permissions required: Edit IQ Elements * @param {boolean} enabled Select `true` or `false` to enable or disable anonymous access. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FirewallApiInterface */ setQuarantinedComponentViewAnonymousAccessRaw(requestParameters: FirewallApiSetQuarantinedComponentViewAnonymousAccessRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Use this method to enable/disable anonymous access to view the quarantined components. Permissions required: Edit IQ Elements */ setQuarantinedComponentViewAnonymousAccess(requestParameters: FirewallApiSetQuarantinedComponentViewAnonymousAccessRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Use this method to verify that the authenticated user has required permissions for firewall operations and retrieve accessible applications. Permissions required: Evaluate Individual Components * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof FirewallApiInterface */ verifyConnectionAndGetApplicationsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Use this method to verify that the authenticated user has required permissions for firewall operations and retrieve accessible applications. Permissions required: Evaluate Individual Components */ verifyConnectionAndGetApplications(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; } /** * */ export class FirewallApi extends runtime.BaseAPI implements FirewallApiInterface { /** * Bulk-waive up to 1000 repository policy violations for Firewall. Supports both quarantine violations (FAIL action) and non-quarantine violations (WARN action). Quarantined components are released on the next monitoring or reevaluation pass once all remaining FAIL violations have been waived. This operation executes within a single database transaction - if any violation fails validation, the entire request is rolled back (no partial waivers are created). **Performance**: Requests with 100 violations typically complete in <5 seconds, requests with 1000 violations complete in <10 seconds. **Permissions required**: Waive Policy Violations **Security**: All violations must belong to the authenticated owner\'s tenant hierarchy. Cross-tenant access attempts will be rejected. */ async addBulkWaiversRaw(requestParameters: FirewallApiAddBulkWaiversRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['ownerType'] == null) { throw new runtime.RequiredError( 'ownerType', 'Required parameter "ownerType" was null or undefined when calling addBulkWaivers().' ); } if (requestParameters['ownerId'] == null) { throw new runtime.RequiredError( 'ownerId', 'Required parameter "ownerId" was null or undefined when calling addBulkWaivers().' ); } if (requestParameters['apiBulkWaiversDTO'] == null) { throw new runtime.RequiredError( 'apiBulkWaiversDTO', 'Required parameter "apiBulkWaiversDTO" was null or undefined when calling addBulkWaivers().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/firewall/repositories/{ownerType}/{ownerId}/waivers/bulk`; urlPath = urlPath.replace(`{${"ownerType"}}`, encodeURIComponent(String(requestParameters['ownerType']))); urlPath = urlPath.replace(`{${"ownerId"}}`, encodeURIComponent(String(requestParameters['ownerId']))); const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: ApiBulkWaiversDTOToJSON(requestParameters['apiBulkWaiversDTO']), }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Bulk-waive up to 1000 repository policy violations for Firewall. Supports both quarantine violations (FAIL action) and non-quarantine violations (WARN action). Quarantined components are released on the next monitoring or reevaluation pass once all remaining FAIL violations have been waived. This operation executes within a single database transaction - if any violation fails validation, the entire request is rolled back (no partial waivers are created). **Performance**: Requests with 100 violations typically complete in <5 seconds, requests with 1000 violations complete in <10 seconds. **Permissions required**: Waive Policy Violations **Security**: All violations must belong to the authenticated owner\'s tenant hierarchy. Cross-tenant access attempts will be rejected. */ async addBulkWaivers(requestParameters: FirewallApiAddBulkWaiversRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.addBulkWaiversRaw(requestParameters, initOverrides); } /** * Adds a list of proprietary component namespaces for the specified format to prevent namespace confusion attacks. Permissions required: Evaluate Individual Components */ async addProprietaryComponentNamesRaw(requestParameters: FirewallApiAddProprietaryComponentNamesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['format'] == null) { throw new runtime.RequiredError( 'format', 'Required parameter "format" was null or undefined when calling addProprietaryComponentNames().' ); } if (requestParameters['requestBody'] == null) { throw new runtime.RequiredError( 'requestBody', 'Required parameter "requestBody" was null or undefined when calling addProprietaryComponentNames().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/firewall/namespace_confusion/{format}`; urlPath = urlPath.replace(`{${"format"}}`, encodeURIComponent(String(requestParameters['format']))); const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: requestParameters['requestBody'], }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Adds a list of proprietary component namespaces for the specified format to prevent namespace confusion attacks. Permissions required: Evaluate Individual Components */ async addProprietaryComponentNames(requestParameters: FirewallApiAddProprietaryComponentNamesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.addProprietaryComponentNamesRaw(requestParameters, initOverrides); } /** * Use this method to add a new repository manager. Permissions required: Edit IQ Elements */ async addRepositoryManagerRaw(requestParameters: FirewallApiAddRepositoryManagerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['apiRepositoryManagerDTO'] == null) { throw new runtime.RequiredError( 'apiRepositoryManagerDTO', 'Required parameter "apiRepositoryManagerDTO" was null or undefined when calling addRepositoryManager().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/firewall/repositoryManagers`; const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: ApiRepositoryManagerDTOToJSON(requestParameters['apiRepositoryManagerDTO']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ApiRepositoryManagerDTOFromJSON(jsonValue)); } /** * Use this method to add a new repository manager. Permissions required: Edit IQ Elements */ async addRepositoryManager(requestParameters: FirewallApiAddRepositoryManagerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.addRepositoryManagerRaw(requestParameters, initOverrides); return await response.value(); } /** * Use this method to create a waiver for all policy violations of a container Image. Permissions required: Waive Policy Violations */ async addWaiverRaw(requestParameters: FirewallApiAddWaiverRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['containerImageId'] == null) { throw new runtime.RequiredError( 'containerImageId', 'Required parameter "containerImageId" was null or undefined when calling addWaiver().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/firewall/container-image/{containerImageId}/policyWaiver`; urlPath = urlPath.replace(`{${"containerImageId"}}`, encodeURIComponent(String(requestParameters['containerImageId']))); const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: ApiContainerImageWaiverDTOToJSON(requestParameters['apiContainerImageWaiverDTO']), }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Use this method to create a waiver for all policy violations of a container Image. Permissions required: Waive Policy Violations */ async addWaiver(requestParameters: FirewallApiAddWaiverRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.addWaiverRaw(requestParameters, initOverrides); } /** * Use this method to update the repositories for an existing repository manager. Permissions required: Edit IQ Elements */ async configureRepositoriesRaw(requestParameters: FirewallApiConfigureRepositoriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['repositoryManagerId'] == null) { throw new runtime.RequiredError( 'repositoryManagerId', 'Required parameter "repositoryManagerId" was null or undefined when calling configureRepositories().' ); } if (requestParameters['apiRepositoryListDTO'] == null) { throw new runtime.RequiredError( 'apiRepositoryListDTO', 'Required parameter "apiRepositoryListDTO" was null or undefined when calling configureRepositories().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/firewall/repositories/configuration/{repositoryManagerId}`; urlPath = urlPath.replace(`{${"repositoryManagerId"}}`, encodeURIComponent(String(requestParameters['repositoryManagerId']))); const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: ApiRepositoryListDTOToJSON(requestParameters['apiRepositoryListDTO']), }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Use this method to update the repositories for an existing repository manager. Permissions required: Edit IQ Elements */ async configureRepositories(requestParameters: FirewallApiConfigureRepositoriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.configureRepositoriesRaw(requestParameters, initOverrides); } /** * Use this method to delete a container waiver, specified by the containerImageId. Permissions required: Waive Policy Violations */ async deleteContainerImagePolicyWaiverRaw(requestParameters: FirewallApiDeleteContainerImagePolicyWaiverRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['containerImageId'] == null) { throw new runtime.RequiredError( 'containerImageId', 'Required parameter "containerImageId" was null or undefined when calling deleteContainerImagePolicyWaiver().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/firewall/container-image/{containerImageId}/policyWaiver`; urlPath = urlPath.replace(`{${"containerImageId"}}`, encodeURIComponent(String(requestParameters['containerImageId']))); const response = await this.request({ path: urlPath, method: 'DELETE', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Use this method to delete a container waiver, specified by the containerImageId. Permissions required: Waive Policy Violations */ async deleteContainerImagePolicyWaiver(requestParameters: FirewallApiDeleteContainerImagePolicyWaiverRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.deleteContainerImagePolicyWaiverRaw(requestParameters, initOverrides); } /** * Use this method to delete an existing repository manager. Permissions required: Edit IQ Elements */ async deleteRepositoryManagerRaw(requestParameters: FirewallApiDeleteRepositoryManagerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['repositoryManagerId'] == null) { throw new runtime.RequiredError( 'repositoryManagerId', 'Required parameter "repositoryManagerId" was null or undefined when calling deleteRepositoryManager().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/firewall/repositoryManagers/{repositoryManagerId}`; urlPath = urlPath.replace(`{${"repositoryManagerId"}}`, encodeURIComponent(String(requestParameters['repositoryManagerId']))); const response = await this.request({ path: urlPath, method: 'DELETE', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Use this method to delete an existing repository manager. Permissions required: Edit IQ Elements */ async deleteRepositoryManager(requestParameters: FirewallApiDeleteRepositoryManagerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.deleteRepositoryManagerRaw(requestParameters, initOverrides); } /** * Use this method to evaluate components (max. 100). **Hash Requirements by Format Type:** **Coordinate-Based Formats** (hash NOT required when using packageUrl): - golang, conan, cargo, cocoapods, cran, conda, composer, hf-model - These formats identify components by coordinates (name+version) rather than file hash - When using packageUrl, hash is optional - If hash is provided, it will be used **Hash-Based Formats** (hash REQUIRED): - maven, npm, pypi, nuget, docker, rubygems, and others - Hash must ALWAYS be provided to identify the exact file content - Hash is required regardless of whether pathname or packageUrl is used - Missing hash for these formats will result in incorrect component identification Permissions required: Evaluate Individual Components */ async evaluateComponents1Raw(requestParameters: FirewallApiEvaluateComponents1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['repositoryManagerId'] == null) { throw new runtime.RequiredError( 'repositoryManagerId', 'Required parameter "repositoryManagerId" was null or undefined when calling evaluateComponents1().' ); } if (requestParameters['repositoryId'] == null) { throw new runtime.RequiredError( 'repositoryId', 'Required parameter "repositoryId" was null or undefined when calling evaluateComponents1().' ); } if (requestParameters['apiRepositoryComponentEvaluationRequestList'] == null) { throw new runtime.RequiredError( 'apiRepositoryComponentEvaluationRequestList', 'Required parameter "apiRepositoryComponentEvaluationRequestList" was null or undefined when calling evaluateComponents1().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/firewall/components/{repositoryManagerId}/{repositoryId}/evaluate`; urlPath = urlPath.replace(`{${"repositoryManagerId"}}`, encodeURIComponent(String(requestParameters['repositoryManagerId']))); urlPath = urlPath.replace(`{${"repositoryId"}}`, encodeURIComponent(String(requestParameters['repositoryId']))); const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: ApiRepositoryComponentEvaluationRequestListToJSON(requestParameters['apiRepositoryComponentEvaluationRequestList']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ApiRepositoryComponentEvaluationResultListFromJSON(jsonValue)); } /** * Use this method to evaluate components (max. 100). **Hash Requirements by Format Type:** **Coordinate-Based Formats** (hash NOT required when using packageUrl): - golang, conan, cargo, cocoapods, cran, conda, composer, hf-model - These formats identify components by coordinates (name+version) rather than file hash - When using packageUrl, hash is optional - If hash is provided, it will be used **Hash-Based Formats** (hash REQUIRED): - maven, npm, pypi, nuget, docker, rubygems, and others - Hash must ALWAYS be provided to identify the exact file content - Hash is required regardless of whether pathname or packageUrl is used - Missing hash for these formats will result in incorrect component identification Permissions required: Evaluate Individual Components */ async evaluateComponents1(requestParameters: FirewallApiEvaluateComponents1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.evaluateComponents1Raw(requestParameters, initOverrides); return await response.value(); } /** * Evaluate malware for a list of components.

Use this endpoint to evaluate malware for a list of components up to a maximum of 100 components in a single request.A hash or packageUrl (or both) can be supplied for each component that are of the same format type. */ async evaluateMalwareRaw(requestParameters: FirewallApiEvaluateMalwareRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/malware-defense/evaluate`; const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: ApiMalwareComponentEvaluationRequestListToJSON(requestParameters['apiMalwareComponentEvaluationRequestList']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => MalwareDefenseResponseListFromJSON(jsonValue)); } /** * Evaluate malware for a list of components.

Use this endpoint to evaluate malware for a list of components up to a maximum of 100 components in a single request.A hash or packageUrl (or both) can be supplied for each component that are of the same format type. */ async evaluateMalware(requestParameters: FirewallApiEvaluateMalwareRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.evaluateMalwareRaw(requestParameters, initOverrides); return await response.value(); } /** * Get the status of a cascade re-evaluation request.

Returns the current progress of a cascade re-evaluation operation including the list of components that have been evaluated and those still pending. The overall status will be \'pending\' if any components are still being processed, or \'completed\' if all components have been evaluated.

The response includes:

  • status: Overall status (PENDING, IN_PROGRESS, COMPLETED, NO_COMPONENTS_FOUND, FAILED)
  • referenceComponentHash: The component hash that was re-evaluated
  • pending: Components still being processed (PENDING status)
  • evaluated: Components successfully re-evaluated (COMPLETED or NO_COMPONENTS_FOUND status)
  • failed: Components that could not be re-evaluated (FAILED status)

Permissions Required: Evaluate Components at Repository Managers level */ async getCascadeStatusRaw(requestParameters: FirewallApiGetCascadeStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['requestId'] == null) { throw new runtime.RequiredError( 'requestId', 'Required parameter "requestId" was null or undefined when calling getCascadeStatus().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/firewall/repositories/cascade-reevaluate/status/{requestId}`; urlPath = urlPath.replace(`{${"requestId"}}`, encodeURIComponent(String(requestParameters['requestId']))); const response = await this.request({ path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => CascadeStatusResponseDTOFromJSON(jsonValue)); } /** * Get the status of a cascade re-evaluation request.

Returns the current progress of a cascade re-evaluation operation including the list of components that have been evaluated and those still pending. The overall status will be \'pending\' if any components are still being processed, or \'completed\' if all components have been evaluated.

The response includes:

  • status: Overall status (PENDING, IN_PROGRESS, COMPLETED, NO_COMPONENTS_FOUND, FAILED)
  • referenceComponentHash: The component hash that was re-evaluated
  • pending: Components still being processed (PENDING status)
  • evaluated: Components successfully re-evaluated (COMPLETED or NO_COMPONENTS_FOUND status)
  • failed: Components that could not be re-evaluated (FAILED status)

Permissions Required: Evaluate Components at Repository Managers level */ async getCascadeStatus(requestParameters: FirewallApiGetCascadeStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getCascadeStatusRaw(requestParameters, initOverrides); return await response.value(); } /** * Use this method to retrieve the configuration details of an existing repository manager. Permissions required: View IQ Elements */ async getConfiguredRepositoriesRaw(requestParameters: FirewallApiGetConfiguredRepositoriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['repositoryManagerId'] == null) { throw new runtime.RequiredError( 'repositoryManagerId', 'Required parameter "repositoryManagerId" was null or undefined when calling getConfiguredRepositories().' ); } const queryParameters: any = {}; if (requestParameters['sinceUtcTimestamp'] != null) { queryParameters['sinceUtcTimestamp'] = requestParameters['sinceUtcTimestamp']; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/firewall/repositories/configuration/{repositoryManagerId}`; urlPath = urlPath.replace(`{${"repositoryManagerId"}}`, encodeURIComponent(String(requestParameters['repositoryManagerId']))); const response = await this.request({ path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ApiRepositoryListDTOFromJSON(jsonValue)); } /** * Use this method to retrieve the configuration details of an existing repository manager. Permissions required: View IQ Elements */ async getConfiguredRepositories(requestParameters: FirewallApiGetConfiguredRepositoriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getConfiguredRepositoriesRaw(requestParameters, initOverrides); return await response.value(); } /** * Use this method to find all container images currently in quarantine. Permissions required: Read */ async getContainerImagesInQuarantineRaw(requestParameters: FirewallApiGetContainerImagesInQuarantineRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; if (requestParameters['page'] != null) { queryParameters['page'] = requestParameters['page']; } if (requestParameters['pageSize'] != null) { queryParameters['pageSize'] = requestParameters['pageSize']; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/firewall/container-image/policyViolations/quarantined`; const response = await this.request({ path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ContainerImageInQuarantineDataResultFromJSON(jsonValue)); } /** * Use this method to find all container images currently in quarantine. Permissions required: Read */ async getContainerImagesInQuarantine(requestParameters: FirewallApiGetContainerImagesInQuarantineRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getContainerImagesInQuarantineRaw(requestParameters, initOverrides); return await response.value(); } /** * Use this method to retrieve the configuration settings for auto-release from quarantine for repositories. Permissions required: View IQ Elements */ async getFirewallAutoUnquarantineConfigRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/firewall/releaseQuarantine/configuration`; const response = await this.request({ path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ApiFirewallReleaseQuarantineConfigDTOFromJSON)); } /** * Use this method to retrieve the configuration settings for auto-release from quarantine for repositories. Permissions required: View IQ Elements */ async getFirewallAutoUnquarantineConfig(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const response = await this.getFirewallAutoUnquarantineConfigRaw(initOverrides); return await response.value(); } /** * Use this method to retrieve firewall dashboard metrics. Permissions required: View IQ Elements */ async getFirewallMetricsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/firewall/metrics/embedded`; const response = await this.request({ path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => runtime.mapValues(jsonValue, ApiFirewallMetricsResultDTOFromJSON)); } /** * Use this method to retrieve firewall dashboard metrics. Permissions required: View IQ Elements */ async getFirewallMetrics(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<{ [key: string]: ApiFirewallMetricsResultDTO; }> { const response = await this.getFirewallMetricsRaw(initOverrides); return await response.value(); } /** * Use this method to track how many components have been automatically released from quarantine over different time periods. Permissions required: View IQ Elements */ async getFirewallUnquarantineSummaryRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/firewall/releaseQuarantine/summary`; const response = await this.request({ path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ApiFirewallReleaseQuarantineSummaryDTOFromJSON(jsonValue)); } /** * Use this method to track how many components have been automatically released from quarantine over different time periods. Permissions required: View IQ Elements */ async getFirewallUnquarantineSummary(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getFirewallUnquarantineSummaryRaw(initOverrides); return await response.value(); } /** * The response contains malware defense API metrics.

Use this endpoint to get the count of malicious components evaluated via malware defense API grouped by format. */ async getMalwareDefenseMetricsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/malware-defense/metrics`; const response = await this.request({ path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response); } /** * The response contains malware defense API metrics.

Use this endpoint to get the count of malicious components evaluated via malware defense API grouped by format. */ async getMalwareDefenseMetrics(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<{ [key: string]: number; }> { const response = await this.getMalwareDefenseMetricsRaw(initOverrides); return await response.value(); } /** * Retrieve a single Firewall policy waiver by ID.

This endpoint is for Firewall Dashboard use only. Authorization is based on Firewall repository-level access rather than owner-level READ permission, allowing scoped users to view waivers visible in their Firewall Dashboard list.

For scoped users, the waiver owner must be reachable from their permitted proxy repositories: a permitted repository itself, an organization or repository-manager ancestor of one, or a container-image application linked to a permitted repository via its shadow organization. Waivers at root-organization or repository-manager scope are accessible to any authenticated user with access to at least one proxy repository.

Permissions Required: READ permission on at least one proxy repository. */ async getPolicyWaiverRaw(requestParameters: FirewallApiGetPolicyWaiverRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['ownerType'] == null) { throw new runtime.RequiredError( 'ownerType', 'Required parameter "ownerType" was null or undefined when calling getPolicyWaiver().' ); } if (requestParameters['ownerId'] == null) { throw new runtime.RequiredError( 'ownerId', 'Required parameter "ownerId" was null or undefined when calling getPolicyWaiver().' ); } if (requestParameters['policyWaiverId'] == null) { throw new runtime.RequiredError( 'policyWaiverId', 'Required parameter "policyWaiverId" was null or undefined when calling getPolicyWaiver().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/firewall/policyWaivers/{ownerType}/{ownerId}/{policyWaiverId}`; urlPath = urlPath.replace(`{${"ownerType"}}`, encodeURIComponent(String(requestParameters['ownerType']))); urlPath = urlPath.replace(`{${"ownerId"}}`, encodeURIComponent(String(requestParameters['ownerId']))); urlPath = urlPath.replace(`{${"policyWaiverId"}}`, encodeURIComponent(String(requestParameters['policyWaiverId']))); const response = await this.request({ path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Retrieve a single Firewall policy waiver by ID.

This endpoint is for Firewall Dashboard use only. Authorization is based on Firewall repository-level access rather than owner-level READ permission, allowing scoped users to view waivers visible in their Firewall Dashboard list.

For scoped users, the waiver owner must be reachable from their permitted proxy repositories: a permitted repository itself, an organization or repository-manager ancestor of one, or a container-image application linked to a permitted repository via its shadow organization. Waivers at root-organization or repository-manager scope are accessible to any authenticated user with access to at least one proxy repository.

Permissions Required: READ permission on at least one proxy repository. */ async getPolicyWaiver(requestParameters: FirewallApiGetPolicyWaiverRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.getPolicyWaiverRaw(requestParameters, initOverrides); } /** * Use this method to request a list of quarantined components. Permissions required: View IQ Elements */ async getQuarantineListRaw(requestParameters: FirewallApiGetQuarantineListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; if (requestParameters['page'] != null) { queryParameters['page'] = requestParameters['page']; } if (requestParameters['pageSize'] != null) { queryParameters['pageSize'] = requestParameters['pageSize']; } if (requestParameters['policyId'] != null) { queryParameters['policyId'] = requestParameters['policyId']; } if (requestParameters['componentName'] != null) { queryParameters['componentName'] = requestParameters['componentName']; } if (requestParameters['repositoryPublicId'] != null) { queryParameters['repositoryPublicId'] = requestParameters['repositoryPublicId']; } if (requestParameters['quarantineTime'] != null) { queryParameters['quarantineTime'] = requestParameters['quarantineTime']; } if (requestParameters['sortBy'] != null) { queryParameters['sortBy'] = requestParameters['sortBy']; } if (requestParameters['asc'] != null) { queryParameters['asc'] = requestParameters['asc']; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/firewall/components/quarantined`; const response = await this.request({ path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ApiFirewallQuarantinedComponentDtoResultFromJSON(jsonValue)); } /** * Use this method to request a list of quarantined components. Permissions required: View IQ Elements */ async getQuarantineList(requestParameters: FirewallApiGetQuarantineListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getQuarantineListRaw(requestParameters, initOverrides); return await response.value(); } /** * Use this method to request a summary of quarantined components. Permissions required: View IQ Elements */ async getQuarantineSummaryRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/firewall/quarantine/summary`; const response = await this.request({ path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ApiFirewallQuarantineSummaryDTOFromJSON(jsonValue)); } /** * Use this method to request a summary of quarantined components. Permissions required: View IQ Elements */ async getQuarantineSummary(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getQuarantineSummaryRaw(initOverrides); return await response.value(); } /** * Use this method to determine if the quarantined component(s) details can be accessed anonymously. Permissions required: None */ async getQuarantinedComponentViewAnonymousAccessRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/firewall/quarantinedComponentView/configuration/anonymousAccess`; const response = await this.request({ path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); if (this.isJsonMime(response.headers.get('content-type'))) { return new runtime.JSONApiResponse(response); } else { return new runtime.TextApiResponse(response) as any; } } /** * Use this method to determine if the quarantined component(s) details can be accessed anonymously. Permissions required: None */ async getQuarantinedComponentViewAnonymousAccess(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getQuarantinedComponentViewAnonymousAccessRaw(initOverrides); return await response.value(); } /** * Use this method to retrieve the ID and name for the repository container. Permissions required: View IQ Elements */ async getRepositoryContainerRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/firewall/repositoryContainer`; const response = await this.request({ path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ApiRepositoryContainerDTOFromJSON(jsonValue)); } /** * Use this method to retrieve the ID and name for the repository container. Permissions required: View IQ Elements */ async getRepositoryContainer(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getRepositoryContainerRaw(initOverrides); return await response.value(); } /** * Use this method to retrieve details of an existing repository manager. Permissions required: View IQ Elements */ async getRepositoryManagerRaw(requestParameters: FirewallApiGetRepositoryManagerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['repositoryManagerId'] == null) { throw new runtime.RequiredError( 'repositoryManagerId', 'Required parameter "repositoryManagerId" was null or undefined when calling getRepositoryManager().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/firewall/repositoryManagers/{repositoryManagerId}`; urlPath = urlPath.replace(`{${"repositoryManagerId"}}`, encodeURIComponent(String(requestParameters['repositoryManagerId']))); const response = await this.request({ path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ApiRepositoryManagerDTOFromJSON(jsonValue)); } /** * Use this method to retrieve details of an existing repository manager. Permissions required: View IQ Elements */ async getRepositoryManager(requestParameters: FirewallApiGetRepositoryManagerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getRepositoryManagerRaw(requestParameters, initOverrides); return await response.value(); } /** * Use this method to retrieve all configured repository managers. Permissions required: View IQ Elements */ async getRepositoryManagersRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/firewall/repositoryManagers`; const response = await this.request({ path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ApiRepositoryManagerListDTOFromJSON(jsonValue)); } /** * Use this method to retrieve all configured repository managers. Permissions required: View IQ Elements */ async getRepositoryManagers(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getRepositoryManagersRaw(initOverrides); return await response.value(); } /** * Use this method to retrieve the details of components that are auto-released from quarantine. Permissions required: View IQ Elements */ async getUnquarantineListRaw(requestParameters: FirewallApiGetUnquarantineListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; if (requestParameters['page'] != null) { queryParameters['page'] = requestParameters['page']; } if (requestParameters['pageSize'] != null) { queryParameters['pageSize'] = requestParameters['pageSize']; } if (requestParameters['policyId'] != null) { queryParameters['policyId'] = requestParameters['policyId']; } if (requestParameters['componentName'] != null) { queryParameters['componentName'] = requestParameters['componentName']; } if (requestParameters['sortBy'] != null) { queryParameters['sortBy'] = requestParameters['sortBy']; } if (requestParameters['asc'] != null) { queryParameters['asc'] = requestParameters['asc']; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/firewall/components/autoReleasedFromQuarantine`; const response = await this.request({ path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ApiFirewallComponentDTOResultFromJSON(jsonValue)); } /** * Use this method to retrieve the details of components that are auto-released from quarantine. Permissions required: View IQ Elements */ async getUnquarantineList(requestParameters: FirewallApiGetUnquarantineListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getUnquarantineListRaw(requestParameters, initOverrides); return await response.value(); } /** * Use this method to get all policy waivers for container images. Permissions required: View IQ Elements */ async getWaiversRaw(requestParameters: FirewallApiGetWaiversRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; if (requestParameters['page'] != null) { queryParameters['page'] = requestParameters['page']; } if (requestParameters['pageSize'] != null) { queryParameters['pageSize'] = requestParameters['pageSize']; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/firewall/container-image/policyWaiver`; const response = await this.request({ path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => PolicyContainerWaiverDataResultFromJSON(jsonValue)); } /** * Use this method to get all policy waivers for container images. Permissions required: View IQ Elements */ async getWaivers(requestParameters: FirewallApiGetWaiversRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getWaiversRaw(requestParameters, initOverrides); return await response.value(); } /** * Initiate cascade re-evaluation for a component across repository hierarchies.

This operation asynchronously re-evaluates the specified component across all repositories where the component exists.

The system will automatically discover all eligible repositories based on component presence.

Permissions Required: Evaluate Components at Repository Managers level */ async initiateCascadeReevaluationRaw(requestParameters: FirewallApiInitiateCascadeReevaluationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['componentHash'] == null) { throw new runtime.RequiredError( 'componentHash', 'Required parameter "componentHash" was null or undefined when calling initiateCascadeReevaluation().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/firewall/repositories/cascade-reevaluate/componentHash/{componentHash}`; urlPath = urlPath.replace(`{${"componentHash"}}`, encodeURIComponent(String(requestParameters['componentHash']))); const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => CascadeReevaluateTicketDTOFromJSON(jsonValue)); } /** * Initiate cascade re-evaluation for a component across repository hierarchies.

This operation asynchronously re-evaluates the specified component across all repositories where the component exists.

The system will automatically discover all eligible repositories based on component presence.

Permissions Required: Evaluate Components at Repository Managers level */ async initiateCascadeReevaluation(requestParameters: FirewallApiInitiateCascadeReevaluationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.initiateCascadeReevaluationRaw(requestParameters, initOverrides); return await response.value(); } /** * Removes proprietary component namespaces for the specified format. Permissions required: Evaluate Individual Components */ async removeProprietaryComponentNamesRaw(requestParameters: FirewallApiRemoveProprietaryComponentNamesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['format'] == null) { throw new runtime.RequiredError( 'format', 'Required parameter "format" was null or undefined when calling removeProprietaryComponentNames().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/firewall/namespace_confusion/{format}`; urlPath = urlPath.replace(`{${"format"}}`, encodeURIComponent(String(requestParameters['format']))); const response = await this.request({ path: urlPath, method: 'DELETE', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Removes proprietary component namespaces for the specified format. Permissions required: Evaluate Individual Components */ async removeProprietaryComponentNames(requestParameters: FirewallApiRemoveProprietaryComponentNamesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.removeProprietaryComponentNamesRaw(requestParameters, initOverrides); } /** * Renews Firewall policy waivers with a new expiry date. Records the previous expiry time for audit and tracking purposes.\\n\\n**Supports both single and bulk renewals**: Pass one or more waiver IDs in the request body.\\n\\n**Permissions required**: Waive Policy Violations\\n\\n**Security**: Permission is checked against the waiver\'s owner. The authenticated user must have WAIVE_POLICY_VIOLATIONS on the owner scope. */ async renewWaiversRaw(requestParameters: FirewallApiRenewWaiversRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['renewWaiversRequestDTO'] == null) { throw new runtime.RequiredError( 'renewWaiversRequestDTO', 'Required parameter "renewWaiversRequestDTO" was null or undefined when calling renewWaivers().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/firewall/waivers/renew`; const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: RenewWaiversRequestDTOToJSON(requestParameters['renewWaiversRequestDTO']), }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Renews Firewall policy waivers with a new expiry date. Records the previous expiry time for audit and tracking purposes.\\n\\n**Supports both single and bulk renewals**: Pass one or more waiver IDs in the request body.\\n\\n**Permissions required**: Waive Policy Violations\\n\\n**Security**: Permission is checked against the waiver\'s owner. The authenticated user must have WAIVE_POLICY_VIOLATIONS on the owner scope. */ async renewWaivers(requestParameters: FirewallApiRenewWaiversRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.renewWaiversRaw(requestParameters, initOverrides); } /** * Use this method to request a waiver for all policy violations of a container image. Permissions required: authenticated user (waiver request workflow must be enabled) */ async requestWaiverRaw(requestParameters: FirewallApiRequestWaiverRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['containerImageId'] == null) { throw new runtime.RequiredError( 'containerImageId', 'Required parameter "containerImageId" was null or undefined when calling requestWaiver().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/firewall/container-image/{containerImageId}/policyWaiverRequest`; urlPath = urlPath.replace(`{${"containerImageId"}}`, encodeURIComponent(String(requestParameters['containerImageId']))); const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: ApiContainerImageWaiverRequestDTOToJSON(requestParameters['apiContainerImageWaiverRequestDTO']), }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Use this method to request a waiver for all policy violations of a container image. Permissions required: authenticated user (waiver request workflow must be enabled) */ async requestWaiver(requestParameters: FirewallApiRequestWaiverRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.requestWaiverRaw(requestParameters, initOverrides); } /** * Use this method to set the configurations for auto-release from quarantine for a list of repositories. Permissions required: Edit IQ Elements */ async setFirewallAutoUnquarantineConfigRaw(requestParameters: FirewallApiSetFirewallAutoUnquarantineConfigRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { if (requestParameters['apiFirewallReleaseQuarantineConfigDTO'] == null) { throw new runtime.RequiredError( 'apiFirewallReleaseQuarantineConfigDTO', 'Required parameter "apiFirewallReleaseQuarantineConfigDTO" was null or undefined when calling setFirewallAutoUnquarantineConfig().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/firewall/releaseQuarantine/configuration`; const response = await this.request({ path: urlPath, method: 'PUT', headers: headerParameters, query: queryParameters, body: requestParameters['apiFirewallReleaseQuarantineConfigDTO']!.map(ApiFirewallReleaseQuarantineConfigDTOToJSON), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ApiFirewallReleaseQuarantineConfigDTOFromJSON)); } /** * Use this method to set the configurations for auto-release from quarantine for a list of repositories. Permissions required: Edit IQ Elements */ async setFirewallAutoUnquarantineConfig(requestParameters: FirewallApiSetFirewallAutoUnquarantineConfigRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const response = await this.setFirewallAutoUnquarantineConfigRaw(requestParameters, initOverrides); return await response.value(); } /** * Use this method to enable/disable anonymous access to view the quarantined components. Permissions required: Edit IQ Elements */ async setQuarantinedComponentViewAnonymousAccessRaw(requestParameters: FirewallApiSetQuarantinedComponentViewAnonymousAccessRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['enabled'] == null) { throw new runtime.RequiredError( 'enabled', 'Required parameter "enabled" was null or undefined when calling setQuarantinedComponentViewAnonymousAccess().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/firewall/quarantinedComponentView/configuration/anonymousAccess/{enabled}`; urlPath = urlPath.replace(`{${"enabled"}}`, encodeURIComponent(String(requestParameters['enabled']))); const response = await this.request({ path: urlPath, method: 'PUT', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Use this method to enable/disable anonymous access to view the quarantined components. Permissions required: Edit IQ Elements */ async setQuarantinedComponentViewAnonymousAccess(requestParameters: FirewallApiSetQuarantinedComponentViewAnonymousAccessRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.setQuarantinedComponentViewAnonymousAccessRaw(requestParameters, initOverrides); } /** * Use this method to verify that the authenticated user has required permissions for firewall operations and retrieve accessible applications. Permissions required: Evaluate Individual Components */ async verifyConnectionAndGetApplicationsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/api/v2/firewall/connection/verify`; const response = await this.request({ path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ApplicationSummaryListFromJSON(jsonValue)); } /** * Use this method to verify that the authenticated user has required permissions for firewall operations and retrieve accessible applications. Permissions required: Evaluate Individual Components */ async verifyConnectionAndGetApplications(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.verifyConnectionAndGetApplicationsRaw(initOverrides); return await response.value(); } } /** * @export */ export const AddBulkWaiversOwnerTypeEnum = { Organization: 'organization', RepositoryContainer: 'repository_container', RepositoryManager: 'repository_manager', Repository: 'repository' } as const; export type AddBulkWaiversOwnerTypeEnum = typeof AddBulkWaiversOwnerTypeEnum[keyof typeof AddBulkWaiversOwnerTypeEnum]; /** * @export */ export const GetPolicyWaiverOwnerTypeEnum = { Application: 'application', Organization: 'organization', RepositoryContainer: 'repository_container', RepositoryManager: 'repository_manager', Repository: 'repository' } as const; export type GetPolicyWaiverOwnerTypeEnum = typeof GetPolicyWaiverOwnerTypeEnum[keyof typeof GetPolicyWaiverOwnerTypeEnum];