# Documentation for `scw apple-silicon`


:::note{title="The CLI documentation pages are currently under construction"}
The content is up to date. We're making improvements to the site over the next few weeks for a better experience.
:::

<!-- DO NOT EDIT: this file is automatically generated using scw-doc-gen -->
Apple silicon API.

- [OS management commands](#os-management-commands)
  - [Get an Operating System (OS)](#get-an-operating-system-(os))
  - [List all Operating Systems (OS)](#list-all-operating-systems-(os))
- [Private network management command](#private-network-management-command)
  - [Add a server to a Private Network](#add-a-server-to-a-private-network)
  - [Delete a Private Network](#delete-a-private-network)
  - [List the Private Networks of a server](#list-the-private-networks-of-a-server)
  - [Set multiple Private Networks on a server](#set-multiple-private-networks-on-a-server)
- [Runner management commands](#runner-management-commands)
  - [Create a new runner configuration](#create-a-new-runner-configuration)
  - [Create a new runner configuration](#create-a-new-runner-configuration)
  - [Retrieve a runner configuration](#retrieve-a-runner-configuration)
  - [List runner configurations associated with a server](#list-runner-configurations-associated-with-a-server)
  - [Create a new runner configuration](#create-a-new-runner-configuration)
- [Apple silicon management commands](#apple-silicon-management-commands)
  - [Create a server](#create-a-server)
  - [Delete a server](#delete-a-server)
  - [Get a server](#get-a-server)
  - [List all servers](#list-all-servers)
  - [Reboot a server](#reboot-a-server)
  - [Reinstall a server](#reinstall-a-server)
  - [SSH into a server](#ssh-into-a-server)
  - [Update a server](#update-a-server)
  - [Wait for a server to reach a stable state](#wait-for-a-server-to-reach-a-stable-state)
- [Server-Types management commands](#server-types-management-commands)
  - [Get a server type](#get-a-server-type)
  - [List server types](#list-server-types)


## OS management commands

OS management commands.


### Get an Operating System (OS)

Get an Operating System (OS). The response will include the OS's unique ID as well as its name and label.

**Usage:**

```shell
scw apple-silicon os get <os-id ...> [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| os-id | Required | UUID of the OS you want to get |
| zone | Default: `fr-par-1`<br />One of: `fr-par-3` | Zone to target. If none is passed will use default zone from the config |



### List all Operating Systems (OS)

List all Operating Systems (OS). The response will include the total number of OS as well as their associated IDs, names and labels.

**Usage:**

```shell
scw apple-silicon os list [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| server-type |  | List of compatible server types |
| name |  | Filter OS by name (note that "11.1" will return "11.1.2" and "11.1" but not "12")) |
| zone | Default: `fr-par-1`<br />One of: `fr-par-3`, `all` | Zone to target. If none is passed will use default zone from the config |



## Private network management command

A Private Network allows you to interconnect your resources
in an isolated and private
network. Network reachability is limited to the
resources that are in the same VPC.

Note that a resource can be a part of multiple Private Networks.


### Add a server to a Private Network

Add an Apple silicon server to a Private Network.

**Usage:**

```shell
scw apple-silicon private-network add [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| server-id | Required | ID of the server |
| private-network-id | Required | ID of the Private Network |
| ipam-ip-ids.{index} |  | IPAM IDs of IPs to attach to the server |
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-3` | Zone to target. If none is passed will use default zone from the config |



### Delete a Private Network

Delete a Private Network.

**Usage:**

```shell
scw apple-silicon private-network delete [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| server-id | Required | ID of the server |
| private-network-id | Required | ID of the Private Network |
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-3` | Zone to target. If none is passed will use default zone from the config |



### List the Private Networks of a server

List the Private Networks of an Apple silicon server.

**Usage:**

```shell
scw apple-silicon private-network list [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| order-by | One of: `created_at_asc`, `created_at_desc`, `updated_at_asc`, `updated_at_desc` | Sort order for the returned Private Networks |
| server-id |  | Filter Private Networks by server ID |
| private-network-id |  | Filter Private Networks by Private Network ID |
| project-id |  | Filter Private Networks by Project ID |
| ipam-ip-ids.{index} |  | Filter Private Networks by IPAM IP IDs |
| organization-id |  | Filter Private Networks by Organization ID |
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-3`, `all` | Zone to target. If none is passed will use default zone from the config |



### Set multiple Private Networks on a server

Configure multiple Private Networks on an Apple silicon server.

**Usage:**

```shell
scw apple-silicon private-network set [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| server-id | Required | ID of the server |
| per-private-network-ipam-ip-ids.{key} | Required | Object where the keys are the IDs of Private Networks and the values are arrays of IPAM IDs representing the IPs to assign to this Apple silicon server on the Private Network. If the array supplied for a Private Network is empty, the next available IP from the Private Network's CIDR block will automatically be used for attachment. |
| zone | Default: `fr-par-1`<br />One of: `fr-par-1`, `fr-par-3` | Zone to target. If none is passed will use default zone from the config |



## Runner management commands

Runner management commands.


### Create a new runner configuration

Create a new runner configuration.

**Usage:**

```shell
scw apple-silicon runner create [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| project-id |  | Project ID to use. If none is passed the default project ID will be used |
| runner-configuration.name |  |  |
| runner-configuration.provider | One of: `unknown_provider`, `github`, `gitlab` |  |
| runner-configuration.github-configuration.url |  |  |
| runner-configuration.github-configuration.token |  |  |
| runner-configuration.github-configuration.labels.{index} |  |  |
| runner-configuration.gitlab-configuration.url |  |  |
| runner-configuration.gitlab-configuration.token |  |  |
| zone | Default: `fr-par-1`<br />One of: `fr-par-3` | Zone to target. If none is passed will use default zone from the config |



### Create a new runner configuration

Create a new runner configuration.

**Usage:**

```shell
scw apple-silicon runner delete <runner-id ...> [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| runner-id | Required | ID of the runner configuration to delete |
| zone | Default: `fr-par-1`<br />One of: `fr-par-3` | Zone to target. If none is passed will use default zone from the config |



### Retrieve a runner configuration

Retrieve a runner configuration.

**Usage:**

```shell
scw apple-silicon runner get <runner-id ...> [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| runner-id | Required | ID of the runner configuration to get |
| zone | Default: `fr-par-1`<br />One of: `fr-par-3` | Zone to target. If none is passed will use default zone from the config |



### List runner configurations associated with a server

List runner configurations associated with a server.

**Usage:**

```shell
scw apple-silicon runner list <server-id ...> [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| server-id | Required | ID of the server for which to list applied runner configurations |
| project-id |  | Only list servers of this project ID |
| organization-id |  | Only list servers of this Organization ID |
| zone | Default: `fr-par-1`<br />One of: `fr-par-3`, `all` | Zone to target. If none is passed will use default zone from the config |



### Create a new runner configuration

Create a new runner configuration.

**Usage:**

```shell
scw apple-silicon runner update <runner-id ...> [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| runner-id | Required | ID of the runner configuration to update |
| runner-configuration.name |  |  |
| runner-configuration.provider | One of: `unknown_provider`, `github`, `gitlab` |  |
| runner-configuration.github-configuration.url |  |  |
| runner-configuration.github-configuration.token |  |  |
| runner-configuration.github-configuration.labels.{index} |  |  |
| runner-configuration.gitlab-configuration.url |  |  |
| runner-configuration.gitlab-configuration.token |  |  |
| zone | Default: `fr-par-1`<br />One of: `fr-par-3` | Zone to target. If none is passed will use default zone from the config |



## Apple silicon management commands

Apple silicon management commands.


### Create a server

Create a new server in the targeted zone, specifying its configuration including name and type.

**Usage:**

```shell
scw apple-silicon server create [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| name | Default: `<generated>` | Create a server with this given name |
| project-id |  | Project ID to use. If none is passed the default project ID will be used |
| type |  | Create a server of the given type |
| os-id |  | Create a server with the given os_id |
| enable-vpc |  | Activate the Private Network feature for this server |
| commitment-type | One of: `duration_24h`, `renewed_monthly`, `none` | Activate commitment for this server |
| public-bandwidth-bps |  | Public bandwidth to configure for this server. Expressed in bits per second. |
| runner-configuration.name |  |  |
| runner-configuration.url |  |  |
| runner-configuration.token |  |  |
| runner-configuration.provider | One of: `unknown_provider`, `github`, `gitlab` |  |
| applied-runner-configurations.runner-configuration-ids.{index} |  |  |
| enable-kext |  | Enable kernel extensions |
| zone | Default: `fr-par-1`<br />One of: `fr-par-3` | Zone to target. If none is passed will use default zone from the config |



### Delete a server

Delete an existing Apple silicon server, specified by its server ID. Deleting a server is permanent, and cannot be undone. Note that the minimum allocation period for Apple silicon-as-a-service is 24 hours, meaning you cannot delete your server prior to that.

**Usage:**

```shell
scw apple-silicon server delete <server-id ...> [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| server-id | Required | UUID of the server you want to delete |
| zone | Default: `fr-par-1`<br />One of: `fr-par-3` | Zone to target. If none is passed will use default zone from the config |



### Get a server

Retrieve information about an existing Apple silicon server, specified by its server ID. Its full details, including name, status and IP address, are returned in the response object.

**Usage:**

```shell
scw apple-silicon server get <server-id ...> [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| server-id | Required | UUID of the server you want to get |
| zone | Default: `fr-par-1`<br />One of: `fr-par-3` | Zone to target. If none is passed will use default zone from the config |



### List all servers

List all servers in the specified zone. By default, returned servers in the list are ordered by creation date in ascending order, though this can be modified via the `order_by` field.

**Usage:**

```shell
scw apple-silicon server list [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| order-by | One of: `created_at_asc`, `created_at_desc` | Sort order of the returned servers |
| project-id |  | Only list servers of this project ID |
| organization-id |  | Only list servers of this Organization ID |
| zone | Default: `fr-par-1`<br />One of: `fr-par-3`, `all` | Zone to target. If none is passed will use default zone from the config |



### Reboot a server

Reboot an existing Apple silicon server, specified by its server ID.

**Usage:**

```shell
scw apple-silicon server reboot <server-id ...> [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| server-id | Required | UUID of the server you want to reboot |
| zone | Default: `fr-par-1`<br />One of: `fr-par-3` | Zone to target. If none is passed will use default zone from the config |



### Reinstall a server

Reinstall an existing Apple silicon server (specified by its server ID) from a new image (OS). All the data on the disk is deleted and all configuration is reset to the default configuration values of the image (OS).

**Usage:**

```shell
scw apple-silicon server reinstall <server-id ...> [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| server-id | Required | UUID of the server you want to reinstall |
| os-id |  | Reinstall the server with the OS corresponding to the os_id |
| enable-kext |  | Enable kernel extensions |
| zone | Default: `fr-par-1`<br />One of: `fr-par-3` | Zone to target. If none is passed will use default zone from the config |



### SSH into a server

Connect to distant server via the SSH protocol.

**Usage:**

```shell
scw apple-silicon server ssh <server-id ...> [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| server-id | Required | Server ID to SSH into |
| username | Default: `m1` | Username used for the SSH connection |
| port | Default: `22` | Port used for the SSH connection |
| command |  | Command to execute on the remote server |
| zone | Default: `fr-par-1` | Zone to target. If none is passed will use default zone from the config |



### Update a server

Update the parameters of an existing Apple silicon server, specified by its server ID.

**Usage:**

```shell
scw apple-silicon server update <server-id ...> [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| server-id | Required | UUID of the server you want to update |
| name |  | Updated name for your server |
| schedule-deletion |  | Specify whether the server should be flagged for automatic deletion |
| enable-vpc |  | Activate or deactivate Private Network support for this server |
| commitment-type.commitment-type | One of: `duration_24h`, `renewed_monthly`, `none` |  |
| public-bandwidth-bps |  | Public bandwidth configured for this server |
| applied-runner-configurations.runner-configuration-ids.{index} |  |  |
| zone | Default: `fr-par-1`<br />One of: `fr-par-3` | Zone to target. If none is passed will use default zone from the config |



### Wait for a server to reach a stable state

Wait for server to reach a stable state. This is similar to using --wait flag on other action commands, but without requiring a new action on the server.

**Usage:**

```shell
scw apple-silicon server wait <server-id ...> [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| server-id | Required | ID of the server. |
| zone | Default: `fr-par-1` | Zone to target. If none is passed will use default zone from the config |
| timeout | Default: `1h0m0s` | Timeout of the wait |


**Examples:**


Wait for a server to reach a stable state
```shell
scw apple-silicon server wait 11111111-1111-1111-1111-111111111111
```




## Server-Types management commands

Server-Types management commands.


### Get a server type

Get technical details (CPU, disk size etc.) of a server type.

**Usage:**

```shell
scw apple-silicon server-type get <server-type ...> [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| server-type | Required | Server type identifier |
| zone | Default: `fr-par-1`<br />One of: `fr-par-3` | Zone to target. If none is passed will use default zone from the config |



### List server types

List all technical details about Apple silicon server types available in the specified zone. Since there is only one Availability Zone for Apple silicon servers, the targeted value is `fr-par-3`.

**Usage:**

```shell
scw apple-silicon server-type list [arg=value ...]
```


**Args:**

| Name |   | Description |
|------|---|-------------|
| zone | Default: `fr-par-1`<br />One of: `fr-par-3` | Zone to target. If none is passed will use default zone from the config |



