scaleway.flexibleip.v1alpha1 package
Submodules
scaleway.flexibleip.v1alpha1.api module
- class scaleway.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.
- 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 = api.attach_flexible_ip( fips_ids=[], server_id="example", )
- 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 = api.create_flexible_ip( description="example", is_ipv6=False, )
- 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 = api.delete_flexible_ip( fip_id="example", )
- 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 = api.delete_mac_addr( fip_id="example", )
- 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 = api.detach_flexible_ip( fips_ids=[], )
- 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 = api.duplicate_mac_addr( fip_id="example", duplicate_from_fip_id="example", )
- 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 = api.generate_mac_addr( fip_id="example", mac_type=MACAddressType.unknown_type, )
- 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 = api.get_flexible_ip( fip_id="example", )
- 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 = api.list_flexible_i_ps()
- 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 = api.list_flexible_i_ps_all()
- 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 = api.move_mac_addr( fip_id="example", dst_fip_id="example", )
- 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 = api.update_flexible_ip( fip_id="example", )
- wait_for_flexible_ip(*, fip_id: str, zone: Optional[str] = None, options: Optional[WaitForOptions[FlexibleIP, 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 = 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]')
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.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]', 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.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.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.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.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]')
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.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.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.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.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.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.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.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]', 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.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.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.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.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.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.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]', 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.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.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.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.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]')
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.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.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.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.
- 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 = api.attach_flexible_ip( fips_ids=[], server_id="example", )
- 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 = api.create_flexible_ip( description="example", is_ipv6=False, )
- 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 = api.delete_flexible_ip( fip_id="example", )
- 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 = api.delete_mac_addr( fip_id="example", )
- 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 = api.detach_flexible_ip( fips_ids=[], )
- 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 = api.duplicate_mac_addr( fip_id="example", duplicate_from_fip_id="example", )
- 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 = api.generate_mac_addr( fip_id="example", mac_type=MACAddressType.unknown_type, )
- 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 = api.get_flexible_ip( fip_id="example", )
- 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 = api.list_flexible_i_ps()
- 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 = api.list_flexible_i_ps_all()
- 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 = api.move_mac_addr( fip_id="example", dst_fip_id="example", )
- 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 = api.update_flexible_ip( fip_id="example", )
- wait_for_flexible_ip(*, fip_id: str, zone: Optional[str] = None, options: Optional[WaitForOptions[FlexibleIP, 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 = api.get_flexible_ip( fip_id="example", )
- class scaleway.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.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.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.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.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]', 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.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.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.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.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.