import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Provides a resource to Create a new Volume Group. * * ## Example Usage * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as nutanix from "@pierskarsenbarg/nutanix"; * * const volumeGroupExample = new nutanix.VolumeGroupV2("volume_group_example", { * name: "volume_group_test", * description: "Test Create Volume group with spec", * shouldLoadBalanceVmAttachments: false, * sharingStatus: "SHARED", * targetName: "volumegroup-test-001234", * createdBy: "example", * clusterReference: "ab520e1d-4950-1db1-917f-a9e2ea35b8e3", * iscsiFeatures: [{ * enabledAuthentications: "CHAP", * targetSecret: "123456789abc", * }], * storageFeatures: [{ * flashModes: [{ * isEnabled: true, * }], * }], * usageType: "USER", * isHidden: false, * }); * ``` * */ export declare class VolumeGroupV2 extends pulumi.CustomResource { /** * Get an existing VolumeGroupV2 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?: VolumeGroupV2State, opts?: pulumi.CustomResourceOptions): VolumeGroupV2; /** * Returns true if the given object is an instance of VolumeGroupV2. 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 VolumeGroupV2; /** * -(Optional) The field indicates whether a VG has a VM or an external attachment associated with it. Valid values are : * - EXTERNAL : Volume Group has an external iSCSI or NVMf attachment. * - NONE : Volume Group has no attachment. * - DIRECT : Volume Group has a VM attachment. */ readonly attachmentType: pulumi.Output; /** * -(Required) The UUID of the cluster that will host the Volume Group. */ readonly clusterReference: pulumi.Output; /** * -(Optional) Service/user who created this Volume Group. */ readonly createdBy: pulumi.Output; /** * -(Optional) Volume Group description. This is an optional field. */ readonly description: pulumi.Output; /** * -(Optional) A list of Volume Disks to be attached to the Volume Group. */ readonly disks: pulumi.Output; /** * -(Optional) The authentication type enabled for the Volume Group. Valid values are CHAP, NONE */ readonly enabledAuthentications: pulumi.Output; /** * -(Optional) A globally unique identifier of an instance that is suitable for external consumption. */ readonly extId: pulumi.Output; /** * -(Optional) Indicates whether the Volume Group is meant to be hidden or not. */ readonly isHidden: pulumi.Output; /** * -(Optional) iSCSI specific settings for the Volume Group. */ readonly iscsiFeatures: pulumi.Output; /** * -(Required) Volume Group name. This is an optional field. */ readonly name: pulumi.Output; /** * -(Optional) Type of protocol to be used for Volume Group. Valid values are : * - NOT_ASSIGNED : Volume Group does not use any protocol. * - ISCSI : Volume Group uses iSCSI protocol. * - NVMF : Volume Group uses NVMf protocol. */ readonly protocol: pulumi.Output; /** * -(Optional) Indicates whether the Volume Group can be shared across multiple iSCSI initiators. The mode cannot be changed from SHARED to NOT_SHARED on a Volume Group with multiple attachments. Similarly, a Volume Group cannot be associated with more than one attachment as long as it is in exclusive mode. This is an optional field. Valid values are SHARED, NOT_SHARED */ readonly sharingStatus: pulumi.Output; /** * -(Optional) Indicates whether to enable Volume Group load balancing for VM attachments. This cannot be enabled if there are iSCSI client attachments already associated with the Volume Group, and vice-versa. This is an optional field. */ readonly shouldLoadBalanceVmAttachments: pulumi.Output; /** * -(Optional) Storage optimization features which must be enabled on the Volume Group. */ readonly storageFeatures: pulumi.Output; /** * -(Optional) Name of the external client target that will be visible and accessible to the client. */ readonly targetName: pulumi.Output; /** * The specifications contain the target prefix for external clients as the value. This is an optional field. */ readonly targetPrefix: pulumi.Output; /** * -(Optional) Expected usage type for the Volume Group. This is an indicative hint on how the caller will consume the Volume Group. Valid values are BACKUP_TARGET, INTERNAL, TEMPORARY, USER */ readonly usageType: pulumi.Output; /** * Create a VolumeGroupV2 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: VolumeGroupV2Args, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering VolumeGroupV2 resources. */ export interface VolumeGroupV2State { /** * -(Optional) The field indicates whether a VG has a VM or an external attachment associated with it. Valid values are : * - EXTERNAL : Volume Group has an external iSCSI or NVMf attachment. * - NONE : Volume Group has no attachment. * - DIRECT : Volume Group has a VM attachment. */ attachmentType?: pulumi.Input; /** * -(Required) The UUID of the cluster that will host the Volume Group. */ clusterReference?: pulumi.Input; /** * -(Optional) Service/user who created this Volume Group. */ createdBy?: pulumi.Input; /** * -(Optional) Volume Group description. This is an optional field. */ description?: pulumi.Input; /** * -(Optional) A list of Volume Disks to be attached to the Volume Group. */ disks?: pulumi.Input[] | undefined>; /** * -(Optional) The authentication type enabled for the Volume Group. Valid values are CHAP, NONE */ enabledAuthentications?: pulumi.Input; /** * -(Optional) A globally unique identifier of an instance that is suitable for external consumption. */ extId?: pulumi.Input; /** * -(Optional) Indicates whether the Volume Group is meant to be hidden or not. */ isHidden?: pulumi.Input; /** * -(Optional) iSCSI specific settings for the Volume Group. */ iscsiFeatures?: pulumi.Input[] | undefined>; /** * -(Required) Volume Group name. This is an optional field. */ name?: pulumi.Input; /** * -(Optional) Type of protocol to be used for Volume Group. Valid values are : * - NOT_ASSIGNED : Volume Group does not use any protocol. * - ISCSI : Volume Group uses iSCSI protocol. * - NVMF : Volume Group uses NVMf protocol. */ protocol?: pulumi.Input; /** * -(Optional) Indicates whether the Volume Group can be shared across multiple iSCSI initiators. The mode cannot be changed from SHARED to NOT_SHARED on a Volume Group with multiple attachments. Similarly, a Volume Group cannot be associated with more than one attachment as long as it is in exclusive mode. This is an optional field. Valid values are SHARED, NOT_SHARED */ sharingStatus?: pulumi.Input; /** * -(Optional) Indicates whether to enable Volume Group load balancing for VM attachments. This cannot be enabled if there are iSCSI client attachments already associated with the Volume Group, and vice-versa. This is an optional field. */ shouldLoadBalanceVmAttachments?: pulumi.Input; /** * -(Optional) Storage optimization features which must be enabled on the Volume Group. */ storageFeatures?: pulumi.Input[] | undefined>; /** * -(Optional) Name of the external client target that will be visible and accessible to the client. */ targetName?: pulumi.Input; /** * The specifications contain the target prefix for external clients as the value. This is an optional field. */ targetPrefix?: pulumi.Input; /** * -(Optional) Expected usage type for the Volume Group. This is an indicative hint on how the caller will consume the Volume Group. Valid values are BACKUP_TARGET, INTERNAL, TEMPORARY, USER */ usageType?: pulumi.Input; } /** * The set of arguments for constructing a VolumeGroupV2 resource. */ export interface VolumeGroupV2Args { /** * -(Optional) The field indicates whether a VG has a VM or an external attachment associated with it. Valid values are : * - EXTERNAL : Volume Group has an external iSCSI or NVMf attachment. * - NONE : Volume Group has no attachment. * - DIRECT : Volume Group has a VM attachment. */ attachmentType?: pulumi.Input; /** * -(Required) The UUID of the cluster that will host the Volume Group. */ clusterReference: pulumi.Input; /** * -(Optional) Service/user who created this Volume Group. */ createdBy?: pulumi.Input; /** * -(Optional) Volume Group description. This is an optional field. */ description?: pulumi.Input; /** * -(Optional) A list of Volume Disks to be attached to the Volume Group. */ disks?: pulumi.Input[] | undefined>; /** * -(Optional) The authentication type enabled for the Volume Group. Valid values are CHAP, NONE */ enabledAuthentications?: pulumi.Input; /** * -(Optional) Indicates whether the Volume Group is meant to be hidden or not. */ isHidden?: pulumi.Input; /** * -(Optional) iSCSI specific settings for the Volume Group. */ iscsiFeatures?: pulumi.Input[] | undefined>; /** * -(Required) Volume Group name. This is an optional field. */ name?: pulumi.Input; /** * -(Optional) Type of protocol to be used for Volume Group. Valid values are : * - NOT_ASSIGNED : Volume Group does not use any protocol. * - ISCSI : Volume Group uses iSCSI protocol. * - NVMF : Volume Group uses NVMf protocol. */ protocol?: pulumi.Input; /** * -(Optional) Indicates whether the Volume Group can be shared across multiple iSCSI initiators. The mode cannot be changed from SHARED to NOT_SHARED on a Volume Group with multiple attachments. Similarly, a Volume Group cannot be associated with more than one attachment as long as it is in exclusive mode. This is an optional field. Valid values are SHARED, NOT_SHARED */ sharingStatus?: pulumi.Input; /** * -(Optional) Indicates whether to enable Volume Group load balancing for VM attachments. This cannot be enabled if there are iSCSI client attachments already associated with the Volume Group, and vice-versa. This is an optional field. */ shouldLoadBalanceVmAttachments?: pulumi.Input; /** * -(Optional) Storage optimization features which must be enabled on the Volume Group. */ storageFeatures?: pulumi.Input[] | undefined>; /** * -(Optional) Name of the external client target that will be visible and accessible to the client. */ targetName?: pulumi.Input; /** * The specifications contain the target prefix for external clients as the value. This is an optional field. */ targetPrefix?: pulumi.Input; /** * -(Optional) Expected usage type for the Volume Group. This is an indicative hint on how the caller will consume the Volume Group. Valid values are BACKUP_TARGET, INTERNAL, TEMPORARY, USER */ usageType?: pulumi.Input; } //# sourceMappingURL=volumeGroupV2.d.ts.map