import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
/**
* > **Authentication:** The `nutanix.PcRestoreSourceV2` resource does **not** support API key authentication. The CreateRestoreSource API routes requests to the target cluster (Prism Element), which only supports basic auth (username/password). Use `username` and `password` in the provider configuration—do not use `apiKey`. Using API key will result in "Invalid cookies present in the request" errors.
*
* > The restore source is auto-deleted after sometime, nutanix.PcRestoreSourceV2 resource is auto-create new restore source if it was deleted, so notice that the id of the restore source resource will be different after recreation. and for update restore source, it will create a new restore source with the new configuration
*
* Create a restore source pointing to a cluster or object store to restore the domain manager. The created restore source is intended to be deleted after use. If the restore source is not deleted using the deleteRestoreSource API, then it is auto-deleted after sometime. Also note that a restore source will not contain a backup policy. It is only used to access the backup data at the location from where the Prism Central may be restored. Credentials used to access the restore source are not validated at the time of creation of the restore source. They are validated when the restore source is used to fetch data.
*
* ## Example Usage
*
* ### Cluster Location
*
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as nutanix from "@pierskarsenbarg/nutanix";
*
* // restore source is auto-deleted after sometime, nutanix_pc_restore_source_v2 resource is auto-create
* // new restore source if it was deleted, so notice that the id of the restore source will be different
* // after recreation
* const cluster_location = new nutanix.PcRestoreSourceV2("cluster-location", {location: {
* clusterLocations: [{
* configs: [{
* extId: "323860ca-bd10-411e-9fe0-1430b62eaf45",
* }],
* }],
* }});
* ```
*
*
* ### Object Store Location
*
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as nutanix from "@pierskarsenbarg/nutanix";
*
* // using object store location
* const object_store_location = new nutanix.PcRestoreSourceV2("object-store-location", {location: {
* objectStoreLocations: [{
* providerConfigs: [{
* bucketName: "nutanix-terraform-bucket",
* region: "us-west-1",
* credentials: {
* accessKeyId: "IHSAJHDHADFWYTKJHFGCJKHASGJHKDSA",
* secretAccessKey: "JGSDHJYHGFHGHDS+JKBASDF/HSDAFHJ+SjkfbdsASDfdJFdSDFJfk",
* },
* }],
* backupPolicies: [{
* rpoInMinutes: 120,
* }],
* }],
* }});
* ```
*
*/
export declare class PcRestoreSourceV2 extends pulumi.CustomResource {
/**
* Get an existing PcRestoreSourceV2 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?: PcRestoreSourceV2State, opts?: pulumi.CustomResourceOptions): PcRestoreSourceV2;
/**
* Returns true if the given object is an instance of PcRestoreSourceV2. 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 PcRestoreSourceV2;
readonly backupPauseReason: pulumi.Output;
readonly extId: pulumi.Output;
readonly isBackupPaused: pulumi.Output;
readonly lastSyncTime: pulumi.Output;
readonly links: pulumi.Output;
/**
* -(Required) Location of the backup target. For example, a cluster or an object store endpoint, such as AWS s3.
*/
readonly location: pulumi.Output;
readonly tenantId: pulumi.Output;
/**
* Create a PcRestoreSourceV2 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: PcRestoreSourceV2Args, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering PcRestoreSourceV2 resources.
*/
export interface PcRestoreSourceV2State {
backupPauseReason?: pulumi.Input;
extId?: pulumi.Input;
isBackupPaused?: pulumi.Input;
lastSyncTime?: pulumi.Input;
links?: pulumi.Input[] | undefined>;
/**
* -(Required) Location of the backup target. For example, a cluster or an object store endpoint, such as AWS s3.
*/
location?: pulumi.Input;
tenantId?: pulumi.Input;
}
/**
* The set of arguments for constructing a PcRestoreSourceV2 resource.
*/
export interface PcRestoreSourceV2Args {
/**
* -(Required) Location of the backup target. For example, a cluster or an object store endpoint, such as AWS s3.
*/
location: pulumi.Input;
}
//# sourceMappingURL=pcRestoreSourceV2.d.ts.map