scaleway_async.flexibleip.v1alpha1 package

Submodules

scaleway_async.flexibleip.v1alpha1.api module

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

Bases: API

This API allows you to manage your Elastic Metal servers’ flexible public IP addresses.

async attach_flexible_ip(*, fips_ids: List[str], server_id: str, zone: Optional[str] = None) AttachFlexibleIPsResponse

Attach an existing flexible IP to a server. Attach an existing flexible IP to a specified Elastic Metal server. :param fips_ids: Multiple IDs can be provided, but note that flexible IPs must belong to the same MAC group (see details about MAC groups). :param server_id: ID of the server on which to attach the flexible IPs. :param zone: Zone to target. If none is passed will use default zone from the config. :return: AttachFlexibleIPsResponse

Usage:

result = await api.attach_flexible_ip(
    fips_ids=[],
    server_id="example",
)
async create_flexible_ip(*, description: str, is_ipv6: bool, zone: Optional[str] = None, project_id: Optional[str] = None, tags: Optional[List[str]] = None, server_id: Optional[str] = None, reverse: Optional[str] = None) FlexibleIP

Create a new flexible IP. Generate a new flexible IP within a given zone, specifying its configuration including Project ID and description. :param description: Flexible IP description (max. of 255 characters). :param is_ipv6: Defines whether the flexible IP has an IPv6 address. :param zone: Zone to target. If none is passed will use default zone from the config. :param project_id: ID of the project to associate with the Flexible IP. :param tags: Tags to associate to the flexible IP. :param server_id: ID of the server to which the newly created flexible IP will be attached. :param reverse: Value of the reverse DNS. :return: FlexibleIP

Usage:

result = await api.create_flexible_ip(
    description="example",
    is_ipv6=False,
)
async delete_flexible_ip(*, fip_id: str, zone: Optional[str] = None) None

Delete an existing flexible IP. Delete an existing flexible IP, specified by its ID and zone. Note that deleting a flexible IP is permanent and cannot be undone. :param fip_id: ID of the flexible IP to delete. :param zone: Zone to target. If none is passed will use default zone from the config.

Usage:

result = await api.delete_flexible_ip(
    fip_id="example",
)
async delete_mac_addr(*, fip_id: str, zone: Optional[str] = None) None

Detach a given virtual MAC address from an existing flexible IP. Detach a given MAC (Media Access Control) address from an existing flexible IP. :param fip_id: If the flexible IP belongs to a MAC group, the MAC will be removed from both the MAC group and flexible IP. :param zone: Zone to target. If none is passed will use default zone from the config.

Usage:

result = await api.delete_mac_addr(
    fip_id="example",
)
async detach_flexible_ip(*, fips_ids: List[str], zone: Optional[str] = None) DetachFlexibleIPsResponse

Detach an existing flexible IP from a server. Detach an existing flexible IP from a specified Elastic Metal server. :param fips_ids: List of flexible IP IDs to detach from a server. Multiple IDs can be provided. Note that flexible IPs must belong to the same MAC group. :param zone: Zone to target. If none is passed will use default zone from the config. :return: DetachFlexibleIPsResponse

Usage:

result = await api.detach_flexible_ip(
    fips_ids=[],
)
async duplicate_mac_addr(*, fip_id: str, duplicate_from_fip_id: str, zone: Optional[str] = None) FlexibleIP

Duplicate a virtual MAC address to another flexible IP. Duplicate a virtual MAC address from a given flexible IP to another flexible IP attached to the same server. :param fip_id: Note that the flexible IPs need to be attached to the same server. :param duplicate_from_fip_id: Note that flexible IPs need to be attached to the same server. :param zone: Zone to target. If none is passed will use default zone from the config. :return: FlexibleIP

Usage:

result = await api.duplicate_mac_addr(
    fip_id="example",
    duplicate_from_fip_id="example",
)
async generate_mac_addr(*, fip_id: str, mac_type: MACAddressType, zone: Optional[str] = None) FlexibleIP

Generate a virtual MAC address on an existing flexible IP. Generate a virtual MAC (Media Access Control) address on an existing flexible IP. :param fip_id: ID of the flexible IP for which to generate a virtual MAC. :param mac_type: TODO. :param zone: Zone to target. If none is passed will use default zone from the config. :return: FlexibleIP

Usage:

result = await api.generate_mac_addr(
    fip_id="example",
    mac_type=MACAddressType.unknown_type,
)
async get_flexible_ip(*, fip_id: str, zone: Optional[str] = None) FlexibleIP

Get an existing flexible IP. Retrieve information about an existing flexible IP, specified by its ID and zone. Its full details, including Project ID, description and status, are returned in the response object. :param fip_id: ID of the flexible IP. :param zone: Zone to target. If none is passed will use default zone from the config. :return: FlexibleIP

Usage:

