scaleway.applesilicon.v1alpha1 package

Submodules

scaleway.applesilicon.v1alpha1.api module

class scaleway.applesilicon.v1alpha1.api.ApplesiliconV1Alpha1API(client: Client, *, bypass_validation: bool = False)

Bases: API

This API allows you to manage your Apple silicon machines.

batch_create_servers(*, type_: str, enable_vpc: bool, public_bandwidth_bps: int, zone: str | None = None, project_id: str | None = None, os_id: str | None = None, commitment_type: CommitmentType | None = None, requests: List[BatchCreateServersRequestBatchInnerCreateServerRequest] | None = None) BatchCreateServersResponse

Create multiple servers atomically. Create multiple servers in the targeted zone specifying their configurations. If the request cannot entirely be fulfilled, no servers are created. :param type_: Create servers of the given type. :param enable_vpc: Activate the Private Network feature for these servers. This feature is configured through the Apple Silicon - Private Networks API. :param public_bandwidth_bps: Public bandwidth to configure for these servers. This defaults to the minimum bandwidth for the corresponding server type. For compatible server types, the bandwidth can be increased which incurs additional costs. :param zone: Zone to target. If none is passed will use default zone from the config. :param project_id: Create servers in the given project ID. :param os_id: Create servers & install the given os_id, when no os_id provided the default OS for this server type is chosen. Requesting a non-default OS will induce an extended delivery time. :param commitment_type: Activate commitment for these servers. If not specified, there is a 24h commitment due to Apple licensing (commitment_type duration_24h). It can be updated with the Update Server request. Available commitment depends on server type. :param requests: List of servers to create. :return: BatchCreateServersResponse

Usage:

result = api.batch_create_servers(
    type="example",
    enable_vpc=False,
    public_bandwidth_bps=1,
)
create_server(*, type_: str, enable_vpc: bool, public_bandwidth_bps: int, zone: str | None = None, name: str | None = None, project_id: str | None = None, os_id: str | None = None, commitment_type: CommitmentType | None = None) Server

Create a server. Create a new server in the targeted zone, specifying its configuration including name and type. :param type_: Create a server of the given type. :param enable_vpc: Activate the Private Network feature for this server. This feature is configured through the Apple Silicon - Private Networks API. :param public_bandwidth_bps: Public bandwidth to configure for this server. This defaults to the minimum bandwidth for this server type. For compatible server types, the bandwidth can be increased which incurs additional costs. :param zone: Zone to target. If none is passed will use default zone from the config. :param name: Create a server with this given name. :param project_id: Create a server in the given project ID. :param os_id: Create a server & install the given os_id, when no os_id provided the default OS for this server type is chosen. Requesting a non-default OS will induce an extended delivery time. :param commitment_type: Activate commitment for this server. If not specified, there is a 24h commitment due to Apple licensing (commitment_type duration_24h). It can be updated with the Update Server request. Available commitment depends on server type. :return: Server

Usage:

result = api.create_server(
    type="example",
    enable_vpc=False,
    public_bandwidth_bps=1,
)
delete_server(*, server_id: str, zone: str | None = None) None

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. :param server_id: UUID of the server you want to delete. :param zone: Zone to target. If none is passed will use default zone from the config.

Usage:

result = api.delete_server(
    server_id="example",
)
get_connectivity_diagnostic(*, diagnostic_id: str, zone: str | None = None) ConnectivityDiagnostic
Parameters:
  • diagnostic_id

  • zone – Zone to target. If none is passed will use default zone from the config.

Returns:

ConnectivityDiagnostic

Usage:

result = api.get_connectivity_diagnostic(
    diagnostic_id="example",
)
get_os(*, os_id: str, zone: str | None = None) OS

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. :param os_id: UUID of the OS you want to get. :param zone: Zone to target. If none is passed will use default zone from the config. :return: OS

Usage:

result = api.get_os(
    os_id="example",
)
get_server(*, server_id: str, zone: str | None = None) Server

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. :param server_id: UUID of the server you want to get. :param zone: Zone to target. If none is passed will use default zone from the config. :return: Server

Usage:

result = api.get_server(
    server_id="example",
)
get_server_type(*, server_type: str, zone: str | None = None) ServerType

Get a server type. Get technical details (CPU, disk size etc.) of a server type. :param server_type: Server type identifier. :param zone: Zone to target. If none is passed will use default zone from the config. :return: ServerType

Usage:

result = api.get_server_type(
    server_type="example",
)
list_os(*, zone: str | None = None, page: int | None = None, page_size: int | None = None, server_type: str | None = None, name: str | None = None) ListOSResponse

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. :param zone: Zone to target. If none is passed will use default zone from the config. :param page: Positive integer to choose the page to return. :param page_size: Positive integer lower or equal to 100 to select the number of items to return. :param server_type: List of compatible server types. :param name: Filter OS by name (note that “11.1” will return “11.1.2” and “11.1” but not “12”)). :return: ListOSResponse

Usage:

result = api.list_os()
list_os_all(*, zone: str | None = None, page: int | None = None, page_size: int | None = None, server_type: str | None = None, name: str | None = None) List[OS]

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. :param zone: Zone to target. If none is passed will use default zone from the config. :param page: Positive integer to choose the page to return. :param page_size: Positive integer lower or equal to 100 to select the number of items to return. :param server_type: List of compatible server types. :param name: Filter OS by name (note that “11.1” will return “11.1.2” and “11.1” but not “12”)). :return: List[OS]

Usage:

result = api.list_os_all()
list_server_types(*, zone: str | None = None) ListServerTypesResponse

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. :param zone: Zone to target. If none is passed will use default zone from the config. :return: ListServerTypesResponse

Usage:

result = api.list_server_types()
list_servers(*, zone: str | None = None, order_by: ListServersRequestOrderBy | None = None, project_id: str | None = None, organization_id: str | None = None, page: int | None = None, page_size: int | None = None) ListServersResponse

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. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Sort order of the returned servers. :param project_id: Only list servers of this project ID. :param organization_id: Only list servers of this Organization ID. :param page: Positive integer to choose the page to return. :param page_size: Positive integer lower or equal to 100 to select the number of items to return. :return: ListServersResponse

Usage:

result = api.list_servers()
list_servers_all(*, zone: str | None = None, order_by: ListServersRequestOrderBy | None = None, project_id: str | None = None, organization_id: str | None = None, page: int | None = None, page_size: int | None = None) List[Server]

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. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Sort order of the returned servers. :param project_id: Only list servers of this project ID. :param organization_id: Only list servers of this Organization ID. :param page: Positive integer to choose the page to return. :param page_size: Positive integer lower or equal to 100 to select the number of items to return. :return: List[Server]

Usage:

result = api.list_servers_all()
reboot_server(*, server_id: str, zone: str | None = None) Server

Reboot a server. Reboot an existing Apple silicon server, specified by its server ID. :param server_id: UUID of the server you want to reboot. :param zone: Zone to target. If none is passed will use default zone from the config. :return: Server

Usage:

result = api.reboot_server(
    server_id="example",
)
reinstall_server(*, server_id: str, zone: str | None = None, os_id: str | None = None) Server

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 defailt configuration values of the image (OS). :param server_id: UUID of the server you want to reinstall. :param zone: Zone to target. If none is passed will use default zone from the config. :param os_id: Reinstall the server with the target OS, when no os_id provided the default OS for the server type is used. :return: Server

Usage:

result = api.reinstall_server(
    server_id="example",
)
start_connectivity_diagnostic(*, server_id: str, zone: str | None = None) StartConnectivityDiagnosticResponse
Parameters:
  • server_id

  • zone – Zone to target. If none is passed will use default zone from the config.

Returns:

StartConnectivityDiagnosticResponse

Usage:

result = api.start_connectivity_diagnostic(
    server_id="example",
)
update_server(*, server_id: str, zone: str | None = None, name: str | None = None, schedule_deletion: bool | None = None, enable_vpc: bool | None = None, commitment_type: CommitmentTypeValue | None = None, public_bandwidth_bps: int | None = None) Server

Update a server. Update the parameters of an existing Apple silicon server, specified by its server ID. :param server_id: UUID of the server you want to update. :param zone: Zone to target. If none is passed will use default zone from the config. :param name: Updated name for your server. :param schedule_deletion: Specify whether the server should be flagged for automatic deletion. :param enable_vpc: Activate or deactivate Private Network support for this server. :param commitment_type: Change commitment. Use ‘none’ to automatically cancel a renewing commitment. :param public_bandwidth_bps: Public bandwidth to configure for this server. Setting an higher bandwidth incurs additional costs. Supported bandwidth levels depends on server type and can be queried using the /server-types endpoint. :return: Server

Usage:

