scaleway_async.baremetal.v1 package

Submodules

scaleway_async.baremetal.v1.api module

class scaleway_async.baremetal.v1.api.BaremetalV1API(client: Client, *, bypass_validation: bool = False)

Bases: API

This API allows you to manage your Elastic Metal servers.

async add_option_server(*, server_id: str, option_id: str, zone: str | None = None, expires_at: datetime | None = None) Server

Add server option. Add an option, such as Private Networks, to a specific server. :param server_id: ID of the server. :param option_id: ID of the option to add. :param zone: Zone to target. If none is passed will use default zone from the config. :param expires_at: Auto expire the option after this date. :return: Server

Usage:

result = await api.add_option_server(
    server_id="example",
    option_id="example",
)
async create_server(*, offer_id: str, name: str, description: str, protected: bool, zone: str | None = None, organization_id: str | None = None, project_id: str | None = None, tags: List[str] | None = None, install: CreateServerRequestInstall | None = None, option_ids: List[str] | None = None) Server

Create an Elastic Metal server. Create a new Elastic Metal server. Once the server is created, proceed with the [installation of an OS](#post-3e949e). :param offer_id: Offer ID of the new server. :param name: Name of the server (≠hostname). :param description: Description associated with the server, max 255 characters. :param protected: If enabled, the server can not be deleted. :param zone: Zone to target. If none is passed will use default zone from the config. :param organization_id: Organization ID with which the server will be created. One-Of (‘project_identifier’): at most one of ‘project_id’, ‘organization_id’ could be set. :param project_id: Project ID with which the server will be created. One-Of (‘project_identifier’): at most one of ‘project_id’, ‘organization_id’ could be set. :param tags: Tags to associate to the server. :param install: Object describing the configuration details of the OS installation on the server. :param option_ids: IDs of options to enable on server. :return: Server

Usage:

result = await api.create_server(
    offer_id="example",
    name="example",
    description="example",
    protected=False,
)
async delete_option_server(*, server_id: str, option_id: str, zone: str | None = None) Server

Delete server option. Delete an option from a specific server. :param server_id: ID of the server. :param option_id: ID of the option to delete. :param zone: Zone to target. If none is passed will use default zone from the config. :return: Server

Usage:

result = await api.delete_option_server(
    server_id="example",
    option_id="example",
)
async delete_server(*, server_id: str, zone: str | None = None) Server

Delete an Elastic Metal server. Delete the server associated with the ID. :param server_id: ID of the server to delete. :param zone: Zone to target. If none is passed will use default zone from the config. :return: Server

Usage:

result = await api.delete_server(
    server_id="example",
)
async get_bmc_access(*, server_id: str, zone: str | None = None) BMCAccess

Get BMC access. Get the BMC (Baseboard Management Controller) access associated with the ID, including the URL and login information needed to connect. :param server_id: ID of the server. :param zone: Zone to target. If none is passed will use default zone from the config. :return: BMCAccess

Usage:

result = await api.get_bmc_access(
    server_id="example",
)
async get_default_partitioning_schema(*, offer_id: str, os_id: str, zone: str | None = None) Schema

Get default partitioning schema. Get the default partitioning schema for the given offer ID and OS ID. :param offer_id: ID of the offer. :param os_id: ID of the OS. :param zone: Zone to target. If none is passed will use default zone from the config. :return: Schema

Usage:

result = await api.get_default_partitioning_schema(
    offer_id="example",
    os_id="example",
)
async get_offer(*, offer_id: str, zone: str | None = None) Offer

Get offer. Get details of an offer identified by its offer ID. :param offer_id: ID of the researched Offer. :param zone: Zone to target. If none is passed will use default zone from the config. :return: Offer

Usage:

result = await api.get_offer(
    offer_id="example",
)
async get_option(*, option_id: str, zone: str | None = None) Option

Get option. Return specific option for the ID. :param option_id: ID of the option. :param zone: Zone to target. If none is passed will use default zone from the config. :return: Option

Usage:

result = await api.get_option(
    option_id="example",
)
async get_os(*, os_id: str, zone: str | None = None) OS

Get OS with an ID. Return the specific OS for the ID. :param os_id: ID of the OS. :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: str | None = None) Server

Get a specific Elastic Metal server. Get full details of an existing Elastic Metal server associated with the ID. :param server_id: ID of the server. :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_metrics(*, server_id: str, zone: str | None = None) GetServerMetricsResponse

Return server metrics. Get the ping status of the server associated with the ID. :param server_id: Server ID to get the metrics. :param zone: Zone to target. If none is passed will use default zone from the config. :return: GetServerMetricsResponse

Usage:

result = await api.get_server_metrics(
    server_id="example",
)
async install_server(*, server_id: str, os_id: str, hostname: str, ssh_key_ids: List[str], zone: str | None = None, user: str | None = None, password: str | None = None, service_user: str | None = None, service_password: str | None = None, partitioning_schema: Schema | None = None) Server

Install an Elastic Metal server. Install an Operating System (OS) on the Elastic Metal server with a specific ID. :param server_id: Server ID to install. :param os_id: ID of the OS to installation on the server. :param hostname: Hostname of the server. :param ssh_key_ids: SSH key IDs authorized on the server. :param zone: Zone to target. If none is passed will use default zone from the config. :param user: User used for the installation. :param password: Password used for the installation. :param service_user: User used for the service to install. :param service_password: Password used for the service to install. :param partitioning_schema: Partitioning schema. :return: Server

Usage:

result = await api.install_server(
    server_id="example",
    os_id="example",
    hostname="example",
    ssh_key_ids=[],
)
async list_offers(*, zone: str | None = None, page: int | None = None, page_size: int | None = None, subscription_period: OfferSubscriptionPeriod | None = None, name: str | None = None) ListOffersResponse

List offers. List all available Elastic Metal server configurations. :param zone: Zone to target. If none is passed will use default zone from the config. :param page: Page number. :param page_size: Number of offers per page. :param subscription_period: Subscription period type to filter offers by. :param name: Offer name to filter offers by. :return: ListOffersResponse

Usage:

result = await api.list_offers()
async list_offers_all(*, zone: str | None = None, page: int | None = None, page_size: int | None = None, subscription_period: OfferSubscriptionPeriod | None = None, name: str | None = None) List[Offer]

List offers. List all available Elastic Metal server configurations. :param zone: Zone to target. If none is passed will use default zone from the config. :param page: Page number. :param page_size: Number of offers per page. :param subscription_period: Subscription period type to filter offers by. :param name: Offer name to filter offers by. :return: List[Offer]

Usage:

result = await api.list_offers_all()
async list_options(*, zone: str | None = None, page: int | None = None, page_size: int | None = None, offer_id: str | None = None, name: str | None = None) ListOptionsResponse

List options. List all options matching with filters. :param zone: Zone to target. If none is passed will use default zone from the config. :param page: Page number. :param page_size: Number of options per page. :param offer_id: Offer ID to filter options for. :param name: Name to filter options for. :return: ListOptionsResponse

Usage:

result = await api.list_options()
async list_options_all(*, zone: str | None = None, page: int | None = None, page_size: int | None = None, offer_id: str | None = None, name: str | None = None) List[Option]

List options. List all options matching with filters. :param zone: Zone to target. If none is passed will use default zone from the config. :param page: Page number. :param page_size: Number of options per page. :param offer_id: Offer ID to filter options for. :param name: Name to filter options for. :return: List[Option]

Usage:

result = await api.list_options_all()
async list_os(*, zone: str | None = None, page: int | None = None, page_size: int | None = None, offer_id: str | None = None) ListOSResponse

List available OSes. List all OSes that are available for installation on Elastic Metal servers. :param zone: Zone to target. If none is passed will use default zone from the config. :param page: Page number. :param page_size: Number of OS per page. :param offer_id: Offer IDs to filter OSes for. :return: ListOSResponse

Usage:

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

List available OSes. List all OSes that are available for installation on Elastic Metal servers. :param zone: Zone to target. If none is passed will use default zone from the config. :param page: Page number. :param page_size: Number of OS per page. :param offer_id: Offer IDs to filter OSes for. :return: List[OS]

Usage:

result = await api.list_os_all()
async list_server_events(*, server_id: str, zone: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListServerEventsRequestOrderBy | None = None) ListServerEventsResponse

List server events. List event (i.e. start/stop/reboot) associated to the server ID. :param server_id: ID of the server events searched. :param zone: Zone to target. If none is passed will use default zone from the config. :param page: Page number. :param page_size: Number of server events per page. :param order_by: Order of the server events. :return: ListServerEventsResponse

Usage:

result = await api.list_server_events(
    server_id="example",
)
async list_server_events_all(*, server_id: str, zone: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListServerEventsRequestOrderBy | None = None) List[ServerEvent]

List server events. List event (i.e. start/stop/reboot) associated to the server ID. :param server_id: ID of the server events searched. :param zone: Zone to target. If none is passed will use default zone from the config. :param page: Page number. :param page_size: Number of server events per page. :param order_by: Order of the server events. :return: List[ServerEvent]

Usage:

result = await api.list_server_events_all(
    server_id="example",
)
async list_servers(*, zone: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListServersRequestOrderBy | None = None, tags: List[str] | None = None, status: List[str] | None = None, name: str | None = None, organization_id: str | None = None, project_id: str | None = None, option_id: str | None = None) ListServersResponse

List Elastic Metal servers for an Organization. List Elastic Metal servers for a specific Organization. :param zone: Zone to target. If none is passed will use default zone from the config. :param page: Page number. :param page_size: Number of servers per page. :param order_by: Order of the servers. :param tags: Tags to filter for. :param status: Status to filter for. :param name: Names to filter for. :param organization_id: Organization ID to filter for. :param project_id: Project ID to filter for. :param option_id: Option ID to filter for. :return: ListServersResponse

Usage:

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

List Elastic Metal servers for an Organization. List Elastic Metal servers for a specific Organization. :param zone: Zone to target. If none is passed will use default zone from the config. :param page: Page number. :param page_size: Number of servers per page. :param order_by: Order of the servers. :param tags: Tags to filter for. :param status: Status to filter for. :param name: Names to filter for. :param organization_id: Organization ID to filter for. :param project_id: Project ID to filter for. :param option_id: Option ID to filter for. :return: List[Server]

Usage:

result = await api.list_servers_all()
async list_settings(*, zone: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListSettingsRequestOrderBy | None = None, project_id: str | None = None) ListSettingsResponse

List all settings. Return all settings for a Project ID. :param zone: Zone to target. If none is passed will use default zone from the config. :param page: Page number. :param page_size: Set the maximum list size. :param order_by: Sort order for items in the response. :param project_id: ID of the Project. :return: ListSettingsResponse

Usage:

result = await api.list_settings()
async list_settings_all(*, zone: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListSettingsRequestOrderBy | None = None, project_id: str | None = None) List[Setting]

List all settings. Return all settings for a Project ID. :param zone: Zone to target. If none is passed will use default zone from the config. :param page: Page number. :param page_size: Set the maximum list size. :param order_by: Sort order for items in the response. :param project_id: ID of the Project. :return: List[Setting]

Usage:

result = await api.list_settings_all()
async migrate_server_to_monthly_offer(*, server_id: str, zone: str | None = None) Server

Migrate server offer. Migrate server with hourly offer to monthly offer. :param server_id: ID of the server. :param zone: Zone to target. If none is passed will use default zone from the config. :return: Server

Usage:

result = await api.migrate_server_to_monthly_offer(
    server_id="example",
)
async reboot_server(*, server_id: str, zone: str | None = None, boot_type: ServerBootType | None = None, ssh_key_ids: List[str] | None = None) Server

Reboot an Elastic Metal server. Reboot the Elastic Metal server associated with the ID, use the boot_type rescue to reboot the server in rescue mode. :param server_id: ID of the server to reboot. :param zone: Zone to target. If none is passed will use default zone from the config. :param boot_type: The type of boot. :param ssh_key_ids: Additional SSH public key IDs to configure on rescue image. :return: Server

Usage:

result = await api.reboot_server(
    server_id="example",
)
async start_bmc_access(*, server_id: str, ip: str, zone: str | None = None) BMCAccess

