# Get physical cloud machine type information - DescribePHostMachineType

## Overview

Get detailed description information of the physical cloud machine type






## Definition

### Public Parameters

| Parameter Name | Type | Description Information | Required |
|:---|:---|:---|:---|
| **Action**     | string  | Corresponding API command name, the current API is `DescribePHostMachineType`.                      | **Yes** |
| **PublicKey**  | string  | The user's public key can be obtained from [Console](https://console.scloudsg.com/uaccount/api_manage)                                             | **Yes** |
| **Signature**  | string  | User signature generated based on public key and API command, see [Signature Algorithm](/docs/api/summary/signature.md)  | **Yes** |

### Request Parameters

| Parameter Name | Type | Description Information | Required |
|:---|:---|:---|:---|
| **Region** | string | Region. See [List of Regions and Availability Zones](/docs/api/summary/regionlist) |No|
| **Zone** | string | Availability Zone. See [Availability Zone List](/docs/api/summary/regionlist) |No|
| **ProjectId** | string | Project ID. If not filled in, the default project is used, sub-accounts must be filled in. Please refer to the [GetProjectList interface](/docs/api/summary/get_project_list). |No|
| **Type** | string | Specific machine type. If not filled in, all machine types will be returned. |No|
| **APIVersion** | string | Request version. Only v2 is supported, not passing or passing other values means requesting the old version. |No|

### Response Field

| Field Name | Type | Description Information | Required |
|:---|:---|:---|:---|
| **RetCode** | int | Return status code. If it is 0, it means successful return. If it is not 0, it means failure. |**Yes**|
| **Action** | string | Operation command name. |**Yes**|
| **Message** | string | Returns an error message, providing detailed description when `RetCode` is non-zero. |No|
| **MachineTypes** | array[[*PHostCloudMachineTypeSetV2*](#phostcloudmachinetypesetv2)] | Machine type list, Model: PHostCloudMachineTypeSetV2, only returned when the input parameter Version=v2 |No|

#### Data Model


#### PHostCloudMachineTypeSetV2

| Field Name | Type | Description Information | Required |
|:---|:---|:---|:---|
| **Zone** | string | Availability Zone of the Machine Type |**Yes**|
| **CPU** | [*PHostCPUSetV2*](#phostcpusetv2) | CPU Information |**Yes**|
| **Disks** | array[[*PHostDiskSetV2*](#phostdisksetv2)] | Disk Information |**Yes**|
| **Components** | array[[*PHostComponentSet*](#phostcomponentset)] | Component Information |**Yes**|
| **Type** | string | Physical Cloud Host Type Alias |**Yes**|
| **RaidSupported** | string | Does it support Raid. Enumeration values: Yes; No. |**Yes**|
| **Memory** | int | Memory size, unit MB |**Yes**|
| **IsBaremetal** | boolean | Is it a BareMetal model? |No|
| **IsNew** | boolean | Do you need to add a new machine type tag? |No|
| **GpuInfo** | [*PHostGpuInfoV2*](#phostgpuinfov2) | GPU Information |No|
| **OnSale** | boolean | Usually what is obtained is sellable. |No|
| **Stock** | int | Inventory Quantity |No|
| **StockStatus** | string | Inventory status. Enumerated values: Available; Sold Out |No|
| **Price** | object | Reference Price. Dictionary type, default: for default price; cn-wlcb-01: price for Ulanqab A availability zone. |No|
| **Cluster** | string | Cluster name. Enumeration values: Gigabit Network Cluster: 1G; 10 Gigabit Network Cluster: 10G; Smart NIC Network: 25G; |No|
| **Scene** | array[string] | Applicable scenarios. For example: ai represents AI learning scenarios; |No|
| **IsGpu** | boolean | Is it a GPU model? |No|

#### PHostCPUSetV2

| Field Name | Type | Description Information | Required |
|:---|:---|:---|:---|
| **CoreCount** | int | CPU Cores |**Yes**|
| **Count** | int | Number of CPUs |**Yes**|
| **Model** | string | CPU Model |**Yes**|
| **Frequency** | string | CPU Clock Speed |No|

#### PHostDiskSetV2

| Field Name | Type | Description Information | Required |
|:---|:---|:---|:---|
| **Space** | int | Space Size |**Yes**|
| **Name** | string | Disk Name |**Yes**|
| **IoCap** | int | I/O Performance |No|
| **Number** | int | Quantity |No|
| **UnitSize** | int | Conversion Unit |No|
| **RaidLevel** | int | Raid Level |No|
| **DiskType** | int | Disk Type |No|

#### PHostComponentSet

| Field Name | Type | Description Information | Required |
|:---|:---|:---|:---|
| **Name** | string | Component Name |No|
| **Count** | int | Number of Components |No|

#### PHostGpuInfoV2

| Field Name | Type | Description Information | Required |
|:---|:---|:---|:---|
| **Name** | string | GPU Name, for example: NVIDIA_V100S |**Yes**|
| **Count** | int | Number of GPUs |**Yes**|
| **Memory** | string | GPU Memory Size |**Yes**|
| **Performance** | string | GPU Performance Metrics |**Yes**|

## Example

### Request Example
    
```
https://api.scloudsg.com/?Action=DescribePHostMachineType
&Region=cn-zj
&Zone=cn-zj-01
&ProjectId=NiYMXdyn
&Type=hadlNlxA
&APIVersion=cdMsncHw
```

### Response Example
    
```json
{
  "Action": "DescribePHostMachineTypeResponse",
  "MachineTypes": [
    {
      "CPU": {},
      "Cluster": "slWWGEzJ",
      "Components": "xCviqMvg",
      "Disks": [
        {
          "DiskType": 5,
          "IoCap": 1,
          "Name": 9,
          "Number": 4,
          "RaidLevel": 1,
          "Space": 8,
          "UnitSize": 6
        }
      ],
      "GpuInfo": {},
      "IsBaremetal": false,
      "IsGpu": true,
      "IsNew": false,
      "Memory": 4,
      "OnSale": true,
      "Price": {},
      "RaidSupported": "PTHSxykI",
      "Scene": [
        "FFdKPNtX"
      ],
      "Stock": 6,
      "StockStatus": "gPycxoAR",
      "Type": "qAgpiiDD",
      "Zone": "OPSFkhgO"
    }
  ],
  "RetCode": 0
}
```





