import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
 * AVS assessment resource.
 *
 * Uses Azure REST API version 2024-01-01-preview. In version 2.x of the Azure Native provider, it used API version 2023-03-15.
 *
 * Other available API versions: 2023-03-15, 2023-04-01-preview, 2023-05-01-preview, 2023-09-09-preview, 2024-01-15. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native migrate [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details.
 */
export declare class AvsAssessmentsOperation extends pulumi.CustomResource {
    /**
     * Get an existing AvsAssessmentsOperation 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 opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): AvsAssessmentsOperation;
    /**
     * Returns true if the given object is an instance of AvsAssessmentsOperation.  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 AvsAssessmentsOperation;
    /**
     * Gets the assessment error summary.
     *             This is the number of machines
     * affected by each type of error in this assessment.
     */
    readonly assessmentErrorSummary: pulumi.Output<{
        [key: string]: number;
    }>;
    /**
     * Assessment type of the assessment.
     */
    readonly assessmentType: pulumi.Output<string>;
    /**
     * AVS Assessment Scenario.
     */
    readonly avsAssessmentScenario: pulumi.Output<string | undefined>;
    /**
     * Estimated External Storage for Assessment.
     */
    readonly avsEstimatedExternalStorages: pulumi.Output<outputs.migrate.AvsEstimatedExternalStorageResponse[]>;
    /**
     * Estimated External Storage for Assessment.
     */
    readonly avsEstimatedNetworks: pulumi.Output<outputs.migrate.AvsEstimatedNetworkResponse[]>;
    /**
     * Estimated AVS SKU for Assessment.
     */
    readonly avsEstimatedNodes: pulumi.Output<outputs.migrate.AvsEstimatedNodeResponse[]>;
    /**
     * The Azure API version of the resource.
     */
    readonly azureApiVersion: pulumi.Output<string>;
    /**
     * Azure Location or Azure region where to which the machines will be migrated.
     */
    readonly azureLocation: pulumi.Output<string | undefined>;
    /**
     * Azure Offer code according to which cost estimation is done.
     */
    readonly azureOfferCode: pulumi.Output<string | undefined>;
    /**
     * Confidence Rating in Percentage.
     */
    readonly confidenceRatingInPercentage: pulumi.Output<number>;
    /**
     * collection of cost components.
     */
    readonly costComponents: pulumi.Output<outputs.migrate.CostComponentResponse[]>;
    /**
     * Percentage of CPU capacity reserved for processing additional workloads.
     */
    readonly cpuHeadroom: pulumi.Output<number | undefined>;
    /**
     * Predicted CPU utilization.
     */
    readonly cpuUtilization: pulumi.Output<number>;
    /**
     * Date and Time when assessment was created.
     */
    readonly createdTimestamp: pulumi.Output<string>;
    /**
     * Currency in which prices should be reported.
     */
    readonly currency: pulumi.Output<string | undefined>;
    /**
     * De-duplication compression.
     */
    readonly dedupeCompression: pulumi.Output<number | undefined>;
    /**
     * Custom discount percentage.
     */
    readonly discountPercentage: pulumi.Output<number | undefined>;
    /**
     * List of AVS external storage types.
     */
    readonly externalStorageTypes: pulumi.Output<string[] | undefined>;
    /**
     * Failures to tolerate and RAID level in a common property.
     */
    readonly failuresToTolerateAndRaidLevel: pulumi.Output<string | undefined>;
    /**
     * List of Failures to tolerate and RAID levels in a common property.
     */
    readonly failuresToTolerateAndRaidLevelList: pulumi.Output<string[] | undefined>;
    /**
     * Gets the group type for the assessment.
     */
    readonly groupType: pulumi.Output<string>;
    /**
     * Is Stretch Cluster Enabled.
     */
    readonly isStretchClusterEnabled: pulumi.Output<boolean | undefined>;
    /**
     * Is VCF license applied
     */
    readonly isVcfByolEnabled: pulumi.Output<boolean | undefined>;
    /**
     * Limiting factor.
     */
    readonly limitingFactor: pulumi.Output<string>;
    /**
     * Memory overcommit.
     */
    readonly memOvercommit: pulumi.Output<number | undefined>;
    /**
     * The name of the resource
     */
    readonly name: pulumi.Output<string>;
    /**
     * AVS node type.
     */
    readonly nodeType: pulumi.Output<string | undefined>;
    /**
     * AVS node types.
     */
    readonly nodeTypes: pulumi.Output<string[] | undefined>;
    /**
     * Number of machines part of the assessment.
     */
    readonly numberOfMachines: pulumi.Output<number>;
    /**
     * Recommended number of nodes.
     */
    readonly numberOfNodes: pulumi.Output<number>;
    /**
     * Percentile of the utilization data values to be considered while assessing
     * machines.
     */
    readonly percentile: pulumi.Output<string | undefined>;
    /**
     * Gets or sets the end time to consider performance data for assessment.
     */
    readonly perfDataEndTime: pulumi.Output<string | undefined>;
    /**
     * Gets or sets the start time to consider performance data for assessment.
     */
    readonly perfDataStartTime: pulumi.Output<string | undefined>;
    /**
     * Time when the Azure Prices were queried. Date-Time represented in ISO-8601
     * format.
     */
    readonly pricesTimestamp: pulumi.Output<string>;
    /**
     * The status of the last operation.
     */
    readonly provisioningState: pulumi.Output<string | undefined>;
    /**
     * Predicted RAM utilization.
     */
    readonly ramUtilization: pulumi.Output<number>;
    /**
     * Reserved instance.
     */
    readonly reservedInstance: pulumi.Output<string | undefined>;
    /**
     * Percentage of buffer that user wants on performance metrics when recommending
     * Azure sizes.
     */
    readonly scalingFactor: pulumi.Output<number | undefined>;
    /**
     * Schema version.
     */
    readonly schemaVersion: pulumi.Output<string>;
    /**
     * Assessment sizing criterion.
     */
    readonly sizingCriterion: pulumi.Output<string | undefined>;
    /**
     * User configurable setting to display the Stage of Assessment.
     */
    readonly stage: pulumi.Output<string>;
    /**
     * Whether assessment is in valid state and all machines have been assessed.
     */
    readonly status: pulumi.Output<string>;
    /**
     * Predicted storage utilization.
     */
    readonly storageUtilization: pulumi.Output<number>;
    /**
     * Gets or sets the Assessment cloud suitability.
     */
    readonly suitability: pulumi.Output<string>;
    /**
     * Gets or sets the Assessment suitability explanation.
     */
    readonly suitabilityExplanation: pulumi.Output<string>;
    /**
     * Cloud suitability summary for all the machines in the assessment.
     */
    readonly suitabilitySummary: pulumi.Output<{
        [key: string]: number;
    }>;
    /**
     * Azure Resource Manager metadata containing createdBy and modifiedBy information.
     */
    readonly systemData: pulumi.Output<outputs.migrate.SystemDataResponse>;
    /**
     * Time Range for which the historic utilization data should be considered for
     * assessment.
     */
    readonly timeRange: pulumi.Output<string | undefined>;
    /**
     * Predicted total CPU cores used.
     */
    readonly totalCpuCores: pulumi.Output<number>;
    /**
     * Total monthly cost.
     */
    readonly totalMonthlyCost: pulumi.Output<number>;
    /**
     * Predicted total RAM used in GB.
     */
    readonly totalRamInGB: pulumi.Output<number>;
    /**
     * Predicted total Storage used in GB.
     */
    readonly totalStorageInGB: pulumi.Output<number>;
    /**
     * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
     */
    readonly type: pulumi.Output<string>;
    /**
     * Date and Time when assessment was last updated.
     */
    readonly updatedTimestamp: pulumi.Output<string>;
    /**
     * VCPU over subscription.
     */
    readonly vcpuOversubscription: pulumi.Output<number | undefined>;
    /**
     * Create a AvsAssessmentsOperation 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: AvsAssessmentsOperationArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a AvsAssessmentsOperation resource.
 */
export interface AvsAssessmentsOperationArgs {
    /**
     * AVS Assessment ARM name
     */
    assessmentName?: pulumi.Input<string>;
    /**
     * AVS Assessment Scenario.
     */
    avsAssessmentScenario?: pulumi.Input<string | enums.migrate.AvsAssessmentScenario>;
    /**
     * Azure Location or Azure region where to which the machines will be migrated.
     */
    azureLocation?: pulumi.Input<string | enums.migrate.AzureLocation>;
    /**
     * Azure Offer code according to which cost estimation is done.
     */
    azureOfferCode?: pulumi.Input<string | enums.migrate.AzureOfferCode>;
    /**
     * Percentage of CPU capacity reserved for processing additional workloads.
     */
    cpuHeadroom?: pulumi.Input<number>;
    /**
     * Currency in which prices should be reported.
     */
    currency?: pulumi.Input<string | enums.migrate.AzureCurrency>;
    /**
     * De-duplication compression.
     */
    dedupeCompression?: pulumi.Input<number>;
    /**
     * Custom discount percentage.
     */
    discountPercentage?: pulumi.Input<number>;
    /**
     * List of AVS external storage types.
     */
    externalStorageTypes?: pulumi.Input<pulumi.Input<string | enums.migrate.ExternalStorageType>[]>;
    /**
     * Failures to tolerate and RAID level in a common property.
     */
    failuresToTolerateAndRaidLevel?: pulumi.Input<string | enums.migrate.FttAndRaidLevel>;
    /**
     * List of Failures to tolerate and RAID levels in a common property.
     */
    failuresToTolerateAndRaidLevelList?: pulumi.Input<pulumi.Input<string | enums.migrate.FttAndRaidLevel>[]>;
    /**
     * Group ARM name
     */
    groupName: pulumi.Input<string>;
    /**
     * Is Stretch Cluster Enabled.
     */
    isStretchClusterEnabled?: pulumi.Input<boolean>;
    /**
     * Is VCF license applied
     */
    isVcfByolEnabled?: pulumi.Input<boolean>;
    /**
     * Memory overcommit.
     */
    memOvercommit?: pulumi.Input<number>;
    /**
     * AVS node type.
     */
    nodeType?: pulumi.Input<string | enums.migrate.AzureAvsNodeType>;
    /**
     * AVS node types.
     */
    nodeTypes?: pulumi.Input<pulumi.Input<string | enums.migrate.AzureAvsNodeType>[]>;
    /**
     * Percentile of the utilization data values to be considered while assessing
     * machines.
     */
    percentile?: pulumi.Input<string | enums.migrate.Percentile>;
    /**
     * Gets or sets the end time to consider performance data for assessment.
     */
    perfDataEndTime?: pulumi.Input<string>;
    /**
     * Gets or sets the start time to consider performance data for assessment.
     */
    perfDataStartTime?: pulumi.Input<string>;
    /**
     * Assessment Project Name
     */
    projectName: pulumi.Input<string>;
    /**
     * The status of the last operation.
     */
    provisioningState?: pulumi.Input<string | enums.migrate.ProvisioningState>;
    /**
     * Reserved instance.
     */
    reservedInstance?: pulumi.Input<string | enums.migrate.AzureReservedInstance>;
    /**
     * The name of the resource group. The name is case insensitive.
     */
    resourceGroupName: pulumi.Input<string>;
    /**
     * Percentage of buffer that user wants on performance metrics when recommending
     * Azure sizes.
     */
    scalingFactor?: pulumi.Input<number>;
    /**
     * Assessment sizing criterion.
     */
    sizingCriterion?: pulumi.Input<string | enums.migrate.AssessmentSizingCriterion>;
    /**
     * Time Range for which the historic utilization data should be considered for
     * assessment.
     */
    timeRange?: pulumi.Input<string | enums.migrate.TimeRange>;
    /**
     * VCPU over subscription.
     */
    vcpuOversubscription?: pulumi.Input<number>;
}
