def __init__(__self__, *, auto_delete: Optional[pulumi.Input[bool]]=None, custom_image: Optional[pulumi.Input[str]]=None, device_name: Optional[pulumi.Input[str]]=None, instantiate_from: Optional[pulumi.Input['DiskInstantiationConfigInstantiateFrom']]=None):
    "\n        A specification of the desired way to instantiate a disk in the instance template when its created from a source instance.\n        :param pulumi.Input[bool] auto_delete: Specifies whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).\n        :param pulumi.Input[str] custom_image: The custom source image to be used to restore this disk when instantiating this instance template.\n        :param pulumi.Input[str] device_name: Specifies the device name of the disk to which the configurations apply to.\n        :param pulumi.Input['DiskInstantiationConfigInstantiateFrom'] instantiate_from: Specifies whether to include the disk and what image to use. Possible values are: - source-image: to use the same image that was used to create the source instance's corresponding disk. Applicable to the boot disk and additional read-write disks. - source-image-family: to use the same image family that was used to create the source instance's corresponding disk. Applicable to the boot disk and additional read-write disks. - custom-image: to use a user-provided image url for disk creation. Applicable to the boot disk and additional read-write disks. - attach-read-only: to attach a read-only disk. Applicable to read-only disks. - do-not-include: to exclude a disk from the template. Applicable to additional read-write disks, local SSDs, and read-only disks. \n        "
    if (auto_delete is not None):
        pulumi.set(__self__, 'auto_delete', auto_delete)
    if (custom_image is not None):
        pulumi.set(__self__, 'custom_image', custom_image)
    if (device_name is not None):
        pulumi.set(__self__, 'device_name', device_name)
    if (instantiate_from is not None):
        pulumi.set(__self__, 'instantiate_from', instantiate_from)
A specification of the desired way to instantiate a disk in the instance template when its created from a source instance.
:param pulumi.Input[bool] auto_delete: Specifies whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).
:param pulumi.Input[str] custom_image: The custom source image to be used to restore this disk when instantiating this instance template.
:param pulumi.Input[str] device_name: Specifies the device name of the disk to which the configurations apply to.
:param pulumi.Input['DiskInstantiationConfigInstantiateFrom'] instantiate_from: Specifies whether to include the disk and what image to use. Possible values are: - source-image: to use the same image that was used to create the source instance's corresponding disk. Applicable to the boot disk and additional read-write disks. - source-image-family: to use the same image family that was used to create the source instance's corresponding disk. Applicable to the boot disk and additional read-write disks. - custom-image: to use a user-provided image url for disk creation. Applicable to the boot disk and additional read-write disks. - attach-read-only: to attach a read-only disk. Applicable to read-only disks. - do-not-include: to exclude a disk from the template. Applicable to additional read-write disks, local SSDs, and read-only disks.
def __init__(__self__, *, auto_delete: Optional[pulumi.Input[bool]]=None, custom_image: Optional[pulumi.Input[str]]=None, device_name: Optional[pulumi.Input[str]]=None, instantiate_from: Optional[pulumi.Input['DiskInstantiationConfigInstantiateFrom']]=None):
    "\n        A specification of the desired way to instantiate a disk in the instance template when its created from a source instance.\n        :param pulumi.Input[bool] auto_delete: Specifies whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).\n        :param pulumi.Input[str] custom_image: The custom source image to be used to restore this disk when instantiating this instance template.\n        :param pulumi.Input[str] device_name: Specifies the device name of the disk to which the configurations apply to.\n        :param pulumi.Input['DiskInstantiationConfigInstantiateFrom'] instantiate_from: Specifies whether to include the disk and what image to use. Possible values are: - source-image: to use the same image that was used to create the source instance's corresponding disk. Applicable to the boot disk and additional read-write disks. - source-image-family: to use the same image family that was used to create the source instance's corresponding disk. Applicable to the boot disk and additional read-write disks. - custom-image: to use a user-provided image url for disk creation. Applicable to the boot disk and additional read-write disks. - attach-read-only: to attach a read-only disk. Applicable to read-only disks. - do-not-include: to exclude a disk from the template. Applicable to additional read-write disks, local SSDs, and read-only disks. \n        "
    if (auto_delete is not None):
        pulumi.set(__self__, 'auto_delete', auto_delete)
    if (custom_image is not None):
        pulumi.set(__self__, 'custom_image', custom_image)
    if (device_name is not None):
        pulumi.set(__self__, 'device_name', device_name)
    if (instantiate_from is not None):
        pulumi.set(__self__, 'instantiate_from', instantiate_from)