Requires authorization
Attaches a Persistent Disk resource to an instance.
You can also attach one persistent disk to multiple instances in read-only mode; it is not possible to attach one persistent disk to multiple instances in read-write mode.
Try it now
.
Request
HTTP request
POST https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance/attachDisk
Parameters
Parameter name | Value | Description |
---|---|---|
Path parameters | ||
instance
|
string
|
The name of the instance |
project
|
string
|
The project ID of the project where the Instance resource lives. |
zone
|
string
|
Name of the zone scoping this request. |
Authorization
This request requires authorization with the following scope ( read more about authentication and authorization ).
Scope |
---|
https://www.googleapis.com/auth/compute
|
Request body
In the request body, supply data with the following structure:
{ "kind": "compute#attachedDisk", "index": integer, "type": string, "mode": string, "source": string, "deviceName": string, "boot": boolean, "initializeParams": { "diskName": string, "sourceImage": string, "diskSizeGb": long }, "autoDelete": boolean }
Property name | Value | Description | Notes |
---|---|---|---|
kind
|
string
|
The type of the resource. Always
compute#attachedDisk
for an attached Disk resource. This is automatically supplied by the server.
|
|
index
|
integer
|
[Output Only] A zero-based index to assign to this disk, where 0 is reserved for the boot disk. If not specified, the server will choose an appropriate value. | |
type
|
string
|
Type of the disk, must be
PERSISTENT
. Persistent disks must be created before you can attach them to an instance.
Acceptable values are:
|
|
mode
|
string
|
The mode in which to attach this disk, either
READ_WRITE
or
READ_ONLY
.
Acceptable values are:
|
|
source
|
string
|
The fully-qualified URL to the Persistent Disk resource. | |
deviceName
|
string
|
This represents a unique device name that is reflected into the
/dev/
tree of a Linux operating system running within the instance. If not specified, a default will be chosen by the system.
|
|
boot
|
boolean
|
Indicates that this is a boot disk. VM will use the first partition of the disk for its root filesystem. | |
initializeParams
|
nested object
|
Initialization parameters for this persistent disk. Makes this a boot persistent disk. | |
initializeParams.
diskName
|
string
|
Name of the disk. | |
initializeParams.
sourceImage
|
string
|
The fully-qualified URL to the source image used to create this root disk. | |
initializeParams.
diskSizeGb
|
long
|
The size for this root persistent disk. If not specified, the disk will be the same size as the image (usually 10GB). If specified, the size must be equal to or larger than 10GB. Note that you will need to repartition your persistent disk before you can use any additional space beyond the size of the image. | |
autoDelete
|
boolean
|
Whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance). |
Response
If successful, this method returns a response body with the following structure:
{ "kind": "compute#operation", "id": unsigned long, "creationTimestamp": string, "name": string, "zone": string, "clientOperationId": string, "operationType": string, "targetLink": string, "targetId": unsigned long, "status": string, "statusMessage": string, "user": string, "progress": integer, "insertTime": string, "startTime": string, "endTime": string, "error": { "errors": [ { "code": string, "location": string, "message": string } ] }, "warnings": [ { "code": string, "message": string, "data": [ { "key": string, "value": string } ] } ], "httpErrorStatusCode": integer, "httpErrorMessage": string, "selfLink": string, "region": string }
Property name | Value | Description | Notes |
---|---|---|---|
clientOperationId
|
string
|
[Output Only] An optional identifier specified by the client when the mutation was initiated. Must be unique for all operation resources in the project. | |
creationTimestamp
|
string
|
[Output Only] Creation timestamp in RFC3339 text format. | |
endTime
|
string
|
[Output Only] The time that this operation was completed. This is in RFC3339 text format. | |
error
|
object
|
[Output Only] If errors occurred during processing of this operation, this field will be populated. | |
error.
errors[]
|
list
|
[Output Only] The array of errors encountered while processing this operation. | |
error.errors[].
code
|
string
|
[Output Only] The error type identifier for this error. | |
error.errors[].
location
|
string
|
[Output Only] Indicates the field in the request which caused the error. This property is optional. | |
error.errors[].
message
|
string
|
[Output Only] An optional, human-readable error message. | |
httpErrorMessage
|
string
|
[Output Only]
If operation fails, the HTTP error message returned, e.g.
NOT FOUND
.
|
|
httpErrorStatusCode
|
integer
|
[Output Only]
If operation fails, the HTTP error status code returned, e.g.
404
.
|
|
id
|
unsigned long
|
[Output Only] Unique identifier for the resource, generated by the server. | |
insertTime
|
string
|
[Output Only] The time that this operation was requested. This is in RFC3339 text format. | |
kind
|
string
|
[Output Only]
Type of the resource. Always
compute#operation
for Operation resources.
|
|
name
|
string
|
[Output Only] Name of the resource. | |
operationType
|
string
|
[Output Only]
Type of the operation. Operations include
insert
,
update
, and
delete
.
|
|
progress
|
integer
|
[Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should be monotonically increasing as the operation progresses. | |
region
|
string
|
[Output Only] URL of the region where the operation resides. Only available when performing regional operations. | |
selfLink
|
string
|
[Output Only] Server-defined fully-qualified URL for this resource. | |
startTime
|
string
|
[Output Only] The time that this operation was started by the server. This is in RFC3339 text format. | |
status
|
string
|
[Output Only]
Status of the operation.
Acceptable values are:
|
|
statusMessage
|
string
|
[Output Only] An optional textual description of the current status of the operation. | |
targetId
|
unsigned long
|
[Output Only] Unique target id which identifies a particular incarnation of the target. | |
targetLink
|
string
|
[Output Only] URL of the resource the operation is mutating. | |
user
|
string
|
[Output Only]
User who requested the operation, for example:
[email protected]
.
|
|
warnings[]
|
list
|
[Output Only] If there are issues with this operation, a warning is returned. | |
warnings[].
code
|
string
|
[Output Only]
The warning type identifier for this warning.
Acceptable values are:
|
|
warnings[].
data[]
|
list
|
[Output Only] Metadata for this warning in 'key: value' format. | |
warnings[].data[].
key
|
string
|
[Output Only] Metadata key for this warning. | |
warnings[].data[].
value
|
string
|
[Output Only] Metadata value for the specified key. | |
warnings[].
message
|
string
|
[Output Only] Optional human-readable details for this warning. | |
zone
|
string
|
[Output Only] URL of the zone where the operation resides. Only available when performing per-zone operations. |
Try it!
Use the APIs Explorer below to call this method on live data and see the response.