scaleway.flexibleip.v1alpha1 package
Submodules
scaleway.flexibleip.v1alpha1.api module
- class scaleway.flexibleip.v1alpha1.api.FlexibleipV1Alpha1API(client: Client, *, bypass_validation: bool = False)
Bases:
APIThis API allows you to manage your Elastic Metal servers’ flexible public IP addresses.
- attach_flexible_ip(*, fips_ids: List[str], server_id: str, zone: str | None = 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:
AttachFlexibleIPsResponseUsage:
result = api.attach_flexible_ip( fips_ids=[], server_id="example", )
- create_flexible_ip(*, description: str, is_ipv6: bool, zone: str | None = None, project_id: str | None = None, tags: List[str] | None = None, server_id: str | None = None, reverse: str | None = 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:
FlexibleIPUsage:
result = api.create_flexible_ip( description="example", is_ipv6=False, )
- delete_flexible_ip(*, fip_id: str, zone: str | None = 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 = api.delete_flexible_ip( fip_id="example", )
- delete_mac_addr(*, fip_id: str, zone: str | None = 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 = api.delete_mac_addr( fip_id="example", )
- detach_flexible_ip(*, fips_ids: List[str], zone: str | None = 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:
DetachFlexibleIPsResponseUsage:
result = api.detach_flexible_ip( fips_ids=[], )
- duplicate_mac_addr(*, fip_id: str, duplicate_from_fip_id: str, zone: str | None = 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:
FlexibleIPUsage:
result = api.duplicate_mac_addr( fip_id="example", duplicate_from_fip_id="example", )
- generate_mac_addr(*, fip_id: str, mac_type: MACAddressType, zone: str | None = 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:
FlexibleIPUsage:
result = api.generate_mac_addr( fip_id="example", mac_type=MACAddressType.unknown_type, )
- get_flexible_ip(*, fip_id: str, zone: str | None = 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:
FlexibleIPUsage:
result = api.get_flexible_ip( fip_id="example", )
- list_flexible_i_ps(*, zone: str | None = None, order_by: ListFlexibleIPsRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, tags: List[str] | None = None, status: List[FlexibleIPStatus] | None = None, server_ids: List[str] | None = None, organization_id: str | None = None, project_id: str | None = 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:
ListFlexibleIPsResponseUsage:
result = api.list_flexible_i_ps()
- list_flexible_i_ps_all(*, zone: str | None = None, order_by: ListFlexibleIPsRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, tags: List[str] | None = None, status: List[FlexibleIPStatus] | None = None, server_ids: List[str] | None = None, organization_id: str | None = None, project_id: str | None = 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 = api.list_flexible_i_ps_all()
- move_mac_addr(*, fip_id: str, dst_fip_id: str, zone: str | None = 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:
FlexibleIPUsage:
result = api.move_mac_addr( fip_id="example", dst_fip_id="example", )
- update_flexible_ip(*, fip_id: str, zone: str | None = None, description: str | None = None, tags: List[str] | None = None, reverse: str | None = 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:
FlexibleIPUsage:
result = api.update_flexible_ip( fip_id="example", )
- wait_for_flexible_ip(*, fip_id: str, zone: str | None = None, options: WaitForOptions[FlexibleIP, bool] | None = 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:
FlexibleIPUsage:
result = api.get_flexible_ip( fip_id="example", )
scaleway.flexibleip.v1alpha1.content module
- scaleway.flexibleip.v1alpha1.content.FLEXIBLE_IP_TRANSIENT_STATUSES: List[FlexibleIPStatus] = [<FlexibleIPStatus.UPDATING: 'updating'>, <FlexibleIPStatus.DETACHING: 'detaching'>]
Lists transient statutes of the enum
FlexibleIPStatus.
- scaleway.flexibleip.v1alpha1.content.MAC_ADDRESS_TRANSIENT_STATUSES: List[MACAddressStatus] = [<MACAddressStatus.UPDATING: 'updating'>, <MACAddressStatus.DELETING: 'deleting'>]
Lists transient statutes of the enum
MACAddressStatus.
scaleway.flexibleip.v1alpha1.marshalling module
- scaleway.flexibleip.v1alpha1.marshalling.marshal_AttachFlexibleIPRequest(request: AttachFlexibleIPRequest, defaults: ProfileDefaults) Dict[str, Any]
- scaleway.flexibleip.v1alpha1.marshalling.marshal_CreateFlexibleIPRequest(request: CreateFlexibleIPRequest, defaults: ProfileDefaults) Dict[str, Any]
- scaleway.flexibleip.v1alpha1.marshalling.marshal_DetachFlexibleIPRequest(request: DetachFlexibleIPRequest, defaults: ProfileDefaults) Dict[str, Any]
- scaleway.flexibleip.v1alpha1.marshalling.marshal_DuplicateMACAddrRequest(request: DuplicateMACAddrRequest, defaults: ProfileDefaults) Dict[str, Any]
- scaleway.flexibleip.v1alpha1.marshalling.marshal_GenerateMACAddrRequest(request: GenerateMACAddrRequest, defaults: ProfileDefaults) Dict[str, Any]
- scaleway.flexibleip.v1alpha1.marshalling.marshal_MoveMACAddrRequest(request: MoveMACAddrRequest, defaults: ProfileDefaults) Dict[str, Any]
- scaleway.flexibleip.v1alpha1.marshalling.marshal_UpdateFlexibleIPRequest(request: UpdateFlexibleIPRequest, defaults: ProfileDefaults) Dict[str, Any]
- scaleway.flexibleip.v1alpha1.marshalling.unmarshal_AttachFlexibleIPsResponse(data: Any) AttachFlexibleIPsResponse
- scaleway.flexibleip.v1alpha1.marshalling.unmarshal_DetachFlexibleIPsResponse(data: Any) DetachFlexibleIPsResponse
- scaleway.flexibleip.v1alpha1.marshalling.unmarshal_FlexibleIP(data: Any) FlexibleIP
- scaleway.flexibleip.v1alpha1.marshalling.unmarshal_ListFlexibleIPsResponse(data: Any) ListFlexibleIPsResponse
- scaleway.flexibleip.v1alpha1.marshalling.unmarshal_MACAddress(data: Any) MACAddress
scaleway.flexibleip.v1alpha1.types module
- class scaleway.flexibleip.v1alpha1.types.AttachFlexibleIPRequest(fips_ids: 'List[str]', server_id: 'str', zone: 'Optional[ScwZone]' = None)
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: str | None = None
Zone to target. If none is passed will use default zone from the config.
- class scaleway.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.flexibleip.v1alpha1.types.CreateFlexibleIPRequest(description: 'str', is_ipv6: 'bool', zone: 'Optional[ScwZone]' = None, project_id: 'Optional[str]' = None, tags: 'Optional[List[str]]' = <factory>, server_id: 'Optional[str]' = None, reverse: 'Optional[str]' = None)
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: str | None = None
ID of the project to associate with the Flexible IP.
- reverse: str | None = None
Value of the reverse DNS.
- server_id: str | None = None
ID of the server to which the newly created flexible IP will be attached.
- tags: List[str] | None
Tags to associate to the flexible IP.
- zone: str | None = None
Zone to target. If none is passed will use default zone from the config.
- class scaleway.flexibleip.v1alpha1.types.DeleteFlexibleIPRequest(fip_id: 'str', zone: 'Optional[ScwZone]' = None)
Bases:
object- fip_id: str
ID of the flexible IP to delete.
- zone: str | None = None
Zone to target. If none is passed will use default zone from the config.
- class scaleway.flexibleip.v1alpha1.types.DeleteMACAddrRequest(fip_id: 'str', zone: 'Optional[ScwZone]' = None)
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: str | None = None
Zone to target. If none is passed will use default zone from the config.
- class scaleway.flexibleip.v1alpha1.types.DetachFlexibleIPRequest(fips_ids: 'List[str]', zone: 'Optional[ScwZone]' = None)
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: str | None = None
Zone to target. If none is passed will use default zone from the config.
- class scaleway.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.flexibleip.v1alpha1.types.DuplicateMACAddrRequest(fip_id: 'str', duplicate_from_fip_id: 'str', zone: 'Optional[ScwZone]' = None)
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: str | None = None
Zone to target. If none is passed will use default zone from the config.
- class scaleway.flexibleip.v1alpha1.types.FlexibleIP(id: 'str', organization_id: 'str', project_id: 'str', description: 'str', tags: 'List[str]', status: 'FlexibleIPStatus', ip_address: 'str', reverse: 'str', zone: 'ScwZone', updated_at: 'Optional[datetime]' = None, created_at: 'Optional[datetime]' = None, mac_address: 'Optional[MACAddress]' = None, server_id: 'Optional[str]' = None)
Bases:
object- created_at: datetime | None = None
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: MACAddress | None = None
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: str | None = None
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: datetime | None = None
Date on which the flexible IP was last updated.
- zone: str
Availability Zone of the flexible IP.
- class scaleway.flexibleip.v1alpha1.types.FlexibleIPStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)
Bases:
str,Enum- ATTACHED = 'attached'
- DETACHING = 'detaching'
- ERROR = 'error'
- LOCKED = 'locked'
- READY = 'ready'
- UNKNOWN = 'unknown'
- UPDATING = 'updating'
- class scaleway.flexibleip.v1alpha1.types.GenerateMACAddrRequest(fip_id: 'str', mac_type: 'MACAddressType', zone: 'Optional[ScwZone]' = None)
Bases:
object- fip_id: str
ID of the flexible IP for which to generate a virtual MAC.
- mac_type: MACAddressType
TODO.
- zone: str | None = None
Zone to target. If none is passed will use default zone from the config.
- class scaleway.flexibleip.v1alpha1.types.GetFlexibleIPRequest(fip_id: 'str', zone: 'Optional[ScwZone]' = None)
Bases:
object- fip_id: str
ID of the flexible IP.
- zone: str | None = None
Zone to target. If none is passed will use default zone from the config.
- class scaleway.flexibleip.v1alpha1.types.ListFlexibleIPsRequest(zone: 'Optional[ScwZone]' = None, order_by: 'Optional[ListFlexibleIPsRequestOrderBy]' = <ListFlexibleIPsRequestOrderBy.CREATED_AT_ASC: 'created_at_asc'>, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, tags: 'Optional[List[str]]' = <factory>, status: 'Optional[List[FlexibleIPStatus]]' = <factory>, server_ids: 'Optional[List[str]]' = <factory>, organization_id: 'Optional[str]' = None, project_id: 'Optional[str]' = None)
Bases:
object- order_by: ListFlexibleIPsRequestOrderBy | None = 'created_at_asc'
Sort order of the returned flexible IPs.
- organization_id: str | None = None
Filter by Organization ID, only flexible IPs from this Organization will be returned.
- page: int | None = 0
Page number.
- page_size: int | None = 0
Maximum number of flexible IPs per page.
- project_id: str | None = None
Filter by Project ID, only flexible IPs from this Project will be returned.
- server_ids: List[str] | None
Filter by server IDs, only flexible IPs with these server IDs will be returned.
- status: List[FlexibleIPStatus] | None
Filter by status, only flexible IPs with this status will be returned.
- tags: List[str] | None
Filter by tag, only flexible IPs with one or more matching tags will be returned.
- zone: str | None = None
Zone to target. If none is passed will use default zone from the config.
- class scaleway.flexibleip.v1alpha1.types.ListFlexibleIPsRequestOrderBy(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.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.flexibleip.v1alpha1.types.MACAddress(id: 'str', mac_address: 'str', mac_type: 'MACAddressType', status: 'MACAddressStatus', zone: 'ScwZone', updated_at: 'Optional[datetime]' = None, created_at: 'Optional[datetime]' = None)
Bases:
object- created_at: datetime | None = None
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: datetime | None = None
Date on which the virtual MAC was last updated.
- zone: str
MAC address IP Availability Zone.
- class scaleway.flexibleip.v1alpha1.types.MACAddressStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)
Bases:
str,Enum- DELETING = 'deleting'
- ERROR = 'error'
- READY = 'ready'
- UNKNOWN = 'unknown'
- UPDATING = 'updating'
- USED = 'used'
- class scaleway.flexibleip.v1alpha1.types.MACAddressType(value: str, names: Any | None = None, *args: Any, **kwargs: Any)
Bases:
str,Enum- KVM = 'kvm'
- UNKNOWN_TYPE = 'unknown_type'
- VMWARE = 'vmware'
- XEN = 'xen'
- class scaleway.flexibleip.v1alpha1.types.MoveMACAddrRequest(fip_id: 'str', dst_fip_id: 'str', zone: 'Optional[ScwZone]' = None)
Bases:
object- dst_fip_id: str
- fip_id: str
- zone: str | None = None
Zone to target. If none is passed will use default zone from the config.
- class scaleway.flexibleip.v1alpha1.types.UpdateFlexibleIPRequest(fip_id: 'str', zone: 'Optional[ScwZone]' = None, description: 'Optional[str]' = None, tags: 'Optional[List[str]]' = <factory>, reverse: 'Optional[str]' = None)
Bases:
object- description: str | None = None
Flexible IP description (max. 255 characters).
- fip_id: str
ID of the flexible IP to update.
- reverse: str | None = None
Value of the reverse DNS.
- tags: List[str] | None
Tags associated with the flexible IP.
- zone: str | None = None
Zone to target. If none is passed will use default zone from the config.
Module contents
- class scaleway.flexibleip.v1alpha1.AttachFlexibleIPRequest(fips_ids: 'List[str]', server_id: 'str', zone: 'Optional[ScwZone]' = None)
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: str | None = None
Zone to target. If none is passed will use default zone from the config.
- class scaleway.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.flexibleip.v1alpha1.CreateFlexibleIPRequest(description: 'str', is_ipv6: 'bool', zone: 'Optional[ScwZone]' = None, project_id: 'Optional[str]' = None, tags: 'Optional[List[str]]' = <factory>, server_id: 'Optional[str]' = None, reverse: 'Optional[str]' = None)
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: str | None = None
ID of the project to associate with the Flexible IP.
- reverse: str | None = None
Value of the reverse DNS.
- server_id: str | None = None
ID of the server to which the newly created flexible IP will be attached.
- tags: List[str] | None
Tags to associate to the flexible IP.
- zone: str | None = None
Zone to target. If none is passed will use default zone from the config.
- class scaleway.flexibleip.v1alpha1.DeleteFlexibleIPRequest(fip_id: 'str', zone: 'Optional[ScwZone]' = None)
Bases:
object- fip_id: str
ID of the flexible IP to delete.
- zone: str | None = None
Zone to target. If none is passed will use default zone from the config.
- class scaleway.flexibleip.v1alpha1.DeleteMACAddrRequest(fip_id: 'str', zone: 'Optional[ScwZone]' = None)
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: str | None = None
Zone to target. If none is passed will use default zone from the config.
- class scaleway.flexibleip.v1alpha1.DetachFlexibleIPRequest(fips_ids: 'List[str]', zone: 'Optional[ScwZone]' = None)
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: str | None = None
Zone to target. If none is passed will use default zone from the config.
- class scaleway.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.flexibleip.v1alpha1.DuplicateMACAddrRequest(fip_id: 'str', duplicate_from_fip_id: 'str', zone: 'Optional[ScwZone]' = None)
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: str | None = None
Zone to target. If none is passed will use default zone from the config.
- class scaleway.flexibleip.v1alpha1.FlexibleIP(id: 'str', organization_id: 'str', project_id: 'str', description: 'str', tags: 'List[str]', status: 'FlexibleIPStatus', ip_address: 'str', reverse: 'str', zone: 'ScwZone', updated_at: 'Optional[datetime]' = None, created_at: 'Optional[datetime]' = None, mac_address: 'Optional[MACAddress]' = None, server_id: 'Optional[str]' = None)
Bases:
object- created_at: datetime | None = None
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: MACAddress | None = None
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: str | None = None
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: datetime | None = None
Date on which the flexible IP was last updated.
- zone: str
Availability Zone of the flexible IP.
- class scaleway.flexibleip.v1alpha1.FlexibleIPStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)
Bases:
str,Enum- ATTACHED = 'attached'
- DETACHING = 'detaching'
- ERROR = 'error'
- LOCKED = 'locked'
- READY = 'ready'
- UNKNOWN = 'unknown'
- UPDATING = 'updating'
- class scaleway.flexibleip.v1alpha1.FlexibleipV1Alpha1API(client: Client, *, bypass_validation: bool = False)
Bases:
APIThis API allows you to manage your Elastic Metal servers’ flexible public IP addresses.
- attach_flexible_ip(*, fips_ids: List[str], server_id: str, zone: str | None = 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:
AttachFlexibleIPsResponseUsage:
result = api.attach_flexible_ip( fips_ids=[], server_id="example", )
- create_flexible_ip(*, description: str, is_ipv6: bool, zone: str | None = None, project_id: str | None = None, tags: List[str] | None = None, server_id: str | None = None, reverse: str | None = 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:
FlexibleIPUsage:
result = api.create_flexible_ip( description="example", is_ipv6=False, )
- delete_flexible_ip(*, fip_id: str, zone: str | None = 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 = api.delete_flexible_ip( fip_id="example", )
- delete_mac_addr(*, fip_id: str, zone: str | None = 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 = api.delete_mac_addr( fip_id="example", )
- detach_flexible_ip(*, fips_ids: List[str], zone: str | None = 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:
DetachFlexibleIPsResponseUsage:
result = api.detach_flexible_ip( fips_ids=[], )
- duplicate_mac_addr(*, fip_id: str, duplicate_from_fip_id: str, zone: str | None = 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:
FlexibleIPUsage:
result = api.duplicate_mac_addr( fip_id="example", duplicate_from_fip_id="example", )
- generate_mac_addr(*, fip_id: str, mac_type: MACAddressType, zone: str | None = 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:
FlexibleIPUsage:
result = api.generate_mac_addr( fip_id="example", mac_type=MACAddressType.unknown_type, )
- get_flexible_ip(*, fip_id: str, zone: str | None = 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:
FlexibleIPUsage:
result = api.get_flexible_ip( fip_id="example", )
- list_flexible_i_ps(*, zone: str | None = None, order_by: ListFlexibleIPsRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, tags: List[str] | None = None, status: List[FlexibleIPStatus] | None = None, server_ids: List[str] | None = None, organization_id: str | None = None, project_id: str | None = 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:
ListFlexibleIPsResponseUsage:
result = api.list_flexible_i_ps()
- list_flexible_i_ps_all(*, zone: str | None = None, order_by: ListFlexibleIPsRequestOrderBy | None = None, page: int | None = None, page_size: int | None = None, tags: List[str] | None = None, status: List[FlexibleIPStatus] | None = None, server_ids: List[str] | None = None, organization_id: str | None = None, project_id: str | None = 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 = api.list_flexible_i_ps_all()
- move_mac_addr(*, fip_id: str, dst_fip_id: str, zone: str | None = 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:
FlexibleIPUsage:
result = api.move_mac_addr( fip_id="example", dst_fip_id="example", )
- update_flexible_ip(*, fip_id: str, zone: str | None = None, description: str | None = None, tags: List[str] | None = None, reverse: str | None = 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:
FlexibleIPUsage:
result = api.update_flexible_ip( fip_id="example", )
- wait_for_flexible_ip(*, fip_id: str, zone: str | None = None, options: WaitForOptions[FlexibleIP, bool] | None = 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:
FlexibleIPUsage:
result = api.get_flexible_ip( fip_id="example", )
- class scaleway.flexibleip.v1alpha1.GenerateMACAddrRequest(fip_id: 'str', mac_type: 'MACAddressType', zone: 'Optional[ScwZone]' = None)
Bases:
object- fip_id: str
ID of the flexible IP for which to generate a virtual MAC.
- mac_type: MACAddressType
TODO.
- zone: str | None = None
Zone to target. If none is passed will use default zone from the config.
- class scaleway.flexibleip.v1alpha1.GetFlexibleIPRequest(fip_id: 'str', zone: 'Optional[ScwZone]' = None)
Bases:
object- fip_id: str
ID of the flexible IP.
- zone: str | None = None
Zone to target. If none is passed will use default zone from the config.
- class scaleway.flexibleip.v1alpha1.ListFlexibleIPsRequest(zone: 'Optional[ScwZone]' = None, order_by: 'Optional[ListFlexibleIPsRequestOrderBy]' = <ListFlexibleIPsRequestOrderBy.CREATED_AT_ASC: 'created_at_asc'>, page: 'Optional[int]' = 0, page_size: 'Optional[int]' = 0, tags: 'Optional[List[str]]' = <factory>, status: 'Optional[List[FlexibleIPStatus]]' = <factory>, server_ids: 'Optional[List[str]]' = <factory>, organization_id: 'Optional[str]' = None, project_id: 'Optional[str]' = None)
Bases:
object- order_by: ListFlexibleIPsRequestOrderBy | None = 'created_at_asc'
Sort order of the returned flexible IPs.
- organization_id: str | None = None
Filter by Organization ID, only flexible IPs from this Organization will be returned.
- page: int | None = 0
Page number.
- page_size: int | None = 0
Maximum number of flexible IPs per page.
- project_id: str | None = None
Filter by Project ID, only flexible IPs from this Project will be returned.
- server_ids: List[str] | None
Filter by server IDs, only flexible IPs with these server IDs will be returned.
- status: List[FlexibleIPStatus] | None
Filter by status, only flexible IPs with this status will be returned.
- tags: List[str] | None
Filter by tag, only flexible IPs with one or more matching tags will be returned.
- zone: str | None = None
Zone to target. If none is passed will use default zone from the config.
- class scaleway.flexibleip.v1alpha1.ListFlexibleIPsRequestOrderBy(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.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.flexibleip.v1alpha1.MACAddress(id: 'str', mac_address: 'str', mac_type: 'MACAddressType', status: 'MACAddressStatus', zone: 'ScwZone', updated_at: 'Optional[datetime]' = None, created_at: 'Optional[datetime]' = None)
Bases:
object- created_at: datetime | None = None
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: datetime | None = None
Date on which the virtual MAC was last updated.
- zone: str
MAC address IP Availability Zone.
- class scaleway.flexibleip.v1alpha1.MACAddressStatus(value: str, names: Any | None = None, *args: Any, **kwargs: Any)
Bases:
str,Enum- DELETING = 'deleting'
- ERROR = 'error'
- READY = 'ready'
- UNKNOWN = 'unknown'
- UPDATING = 'updating'
- USED = 'used'
- class scaleway.flexibleip.v1alpha1.MACAddressType(value: str, names: Any | None = None, *args: Any, **kwargs: Any)
Bases:
str,Enum- KVM = 'kvm'
- UNKNOWN_TYPE = 'unknown_type'
- VMWARE = 'vmware'
- XEN = 'xen'
- class scaleway.flexibleip.v1alpha1.MoveMACAddrRequest(fip_id: 'str', dst_fip_id: 'str', zone: 'Optional[ScwZone]' = None)
Bases:
object- dst_fip_id: str
- fip_id: str
- zone: str | None = None
Zone to target. If none is passed will use default zone from the config.
- class scaleway.flexibleip.v1alpha1.UpdateFlexibleIPRequest(fip_id: 'str', zone: 'Optional[ScwZone]' = None, description: 'Optional[str]' = None, tags: 'Optional[List[str]]' = <factory>, reverse: 'Optional[str]' = None)
Bases:
object- description: str | None = None
Flexible IP description (max. 255 characters).
- fip_id: str
ID of the flexible IP to update.
- reverse: str | None = None
Value of the reverse DNS.
- tags: List[str] | None
Tags associated with the flexible IP.
- zone: str | None = None
Zone to target. If none is passed will use default zone from the config.