import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Manages the Security Center Assessment for Azure Security Center. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azure from "@pulumi/azure"; * import * as std from "@pulumi/std"; * * const example = new azure.core.ResourceGroup("example", { * name: "example-resources", * location: "West Europe", * }); * const exampleVirtualNetwork = new azure.network.VirtualNetwork("example", { * name: "example-network", * resourceGroupName: example.name, * location: example.location, * addressSpaces: ["10.0.0.0/16"], * }); * const internal = new azure.network.Subnet("internal", { * name: "internal", * resourceGroupName: example.name, * virtualNetworkName: exampleVirtualNetwork.name, * addressPrefixes: ["10.0.2.0/24"], * }); * const exampleLinuxVirtualMachineScaleSet = new azure.compute.LinuxVirtualMachineScaleSet("example", { * name: "example-vmss", * resourceGroupName: example.name, * location: example.location, * sku: "Standard_F2", * instances: 1, * adminUsername: "adminuser", * adminSshKeys: [{ * username: "adminuser", * publicKey: std.file({ * input: "~/.ssh/id_rsa.pub", * }).then(invoke => invoke.result), * }], * sourceImageReference: { * publisher: "Canonical", * offer: "0001-com-ubuntu-server-jammy", * sku: "22_04-lts", * version: "latest", * }, * osDisk: { * storageAccountType: "Standard_LRS", * caching: "ReadWrite", * }, * networkInterfaces: [{ * name: "example", * primary: true, * ipConfigurations: [{ * name: "internal", * primary: true, * subnetId: internal.id, * }], * }], * }); * const exampleAssessmentPolicy = new azure.securitycenter.AssessmentPolicy("example", { * displayName: "Test Display Name", * severity: "Medium", * description: "Test Description", * }); * const exampleAssessment = new azure.securitycenter.Assessment("example", { * assessmentPolicyId: exampleAssessmentPolicy.id, * targetResourceId: exampleLinuxVirtualMachineScaleSet.id, * status: { * code: "Healthy", * }, * }); * ``` * * ## Import * * Security Assessment can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:securitycenter/assessment:Assessment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resGroup1/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/providers/Microsoft.Security/assessments/00000000-0000-0000-0000-000000000000 * ``` */ export declare class Assessment extends pulumi.CustomResource { /** * Get an existing Assessment 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?: AssessmentState, opts?: pulumi.CustomResourceOptions): Assessment; /** * Returns true if the given object is an instance of Assessment. 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 Assessment; /** * A map of additional data to associate with the assessment. */ readonly additionalData: pulumi.Output<{ [key: string]: string; } | undefined>; /** * The ID of the security Assessment policy to apply to this resource. Changing this forces a new security Assessment to be created. */ readonly assessmentPolicyId: pulumi.Output; /** * A `status` block as defined below. */ readonly status: pulumi.Output; /** * The ID of the target resource. Changing this forces a new security Assessment to be created. */ readonly targetResourceId: pulumi.Output; /** * Create a Assessment 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: AssessmentArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Assessment resources. */ export interface AssessmentState { /** * A map of additional data to associate with the assessment. */ additionalData?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * The ID of the security Assessment policy to apply to this resource. Changing this forces a new security Assessment to be created. */ assessmentPolicyId?: pulumi.Input; /** * A `status` block as defined below. */ status?: pulumi.Input; /** * The ID of the target resource. Changing this forces a new security Assessment to be created. */ targetResourceId?: pulumi.Input; } /** * The set of arguments for constructing a Assessment resource. */ export interface AssessmentArgs { /** * A map of additional data to associate with the assessment. */ additionalData?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * The ID of the security Assessment policy to apply to this resource. Changing this forces a new security Assessment to be created. */ assessmentPolicyId: pulumi.Input; /** * A `status` block as defined below. */ status: pulumi.Input; /** * The ID of the target resource. Changing this forces a new security Assessment to be created. */ targetResourceId: pulumi.Input; }