result = await api.get_flexible_ip(
    fip_id="example",
)
async list_flexible_i_ps(*, zone: Optional[str] = None, order_by: Optional[ListFlexibleIPsRequestOrderBy] = None, page: Optional[int] = None, page_size: Optional[int] = None, tags: Optional[List[str]] = None, status: Optional[List[FlexibleIPStatus]] = None, server_ids: Optional[List[str]] = None, organization_id: Optional[str] = None, project_id: Optional[str] = None) ListFlexibleIPsResponse

List flexible IPs. List all flexible IPs within a given zone. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Sort order of the returned flexible IPs. :param page: Page number. :param page_size: Maximum number of flexible IPs per page. :param tags: Filter by tag, only flexible IPs with one or more matching tags will be returned. :param status: Filter by status, only flexible IPs with this status will be returned. :param server_ids: Filter by server IDs, only flexible IPs with these server IDs will be returned. :param organization_id: Filter by Organization ID, only flexible IPs from this Organization will be returned. :param project_id: Filter by Project ID, only flexible IPs from this Project will be returned. :return: ListFlexibleIPsResponse

Usage:

result = await api.list_flexible_i_ps()
async list_flexible_i_ps_all(*, zone: Optional[str] = None, order_by: Optional[ListFlexibleIPsRequestOrderBy] = None, page: Optional[int] = None, page_size: Optional[int] = None, tags: Optional[List[str]] = None, status: Optional[List[FlexibleIPStatus]] = None, server_ids: Optional[List[str]] = None, organization_id: Optional[str] = None, project_id: Optional[str] = None) List[FlexibleIP]

List flexible IPs. List all flexible IPs within a given zone. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Sort order of the returned flexible IPs. :param page: Page number. :param page_size: Maximum number of flexible IPs per page. :param tags: Filter by tag, only flexible IPs with one or more matching tags will be returned. :param status: Filter by status, only flexible IPs with this status will be returned. :param server_ids: Filter by server IDs, only flexible IPs with these server IDs will be returned. :param organization_id: Filter by Organization ID, only flexible IPs from this Organization will be returned. :param project_id: Filter by Project ID, only flexible IPs from this Project will be returned. :return: List[FlexibleIP]

Usage:

result = await api.list_flexible_i_ps_all()
async move_mac_addr(*, fip_id: str, dst_fip_id: str, zone: Optional[str] = None) FlexibleIP

Relocate an existing virtual MAC address to a different flexible IP. Relocate a virtual MAC (Media Access Control) address from an existing flexible IP to a different flexible IP. :param fip_id: :param dst_fip_id: :param zone: Zone to target. If none is passed will use default zone from the config. :return: FlexibleIP

Usage:

result = await api.move_mac_addr(
    fip_id="example",
    dst_fip_id="example",
)
async update_flexible_ip(*, fip_id: str, zone: Optional[str] = None, description: Optional[str] = None, tags: Optional[List[str]] = None, reverse: Optional[str] = None) FlexibleIP

Update an existing flexible IP. Update the parameters of an existing flexible IP, specified by its ID and zone. These parameters include tags and description. :param fip_id: ID of the flexible IP to update. :param zone: Zone to target. If none is passed will use default zone from the config. :param description: Flexible IP description (max. 255 characters). :param tags: Tags associated with the flexible IP. :param reverse: Value of the reverse DNS. :return: FlexibleIP

Usage:

result = await api.update_flexible_ip(
    fip_id="example",
)
async wait_for_flexible_ip(*, fip_id: str, zone: Optional[str] = None, options: Optional[WaitForOptions[FlexibleIP, Union[bool, Awaitable[bool]]]] = None) FlexibleIP

Get an existing flexible IP. Retrieve information about an existing flexible IP, specified by its ID and zone. Its full details, including Project ID, description and status, are returned in the response object. :param fip_id: ID of the flexible IP. :param zone: Zone to target. If none is passed will use default zone from the config. :return: FlexibleIP

Usage:

result = await api.get_flexible_ip(
    fip_id="example",
)

scaleway_async.flexibleip.v1alpha1.content module

scaleway_async.flexibleip.v1alpha1.content.FLEXIBLE_IP_TRANSIENT_STATUSES: List[FlexibleIPStatus] = [<FlexibleIPStatus.UPDATING: 'updating'>, <FlexibleIPStatus.DETACHING: 'detaching'>]

Lists transient statutes of the enum FlexibleIPStatus.

scaleway_async.flexibleip.v1alpha1.content.MAC_ADDRESS_TRANSIENT_STATUSES: List[MACAddressStatus] = [<MACAddressStatus.UPDATING: 'updating'>, <MACAddressStatus.DELETING: 'deleting'>]

Lists transient statutes of the enum MACAddressStatus.

scaleway_async.flexibleip.v1alpha1.marshalling module