Start BMC access. Start BMC (Baseboard Management Controller) access associated with the ID. The BMC (Baseboard Management Controller) access is available one hour after the installation of the server. You need first to create an option Remote Access. You will find the ID and the price with a call to listOffers (https://developers.scaleway.com/en/products/baremetal/api/#get-78db92). Then add the option https://developers.scaleway.com/en/products/baremetal/api/#post-b14abd. After adding the BMC option, you need to Get Remote Access to get the login/password https://developers.scaleway.com/en/products/baremetal/api/#get-cefc0f. Do not forget to delete the Option after use. :param server_id: ID of the server. :param ip: The IP authorized to connect to the server. :param zone: Zone to target. If none is passed will use default zone from the config. :return: BMCAccess

Usage:

result = await api.start_bmc_access(
    server_id="example",
    ip="example",
)
async start_server(*, server_id: str, zone: str | None = None, boot_type: ServerBootType | None = None, ssh_key_ids: List[str] | None = None) Server

Start an Elastic Metal server. Start the server associated with the ID. :param server_id: ID of the server to start. :param zone: Zone to target. If none is passed will use default zone from the config. :param boot_type: The type of boot. :param ssh_key_ids: Additional SSH public key IDs to configure on rescue image. :return: Server

Usage:

result = await api.start_server(
    server_id="example",
)
async stop_bmc_access(*, server_id: str, zone: str | None = None) None

Stop BMC access. Stop BMC (Baseboard Management Controller) access associated with the ID. :param server_id: ID of the server. :param zone: Zone to target. If none is passed will use default zone from the config.

Usage:

result = await api.stop_bmc_access(
    server_id="example",
)
async stop_server(*, server_id: str, zone: str | None = None) Server

Stop an Elastic Metal server. Stop the server associated with the ID. The server remains allocated to your account and all data remains on the local storage of the server. :param server_id: ID of the server to stop. :param zone: Zone to target. If none is passed will use default zone from the config. :return: Server

Usage:

result = await api.stop_server(
    server_id="example",
)
async update_ip(*, server_id: str, ip_id: str, zone: str | None = None, reverse: str | None = None) IP

Update IP. Configure the IP address associated with the server ID and IP ID. You can use this method to set a reverse DNS for an IP address. :param server_id: ID of the server. :param ip_id: ID of the IP to update. :param zone: Zone to target. If none is passed will use default zone from the config. :param reverse: New reverse IP to update, not updated if null. :return: IP

Usage:

result = await api.update_ip(
    server_id="example",
    ip_id="example",
)
async update_server(*, server_id: str, zone: str | None = None, name: str | None = None, description: str | None = None, tags: List[str] | None = None, protected: bool | None = None) Server

Update an Elastic Metal server. Update the server associated with the ID. You can update parameters such as the server’s name, tags, description and protection flag. Any parameters left null in the request body are not updated. :param server_id: ID of the server to update. :param zone: Zone to target. If none is passed will use default zone from the config. :param name: Name of the server (≠hostname), not updated if null. :param description: Description associated with the server, max 255 characters, not updated if null. :param tags: Tags associated with the server, not updated if null. :param protected: If enabled, the server can not be deleted. :return: Server

Usage:

result = await api.update_server(
    server_id="example",
)
async update_setting(*, setting_id: str, zone: str | None = None, enabled: bool | None = None) Setting

Update setting. Update a setting for a Project ID (enable or disable). :param setting_id: ID of the setting. :param zone: Zone to target. If none is passed will use default zone from the config. :param enabled: Defines whether the setting is enabled. :return: Setting

Usage:

result = await api.update_setting(
    setting_id="example",
)
async validate_partitioning_schema(*, offer_id: str, os_id: str, zone: str | None = None, partitioning_schema: Schema | None = None) None

Validate client partitioning schema. Validate the incoming partitioning schema from a user before installing the server. Return default ErrorCode if invalid. :param offer_id: Offer ID of the server. :param os_id: OS ID. :param zone: Zone to target. If none is passed will use default zone from the config. :param partitioning_schema: Partitioning schema.

Usage:

result = await api.validate_partitioning_schema(
    offer_id="example",
    os_id="example",
)
async wait_for_server(*, server_id: str, zone: str | None = None, options: WaitForOptions[Server, bool | Awaitable[bool]] | None = None) Server

Get a specific Elastic Metal server. Get full details of an existing Elastic Metal server associated with the ID. :param server_id: ID of the server. :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.baremetal.v1.api.BaremetalV1PrivateNetworkAPI(client: Client, *, bypass_validation: bool = False)

Bases: API

Elastic Metal - Private Network API.

async add_server_private_network(*, server_id: str, private_network_id: str, zone: str | None = None) ServerPrivateNetwork

Add a server to a Private Network. :param server_id: The ID of the server. :param private_network_id: The ID of the Private Network. :param zone: Zone to target. If none is passed will use default zone from the config. :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: str | None = None) None

Delete a Private Network. :param server_id: The ID of the server. :param private_network_id: The 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 list_server_private_networks(*, zone: str | None = None, order_by: ListServerPrivateNetworksRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, server_id: str | None = None, private_network_id: str | None = None, organization_id: str | None = None, project_id: str | None = None) ListServerPrivateNetworksResponse

List the Private Networks of a server. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: The sort order for the returned Private Networks. :param page: The page number for the returned Private Networks. :param page_size: The 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. :return: ListServerPrivateNetworksResponse

Usage:

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

List the Private Networks of a server. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: The sort order for the returned Private Networks. :param page: The page number for the returned Private Networks. :param page_size: The 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. :return: List[ServerPrivateNetwork]

Usage:

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

Set multiple Private Networks on a server. :param server_id: The ID of the server. :param private_network_ids: The IDs of the Private Networks. :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",
    private_network_ids=[],
)

scaleway_async.baremetal.v1.content module

scaleway_async.baremetal.v1.content.SERVER_INSTALL_TRANSIENT_STATUSES: List[ServerInstallStatus] = [<ServerInstallStatus.TO_INSTALL: 'to_install'>, <ServerInstallStatus.INSTALLING: 'installing'>]

Lists transient statutes of the enum ServerInstallStatus.

scaleway_async.baremetal.v1.content.SERVER_PRIVATE_NETWORK_TRANSIENT_STATUSES: List[ServerPrivateNetworkStatus] = [<ServerPrivateNetworkStatus.ATTACHING: 'attaching'>, <ServerPrivateNetworkStatus.DETACHING: 'detaching'>]

Lists transient statutes of the enum ServerPrivateNetworkStatus.

scaleway_async.baremetal.v1.content.SERVER_TRANSIENT_STATUSES: List[ServerStatus] = [<ServerStatus.DELIVERING: 'delivering'>, <ServerStatus.STOPPING: 'stopping'>, <ServerStatus.STARTING: 'starting'>, <ServerStatus.DELETING: 'deleting'>, <ServerStatus.ORDERED: 'ordered'>, <ServerStatus.RESETTING: 'resetting'>, <ServerStatus.MIGRATING: 'migrating'>]

Lists transient statutes of the enum ServerStatus.

scaleway_async.baremetal.v1.marshalling module

