import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * This resource provides the Vulnerability Audit resource in Oracle Cloud Infrastructure Adm service. * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/adm/latest/VulnerabilityAudit * * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/adm * * Creates a new Vulnerability Audit by providing a tree of Application Dependencies. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as oci from "@pulumi/oci"; * * const testVulnerabilityAudit = new oci.adm.VulnerabilityAudit("test_vulnerability_audit", { * knowledgeBaseId: testKnowledgeBase.id, * applicationDependencies: [{ * nodeId: testNode.id, * applicationDependencyNodeIds: vulnerabilityAuditApplicationDependenciesApplicationDependencyNodeIds, * gav: vulnerabilityAuditApplicationDependenciesGav, * purl: vulnerabilityAuditApplicationDependenciesPurl, * }], * buildType: vulnerabilityAuditBuildType, * compartmentId: compartmentId, * configuration: { * exclusions: vulnerabilityAuditConfigurationExclusions, * maxPermissibleCvssV2score: vulnerabilityAuditConfigurationMaxPermissibleCvssV2score, * maxPermissibleCvssV3score: vulnerabilityAuditConfigurationMaxPermissibleCvssV3score, * maxPermissibleSeverity: vulnerabilityAuditConfigurationMaxPermissibleSeverity, * }, * definedTags: { * "foo-namespace.bar-key": "value", * }, * displayName: vulnerabilityAuditDisplayName, * freeformTags: { * "bar-key": "value", * }, * source: { * type: vulnerabilityAuditSourceType, * description: vulnerabilityAuditSourceDescription, * ociResourceId: testOciResource.id, * }, * usageData: { * bucket: vulnerabilityAuditUsageDataBucket, * namespace: vulnerabilityAuditUsageDataNamespace, * object: vulnerabilityAuditUsageDataObject, * sourceType: vulnerabilityAuditUsageDataSourceType, * }, * }); * ``` * * ## Import * * VulnerabilityAudits can be imported using the `id`, e.g. * * ```sh * $ pulumi import oci:Adm/vulnerabilityAudit:VulnerabilityAudit test_vulnerability_audit "id" * ``` */ export declare class VulnerabilityAudit extends pulumi.CustomResource { /** * Get an existing VulnerabilityAudit resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: VulnerabilityAuditState, opts?: pulumi.CustomResourceOptions): VulnerabilityAudit; /** * Returns true if the given object is an instance of VulnerabilityAudit. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is VulnerabilityAudit; /** * List of application dependencies (without vulnerabilities). */ readonly applicationDependencies: pulumi.Output; /** * The type of the build tool is restricted to only two values MAVEN or UNSET. Use UNSET when the list of application dependencies is not Maven-related or is a mix of Maven and other ecosystems. This option is soon to be deprecated. */ readonly buildType: pulumi.Output; /** * (Updatable) The compartment Oracle Cloud identifier ([OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)) of the vulnerability audit. If compartment identifier is not provided the compartment of the associated knowledge base will be used instead. */ readonly compartmentId: pulumi.Output; /** * Configuration for a vulnerability audit. A vulnerable application dependency is ignored if its name does match any of the items in `exclusions`, or all of the associated Vulnerabilies have a CVSS v2 score below `maxPermissibleCvssV2Score` and a CVSS v3 score below `maxPermissibleCvssV3Score`. type: object */ readonly configuration: pulumi.Output; /** * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}` */ readonly definedTags: pulumi.Output<{ [key: string]: string; }>; /** * (Updatable) The name of the vulnerability audit. */ readonly displayName: pulumi.Output; /** * (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}` */ readonly freeformTags: pulumi.Output<{ [key: string]: string; }>; /** * Indicates if an audit succeeded according to the configuration. The value is `null` if the audit is in the `CREATING` state. */ readonly isSuccess: pulumi.Output; /** * The Oracle Cloud identifier ([OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)) of the knowledge base. */ readonly knowledgeBaseId: pulumi.Output; /** * Details on the lifecycle state. */ readonly lifecycleDetails: pulumi.Output; /** * Maximum Common Vulnerability Scoring System Version 2 score observed for non-ignored vulnerable application dependencies. */ readonly maxObservedCvssV2score: pulumi.Output; /** * Maximum Common Vulnerability Scoring System Version 2 score observed for vulnerable application dependencies including ignored ones. */ readonly maxObservedCvssV2scoreWithIgnored: pulumi.Output; /** * Maximum Common Vulnerability Scoring System Version 3 score observed for non-ignored vulnerable application dependencies. */ readonly maxObservedCvssV3score: pulumi.Output; /** * Maximum Common Vulnerability Scoring System Version 3 score observed for vulnerable application dependencies including ignored ones. */ readonly maxObservedCvssV3scoreWithIgnored: pulumi.Output; /** * Maximum ADM Severity observed for non-ignored vulnerable application dependencies. */ readonly maxObservedSeverity: pulumi.Output; /** * Maximum ADM Severity observed for vulnerable application dependencies including ignored ones. */ readonly maxObservedSeverityWithIgnored: pulumi.Output; /** * vulnerability audit source. */ readonly source: pulumi.Output; /** * The current lifecycle state of the vulnerability audit. */ readonly state: pulumi.Output; /** * Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud.free-tier-retained": "true"}` */ readonly systemTags: pulumi.Output<{ [key: string]: string; }>; /** * The creation date and time of the vulnerability audit (formatted according to [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339)). */ readonly timeCreated: pulumi.Output; /** * The update date and time of the vulnerability audit (formatted according to [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339)). */ readonly timeUpdated: pulumi.Output; /** * The source details of the usage data in object storage. The usage data file uploaded to object storage must be a gzip archive of the JSON usage data returned from the GraalVM native-image-inspect tool after a native-image build. Set `sourceType` to `objectStorageTuple` and use [UsageDataViaObjectStorageTupleDetails](https://docs.cloud.oracle.com/iaas/api/#/en/adm/latest/requests/UsageDataViaObjectStorageTupleDetails) when specifying the namespace, bucket name, and object name. */ readonly usageData: pulumi.Output; /** * List of vulnerabilities found in the vulnerability audit. If a vulnerability affects multiple dependencies, the metadata returned here consists of audit-wide aggregates. */ readonly vulnerabilities: pulumi.Output; /** * Count of non-ignored vulnerable application dependencies. */ readonly vulnerableArtifactsCount: pulumi.Output; /** * Count of all vulnerable application dependencies. */ readonly vulnerableArtifactsCountWithIgnored: pulumi.Output; /** * Create a VulnerabilityAudit resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: VulnerabilityAuditArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering VulnerabilityAudit resources. */ export interface VulnerabilityAuditState { /** * List of application dependencies (without vulnerabilities). */ applicationDependencies?: pulumi.Input[] | undefined>; /** * The type of the build tool is restricted to only two values MAVEN or UNSET. Use UNSET when the list of application dependencies is not Maven-related or is a mix of Maven and other ecosystems. This option is soon to be deprecated. */ buildType?: pulumi.Input; /** * (Updatable) The compartment Oracle Cloud identifier ([OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)) of the vulnerability audit. If compartment identifier is not provided the compartment of the associated knowledge base will be used instead. */ compartmentId?: pulumi.Input; /** * Configuration for a vulnerability audit. A vulnerable application dependency is ignored if its name does match any of the items in `exclusions`, or all of the associated Vulnerabilies have a CVSS v2 score below `maxPermissibleCvssV2Score` and a CVSS v3 score below `maxPermissibleCvssV3Score`. type: object */ configuration?: pulumi.Input; /** * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}` */ definedTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * (Updatable) The name of the vulnerability audit. */ displayName?: pulumi.Input; /** * (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}` */ freeformTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if an audit succeeded according to the configuration. The value is `null` if the audit is in the `CREATING` state. */ isSuccess?: pulumi.Input; /** * The Oracle Cloud identifier ([OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)) of the knowledge base. */ knowledgeBaseId?: pulumi.Input; /** * Details on the lifecycle state. */ lifecycleDetails?: pulumi.Input; /** * Maximum Common Vulnerability Scoring System Version 2 score observed for non-ignored vulnerable application dependencies. */ maxObservedCvssV2score?: pulumi.Input; /** * Maximum Common Vulnerability Scoring System Version 2 score observed for vulnerable application dependencies including ignored ones. */ maxObservedCvssV2scoreWithIgnored?: pulumi.Input; /** * Maximum Common Vulnerability Scoring System Version 3 score observed for non-ignored vulnerable application dependencies. */ maxObservedCvssV3score?: pulumi.Input; /** * Maximum Common Vulnerability Scoring System Version 3 score observed for vulnerable application dependencies including ignored ones. */ maxObservedCvssV3scoreWithIgnored?: pulumi.Input; /** * Maximum ADM Severity observed for non-ignored vulnerable application dependencies. */ maxObservedSeverity?: pulumi.Input; /** * Maximum ADM Severity observed for vulnerable application dependencies including ignored ones. */ maxObservedSeverityWithIgnored?: pulumi.Input; /** * vulnerability audit source. */ source?: pulumi.Input; /** * The current lifecycle state of the vulnerability audit. */ state?: pulumi.Input; /** * Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud.free-tier-retained": "true"}` */ systemTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * The creation date and time of the vulnerability audit (formatted according to [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339)). */ timeCreated?: pulumi.Input; /** * The update date and time of the vulnerability audit (formatted according to [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339)). */ timeUpdated?: pulumi.Input; /** * The source details of the usage data in object storage. The usage data file uploaded to object storage must be a gzip archive of the JSON usage data returned from the GraalVM native-image-inspect tool after a native-image build. Set `sourceType` to `objectStorageTuple` and use [UsageDataViaObjectStorageTupleDetails](https://docs.cloud.oracle.com/iaas/api/#/en/adm/latest/requests/UsageDataViaObjectStorageTupleDetails) when specifying the namespace, bucket name, and object name. */ usageData?: pulumi.Input; /** * List of vulnerabilities found in the vulnerability audit. If a vulnerability affects multiple dependencies, the metadata returned here consists of audit-wide aggregates. */ vulnerabilities?: pulumi.Input[] | undefined>; /** * Count of non-ignored vulnerable application dependencies. */ vulnerableArtifactsCount?: pulumi.Input; /** * Count of all vulnerable application dependencies. */ vulnerableArtifactsCountWithIgnored?: pulumi.Input; } /** * The set of arguments for constructing a VulnerabilityAudit resource. */ export interface VulnerabilityAuditArgs { /** * List of application dependencies (without vulnerabilities). */ applicationDependencies?: pulumi.Input[] | undefined>; /** * The type of the build tool is restricted to only two values MAVEN or UNSET. Use UNSET when the list of application dependencies is not Maven-related or is a mix of Maven and other ecosystems. This option is soon to be deprecated. */ buildType?: pulumi.Input; /** * (Updatable) The compartment Oracle Cloud identifier ([OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)) of the vulnerability audit. If compartment identifier is not provided the compartment of the associated knowledge base will be used instead. */ compartmentId?: pulumi.Input; /** * Configuration for a vulnerability audit. A vulnerable application dependency is ignored if its name does match any of the items in `exclusions`, or all of the associated Vulnerabilies have a CVSS v2 score below `maxPermissibleCvssV2Score` and a CVSS v3 score below `maxPermissibleCvssV3Score`. type: object */ configuration?: pulumi.Input; /** * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}` */ definedTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * (Updatable) The name of the vulnerability audit. */ displayName?: pulumi.Input; /** * (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}` */ freeformTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * The Oracle Cloud identifier ([OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)) of the knowledge base. */ knowledgeBaseId: pulumi.Input; /** * vulnerability audit source. */ source?: pulumi.Input; /** * The source details of the usage data in object storage. The usage data file uploaded to object storage must be a gzip archive of the JSON usage data returned from the GraalVM native-image-inspect tool after a native-image build. Set `sourceType` to `objectStorageTuple` and use [UsageDataViaObjectStorageTupleDetails](https://docs.cloud.oracle.com/iaas/api/#/en/adm/latest/requests/UsageDataViaObjectStorageTupleDetails) when specifying the namespace, bucket name, and object name. */ usageData?: pulumi.Input; } //# sourceMappingURL=vulnerabilityAudit.d.ts.map