func GetVolumeAttach(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VolumeAttachState, opts ...pulumi.ResourceOption) (*VolumeAttach, error) {
	var resource VolumeAttach
	err := ctx.ReadResource("openstack:blockstorage/volumeAttach:VolumeAttach", name, id, state, &resource, opts...)
	if err != nil {
		return nil, err
	}
	return &resource, nil
}
// GetVolumeAttach gets an existing VolumeAttach resource's state with the given name, ID, and optional
// state properties that are used to uniquely qualify the lookup (nil if not required).
GetVolumeAttach gets an existing VolumeAttach resource's state with the given name, ID, and optional
state properties that are used to uniquely qualify the lookup (nil if not required).
// GetVolumeAttach gets an existing VolumeAttach resource ' s state with the given name ID and optional // state properties that are used to uniquely qualify the lookup ( nil if not required ) .
func GetVolumeAttach(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VolumeAttachState, opts ...pulumi.ResourceOption) (*VolumeAttach, error) {
	var resource VolumeAttach
	err := ctx.ReadResource("openstack:blockstorage/volumeAttach:VolumeAttach", name, id, state, &resource, opts...)
	if err != nil {
		return nil, err
	}
	return &resource, nil
}
func GetVolumeAttach ( ctx * pulumi . Context , name string , id pulumi . IDInput , state * VolumeAttachState , opts ... pulumi . ResourceOption ) ( * VolumeAttach , error ) { var resource VolumeAttach err := ctx . ReadResource ( " " , name , id , state , & resource , opts ... ) if err != nil { return nil , err } return & resource , nil }
GetVolumeAttach gets an existing VolumeAttach resource's state with the given name, ID, and optional
state properties that are used to uniquely qualify the lookup (nil if not required).
GetVolumeAttach gets an existing VolumeAttach resource ' s state with the given name ID and optional state properties that are used to uniquely qualify the lookup ( nil if not required ) .