import * as pulumi from "@pulumi/pulumi"; import { input as inputs, output as outputs } from "../types"; /** * ## Example Usage * ### S * This is an example of how to create a storage profile resource. * * **Vra storage profile:** * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as vra from "@pulumiverse/vra"; * * // vSphere storage profile using generic vra_storage_profile resource. * const thisStorageProfile = new vra.storageprofile.StorageProfile("thisStorageProfile", { * description: "vSphere Storage Profile with standard independent non-persistent disk.", * regionId: data.vra_region["this"].id, * defaultItem: false, * diskProperties: { * independent: "true", * persistent: "false", * limitIops: "2000", * provisioningType: "eagerZeroedThick", * sharesLevel: "custom", * shares: "1500", * }, * diskTargetProperties: { * datastoreId: data.vra_fabric_datastore_vsphere["this"].id, * storagePolicyId: data.vra_fabric_storage_policy_vsphere["this"].id, * }, * tags: [{ * key: "foo", * value: "bar", * }], * }); * // AWS storage profile using generic vra_storage_profile resource. * const thisStorageprofile_storageProfileStorageProfile = new vra.storageprofile.StorageProfile("thisStorageprofile/storageProfileStorageProfile", { * description: "AWS Storage Profile with instance store device type.", * regionId: data.vra_region["this"].id, * defaultItem: false, * diskProperties: { * deviceType: "instance-store", * }, * tags: [{ * key: "foo", * value: "bar", * }], * }); * // Azure storage profile using generic vra_storage_profile resource. * const thisVraStorageprofile_storageProfileStorageProfile = new vra.storageprofile.StorageProfile("thisVraStorageprofile/storageProfileStorageProfile", { * description: "Azure Storage Profile with managed disks.", * regionId: data.vra_region["this"].id, * defaultItem: false, * supportsEncryption: false, * diskProperties: { * azureDataDiskCaching: "None", * azureManagedDiskType: "Standard_LRS", * azureOsDiskCaching: "None", * }, * tags: [{ * key: "foo", * value: "bar", * }], * }); * ``` * * A storage profile resource supports the following arguments: */ export declare class StorageProfile extends pulumi.CustomResource { /** * Get an existing StorageProfile 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?: StorageProfileState, opts?: pulumi.CustomResourceOptions): StorageProfile; /** * Returns true if the given object is an instance of StorageProfile. 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 StorageProfile; /** * Id of the cloud account this storage profile belongs to. */ readonly cloudAccountId: pulumi.Output; /** * Date when the entity was created. The date is in ISO 6801 and UTC. */ readonly createdAt: pulumi.Output; /** * Indicates if this storage profile is a default profile. */ readonly defaultItem: pulumi.Output; /** * A human-friendly description. */ readonly description: pulumi.Output; /** * Map of storage properties that are to be applied on disk while provisioning. */ readonly diskProperties: pulumi.Output<{ [key: string]: any; } | undefined>; /** * Map of storage placements to know where the disk is provisioned. */ readonly diskTargetProperties: pulumi.Output<{ [key: string]: any; } | undefined>; /** * The id of the region as seen in the cloud provider for which this profile is defined. */ readonly externalRegionId: pulumi.Output; /** * HATEOAS of the entity */ readonly links: pulumi.Output; /** * A human-friendly name used as an identifier in APIs that support this option. */ readonly name: pulumi.Output; /** * The id of the organization this entity belongs to. */ readonly orgId: pulumi.Output; /** * Email of the user that owns the entity. */ readonly owner: pulumi.Output; /** * The id of the region for which this profile is defined as in vRealize Automation(vRA). */ readonly regionId: pulumi.Output; /** * Indicates whether this storage profile supports encryption or not. */ readonly supportsEncryption: pulumi.Output; /** * A set of tag keys and optional values that were set on this Network Profile. * example:[ { "key" : "ownedBy", "value": "Rainpole" } ] */ readonly tags: pulumi.Output; /** * Date when the entity was last updated. The date is ISO 8601 and UTC. */ readonly updatedAt: pulumi.Output; /** * Create a StorageProfile 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: StorageProfileArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering StorageProfile resources. */ export interface StorageProfileState { /** * Id of the cloud account this storage profile belongs to. */ cloudAccountId?: pulumi.Input; /** * Date when the entity was created. The date is in ISO 6801 and UTC. */ createdAt?: pulumi.Input; /** * Indicates if this storage profile is a default profile. */ defaultItem?: pulumi.Input; /** * A human-friendly description. */ description?: pulumi.Input; /** * Map of storage properties that are to be applied on disk while provisioning. */ diskProperties?: pulumi.Input<{ [key: string]: any; }>; /** * Map of storage placements to know where the disk is provisioned. */ diskTargetProperties?: pulumi.Input<{ [key: string]: any; }>; /** * The id of the region as seen in the cloud provider for which this profile is defined. */ externalRegionId?: pulumi.Input; /** * HATEOAS of the entity */ links?: pulumi.Input[]>; /** * A human-friendly name used as an identifier in APIs that support this option. */ name?: pulumi.Input; /** * The id of the organization this entity belongs to. */ orgId?: pulumi.Input; /** * Email of the user that owns the entity. */ owner?: pulumi.Input; /** * The id of the region for which this profile is defined as in vRealize Automation(vRA). */ regionId?: pulumi.Input; /** * Indicates whether this storage profile supports encryption or not. */ supportsEncryption?: pulumi.Input; /** * A set of tag keys and optional values that were set on this Network Profile. * example:[ { "key" : "ownedBy", "value": "Rainpole" } ] */ tags?: pulumi.Input[]>; /** * Date when the entity was last updated. The date is ISO 8601 and UTC. */ updatedAt?: pulumi.Input; } /** * The set of arguments for constructing a StorageProfile resource. */ export interface StorageProfileArgs { /** * Indicates if this storage profile is a default profile. */ defaultItem: pulumi.Input; /** * A human-friendly description. */ description?: pulumi.Input; /** * Map of storage properties that are to be applied on disk while provisioning. */ diskProperties?: pulumi.Input<{ [key: string]: any; }>; /** * Map of storage placements to know where the disk is provisioned. */ diskTargetProperties?: pulumi.Input<{ [key: string]: any; }>; /** * A human-friendly name used as an identifier in APIs that support this option. */ name?: pulumi.Input; /** * The id of the region for which this profile is defined as in vRealize Automation(vRA). */ regionId: pulumi.Input; /** * Indicates whether this storage profile supports encryption or not. */ supportsEncryption?: pulumi.Input; /** * A set of tag keys and optional values that were set on this Network Profile. * example:[ { "key" : "ownedBy", "value": "Rainpole" } ] */ tags?: pulumi.Input[]>; }