1. Operations
2. vcenter
3. vm
4. hardware
5. adapter
6. sata

## vcenter vm hardware adapter sata: create

Adds a virtual SATA adapter to the virtual machine.

### Request:

#### HTTP request

POST https://{server}/rest/vcenter/vm/{vm}/hardware/adapter/sata

#### Path Parameters

Name | Type | Description
--- | --- | ---
Required
vm | string | Virtual machine identifier.

#### Request Body Structure:

- JSON
- XML

{
"spec": {
"bus": 1,
"pci_slot_number": 1,
"type": "AHCI"
}
}
<?xml version="1.0" ?>
<ns0:Create-Input xmlns:ns0="http://vmware.com/vcenter/vm/hardware/adapter/sata" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<spec>
<pci_slot_number>1</pci_slot_number>
<bus>1</bus>
<type>AHCI</type>
</spec>
</ns0:Create-Input>

#### Request Body Parameters:

Name | Type | Description
--- | --- | ---
bold = required
spec | create_spec | Specification for the new virtual SATA adapter.
spec.type | string | Adapter type. Optional. If unset, a guest-specific default value will be used.
spec.bus | long | SATA bus number. Optional. If unset, the server will choose an available bus number; if none is available, the request will fail.
spec.pci_slot_number | long | Address of the SATA adapter on the PCI bus. Optional. If unset, the server will choose an available address when the virtual machine is powered on.

### Response:

#### HTTP Status Code: 200

#### Representations:

- JSON
- XML

{
"value": "obj-103"
}
<?xml version="1.0" ?>
<ns0:Create-Result xmlns:ns0="http://vmware.com/vcenter/vm/hardware/adapter/sata" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<value>obj-103</value>
</ns0:Create-Result>

#### Response Type:

Name | Type | Description
--- | --- | ---
bold = required
value | string | Virtual SATA adapter identifier.

#### Errors:

HTTP Status Code | Type | Description
--- | --- | ---
500 | error | if the system reports an error while responding to the request.
400 | not_allowed_in_current_state | if the virtual machine is suspended
404 | not_found | if the virtual machine is not found.
400 | unable_to_allocate_resource | if there are no more available SATA buses on the virtual machine.
400 | resource_in_use | if the specified SATA bus or PCI address is in use.
400 | invalid_argument | if the specified SATA bus or PCI address is out of bounds.
400 | resource_busy | if the virtual machine is busy performing another operation.
400 | resource_inaccessible | if the virtual machine's configuration state cannot be accessed.
503 | service_unavailable | if the system is unable to communicate with a service to complete the request.
401 | unauthenticated | if the user can not be authenticated.
403 | unauthorized | if the user doesn't have the required privileges.
400 | unsupported | if the guest operating system of the virtual machine is not supported and spec includes unset fields that default to guest-specific values.