scaleway_async.flexibleip.v1alpha1.marshalling.marshal_AttachFlexibleIPRequest(request: AttachFlexibleIPRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.flexibleip.v1alpha1.marshalling.marshal_CreateFlexibleIPRequest(request: CreateFlexibleIPRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.flexibleip.v1alpha1.marshalling.marshal_DetachFlexibleIPRequest(request: DetachFlexibleIPRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.flexibleip.v1alpha1.marshalling.marshal_DuplicateMACAddrRequest(request: DuplicateMACAddrRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.flexibleip.v1alpha1.marshalling.marshal_GenerateMACAddrRequest(request: GenerateMACAddrRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.flexibleip.v1alpha1.marshalling.marshal_MoveMACAddrRequest(request: MoveMACAddrRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.flexibleip.v1alpha1.marshalling.marshal_UpdateFlexibleIPRequest(request: UpdateFlexibleIPRequest, defaults: ProfileDefaults) Dict[str, Any]
scaleway_async.flexibleip.v1alpha1.marshalling.unmarshal_AttachFlexibleIPsResponse(data: Any) AttachFlexibleIPsResponse
scaleway_async.flexibleip.v1alpha1.marshalling.unmarshal_DetachFlexibleIPsResponse(data: Any) DetachFlexibleIPsResponse
scaleway_async.flexibleip.v1alpha1.marshalling.unmarshal_FlexibleIP(data: Any) FlexibleIP
scaleway_async.flexibleip.v1alpha1.marshalling.unmarshal_ListFlexibleIPsResponse(data: Any) ListFlexibleIPsResponse
scaleway_async.flexibleip.v1alpha1.marshalling.unmarshal_MACAddress(data: Any) MACAddress

scaleway_async.flexibleip.v1alpha1.types module

class scaleway_async.flexibleip.v1alpha1.types.AttachFlexibleIPRequest(fips_ids: 'List[str]', server_id: 'str', zone: 'Optional[ScwZone]')

Bases: object

fips_ids: List[str]

Multiple IDs can be provided, but note that flexible IPs must belong to the same MAC group (see details about MAC groups).

server_id: str

ID of the server on which to attach the flexible IPs.

zone: Optional[str]

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

class scaleway_async.flexibleip.v1alpha1.types.AttachFlexibleIPsResponse(total_count: 'int', flexible_ips: 'List[FlexibleIP]')

Bases: object

flexible_ips: List[FlexibleIP]

List of flexible IPs in an updating state.

total_count: int

Total count of flexible IPs that are being updated.

class scaleway_async.flexibleip.v1alpha1.types.CreateFlexibleIPRequest(description: 'str', is_ipv6: 'bool', zone: 'Optional[ScwZone]', project_id: 'Optional[str]', tags: 'Optional[List[str]]', server_id: 'Optional[str]', reverse: 'Optional[str]')

Bases: object

description: str

Flexible IP description (max. of 255 characters).

is_ipv6: bool

Defines whether the flexible IP has an IPv6 address.

project_id: Optional[str]

ID of the project to associate with the Flexible IP.

reverse: Optional[str]

Value of the reverse DNS.

server_id: Optional[str]

ID of the server to which the newly created flexible IP will be attached.

tags: Optional[List[str]]

Tags to associate to the flexible IP.

zone: Optional[str]

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

class scaleway_async.flexibleip.v1alpha1.types.DeleteFlexibleIPRequest(fip_id: 'str', zone: 'Optional[ScwZone]')

Bases: object

fip_id: str

ID of the flexible IP to delete.

zone: Optional[str]

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

class scaleway_async.flexibleip.v1alpha1.types.DeleteMACAddrRequest(fip_id: 'str', zone: 'Optional[ScwZone]')

Bases: object

fip_id: str

If the flexible IP belongs to a MAC group, the MAC will be removed from both the MAC group and flexible IP.

zone: Optional[str]

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

class scaleway_async.flexibleip.v1alpha1.types.DetachFlexibleIPRequest(fips_ids: 'List[str]', zone: 'Optional[ScwZone]')

Bases: object

fips_ids: List[str]

List of flexible IP IDs to detach from a server. Multiple IDs can be provided. Note that flexible IPs must belong to the same MAC group.

zone: Optional[str]

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

class scaleway_async.flexibleip.v1alpha1.types.DetachFlexibleIPsResponse(total_count: 'int', flexible_ips: 'List[FlexibleIP]')

Bases: object

flexible_ips: List[FlexibleIP]

List of flexible IPs in a detaching state.

total_count: int

Total count of flexible IPs that are being detached.

class scaleway_async.flexibleip.v1alpha1.types.DuplicateMACAddrRequest(fip_id: 'str', duplicate_from_fip_id: 'str', zone: 'Optional[ScwZone]')

Bases: object

duplicate_from_fip_id: str

Note that flexible IPs need to be attached to the same server.

fip_id: str

Note that the flexible IPs need to be attached to the same server.

zone: Optional[str]

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

class scaleway_async.flexibleip.v1alpha1.types.FlexibleIP(id: 'str', organization_id: 'str', project_id: 'str', description: 'str', tags: 'List[str]', status: 'FlexibleIPStatus', ip_address: 'str', updated_at: 'Optional[datetime]', reverse: 'str', zone: 'ScwZone', created_at: 'Optional[datetime]', mac_address: 'Optional[MACAddress]', server_id: 'Optional[str]')

Bases: object

created_at: Optional[datetime]

Date on which the flexible IP was created.

description: str

Flexible IP description.

id: str

ID of the flexible IP.

ip_address: str

IP of the flexible IP.

mac_address: Optional[MACAddress]

MAC address of the flexible IP.

organization_id: str

ID of the Organization the flexible IP is attached to.

project_id: str

ID of the Project the flexible IP is attached to.

reverse: str

Reverse DNS value.

server_id: Optional[str]

ID of the server linked to the flexible IP.

status: FlexibleIPStatus
  • ready : flexible IP is created and ready to be attached to a server or to be associated with a virtual MAC.

  • updating: flexible IP is being attached to a server or a virtual MAC operation is ongoing

  • attached: flexible IP is attached to a server

  • error: a flexible IP operation resulted in an error

  • detaching: flexible IP is being detached from a server

  • locked: the resource of the flexible IP is locked.

tags: List[str]

Flexible IP tags.

updated_at: Optional[datetime]

Date on which the flexible IP was last updated.

zone: str

Availability Zone of the flexible IP.

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

Bases: str, Enum

An enumeration.

ATTACHED = 'attached'
DETACHING = 'detaching'
ERROR = 'error'
LOCKED = 'locked'
READY = 'ready'
UNKNOWN = 'unknown'
UPDATING = 'updating'
class scaleway_async.flexibleip.v1alpha1.types.GenerateMACAddrRequest(fip_id: 'str', mac_type: 'MACAddressType', zone: 'Optional[ScwZone]')

Bases: object

fip_id: str

ID of the flexible IP for which to generate a virtual MAC.

mac_type: MACAddressType

TODO.

zone: Optional[str]

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

class scaleway_async.flexibleip.v1alpha1.types.GetFlexibleIPRequest(fip_id: 'str', zone: 'Optional[ScwZone]')

Bases: object

fip_id: str

ID of the flexible IP.

zone: Optional[str]

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

class scaleway_async.flexibleip.v1alpha1.types.ListFlexibleIPsRequest(zone: 'Optional[ScwZone]', order_by: 'Optional[ListFlexibleIPsRequestOrderBy]', page: 'Optional[int]', page_size: 'Optional[int]', tags: 'Optional[List[str]]', status: 'Optional[List[FlexibleIPStatus]]', server_ids: 'Optional[List[str]]', organization_id: 'Optional[str]', project_id: 'Optional[str]')

Bases: object

order_by: Optional[ListFlexibleIPsRequestOrderBy]

Sort order of the returned flexible IPs.

organization_id: Optional[str]

Filter by Organization ID, only flexible IPs from this Organization will be returned.

page: Optional[int]

Page number.

page_size: Optional[int]

Maximum number of flexible IPs per page.

project_id: Optional[str]

Filter by Project ID, only flexible IPs from this Project will be returned.

server_ids: Optional[List[str]]

Filter by server IDs, only flexible IPs with these server IDs will be returned.

status: Optional[List[FlexibleIPStatus]]

Filter by status, only flexible IPs with this status will be returned.

tags: Optional[List[str]]

Filter by tag, only flexible IPs with one or more matching tags will be returned.

zone: Optional[str]

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

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

Bases: str, Enum

An enumeration.

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway_async.flexibleip.v1alpha1.types.ListFlexibleIPsResponse(total_count: 'int', flexible_ips: 'List[FlexibleIP]')

Bases: object

flexible_ips: List[FlexibleIP]

List of all flexible IPs.

total_count: int

Total count of matching flexible IPs.

class scaleway_async.flexibleip.v1alpha1.types.MACAddress(id: 'str', mac_address: 'str', mac_type: 'MACAddressType', status: 'MACAddressStatus', zone: 'ScwZone', updated_at: 'Optional[datetime]', created_at: 'Optional[datetime]')

Bases: object

created_at: Optional[datetime]

Date on which the virtual MAC was created.

id: str

ID of the flexible IP.

mac_address: str

MAC address of the Virtual MAC.

mac_type: MACAddressType

Type of virtual MAC.

status: MACAddressStatus

Status of virtual MAC.

updated_at: Optional[datetime]

Date on which the virtual MAC was last updated.

zone: str

MAC address IP Availability Zone.

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

Bases: str, Enum

An enumeration.

DELETING = 'deleting'
ERROR = 'error'
READY = 'ready'
UNKNOWN = 'unknown'
UPDATING = 'updating'
USED = 'used'
class scaleway_async.flexibleip.v1alpha1.types.MACAddressType(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

KVM = 'kvm'
UNKNOWN_TYPE = 'unknown_type'
VMWARE = 'vmware'
XEN = 'xen'
class scaleway_async.flexibleip.v1alpha1.types.MoveMACAddrRequest(fip_id: 'str', dst_fip_id: 'str', zone: 'Optional[ScwZone]')

Bases: object

dst_fip_id: str
fip_id: str
zone: Optional[str]

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

class scaleway_async.flexibleip.v1alpha1.types.UpdateFlexibleIPRequest(fip_id: 'str', zone: 'Optional[ScwZone]', description: 'Optional[str]', tags: 'Optional[List[str]]', reverse: 'Optional[str]')

Bases: object

description: Optional[str]

Flexible IP description (max. 255 characters).

fip_id: str

ID of the flexible IP to update.

reverse: Optional[str]

Value of the reverse DNS.

tags: Optional[List[str]]

Tags associated with the flexible IP.

zone: Optional[str]

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

Module contents

class scaleway_async.flexibleip.v1alpha1.AttachFlexibleIPRequest(fips_ids: 'List[str]', server_id: 'str', zone: 'Optional[ScwZone]')

Bases: object

fips_ids: List[str]

Multiple IDs can be provided, but note that flexible IPs must belong to the same MAC group (see details about MAC groups).

server_id: str

ID of the server on which to attach the flexible IPs.

zone: Optional[str]

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

class scaleway_async.flexibleip.v1alpha1.AttachFlexibleIPsResponse(total_count: 'int', flexible_ips: 'List[FlexibleIP]')

Bases: object

flexible_ips: List[FlexibleIP]

List of flexible IPs in an updating state.

total_count: int

Total count of flexible IPs that are being updated.

class scaleway_async.flexibleip.v1alpha1.CreateFlexibleIPRequest(description: 'str', is_ipv6: 'bool', zone: 'Optional[ScwZone]', project_id: 'Optional[str]', tags: 'Optional[List[str]]', server_id: 'Optional[str]', reverse: 'Optional[str]')

Bases: object

description: str

Flexible IP description (max. of 255 characters).

is_ipv6: bool

Defines whether the flexible IP has an IPv6 address.

project_id: Optional[str]

ID of the project to associate with the Flexible IP.

reverse: Optional[str]

Value of the reverse DNS.

server_id: Optional[str]

ID of the server to which the newly created flexible IP will be attached.

tags: Optional[List[str]]

Tags to associate to the flexible IP.

zone: Optional[str]

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

class scaleway_async.flexibleip.v1alpha1.DeleteFlexibleIPRequest(fip_id: 'str', zone: 'Optional[ScwZone]')

Bases: object

fip_id: str

ID of the flexible IP to delete.

zone: Optional[str]

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

class scaleway_async.flexibleip.v1alpha1.DeleteMACAddrRequest(fip_id: 'str', zone: 'Optional[ScwZone]')

Bases: object

fip_id: str

If the flexible IP belongs to a MAC group, the MAC will be removed from both the MAC group and flexible IP.

zone: Optional[str]

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

class scaleway_async.flexibleip.v1alpha1.DetachFlexibleIPRequest(fips_ids: 'List[str]', zone: 'Optional[ScwZone]')

Bases: object

fips_ids: List[str]

List of flexible IP IDs to detach from a server. Multiple IDs can be provided. Note that flexible IPs must belong to the same MAC group.

zone: Optional[str]

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

class scaleway_async.flexibleip.v1alpha1.DetachFlexibleIPsResponse(total_count: 'int', flexible_ips: 'List[FlexibleIP]')

Bases: object

flexible_ips: List[FlexibleIP]

List of flexible IPs in a detaching state.

total_count: int

Total count of flexible IPs that are being detached.

class scaleway_async.flexibleip.v1alpha1.DuplicateMACAddrRequest(fip_id: 'str', duplicate_from_fip_id: 'str', zone: 'Optional[ScwZone]')

Bases: object

duplicate_from_fip_id: str

Note that flexible IPs need to be attached to the same server.

fip_id: str

Note that the flexible IPs need to be attached to the same server.

zone: Optional[str]

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

class scaleway_async.flexibleip.v1alpha1.FlexibleIP(id: 'str', organization_id: 'str', project_id: 'str', description: 'str', tags: 'List[str]', status: 'FlexibleIPStatus', ip_address: 'str', updated_at: 'Optional[datetime]', reverse: 'str', zone: 'ScwZone', created_at: 'Optional[datetime]', mac_address: 'Optional[MACAddress]', server_id: 'Optional[str]')

Bases: object

created_at: Optional[datetime]

Date on which the flexible IP was created.

description: str

Flexible IP description.

id: str

ID of the flexible IP.

ip_address: str

IP of the flexible IP.

mac_address: Optional[MACAddress]

MAC address of the flexible IP.

organization_id: str

ID of the Organization the flexible IP is attached to.

project_id: str

ID of the Project the flexible IP is attached to.

reverse: str

Reverse DNS value.

server_id: Optional[str]

ID of the server linked to the flexible IP.

status: FlexibleIPStatus
  • ready : flexible IP is created and ready to be attached to a server or to be associated with a virtual MAC.

  • updating: flexible IP is being attached to a server or a virtual MAC operation is ongoing

  • attached: flexible IP is attached to a server

  • error: a flexible IP operation resulted in an error

  • detaching: flexible IP is being detached from a server

  • locked: the resource of the flexible IP is locked.

tags: List[str]

Flexible IP tags.

updated_at: Optional[datetime]

Date on which the flexible IP was last updated.

zone: str

Availability Zone of the flexible IP.

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

Bases: str, Enum

An enumeration.

ATTACHED = 'attached'
DETACHING = 'detaching'
ERROR = 'error'
LOCKED = 'locked'
READY = 'ready'
UNKNOWN = 'unknown'
UPDATING = 'updating'
class scaleway_async.flexibleip.v1alpha1.FlexibleipV1Alpha1API(client: Client, *, bypass_validation: bool = False)

Bases: API

This API allows you to manage your Elastic Metal servers’ flexible public IP addresses.

async attach_flexible_ip(*, fips_ids: List[str], server_id: str, zone: Optional[str] = None) AttachFlexibleIPsResponse

Attach an existing flexible IP to a server. Attach an existing flexible IP to a specified Elastic Metal server. :param fips_ids: Multiple IDs can be provided, but note that flexible IPs must belong to the same MAC group (see details about MAC groups). :param server_id: ID of the server on which to attach the flexible IPs. :param zone: Zone to target. If none is passed will use default zone from the config. :return: AttachFlexibleIPsResponse

Usage:

result = await api.attach_flexible_ip(
    fips_ids=[],
    server_id="example",
)
async create_flexible_ip(*, description: str, is_ipv6: bool, zone: Optional[str] = None, project_id: Optional[str] = None, tags: Optional[List[str]] = None, server_id: Optional[str] = None, reverse: Optional[str] = None) FlexibleIP

Create a new flexible IP. Generate a new flexible IP within a given zone, specifying its configuration including Project ID and description. :param description: Flexible IP description (max. of 255 characters). :param is_ipv6: Defines whether the flexible IP has an IPv6 address. :param zone: Zone to target. If none is passed will use default zone from the config. :param project_id: ID of the project to associate with the Flexible IP. :param tags: Tags to associate to the flexible IP. :param server_id: ID of the server to which the newly created flexible IP will be attached. :param reverse: Value of the reverse DNS. :return: FlexibleIP

Usage:

result = await api.create_flexible_ip(
    description="example",
    is_ipv6=False,
)
async delete_flexible_ip(*, fip_id: str, zone: Optional[str] = None) None

Delete an existing flexible IP. Delete an existing flexible IP, specified by its ID and zone. Note that deleting a flexible IP is permanent and cannot be undone. :param fip_id: ID of the flexible IP to delete. :param zone: Zone to target. If none is passed will use default zone from the config.

Usage:

result = await api.delete_flexible_ip(
    fip_id="example",
)
async delete_mac_addr(*, fip_id: str, zone: Optional[str] = None) None

Detach a given virtual MAC address from an existing flexible IP. Detach a given MAC (Media Access Control) address from an existing flexible IP. :param fip_id: If the flexible IP belongs to a MAC group, the MAC will be removed from both the MAC group and flexible IP. :param zone: Zone to target. If none is passed will use default zone from the config.

Usage:

result = await api.delete_mac_addr(
    fip_id="example",
)
async detach_flexible_ip(*, fips_ids: List[str], zone: Optional[str] = None) DetachFlexibleIPsResponse

Detach an existing flexible IP from a server. Detach an existing flexible IP from a specified Elastic Metal server. :param fips_ids: List of flexible IP IDs to detach from a server. Multiple IDs can be provided. Note that flexible IPs must belong to the same MAC group. :param zone: Zone to target. If none is passed will use default zone from the config. :return: DetachFlexibleIPsResponse

Usage:

result = await api.detach_flexible_ip(
    fips_ids=[],
)
async duplicate_mac_addr(*, fip_id: str, duplicate_from_fip_id: str, zone: Optional[str] = None) FlexibleIP

Duplicate a virtual MAC address to another flexible IP. Duplicate a virtual MAC address from a given flexible IP to another flexible IP attached to the same server. :param fip_id: Note that the flexible IPs need to be attached to the same server. :param duplicate_from_fip_id: Note that flexible IPs need to be attached to the same server. :param zone: Zone to target. If none is passed will use default zone from the config. :return: FlexibleIP

Usage:

result = await api.duplicate_mac_addr(
    fip_id="example",
    duplicate_from_fip_id="example",
)
async generate_mac_addr(*, fip_id: str, mac_type: MACAddressType, zone: Optional[str] = None) FlexibleIP

Generate a virtual MAC address on an existing flexible IP. Generate a virtual MAC (Media Access Control) address on an existing flexible IP. :param fip_id: ID of the flexible IP for which to generate a virtual MAC. :param mac_type: TODO. :param zone: Zone to target. If none is passed will use default zone from the config. :return: FlexibleIP

Usage:

result = await api.generate_mac_addr(
    fip_id="example",
    mac_type=MACAddressType.unknown_type,
)
async get_flexible_ip(*, fip_id: str, zone: Optional[str] = None) FlexibleIP

Get an existing flexible IP. Retrieve information about an existing flexible IP, specified by its ID and zone. Its full details, including Project ID, description and status, are returned in the response object. :param fip_id: ID of the flexible IP. :param zone: Zone to target. If none is passed will use default zone from the config. :return: FlexibleIP

Usage:

result = await api.get_flexible_ip(
    fip_id="example",
)
async list_flexible_i_ps(*, zone: Optional[str] = None, order_by: Optional[ListFlexibleIPsRequestOrderBy] = None, page: Optional[int] = None, page_size: Optional[int] = None, tags: Optional[List[str]] = None, status: Optional[List[FlexibleIPStatus]] = None, server_ids: Optional[List[str]] = None, organization_id: Optional[str] = None, project_id: Optional[str] = None) ListFlexibleIPsResponse

List flexible IPs. List all flexible IPs within a given zone. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Sort order of the returned flexible IPs. :param page: Page number. :param page_size: Maximum number of flexible IPs per page. :param tags: Filter by tag, only flexible IPs with one or more matching tags will be returned. :param status: Filter by status, only flexible IPs with this status will be returned. :param server_ids: Filter by server IDs, only flexible IPs with these server IDs will be returned. :param organization_id: Filter by Organization ID, only flexible IPs from this Organization will be returned. :param project_id: Filter by Project ID, only flexible IPs from this Project will be returned. :return: ListFlexibleIPsResponse

Usage:

result = await api.list_flexible_i_ps()
async list_flexible_i_ps_all(*, zone: Optional[str] = None, order_by: Optional[ListFlexibleIPsRequestOrderBy] = None, page: Optional[int] = None, page_size: Optional[int] = None, tags: Optional[List[str]] = None, status: Optional[List[FlexibleIPStatus]] = None, server_ids: Optional[List[str]] = None, organization_id: Optional[str] = None, project_id: Optional[str] = None) List[FlexibleIP]

List flexible IPs. List all flexible IPs within a given zone. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Sort order of the returned flexible IPs. :param page: Page number. :param page_size: Maximum number of flexible IPs per page. :param tags: Filter by tag, only flexible IPs with one or more matching tags will be returned. :param status: Filter by status, only flexible IPs with this status will be returned. :param server_ids: Filter by server IDs, only flexible IPs with these server IDs will be returned. :param organization_id: Filter by Organization ID, only flexible IPs from this Organization will be returned. :param project_id: Filter by Project ID, only flexible IPs from this Project will be returned. :return: List[FlexibleIP]

Usage:

result = await api.list_flexible_i_ps_all()
async move_mac_addr(*, fip_id: str, dst_fip_id: str, zone: Optional[str] = None) FlexibleIP

Relocate an existing virtual MAC address to a different flexible IP. Relocate a virtual MAC (Media Access Control) address from an existing flexible IP to a different flexible IP. :param fip_id: :param dst_fip_id: :param zone: Zone to target. If none is passed will use default zone from the config. :return: FlexibleIP

Usage:

result = await api.move_mac_addr(
    fip_id="example",
    dst_fip_id="example",
)
async update_flexible_ip(*, fip_id: str, zone: Optional[str] = None, description: Optional[str] = None, tags: Optional[List[str]] = None, reverse: Optional[str] = None) FlexibleIP

Update an existing flexible IP. Update the parameters of an existing flexible IP, specified by its ID and zone. These parameters include tags and description. :param fip_id: ID of the flexible IP to update. :param zone: Zone to target. If none is passed will use default zone from the config. :param description: Flexible IP description (max. 255 characters). :param tags: Tags associated with the flexible IP. :param reverse: Value of the reverse DNS. :return: FlexibleIP

Usage:

result = await api.update_flexible_ip(
    fip_id="example",
)
async wait_for_flexible_ip(*, fip_id: str, zone: Optional[str] = None, options: Optional[WaitForOptions[FlexibleIP, Union[bool, Awaitable[bool]]]] = None) FlexibleIP

Get an existing flexible IP. Retrieve information about an existing flexible IP, specified by its ID and zone. Its full details, including Project ID, description and status, are returned in the response object. :param fip_id: ID of the flexible IP. :param zone: Zone to target. If none is passed will use default zone from the config. :return: FlexibleIP

Usage:

result = await api.get_flexible_ip(
    fip_id="example",
)
class scaleway_async.flexibleip.v1alpha1.GenerateMACAddrRequest(fip_id: 'str', mac_type: 'MACAddressType', zone: 'Optional[ScwZone]')

Bases: object

fip_id: str

ID of the flexible IP for which to generate a virtual MAC.

mac_type: MACAddressType

TODO.

zone: Optional[str]

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

class scaleway_async.flexibleip.v1alpha1.GetFlexibleIPRequest(fip_id: 'str', zone: 'Optional[ScwZone]')

Bases: object

fip_id: str

ID of the flexible IP.

zone: Optional[str]

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

class scaleway_async.flexibleip.v1alpha1.ListFlexibleIPsRequest(zone: 'Optional[ScwZone]', order_by: 'Optional[ListFlexibleIPsRequestOrderBy]', page: 'Optional[int]', page_size: 'Optional[int]', tags: 'Optional[List[str]]', status: 'Optional[List[FlexibleIPStatus]]', server_ids: 'Optional[List[str]]', organization_id: 'Optional[str]', project_id: 'Optional[str]')

Bases: object

order_by: Optional[ListFlexibleIPsRequestOrderBy]

Sort order of the returned flexible IPs.

organization_id: Optional[str]

Filter by Organization ID, only flexible IPs from this Organization will be returned.

page: Optional[int]

Page number.

page_size: Optional[int]

Maximum number of flexible IPs per page.

project_id: Optional[str]

Filter by Project ID, only flexible IPs from this Project will be returned.

server_ids: Optional[List[str]]

Filter by server IDs, only flexible IPs with these server IDs will be returned.

status: Optional[List[FlexibleIPStatus]]

Filter by status, only flexible IPs with this status will be returned.

tags: Optional[List[str]]

Filter by tag, only flexible IPs with one or more matching tags will be returned.

zone: Optional[str]

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

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

Bases: str, Enum

An enumeration.

CREATED_AT_ASC = 'created_at_asc'
CREATED_AT_DESC = 'created_at_desc'
class scaleway_async.flexibleip.v1alpha1.ListFlexibleIPsResponse(total_count: 'int', flexible_ips: 'List[FlexibleIP]')

Bases: object

flexible_ips: List[FlexibleIP]

List of all flexible IPs.

total_count: int

Total count of matching flexible IPs.

class scaleway_async.flexibleip.v1alpha1.MACAddress(id: 'str', mac_address: 'str', mac_type: 'MACAddressType', status: 'MACAddressStatus', zone: 'ScwZone', updated_at: 'Optional[datetime]', created_at: 'Optional[datetime]')

Bases: object

created_at: Optional[datetime]

Date on which the virtual MAC was created.

id: str

ID of the flexible IP.

mac_address: str

MAC address of the Virtual MAC.

mac_type: MACAddressType

Type of virtual MAC.

status: MACAddressStatus

Status of virtual MAC.

updated_at: Optional[datetime]

Date on which the virtual MAC was last updated.

zone: str

MAC address IP Availability Zone.

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

Bases: str, Enum

An enumeration.

DELETING = 'deleting'
ERROR = 'error'
READY = 'ready'
UNKNOWN = 'unknown'
UPDATING = 'updating'
USED = 'used'
class scaleway_async.flexibleip.v1alpha1.MACAddressType(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)

Bases: str, Enum

An enumeration.

KVM = 'kvm'
UNKNOWN_TYPE = 'unknown_type'
VMWARE = 'vmware'
XEN = 'xen'
class scaleway_async.flexibleip.v1alpha1.MoveMACAddrRequest(fip_id: 'str', dst_fip_id: 'str', zone: 'Optional[ScwZone]')

Bases: object

dst_fip_id: str
fip_id: str
zone: Optional[str]

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

class scaleway_async.flexibleip.v1alpha1.UpdateFlexibleIPRequest(fip_id: 'str', zone: 'Optional[ScwZone]', description: 'Optional[str]', tags: 'Optional[List[str]]', reverse: 'Optional[str]')

Bases: object

description: Optional[str]

Flexible IP description (max. 255 characters).

fip_id: str

ID of the flexible IP to update.

reverse: Optional[str]

Value of the reverse DNS.

tags: Optional[List[str]]

Tags associated with the flexible IP.

zone: Optional[str]

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