result = api.update_server(
    server_id="example",
)
wait_for_server(*, server_id: str, zone: str | None = None, options: WaitForOptions[Server, bool] | None = None) Server

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. :param server_id: UUID of the server you want to get. :param zone: Zone to target. If none is passed will use default zone from the config. :return: Server

Usage:

result = api.get_server(
    server_id="example",
)
class scaleway.applesilicon.v1alpha1.api.ApplesiliconV1Alpha1PrivateNetworkAPI(client: Client, *, bypass_validation: bool = False)

Bases: API

Apple silicon - Private Networks API.

add_server_private_network(*, server_id: str, private_network_id: str, zone: str | None = None, ipam_ip_ids: List[str] | None = None) ServerPrivateNetwork

Add a server to a Private Network. Add an Apple silicon server to a Private Network. :param server_id: ID of the server. :param private_network_id: ID of the Private Network. :param zone: Zone to target. If none is passed will use default zone from the config. :param ipam_ip_ids: IPAM IDs of IPs to attach to the server. :return: ServerPrivateNetwork

Usage:

result = api.add_server_private_network(
    server_id="example",
    private_network_id="example",
)
delete_server_private_network(*, server_id: str, private_network_id: str, zone: str | None = None) None

Delete a Private Network. :param server_id: ID of the server. :param private_network_id: ID of the Private Network. :param zone: Zone to target. If none is passed will use default zone from the config.

Usage:

result = api.delete_server_private_network(
    server_id="example",
    private_network_id="example",
)
get_server_private_network(*, server_id: str, private_network_id: str, zone: str | None = None) ServerPrivateNetwork
Parameters:
  • server_id

  • private_network_id

  • zone – Zone to target. If none is passed will use default zone from the config.

Returns:

ServerPrivateNetwork

Usage:

result = api.get_server_private_network(
    server_id="example",
    private_network_id="example",
)
list_server_private_networks(*, zone: str | None = None, order_by: ListServerPrivateNetworksRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, server_id: str | None = None, private_network_id: str | None = None, organization_id: str | None = None, project_id: str | None = None, ipam_ip_ids: List[str] | None = None) ListServerPrivateNetworksResponse

List the Private Networks of a server. List the Private Networks of an Apple silicon server. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Sort order for the returned Private Networks. :param page: Page number for the returned Private Networks. :param page_size: Maximum number of Private Networks per page. :param server_id: Filter Private Networks by server ID. :param private_network_id: Filter Private Networks by Private Network ID. :param organization_id: Filter Private Networks by Organization ID. :param project_id: Filter Private Networks by Project ID. :param ipam_ip_ids: Filter Private Networks by IPAM IP IDs. :return: ListServerPrivateNetworksResponse

Usage:

result = api.list_server_private_networks()
list_server_private_networks_all(*, zone: str | None = None, order_by: ListServerPrivateNetworksRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, server_id: str | None = None, private_network_id: str | None = None, organization_id: str | None = None, project_id: str | None = None, ipam_ip_ids: List[str] | None = None) List[ServerPrivateNetwork]

List the Private Networks of a server. List the Private Networks of an Apple silicon server. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Sort order for the returned Private Networks. :param page: Page number for the returned Private Networks. :param page_size: Maximum number of Private Networks per page. :param server_id: Filter Private Networks by server ID. :param private_network_id: Filter Private Networks by Private Network ID. :param organization_id: Filter Private Networks by Organization ID. :param project_id: Filter Private Networks by Project ID. :param ipam_ip_ids: Filter Private Networks by IPAM IP IDs. :return: List[ServerPrivateNetwork]

Usage:

result = api.list_server_private_networks_all()
set_server_private_networks(*, server_id: str, per_private_network_ipam_ip_ids: Dict[str, List[str]], zone: str | None = None) SetServerPrivateNetworksResponse

Set multiple Private Networks on a server. Configure multiple Private Networks on an Apple silicon server. :param server_id: ID of the server. :param per_private_network_ipam_ip_ids: 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. :param zone: Zone to target. If none is passed will use default zone from the config. :return: SetServerPrivateNetworksResponse

Usage:

result = api.set_server_private_networks(
    server_id="example",
    per_private_network_ipam_ip_ids={},
)
wait_for_server_private_network(*, server_id: str, private_network_id: str, zone: str | None = None, options: WaitForOptions[ServerPrivateNetwork, bool] | None = None) ServerPrivateNetwork
Parameters:
  • server_id

  • private_network_id

  • zone – Zone to target. If none is passed will use default zone from the config.

Returns:

ServerPrivateNetwork

Usage:

result = api.get_server_private_network(
    server_id="example",
    private_network_id="example",
)

scaleway.applesilicon.v1alpha1.content module

scaleway.applesilicon.v1alpha1.content.SERVER_PRIVATE_NETWORK_SERVER_TRANSIENT_STATUSES: List[ServerPrivateNetworkServerStatus] = [<ServerPrivateNetworkServerStatus.ATTACHING: 'attaching'>, <ServerPrivateNetworkServerStatus.DETACHING: 'detaching'>]

Lists transient statutes of the enum ServerPrivateNetworkServerStatus.

scaleway.applesilicon.v1alpha1.content.SERVER_PRIVATE_NETWORK_TRANSIENT_STATUSES: List[ServerPrivateNetworkStatus] = [<ServerPrivateNetworkStatus.VPC_UPDATING: 'vpc_updating'>]

Lists transient statutes of the enum ServerPrivateNetworkStatus.

scaleway.applesilicon.v1alpha1.content.SERVER_TRANSIENT_STATUSES: List[ServerStatus] = [<ServerStatus.STARTING: 'starting'>, <ServerStatus.REBOOTING: 'rebooting'>, <ServerStatus.UPDATING: 'updating'>, <ServerStatus.LOCKING: 'locking'>, <ServerStatus.UNLOCKING: 'unlocking'>, <ServerStatus.REINSTALLING: 'reinstalling'>, <ServerStatus.BUSY: 'busy'>]

Lists transient statutes of the enum ServerStatus.

scaleway.applesilicon.v1alpha1.marshalling module

