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.

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) 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. :return: Server

Usage:

result = api.create_server(
    type="example",
    enable_vpc=False,
)
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 = api.delete_server(
    server_id="example",
)
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 = api.get_connectivity_diagnostic(
    diagnostic_id="example",
)
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 = api.get_os(
    os_id="example",
)
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 = api.get_server(
    server_id="example",
)
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 = api.get_server_type(
    server_type="example",
)
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 = api.list_os()
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 = api.list_os_all()
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 = api.list_server_types()
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 = api.list_servers()
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 = api.list_servers_all()
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 = api.reboot_server(
    server_id="example",
)
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 = api.reinstall_server(
    server_id="example",
)
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 = api.start_connectivity_diagnostic(
    server_id="example",
)
update_server(*, server_id: str, zone: Optional[str] = None, name: Optional[str] = None, schedule_deletion: Optional[bool] = None, enable_vpc: Optional[bool] = 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. :return: Server

Usage:

result = api.update_server(
    server_id="example",
)
wait_for_server(*, server_id: str, zone: Optional[str] = None, options: Optional[WaitForOptions[Server, 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 = api.get_server(
    server_id="example",
)

scaleway.applesilicon.v1alpha1.content module

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_CreateServerRequest(request: CreateServerRequest, 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_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_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_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_StartConnectivityDiagnosticResponse(data: Any) StartConnectivityDiagnosticResponse

scaleway.applesilicon.v1alpha1.types module

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

Bases: object

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.applesilicon.v1alpha1.types.DeleteServerRequest(server_id: 'str', zone: 'Optional[Zone]')

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.applesilicon.v1alpha1.types.GetConnectivityDiagnosticRequest(diagnostic_id: 'str', zone: 'Optional[Zone]')

Bases: object

diagnostic_id: str
zone: Optional[str]

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[Zone]')

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.applesilicon.v1alpha1.types.GetServerRequest(server_id: 'str', zone: 'Optional[Zone]')

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.applesilicon.v1alpha1.types.GetServerTypeRequest(server_type: 'str', zone: 'Optional[Zone]')

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.applesilicon.v1alpha1.types.ListOSRequest(zone: 'Optional[Zone]', 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.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.ListServerTypesRequest(zone: 'Optional[Zone]')

Bases: object

zone: Optional[str]

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[Zone]', 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.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.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.RebootServerRequest(server_id: 'str', zone: 'Optional[Zone]')

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.applesilicon.v1alpha1.types.ReinstallServerRequest(server_id: 'str', zone: 'Optional[Zone]', 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.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: 'Zone', delivered: 'bool', vpc_status: 'ServerPrivateNetworkStatus', os: 'Optional[OS]', created_at: 'Optional[datetime]', updated_at: 'Optional[datetime]', deletable_at: 'Optional[datetime]')

Bases: object

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.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.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.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.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')

Bases: object

public_bandwidth_bps: int
class scaleway.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.applesilicon.v1alpha1.types.StartConnectivityDiagnosticRequest(server_id: 'str', zone: 'Optional[Zone]')

Bases: object

server_id: str
zone: Optional[str]

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[Zone]', name: 'Optional[str]', schedule_deletion: 'Optional[bool]', enable_vpc: 'Optional[bool]')

Bases: object

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.applesilicon.v1alpha1.ApplesiliconV1Alpha1API(client: Client, *, bypass_validation: bool = False)

Bases: API

This API allows you to manage your Apple silicon machines.

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) 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. :return: Server

Usage:

result = api.create_server(
    type="example",
    enable_vpc=False,
)
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 = api.delete_server(
    server_id="example",
)
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 = api.get_connectivity_diagnostic(
    diagnostic_id="example",
)
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 = api.get_os(
    os_id="example",
)
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 = api.get_server(
    server_id="example",
)
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 = api.get_server_type(
    server_type="example",
)
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 = api.list_os()
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 = api.list_os_all()
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 = api.list_server_types()
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 = api.list_servers()
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 = api.list_servers_all()
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 = api.reboot_server(
    server_id="example",
)
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 = api.reinstall_server(
    server_id="example",
)
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 = api.start_connectivity_diagnostic(
    server_id="example",
)
update_server(*, server_id: str, zone: Optional[str] = None, name: Optional[str] = None, schedule_deletion: Optional[bool] = None, enable_vpc: Optional[bool] = 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. :return: Server

Usage:

result = api.update_server(
    server_id="example",
)
wait_for_server(*, server_id: str, zone: Optional[str] = None, options: Optional[WaitForOptions[Server, 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 = api.get_server(
    server_id="example",
)
class scaleway.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.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.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.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.applesilicon.v1alpha1.CreateServerRequest(type_: 'str', enable_vpc: 'bool', zone: 'Optional[Zone]', name: 'Optional[str]', project_id: 'Optional[str]', os_id: 'Optional[str]')

Bases: object

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.applesilicon.v1alpha1.DeleteServerRequest(server_id: 'str', zone: 'Optional[Zone]')

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.applesilicon.v1alpha1.GetConnectivityDiagnosticRequest(diagnostic_id: 'str', zone: 'Optional[Zone]')

Bases: object

diagnostic_id: str
zone: Optional[str]

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

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

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.applesilicon.v1alpha1.GetServerRequest(server_id: 'str', zone: 'Optional[Zone]')

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.applesilicon.v1alpha1.GetServerTypeRequest(server_type: 'str', zone: 'Optional[Zone]')

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.applesilicon.v1alpha1.ListOSRequest(zone: 'Optional[Zone]', 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.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.ListServerTypesRequest(zone: 'Optional[Zone]')

Bases: object

zone: Optional[str]

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[Zone]', 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.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.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.RebootServerRequest(server_id: 'str', zone: 'Optional[Zone]')

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.applesilicon.v1alpha1.ReinstallServerRequest(server_id: 'str', zone: 'Optional[Zone]', 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.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: 'Zone', delivered: 'bool', vpc_status: 'ServerPrivateNetworkStatus', os: 'Optional[OS]', created_at: 'Optional[datetime]', updated_at: 'Optional[datetime]', deletable_at: 'Optional[datetime]')

Bases: object

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.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.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.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.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')

Bases: object

public_bandwidth_bps: int
class scaleway.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.applesilicon.v1alpha1.StartConnectivityDiagnosticRequest(server_id: 'str', zone: 'Optional[Zone]')

Bases: object

server_id: str
zone: Optional[str]

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[Zone]', name: 'Optional[str]', schedule_deletion: 'Optional[bool]', enable_vpc: 'Optional[bool]')

Bases: object

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.