scaleway_async.baremetal.v1.marshalling.marshal_AddOptionServerRequest(request: AddOptionServerRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.baremetal.v1.marshalling.marshal_CreateServerRequest(request: CreateServerRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.baremetal.v1.marshalling.marshal_CreateServerRequestInstall(request: CreateServerRequestInstall, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.baremetal.v1.marshalling.marshal_InstallServerRequest(request: InstallServerRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.baremetal.v1.marshalling.marshal_PrivateNetworkApiAddServerPrivateNetworkRequest(request: PrivateNetworkApiAddServerPrivateNetworkRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.baremetal.v1.marshalling.marshal_PrivateNetworkApiSetServerPrivateNetworksRequest(request: PrivateNetworkApiSetServerPrivateNetworksRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.baremetal.v1.marshalling.marshal_RebootServerRequest(request: RebootServerRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.baremetal.v1.marshalling.marshal_Schema(request: Schema, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.baremetal.v1.marshalling.marshal_SchemaDisk(request: SchemaDisk, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.baremetal.v1.marshalling.marshal_SchemaFilesystem(request: SchemaFilesystem, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.baremetal.v1.marshalling.marshal_SchemaPartition(request: SchemaPartition, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.baremetal.v1.marshalling.marshal_SchemaPool(request: SchemaPool, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.baremetal.v1.marshalling.marshal_SchemaRAID(request: SchemaRAID, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.baremetal.v1.marshalling.marshal_SchemaZFS(request: SchemaZFS, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.baremetal.v1.marshalling.marshal_StartBMCAccessRequest(request: StartBMCAccessRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.baremetal.v1.marshalling.marshal_StartServerRequest(request: StartServerRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.baremetal.v1.marshalling.marshal_UpdateIPRequest(request: UpdateIPRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.baremetal.v1.marshalling.marshal_UpdateServerRequest(request: UpdateServerRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.baremetal.v1.marshalling.marshal_UpdateSettingRequest(request: UpdateSettingRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.baremetal.v1.marshalling.marshal_ValidatePartitioningSchemaRequest(request: ValidatePartitioningSchemaRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.baremetal.v1.marshalling.unmarshal_BMCAccess(data: Any) BMCAccess
scaleway_async.baremetal.v1.marshalling.unmarshal_CPU(data: Any) CPU
scaleway_async.baremetal.v1.marshalling.unmarshal_CertificationOption(data: Any) CertificationOption
scaleway_async.baremetal.v1.marshalling.unmarshal_Disk(data: Any) Disk
scaleway_async.baremetal.v1.marshalling.unmarshal_GPU(data: Any) GPU
scaleway_async.baremetal.v1.marshalling.unmarshal_GetServerMetricsResponse(data: Any) GetServerMetricsResponse
scaleway_async.baremetal.v1.marshalling.unmarshal_IP(data: Any) IP
scaleway_async.baremetal.v1.marshalling.unmarshal_LicenseOption(data: Any) LicenseOption
scaleway_async.baremetal.v1.marshalling.unmarshal_ListOSResponse(data: Any) ListOSResponse
scaleway_async.baremetal.v1.marshalling.unmarshal_ListOffersResponse(data: Any) ListOffersResponse
scaleway_async.baremetal.v1.marshalling.unmarshal_ListOptionsResponse(data: Any) ListOptionsResponse
scaleway_async.baremetal.v1.marshalling.unmarshal_ListServerEventsResponse(data: Any) ListServerEventsResponse
scaleway_async.baremetal.v1.marshalling.unmarshal_ListServerPrivateNetworksResponse(data: Any) ListServerPrivateNetworksResponse
scaleway_async.baremetal.v1.marshalling.unmarshal_ListServersResponse(data: Any) ListServersResponse
scaleway_async.baremetal.v1.marshalling.unmarshal_ListSettingsResponse(data: Any) ListSettingsResponse
scaleway_async.baremetal.v1.marshalling.unmarshal_Memory(data: Any) Memory
scaleway_async.baremetal.v1.marshalling.unmarshal_OS(data: Any) OS
scaleway_async.baremetal.v1.marshalling.unmarshal_OSOSField(data: Any) OSOSField
scaleway_async.baremetal.v1.marshalling.unmarshal_Offer(data: Any) Offer
scaleway_async.baremetal.v1.marshalling.unmarshal_OfferOptionOffer(data: Any) OfferOptionOffer
scaleway_async.baremetal.v1.marshalling.unmarshal_Option(data: Any) Option
scaleway_async.baremetal.v1.marshalling.unmarshal_PersistentMemory(data: Any) PersistentMemory
scaleway_async.baremetal.v1.marshalling.unmarshal_PrivateNetworkOption(data: Any) PrivateNetworkOption
scaleway_async.baremetal.v1.marshalling.unmarshal_PublicBandwidthOption(data: Any) PublicBandwidthOption
scaleway_async.baremetal.v1.marshalling.unmarshal_RaidController(data: Any) RaidController
scaleway_async.baremetal.v1.marshalling.unmarshal_RemoteAccessOption(data: Any) RemoteAccessOption
scaleway_async.baremetal.v1.marshalling.unmarshal_Schema(data: Any) Schema
scaleway_async.baremetal.v1.marshalling.unmarshal_SchemaDisk(data: Any) SchemaDisk
scaleway_async.baremetal.v1.marshalling.unmarshal_SchemaFilesystem(data: Any) SchemaFilesystem
scaleway_async.baremetal.v1.marshalling.unmarshal_SchemaPartition(data: Any) SchemaPartition
scaleway_async.baremetal.v1.marshalling.unmarshal_SchemaPool(data: Any) SchemaPool
scaleway_async.baremetal.v1.marshalling.unmarshal_SchemaRAID(data: Any) SchemaRAID
scaleway_async.baremetal.v1.marshalling.unmarshal_SchemaZFS(data: Any) SchemaZFS
scaleway_async.baremetal.v1.marshalling.unmarshal_Server(data: Any) Server
scaleway_async.baremetal.v1.marshalling.unmarshal_ServerEvent(data: Any) ServerEvent
scaleway_async.baremetal.v1.marshalling.unmarshal_ServerInstall(data: Any) ServerInstall
scaleway_async.baremetal.v1.marshalling.unmarshal_ServerOption(data: Any) ServerOption
scaleway_async.baremetal.v1.marshalling.unmarshal_ServerPrivateNetwork(data: Any) ServerPrivateNetwork
scaleway_async.baremetal.v1.marshalling.unmarshal_ServerRescueServer(data: Any) ServerRescueServer
scaleway_async.baremetal.v1.marshalling.unmarshal_SetServerPrivateNetworksResponse(data: Any) SetServerPrivateNetworksResponse
scaleway_async.baremetal.v1.marshalling.unmarshal_Setting(data: Any) Setting

scaleway_async.baremetal.v1.types module

class scaleway_async.baremetal.v1.types.AddOptionServerRequest(server_id: 'str', option_id: 'str', zone: 'Optional[ScwZone]' = None, expires_at: 'Optional[datetime]' = None)

Bases: object

expires_at: datetime | None = None

Auto expire the option after this date.

option_id: str

ID of the option to add.

server_id: str

ID of the server.

zone: str | None = None

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

class scaleway_async.baremetal.v1.types.BMCAccess(url: 'str', login: 'str', password: 'str', expires_at: 'Optional[datetime]' = None)

Bases: object

expires_at: datetime | None = None

The date after which the BMC (Baseboard Management Controller) access will be closed.

login: str

The login to use for the BMC (Baseboard Management Controller) access authentification.

password: str

The password to use for the BMC (Baseboard Management Controller) access authentification.

url: str

URL to access to the server console.

class scaleway_async.baremetal.v1.types.CPU(name: 'str', core_count: 'int', thread_count: 'int', frequency: 'int', benchmark: 'str')

Bases: object

benchmark: str

Benchmark of the CPU.

core_count: int

Number of CPU cores.

frequency: int

Frequency of the CPU in MHz.

name: str

Name of the CPU.

thread_count: int

Number CPU threads.

class scaleway_async.baremetal.v1.types.CertificationOption

Bases: object

class scaleway_async.baremetal.v1.types.CreateServerRequest(offer_id: 'str', name: 'str', description: 'str', protected: 'bool', zone: 'Optional[ScwZone]' = None, tags: 'Optional[List[str]]' = <factory>, install: 'Optional[CreateServerRequestInstall]' = None, option_ids: 'Optional[List[str]]' = <factory>, project_id: 'Optional[str]' = None, organization_id: 'Optional[str]' = None)

Bases: object

description: str

Description associated with the server, max 255 characters.

install: CreateServerRequestInstall | None = None

Object describing the configuration details of the OS installation on the server.

name: str

Name of the server (≠hostname).

offer_id: str

Offer ID of the new server.

option_ids: List[str] | None

IDs of options to enable on server.

organization_id: str | None = None
project_id: str | None = None
protected: bool

If enabled, the server can not be deleted.

tags: List[str] | None

Tags to associate to the server.

zone: str | None = None

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

class scaleway_async.baremetal.v1.types.CreateServerRequestInstall(os_id: 'str', hostname: 'str', ssh_key_ids: 'List[str]', user: 'Optional[str]' = None, password: 'Optional[str]' = None, service_user: 'Optional[str]' = None, service_password: 'Optional[str]' = None, partitioning_schema: 'Optional[Schema]' = None)

Bases: object

hostname: str

Hostname of the server.

os_id: str

ID of the OS to installation on the server.

partitioning_schema: Schema | None = None

Partitioning schema.

password: str | None = None

Password for the installation.

service_password: str | None = None

Password used for the service to install.

service_user: str | None = None

Regular user that runs the service to be installed on the server.

ssh_key_ids: List[str]

SSH key IDs authorized on the server.

user: str | None = None

User for the installation.

class scaleway_async.baremetal.v1.types.DeleteOptionServerRequest(server_id: 'str', option_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

option_id: str

ID of the option to delete.

server_id: str

ID of the server.

zone: str | None = None

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

class scaleway_async.baremetal.v1.types.DeleteServerRequest(server_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

server_id: str

ID of the server to delete.

zone: str | None = None

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

class scaleway_async.baremetal.v1.types.Disk(capacity: 'int', type_: 'str')

Bases: object

capacity: int

Capacity of the disk in bytes.

type_: str

Type of the disk.

class scaleway_async.baremetal.v1.types.GPU(name: 'str', vram: 'int')

Bases: object

name: str

Name of the GPU.

vram: int

Capacity of the vram in bytes.

class scaleway_async.baremetal.v1.types.GetBMCAccessRequest(server_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

server_id: str

ID of the server.

zone: str | None = None

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

class scaleway_async.baremetal.v1.types.GetDefaultPartitioningSchemaRequest(offer_id: 'str', os_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

offer_id: str

ID of the offer.

os_id: str

ID of the OS.

zone: str | None = None

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

class scaleway_async.baremetal.v1.types.GetOSRequest(os_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

os_id: str

ID of the OS.

zone: str | None = None

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

class scaleway_async.baremetal.v1.types.GetOfferRequest(offer_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

offer_id: str

ID of the researched Offer.

zone: str | None = None

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

class scaleway_async.baremetal.v1.types.GetOptionRequest(option_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

option_id: str

ID of the option.

zone: str | None = None

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

class scaleway_async.baremetal.v1.types.GetServerMetricsRequest(server_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

server_id: str

Server ID to get the metrics.

zone: str | None = None

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

class scaleway_async.baremetal.v1.types.GetServerMetricsResponse(pings: 'Optional[TimeSeries]' = None)

Bases: object

pings: TimeSeries | None = None

Timeseries object representing pings on the server.

class scaleway_async.baremetal.v1.types.GetServerRequest(server_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

server_id: str

ID of the server.

zone: str | None = None

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

class scaleway_async.baremetal.v1.types.IP(id: 'str', address: 'str', reverse: 'str', version: 'IPVersion', reverse_status: 'IPReverseStatus', reverse_status_message: 'str')

Bases: object

address: str

Address of the IP.

id: str

ID of the IP.

reverse: str

Reverse IP value.

reverse_status: IPReverseStatus

Status of the reverse.

reverse_status_message: str

A message related to the reverse status, e.g. in case of an error.

version: IPVersion

Version of IP (v4 or v6).

class scaleway_async.baremetal.v1.types.IPReverseStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

ACTIVE = 'active'
ERROR = 'error'
PENDING = 'pending'
UNKNOWN = 'unknown'
class scaleway_async.baremetal.v1.types.IPVersion(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

I_PV4 = 'i_pv4'
I_PV6 = 'i_pv6'
class scaleway_async.baremetal.v1.types.InstallServerRequest(server_id: 'str', os_id: 'str', hostname: 'str', ssh_key_ids: 'List[str]', zone: 'Optional[ScwZone]' = None, user: 'Optional[str]' = None, password: 'Optional[str]' = None, service_user: 'Optional[str]' = None, service_password: 'Optional[str]' = None, partitioning_schema: 'Optional[Schema]' = None)

Bases: object

hostname: str

Hostname of the server.

os_id: str

ID of the OS to installation on the server.

partitioning_schema: Schema | None = None

Partitioning schema.

password: str | None = None

Password used for the installation.

server_id: str

Server ID to install.

service_password: str | None = None

Password used for the service to install.

service_user: str | None = None

User used for the service to install.

ssh_key_ids: List[str]

SSH key IDs authorized on the server.

user: str | None = None

User used for the installation.

zone: str | None = None

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

class scaleway_async.baremetal.v1.types.LicenseOption(os_id: 'str')

Bases: object

os_id: str
class scaleway_async.baremetal.v1.types.ListOSRequest(zone: 'Optional[ScwZone]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, offer_id: 'Optional[str]' = None)

Bases: object

offer_id: str | None = None

Offer IDs to filter OSes for.

page: int | None = 0

Page number.

page_size: int | None = 0

Number of OS per page.

zone: str | None = None

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

class scaleway_async.baremetal.v1.types.ListOSResponse(total_count: 'int', os: 'List[OS]')

Bases: object

os: List[OS]

OS that match filters.

total_count: int

Total count of matching OS.

class scaleway_async.baremetal.v1.types.ListOffersRequest(zone: 'Optional[ScwZone]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, subscription_period: 'Optional[OfferSubscriptionPeriod]' = <OfferSubscriptionPeriod.UNKNOWN_SUBSCRIPTION_PERIOD: 'unknown_subscription_period'>, name: 'Optional[str]' = None)

Bases: object

name: str | None = None

Offer name to filter offers by.

page: int | None = 0

Page number.

page_size: int | None = 0

Number of offers per page.

subscription_period: OfferSubscriptionPeriod | None = 'unknown_subscription_period'

Subscription period type to filter offers by.

zone: str | None = None

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

class scaleway_async.baremetal.v1.types.ListOffersResponse(total_count: 'int', offers: 'List[Offer]')

Bases: object

offers: List[Offer]

Offers that match filters.

total_count: int

Total count of matching offers.

class scaleway_async.baremetal.v1.types.ListOptionsRequest(zone: 'Optional[ScwZone]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, offer_id: 'Optional[str]' = None, name: 'Optional[str]' = None)

Bases: object

name: str | None = None

Name to filter options for.

offer_id: str | None = None

Offer ID to filter options for.

page: int | None = 0

Page number.

page_size: int | None = 0

Number of options per page.

zone: str | None = None

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

class scaleway_async.baremetal.v1.types.ListOptionsResponse(total_count: 'int', options: 'List[Option]')

Bases: object

options: List[Option]

Options that match filters.

total_count: int

Total count of matching options.

class scaleway_async.baremetal.v1.types.ListServerEventsRequest(server_id: 'str', zone: 'Optional[ScwZone]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, order_by: 'Optional[ListServerEventsRequestOrderBy]' = <ListServerEventsRequestOrderBy.CREATED_AT_ASC: 'created_at_asc'>)

Bases: object

order_by: ListServerEventsRequestOrderBy | None = 'created_at_asc'

Order of the server events.

page: int | None = 0

Page number.

page_size: int | None = 0

Number of server events per page.

server_id: str

ID of the server events searched.

zone: str | None = None

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

class scaleway_async.baremetal.v1.types.ListServerEventsRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway_async.baremetal.v1.types.ListServerEventsResponse(total_count: 'int', events: 'List[ServerEvent]')

Bases: object

events: List[ServerEvent]

Server events that match filters.

total_count: int

Total count of matching events.

class scaleway_async.baremetal.v1.types.ListServerPrivateNetworksRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

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

Bases: object

server_private_networks: List[ServerPrivateNetwork]
total_count: int
class scaleway_async.baremetal.v1.types.ListServersRequest(zone: 'Optional[ScwZone]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, order_by: 'Optional[ListServersRequestOrderBy]' = <ListServersRequestOrderBy.CREATED_AT_ASC: 'created_at_asc'>, tags: 'Optional[List[str]]' = <factory>, status: 'Optional[List[str]]' = <factory>, name: 'Optional[str]' = None, organization_id: 'Optional[str]' = None, project_id: 'Optional[str]' = None, option_id: 'Optional[str]' = None)

Bases: object

name: str | None = None

Names to filter for.

option_id: str | None = None

Option ID to filter for.

order_by: ListServersRequestOrderBy | None = 'created_at_asc'

Order of the servers.

organization_id: str | None = None

Organization ID to filter for.

page: int | None = 0

Page number.

page_size: int | None = 0

Number of servers per page.

project_id: str | None = None

Project ID to filter for.

status: List[str] | None

Status to filter for.

tags: List[str] | None

Tags to filter for.

zone: str | None = None

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

class scaleway_async.baremetal.v1.types.ListServersRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway_async.baremetal.v1.types.ListServersResponse(total_count: 'int', servers: 'List[Server]')

Bases: object

servers: List[Server]

Array of Elastic Metal server objects matching the filters in the request.

total_count: int

Total count of matching servers.

class scaleway_async.baremetal.v1.types.ListSettingsRequest(zone: 'Optional[ScwZone]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, order_by: 'Optional[ListSettingsRequestOrderBy]' = <ListSettingsRequestOrderBy.CREATED_AT_ASC: 'created_at_asc'>, project_id: 'Optional[str]' = None)

Bases: object

order_by: ListSettingsRequestOrderBy | None = 'created_at_asc'

Sort order for items in the response.

page: int | None = 0

Page number.

page_size: int | None = 0

Set the maximum list size.

project_id: str | None = None

ID of the Project.

zone: str | None = None

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

class scaleway_async.baremetal.v1.types.ListSettingsRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway_async.baremetal.v1.types.ListSettingsResponse(total_count: 'int', settings: 'List[Setting]')

Bases: object

settings: List[Setting]

Settings that match filters.

total_count: int

Total count of matching settings.

class scaleway_async.baremetal.v1.types.Memory(capacity: 'int', type_: 'str', frequency: 'int', is_ecc: 'bool')

Bases: object

capacity: int

Capacity of the memory in bytes.

frequency: int

Frequency of the memory in MHz.

is_ecc: bool

True if the memory is an error-correcting code memory.

type_: str

Type of the memory.

class scaleway_async.baremetal.v1.types.MigrateServerToMonthlyOfferRequest(server_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

server_id: str

ID of the server.

zone: str | None = None

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

class scaleway_async.baremetal.v1.types.OS(id: 'str', name: 'str', version: 'str', logo_url: 'str', enabled: 'bool', license_required: 'bool', allowed: 'bool', custom_partitioning_supported: 'bool', ssh: 'Optional[OSOSField]' = None, user: 'Optional[OSOSField]' = None, password: 'Optional[OSOSField]' = None, service_user: 'Optional[OSOSField]' = None, service_password: 'Optional[OSOSField]' = None)

Bases: object

allowed: bool

Defines if a specific Organization is allowed to install this OS type.

custom_partitioning_supported: bool

Defines if custom partitioning is supported by this OS.

enabled: bool

Defines if the operating system is enabled or not.

id: str

ID of the OS.

license_required: bool

License required (check server options for pricing details).

logo_url: str

URL of this OS’s logo.

name: str

Name of the OS.

password: OSOSField | None = None

Object defining the password requirements to install the OS.

service_password: OSOSField | None = None

Object defining the password requirements to install the service.

service_user: OSOSField | None = None

Object defining the username requirements to install the service.

ssh: OSOSField | None = None

Object defining the SSH requirements to install the OS.

user: OSOSField | None = None

Object defining the username requirements to install the OS.

version: str

Version of the OS.

class scaleway_async.baremetal.v1.types.OSOSField(editable: 'bool', required: 'bool', default_value: 'Optional[str]' = None)

Bases: object

default_value: str | None = None
editable: bool
required: bool
class scaleway_async.baremetal.v1.types.Offer(id: 'str', name: 'str', stock: 'OfferStock', bandwidth: 'int', max_bandwidth: 'int', commercial_range: 'str', disks: 'List[Disk]', enable: 'bool', cpus: 'List[CPU]', memories: 'List[Memory]', quota_name: 'str', persistent_memories: 'List[PersistentMemory]', raid_controllers: 'List[RaidController]', incompatible_os_ids: 'List[str]', subscription_period: 'OfferSubscriptionPeriod', operation_path: 'str', options: 'List[OfferOptionOffer]', private_bandwidth: 'int', shared_bandwidth: 'bool', tags: 'List[str]', gpus: 'List[GPU]', price_per_hour: 'Optional[Money]' = None, price_per_month: 'Optional[Money]' = None, fee: 'Optional[Money]' = None, monthly_offer_id: 'Optional[str]' = None)

Bases: object

bandwidth: int

Public bandwidth available (in bits/s) with the offer.

commercial_range: str

Commercial range of the offer.

cpus: List[CPU]

CPU specifications of the offer.

disks: List[Disk]

Disks specifications of the offer.

enable: bool

Defines whether the offer is currently available.

fee: Money | None = None

One time fee invoiced by Scaleway for the setup and activation of the server.

gpus: List[GPU]

GPU specifications of the offer.

id: str

ID of the offer.

incompatible_os_ids: List[str]

Array of OS images IDs incompatible with the server.

max_bandwidth: int

Maximum public bandwidth available (in bits/s) depending on available options.

memories: List[Memory]

Memory specifications of the offer.

monthly_offer_id: str | None = None

Exist only for hourly offers, to migrate to the monthly offer.

name: str

Name of the offer.

operation_path: str

Operation path of the service.

options: List[OfferOptionOffer]

Available options for customization of the server.

persistent_memories: List[PersistentMemory]

Persistent memory specifications of the offer.

price_per_hour: Money | None = None

Price of the offer for the next 60 minutes (a server order at 11h32 will be paid until 12h32).

price_per_month: Money | None = None

Monthly price of the offer, if subscribing on a monthly basis.

private_bandwidth: int

Private bandwidth available in bits/s with the offer.

quota_name: str

Name of the quota associated to the offer.

raid_controllers: List[RaidController]

Raid controller specifications of the offer.

shared_bandwidth: bool

Defines whether the offer’s bandwidth is shared or not.

stock: OfferStock

Stock level.

subscription_period: OfferSubscriptionPeriod

Period of subscription for the offer.

tags: List[str]

Array of tags attached to the offer.

class scaleway_async.baremetal.v1.types.OfferOptionOffer(id: 'str', name: 'str', enabled: 'bool', subscription_period: 'OfferSubscriptionPeriod', manageable: 'bool', price: 'Optional[Money]' = None, os_id: 'Optional[str]' = None, license: 'Optional[LicenseOption]' = None, public_bandwidth: 'Optional[PublicBandwidthOption]' = None, private_network: 'Optional[PrivateNetworkOption]' = None, remote_access: 'Optional[RemoteAccessOption]' = None, certification: 'Optional[CertificationOption]' = None)

Bases: object

certification: CertificationOption | None = None
enabled: bool

If true the option is enabled and included by default in the offer

If false the option is available for the offer but not included by default.

id: str

ID of the option.

license: LicenseOption | None = None
manageable: bool

Boolean to know if option could be managed.

name: str

Name of the option.

os_id: str | None = None

Deprecated, use LicenseOptionVars.os_id instead.

price: Money | None = None

Price of the option.

private_network: PrivateNetworkOption | None = None
public_bandwidth: PublicBandwidthOption | None = None
remote_access: RemoteAccessOption | None = None
subscription_period: OfferSubscriptionPeriod

Period of subscription for the offer.

class scaleway_async.baremetal.v1.types.OfferStock(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

AVAILABLE = 'available'
EMPTY = 'empty'
LOW = 'low'
class scaleway_async.baremetal.v1.types.OfferSubscriptionPeriod(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

HOURLY = 'hourly'
MONTHLY = 'monthly'
UNKNOWN_SUBSCRIPTION_PERIOD = 'unknown_subscription_period'
class scaleway_async.baremetal.v1.types.Option(id: 'str', name: 'str', manageable: 'bool', license: 'Optional[LicenseOption]' = None, public_bandwidth: 'Optional[PublicBandwidthOption]' = None, private_network: 'Optional[PrivateNetworkOption]' = None, remote_access: 'Optional[RemoteAccessOption]' = None, certification: 'Optional[CertificationOption]' = None)

Bases: object

certification: CertificationOption | None = None
id: str

ID of the option.

license: LicenseOption | None = None
manageable: bool

Defines whether the option is manageable (could be added or removed).

name: str

Name of the option.

private_network: PrivateNetworkOption | None = None
public_bandwidth: PublicBandwidthOption | None = None
remote_access: RemoteAccessOption | None = None
class scaleway_async.baremetal.v1.types.PersistentMemory(capacity: 'int', type_: 'str', frequency: 'int')

Bases: object

capacity: int

Capacity of the memory in bytes.

frequency: int

Frequency of the memory in MHz.

type_: str

Type of the memory.

class scaleway_async.baremetal.v1.types.PrivateNetworkApiAddServerPrivateNetworkRequest(server_id: 'str', private_network_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

private_network_id: str

The ID of the Private Network.

server_id: str

The ID of the server.

zone: str | None = None

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

class scaleway_async.baremetal.v1.types.PrivateNetworkApiDeleteServerPrivateNetworkRequest(server_id: 'str', private_network_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

private_network_id: str

The ID of the Private Network.

server_id: str

The ID of the server.

zone: str | None = None

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

class scaleway_async.baremetal.v1.types.PrivateNetworkApiListServerPrivateNetworksRequest(zone: 'Optional[ScwZone]' = None, order_by: 'Optional[ListServerPrivateNetworksRequestOrderBy]' = <ListServerPrivateNetworksRequestOrderBy.CREATED_AT_ASC: 'created_at_asc'>, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, server_id: 'Optional[str]' = None, private_network_id: 'Optional[str]' = None, organization_id: 'Optional[str]' = None, project_id: 'Optional[str]' = None)

Bases: object

order_by: ListServerPrivateNetworksRequestOrderBy | None = 'created_at_asc'

The sort order for the returned Private Networks.

organization_id: str | None = None

Filter Private Networks by Organization ID.

page: int | None = 0

The page number for the returned Private Networks.

page_size: int | None = 0

The maximum number of Private Networks per page.

private_network_id: str | None = None

Filter Private Networks by Private Network ID.

project_id: str | None = None

Filter Private Networks by Project ID.

server_id: str | None = None

Filter Private Networks by server ID.

zone: str | None = None

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

class scaleway_async.baremetal.v1.types.PrivateNetworkApiSetServerPrivateNetworksRequest(server_id: 'str', private_network_ids: 'List[str]', zone: 'Optional[ScwZone]' = None)

Bases: object

private_network_ids: List[str]

The IDs of the Private Networks.

server_id: str

The ID of the server.

zone: str | None = None

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

class scaleway_async.baremetal.v1.types.PrivateNetworkOption(bandwidth_in_bps: 'int')

Bases: object

bandwidth_in_bps: int
class scaleway_async.baremetal.v1.types.PublicBandwidthOption(bandwidth_in_bps: 'int')

Bases: object

bandwidth_in_bps: int
class scaleway_async.baremetal.v1.types.RaidController(model: 'str', raid_level: 'List[str]')

Bases: object

model: str
raid_level: List[str]
class scaleway_async.baremetal.v1.types.RebootServerRequest(server_id: 'str', zone: 'Optional[ScwZone]' = None, boot_type: 'Optional[ServerBootType]' = <ServerBootType.UNKNOWN_BOOT_TYPE: 'unknown_boot_type'>, ssh_key_ids: 'Optional[List[str]]' = <factory>)

Bases: object

boot_type: ServerBootType | None = 'unknown_boot_type'

The type of boot.

server_id: str

ID of the server to reboot.

ssh_key_ids: List[str] | None

Additional SSH public key IDs to configure on rescue image.

zone: str | None = None

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

class scaleway_async.baremetal.v1.types.RemoteAccessOption

Bases: object

class scaleway_async.baremetal.v1.types.Schema(disks: 'List[SchemaDisk]', raids: 'List[SchemaRAID]', filesystems: 'List[SchemaFilesystem]', zfs: 'Optional[SchemaZFS]' = None)

Bases: object

disks: List[SchemaDisk]
filesystems: List[SchemaFilesystem]
raids: List[SchemaRAID]
zfs: SchemaZFS | None = None
class scaleway_async.baremetal.v1.types.SchemaDisk(device: 'str', partitions: 'List[SchemaPartition]')

Bases: object

device: str
partitions: List[SchemaPartition]
class scaleway_async.baremetal.v1.types.SchemaFilesystem(device: 'str', format: 'SchemaFilesystemFormat', mountpoint: 'str')

Bases: object

device: str
format: SchemaFilesystemFormat
mountpoint: str
class scaleway_async.baremetal.v1.types.SchemaFilesystemFormat(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

EXT4 = 'ext4'
FAT32 = 'fat32'
SWAP = 'swap'
UNKNOWN_FORMAT = 'unknown_format'
XFS = 'xfs'
ZFS = 'zfs'
class scaleway_async.baremetal.v1.types.SchemaPartition(label: 'SchemaPartitionLabel', number: 'int', size: 'int', use_all_available_space: 'bool')

Bases: object

label: SchemaPartitionLabel
number: int
size: int
use_all_available_space: bool
class scaleway_async.baremetal.v1.types.SchemaPartitionLabel(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

BOOT = 'boot'
DATA = 'data'
HOME = 'home'
LEGACY = 'legacy'
RAID = 'raid'
ROOT = 'root'
SWAP = 'swap'
UEFI = 'uefi'
UNKNOWN_PARTITION_LABEL = 'unknown_partition_label'
ZFS = 'zfs'
class scaleway_async.baremetal.v1.types.SchemaPool(name: 'str', type_: 'SchemaPoolType', devices: 'List[str]', options: 'List[str]', filesystem_options: 'List[str]')

Bases: object

devices: List[str]
filesystem_options: List[str]
name: str
options: List[str]
type_: SchemaPoolType
class scaleway_async.baremetal.v1.types.SchemaPoolType(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

MIRROR = 'mirror'
NO_RAID = 'no_raid'
RAIDZ1 = 'raidz1'
RAIDZ2 = 'raidz2'
UNKNOWN_TYPE = 'unknown_type'
class scaleway_async.baremetal.v1.types.SchemaRAID(name: 'str', level: 'SchemaRAIDLevel', devices: 'List[str]')

Bases: object

devices: List[str]
level: SchemaRAIDLevel
name: str
class scaleway_async.baremetal.v1.types.SchemaRAIDLevel(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

RAID_LEVEL_0 = 'raid_level_0'
RAID_LEVEL_1 = 'raid_level_1'
RAID_LEVEL_10 = 'raid_level_10'
RAID_LEVEL_5 = 'raid_level_5'
RAID_LEVEL_6 = 'raid_level_6'
UNKNOWN_RAID_LEVEL = 'unknown_raid_level'
class scaleway_async.baremetal.v1.types.SchemaZFS(pools: 'List[SchemaPool]')

Bases: object

pools: List[SchemaPool]
class scaleway_async.baremetal.v1.types.Server(id: 'str', organization_id: 'str', project_id: 'str', name: 'str', description: 'str', status: 'ServerStatus', offer_id: 'str', offer_name: 'str', tags: 'List[str]', ips: 'List[IP]', domain: 'str', boot_type: 'ServerBootType', zone: 'ScwZone', ping_status: 'ServerPingStatus', options: 'List[ServerOption]', protected: 'bool', updated_at: 'Optional[datetime]' = None, created_at: 'Optional[datetime]' = None, install: 'Optional[ServerInstall]' = None, rescue_server: 'Optional[ServerRescueServer]' = None)

Bases: object

boot_type: ServerBootType

Boot type of the server.

created_at: datetime | None = None

Creation date of the server.

description: str

Description of the server.

domain: str

Domain of the server.

id: str

ID of the server.

install: ServerInstall | None = None

Configuration of the installation.

ips: List[IP]

Array of IPs attached to the server.

name: str

Name of the server.

offer_id: str

Offer ID of the server.

offer_name: str

Offer name of the server.

options: List[ServerOption]

Options enabled on the server.

organization_id: str

Organization ID the server is attached to.

ping_status: ServerPingStatus

Status of server ping.

project_id: str

Project ID the server is attached to.

protected: bool

If enabled, the server can not be deleted.

rescue_server: ServerRescueServer | None = None

Configuration of rescue boot.

status: ServerStatus

Status of the server.

tags: List[str]

Array of custom tags attached to the server.

updated_at: datetime | None = None

Last modification date of the server.

zone: str

Zone in which is the server located.

class scaleway_async.baremetal.v1.types.ServerBootType(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

NORMAL = 'normal'
RESCUE = 'rescue'
UNKNOWN_BOOT_TYPE = 'unknown_boot_type'
class scaleway_async.baremetal.v1.types.ServerEvent(id: 'str', action: 'str', updated_at: 'Optional[datetime]' = None, created_at: 'Optional[datetime]' = None)

Bases: object

action: str

The action that will be applied to the server.

created_at: datetime | None = None

Date of creation of the action.

id: str

ID of the server to which the action will be applied.

updated_at: datetime | None = None

Date of last modification of the action.

class scaleway_async.baremetal.v1.types.ServerInstall(os_id: 'str', hostname: 'str', ssh_key_ids: 'List[str]', status: 'ServerInstallStatus', user: 'str', service_user: 'str', service_url: 'str', partitioning_schema: 'Optional[Schema]' = None)

Bases: object

hostname: str

Host defined during the server installation.

os_id: str

ID of the OS.

partitioning_schema: Schema | None = None

Partitioning schema.

service_url: str

Address of the installed service.

service_user: str

Service user defined in the server installation, or the default user if none were specified.

ssh_key_ids: List[str]

SSH public key IDs defined during server installation.

status: ServerInstallStatus

Status of the server installation.

user: str

User defined in the server installation, or the default user if none were specified.

class scaleway_async.baremetal.v1.types.ServerInstallStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

COMPLETED = 'completed'
ERROR = 'error'
INSTALLING = 'installing'
TO_INSTALL = 'to_install'
UNKNOWN = 'unknown'
class scaleway_async.baremetal.v1.types.ServerOption(id: 'str', name: 'str', status: 'ServerOptionOptionStatus', manageable: 'bool', expires_at: 'Optional[datetime]' = None, license: 'Optional[LicenseOption]' = None, public_bandwidth: 'Optional[PublicBandwidthOption]' = None, private_network: 'Optional[PrivateNetworkOption]' = None, remote_access: 'Optional[RemoteAccessOption]' = None, certification: 'Optional[CertificationOption]' = None)

Bases: object

certification: CertificationOption | None = None
expires_at: datetime | None = None

Auto expiration date for compatible options.

id: str

ID of the option.

license: LicenseOption | None = None
manageable: bool

Defines whether the option can be managed (added or removed).

name: str

Name of the option.

private_network: PrivateNetworkOption | None = None
public_bandwidth: PublicBandwidthOption | None = None
remote_access: RemoteAccessOption | None = None
status: ServerOptionOptionStatus

Status of the option on this server.

class scaleway_async.baremetal.v1.types.ServerOptionOptionStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

OPTION_STATUS_DISABLING = 'option_status_disabling'
OPTION_STATUS_ENABLE = 'option_status_enable'
OPTION_STATUS_ENABLING = 'option_status_enabling'
OPTION_STATUS_ERROR = 'option_status_error'
OPTION_STATUS_UNKNOWN = 'option_status_unknown'
class scaleway_async.baremetal.v1.types.ServerPingStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

PING_STATUS_DOWN = 'ping_status_down'
PING_STATUS_UNKNOWN = 'ping_status_unknown'
PING_STATUS_UP = 'ping_status_up'
class scaleway_async.baremetal.v1.types.ServerPrivateNetwork(id: 'str', project_id: 'str', server_id: 'str', private_network_id: 'str', status: 'ServerPrivateNetworkStatus', vlan: 'Optional[int]' = 0, created_at: 'Optional[datetime]' = None, updated_at: 'Optional[datetime]' = None)

Bases: object

created_at: datetime | None = None

The Private Network creation date.

id: str

The Private Network ID.

private_network_id: str

The Private Network ID.

project_id: str

The Private Network Project ID.

server_id: str

The server ID.

status: ServerPrivateNetworkStatus

The configuration status of the Private Network.

updated_at: datetime | None = None

The date the Private Network was last modified.

vlan: int | None = 0

The VLAN ID associated to the Private Network.

class scaleway_async.baremetal.v1.types.ServerPrivateNetworkStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

ATTACHED = 'attached'
ATTACHING = 'attaching'
DETACHING = 'detaching'
ERROR = 'error'
LOCKED = 'locked'
UNKNOWN = 'unknown'
class scaleway_async.baremetal.v1.types.ServerRescueServer(user: 'str', password: 'str')

Bases: object

password: str

Rescue password.

user: str

Rescue user name.

class scaleway_async.baremetal.v1.types.ServerStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

DELETING = 'deleting'
DELIVERING = 'delivering'
ERROR = 'error'
LOCKED = 'locked'
MIGRATING = 'migrating'
ORDERED = 'ordered'
OUT_OF_STOCK = 'out_of_stock'
READY = 'ready'
RESETTING = 'resetting'
STARTING = 'starting'
STOPPED = 'stopped'
STOPPING = 'stopping'
UNKNOWN = 'unknown'
class scaleway_async.baremetal.v1.types.SetServerPrivateNetworksResponse(server_private_networks: 'List[ServerPrivateNetwork]')

Bases: object

server_private_networks: List[ServerPrivateNetwork]
class scaleway_async.baremetal.v1.types.Setting(id: 'str', type_: 'SettingType', project_id: 'str', enabled: 'bool')

Bases: object

enabled: bool

Defines whether the setting is enabled.

id: str

ID of the setting.

project_id: str

ID of the Project ID.

type_: SettingType

Type of the setting.

class scaleway_async.baremetal.v1.types.SettingType(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

SMTP = 'smtp'
UNKNOWN = 'unknown'
class scaleway_async.baremetal.v1.types.StartBMCAccessRequest(server_id: 'str', ip: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

ip: str

The IP authorized to connect to the server.

server_id: str

ID of the server.

zone: str | None = None

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

class scaleway_async.baremetal.v1.types.StartServerRequest(server_id: 'str', zone: 'Optional[ScwZone]' = None, boot_type: 'Optional[ServerBootType]' = <ServerBootType.UNKNOWN_BOOT_TYPE: 'unknown_boot_type'>, ssh_key_ids: 'Optional[List[str]]' = <factory>)

Bases: object

boot_type: ServerBootType | None = 'unknown_boot_type'

The type of boot.

server_id: str

ID of the server to start.

ssh_key_ids: List[str] | None

Additional SSH public key IDs to configure on rescue image.

zone: str | None = None

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

class scaleway_async.baremetal.v1.types.StopBMCAccessRequest(server_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

server_id: str

ID of the server.

zone: str | None = None

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

class scaleway_async.baremetal.v1.types.StopServerRequest(server_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

server_id: str

ID of the server to stop.

zone: str | None = None

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

class scaleway_async.baremetal.v1.types.UpdateIPRequest(server_id: 'str', ip_id: 'str', zone: 'Optional[ScwZone]' = None, reverse: 'Optional[str]' = None)

Bases: object

ip_id: str

ID of the IP to update.

reverse: str | None = None

New reverse IP to update, not updated if null.

server_id: str

ID of the server.

zone: str | None = None

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

class scaleway_async.baremetal.v1.types.UpdateServerRequest(server_id: 'str', zone: 'Optional[ScwZone]' = None, name: 'Optional[str]' = None, description: 'Optional[str]' = None, tags: 'Optional[List[str]]' = <factory>, protected: 'Optional[bool]' = False)

Bases: object

description: str | None = None

Description associated with the server, max 255 characters, not updated if null.

name: str | None = None

Name of the server (≠hostname), not updated if null.

protected: bool | None = False

If enabled, the server can not be deleted.

server_id: str

ID of the server to update.

tags: List[str] | None

Tags associated with the server, not updated if null.

zone: str | None = None

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

class scaleway_async.baremetal.v1.types.UpdateSettingRequest(setting_id: 'str', zone: 'Optional[ScwZone]' = None, enabled: 'Optional[bool]' = False)

Bases: object

enabled: bool | None = False

Defines whether the setting is enabled.

setting_id: str

ID of the setting.

zone: str | None = None

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

class scaleway_async.baremetal.v1.types.ValidatePartitioningSchemaRequest(offer_id: 'str', os_id: 'str', zone: 'Optional[ScwZone]' = None, partitioning_schema: 'Optional[Schema]' = None)

Bases: object

offer_id: str

Offer ID of the server.

os_id: str

OS ID.

partitioning_schema: Schema | None = None

Partitioning schema.

zone: str | None = None

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

Module contents

class scaleway_async.baremetal.v1.AddOptionServerRequest(server_id: 'str', option_id: 'str', zone: 'Optional[ScwZone]' = None, expires_at: 'Optional[datetime]' = None)

Bases: object

expires_at: datetime | None = None

Auto expire the option after this date.

option_id: str

ID of the option to add.

server_id: str

ID of the server.

zone: str | None = None

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

class scaleway_async.baremetal.v1.BMCAccess(url: 'str', login: 'str', password: 'str', expires_at: 'Optional[datetime]' = None)

Bases: object

expires_at: datetime | None = None

The date after which the BMC (Baseboard Management Controller) access will be closed.

login: str

The login to use for the BMC (Baseboard Management Controller) access authentification.

password: str

The password to use for the BMC (Baseboard Management Controller) access authentification.

url: str

URL to access to the server console.

class scaleway_async.baremetal.v1.BaremetalV1API(client: Client, *, bypass_validation: bool = False)

Bases: API

This API allows you to manage your Elastic Metal servers.

async add_option_server(*, server_id: str, option_id: str, zone: str | None = None, expires_at: datetime | None = None) Server

Add server option. Add an option, such as Private Networks, to a specific server. :param server_id: ID of the server. :param option_id: ID of the option to add. :param zone: Zone to target. If none is passed will use default zone from the config. :param expires_at: Auto expire the option after this date. :return: Server

Usage:

result = await api.add_option_server(
    server_id="example",
    option_id="example",
)
async create_server(*, offer_id: str, name: str, description: str, protected: bool, zone: str | None = None, organization_id: str | None = None, project_id: str | None = None, tags: List[str] | None = None, install: CreateServerRequestInstall | None = None, option_ids: List[str] | None = None) Server

Create an Elastic Metal server. Create a new Elastic Metal server. Once the server is created, proceed with the [installation of an OS](#post-3e949e). :param offer_id: Offer ID of the new server. :param name: Name of the server (≠hostname). :param description: Description associated with the server, max 255 characters. :param protected: If enabled, the server can not be deleted. :param zone: Zone to target. If none is passed will use default zone from the config. :param organization_id: Organization ID with which the server will be created. One-Of (‘project_identifier’): at most one of ‘project_id’, ‘organization_id’ could be set. :param project_id: Project ID with which the server will be created. One-Of (‘project_identifier’): at most one of ‘project_id’, ‘organization_id’ could be set. :param tags: Tags to associate to the server. :param install: Object describing the configuration details of the OS installation on the server. :param option_ids: IDs of options to enable on server. :return: Server

Usage:

result = await api.create_server(
    offer_id="example",
    name="example",
    description="example",
    protected=False,
)
async delete_option_server(*, server_id: str, option_id: str, zone: str | None = None) Server

Delete server option. Delete an option from a specific server. :param server_id: ID of the server. :param option_id: ID of the option to delete. :param zone: Zone to target. If none is passed will use default zone from the config. :return: Server

Usage:

result = await api.delete_option_server(
    server_id="example",
    option_id="example",
)
async delete_server(*, server_id: str, zone: str | None = None) Server

Delete an Elastic Metal server. Delete the server associated with the ID. :param server_id: ID of the server to delete. :param zone: Zone to target. If none is passed will use default zone from the config. :return: Server

Usage:

result = await api.delete_server(
    server_id="example",
)
async get_bmc_access(*, server_id: str, zone: str | None = None) BMCAccess

Get BMC access. Get the BMC (Baseboard Management Controller) access associated with the ID, including the URL and login information needed to connect. :param server_id: ID of the server. :param zone: Zone to target. If none is passed will use default zone from the config. :return: BMCAccess

Usage:

result = await api.get_bmc_access(
    server_id="example",
)
async get_default_partitioning_schema(*, offer_id: str, os_id: str, zone: str | None = None) Schema

Get default partitioning schema. Get the default partitioning schema for the given offer ID and OS ID. :param offer_id: ID of the offer. :param os_id: ID of the OS. :param zone: Zone to target. If none is passed will use default zone from the config. :return: Schema

Usage:

result = await api.get_default_partitioning_schema(
    offer_id="example",
    os_id="example",
)
async get_offer(*, offer_id: str, zone: str | None = None) Offer

Get offer. Get details of an offer identified by its offer ID. :param offer_id: ID of the researched Offer. :param zone: Zone to target. If none is passed will use default zone from the config. :return: Offer

Usage:

result = await api.get_offer(
    offer_id="example",
)
async get_option(*, option_id: str, zone: str | None = None) Option

Get option. Return specific option for the ID. :param option_id: ID of the option. :param zone: Zone to target. If none is passed will use default zone from the config. :return: Option

Usage:

result = await api.get_option(
    option_id="example",
)
async get_os(*, os_id: str, zone: str | None = None) OS

Get OS with an ID. Return the specific OS for the ID. :param os_id: ID of the OS. :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: str | None = None) Server

Get a specific Elastic Metal server. Get full details of an existing Elastic Metal server associated with the ID. :param server_id: ID of the server. :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_metrics(*, server_id: str, zone: str | None = None) GetServerMetricsResponse

Return server metrics. Get the ping status of the server associated with the ID. :param server_id: Server ID to get the metrics. :param zone: Zone to target. If none is passed will use default zone from the config. :return: GetServerMetricsResponse

Usage:

result = await api.get_server_metrics(
    server_id="example",
)
async install_server(*, server_id: str, os_id: str, hostname: str, ssh_key_ids: List[str], zone: str | None = None, user: str | None = None, password: str | None = None, service_user: str | None = None, service_password: str | None = None, partitioning_schema: Schema | None = None) Server

Install an Elastic Metal server. Install an Operating System (OS) on the Elastic Metal server with a specific ID. :param server_id: Server ID to install. :param os_id: ID of the OS to installation on the server. :param hostname: Hostname of the server. :param ssh_key_ids: SSH key IDs authorized on the server. :param zone: Zone to target. If none is passed will use default zone from the config. :param user: User used for the installation. :param password: Password used for the installation. :param service_user: User used for the service to install. :param service_password: Password used for the service to install. :param partitioning_schema: Partitioning schema. :return: Server

Usage:

result = await api.install_server(
    server_id="example",
    os_id="example",
    hostname="example",
    ssh_key_ids=[],
)
async list_offers(*, zone: str | None = None, page: int | None = None, page_size: int | None = None, subscription_period: OfferSubscriptionPeriod | None = None, name: str | None = None) ListOffersResponse

List offers. List all available Elastic Metal server configurations. :param zone: Zone to target. If none is passed will use default zone from the config. :param page: Page number. :param page_size: Number of offers per page. :param subscription_period: Subscription period type to filter offers by. :param name: Offer name to filter offers by. :return: ListOffersResponse

Usage:

result = await api.list_offers()
async list_offers_all(*, zone: str | None = None, page: int | None = None, page_size: int | None = None, subscription_period: OfferSubscriptionPeriod | None = None, name: str | None = None) List[Offer]

List offers. List all available Elastic Metal server configurations. :param zone: Zone to target. If none is passed will use default zone from the config. :param page: Page number. :param page_size: Number of offers per page. :param subscription_period: Subscription period type to filter offers by. :param name: Offer name to filter offers by. :return: List[Offer]

Usage:

result = await api.list_offers_all()
async list_options(*, zone: str | None = None, page: int | None = None, page_size: int | None = None, offer_id: str | None = None, name: str | None = None) ListOptionsResponse

List options. List all options matching with filters. :param zone: Zone to target. If none is passed will use default zone from the config. :param page: Page number. :param page_size: Number of options per page. :param offer_id: Offer ID to filter options for. :param name: Name to filter options for. :return: ListOptionsResponse

Usage:

result = await api.list_options()
async list_options_all(*, zone: str | None = None, page: int | None = None, page_size: int | None = None, offer_id: str | None = None, name: str | None = None) List[Option]

List options. List all options matching with filters. :param zone: Zone to target. If none is passed will use default zone from the config. :param page: Page number. :param page_size: Number of options per page. :param offer_id: Offer ID to filter options for. :param name: Name to filter options for. :return: List[Option]

Usage:

result = await api.list_options_all()
async list_os(*, zone: str | None = None, page: int | None = None, page_size: int | None = None, offer_id: str | None = None) ListOSResponse

List available OSes. List all OSes that are available for installation on Elastic Metal servers. :param zone: Zone to target. If none is passed will use default zone from the config. :param page: Page number. :param page_size: Number of OS per page. :param offer_id: Offer IDs to filter OSes for. :return: ListOSResponse

Usage:

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

List available OSes. List all OSes that are available for installation on Elastic Metal servers. :param zone: Zone to target. If none is passed will use default zone from the config. :param page: Page number. :param page_size: Number of OS per page. :param offer_id: Offer IDs to filter OSes for. :return: List[OS]

Usage:

result = await api.list_os_all()
async list_server_events(*, server_id: str, zone: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListServerEventsRequestOrderBy | None = None) ListServerEventsResponse

List server events. List event (i.e. start/stop/reboot) associated to the server ID. :param server_id: ID of the server events searched. :param zone: Zone to target. If none is passed will use default zone from the config. :param page: Page number. :param page_size: Number of server events per page. :param order_by: Order of the server events. :return: ListServerEventsResponse

Usage:

result = await api.list_server_events(
    server_id="example",
)
async list_server_events_all(*, server_id: str, zone: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListServerEventsRequestOrderBy | None = None) List[ServerEvent]

List server events. List event (i.e. start/stop/reboot) associated to the server ID. :param server_id: ID of the server events searched. :param zone: Zone to target. If none is passed will use default zone from the config. :param page: Page number. :param page_size: Number of server events per page. :param order_by: Order of the server events. :return: List[ServerEvent]

Usage:

result = await api.list_server_events_all(
    server_id="example",
)
async list_servers(*, zone: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListServersRequestOrderBy | None = None, tags: List[str] | None = None, status: List[str] | None = None, name: str | None = None, organization_id: str | None = None, project_id: str | None = None, option_id: str | None = None) ListServersResponse

List Elastic Metal servers for an Organization. List Elastic Metal servers for a specific Organization. :param zone: Zone to target. If none is passed will use default zone from the config. :param page: Page number. :param page_size: Number of servers per page. :param order_by: Order of the servers. :param tags: Tags to filter for. :param status: Status to filter for. :param name: Names to filter for. :param organization_id: Organization ID to filter for. :param project_id: Project ID to filter for. :param option_id: Option ID to filter for. :return: ListServersResponse

Usage:

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

List Elastic Metal servers for an Organization. List Elastic Metal servers for a specific Organization. :param zone: Zone to target. If none is passed will use default zone from the config. :param page: Page number. :param page_size: Number of servers per page. :param order_by: Order of the servers. :param tags: Tags to filter for. :param status: Status to filter for. :param name: Names to filter for. :param organization_id: Organization ID to filter for. :param project_id: Project ID to filter for. :param option_id: Option ID to filter for. :return: List[Server]

Usage:

result = await api.list_servers_all()
async list_settings(*, zone: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListSettingsRequestOrderBy | None = None, project_id: str | None = None) ListSettingsResponse

List all settings. Return all settings for a Project ID. :param zone: Zone to target. If none is passed will use default zone from the config. :param page: Page number. :param page_size: Set the maximum list size. :param order_by: Sort order for items in the response. :param project_id: ID of the Project. :return: ListSettingsResponse

Usage:

result = await api.list_settings()
async list_settings_all(*, zone: str | None = None, page: int | None = None, page_size: int | None = None, order_by: ListSettingsRequestOrderBy | None = None, project_id: str | None = None) List[Setting]

List all settings. Return all settings for a Project ID. :param zone: Zone to target. If none is passed will use default zone from the config. :param page: Page number. :param page_size: Set the maximum list size. :param order_by: Sort order for items in the response. :param project_id: ID of the Project. :return: List[Setting]

Usage:

result = await api.list_settings_all()
async migrate_server_to_monthly_offer(*, server_id: str, zone: str | None = None) Server

Migrate server offer. Migrate server with hourly offer to monthly offer. :param server_id: ID of the server. :param zone: Zone to target. If none is passed will use default zone from the config. :return: Server

Usage:

result = await api.migrate_server_to_monthly_offer(
    server_id="example",
)
async reboot_server(*, server_id: str, zone: str | None = None, boot_type: ServerBootType | None = None, ssh_key_ids: List[str] | None = None) Server

Reboot an Elastic Metal server. Reboot the Elastic Metal server associated with the ID, use the boot_type rescue to reboot the server in rescue mode. :param server_id: ID of the server to reboot. :param zone: Zone to target. If none is passed will use default zone from the config. :param boot_type: The type of boot. :param ssh_key_ids: Additional SSH public key IDs to configure on rescue image. :return: Server

Usage:

result = await api.reboot_server(
    server_id="example",
)
async start_bmc_access(*, server_id: str, ip: str, zone: str | None = None) BMCAccess

Start BMC access. Start BMC (Baseboard Management Controller) access associated with the ID. The BMC (Baseboard Management Controller) access is available one hour after the installation of the server. You need first to create an option Remote Access. You will find the ID and the price with a call to listOffers (https://developers.scaleway.com/en/products/baremetal/api/#get-78db92). Then add the option https://developers.scaleway.com/en/products/baremetal/api/#post-b14abd. After adding the BMC option, you need to Get Remote Access to get the login/password https://developers.scaleway.com/en/products/baremetal/api/#get-cefc0f. Do not forget to delete the Option after use. :param server_id: ID of the server. :param ip: The IP authorized to connect to the server. :param zone: Zone to target. If none is passed will use default zone from the config. :return: BMCAccess

Usage:

result = await api.start_bmc_access(
    server_id="example",
    ip="example",
)
async start_server(*, server_id: str, zone: str | None = None, boot_type: ServerBootType | None = None, ssh_key_ids: List[str] | None = None) Server

Start an Elastic Metal server. Start the server associated with the ID. :param server_id: ID of the server to start. :param zone: Zone to target. If none is passed will use default zone from the config. :param boot_type: The type of boot. :param ssh_key_ids: Additional SSH public key IDs to configure on rescue image. :return: Server

Usage:

result = await api.start_server(
    server_id="example",
)
async stop_bmc_access(*, server_id: str, zone: str | None = None) None

Stop BMC access. Stop BMC (Baseboard Management Controller) access associated with the ID. :param server_id: ID of the server. :param zone: Zone to target. If none is passed will use default zone from the config.

Usage:

result = await api.stop_bmc_access(
    server_id="example",
)
async stop_server(*, server_id: str, zone: str | None = None) Server

Stop an Elastic Metal server. Stop the server associated with the ID. The server remains allocated to your account and all data remains on the local storage of the server. :param server_id: ID of the server to stop. :param zone: Zone to target. If none is passed will use default zone from the config. :return: Server

Usage:

result = await api.stop_server(
    server_id="example",
)
async update_ip(*, server_id: str, ip_id: str, zone: str | None = None, reverse: str | None = None) IP

Update IP. Configure the IP address associated with the server ID and IP ID. You can use this method to set a reverse DNS for an IP address. :param server_id: ID of the server. :param ip_id: ID of the IP to update. :param zone: Zone to target. If none is passed will use default zone from the config. :param reverse: New reverse IP to update, not updated if null. :return: IP

Usage:

result = await api.update_ip(
    server_id="example",
    ip_id="example",
)
async update_server(*, server_id: str, zone: str | None = None, name: str | None = None, description: str | None = None, tags: List[str] | None = None, protected: bool | None = None) Server

Update an Elastic Metal server. Update the server associated with the ID. You can update parameters such as the server’s name, tags, description and protection flag. Any parameters left null in the request body are not updated. :param server_id: ID of the server to update. :param zone: Zone to target. If none is passed will use default zone from the config. :param name: Name of the server (≠hostname), not updated if null. :param description: Description associated with the server, max 255 characters, not updated if null. :param tags: Tags associated with the server, not updated if null. :param protected: If enabled, the server can not be deleted. :return: Server

Usage:

result = await api.update_server(
    server_id="example",
)
async update_setting(*, setting_id: str, zone: str | None = None, enabled: bool | None = None) Setting

Update setting. Update a setting for a Project ID (enable or disable). :param setting_id: ID of the setting. :param zone: Zone to target. If none is passed will use default zone from the config. :param enabled: Defines whether the setting is enabled. :return: Setting

Usage:

result = await api.update_setting(
    setting_id="example",
)
async validate_partitioning_schema(*, offer_id: str, os_id: str, zone: str | None = None, partitioning_schema: Schema | None = None) None

Validate client partitioning schema. Validate the incoming partitioning schema from a user before installing the server. Return default ErrorCode if invalid. :param offer_id: Offer ID of the server. :param os_id: OS ID. :param zone: Zone to target. If none is passed will use default zone from the config. :param partitioning_schema: Partitioning schema.

Usage:

result = await api.validate_partitioning_schema(
    offer_id="example",
    os_id="example",
)
async wait_for_server(*, server_id: str, zone: str | None = None, options: WaitForOptions[Server, bool | Awaitable[bool]] | None = None) Server

Get a specific Elastic Metal server. Get full details of an existing Elastic Metal server associated with the ID. :param server_id: ID of the server. :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.baremetal.v1.BaremetalV1PrivateNetworkAPI(client: Client, *, bypass_validation: bool = False)

Bases: API

Elastic Metal - Private Network API.

async add_server_private_network(*, server_id: str, private_network_id: str, zone: str | None = None) ServerPrivateNetwork

Add a server to a Private Network. :param server_id: The ID of the server. :param private_network_id: The ID of the Private Network. :param zone: Zone to target. If none is passed will use default zone from the config. :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: str | None = None) None

Delete a Private Network. :param server_id: The ID of the server. :param private_network_id: The 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 list_server_private_networks(*, zone: str | None = None, order_by: ListServerPrivateNetworksRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, server_id: str | None = None, private_network_id: str | None = None, organization_id: str | None = None, project_id: str | None = None) ListServerPrivateNetworksResponse

List the Private Networks of a server. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: The sort order for the returned Private Networks. :param page: The page number for the returned Private Networks. :param page_size: The 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. :return: ListServerPrivateNetworksResponse

Usage:

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

List the Private Networks of a server. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: The sort order for the returned Private Networks. :param page: The page number for the returned Private Networks. :param page_size: The 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. :return: List[ServerPrivateNetwork]

Usage:

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

Set multiple Private Networks on a server. :param server_id: The ID of the server. :param private_network_ids: The IDs of the Private Networks. :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",
    private_network_ids=[],
)
class scaleway_async.baremetal.v1.CPU(name: 'str', core_count: 'int', thread_count: 'int', frequency: 'int', benchmark: 'str')

Bases: object

benchmark: str

Benchmark of the CPU.

core_count: int

Number of CPU cores.

frequency: int

Frequency of the CPU in MHz.

name: str

Name of the CPU.

thread_count: int

Number CPU threads.

class scaleway_async.baremetal.v1.CertificationOption

Bases: object

class scaleway_async.baremetal.v1.CreateServerRequest(offer_id: 'str', name: 'str', description: 'str', protected: 'bool', zone: 'Optional[ScwZone]' = None, tags: 'Optional[List[str]]' = <factory>, install: 'Optional[CreateServerRequestInstall]' = None, option_ids: 'Optional[List[str]]' = <factory>, project_id: 'Optional[str]' = None, organization_id: 'Optional[str]' = None)

Bases: object

description: str

Description associated with the server, max 255 characters.

install: CreateServerRequestInstall | None = None

Object describing the configuration details of the OS installation on the server.

name: str

Name of the server (≠hostname).

offer_id: str

Offer ID of the new server.

option_ids: List[str] | None

IDs of options to enable on server.

organization_id: str | None = None
project_id: str | None = None
protected: bool

If enabled, the server can not be deleted.

tags: List[str] | None

Tags to associate to the server.

zone: str | None = None

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

class scaleway_async.baremetal.v1.CreateServerRequestInstall(os_id: 'str', hostname: 'str', ssh_key_ids: 'List[str]', user: 'Optional[str]' = None, password: 'Optional[str]' = None, service_user: 'Optional[str]' = None, service_password: 'Optional[str]' = None, partitioning_schema: 'Optional[Schema]' = None)

Bases: object

hostname: str

Hostname of the server.

os_id: str

ID of the OS to installation on the server.

partitioning_schema: Schema | None = None

Partitioning schema.

password: str | None = None

Password for the installation.

service_password: str | None = None

Password used for the service to install.

service_user: str | None = None

Regular user that runs the service to be installed on the server.

ssh_key_ids: List[str]

SSH key IDs authorized on the server.

user: str | None = None

User for the installation.

class scaleway_async.baremetal.v1.DeleteOptionServerRequest(server_id: 'str', option_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

option_id: str

ID of the option to delete.

server_id: str

ID of the server.

zone: str | None = None

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

class scaleway_async.baremetal.v1.DeleteServerRequest(server_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

server_id: str

ID of the server to delete.

zone: str | None = None

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

class scaleway_async.baremetal.v1.Disk(capacity: 'int', type_: 'str')

Bases: object

capacity: int

Capacity of the disk in bytes.

type_: str

Type of the disk.

class scaleway_async.baremetal.v1.GPU(name: 'str', vram: 'int')

Bases: object

name: str

Name of the GPU.

vram: int

Capacity of the vram in bytes.

class scaleway_async.baremetal.v1.GetBMCAccessRequest(server_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

server_id: str

ID of the server.

zone: str | None = None

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

class scaleway_async.baremetal.v1.GetDefaultPartitioningSchemaRequest(offer_id: 'str', os_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

offer_id: str

ID of the offer.

os_id: str

ID of the OS.

zone: str | None = None

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

class scaleway_async.baremetal.v1.GetOSRequest(os_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

os_id: str

ID of the OS.

zone: str | None = None

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

class scaleway_async.baremetal.v1.GetOfferRequest(offer_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

offer_id: str

ID of the researched Offer.

zone: str | None = None

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

class scaleway_async.baremetal.v1.GetOptionRequest(option_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

option_id: str

ID of the option.

zone: str | None = None

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

class scaleway_async.baremetal.v1.GetServerMetricsRequest(server_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

server_id: str

Server ID to get the metrics.

zone: str | None = None

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

class scaleway_async.baremetal.v1.GetServerMetricsResponse(pings: 'Optional[TimeSeries]' = None)

Bases: object

pings: TimeSeries | None = None

Timeseries object representing pings on the server.

class scaleway_async.baremetal.v1.GetServerRequest(server_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

server_id: str

ID of the server.

zone: str | None = None

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

class scaleway_async.baremetal.v1.IP(id: 'str', address: 'str', reverse: 'str', version: 'IPVersion', reverse_status: 'IPReverseStatus', reverse_status_message: 'str')

Bases: object

address: str

Address of the IP.

id: str

ID of the IP.

reverse: str

Reverse IP value.

reverse_status: IPReverseStatus

Status of the reverse.

reverse_status_message: str

A message related to the reverse status, e.g. in case of an error.

version: IPVersion

Version of IP (v4 or v6).

class scaleway_async.baremetal.v1.IPReverseStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

ACTIVE = 'active'
ERROR = 'error'
PENDING = 'pending'
UNKNOWN = 'unknown'
class scaleway_async.baremetal.v1.IPVersion(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

I_PV4 = 'i_pv4'
I_PV6 = 'i_pv6'
class scaleway_async.baremetal.v1.InstallServerRequest(server_id: 'str', os_id: 'str', hostname: 'str', ssh_key_ids: 'List[str]', zone: 'Optional[ScwZone]' = None, user: 'Optional[str]' = None, password: 'Optional[str]' = None, service_user: 'Optional[str]' = None, service_password: 'Optional[str]' = None, partitioning_schema: 'Optional[Schema]' = None)

Bases: object

hostname: str

Hostname of the server.

os_id: str

ID of the OS to installation on the server.

partitioning_schema: Schema | None = None

Partitioning schema.

password: str | None = None

Password used for the installation.

server_id: str

Server ID to install.

service_password: str | None = None

Password used for the service to install.

service_user: str | None = None

User used for the service to install.

ssh_key_ids: List[str]

SSH key IDs authorized on the server.

user: str | None = None

User used for the installation.

zone: str | None = None

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

class scaleway_async.baremetal.v1.LicenseOption(os_id: 'str')

Bases: object

os_id: str
class scaleway_async.baremetal.v1.ListOSRequest(zone: 'Optional[ScwZone]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, offer_id: 'Optional[str]' = None)

Bases: object

offer_id: str | None = None

Offer IDs to filter OSes for.

page: int | None = 0

Page number.

page_size: int | None = 0

Number of OS per page.

zone: str | None = None

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

class scaleway_async.baremetal.v1.ListOSResponse(total_count: 'int', os: 'List[OS]')

Bases: object

os: List[OS]

OS that match filters.

total_count: int

Total count of matching OS.

class scaleway_async.baremetal.v1.ListOffersRequest(zone: 'Optional[ScwZone]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, subscription_period: 'Optional[OfferSubscriptionPeriod]' = <OfferSubscriptionPeriod.UNKNOWN_SUBSCRIPTION_PERIOD: 'unknown_subscription_period'>, name: 'Optional[str]' = None)

Bases: object

name: str | None = None

Offer name to filter offers by.

page: int | None = 0

Page number.

page_size: int | None = 0

Number of offers per page.

subscription_period: OfferSubscriptionPeriod | None = 'unknown_subscription_period'

Subscription period type to filter offers by.

zone: str | None = None

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

class scaleway_async.baremetal.v1.ListOffersResponse(total_count: 'int', offers: 'List[Offer]')

Bases: object

offers: List[Offer]

Offers that match filters.

total_count: int

Total count of matching offers.

class scaleway_async.baremetal.v1.ListOptionsRequest(zone: 'Optional[ScwZone]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, offer_id: 'Optional[str]' = None, name: 'Optional[str]' = None)

Bases: object

name: str | None = None

Name to filter options for.

offer_id: str | None = None

Offer ID to filter options for.

page: int | None = 0

Page number.

page_size: int | None = 0

Number of options per page.

zone: str | None = None

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

class scaleway_async.baremetal.v1.ListOptionsResponse(total_count: 'int', options: 'List[Option]')

Bases: object

options: List[Option]

Options that match filters.

total_count: int

Total count of matching options.

class scaleway_async.baremetal.v1.ListServerEventsRequest(server_id: 'str', zone: 'Optional[ScwZone]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, order_by: 'Optional[ListServerEventsRequestOrderBy]' = <ListServerEventsRequestOrderBy.CREATED_AT_ASC: 'created_at_asc'>)

Bases: object

order_by: ListServerEventsRequestOrderBy | None = 'created_at_asc'

Order of the server events.

page: int | None = 0

Page number.

page_size: int | None = 0

Number of server events per page.

server_id: str

ID of the server events searched.

zone: str | None = None

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

class scaleway_async.baremetal.v1.ListServerEventsRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway_async.baremetal.v1.ListServerEventsResponse(total_count: 'int', events: 'List[ServerEvent]')

Bases: object

events: List[ServerEvent]

Server events that match filters.

total_count: int

Total count of matching events.

class scaleway_async.baremetal.v1.ListServerPrivateNetworksRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

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

Bases: object

server_private_networks: List[ServerPrivateNetwork]
total_count: int
class scaleway_async.baremetal.v1.ListServersRequest(zone: 'Optional[ScwZone]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, order_by: 'Optional[ListServersRequestOrderBy]' = <ListServersRequestOrderBy.CREATED_AT_ASC: 'created_at_asc'>, tags: 'Optional[List[str]]' = <factory>, status: 'Optional[List[str]]' = <factory>, name: 'Optional[str]' = None, organization_id: 'Optional[str]' = None, project_id: 'Optional[str]' = None, option_id: 'Optional[str]' = None)

Bases: object

name: str | None = None

Names to filter for.

option_id: str | None = None

Option ID to filter for.

order_by: ListServersRequestOrderBy | None = 'created_at_asc'

Order of the servers.

organization_id: str | None = None

Organization ID to filter for.

page: int | None = 0

Page number.

page_size: int | None = 0

Number of servers per page.

project_id: str | None = None

Project ID to filter for.

status: List[str] | None

Status to filter for.

tags: List[str] | None

Tags to filter for.

zone: str | None = None

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

class scaleway_async.baremetal.v1.ListServersRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway_async.baremetal.v1.ListServersResponse(total_count: 'int', servers: 'List[Server]')

Bases: object

servers: List[Server]

Array of Elastic Metal server objects matching the filters in the request.

total_count: int

Total count of matching servers.

class scaleway_async.baremetal.v1.ListSettingsRequest(zone: 'Optional[ScwZone]' = None, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, order_by: 'Optional[ListSettingsRequestOrderBy]' = <ListSettingsRequestOrderBy.CREATED_AT_ASC: 'created_at_asc'>, project_id: 'Optional[str]' = None)

Bases: object

order_by: ListSettingsRequestOrderBy | None = 'created_at_asc'

Sort order for items in the response.

page: int | None = 0

Page number.

page_size: int | None = 0

Set the maximum list size.

project_id: str | None = None

ID of the Project.

zone: str | None = None

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

class scaleway_async.baremetal.v1.ListSettingsRequestOrderBy(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway_async.baremetal.v1.ListSettingsResponse(total_count: 'int', settings: 'List[Setting]')

Bases: object

settings: List[Setting]

Settings that match filters.

total_count: int

Total count of matching settings.

class scaleway_async.baremetal.v1.Memory(capacity: 'int', type_: 'str', frequency: 'int', is_ecc: 'bool')

Bases: object

capacity: int

Capacity of the memory in bytes.

frequency: int

Frequency of the memory in MHz.

is_ecc: bool

True if the memory is an error-correcting code memory.

type_: str

Type of the memory.

class scaleway_async.baremetal.v1.MigrateServerToMonthlyOfferRequest(server_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

server_id: str

ID of the server.

zone: str | None = None

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

class scaleway_async.baremetal.v1.OS(id: 'str', name: 'str', version: 'str', logo_url: 'str', enabled: 'bool', license_required: 'bool', allowed: 'bool', custom_partitioning_supported: 'bool', ssh: 'Optional[OSOSField]' = None, user: 'Optional[OSOSField]' = None, password: 'Optional[OSOSField]' = None, service_user: 'Optional[OSOSField]' = None, service_password: 'Optional[OSOSField]' = None)

Bases: object

allowed: bool

Defines if a specific Organization is allowed to install this OS type.

custom_partitioning_supported: bool

Defines if custom partitioning is supported by this OS.

enabled: bool

Defines if the operating system is enabled or not.

id: str

ID of the OS.

license_required: bool

License required (check server options for pricing details).

logo_url: str

URL of this OS’s logo.

name: str

Name of the OS.

password: OSOSField | None = None

Object defining the password requirements to install the OS.

service_password: OSOSField | None = None

Object defining the password requirements to install the service.

service_user: OSOSField | None = None

Object defining the username requirements to install the service.

ssh: OSOSField | None = None

Object defining the SSH requirements to install the OS.

user: OSOSField | None = None

Object defining the username requirements to install the OS.

version: str

Version of the OS.

class scaleway_async.baremetal.v1.OSOSField(editable: 'bool', required: 'bool', default_value: 'Optional[str]' = None)

Bases: object

default_value: str | None = None
editable: bool
required: bool
class scaleway_async.baremetal.v1.Offer(id: 'str', name: 'str', stock: 'OfferStock', bandwidth: 'int', max_bandwidth: 'int', commercial_range: 'str', disks: 'List[Disk]', enable: 'bool', cpus: 'List[CPU]', memories: 'List[Memory]', quota_name: 'str', persistent_memories: 'List[PersistentMemory]', raid_controllers: 'List[RaidController]', incompatible_os_ids: 'List[str]', subscription_period: 'OfferSubscriptionPeriod', operation_path: 'str', options: 'List[OfferOptionOffer]', private_bandwidth: 'int', shared_bandwidth: 'bool', tags: 'List[str]', gpus: 'List[GPU]', price_per_hour: 'Optional[Money]' = None, price_per_month: 'Optional[Money]' = None, fee: 'Optional[Money]' = None, monthly_offer_id: 'Optional[str]' = None)

Bases: object

bandwidth: int

Public bandwidth available (in bits/s) with the offer.

commercial_range: str

Commercial range of the offer.

cpus: List[CPU]

CPU specifications of the offer.

disks: List[Disk]

Disks specifications of the offer.

enable: bool

Defines whether the offer is currently available.

fee: Money | None = None

One time fee invoiced by Scaleway for the setup and activation of the server.

gpus: List[GPU]

GPU specifications of the offer.

id: str

ID of the offer.

incompatible_os_ids: List[str]

Array of OS images IDs incompatible with the server.

max_bandwidth: int

Maximum public bandwidth available (in bits/s) depending on available options.

memories: List[Memory]

Memory specifications of the offer.

monthly_offer_id: str | None = None

Exist only for hourly offers, to migrate to the monthly offer.

name: str

Name of the offer.

operation_path: str

Operation path of the service.

options: List[OfferOptionOffer]

Available options for customization of the server.

persistent_memories: List[PersistentMemory]

Persistent memory specifications of the offer.

price_per_hour: Money | None = None

Price of the offer for the next 60 minutes (a server order at 11h32 will be paid until 12h32).

price_per_month: Money | None = None

Monthly price of the offer, if subscribing on a monthly basis.

private_bandwidth: int

Private bandwidth available in bits/s with the offer.

quota_name: str

Name of the quota associated to the offer.

raid_controllers: List[RaidController]

Raid controller specifications of the offer.

shared_bandwidth: bool

Defines whether the offer’s bandwidth is shared or not.

stock: OfferStock

Stock level.

subscription_period: OfferSubscriptionPeriod

Period of subscription for the offer.

tags: List[str]

Array of tags attached to the offer.

class scaleway_async.baremetal.v1.OfferOptionOffer(id: 'str', name: 'str', enabled: 'bool', subscription_period: 'OfferSubscriptionPeriod', manageable: 'bool', price: 'Optional[Money]' = None, os_id: 'Optional[str]' = None, license: 'Optional[LicenseOption]' = None, public_bandwidth: 'Optional[PublicBandwidthOption]' = None, private_network: 'Optional[PrivateNetworkOption]' = None, remote_access: 'Optional[RemoteAccessOption]' = None, certification: 'Optional[CertificationOption]' = None)

Bases: object

certification: CertificationOption | None = None
enabled: bool

If true the option is enabled and included by default in the offer

If false the option is available for the offer but not included by default.

id: str

ID of the option.

license: LicenseOption | None = None
manageable: bool

Boolean to know if option could be managed.

name: str

Name of the option.

os_id: str | None = None

Deprecated, use LicenseOptionVars.os_id instead.

price: Money | None = None

Price of the option.

private_network: PrivateNetworkOption | None = None
public_bandwidth: PublicBandwidthOption | None = None
remote_access: RemoteAccessOption | None = None
subscription_period: OfferSubscriptionPeriod

Period of subscription for the offer.

class scaleway_async.baremetal.v1.OfferStock(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

AVAILABLE = 'available'
EMPTY = 'empty'
LOW = 'low'
class scaleway_async.baremetal.v1.OfferSubscriptionPeriod(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

HOURLY = 'hourly'
MONTHLY = 'monthly'
UNKNOWN_SUBSCRIPTION_PERIOD = 'unknown_subscription_period'
class scaleway_async.baremetal.v1.Option(id: 'str', name: 'str', manageable: 'bool', license: 'Optional[LicenseOption]' = None, public_bandwidth: 'Optional[PublicBandwidthOption]' = None, private_network: 'Optional[PrivateNetworkOption]' = None, remote_access: 'Optional[RemoteAccessOption]' = None, certification: 'Optional[CertificationOption]' = None)

Bases: object

certification: CertificationOption | None = None
id: str

ID of the option.

license: LicenseOption | None = None
manageable: bool

Defines whether the option is manageable (could be added or removed).

name: str

Name of the option.

private_network: PrivateNetworkOption | None = None
public_bandwidth: PublicBandwidthOption | None = None
remote_access: RemoteAccessOption | None = None
class scaleway_async.baremetal.v1.PersistentMemory(capacity: 'int', type_: 'str', frequency: 'int')

Bases: object

capacity: int

Capacity of the memory in bytes.

frequency: int

Frequency of the memory in MHz.

type_: str

Type of the memory.

class scaleway_async.baremetal.v1.PrivateNetworkApiAddServerPrivateNetworkRequest(server_id: 'str', private_network_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

private_network_id: str

The ID of the Private Network.

server_id: str

The ID of the server.

zone: str | None = None

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

class scaleway_async.baremetal.v1.PrivateNetworkApiDeleteServerPrivateNetworkRequest(server_id: 'str', private_network_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

private_network_id: str

The ID of the Private Network.

server_id: str

The ID of the server.

zone: str | None = None

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

class scaleway_async.baremetal.v1.PrivateNetworkApiListServerPrivateNetworksRequest(zone: 'Optional[ScwZone]' = None, order_by: 'Optional[ListServerPrivateNetworksRequestOrderBy]' = <ListServerPrivateNetworksRequestOrderBy.CREATED_AT_ASC: 'created_at_asc'>, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, server_id: 'Optional[str]' = None, private_network_id: 'Optional[str]' = None, organization_id: 'Optional[str]' = None, project_id: 'Optional[str]' = None)

Bases: object

order_by: ListServerPrivateNetworksRequestOrderBy | None = 'created_at_asc'

The sort order for the returned Private Networks.

organization_id: str | None = None

Filter Private Networks by Organization ID.

page: int | None = 0

The page number for the returned Private Networks.

page_size: int | None = 0

The maximum number of Private Networks per page.

private_network_id: str | None = None

Filter Private Networks by Private Network ID.

project_id: str | None = None

Filter Private Networks by Project ID.

server_id: str | None = None

Filter Private Networks by server ID.

zone: str | None = None

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

class scaleway_async.baremetal.v1.PrivateNetworkApiSetServerPrivateNetworksRequest(server_id: 'str', private_network_ids: 'List[str]', zone: 'Optional[ScwZone]' = None)

Bases: object

private_network_ids: List[str]

The IDs of the Private Networks.

server_id: str

The ID of the server.

zone: str | None = None

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

class scaleway_async.baremetal.v1.PrivateNetworkOption(bandwidth_in_bps: 'int')

Bases: object

bandwidth_in_bps: int
class scaleway_async.baremetal.v1.PublicBandwidthOption(bandwidth_in_bps: 'int')

Bases: object

bandwidth_in_bps: int
class scaleway_async.baremetal.v1.RaidController(model: 'str', raid_level: 'List[str]')

Bases: object

model: str
raid_level: List[str]
class scaleway_async.baremetal.v1.RebootServerRequest(server_id: 'str', zone: 'Optional[ScwZone]' = None, boot_type: 'Optional[ServerBootType]' = <ServerBootType.UNKNOWN_BOOT_TYPE: 'unknown_boot_type'>, ssh_key_ids: 'Optional[List[str]]' = <factory>)

Bases: object

boot_type: ServerBootType | None = 'unknown_boot_type'

The type of boot.

server_id: str

ID of the server to reboot.

ssh_key_ids: List[str] | None

Additional SSH public key IDs to configure on rescue image.

zone: str | None = None

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

class scaleway_async.baremetal.v1.RemoteAccessOption

Bases: object

class scaleway_async.baremetal.v1.Schema(disks: 'List[SchemaDisk]', raids: 'List[SchemaRAID]', filesystems: 'List[SchemaFilesystem]', zfs: 'Optional[SchemaZFS]' = None)

Bases: object

disks: List[SchemaDisk]
filesystems: List[SchemaFilesystem]
raids: List[SchemaRAID]
zfs: SchemaZFS | None = None
class scaleway_async.baremetal.v1.SchemaDisk(device: 'str', partitions: 'List[SchemaPartition]')

Bases: object

device: str
partitions: List[SchemaPartition]
class scaleway_async.baremetal.v1.SchemaFilesystem(device: 'str', format: 'SchemaFilesystemFormat', mountpoint: 'str')

Bases: object

device: str
format: SchemaFilesystemFormat
mountpoint: str
class scaleway_async.baremetal.v1.SchemaFilesystemFormat(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

EXT4 = 'ext4'
FAT32 = 'fat32'
SWAP = 'swap'
UNKNOWN_FORMAT = 'unknown_format'
XFS = 'xfs'
ZFS = 'zfs'
class scaleway_async.baremetal.v1.SchemaPartition(label: 'SchemaPartitionLabel', number: 'int', size: 'int', use_all_available_space: 'bool')

Bases: object

label: SchemaPartitionLabel
number: int
size: int
use_all_available_space: bool
class scaleway_async.baremetal.v1.SchemaPartitionLabel(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

BOOT = 'boot'
DATA = 'data'
HOME = 'home'
LEGACY = 'legacy'
RAID = 'raid'
ROOT = 'root'
SWAP = 'swap'
UEFI = 'uefi'
UNKNOWN_PARTITION_LABEL = 'unknown_partition_label'
ZFS = 'zfs'
class scaleway_async.baremetal.v1.SchemaPool(name: 'str', type_: 'SchemaPoolType', devices: 'List[str]', options: 'List[str]', filesystem_options: 'List[str]')

Bases: object

devices: List[str]
filesystem_options: List[str]
name: str
options: List[str]
type_: SchemaPoolType
class scaleway_async.baremetal.v1.SchemaPoolType(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

MIRROR = 'mirror'
NO_RAID = 'no_raid'
RAIDZ1 = 'raidz1'
RAIDZ2 = 'raidz2'
UNKNOWN_TYPE = 'unknown_type'
class scaleway_async.baremetal.v1.SchemaRAID(name: 'str', level: 'SchemaRAIDLevel', devices: 'List[str]')

Bases: object

devices: List[str]
level: SchemaRAIDLevel
name: str
class scaleway_async.baremetal.v1.SchemaRAIDLevel(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

RAID_LEVEL_0 = 'raid_level_0'
RAID_LEVEL_1 = 'raid_level_1'
RAID_LEVEL_10 = 'raid_level_10'
RAID_LEVEL_5 = 'raid_level_5'
RAID_LEVEL_6 = 'raid_level_6'
UNKNOWN_RAID_LEVEL = 'unknown_raid_level'
class scaleway_async.baremetal.v1.SchemaZFS(pools: 'List[SchemaPool]')

Bases: object

pools: List[SchemaPool]
class scaleway_async.baremetal.v1.Server(id: 'str', organization_id: 'str', project_id: 'str', name: 'str', description: 'str', status: 'ServerStatus', offer_id: 'str', offer_name: 'str', tags: 'List[str]', ips: 'List[IP]', domain: 'str', boot_type: 'ServerBootType', zone: 'ScwZone', ping_status: 'ServerPingStatus', options: 'List[ServerOption]', protected: 'bool', updated_at: 'Optional[datetime]' = None, created_at: 'Optional[datetime]' = None, install: 'Optional[ServerInstall]' = None, rescue_server: 'Optional[ServerRescueServer]' = None)

Bases: object

boot_type: ServerBootType

Boot type of the server.

created_at: datetime | None = None

Creation date of the server.

description: str

Description of the server.

domain: str

Domain of the server.

id: str

ID of the server.

install: ServerInstall | None = None

Configuration of the installation.

ips: List[IP]

Array of IPs attached to the server.

name: str

Name of the server.

offer_id: str

Offer ID of the server.

offer_name: str

Offer name of the server.

options: List[ServerOption]

Options enabled on the server.

organization_id: str

Organization ID the server is attached to.

ping_status: ServerPingStatus

Status of server ping.

project_id: str

Project ID the server is attached to.

protected: bool

If enabled, the server can not be deleted.

rescue_server: ServerRescueServer | None = None

Configuration of rescue boot.

status: ServerStatus

Status of the server.

tags: List[str]

Array of custom tags attached to the server.

updated_at: datetime | None = None

Last modification date of the server.

zone: str

Zone in which is the server located.

class scaleway_async.baremetal.v1.ServerBootType(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

NORMAL = 'normal'
RESCUE = 'rescue'
UNKNOWN_BOOT_TYPE = 'unknown_boot_type'
class scaleway_async.baremetal.v1.ServerEvent(id: 'str', action: 'str', updated_at: 'Optional[datetime]' = None, created_at: 'Optional[datetime]' = None)

Bases: object

action: str

The action that will be applied to the server.

created_at: datetime | None = None

Date of creation of the action.

id: str

ID of the server to which the action will be applied.

updated_at: datetime | None = None

Date of last modification of the action.

class scaleway_async.baremetal.v1.ServerInstall(os_id: 'str', hostname: 'str', ssh_key_ids: 'List[str]', status: 'ServerInstallStatus', user: 'str', service_user: 'str', service_url: 'str', partitioning_schema: 'Optional[Schema]' = None)

Bases: object

hostname: str

Host defined during the server installation.

os_id: str

ID of the OS.

partitioning_schema: Schema | None = None

Partitioning schema.

service_url: str

Address of the installed service.

service_user: str

Service user defined in the server installation, or the default user if none were specified.

ssh_key_ids: List[str]

SSH public key IDs defined during server installation.

status: ServerInstallStatus

Status of the server installation.

user: str

User defined in the server installation, or the default user if none were specified.

class scaleway_async.baremetal.v1.ServerInstallStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

COMPLETED = 'completed'
ERROR = 'error'
INSTALLING = 'installing'
TO_INSTALL = 'to_install'
UNKNOWN = 'unknown'
class scaleway_async.baremetal.v1.ServerOption(id: 'str', name: 'str', status: 'ServerOptionOptionStatus', manageable: 'bool', expires_at: 'Optional[datetime]' = None, license: 'Optional[LicenseOption]' = None, public_bandwidth: 'Optional[PublicBandwidthOption]' = None, private_network: 'Optional[PrivateNetworkOption]' = None, remote_access: 'Optional[RemoteAccessOption]' = None, certification: 'Optional[CertificationOption]' = None)

Bases: object

certification: CertificationOption | None = None
expires_at: datetime | None = None

Auto expiration date for compatible options.

id: str

ID of the option.

license: LicenseOption | None = None
manageable: bool

Defines whether the option can be managed (added or removed).

name: str

Name of the option.

private_network: PrivateNetworkOption | None = None
public_bandwidth: PublicBandwidthOption | None = None
remote_access: RemoteAccessOption | None = None
status: ServerOptionOptionStatus

Status of the option on this server.

class scaleway_async.baremetal.v1.ServerOptionOptionStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

OPTION_STATUS_DISABLING = 'option_status_disabling'
OPTION_STATUS_ENABLE = 'option_status_enable'
OPTION_STATUS_ENABLING = 'option_status_enabling'
OPTION_STATUS_ERROR = 'option_status_error'
OPTION_STATUS_UNKNOWN = 'option_status_unknown'
class scaleway_async.baremetal.v1.ServerPingStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

PING_STATUS_DOWN = 'ping_status_down'
PING_STATUS_UNKNOWN = 'ping_status_unknown'
PING_STATUS_UP = 'ping_status_up'
class scaleway_async.baremetal.v1.ServerPrivateNetwork(id: 'str', project_id: 'str', server_id: 'str', private_network_id: 'str', status: 'ServerPrivateNetworkStatus', vlan: 'Optional[int]' = 0, created_at: 'Optional[datetime]' = None, updated_at: 'Optional[datetime]' = None)

Bases: object

created_at: datetime | None = None

The Private Network creation date.

id: str

The Private Network ID.

private_network_id: str

The Private Network ID.

project_id: str

The Private Network Project ID.

server_id: str

The server ID.

status: ServerPrivateNetworkStatus

The configuration status of the Private Network.

updated_at: datetime | None = None

The date the Private Network was last modified.

vlan: int | None = 0

The VLAN ID associated to the Private Network.

class scaleway_async.baremetal.v1.ServerPrivateNetworkStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

ATTACHED = 'attached'
ATTACHING = 'attaching'
DETACHING = 'detaching'
ERROR = 'error'
LOCKED = 'locked'
UNKNOWN = 'unknown'
class scaleway_async.baremetal.v1.ServerRescueServer(user: 'str', password: 'str')

Bases: object

password: str

Rescue password.

user: str

Rescue user name.

class scaleway_async.baremetal.v1.ServerStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

DELETING = 'deleting'
DELIVERING = 'delivering'
ERROR = 'error'
LOCKED = 'locked'
MIGRATING = 'migrating'
ORDERED = 'ordered'
OUT_OF_STOCK = 'out_of_stock'
READY = 'ready'
RESETTING = 'resetting'
STARTING = 'starting'
STOPPED = 'stopped'
STOPPING = 'stopping'
UNKNOWN = 'unknown'
class scaleway_async.baremetal.v1.SetServerPrivateNetworksResponse(server_private_networks: 'List[ServerPrivateNetwork]')

Bases: object

server_private_networks: List[ServerPrivateNetwork]
class scaleway_async.baremetal.v1.Setting(id: 'str', type_: 'SettingType', project_id: 'str', enabled: 'bool')

Bases: object

enabled: bool

Defines whether the setting is enabled.

id: str

ID of the setting.

project_id: str

ID of the Project ID.

type_: SettingType

Type of the setting.

class scaleway_async.baremetal.v1.SettingType(value: str, names: Any | None = None, *args: Any, **kwargs: Any)

Bases: str, Enum

SMTP = 'smtp'
UNKNOWN = 'unknown'
class scaleway_async.baremetal.v1.StartBMCAccessRequest(server_id: 'str', ip: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

ip: str

The IP authorized to connect to the server.

server_id: str

ID of the server.

zone: str | None = None

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

class scaleway_async.baremetal.v1.StartServerRequest(server_id: 'str', zone: 'Optional[ScwZone]' = None, boot_type: 'Optional[ServerBootType]' = <ServerBootType.UNKNOWN_BOOT_TYPE: 'unknown_boot_type'>, ssh_key_ids: 'Optional[List[str]]' = <factory>)

Bases: object

boot_type: ServerBootType | None = 'unknown_boot_type'

The type of boot.

server_id: str

ID of the server to start.

ssh_key_ids: List[str] | None

Additional SSH public key IDs to configure on rescue image.

zone: str | None = None

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

class scaleway_async.baremetal.v1.StopBMCAccessRequest(server_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

server_id: str

ID of the server.

zone: str | None = None

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

class scaleway_async.baremetal.v1.StopServerRequest(server_id: 'str', zone: 'Optional[ScwZone]' = None)

Bases: object

server_id: str

ID of the server to stop.

zone: str | None = None

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

class scaleway_async.baremetal.v1.UpdateIPRequest(server_id: 'str', ip_id: 'str', zone: 'Optional[ScwZone]' = None, reverse: 'Optional[str]' = None)

Bases: object

ip_id: str

ID of the IP to update.

reverse: str | None = None

New reverse IP to update, not updated if null.

server_id: str

ID of the server.

zone: str | None = None

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

class scaleway_async.baremetal.v1.UpdateServerRequest(server_id: 'str', zone: 'Optional[ScwZone]' = None, name: 'Optional[str]' = None, description: 'Optional[str]' = None, tags: 'Optional[List[str]]' = <factory>, protected: 'Optional[bool]' = False)

Bases: object

description: str | None = None

Description associated with the server, max 255 characters, not updated if null.

name: str | None = None

Name of the server (≠hostname), not updated if null.

protected: bool | None = False

If enabled, the server can not be deleted.

server_id: str

ID of the server to update.

tags: List[str] | None

Tags associated with the server, not updated if null.

zone: str | None = None

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

class scaleway_async.baremetal.v1.UpdateSettingRequest(setting_id: 'str', zone: 'Optional[ScwZone]' = None, enabled: 'Optional[bool]' = False)

Bases: object

enabled: bool | None = False

Defines whether the setting is enabled.

setting_id: str

ID of the setting.

zone: str | None = None

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

class scaleway_async.baremetal.v1.ValidatePartitioningSchemaRequest(offer_id: 'str', os_id: 'str', zone: 'Optional[ScwZone]' = None, partitioning_schema: 'Optional[Schema]' = None)

Bases: object

offer_id: str

Offer ID of the server.

os_id: str

OS ID.

partitioning_schema: Schema | None = None

Partitioning schema.

zone: str | None = None

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