scaleway.applesilicon.v1alpha1.marshalling.marshal_BatchCreateServersRequest(request: BatchCreateServersRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway.applesilicon.v1alpha1.marshalling.marshal_BatchCreateServersRequestBatchInnerCreateServerRequest(request: BatchCreateServersRequestBatchInnerCreateServerRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway.applesilicon.v1alpha1.marshalling.marshal_CommitmentTypeValue(request: CommitmentTypeValue, defaults: ProfileDefaults) Dict[str, Any]
scaleway.applesilicon.v1alpha1.marshalling.marshal_CreateServerRequest(request: CreateServerRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway.applesilicon.v1alpha1.marshalling.marshal_PrivateNetworkApiAddServerPrivateNetworkRequest(request: PrivateNetworkApiAddServerPrivateNetworkRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway.applesilicon.v1alpha1.marshalling.marshal_PrivateNetworkApiSetServerPrivateNetworksRequest(request: PrivateNetworkApiSetServerPrivateNetworksRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway.applesilicon.v1alpha1.marshalling.marshal_ReinstallServerRequest(request: ReinstallServerRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway.applesilicon.v1alpha1.marshalling.marshal_StartConnectivityDiagnosticRequest(request: StartConnectivityDiagnosticRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway.applesilicon.v1alpha1.marshalling.marshal_UpdateServerRequest(request: UpdateServerRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway.applesilicon.v1alpha1.marshalling.unmarshal_BatchCreateServersResponse(data: Any) BatchCreateServersResponse
scaleway.applesilicon.v1alpha1.marshalling.unmarshal_Commitment(data: Any) Commitment
scaleway.applesilicon.v1alpha1.marshalling.unmarshal_ConnectivityDiagnostic(data: Any) ConnectivityDiagnostic
scaleway.applesilicon.v1alpha1.marshalling.unmarshal_ConnectivityDiagnosticServerHealth(data: Any) ConnectivityDiagnosticServerHealth
scaleway.applesilicon.v1alpha1.marshalling.unmarshal_ListOSResponse(data: Any) ListOSResponse
scaleway.applesilicon.v1alpha1.marshalling.unmarshal_ListServerPrivateNetworksResponse(data: Any) ListServerPrivateNetworksResponse
scaleway.applesilicon.v1alpha1.marshalling.unmarshal_ListServerTypesResponse(data: Any) ListServerTypesResponse
scaleway.applesilicon.v1alpha1.marshalling.unmarshal_ListServersResponse(data: Any) ListServersResponse
scaleway.applesilicon.v1alpha1.marshalling.unmarshal_OS(data: Any) OS
scaleway.applesilicon.v1alpha1.marshalling.unmarshal_Server(data: Any) Server
scaleway.applesilicon.v1alpha1.marshalling.unmarshal_ServerPrivateNetwork(data: Any) ServerPrivateNetwork
scaleway.applesilicon.v1alpha1.marshalling.unmarshal_ServerType(data: Any) ServerType
scaleway.applesilicon.v1alpha1.marshalling.unmarshal_ServerTypeCPU(data: Any) ServerTypeCPU
scaleway.applesilicon.v1alpha1.marshalling.unmarshal_ServerTypeDisk(data: Any) ServerTypeDisk
scaleway.applesilicon.v1alpha1.marshalling.unmarshal_ServerTypeGPU(data: Any) ServerTypeGPU
scaleway.applesilicon.v1alpha1.marshalling.unmarshal_ServerTypeMemory(data: Any) ServerTypeMemory
scaleway.applesilicon.v1alpha1.marshalling.unmarshal_ServerTypeNetwork(data: Any) ServerTypeNetwork
scaleway.applesilicon.v1alpha1.marshalling.unmarshal_SetServerPrivateNetworksResponse(data: Any) SetServerPrivateNetworksResponse
scaleway.applesilicon.v1alpha1.marshalling.unmarshal_StartConnectivityDiagnosticResponse(data: Any) StartConnectivityDiagnosticResponse

scaleway.applesilicon.v1alpha1.types module

class scaleway.applesilicon.v1alpha1.types.BatchCreateServersRequest(type_: 'str', enable_vpc: 'bool', public_bandwidth_bps: 'int', zone: 'Optional[ScwZone]' = None, project_id: 'Optional[str]' = None, os_id: 'Optional[str]' = None, commitment_type: 'Optional[CommitmentType]' = <CommitmentType.DURATION_24H: 'duration_24h'>, requests: 'Optional[List[BatchCreateServersRequestBatchInnerCreateServerRequest]]' = <factory>)

Bases: object

commitment_type: CommitmentType | None = 'duration_24h'

Activate commitment for these servers. If not specified, there is a 24h commitment due to Apple licensing (commitment_type duration_24h). It can be updated with the Update Server request. Available commitment depends on server type.

enable_vpc: bool

Activate the Private Network feature for these servers. This feature is configured through the Apple Silicon - Private Networks API.

os_id: str | None = None

Create servers & install the given os_id, when no os_id provided the default OS for this server type is chosen. Requesting a non-default OS will induce an extended delivery time.

project_id: str | None = None

Create servers in the given project ID.

public_bandwidth_bps: int

Public bandwidth to configure for these servers. This defaults to the minimum bandwidth for the corresponding server type. For compatible server types, the bandwidth can be increased which incurs additional costs.

requests: List[BatchCreateServersRequestBatchInnerCreateServerRequest] | None

List of servers to create.

type_: str

Create servers of the given type.

zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.types.BatchCreateServersRequestBatchInnerCreateServerRequest(name: 'str')

Bases: object

name: str
class scaleway.applesilicon.v1alpha1.types.BatchCreateServersResponse(servers: 'List[Server]')

Bases: object

servers: List[Server]

List of created servers.

class scaleway.applesilicon.v1alpha1.types.Commitment(type_: 'CommitmentType', cancelled: 'bool')

Bases: object

cancelled: bool
type_: CommitmentType
class scaleway.applesilicon.v1alpha1.types.CommitmentType(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

DURATION_24H = 'duration_24h'
NONE = 'none'
RENEWED_MONTHLY = 'renewed_monthly'
class scaleway.applesilicon.v1alpha1.types.CommitmentTypeValue(commitment_type: 'CommitmentType')

Bases: object

commitment_type: CommitmentType
class scaleway.applesilicon.v1alpha1.types.ConnectivityDiagnostic(id: 'str', status: 'ConnectivityDiagnosticDiagnosticStatus', is_healthy: 'bool', supported_actions: 'List[ConnectivityDiagnosticActionType]', error_message: 'str', health_details: 'Optional[ConnectivityDiagnosticServerHealth]' = None)

Bases: object

error_message: str
health_details: ConnectivityDiagnosticServerHealth | None = None
id: str
is_healthy: bool
status: ConnectivityDiagnosticDiagnosticStatus
supported_actions: List[ConnectivityDiagnosticActionType]
class scaleway.applesilicon.v1alpha1.types.ConnectivityDiagnosticActionType(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

REBOOT_SERVER = 'reboot_server'
REINSTALL_SERVER = 'reinstall_server'
class scaleway.applesilicon.v1alpha1.types.ConnectivityDiagnosticDiagnosticStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

COMPLETED = 'completed'
ERROR = 'error'
PROCESSING = 'processing'
UNKNOWN_STATUS = 'unknown_status'
class scaleway.applesilicon.v1alpha1.types.ConnectivityDiagnosticServerHealth(is_server_alive: 'bool', is_agent_alive: 'bool', is_mdm_alive: 'bool', is_ssh_port_up: 'bool', is_vnc_port_up: 'bool', last_checkin_date: 'Optional[datetime]' = None)

Bases: object

is_agent_alive: bool
is_mdm_alive: bool
is_server_alive: bool
is_ssh_port_up: bool
is_vnc_port_up: bool
last_checkin_date: datetime | None = None
class scaleway.applesilicon.v1alpha1.types.CreateServerRequest(type_: 'str', enable_vpc: 'bool', public_bandwidth_bps: 'int', zone: 'Optional[ScwZone]' = None, name: 'Optional[str]' = None, project_id: 'Optional[str]' = None, os_id: 'Optional[str]' = None, commitment_type: 'Optional[CommitmentType]' = <CommitmentType.DURATION_24H: 'duration_24h'>)

Bases: object

commitment_type: CommitmentType | None = 'duration_24h'

Activate commitment for this server. If not specified, there is a 24h commitment due to Apple licensing (commitment_type duration_24h). It can be updated with the Update Server request. Available commitment depends on server type.

enable_vpc: bool

Activate the Private Network feature for this server. This feature is configured through the Apple Silicon - Private Networks API.

name: str | None = None

Create a server with this given name.

os_id: str | None = None

Create a server & install the given os_id, when no os_id provided the default OS for this server type is chosen. Requesting a non-default OS will induce an extended delivery time.

project_id: str | None = None

Create a server in the given project ID.

public_bandwidth_bps: int

Public bandwidth to configure for this server. This defaults to the minimum bandwidth for this server type. For compatible server types, the bandwidth can be increased which incurs additional costs.

type_: str

Create a server of the given type.

zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.types.DeleteServerRequest(server_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

server_id: str

UUID of the server you want to delete.

zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.types.GetConnectivityDiagnosticRequest(diagnostic_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

diagnostic_id: str
zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.types.GetOSRequest(os_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

os_id: str

UUID of the OS you want to get.

zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.types.GetServerRequest(server_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

server_id: str

UUID of the server you want to get.

zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.types.GetServerTypeRequest(server_type: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

server_type: str

Server type identifier.

zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.types.ListOSRequest(zone: 'Optional[ScwZone]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, server_type: 'Optional[str]' = None, name: 'Optional[str]' = None)

Bases: object

name: str | None = None

Filter OS by name (note that “11.1” will return “11.1.2” and “11.1” but not “12”)).

page: int | None = 0

Positive integer to choose the page to return.

page_size: int | None = 0

Positive integer lower or equal to 100 to select the number of items to return.

server_type: str | None = None

List of compatible server types.

zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.types.ListOSResponse(total_count: 'int', os: 'List[OS]')

Bases: object

os: List[OS]

List of OS.

total_count: int

Total number of OS.

class scaleway.applesilicon.v1alpha1.types.ListServerPrivateNetworksRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
UPDATED_AT_ASC = 'updated_at_asc'
UPDATED_AT_DESC = 'updated_at_desc'
class scaleway.applesilicon.v1alpha1.types.ListServerPrivateNetworksResponse(server_private_networks: 'List[ServerPrivateNetwork]', total_count: 'int')

Bases: object

server_private_networks: List[ServerPrivateNetwork]
total_count: int
class scaleway.applesilicon.v1alpha1.types.ListServerTypesRequest(zone: 'Optional[ScwZone]' = None)

Bases: object

zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.types.ListServerTypesResponse(server_types: 'List[ServerType]')

Bases: object

server_types: List[ServerType]

Available server types.

class scaleway.applesilicon.v1alpha1.types.ListServersRequest(zone: 'Optional[ScwZone]' = None, order_by: 'Optional[ListServersRequestOrderBy]' = <ListServersRequestOrderBy.CREATED_AT_ASC: 'created_at_asc'>, project_id: 'Optional[str]' = None, organization_id: 'Optional[str]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0)

Bases: object

order_by: ListServersRequestOrderBy | None = 'created_at_asc'

Sort order of the returned servers.

organization_id: str | None = None

Only list servers of this Organization ID.

page: int | None = 0

Positive integer to choose the page to return.

page_size: int | None = 0

Positive integer lower or equal to 100 to select the number of items to return.

project_id: str | None = None

Only list servers of this project ID.

zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.types.ListServersRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway.applesilicon.v1alpha1.types.ListServersResponse(total_count: 'int', servers: 'List[Server]')

Bases: object

servers: List[Server]

Paginated returned servers.

total_count: int

Total number of servers.

class scaleway.applesilicon.v1alpha1.types.OS(id: 'str', name: 'str', label: 'str', image_url: 'str', family: 'str', is_beta: 'bool', version: 'str', xcode_version: 'str', compatible_server_types: 'List[str]')

Bases: object

compatible_server_types: List[str]

List of compatible server types.

family: str

The OS family to which this OS belongs, eg. 13 or 14.

id: str

Unique ID of the OS.

image_url: str

URL of the image.

is_beta: bool

Describes if the OS is in beta.

label: str

OS name as it should be displayed.

name: str

OS name.

version: str

The OS version number, eg. Sonoma has version number 14.3.

xcode_version: str

The current xcode version for this OS.

class scaleway.applesilicon.v1alpha1.types.PrivateNetworkApiAddServerPrivateNetworkRequest(server_id: 'str', private_network_id: 'str', zone: 'Optional[ScwZone]' = None, ipam_ip_ids: 'Optional[List[str]]' = <factory>)

Bases: object

ipam_ip_ids: List[str] | None

IPAM IDs of IPs to attach to the server.

private_network_id: str

ID of the Private Network.

server_id: str

ID of the server.

zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.types.PrivateNetworkApiDeleteServerPrivateNetworkRequest(server_id: 'str', private_network_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

private_network_id: str

ID of the Private Network.

server_id: str

ID of the server.

zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.types.PrivateNetworkApiGetServerPrivateNetworkRequest(server_id: 'str', private_network_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

private_network_id: str
server_id: str
zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.types.PrivateNetworkApiListServerPrivateNetworksRequest(zone: 'Optional[ScwZone]' = None, order_by: 'Optional[ListServerPrivateNetworksRequestOrderBy]' = <ListServerPrivateNetworksRequestOrderBy.CREATED_AT_ASC: 'created_at_asc'>, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, server_id: 'Optional[str]' = None, private_network_id: 'Optional[str]' = None, organization_id: 'Optional[str]' = None, project_id: 'Optional[str]' = None, ipam_ip_ids: 'Optional[List[str]]' = <factory>)

Bases: object

ipam_ip_ids: List[str] | None

Filter Private Networks by IPAM IP IDs.

order_by: ListServerPrivateNetworksRequestOrderBy | None = 'created_at_asc'

Sort order for the returned Private Networks.

organization_id: str | None = None

Filter Private Networks by Organization ID.

page: int | None = 0

Page number for the returned Private Networks.

page_size: int | None = 0

Maximum number of Private Networks per page.

private_network_id: str | None = None

Filter Private Networks by Private Network ID.

project_id: str | None = None

Filter Private Networks by Project ID.

server_id: str | None = None

Filter Private Networks by server ID.

zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.types.PrivateNetworkApiSetServerPrivateNetworksRequest(server_id: 'str', per_private_network_ipam_ip_ids: 'Dict[str, List[str]]', zone: 'Optional[ScwZone]' = None)

Bases: object

per_private_network_ipam_ip_ids: Dict[str, List[str]]

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.

server_id: str

ID of the server.

zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.types.RebootServerRequest(server_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

server_id: str

UUID of the server you want to reboot.

zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.types.ReinstallServerRequest(server_id: 'str', zone: 'Optional[ScwZone]' = None, os_id: 'Optional[str]' = None)

Bases: object

os_id: str | None = None

Reinstall the server with the target OS, when no os_id provided the default OS for the server type is used.

server_id: str

UUID of the server you want to reinstall.

zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.types.Server(id: 'str', type_: 'str', name: 'str', project_id: 'str', organization_id: 'str', ip: 'str', vnc_url: 'str', ssh_username: 'str', sudo_password: 'str', vnc_port: 'int', status: 'ServerStatus', deletion_scheduled: 'bool', zone: 'ScwZone', delivered: 'bool', vpc_status: 'ServerPrivateNetworkStatus', public_bandwidth_bps: 'int', os: 'Optional[OS]' = None, created_at: 'Optional[datetime]' = None, updated_at: 'Optional[datetime]' = None, deletable_at: 'Optional[datetime]' = None, commitment: 'Optional[Commitment]' = None)

Bases: object

commitment: Commitment | None = None

Commitment scheme applied to this server.

created_at: datetime | None = None

Date on which the server was created.

deletable_at: datetime | None = None

Date from which the server can be deleted.

deletion_scheduled: bool

Set to true to mark the server for automatic deletion depending on deletable_at date. Set to false to cancel an existing deletion schedule. Leave unset otherwise.

delivered: bool

Set to true once the server has completed its provisioning steps and is ready to use. Some OS configurations might require a reinstallation of the server before delivery depending on the available stock. A reinstallation after the initial delivery will not change this flag and can be tracked using the server status.

id: str

UUID of the server.

ip: str

IPv4 address of the server.

name: str

Name of the server.

organization_id: str

Organization this server is associated with.

os: OS | None = None

Initially installed OS, this does not necessarily reflect the current OS version.

project_id: str

Project this server is associated with.

public_bandwidth_bps: int

Public bandwidth configured for this server. Expressed in bits per second.

ssh_username: str

SSH Username for remote shell.

status: ServerStatus

Current status of the server.

sudo_password: str

Admin password required to execute commands.

type_: str

Type of the server.

updated_at: datetime | None = None

Date on which the server was last updated.

vnc_port: int

VNC port to use for remote desktop connection.

vnc_url: str

Vnc:// URL to access Apple Remote Desktop.

vpc_status: ServerPrivateNetworkStatus

Activation status of optional Private Network feature support for this server.

zone: str

Zone of the server.

class scaleway.applesilicon.v1alpha1.types.ServerPrivateNetwork(id: 'str', project_id: 'str', server_id: 'str', private_network_id: 'str', status: 'ServerPrivateNetworkServerStatus', ipam_ip_ids: 'List[str]', vlan: 'Optional[int]' = 0, created_at: 'Optional[datetime]' = None, updated_at: 'Optional[datetime]' = None)

Bases: object

created_at: datetime | None = None

Private Network creation date.

id: str

ID of the Server-to-Private Network mapping.

ipam_ip_ids: List[str]

IPAM IP IDs of the server, if it has any.

private_network_id: str

Private Network ID.

project_id: str

Private Network Project ID.

server_id: str

Apple silicon server ID.

status: ServerPrivateNetworkServerStatus

Configuration status of the Private Network.

updated_at: datetime | None = None

Date the Private Network was last modified.

vlan: int | None = 0

ID of the VLAN associated with the Private Network.

class scaleway.applesilicon.v1alpha1.types.ServerPrivateNetworkServerStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

ATTACHED = 'attached'
ATTACHING = 'attaching'
DETACHING = 'detaching'
ERROR = 'error'
LOCKED = 'locked'
UNKNOWN_STATUS = 'unknown_status'
class scaleway.applesilicon.v1alpha1.types.ServerPrivateNetworkStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

VPC_DISABLED = 'vpc_disabled'
VPC_ENABLED = 'vpc_enabled'
VPC_UNKNOWN_STATUS = 'vpc_unknown_status'
VPC_UPDATING = 'vpc_updating'
class scaleway.applesilicon.v1alpha1.types.ServerStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

BUSY = 'busy'
ERROR = 'error'
LOCKED = 'locked'
LOCKING = 'locking'
READY = 'ready'
REBOOTING = 'rebooting'
REINSTALLING = 'reinstalling'
STARTING = 'starting'
UNKNOWN_STATUS = 'unknown_status'
UNLOCKING = 'unlocking'
UPDATING = 'updating'
class scaleway.applesilicon.v1alpha1.types.ServerType(name: 'str', stock: 'ServerTypeStock', cpu: 'Optional[ServerTypeCPU]' = None, disk: 'Optional[ServerTypeDisk]' = None, memory: 'Optional[ServerTypeMemory]' = None, minimum_lease_duration: 'Optional[str]' = None, gpu: 'Optional[ServerTypeGPU]' = None, network: 'Optional[ServerTypeNetwork]' = None, default_os: 'Optional[OS]' = None)

Bases: object

cpu: ServerTypeCPU | None = None

CPU description.

default_os: OS | None = None

The default OS for this server type.

disk: ServerTypeDisk | None = None

Size of the local disk of the server.

gpu: ServerTypeGPU | None = None

GPU description.

memory: ServerTypeMemory | None = None

Size of memory available.

minimum_lease_duration: str | None = None

Minimum duration of the lease in seconds (example. 3.4s).

name: str

Name of the type.

network: ServerTypeNetwork | None = None

Network description.

stock: ServerTypeStock

Current stock.

class scaleway.applesilicon.v1alpha1.types.ServerTypeCPU(name: 'str', core_count: 'int', frequency: 'int')

Bases: object

core_count: int
frequency: int
name: str
class scaleway.applesilicon.v1alpha1.types.ServerTypeDisk(capacity: 'int', type_: 'str')

Bases: object

capacity: int
type_: str
class scaleway.applesilicon.v1alpha1.types.ServerTypeGPU(count: 'int')

Bases: object

count: int
class scaleway.applesilicon.v1alpha1.types.ServerTypeMemory(capacity: 'int', type_: 'str')

Bases: object

capacity: int
type_: str
class scaleway.applesilicon.v1alpha1.types.ServerTypeNetwork(public_bandwidth_bps: 'int', supported_bandwidth: 'List[int]')

Bases: object

public_bandwidth_bps: int
supported_bandwidth: List[int]
class scaleway.applesilicon.v1alpha1.types.ServerTypeStock(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

HIGH_STOCK = 'high_stock'
LOW_STOCK = 'low_stock'
NO_STOCK = 'no_stock'
UNKNOWN_STOCK = 'unknown_stock'
class scaleway.applesilicon.v1alpha1.types.SetServerPrivateNetworksResponse(server_private_networks: 'List[ServerPrivateNetwork]')

Bases: object

server_private_networks: List[ServerPrivateNetwork]
class scaleway.applesilicon.v1alpha1.types.StartConnectivityDiagnosticRequest(server_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

server_id: str
zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.types.StartConnectivityDiagnosticResponse(diagnostic_id: 'str')

Bases: object

diagnostic_id: str
class scaleway.applesilicon.v1alpha1.types.UpdateServerRequest(server_id: 'str', zone: 'Optional[ScwZone]' = None, name: 'Optional[str]' = None, schedule_deletion: 'Optional[bool]' = False, enable_vpc: 'Optional[bool]' = False, commitment_type: 'Optional[CommitmentTypeValue]' = None, public_bandwidth_bps: 'Optional[int]' = 0)

Bases: object

commitment_type: CommitmentTypeValue | None = None

Change commitment. Use ‘none’ to automatically cancel a renewing commitment.

enable_vpc: bool | None = False

Activate or deactivate Private Network support for this server.

name: str | None = None

Updated name for your server.

public_bandwidth_bps: int | None = 0

Public bandwidth to configure for this server. Setting an higher bandwidth incurs additional costs. Supported bandwidth levels depends on server type and can be queried using the /server-types endpoint.

schedule_deletion: bool | None = False

Specify whether the server should be flagged for automatic deletion.

server_id: str

UUID of the server you want to update.

zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

Module contents

class scaleway.applesilicon.v1alpha1.ApplesiliconV1Alpha1API(client: Client, *, bypass_validation: bool = False)

Bases: API

This API allows you to manage your Apple silicon machines.

batch_create_servers(*, type_: str, enable_vpc: bool, public_bandwidth_bps: int, zone: str | None = None, project_id: str | None = None, os_id: str | None = None, commitment_type: CommitmentType | None = None, requests: List[BatchCreateServersRequestBatchInnerCreateServerRequest] | None = None) BatchCreateServersResponse

Create multiple servers atomically. Create multiple servers in the targeted zone specifying their configurations. If the request cannot entirely be fulfilled, no servers are created. :param type_: Create servers of the given type. :param enable_vpc: Activate the Private Network feature for these servers. This feature is configured through the Apple Silicon - Private Networks API. :param public_bandwidth_bps: Public bandwidth to configure for these servers. This defaults to the minimum bandwidth for the corresponding server type. For compatible server types, the bandwidth can be increased which incurs additional costs. :param zone: Zone to target. If none is passed will use default zone from the config. :param project_id: Create servers in the given project ID. :param os_id: Create servers & install the given os_id, when no os_id provided the default OS for this server type is chosen. Requesting a non-default OS will induce an extended delivery time. :param commitment_type: Activate commitment for these servers. If not specified, there is a 24h commitment due to Apple licensing (commitment_type duration_24h). It can be updated with the Update Server request. Available commitment depends on server type. :param requests: List of servers to create. :return: BatchCreateServersResponse

Usage:

result = api.batch_create_servers(
    type="example",
    enable_vpc=False,
    public_bandwidth_bps=1,
)
create_server(*, type_: str, enable_vpc: bool, public_bandwidth_bps: int, zone: str | None = None, name: str | None = None, project_id: str | None = None, os_id: str | None = None, commitment_type: CommitmentType | None = None) Server

Create a server. Create a new server in the targeted zone, specifying its configuration including name and type. :param type_: Create a server of the given type. :param enable_vpc: Activate the Private Network feature for this server. This feature is configured through the Apple Silicon - Private Networks API. :param public_bandwidth_bps: Public bandwidth to configure for this server. This defaults to the minimum bandwidth for this server type. For compatible server types, the bandwidth can be increased which incurs additional costs. :param zone: Zone to target. If none is passed will use default zone from the config. :param name: Create a server with this given name. :param project_id: Create a server in the given project ID. :param os_id: Create a server & install the given os_id, when no os_id provided the default OS for this server type is chosen. Requesting a non-default OS will induce an extended delivery time. :param commitment_type: Activate commitment for this server. If not specified, there is a 24h commitment due to Apple licensing (commitment_type duration_24h). It can be updated with the Update Server request. Available commitment depends on server type. :return: Server

Usage:

result = api.create_server(
    type="example",
    enable_vpc=False,
    public_bandwidth_bps=1,
)
delete_server(*, server_id: str, zone: str | None = None) None

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. :param server_id: UUID of the server you want to delete. :param zone: Zone to target. If none is passed will use default zone from the config.

Usage:

result = api.delete_server(
    server_id="example",
)
get_connectivity_diagnostic(*, diagnostic_id: str, zone: str | None = None) ConnectivityDiagnostic
Parameters:
  • diagnostic_id

  • zone – Zone to target. If none is passed will use default zone from the config.

Returns:

ConnectivityDiagnostic

Usage:

result = api.get_connectivity_diagnostic(
    diagnostic_id="example",
)
get_os(*, os_id: str, zone: str | None = None) OS

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. :param os_id: UUID of the OS you want to get. :param zone: Zone to target. If none is passed will use default zone from the config. :return: OS

Usage:

result = api.get_os(
    os_id="example",
)
get_server(*, server_id: str, zone: str | None = None) Server

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. :param server_id: UUID of the server you want to get. :param zone: Zone to target. If none is passed will use default zone from the config. :return: Server

Usage:

result = api.get_server(
    server_id="example",
)
get_server_type(*, server_type: str, zone: str | None = None) ServerType

Get a server type. Get technical details (CPU, disk size etc.) of a server type. :param server_type: Server type identifier. :param zone: Zone to target. If none is passed will use default zone from the config. :return: ServerType

Usage:

result = api.get_server_type(
    server_type="example",
)
list_os(*, zone: str | None = None, page: int | None = None, page_size: int | None = None, server_type: str | None = None, name: str | None = None) ListOSResponse

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. :param zone: Zone to target. If none is passed will use default zone from the config. :param page: Positive integer to choose the page to return. :param page_size: Positive integer lower or equal to 100 to select the number of items to return. :param server_type: List of compatible server types. :param name: Filter OS by name (note that “11.1” will return “11.1.2” and “11.1” but not “12”)). :return: ListOSResponse

Usage:

result = api.list_os()
list_os_all(*, zone: str | None = None, page: int | None = None, page_size: int | None = None, server_type: str | None = None, name: str | None = None) List[OS]

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. :param zone: Zone to target. If none is passed will use default zone from the config. :param page: Positive integer to choose the page to return. :param page_size: Positive integer lower or equal to 100 to select the number of items to return. :param server_type: List of compatible server types. :param name: Filter OS by name (note that “11.1” will return “11.1.2” and “11.1” but not “12”)). :return: List[OS]

Usage:

result = api.list_os_all()
list_server_types(*, zone: str | None = None) ListServerTypesResponse

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. :param zone: Zone to target. If none is passed will use default zone from the config. :return: ListServerTypesResponse

Usage:

result = api.list_server_types()
list_servers(*, zone: str | None = None, order_by: ListServersRequestOrderBy | None = None, project_id: str | None = None, organization_id: str | None = None, page: int | None = None, page_size: int | None = None) ListServersResponse

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. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Sort order of the returned servers. :param project_id: Only list servers of this project ID. :param organization_id: Only list servers of this Organization ID. :param page: Positive integer to choose the page to return. :param page_size: Positive integer lower or equal to 100 to select the number of items to return. :return: ListServersResponse

Usage:

result = api.list_servers()
list_servers_all(*, zone: str | None = None, order_by: ListServersRequestOrderBy | None = None, project_id: str | None = None, organization_id: str | None = None, page: int | None = None, page_size: int | None = None) List[Server]

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. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Sort order of the returned servers. :param project_id: Only list servers of this project ID. :param organization_id: Only list servers of this Organization ID. :param page: Positive integer to choose the page to return. :param page_size: Positive integer lower or equal to 100 to select the number of items to return. :return: List[Server]

Usage:

result = api.list_servers_all()
reboot_server(*, server_id: str, zone: str | None = None) Server

Reboot a server. Reboot an existing Apple silicon server, specified by its server ID. :param server_id: UUID of the server you want to reboot. :param zone: Zone to target. If none is passed will use default zone from the config. :return: Server

Usage:

result = api.reboot_server(
    server_id="example",
)
reinstall_server(*, server_id: str, zone: str | None = None, os_id: str | None = None) Server

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 defailt configuration values of the image (OS). :param server_id: UUID of the server you want to reinstall. :param zone: Zone to target. If none is passed will use default zone from the config. :param os_id: Reinstall the server with the target OS, when no os_id provided the default OS for the server type is used. :return: Server

Usage:

result = api.reinstall_server(
    server_id="example",
)
start_connectivity_diagnostic(*, server_id: str, zone: str | None = None) StartConnectivityDiagnosticResponse
Parameters:
  • server_id

  • zone – Zone to target. If none is passed will use default zone from the config.

Returns:

StartConnectivityDiagnosticResponse

Usage:

result = api.start_connectivity_diagnostic(
    server_id="example",
)
update_server(*, server_id: str, zone: str | None = None, name: str | None = None, schedule_deletion: bool | None = None, enable_vpc: bool | None = None, commitment_type: CommitmentTypeValue | None = None, public_bandwidth_bps: int | None = None) Server

Update a server. Update the parameters of an existing Apple silicon server, specified by its server ID. :param server_id: UUID of the server you want to update. :param zone: Zone to target. If none is passed will use default zone from the config. :param name: Updated name for your server. :param schedule_deletion: Specify whether the server should be flagged for automatic deletion. :param enable_vpc: Activate or deactivate Private Network support for this server. :param commitment_type: Change commitment. Use ‘none’ to automatically cancel a renewing commitment. :param public_bandwidth_bps: Public bandwidth to configure for this server. Setting an higher bandwidth incurs additional costs. Supported bandwidth levels depends on server type and can be queried using the /server-types endpoint. :return: Server

Usage:

result = api.update_server(
    server_id="example",
)
wait_for_server(*, server_id: str, zone: str | None = None, options: WaitForOptions[Server, bool] | None = None) Server

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. :param server_id: UUID of the server you want to get. :param zone: Zone to target. If none is passed will use default zone from the config. :return: Server

Usage:

result = api.get_server(
    server_id="example",
)
class scaleway.applesilicon.v1alpha1.ApplesiliconV1Alpha1PrivateNetworkAPI(client: Client, *, bypass_validation: bool = False)

Bases: API

Apple silicon - Private Networks API.

add_server_private_network(*, server_id: str, private_network_id: str, zone: str | None = None, ipam_ip_ids: List[str] | None = None) ServerPrivateNetwork

Add a server to a Private Network. Add an Apple silicon server to a Private Network. :param server_id: ID of the server. :param private_network_id: ID of the Private Network. :param zone: Zone to target. If none is passed will use default zone from the config. :param ipam_ip_ids: IPAM IDs of IPs to attach to the server. :return: ServerPrivateNetwork

Usage:

result = api.add_server_private_network(
    server_id="example",
    private_network_id="example",
)
delete_server_private_network(*, server_id: str, private_network_id: str, zone: str | None = None) None

Delete a Private Network. :param server_id: ID of the server. :param private_network_id: ID of the Private Network. :param zone: Zone to target. If none is passed will use default zone from the config.

Usage:

result = api.delete_server_private_network(
    server_id="example",
    private_network_id="example",
)
get_server_private_network(*, server_id: str, private_network_id: str, zone: str | None = None) ServerPrivateNetwork
Parameters:
  • server_id

  • private_network_id

  • zone – Zone to target. If none is passed will use default zone from the config.

Returns:

ServerPrivateNetwork

Usage:

result = api.get_server_private_network(
    server_id="example",
    private_network_id="example",
)
list_server_private_networks(*, zone: str | None = None, order_by: ListServerPrivateNetworksRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, server_id: str | None = None, private_network_id: str | None = None, organization_id: str | None = None, project_id: str | None = None, ipam_ip_ids: List[str] | None = None) ListServerPrivateNetworksResponse

List the Private Networks of a server. List the Private Networks of an Apple silicon server. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Sort order for the returned Private Networks. :param page: Page number for the returned Private Networks. :param page_size: Maximum number of Private Networks per page. :param server_id: Filter Private Networks by server ID. :param private_network_id: Filter Private Networks by Private Network ID. :param organization_id: Filter Private Networks by Organization ID. :param project_id: Filter Private Networks by Project ID. :param ipam_ip_ids: Filter Private Networks by IPAM IP IDs. :return: ListServerPrivateNetworksResponse

Usage:

result = api.list_server_private_networks()
list_server_private_networks_all(*, zone: str | None = None, order_by: ListServerPrivateNetworksRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, server_id: str | None = None, private_network_id: str | None = None, organization_id: str | None = None, project_id: str | None = None, ipam_ip_ids: List[str] | None = None) List[ServerPrivateNetwork]

List the Private Networks of a server. List the Private Networks of an Apple silicon server. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Sort order for the returned Private Networks. :param page: Page number for the returned Private Networks. :param page_size: Maximum number of Private Networks per page. :param server_id: Filter Private Networks by server ID. :param private_network_id: Filter Private Networks by Private Network ID. :param organization_id: Filter Private Networks by Organization ID. :param project_id: Filter Private Networks by Project ID. :param ipam_ip_ids: Filter Private Networks by IPAM IP IDs. :return: List[ServerPrivateNetwork]

Usage:

result = api.list_server_private_networks_all()
set_server_private_networks(*, server_id: str, per_private_network_ipam_ip_ids: Dict[str, List[str]], zone: str | None = None) SetServerPrivateNetworksResponse

Set multiple Private Networks on a server. Configure multiple Private Networks on an Apple silicon server. :param server_id: ID of the server. :param per_private_network_ipam_ip_ids: 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. :param zone: Zone to target. If none is passed will use default zone from the config. :return: SetServerPrivateNetworksResponse

Usage:

result = api.set_server_private_networks(
    server_id="example",
    per_private_network_ipam_ip_ids={},
)
wait_for_server_private_network(*, server_id: str, private_network_id: str, zone: str | None = None, options: WaitForOptions[ServerPrivateNetwork, bool] | None = None) ServerPrivateNetwork
Parameters:
  • server_id

  • private_network_id

  • zone – Zone to target. If none is passed will use default zone from the config.

Returns:

ServerPrivateNetwork

Usage:

result = api.get_server_private_network(
    server_id="example",
    private_network_id="example",
)
class scaleway.applesilicon.v1alpha1.BatchCreateServersRequest(type_: 'str', enable_vpc: 'bool', public_bandwidth_bps: 'int', zone: 'Optional[ScwZone]' = None, project_id: 'Optional[str]' = None, os_id: 'Optional[str]' = None, commitment_type: 'Optional[CommitmentType]' = <CommitmentType.DURATION_24H: 'duration_24h'>, requests: 'Optional[List[BatchCreateServersRequestBatchInnerCreateServerRequest]]' = <factory>)

Bases: object

commitment_type: CommitmentType | None = 'duration_24h'

Activate commitment for these servers. If not specified, there is a 24h commitment due to Apple licensing (commitment_type duration_24h). It can be updated with the Update Server request. Available commitment depends on server type.

enable_vpc: bool

Activate the Private Network feature for these servers. This feature is configured through the Apple Silicon - Private Networks API.

os_id: str | None = None

Create servers & install the given os_id, when no os_id provided the default OS for this server type is chosen. Requesting a non-default OS will induce an extended delivery time.

project_id: str | None = None

Create servers in the given project ID.

public_bandwidth_bps: int

Public bandwidth to configure for these servers. This defaults to the minimum bandwidth for the corresponding server type. For compatible server types, the bandwidth can be increased which incurs additional costs.

requests: List[BatchCreateServersRequestBatchInnerCreateServerRequest] | None

List of servers to create.

type_: str

Create servers of the given type.

zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.BatchCreateServersRequestBatchInnerCreateServerRequest(name: 'str')

Bases: object

name: str
class scaleway.applesilicon.v1alpha1.BatchCreateServersResponse(servers: 'List[Server]')

Bases: object

servers: List[Server]

List of created servers.

class scaleway.applesilicon.v1alpha1.Commitment(type_: 'CommitmentType', cancelled: 'bool')

Bases: object

cancelled: bool
type_: CommitmentType
class scaleway.applesilicon.v1alpha1.CommitmentType(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

DURATION_24H = 'duration_24h'
NONE = 'none'
RENEWED_MONTHLY = 'renewed_monthly'
class scaleway.applesilicon.v1alpha1.CommitmentTypeValue(commitment_type: 'CommitmentType')

Bases: object

commitment_type: CommitmentType
class scaleway.applesilicon.v1alpha1.ConnectivityDiagnostic(id: 'str', status: 'ConnectivityDiagnosticDiagnosticStatus', is_healthy: 'bool', supported_actions: 'List[ConnectivityDiagnosticActionType]', error_message: 'str', health_details: 'Optional[ConnectivityDiagnosticServerHealth]' = None)

Bases: object

error_message: str
health_details: ConnectivityDiagnosticServerHealth | None = None
id: str
is_healthy: bool
status: ConnectivityDiagnosticDiagnosticStatus
supported_actions: List[ConnectivityDiagnosticActionType]
class scaleway.applesilicon.v1alpha1.ConnectivityDiagnosticActionType(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

REBOOT_SERVER = 'reboot_server'
REINSTALL_SERVER = 'reinstall_server'
class scaleway.applesilicon.v1alpha1.ConnectivityDiagnosticDiagnosticStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

COMPLETED = 'completed'
ERROR = 'error'
PROCESSING = 'processing'
UNKNOWN_STATUS = 'unknown_status'
class scaleway.applesilicon.v1alpha1.ConnectivityDiagnosticServerHealth(is_server_alive: 'bool', is_agent_alive: 'bool', is_mdm_alive: 'bool', is_ssh_port_up: 'bool', is_vnc_port_up: 'bool', last_checkin_date: 'Optional[datetime]' = None)

Bases: object

is_agent_alive: bool
is_mdm_alive: bool
is_server_alive: bool
is_ssh_port_up: bool
is_vnc_port_up: bool
last_checkin_date: datetime | None = None
class scaleway.applesilicon.v1alpha1.CreateServerRequest(type_: 'str', enable_vpc: 'bool', public_bandwidth_bps: 'int', zone: 'Optional[ScwZone]' = None, name: 'Optional[str]' = None, project_id: 'Optional[str]' = None, os_id: 'Optional[str]' = None, commitment_type: 'Optional[CommitmentType]' = <CommitmentType.DURATION_24H: 'duration_24h'>)

Bases: object

commitment_type: CommitmentType | None = 'duration_24h'

Activate commitment for this server. If not specified, there is a 24h commitment due to Apple licensing (commitment_type duration_24h). It can be updated with the Update Server request. Available commitment depends on server type.

enable_vpc: bool

Activate the Private Network feature for this server. This feature is configured through the Apple Silicon - Private Networks API.

name: str | None = None

Create a server with this given name.

os_id: str | None = None

Create a server & install the given os_id, when no os_id provided the default OS for this server type is chosen. Requesting a non-default OS will induce an extended delivery time.

project_id: str | None = None

Create a server in the given project ID.

public_bandwidth_bps: int

Public bandwidth to configure for this server. This defaults to the minimum bandwidth for this server type. For compatible server types, the bandwidth can be increased which incurs additional costs.

type_: str

Create a server of the given type.

zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.DeleteServerRequest(server_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

server_id: str

UUID of the server you want to delete.

zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.GetConnectivityDiagnosticRequest(diagnostic_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

diagnostic_id: str
zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.GetOSRequest(os_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

os_id: str

UUID of the OS you want to get.

zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.GetServerRequest(server_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

server_id: str

UUID of the server you want to get.

zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.GetServerTypeRequest(server_type: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

server_type: str

Server type identifier.

zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.ListOSRequest(zone: 'Optional[ScwZone]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, server_type: 'Optional[str]' = None, name: 'Optional[str]' = None)

Bases: object

name: str | None = None

Filter OS by name (note that “11.1” will return “11.1.2” and “11.1” but not “12”)).

page: int | None = 0

Positive integer to choose the page to return.

page_size: int | None = 0

Positive integer lower or equal to 100 to select the number of items to return.

server_type: str | None = None

List of compatible server types.

zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.ListOSResponse(total_count: 'int', os: 'List[OS]')

Bases: object

os: List[OS]

List of OS.

total_count: int

Total number of OS.

class scaleway.applesilicon.v1alpha1.ListServerPrivateNetworksRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
UPDATED_AT_ASC = 'updated_at_asc'
UPDATED_AT_DESC = 'updated_at_desc'
class scaleway.applesilicon.v1alpha1.ListServerPrivateNetworksResponse(server_private_networks: 'List[ServerPrivateNetwork]', total_count: 'int')

Bases: object

server_private_networks: List[ServerPrivateNetwork]
total_count: int
class scaleway.applesilicon.v1alpha1.ListServerTypesRequest(zone: 'Optional[ScwZone]' = None)

Bases: object

zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.ListServerTypesResponse(server_types: 'List[ServerType]')

Bases: object

server_types: List[ServerType]

Available server types.

class scaleway.applesilicon.v1alpha1.ListServersRequest(zone: 'Optional[ScwZone]' = None, order_by: 'Optional[ListServersRequestOrderBy]' = <ListServersRequestOrderBy.CREATED_AT_ASC: 'created_at_asc'>, project_id: 'Optional[str]' = None, organization_id: 'Optional[str]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0)

Bases: object

order_by: ListServersRequestOrderBy | None = 'created_at_asc'

Sort order of the returned servers.

organization_id: str | None = None

Only list servers of this Organization ID.

page: int | None = 0

Positive integer to choose the page to return.

page_size: int | None = 0

Positive integer lower or equal to 100 to select the number of items to return.

project_id: str | None = None

Only list servers of this project ID.

zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.ListServersRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway.applesilicon.v1alpha1.ListServersResponse(total_count: 'int', servers: 'List[Server]')

Bases: object

servers: List[Server]

Paginated returned servers.

total_count: int

Total number of servers.

class scaleway.applesilicon.v1alpha1.OS(id: 'str', name: 'str', label: 'str', image_url: 'str', family: 'str', is_beta: 'bool', version: 'str', xcode_version: 'str', compatible_server_types: 'List[str]')

Bases: object

compatible_server_types: List[str]

List of compatible server types.

family: str

The OS family to which this OS belongs, eg. 13 or 14.

id: str

Unique ID of the OS.

image_url: str

URL of the image.

is_beta: bool

Describes if the OS is in beta.

label: str

OS name as it should be displayed.

name: str

OS name.

version: str

The OS version number, eg. Sonoma has version number 14.3.

xcode_version: str

The current xcode version for this OS.

class scaleway.applesilicon.v1alpha1.PrivateNetworkApiAddServerPrivateNetworkRequest(server_id: 'str', private_network_id: 'str', zone: 'Optional[ScwZone]' = None, ipam_ip_ids: 'Optional[List[str]]' = <factory>)

Bases: object

ipam_ip_ids: List[str] | None

IPAM IDs of IPs to attach to the server.

private_network_id: str

ID of the Private Network.

server_id: str

ID of the server.

zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.PrivateNetworkApiDeleteServerPrivateNetworkRequest(server_id: 'str', private_network_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

private_network_id: str

ID of the Private Network.

server_id: str

ID of the server.

zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.PrivateNetworkApiGetServerPrivateNetworkRequest(server_id: 'str', private_network_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

private_network_id: str
server_id: str
zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.PrivateNetworkApiListServerPrivateNetworksRequest(zone: 'Optional[ScwZone]' = None, order_by: 'Optional[ListServerPrivateNetworksRequestOrderBy]' = <ListServerPrivateNetworksRequestOrderBy.CREATED_AT_ASC: 'created_at_asc'>, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, server_id: 'Optional[str]' = None, private_network_id: 'Optional[str]' = None, organization_id: 'Optional[str]' = None, project_id: 'Optional[str]' = None, ipam_ip_ids: 'Optional[List[str]]' = <factory>)

Bases: object

ipam_ip_ids: List[str] | None

Filter Private Networks by IPAM IP IDs.

order_by: ListServerPrivateNetworksRequestOrderBy | None = 'created_at_asc'

Sort order for the returned Private Networks.

organization_id: str | None = None

Filter Private Networks by Organization ID.

page: int | None = 0

Page number for the returned Private Networks.

page_size: int | None = 0

Maximum number of Private Networks per page.

private_network_id: str | None = None

Filter Private Networks by Private Network ID.

project_id: str | None = None

Filter Private Networks by Project ID.

server_id: str | None = None

Filter Private Networks by server ID.

zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.PrivateNetworkApiSetServerPrivateNetworksRequest(server_id: 'str', per_private_network_ipam_ip_ids: 'Dict[str, List[str]]', zone: 'Optional[ScwZone]' = None)

Bases: object

per_private_network_ipam_ip_ids: Dict[str, List[str]]

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.

server_id: str

ID of the server.

zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.RebootServerRequest(server_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

server_id: str

UUID of the server you want to reboot.

zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.ReinstallServerRequest(server_id: 'str', zone: 'Optional[ScwZone]' = None, os_id: 'Optional[str]' = None)

Bases: object

os_id: str | None = None

Reinstall the server with the target OS, when no os_id provided the default OS for the server type is used.

server_id: str

UUID of the server you want to reinstall.

zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.Server(id: 'str', type_: 'str', name: 'str', project_id: 'str', organization_id: 'str', ip: 'str', vnc_url: 'str', ssh_username: 'str', sudo_password: 'str', vnc_port: 'int', status: 'ServerStatus', deletion_scheduled: 'bool', zone: 'ScwZone', delivered: 'bool', vpc_status: 'ServerPrivateNetworkStatus', public_bandwidth_bps: 'int', os: 'Optional[OS]' = None, created_at: 'Optional[datetime]' = None, updated_at: 'Optional[datetime]' = None, deletable_at: 'Optional[datetime]' = None, commitment: 'Optional[Commitment]' = None)

Bases: object

commitment: Commitment | None = None

Commitment scheme applied to this server.

created_at: datetime | None = None

Date on which the server was created.

deletable_at: datetime | None = None

Date from which the server can be deleted.

deletion_scheduled: bool

Set to true to mark the server for automatic deletion depending on deletable_at date. Set to false to cancel an existing deletion schedule. Leave unset otherwise.

delivered: bool

Set to true once the server has completed its provisioning steps and is ready to use. Some OS configurations might require a reinstallation of the server before delivery depending on the available stock. A reinstallation after the initial delivery will not change this flag and can be tracked using the server status.

id: str

UUID of the server.

ip: str

IPv4 address of the server.

name: str

Name of the server.

organization_id: str

Organization this server is associated with.

os: OS | None = None

Initially installed OS, this does not necessarily reflect the current OS version.

project_id: str

Project this server is associated with.

public_bandwidth_bps: int

Public bandwidth configured for this server. Expressed in bits per second.

ssh_username: str

SSH Username for remote shell.

status: ServerStatus

Current status of the server.

sudo_password: str

Admin password required to execute commands.

type_: str

Type of the server.

updated_at: datetime | None = None

Date on which the server was last updated.

vnc_port: int

VNC port to use for remote desktop connection.

vnc_url: str

Vnc:// URL to access Apple Remote Desktop.

vpc_status: ServerPrivateNetworkStatus

Activation status of optional Private Network feature support for this server.

zone: str

Zone of the server.

class scaleway.applesilicon.v1alpha1.ServerPrivateNetwork(id: 'str', project_id: 'str', server_id: 'str', private_network_id: 'str', status: 'ServerPrivateNetworkServerStatus', ipam_ip_ids: 'List[str]', vlan: 'Optional[int]' = 0, created_at: 'Optional[datetime]' = None, updated_at: 'Optional[datetime]' = None)

Bases: object

created_at: datetime | None = None

Private Network creation date.

id: str

ID of the Server-to-Private Network mapping.

ipam_ip_ids: List[str]

IPAM IP IDs of the server, if it has any.

private_network_id: str

Private Network ID.

project_id: str

Private Network Project ID.

server_id: str

Apple silicon server ID.

status: ServerPrivateNetworkServerStatus

Configuration status of the Private Network.

updated_at: datetime | None = None

Date the Private Network was last modified.

vlan: int | None = 0

ID of the VLAN associated with the Private Network.

class scaleway.applesilicon.v1alpha1.ServerPrivateNetworkServerStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

ATTACHED = 'attached'
ATTACHING = 'attaching'
DETACHING = 'detaching'
ERROR = 'error'
LOCKED = 'locked'
UNKNOWN_STATUS = 'unknown_status'
class scaleway.applesilicon.v1alpha1.ServerPrivateNetworkStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

VPC_DISABLED = 'vpc_disabled'
VPC_ENABLED = 'vpc_enabled'
VPC_UNKNOWN_STATUS = 'vpc_unknown_status'
VPC_UPDATING = 'vpc_updating'
class scaleway.applesilicon.v1alpha1.ServerStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

BUSY = 'busy'
ERROR = 'error'
LOCKED = 'locked'
LOCKING = 'locking'
READY = 'ready'
REBOOTING = 'rebooting'
REINSTALLING = 'reinstalling'
STARTING = 'starting'
UNKNOWN_STATUS = 'unknown_status'
UNLOCKING = 'unlocking'
UPDATING = 'updating'
class scaleway.applesilicon.v1alpha1.ServerType(name: 'str', stock: 'ServerTypeStock', cpu: 'Optional[ServerTypeCPU]' = None, disk: 'Optional[ServerTypeDisk]' = None, memory: 'Optional[ServerTypeMemory]' = None, minimum_lease_duration: 'Optional[str]' = None, gpu: 'Optional[ServerTypeGPU]' = None, network: 'Optional[ServerTypeNetwork]' = None, default_os: 'Optional[OS]' = None)

Bases: object

cpu: ServerTypeCPU | None = None

CPU description.

default_os: OS | None = None

The default OS for this server type.

disk: ServerTypeDisk | None = None

Size of the local disk of the server.

gpu: ServerTypeGPU | None = None

GPU description.

memory: ServerTypeMemory | None = None

Size of memory available.

minimum_lease_duration: str | None = None

Minimum duration of the lease in seconds (example. 3.4s).

name: str

Name of the type.

network: ServerTypeNetwork | None = None

Network description.

stock: ServerTypeStock

Current stock.

class scaleway.applesilicon.v1alpha1.ServerTypeCPU(name: 'str', core_count: 'int', frequency: 'int')

Bases: object

core_count: int
frequency: int
name: str
class scaleway.applesilicon.v1alpha1.ServerTypeDisk(capacity: 'int', type_: 'str')

Bases: object

capacity: int
type_: str
class scaleway.applesilicon.v1alpha1.ServerTypeGPU(count: 'int')

Bases: object

count: int
class scaleway.applesilicon.v1alpha1.ServerTypeMemory(capacity: 'int', type_: 'str')

Bases: object

capacity: int
type_: str
class scaleway.applesilicon.v1alpha1.ServerTypeNetwork(public_bandwidth_bps: 'int', supported_bandwidth: 'List[int]')

Bases: object

public_bandwidth_bps: int
supported_bandwidth: List[int]
class scaleway.applesilicon.v1alpha1.ServerTypeStock(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

HIGH_STOCK = 'high_stock'
LOW_STOCK = 'low_stock'
NO_STOCK = 'no_stock'
UNKNOWN_STOCK = 'unknown_stock'
class scaleway.applesilicon.v1alpha1.SetServerPrivateNetworksResponse(server_private_networks: 'List[ServerPrivateNetwork]')

Bases: object

server_private_networks: List[ServerPrivateNetwork]
class scaleway.applesilicon.v1alpha1.StartConnectivityDiagnosticRequest(server_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

server_id: str
zone: str | None = None

Zone to target. If none is passed will use default zone from the config.

class scaleway.applesilicon.v1alpha1.StartConnectivityDiagnosticResponse(diagnostic_id: 'str')

Bases: object

diagnostic_id: str
class scaleway.applesilicon.v1alpha1.UpdateServerRequest(server_id: 'str', zone: 'Optional[ScwZone]' = None, name: 'Optional[str]' = None, schedule_deletion: 'Optional[bool]' = False, enable_vpc: 'Optional[bool]' = False, commitment_type: 'Optional[CommitmentTypeValue]' = None, public_bandwidth_bps: 'Optional[int]' = 0)

Bases: object

commitment_type: CommitmentTypeValue | None = None

Change commitment. Use ‘none’ to automatically cancel a renewing commitment.

enable_vpc: bool | None = False

Activate or deactivate Private Network support for this server.

name: str | None = None

Updated name for your server.

public_bandwidth_bps: int | None = 0

Public bandwidth to configure for this server. Setting an higher bandwidth incurs additional costs. Supported bandwidth levels depends on server type and can be queried using the /server-types endpoint.

schedule_deletion: bool | None = False

Specify whether the server should be flagged for automatic deletion.

server_id: str

UUID of the server you want to update.

zone: str | None = None

Zone to target. If none is passed will use default zone from the config.