scaleway_async.applesilicon.v1alpha1 package

Submodules

scaleway_async.applesilicon.v1alpha1.api module

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

Bases: API

This API allows you to manage your Apple silicon machines.

async create_server(*, type_: str, enable_vpc: bool, zone: Optional[str] = None, name: Optional[str] = None, project_id: Optional[str] = None, os_id: Optional[str] = None, commitment_type: Optional[CommitmentType] = 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 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 = await api.create_server(
    type="example",
    enable_vpc=False,
)
async delete_server(*, server_id: str, zone: Optional[str] = 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 = await api.delete_server(
    server_id="example",
)
async get_connectivity_diagnostic(*, diagnostic_id: str, zone: Optional[str] = None) ConnectivityDiagnostic
Parameters:
  • diagnostic_id

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

Returns:

ConnectivityDiagnostic

Usage:

result = await api.get_connectivity_diagnostic(
    diagnostic_id="example",
)
async get_os(*, os_id: str, zone: Optional[str] = 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 = await api.get_os(
    os_id="example",
)
async get_server(*, server_id: str, zone: Optional[str] = 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 = await api.get_server(
    server_id="example",
)
async get_server_type(*, server_type: str, zone: Optional[str] = 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 = await api.get_server_type(
    server_type="example",
)
async list_os(*, zone: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = None, server_type: Optional[str] = None, name: Optional[str] = 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 = await api.list_os()
async list_os_all(*, zone: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = None, server_type: Optional[str] = None, name: Optional[str] = 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 = await api.list_os_all()
async list_server_types(*, zone: Optional[str] = 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 = await api.list_server_types()
async list_servers(*, zone: Optional[str] = None, order_by: Optional[ListServersRequestOrderBy] = None, project_id: Optional[str] = None, organization_id: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = 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 = await api.list_servers()
async list_servers_all(*, zone: Optional[str] = None, order_by: Optional[ListServersRequestOrderBy] = None, project_id: Optional[str] = None, organization_id: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = 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 = await api.list_servers_all()
async reboot_server(*, server_id: str, zone: Optional[str] = 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 = await api.reboot_server(
    server_id="example",
)
async reinstall_server(*, server_id: str, zone: Optional[str] = None, os_id: Optional[str] = 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 = await api.reinstall_server(
    server_id="example",
)
async start_connectivity_diagnostic(*, server_id: str, zone: Optional[str] = None) StartConnectivityDiagnosticResponse
Parameters:
  • server_id

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

Returns:

StartConnectivityDiagnosticResponse

Usage:

result = await api.start_connectivity_diagnostic(
    server_id="example",
)
async update_server(*, server_id: str, zone: Optional[str] = None, name: Optional[str] = None, schedule_deletion: Optional[bool] = None, enable_vpc: Optional[bool] = None, commitment_type: Optional[CommitmentTypeValue] = 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. :return: Server

Usage:

result = await api.update_server(
    server_id="example",
)
async wait_for_server(*, server_id: str, zone: Optional[str] = None, options: Optional[WaitForOptions[Server, Union[bool, Awaitable[bool]]]] = 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 = await api.get_server(
    server_id="example",
)
class scaleway_async.applesilicon.v1alpha1.api.ApplesiliconV1Alpha1PrivateNetworkAPI(client: Client, *, bypass_validation: bool = False)

Bases: API

Apple silicon - Private Networks API.

async add_server_private_network(*, server_id: str, private_network_id: str, zone: Optional[str] = None, ipam_ip_ids: Optional[List[str]] = 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 = await api.add_server_private_network(
    server_id="example",
    private_network_id="example",
)
async delete_server_private_network(*, server_id: str, private_network_id: str, zone: Optional[str] = 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 = await api.delete_server_private_network(
    server_id="example",
    private_network_id="example",
)
async get_server_private_network(*, server_id: str, private_network_id: str, zone: Optional[str] = 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 = await api.get_server_private_network(
    server_id="example",
    private_network_id="example",
)
async list_server_private_networks(*, zone: Optional[str] = None, order_by: Optional[ListServerPrivateNetworksRequestOrderBy] = None, page: Optional[int] = None, page_size: Optional[int] = None, 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]] = 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 = await api.list_server_private_networks()
async list_server_private_networks_all(*, zone: Optional[str] = None, order_by: Optional[ListServerPrivateNetworksRequestOrderBy] = None, page: Optional[int] = None, page_size: Optional[int] = None, 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]] = 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 = await api.list_server_private_networks_all()
async set_server_private_networks(*, server_id: str, per_private_network_ipam_ip_ids: Dict[str, List[str]], zone: Optional[str] = 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 = await api.set_server_private_networks(
    server_id="example",
    per_private_network_ipam_ip_ids={},
)
async wait_for_server_private_network(*, server_id: str, private_network_id: str, zone: Optional[str] = None, options: Optional[WaitForOptions[ServerPrivateNetwork, Union[bool, Awaitable[bool]]]] = 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 = await api.get_server_private_network(
    server_id="example",
    private_network_id="example",
)

scaleway_async.applesilicon.v1alpha1.content module

scaleway_async.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_async.applesilicon.v1alpha1.content.SERVER_PRIVATE_NETWORK_TRANSIENT_STATUSES: List[ServerPrivateNetworkStatus] = [<ServerPrivateNetworkStatus.VPC_UPDATING: 'vpc_updating'>]

Lists transient statutes of the enum ServerPrivateNetworkStatus.

scaleway_async.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_async.applesilicon.v1alpha1.marshalling module

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

scaleway_async.applesilicon.v1alpha1.types module

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

Bases: object

cancelled: bool
type_: CommitmentType
class scaleway_async.applesilicon.v1alpha1.types.CommitmentType(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

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

Bases: object

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

Bases: object

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

Bases: str, Enum

An enumeration.

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

Bases: str, Enum

An enumeration.

COMPLETED = 'completed'
ERROR = 'error'
PROCESSING = 'processing'
UNKNOWN_STATUS = 'unknown_status'
class scaleway_async.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]')

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: Optional[datetime]
class scaleway_async.applesilicon.v1alpha1.types.CreateServerRequest(type_: 'str', enable_vpc: 'bool', zone: 'Optional[ScwZone]', name: 'Optional[str]', project_id: 'Optional[str]', os_id: 'Optional[str]', commitment_type: 'Optional[CommitmentType]')

Bases: object

commitment_type: Optional[CommitmentType]

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: Optional[str]

Create a server with this given name.

os_id: Optional[str]

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: Optional[str]

Create a server in the given project ID.

type_: str

Create a server of the given type.

zone: Optional[str]

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

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

Bases: object

server_id: str

UUID of the server you want to delete.

zone: Optional[str]

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

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

Bases: object

diagnostic_id: str
zone: Optional[str]

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

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

Bases: object

os_id: str

UUID of the OS you want to get.

zone: Optional[str]

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

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

Bases: object

server_id: str

UUID of the server you want to get.

zone: Optional[str]

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

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

Bases: object

server_type: str

Server type identifier.

zone: Optional[str]

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

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

Bases: object

name: Optional[str]

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

page: Optional[int]

Positive integer to choose the page to return.

page_size: Optional[int]

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

server_type: Optional[str]

List of compatible server types.

zone: Optional[str]

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

class scaleway_async.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_async.applesilicon.v1alpha1.types.ListServerPrivateNetworksRequestOrderBy(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

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_async.applesilicon.v1alpha1.types.ListServerPrivateNetworksResponse(server_private_networks: 'List[ServerPrivateNetwork]', total_count: 'int')

Bases: object

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

Bases: object

zone: Optional[str]

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

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

Bases: object

server_types: List[ServerType]

Available server types.

class scaleway_async.applesilicon.v1alpha1.types.ListServersRequest(zone: 'Optional[ScwZone]', order_by: 'Optional[ListServersRequestOrderBy]', project_id: 'Optional[str]', organization_id: 'Optional[str]', page: 'Optional[int]', page_size: 'Optional[int]')

Bases: object

order_by: Optional[ListServersRequestOrderBy]

Sort order of the returned servers.

organization_id: Optional[str]

Only list servers of this Organization ID.

page: Optional[int]

Positive integer to choose the page to return.

page_size: Optional[int]

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

project_id: Optional[str]

Only list servers of this project ID.

zone: Optional[str]

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

class scaleway_async.applesilicon.v1alpha1.types.ListServersRequestOrderBy(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway_async.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_async.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_async.applesilicon.v1alpha1.types.PrivateNetworkApiAddServerPrivateNetworkRequest(server_id: 'str', private_network_id: 'str', zone: 'Optional[ScwZone]', ipam_ip_ids: 'Optional[List[str]]')

Bases: object

ipam_ip_ids: Optional[List[str]]

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: Optional[str]

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

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

Bases: object

private_network_id: str

ID of the Private Network.

server_id: str

ID of the server.

zone: Optional[str]

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

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

Bases: object

private_network_id: str
server_id: str
zone: Optional[str]

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

class scaleway_async.applesilicon.v1alpha1.types.PrivateNetworkApiListServerPrivateNetworksRequest(zone: 'Optional[ScwZone]', order_by: 'Optional[ListServerPrivateNetworksRequestOrderBy]', page: 'Optional[int]', page_size: 'Optional[int]', server_id: 'Optional[str]', private_network_id: 'Optional[str]', organization_id: 'Optional[str]', project_id: 'Optional[str]', ipam_ip_ids: 'Optional[List[str]]')

Bases: object

ipam_ip_ids: Optional[List[str]]

Filter Private Networks by IPAM IP IDs.

order_by: Optional[ListServerPrivateNetworksRequestOrderBy]

Sort order for the returned Private Networks.

organization_id: Optional[str]

Filter Private Networks by Organization ID.

page: Optional[int]

Page number for the returned Private Networks.

page_size: Optional[int]

Maximum number of Private Networks per page.

private_network_id: Optional[str]

Filter Private Networks by Private Network ID.

project_id: Optional[str]

Filter Private Networks by Project ID.

server_id: Optional[str]

Filter Private Networks by server ID.

zone: Optional[str]

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

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

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: Optional[str]

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

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

Bases: object

server_id: str

UUID of the server you want to reboot.

zone: Optional[str]

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

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

Bases: object

os_id: Optional[str]

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: Optional[str]

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

class scaleway_async.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', os: 'Optional[OS]', created_at: 'Optional[datetime]', updated_at: 'Optional[datetime]', deletable_at: 'Optional[datetime]', deletion_scheduled: 'bool', zone: 'ScwZone', delivered: 'bool', vpc_status: 'ServerPrivateNetworkStatus', commitment: 'Optional[Commitment]')

Bases: object

commitment: Optional[Commitment]

Commitment scheme applied to this server.

created_at: Optional[datetime]

Date on which the server was created.

deletable_at: Optional[datetime]

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: Optional[OS]

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

project_id: str

Project this server is associated with.

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: Optional[datetime]

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_async.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]', created_at: 'Optional[datetime]', updated_at: 'Optional[datetime]')

Bases: object

created_at: Optional[datetime]

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: Optional[datetime]

Date the Private Network was last modified.

vlan: Optional[int]

ID of the VLAN associated with the Private Network.

class scaleway_async.applesilicon.v1alpha1.types.ServerPrivateNetworkServerStatus(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

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

Bases: str, Enum

An enumeration.

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

Bases: str, Enum

An enumeration.

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_async.applesilicon.v1alpha1.types.ServerType(name: 'str', stock: 'ServerTypeStock', cpu: 'Optional[ServerTypeCPU]', disk: 'Optional[ServerTypeDisk]', memory: 'Optional[ServerTypeMemory]', minimum_lease_duration: 'Optional[str]', gpu: 'Optional[ServerTypeGPU]', network: 'Optional[ServerTypeNetwork]', default_os: 'Optional[OS]')

Bases: object

cpu: Optional[ServerTypeCPU]

CPU description.

default_os: Optional[OS]

The default OS for this server type.

disk: Optional[ServerTypeDisk]

Size of the local disk of the server.

gpu: Optional[ServerTypeGPU]

GPU description.

memory: Optional[ServerTypeMemory]

Size of memory available.

minimum_lease_duration: Optional[str]

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

name: str

Name of the type.

network: Optional[ServerTypeNetwork]

Network description.

stock: ServerTypeStock

Current stock.

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

Bases: object

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

Bases: object

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

Bases: object

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

Bases: object

capacity: int
type_: str
class scaleway_async.applesilicon.v1alpha1.types.ServerTypeNetwork(public_bandwidth_bps: 'int')

Bases: object

public_bandwidth_bps: int
class scaleway_async.applesilicon.v1alpha1.types.ServerTypeStock(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

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

Bases: object

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

Bases: object

server_id: str
zone: Optional[str]

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

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

Bases: object

diagnostic_id: str
class scaleway_async.applesilicon.v1alpha1.types.UpdateServerRequest(server_id: 'str', zone: 'Optional[ScwZone]', name: 'Optional[str]', schedule_deletion: 'Optional[bool]', enable_vpc: 'Optional[bool]', commitment_type: 'Optional[CommitmentTypeValue]')

Bases: object

commitment_type: Optional[CommitmentTypeValue]

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

enable_vpc: Optional[bool]

Activate or deactivate Private Network support for this server.

name: Optional[str]

Updated name for your server.

schedule_deletion: Optional[bool]

Specify whether the server should be flagged for automatic deletion.

server_id: str

UUID of the server you want to update.

zone: Optional[str]

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

Module contents

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

Bases: API

This API allows you to manage your Apple silicon machines.

async create_server(*, type_: str, enable_vpc: bool, zone: Optional[str] = None, name: Optional[str] = None, project_id: Optional[str] = None, os_id: Optional[str] = None, commitment_type: Optional[CommitmentType] = 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 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 = await api.create_server(
    type="example",
    enable_vpc=False,
)
async delete_server(*, server_id: str, zone: Optional[str] = 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 = await api.delete_server(
    server_id="example",
)
async get_connectivity_diagnostic(*, diagnostic_id: str, zone: Optional[str] = None) ConnectivityDiagnostic
Parameters:
  • diagnostic_id

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

Returns:

ConnectivityDiagnostic

Usage:

result = await api.get_connectivity_diagnostic(
    diagnostic_id="example",
)
async get_os(*, os_id: str, zone: Optional[str] = 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 = await api.get_os(
    os_id="example",
)
async get_server(*, server_id: str, zone: Optional[str] = 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 = await api.get_server(
    server_id="example",
)
async get_server_type(*, server_type: str, zone: Optional[str] = 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 = await api.get_server_type(
    server_type="example",
)
async list_os(*, zone: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = None, server_type: Optional[str] = None, name: Optional[str] = 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 = await api.list_os()
async list_os_all(*, zone: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = None, server_type: Optional[str] = None, name: Optional[str] = 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 = await api.list_os_all()
async list_server_types(*, zone: Optional[str] = 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 = await api.list_server_types()
async list_servers(*, zone: Optional[str] = None, order_by: Optional[ListServersRequestOrderBy] = None, project_id: Optional[str] = None, organization_id: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = 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 = await api.list_servers()
async list_servers_all(*, zone: Optional[str] = None, order_by: Optional[ListServersRequestOrderBy] = None, project_id: Optional[str] = None, organization_id: Optional[str] = None, page: Optional[int] = None, page_size: Optional[int] = 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 = await api.list_servers_all()
async reboot_server(*, server_id: str, zone: Optional[str] = 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 = await api.reboot_server(
    server_id="example",
)
async reinstall_server(*, server_id: str, zone: Optional[str] = None, os_id: Optional[str] = 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 = await api.reinstall_server(
    server_id="example",
)
async start_connectivity_diagnostic(*, server_id: str, zone: Optional[str] = None) StartConnectivityDiagnosticResponse
Parameters:
  • server_id

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

Returns:

StartConnectivityDiagnosticResponse

Usage:

result = await api.start_connectivity_diagnostic(
    server_id="example",
)
async update_server(*, server_id: str, zone: Optional[str] = None, name: Optional[str] = None, schedule_deletion: Optional[bool] = None, enable_vpc: Optional[bool] = None, commitment_type: Optional[CommitmentTypeValue] = 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. :return: Server

Usage:

result = await api.update_server(
    server_id="example",
)
async wait_for_server(*, server_id: str, zone: Optional[str] = None, options: Optional[WaitForOptions[Server, Union[bool, Awaitable[bool]]]] = 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 = await api.get_server(
    server_id="example",
)
class scaleway_async.applesilicon.v1alpha1.ApplesiliconV1Alpha1PrivateNetworkAPI(client: Client, *, bypass_validation: bool = False)

Bases: API

Apple silicon - Private Networks API.

async add_server_private_network(*, server_id: str, private_network_id: str, zone: Optional[str] = None, ipam_ip_ids: Optional[List[str]] = 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 = await api.add_server_private_network(
    server_id="example",
    private_network_id="example",
)
async delete_server_private_network(*, server_id: str, private_network_id: str, zone: Optional[str] = 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 = await api.delete_server_private_network(
    server_id="example",
    private_network_id="example",
)
async get_server_private_network(*, server_id: str, private_network_id: str, zone: Optional[str] = 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 = await api.get_server_private_network(
    server_id="example",
    private_network_id="example",
)
async list_server_private_networks(*, zone: Optional[str] = None, order_by: Optional[ListServerPrivateNetworksRequestOrderBy] = None, page: Optional[int] = None, page_size: Optional[int] = None, 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]] = 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 = await api.list_server_private_networks()
async list_server_private_networks_all(*, zone: Optional[str] = None, order_by: Optional[ListServerPrivateNetworksRequestOrderBy] = None, page: Optional[int] = None, page_size: Optional[int] = None, 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]] = 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 = await api.list_server_private_networks_all()
async set_server_private_networks(*, server_id: str, per_private_network_ipam_ip_ids: Dict[str, List[str]], zone: Optional[str] = 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 = await api.set_server_private_networks(
    server_id="example",
    per_private_network_ipam_ip_ids={},
)
async wait_for_server_private_network(*, server_id: str, private_network_id: str, zone: Optional[str] = None, options: Optional[WaitForOptions[ServerPrivateNetwork, Union[bool, Awaitable[bool]]]] = 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 = await api.get_server_private_network(
    server_id="example",
    private_network_id="example",
)
class scaleway_async.applesilicon.v1alpha1.Commitment(type_: 'CommitmentType', cancelled: 'bool')

Bases: object

cancelled: bool
type_: CommitmentType
class scaleway_async.applesilicon.v1alpha1.CommitmentType(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

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

Bases: object

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

Bases: object

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

Bases: str, Enum

An enumeration.

REBOOT_SERVER = 'reboot_server'
REINSTALL_SERVER = 'reinstall_server'
class scaleway_async.applesilicon.v1alpha1.ConnectivityDiagnosticDiagnosticStatus(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

COMPLETED = 'completed'
ERROR = 'error'
PROCESSING = 'processing'
UNKNOWN_STATUS = 'unknown_status'
class scaleway_async.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]')

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: Optional[datetime]
class scaleway_async.applesilicon.v1alpha1.CreateServerRequest(type_: 'str', enable_vpc: 'bool', zone: 'Optional[ScwZone]', name: 'Optional[str]', project_id: 'Optional[str]', os_id: 'Optional[str]', commitment_type: 'Optional[CommitmentType]')

Bases: object

commitment_type: Optional[CommitmentType]

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: Optional[str]

Create a server with this given name.

os_id: Optional[str]

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: Optional[str]

Create a server in the given project ID.

type_: str

Create a server of the given type.

zone: Optional[str]

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

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

Bases: object

server_id: str

UUID of the server you want to delete.

zone: Optional[str]

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

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

Bases: object

diagnostic_id: str
zone: Optional[str]

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

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

Bases: object

os_id: str

UUID of the OS you want to get.

zone: Optional[str]

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

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

Bases: object

server_id: str

UUID of the server you want to get.

zone: Optional[str]

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

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

Bases: object

server_type: str

Server type identifier.

zone: Optional[str]

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

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

Bases: object

name: Optional[str]

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

page: Optional[int]

Positive integer to choose the page to return.

page_size: Optional[int]

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

server_type: Optional[str]

List of compatible server types.

zone: Optional[str]

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

class scaleway_async.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_async.applesilicon.v1alpha1.ListServerPrivateNetworksRequestOrderBy(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

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_async.applesilicon.v1alpha1.ListServerPrivateNetworksResponse(server_private_networks: 'List[ServerPrivateNetwork]', total_count: 'int')

Bases: object

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

Bases: object

zone: Optional[str]

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

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

Bases: object

server_types: List[ServerType]

Available server types.

class scaleway_async.applesilicon.v1alpha1.ListServersRequest(zone: 'Optional[ScwZone]', order_by: 'Optional[ListServersRequestOrderBy]', project_id: 'Optional[str]', organization_id: 'Optional[str]', page: 'Optional[int]', page_size: 'Optional[int]')

Bases: object

order_by: Optional[ListServersRequestOrderBy]

Sort order of the returned servers.

organization_id: Optional[str]

Only list servers of this Organization ID.

page: Optional[int]

Positive integer to choose the page to return.

page_size: Optional[int]

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

project_id: Optional[str]

Only list servers of this project ID.

zone: Optional[str]

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

class scaleway_async.applesilicon.v1alpha1.ListServersRequestOrderBy(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway_async.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_async.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_async.applesilicon.v1alpha1.PrivateNetworkApiAddServerPrivateNetworkRequest(server_id: 'str', private_network_id: 'str', zone: 'Optional[ScwZone]', ipam_ip_ids: 'Optional[List[str]]')

Bases: object

ipam_ip_ids: Optional[List[str]]

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: Optional[str]

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

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

Bases: object

private_network_id: str

ID of the Private Network.

server_id: str

ID of the server.

zone: Optional[str]

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

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

Bases: object

private_network_id: str
server_id: str
zone: Optional[str]

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

class scaleway_async.applesilicon.v1alpha1.PrivateNetworkApiListServerPrivateNetworksRequest(zone: 'Optional[ScwZone]', order_by: 'Optional[ListServerPrivateNetworksRequestOrderBy]', page: 'Optional[int]', page_size: 'Optional[int]', server_id: 'Optional[str]', private_network_id: 'Optional[str]', organization_id: 'Optional[str]', project_id: 'Optional[str]', ipam_ip_ids: 'Optional[List[str]]')

Bases: object

ipam_ip_ids: Optional[List[str]]

Filter Private Networks by IPAM IP IDs.

order_by: Optional[ListServerPrivateNetworksRequestOrderBy]

Sort order for the returned Private Networks.

organization_id: Optional[str]

Filter Private Networks by Organization ID.

page: Optional[int]

Page number for the returned Private Networks.

page_size: Optional[int]

Maximum number of Private Networks per page.

private_network_id: Optional[str]

Filter Private Networks by Private Network ID.

project_id: Optional[str]

Filter Private Networks by Project ID.

server_id: Optional[str]

Filter Private Networks by server ID.

zone: Optional[str]

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

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

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: Optional[str]

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

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

Bases: object

server_id: str

UUID of the server you want to reboot.

zone: Optional[str]

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

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

Bases: object

os_id: Optional[str]

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: Optional[str]

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

class scaleway_async.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', os: 'Optional[OS]', created_at: 'Optional[datetime]', updated_at: 'Optional[datetime]', deletable_at: 'Optional[datetime]', deletion_scheduled: 'bool', zone: 'ScwZone', delivered: 'bool', vpc_status: 'ServerPrivateNetworkStatus', commitment: 'Optional[Commitment]')

Bases: object

commitment: Optional[Commitment]

Commitment scheme applied to this server.

created_at: Optional[datetime]

Date on which the server was created.

deletable_at: Optional[datetime]

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: Optional[OS]

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

project_id: str

Project this server is associated with.

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: Optional[datetime]

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_async.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]', created_at: 'Optional[datetime]', updated_at: 'Optional[datetime]')

Bases: object

created_at: Optional[datetime]

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: Optional[datetime]

Date the Private Network was last modified.

vlan: Optional[int]

ID of the VLAN associated with the Private Network.

class scaleway_async.applesilicon.v1alpha1.ServerPrivateNetworkServerStatus(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

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

Bases: str, Enum

An enumeration.

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

Bases: str, Enum

An enumeration.

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_async.applesilicon.v1alpha1.ServerType(name: 'str', stock: 'ServerTypeStock', cpu: 'Optional[ServerTypeCPU]', disk: 'Optional[ServerTypeDisk]', memory: 'Optional[ServerTypeMemory]', minimum_lease_duration: 'Optional[str]', gpu: 'Optional[ServerTypeGPU]', network: 'Optional[ServerTypeNetwork]', default_os: 'Optional[OS]')

Bases: object

cpu: Optional[ServerTypeCPU]

CPU description.

default_os: Optional[OS]

The default OS for this server type.

disk: Optional[ServerTypeDisk]

Size of the local disk of the server.

gpu: Optional[ServerTypeGPU]

GPU description.

memory: Optional[ServerTypeMemory]

Size of memory available.

minimum_lease_duration: Optional[str]

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

name: str

Name of the type.

network: Optional[ServerTypeNetwork]

Network description.

stock: ServerTypeStock

Current stock.

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

Bases: object

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

Bases: object

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

Bases: object

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

Bases: object

capacity: int
type_: str
class scaleway_async.applesilicon.v1alpha1.ServerTypeNetwork(public_bandwidth_bps: 'int')

Bases: object

public_bandwidth_bps: int
class scaleway_async.applesilicon.v1alpha1.ServerTypeStock(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

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

Bases: object

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

Bases: object

server_id: str
zone: Optional[str]

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

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

Bases: object

diagnostic_id: str
class scaleway_async.applesilicon.v1alpha1.UpdateServerRequest(server_id: 'str', zone: 'Optional[ScwZone]', name: 'Optional[str]', schedule_deletion: 'Optional[bool]', enable_vpc: 'Optional[bool]', commitment_type: 'Optional[CommitmentTypeValue]')

Bases: object

commitment_type: Optional[CommitmentTypeValue]

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

enable_vpc: Optional[bool]

Activate or deactivate Private Network support for this server.

name: Optional[str]

Updated name for your server.

schedule_deletion: Optional[bool]

Specify whether the server should be flagged for automatic deletion.

server_id: str

UUID of the server you want to update.

zone: Optional[str]

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