scaleway_async.vpcgw.v1 package
Submodules
scaleway_async.vpcgw.v1.api module
- class scaleway_async.vpcgw.v1.api.VpcgwV1API(client: Client, *, bypass_validation: bool = False)
Bases:
API
This API allows you to manage your Public Gateways.
- async create_dhcp(*, subnet: str, zone: Optional[str] = None, project_id: Optional[str] = None, address: Optional[str] = None, pool_low: Optional[str] = None, pool_high: Optional[str] = None, enable_dynamic: Optional[bool] = None, valid_lifetime: Optional[str] = None, renew_timer: Optional[str] = None, rebind_timer: Optional[str] = None, push_default_route: Optional[bool] = None, push_dns_server: Optional[bool] = None, dns_servers_override: Optional[List[str]] = None, dns_search: Optional[List[str]] = None, dns_local_name: Optional[str] = None) DHCP
Create a DHCP configuration. Create a new DHCP configuration object, containing settings for the assignment of IP addresses to devices on a Private Network attached to a Public Gateway. The response object includes the ID of the DHCP configuration object. You can use this ID as part of a call to Create a Public Gateway connection to a Private Network or Update a Public Gateway connection to a Private Network to directly apply this DHCP configuration. :param subnet: Subnet for the DHCP server. :param zone: Zone to target. If none is passed will use default zone from the config. :param project_id: Project to create the DHCP configuration in. :param address: IP address of the DHCP server. This will be the gateway’s address in the Private Network. Defaults to the first address of the subnet. :param pool_low: Low IP (inclusive) of the dynamic address pool. Must be in the config’s subnet. Defaults to the second address of the subnet. :param pool_high: High IP (inclusive) of the dynamic address pool. Must be in the config’s subnet. Defaults to the last address of the subnet. :param enable_dynamic: Defines whether to enable dynamic pooling of IPs. When false, only pre-existing DHCP reservations will be handed out. Defaults to true. :param valid_lifetime: How long DHCP entries will be valid for. Defaults to 1h (3600s). :param renew_timer: After how long a renew will be attempted. Must be 30s lower than rebind_timer. Defaults to 50m (3000s). :param rebind_timer: After how long a DHCP client will query for a new lease if previous renews fail. Must be 30s lower than valid_lifetime. Defaults to 51m (3060s). :param push_default_route: Defines whether the gateway should push a default route to DHCP clients or only hand out IPs. Defaults to true. :param push_dns_server: Defines whether the gateway should push custom DNS servers to clients. This allows for Instance hostname -> IP resolution. Defaults to true. :param dns_servers_override: Array of DNS server IP addresses used to override the DNS server list pushed to DHCP clients, instead of the gateway itself. :param dns_search: Array of search paths in addition to the pushed DNS configuration. :param dns_local_name: TLD given to hostnames in the Private Network. Allowed characters are a-z0-9-.. Defaults to the slugified Private Network name if created along a GatewayNetwork, or else to priv. :return:
DHCP
Usage:
result = await api.create_dhcp( subnet="example", )
- async create_dhcp_entry(*, gateway_network_id: str, mac_address: str, ip_address: str, zone: Optional[str] = None) DHCPEntry
Create a DHCP entry. Create a static DHCP reservation, specifying the Gateway Network for the reservation, the MAC address of the target device and the IP address to assign this device. The response is a DHCP entry object, confirming the ID and configuration details of the static DHCP reservation. :param gateway_network_id: GatewayNetwork on which to create a DHCP reservation. :param mac_address: MAC address to give a static entry to. :param ip_address: IP address to give to the device. :param zone: Zone to target. If none is passed will use default zone from the config. :return:
DHCPEntry
Usage:
result = await api.create_dhcp_entry( gateway_network_id="example", mac_address="example", ip_address="example", )
- async create_gateway(*, type_: str, enable_smtp: bool, enable_bastion: bool, zone: Optional[str] = None, project_id: Optional[str] = None, name: Optional[str] = None, tags: Optional[List[str]] = None, upstream_dns_servers: Optional[List[str]] = None, ip_id: Optional[str] = None, bastion_port: Optional[int] = None) Gateway
Create a Public Gateway. Create a new Public Gateway in the specified Scaleway Project, defining its name, type and other configuration details such as whether to enable SSH bastion. :param type_: Gateway type (commercial offer type). :param enable_smtp: Defines whether SMTP traffic should be allowed pass through the gateway. :param enable_bastion: Defines whether SSH bastion should be enabled the gateway. :param zone: Zone to target. If none is passed will use default zone from the config. :param project_id: Scaleway Project to create the gateway in. :param name: Name for the gateway. :param tags: Tags for the gateway. :param upstream_dns_servers: Array of DNS server IP addresses to override the gateway’s default recursive DNS servers. :param ip_id: Existing IP address to attach to the gateway. :param bastion_port: Port of the SSH bastion. :return:
Gateway
Usage:
result = await api.create_gateway( type="example", enable_smtp=False, enable_bastion=False, )
- async create_gateway_network(*, gateway_id: str, private_network_id: str, enable_masquerade: bool, zone: Optional[str] = None, enable_dhcp: Optional[bool] = None, dhcp_id: Optional[str] = None, dhcp: Optional[CreateDHCPRequest] = None, address: Optional[str] = None, ipam_config: Optional[CreateGatewayNetworkRequestIpamConfig] = None) GatewayNetwork
Attach a Public Gateway to a Private Network. Attach a specific Public Gateway to a specific Private Network (create a GatewayNetwork). You can configure parameters for the connection including DHCP settings, whether to enable masquerade (dynamic NAT), and more. :param gateway_id: Public Gateway to connect. :param private_network_id: Private Network to connect. :param enable_masquerade: Note: this setting is ignored when passing ipam_config. :param zone: Zone to target. If none is passed will use default zone from the config. :param enable_dhcp: Defaults to true if either dhcp_id or dhcp are present. If set to true, either dhcp_id or dhcp must be present. Note: this setting is ignored when passing ipam_config. :param dhcp_id: ID of an existing DHCP configuration object to use for this GatewayNetwork. One-Of (‘ip_config’): at most one of ‘dhcp_id’, ‘dhcp’, ‘address’, ‘ipam_config’ could be set. :param dhcp: New DHCP configuration object to use for this GatewayNetwork. One-Of (‘ip_config’): at most one of ‘dhcp_id’, ‘dhcp’, ‘address’, ‘ipam_config’ could be set. :param address: Static IP address in CIDR format to use without DHCP. One-Of (‘ip_config’): at most one of ‘dhcp_id’, ‘dhcp’, ‘address’, ‘ipam_config’ could be set. :param ipam_config: Note: all or none of the GatewayNetworks for a single gateway can use the IPAM. DHCP and IPAM configurations cannot be mixed. Some products may require that the Public Gateway uses the IPAM, to ensure correct functionality. One-Of (‘ip_config’): at most one of ‘dhcp_id’, ‘dhcp’, ‘address’, ‘ipam_config’ could be set. :return:
GatewayNetwork
Usage:
result = await api.create_gateway_network( gateway_id="example", private_network_id="example", enable_masquerade=False, )
- async create_ip(*, zone: Optional[str] = None, project_id: Optional[str] = None, tags: Optional[List[str]] = None) IP
Reserve an IP. Create (reserve) a new flexible IP address that can be used for a Public Gateway in a specified Scaleway Project. :param zone: Zone to target. If none is passed will use default zone from the config. :param project_id: Project to create the IP address in. :param tags: Tags to give to the IP address. :return:
IP
Usage:
result = await api.create_ip()
- async create_pat_rule(*, gateway_id: str, public_port: int, private_ip: str, private_port: int, zone: Optional[str] = None, protocol: Optional[PATRuleProtocol] = None) PATRule
Create a PAT rule. Create a new PAT rule on a specified Public Gateway, defining the protocol to use, public port to listen on, and private port / IP address to map to. :param gateway_id: ID of the Gateway on which to create the rule. :param public_port: Public port to listen on. :param private_ip: Private IP to forward data to. :param private_port: Private port to translate to. :param zone: Zone to target. If none is passed will use default zone from the config. :param protocol: Protocol the rule should apply to. :return:
PATRule
Usage:
result = await api.create_pat_rule( gateway_id="example", public_port=1, private_ip="example", private_port=1, )
- async delete_dhcp(*, dhcp_id: str, zone: Optional[str] = None) None
Delete a DHCP configuration. Delete a DHCP configuration object, identified by its DHCP ID. Note that you cannot delete a DHCP configuration object that is currently being used by a Gateway Network. :param dhcp_id: DHCP configuration ID to delete. :param zone: Zone to target. If none is passed will use default zone from the config.
Usage:
result = await api.delete_dhcp( dhcp_id="example", )
- async delete_dhcp_entry(*, dhcp_entry_id: str, zone: Optional[str] = None) None
Delete a DHCP entry. Delete a static DHCP reservation, identified by its DHCP entry ID. Note that you cannot delete DHCP entries of type lease, these are deleted automatically when their time-to-live expires. :param dhcp_entry_id: ID of the DHCP entry to delete. :param zone: Zone to target. If none is passed will use default zone from the config.
Usage:
result = await api.delete_dhcp_entry( dhcp_entry_id="example", )
- async delete_gateway(*, gateway_id: str, cleanup_dhcp: bool, zone: Optional[str] = None) None
Delete a Public Gateway. Delete an existing Public Gateway, specified by its gateway ID. This action is irreversible. :param gateway_id: ID of the gateway to delete. :param cleanup_dhcp: Defines whether to clean up attached DHCP configurations (if any, and if not attached to another Gateway Network). :param zone: Zone to target. If none is passed will use default zone from the config.
Usage:
result = await api.delete_gateway( gateway_id="example", cleanup_dhcp=False, )
- async delete_gateway_network(*, gateway_network_id: str, cleanup_dhcp: bool, zone: Optional[str] = None) None
Detach a Public Gateway from a Private Network. Detach a given Public Gateway from a given Private Network, i.e. delete a GatewayNetwork specified by a gateway_network_id. :param gateway_network_id: ID of the GatewayNetwork to delete. :param cleanup_dhcp: Defines whether to clean up attached DHCP configurations (if any, and if not attached to another Gateway Network). :param zone: Zone to target. If none is passed will use default zone from the config.
Usage:
result = await api.delete_gateway_network( gateway_network_id="example", cleanup_dhcp=False, )
- async delete_ip(*, ip_id: str, zone: Optional[str] = None) None
Delete an IP. Delete a flexible IP address from your account. This action is irreversible. :param ip_id: ID of the IP address to delete. :param zone: Zone to target. If none is passed will use default zone from the config.
Usage:
result = await api.delete_ip( ip_id="example", )
- async delete_pat_rule(*, pat_rule_id: str, zone: Optional[str] = None) None
Delete a PAT rule. Delete a PAT rule, identified by its PAT rule ID. This action is irreversible. :param pat_rule_id: ID of the PAT rule to delete. :param zone: Zone to target. If none is passed will use default zone from the config.
Usage:
result = await api.delete_pat_rule( pat_rule_id="example", )
- async enable_ip_mobility(*, gateway_id: str, zone: Optional[str] = None) None
Upgrade a Public Gateway to IP mobility. Upgrade a Public Gateway to IP mobility (move from NAT IP to routed IP). This is idempotent: repeated calls after the first will return no error but have no effect. :param gateway_id: ID of the gateway to upgrade to IP mobility. :param zone: Zone to target. If none is passed will use default zone from the config.
Usage:
result = await api.enable_ip_mobility( gateway_id="example", )
- async get_dhcp(*, dhcp_id: str, zone: Optional[str] = None) DHCP
Get a DHCP configuration. Get a DHCP configuration object, identified by its DHCP ID. The response object contains configuration settings for the assignment of IP addresses to devices on a Private Network attached to a Public Gateway. Note that the response does not contain the IDs of any Private Network / Public Gateway the configuration is attached to. Use the List Public Gateway connections to Private Networks method for that purpose, filtering on DHCP ID. :param dhcp_id: ID of the DHCP configuration to fetch. :param zone: Zone to target. If none is passed will use default zone from the config. :return:
DHCP
Usage:
result = await api.get_dhcp( dhcp_id="example", )
- async get_dhcp_entry(*, dhcp_entry_id: str, zone: Optional[str] = None) DHCPEntry
Get a DHCP entry. Get a DHCP entry, specified by its DHCP entry ID. :param dhcp_entry_id: ID of the DHCP entry to fetch. :param zone: Zone to target. If none is passed will use default zone from the config. :return:
DHCPEntry
Usage:
result = await api.get_dhcp_entry( dhcp_entry_id="example", )
- async get_gateway(*, gateway_id: str, zone: Optional[str] = None) Gateway
Get a Public Gateway. Get details of a Public Gateway, specified by its gateway ID. The response object contains full details of the gateway, including its name, type, status and more. :param gateway_id: ID of the gateway to fetch. :param zone: Zone to target. If none is passed will use default zone from the config. :return:
Gateway
Usage:
result = await api.get_gateway( gateway_id="example", )
- async get_gateway_network(*, gateway_network_id: str, zone: Optional[str] = None) GatewayNetwork
Get a Public Gateway connection to a Private Network. Get details of a given connection between a Public Gateway and a Private Network (this connection = a GatewayNetwork), specified by its gateway_network_id. The response object contains details of the connection including the IDs of the Public Gateway and Private Network, the dates the connection was created/updated and its configuration settings. :param gateway_network_id: ID of the GatewayNetwork to fetch. :param zone: Zone to target. If none is passed will use default zone from the config. :return:
GatewayNetwork
Usage:
result = await api.get_gateway_network( gateway_network_id="example", )
- async get_ip(*, ip_id: str, zone: Optional[str] = None) IP
Get an IP. Get details of a Public Gateway flexible IP address, identified by its IP ID. The response object contains information including which (if any) Public Gateway using this IP address, the reverse and various other metadata. :param ip_id: ID of the IP address to get. :param zone: Zone to target. If none is passed will use default zone from the config. :return:
IP
Usage:
result = await api.get_ip( ip_id="example", )
- async get_pat_rule(*, pat_rule_id: str, zone: Optional[str] = None) PATRule
Get a PAT rule. Get a PAT rule, specified by its PAT rule ID. The response object gives full details of the PAT rule, including the Public Gateway it belongs to and the configuration settings in terms of public / private ports, private IP and protocol. :param pat_rule_id: ID of the PAT rule to get. :param zone: Zone to target. If none is passed will use default zone from the config. :return:
PATRule
Usage:
result = await api.get_pat_rule( pat_rule_id="example", )
- async list_dhc_ps(*, zone: Optional[str] = None, order_by: Optional[ListDHCPsRequestOrderBy] = None, page: Optional[int] = None, page_size: Optional[int] = None, organization_id: Optional[str] = None, project_id: Optional[str] = None, address: Optional[str] = None, has_address: Optional[str] = None) ListDHCPsResponse
List DHCP configurations. List DHCP configurations, optionally filtering by Organization, Project, Public Gateway IP address or more. The response is an array of DHCP configuration objects, each identified by a DHCP ID and containing configuration settings for the assignment of IP addresses to devices on a Private Network attached to a Public Gateway. Note that the response does not contain the IDs of any Private Network / Public Gateway the configuration is attached to. Use the List Public Gateway connections to Private Networks method for that purpose, filtering on DHCP ID. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Order in which to return results. :param page: Page number. :param page_size: DHCP configurations per page. :param organization_id: Include only DHCP configuration objects in this Organization. :param project_id: Include only DHCP configuration objects in this Project. :param address: Filter for DHCP configuration objects with this DHCP server IP address (the gateway’s address in the Private Network). :param has_address: Filter for DHCP configuration objects with subnets containing this IP address. :return:
ListDHCPsResponse
Usage:
result = await api.list_dhc_ps()
- async list_dhc_ps_all(*, zone: Optional[str] = None, order_by: Optional[ListDHCPsRequestOrderBy] = None, page: Optional[int] = None, page_size: Optional[int] = None, organization_id: Optional[str] = None, project_id: Optional[str] = None, address: Optional[str] = None, has_address: Optional[str] = None) List[DHCP]
List DHCP configurations. List DHCP configurations, optionally filtering by Organization, Project, Public Gateway IP address or more. The response is an array of DHCP configuration objects, each identified by a DHCP ID and containing configuration settings for the assignment of IP addresses to devices on a Private Network attached to a Public Gateway. Note that the response does not contain the IDs of any Private Network / Public Gateway the configuration is attached to. Use the List Public Gateway connections to Private Networks method for that purpose, filtering on DHCP ID. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Order in which to return results. :param page: Page number. :param page_size: DHCP configurations per page. :param organization_id: Include only DHCP configuration objects in this Organization. :param project_id: Include only DHCP configuration objects in this Project. :param address: Filter for DHCP configuration objects with this DHCP server IP address (the gateway’s address in the Private Network). :param has_address: Filter for DHCP configuration objects with subnets containing this IP address. :return:
List[DHCP]
Usage:
result = await api.list_dhc_ps_all()
- async list_dhcp_entries(*, zone: Optional[str] = None, order_by: Optional[ListDHCPEntriesRequestOrderBy] = None, page: Optional[int] = None, page_size: Optional[int] = None, gateway_network_id: Optional[str] = None, mac_address: Optional[str] = None, ip_address: Optional[str] = None, hostname: Optional[str] = None, type_: Optional[DHCPEntryType] = None) ListDHCPEntriesResponse
List DHCP entries. List DHCP entries, whether dynamically assigned and/or statically reserved. DHCP entries can be filtered by the Gateway Network they are on, their MAC address, IP address, type or hostname. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Order in which to return results. :param page: Page number. :param page_size: DHCP entries per page. :param gateway_network_id: Filter for entries on this GatewayNetwork. :param mac_address: Filter for entries with this MAC address. :param ip_address: Filter for entries with this IP address. :param hostname: Filter for entries with this hostname substring. :param type_: Filter for entries of this type. :return:
ListDHCPEntriesResponse
Usage:
result = await api.list_dhcp_entries()
- async list_dhcp_entries_all(*, zone: Optional[str] = None, order_by: Optional[ListDHCPEntriesRequestOrderBy] = None, page: Optional[int] = None, page_size: Optional[int] = None, gateway_network_id: Optional[str] = None, mac_address: Optional[str] = None, ip_address: Optional[str] = None, hostname: Optional[str] = None, type_: Optional[DHCPEntryType] = None) List[DHCPEntry]
List DHCP entries. List DHCP entries, whether dynamically assigned and/or statically reserved. DHCP entries can be filtered by the Gateway Network they are on, their MAC address, IP address, type or hostname. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Order in which to return results. :param page: Page number. :param page_size: DHCP entries per page. :param gateway_network_id: Filter for entries on this GatewayNetwork. :param mac_address: Filter for entries with this MAC address. :param ip_address: Filter for entries with this IP address. :param hostname: Filter for entries with this hostname substring. :param type_: Filter for entries of this type. :return:
List[DHCPEntry]
Usage:
result = await api.list_dhcp_entries_all()
- async list_gateway_networks(*, zone: Optional[str] = None, order_by: Optional[ListGatewayNetworksRequestOrderBy] = None, page: Optional[int] = None, page_size: Optional[int] = None, gateway_id: Optional[str] = None, private_network_id: Optional[str] = None, enable_masquerade: Optional[bool] = None, dhcp_id: Optional[str] = None, status: Optional[GatewayNetworkStatus] = None) ListGatewayNetworksResponse
List Public Gateway connections to Private Networks. List the connections between Public Gateways and Private Networks (a connection = a GatewayNetwork). You can choose to filter by gateway-id to list all Private Networks attached to the specified Public Gateway, or by private_network_id to list all Public Gateways attached to the specified Private Network. Other query parameters are also available. The result is an array of GatewayNetwork objects, each giving details of the connection between a given Public Gateway and a given Private Network. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Order in which to return results. :param page: Page number. :param page_size: GatewayNetworks per page. :param gateway_id: Filter for GatewayNetworks connected to this gateway. :param private_network_id: Filter for GatewayNetworks connected to this Private Network. :param enable_masquerade: Filter for GatewayNetworks with this enable_masquerade setting. :param dhcp_id: Filter for GatewayNetworks using this DHCP configuration. :param status: Filter for GatewayNetworks with this current status this status. Use unknown to include all statuses. :return:
ListGatewayNetworksResponse
Usage:
result = await api.list_gateway_networks()
- async list_gateway_networks_all(*, zone: Optional[str] = None, order_by: Optional[ListGatewayNetworksRequestOrderBy] = None, page: Optional[int] = None, page_size: Optional[int] = None, gateway_id: Optional[str] = None, private_network_id: Optional[str] = None, enable_masquerade: Optional[bool] = None, dhcp_id: Optional[str] = None, status: Optional[GatewayNetworkStatus] = None) List[GatewayNetwork]
List Public Gateway connections to Private Networks. List the connections between Public Gateways and Private Networks (a connection = a GatewayNetwork). You can choose to filter by gateway-id to list all Private Networks attached to the specified Public Gateway, or by private_network_id to list all Public Gateways attached to the specified Private Network. Other query parameters are also available. The result is an array of GatewayNetwork objects, each giving details of the connection between a given Public Gateway and a given Private Network. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Order in which to return results. :param page: Page number. :param page_size: GatewayNetworks per page. :param gateway_id: Filter for GatewayNetworks connected to this gateway. :param private_network_id: Filter for GatewayNetworks connected to this Private Network. :param enable_masquerade: Filter for GatewayNetworks with this enable_masquerade setting. :param dhcp_id: Filter for GatewayNetworks using this DHCP configuration. :param status: Filter for GatewayNetworks with this current status this status. Use unknown to include all statuses. :return:
List[GatewayNetwork]
Usage:
result = await api.list_gateway_networks_all()
- async list_gateway_types(*, zone: Optional[str] = None) ListGatewayTypesResponse
List Public Gateway types. List the different Public Gateway commercial offer types available at Scaleway. The response is an array of objects describing the name and technical details of each available gateway type. :param zone: Zone to target. If none is passed will use default zone from the config. :return:
ListGatewayTypesResponse
Usage:
result = await api.list_gateway_types()
- async list_gateways(*, zone: Optional[str] = None, order_by: Optional[ListGatewaysRequestOrderBy] = None, page: Optional[int] = None, page_size: Optional[int] = None, organization_id: Optional[str] = None, project_id: Optional[str] = None, name: Optional[str] = None, tags: Optional[List[str]] = None, type_: Optional[str] = None, status: Optional[GatewayStatus] = None, private_network_id: Optional[str] = None) ListGatewaysResponse
List Public Gateways. List Public Gateways in a given Scaleway Organization or Project. By default, results are displayed in ascending order of creation date. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Order in which to return results. :param page: Page number to return. :param page_size: Gateways per page. :param organization_id: Include only gateways in this Organization. :param project_id: Include only gateways in this Project. :param name: Filter for gateways which have this search term in their name. :param tags: Filter for gateways with these tags. :param type_: Filter for gateways of this type. :param status: Filter for gateways with this current status. Use unknown to include all statuses. :param private_network_id: Filter for gateways attached to this Private nNetwork. :return:
ListGatewaysResponse
Usage:
result = await api.list_gateways()
- async list_gateways_all(*, zone: Optional[str] = None, order_by: Optional[ListGatewaysRequestOrderBy] = None, page: Optional[int] = None, page_size: Optional[int] = None, organization_id: Optional[str] = None, project_id: Optional[str] = None, name: Optional[str] = None, tags: Optional[List[str]] = None, type_: Optional[str] = None, status: Optional[GatewayStatus] = None, private_network_id: Optional[str] = None) List[Gateway]
List Public Gateways. List Public Gateways in a given Scaleway Organization or Project. By default, results are displayed in ascending order of creation date. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Order in which to return results. :param page: Page number to return. :param page_size: Gateways per page. :param organization_id: Include only gateways in this Organization. :param project_id: Include only gateways in this Project. :param name: Filter for gateways which have this search term in their name. :param tags: Filter for gateways with these tags. :param type_: Filter for gateways of this type. :param status: Filter for gateways with this current status. Use unknown to include all statuses. :param private_network_id: Filter for gateways attached to this Private nNetwork. :return:
List[Gateway]
Usage:
result = await api.list_gateways_all()
- async list_i_ps(*, zone: Optional[str] = None, order_by: Optional[ListIPsRequestOrderBy] = None, page: Optional[int] = None, page_size: Optional[int] = None, organization_id: Optional[str] = None, project_id: Optional[str] = None, tags: Optional[List[str]] = None, reverse: Optional[str] = None, is_free: Optional[bool] = None) ListIPsResponse
List IPs. List Public Gateway flexible IP addresses. A number of filter options are available for limiting results in the response. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Order in which to return results. :param page: Page number. :param page_size: IP addresses per page. :param organization_id: Filter for IP addresses in this Organization. :param project_id: Filter for IP addresses in this Project. :param tags: Filter for IP addresses with these tags. :param reverse: Filter for IP addresses that have a reverse containing this string. :param is_free: Filter based on whether the IP is attached to a gateway or not. :return:
ListIPsResponse
Usage:
result = await api.list_i_ps()
- async list_i_ps_all(*, zone: Optional[str] = None, order_by: Optional[ListIPsRequestOrderBy] = None, page: Optional[int] = None, page_size: Optional[int] = None, organization_id: Optional[str] = None, project_id: Optional[str] = None, tags: Optional[List[str]] = None, reverse: Optional[str] = None, is_free: Optional[bool] = None) List[IP]
List IPs. List Public Gateway flexible IP addresses. A number of filter options are available for limiting results in the response. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Order in which to return results. :param page: Page number. :param page_size: IP addresses per page. :param organization_id: Filter for IP addresses in this Organization. :param project_id: Filter for IP addresses in this Project. :param tags: Filter for IP addresses with these tags. :param reverse: Filter for IP addresses that have a reverse containing this string. :param is_free: Filter based on whether the IP is attached to a gateway or not. :return:
List[IP]
Usage:
result = await api.list_i_ps_all()
- async list_pat_rules(*, zone: Optional[str] = None, order_by: Optional[ListPATRulesRequestOrderBy] = None, page: Optional[int] = None, page_size: Optional[int] = None, gateway_id: Optional[str] = None, private_ip: Optional[str] = None, protocol: Optional[PATRuleProtocol] = None) ListPATRulesResponse
List PAT rules. List PAT rules. You can filter by gateway ID to list all PAT rules for a particular gateway, or filter for PAT rules targeting a specific IP address or using a specific protocol. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Order in which to return results. :param page: Page number. :param page_size: PAT rules per page. :param gateway_id: Filter for PAT rules on this Gateway. :param private_ip: Filter for PAT rules targeting this private ip. :param protocol: Filter for PAT rules with this protocol. :return:
ListPATRulesResponse
Usage:
result = await api.list_pat_rules()
- async list_pat_rules_all(*, zone: Optional[str] = None, order_by: Optional[ListPATRulesRequestOrderBy] = None, page: Optional[int] = None, page_size: Optional[int] = None, gateway_id: Optional[str] = None, private_ip: Optional[str] = None, protocol: Optional[PATRuleProtocol] = None) List[PATRule]
List PAT rules. List PAT rules. You can filter by gateway ID to list all PAT rules for a particular gateway, or filter for PAT rules targeting a specific IP address or using a specific protocol. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Order in which to return results. :param page: Page number. :param page_size: PAT rules per page. :param gateway_id: Filter for PAT rules on this Gateway. :param private_ip: Filter for PAT rules targeting this private ip. :param protocol: Filter for PAT rules with this protocol. :return:
List[PATRule]
Usage:
result = await api.list_pat_rules_all()
- async migrate_to_v2(*, gateway_id: str, zone: Optional[str] = None) None
Put a Public Gateway in IPAM mode. Put a Public Gateway in IPAM mode, so that it can be used with the Public Gateways API v2. This call is idempotent. :param gateway_id: ID of the gateway to put into IPAM mode. :param zone: Zone to target. If none is passed will use default zone from the config.
Usage:
result = await api.migrate_to_v2( gateway_id="example", )
- async refresh_ssh_keys(*, gateway_id: str, zone: Optional[str] = None) Gateway
Refresh a Public Gateway’s SSH keys. Refresh the SSH keys of a given Public Gateway, specified by its gateway ID. This adds any new SSH keys in the gateway’s Scaleway Project to the gateway itself. :param gateway_id: ID of the gateway to refresh SSH keys on. :param zone: Zone to target. If none is passed will use default zone from the config. :return:
Gateway
Usage:
result = await api.refresh_ssh_keys( gateway_id="example", )
- async set_dhcp_entries(*, gateway_network_id: str, zone: Optional[str] = None, dhcp_entries: Optional[List[SetDHCPEntriesRequestEntry]] = None) SetDHCPEntriesResponse
Set all DHCP reservations on a Gateway Network. Set the list of DHCP reservations attached to a Gateway Network. Reservations are identified by their MAC address, and will sync the current DHCP entry list to the given list, creating, updating or deleting DHCP entries accordingly. :param gateway_network_id: ID of the Gateway Network on which to set DHCP reservation list. :param zone: Zone to target. If none is passed will use default zone from the config. :param dhcp_entries: New list of DHCP reservations. :return:
SetDHCPEntriesResponse
Usage:
result = await api.set_dhcp_entries( gateway_network_id="example", )
- async set_pat_rules(*, gateway_id: str, pat_rules: List[SetPATRulesRequestRule], zone: Optional[str] = None) SetPATRulesResponse
Set all PAT rules. Set a definitive list of PAT rules attached to a Public Gateway. Each rule is identified by its public port and protocol. This will sync the current PAT rule list on the gateway with the new list, creating, updating or deleting PAT rules accordingly. :param gateway_id: ID of the gateway on which to set the PAT rules. :param pat_rules: New list of PAT rules. :param zone: Zone to target. If none is passed will use default zone from the config. :return:
SetPATRulesResponse
Usage:
result = await api.set_pat_rules( gateway_id="example", pat_rules=[], )
- async update_dhcp(*, dhcp_id: str, zone: Optional[str] = None, subnet: Optional[str] = None, address: Optional[str] = None, pool_low: Optional[str] = None, pool_high: Optional[str] = None, enable_dynamic: Optional[bool] = None, valid_lifetime: Optional[str] = None, renew_timer: Optional[str] = None, rebind_timer: Optional[str] = None, push_default_route: Optional[bool] = None, push_dns_server: Optional[bool] = None, dns_servers_override: Optional[List[str]] = None, dns_search: Optional[List[str]] = None, dns_local_name: Optional[str] = None) DHCP
Update a DHCP configuration. Update a DHCP configuration object, identified by its DHCP ID. :param dhcp_id: DHCP configuration to update. :param zone: Zone to target. If none is passed will use default zone from the config. :param subnet: Subnet for the DHCP server. :param address: IP address of the DHCP server. This will be the Public Gateway’s address in the Private Network. It must be part of config’s subnet. :param pool_low: Low IP (inclusive) of the dynamic address pool. Must be in the config’s subnet. :param pool_high: High IP (inclusive) of the dynamic address pool. Must be in the config’s subnet. :param enable_dynamic: Defines whether to enable dynamic pooling of IPs. When false, only pre-existing DHCP reservations will be handed out. Defaults to true. :param valid_lifetime: How long DHCP entries will be valid for. :param renew_timer: After how long a renew will be attempted. Must be 30s lower than rebind_timer. :param rebind_timer: After how long a DHCP client will query for a new lease if previous renews fail. Must be 30s lower than valid_lifetime. :param push_default_route: Defines whether the gateway should push a default route to DHCP clients, or only hand out IPs. :param push_dns_server: Defines whether the gateway should push custom DNS servers to clients. This allows for instance hostname -> IP resolution. :param dns_servers_override: Array of DNS server IP addresses used to override the DNS server list pushed to DHCP clients, instead of the gateway itself. :param dns_search: Array of search paths in addition to the pushed DNS configuration. :param dns_local_name: TLD given to hostnames in the Private Networks. If an instance with hostname foo gets a lease, and this is set to bar, foo.bar will resolve. Allowed characters are a-z0-9-.. :return:
DHCP
Usage:
result = await api.update_dhcp( dhcp_id="example", )
- async update_dhcp_entry(*, dhcp_entry_id: str, zone: Optional[str] = None, ip_address: Optional[str] = None) DHCPEntry
Update a DHCP entry. Update the IP address for a DHCP entry, specified by its DHCP entry ID. You can update an existing DHCP entry of any type (reservation (static), lease (dynamic) or unknown), but in manually updating the IP address the entry will necessarily be of type reservation after the update. :param dhcp_entry_id: ID of the DHCP entry to update. :param zone: Zone to target. If none is passed will use default zone from the config. :param ip_address: New IP address to give to the device. :return:
DHCPEntry
Usage:
result = await api.update_dhcp_entry( dhcp_entry_id="example", )
- async update_gateway(*, gateway_id: str, zone: Optional[str] = None, name: Optional[str] = None, tags: Optional[List[str]] = None, upstream_dns_servers: Optional[List[str]] = None, enable_bastion: Optional[bool] = None, bastion_port: Optional[int] = None, enable_smtp: Optional[bool] = None) Gateway
Update a Public Gateway. Update the parameters of an existing Public Gateway, for example, its name, tags, SSH bastion configuration, and DNS servers. :param gateway_id: ID of the gateway to update. :param zone: Zone to target. If none is passed will use default zone from the config. :param name: Name for the gateway. :param tags: Tags for the gateway. :param upstream_dns_servers: Array of DNS server IP addresses to override the gateway’s default recursive DNS servers. :param enable_bastion: Defines whether SSH bastion should be enabled the gateway. :param bastion_port: Port of the SSH bastion. :param enable_smtp: Defines whether SMTP traffic should be allowed to pass through the gateway. :return:
Gateway
Usage:
result = await api.update_gateway( gateway_id="example", )
- async update_gateway_network(*, gateway_network_id: str, zone: Optional[str] = None, enable_masquerade: Optional[bool] = None, enable_dhcp: Optional[bool] = None, dhcp_id: Optional[str] = None, address: Optional[str] = None, ipam_config: Optional[UpdateGatewayNetworkRequestIpamConfig] = None) GatewayNetwork
Update a Public Gateway’s connection to a Private Network. Update the configuration parameters of a connection between a given Public Gateway and Private Network (the connection = a GatewayNetwork). Updatable parameters include DHCP settings and whether to enable traffic masquerade (dynamic NAT). :param gateway_network_id: ID of the GatewayNetwork to update. :param zone: Zone to target. If none is passed will use default zone from the config. :param enable_masquerade: Note: this setting is ignored when passing ipam_config. :param enable_dhcp: Defaults to true if dhcp_id is present. If set to true, dhcp_id must be present. Note: this setting is ignored when passing ipam_config. :param dhcp_id: ID of the new DHCP configuration object to use with this GatewayNetwork. One-Of (‘ip_config’): at most one of ‘dhcp_id’, ‘address’, ‘ipam_config’ could be set. :param address: New static IP address. One-Of (‘ip_config’): at most one of ‘dhcp_id’, ‘address’, ‘ipam_config’ could be set. :param ipam_config: Note: all or none of the GatewayNetworks for a single gateway can use the IPAM. DHCP and IPAM configurations cannot be mixed. Some products may require that the Public Gateway uses the IPAM, to ensure correct functionality. One-Of (‘ip_config’): at most one of ‘dhcp_id’, ‘address’, ‘ipam_config’ could be set. :return:
GatewayNetwork
Usage:
result = await api.update_gateway_network( gateway_network_id="example", )
- async update_ip(*, ip_id: str, zone: Optional[str] = None, tags: Optional[List[str]] = None, reverse: Optional[str] = None, gateway_id: Optional[str] = None) IP
Update an IP. Update details of an existing flexible IP address, including its tags, reverse and the Public Gateway it is assigned to. :param ip_id: ID of the IP address to update. :param zone: Zone to target. If none is passed will use default zone from the config. :param tags: Tags to give to the IP address. :param reverse: Reverse to set on the address. Empty string to unset. :param gateway_id: Gateway to attach the IP address to. Empty string to detach. :return:
IP
Usage:
result = await api.update_ip( ip_id="example", )
- async update_pat_rule(*, pat_rule_id: str, zone: Optional[str] = None, public_port: Optional[int] = None, private_ip: Optional[str] = None, private_port: Optional[int] = None, protocol: Optional[PATRuleProtocol] = None) PATRule
Update a PAT rule. Update a PAT rule, specified by its PAT rule ID. Configuration settings including private/public port, private IP address and protocol can all be updated. :param pat_rule_id: ID of the PAT rule to update. :param zone: Zone to target. If none is passed will use default zone from the config. :param public_port: Public port to listen on. :param private_ip: Private IP to forward data to. :param private_port: Private port to translate to. :param protocol: Protocol the rule should apply to. :return:
PATRule
Usage:
result = await api.update_pat_rule( pat_rule_id="example", )
- async upgrade_gateway(*, gateway_id: str, zone: Optional[str] = None, type_: Optional[str] = None) Gateway
Upgrade a Public Gateway to the latest version and/or to a different commercial offer type. Upgrade a given Public Gateway to the newest software version or to a different commercial offer type. This applies the latest bugfixes and features to your Public Gateway. Note that gateway service will be interrupted during the update. :param gateway_id: ID of the gateway to upgrade. :param zone: Zone to target. If none is passed will use default zone from the config. :param type_: Gateway type (commercial offer). :return:
Gateway
Usage:
result = await api.upgrade_gateway( gateway_id="example", )
- async wait_for_gateway(*, gateway_id: str, zone: Optional[str] = None, options: Optional[WaitForOptions[Gateway, Union[bool, Awaitable[bool]]]] = None) Gateway
Get a Public Gateway. Get details of a Public Gateway, specified by its gateway ID. The response object contains full details of the gateway, including its name, type, status and more. :param gateway_id: ID of the gateway to fetch. :param zone: Zone to target. If none is passed will use default zone from the config. :return:
Gateway
Usage:
result = await api.get_gateway( gateway_id="example", )
- async wait_for_gateway_network(*, gateway_network_id: str, zone: Optional[str] = None, options: Optional[WaitForOptions[GatewayNetwork, Union[bool, Awaitable[bool]]]] = None) GatewayNetwork
Get a Public Gateway connection to a Private Network. Get details of a given connection between a Public Gateway and a Private Network (this connection = a GatewayNetwork), specified by its gateway_network_id. The response object contains details of the connection including the IDs of the Public Gateway and Private Network, the dates the connection was created/updated and its configuration settings. :param gateway_network_id: ID of the GatewayNetwork to fetch. :param zone: Zone to target. If none is passed will use default zone from the config. :return:
GatewayNetwork
Usage:
result = await api.get_gateway_network( gateway_network_id="example", )
scaleway_async.vpcgw.v1.content module
- scaleway_async.vpcgw.v1.content.GATEWAY_NETWORK_TRANSIENT_STATUSES: List[GatewayNetworkStatus] = [<GatewayNetworkStatus.ATTACHING: 'attaching'>, <GatewayNetworkStatus.CONFIGURING: 'configuring'>, <GatewayNetworkStatus.DETACHING: 'detaching'>]
Lists transient statutes of the enum
GatewayNetworkStatus
.
- scaleway_async.vpcgw.v1.content.GATEWAY_TRANSIENT_STATUSES: List[GatewayStatus] = [<GatewayStatus.ALLOCATING: 'allocating'>, <GatewayStatus.CONFIGURING: 'configuring'>, <GatewayStatus.STOPPING: 'stopping'>, <GatewayStatus.DELETING: 'deleting'>]
Lists transient statutes of the enum
GatewayStatus
.
scaleway_async.vpcgw.v1.marshalling module
- scaleway_async.vpcgw.v1.marshalling.marshal_CreateDHCPEntryRequest(request: CreateDHCPEntryRequest, defaults: ProfileDefaults) Dict[str, Any]
- scaleway_async.vpcgw.v1.marshalling.marshal_CreateDHCPRequest(request: CreateDHCPRequest, defaults: ProfileDefaults) Dict[str, Any]
- scaleway_async.vpcgw.v1.marshalling.marshal_CreateGatewayNetworkRequest(request: CreateGatewayNetworkRequest, defaults: ProfileDefaults) Dict[str, Any]
- scaleway_async.vpcgw.v1.marshalling.marshal_CreateGatewayNetworkRequestIpamConfig(request: CreateGatewayNetworkRequestIpamConfig, defaults: ProfileDefaults) Dict[str, Any]
- scaleway_async.vpcgw.v1.marshalling.marshal_CreateGatewayRequest(request: CreateGatewayRequest, defaults: ProfileDefaults) Dict[str, Any]
- scaleway_async.vpcgw.v1.marshalling.marshal_CreateIPRequest(request: CreateIPRequest, defaults: ProfileDefaults) Dict[str, Any]
- scaleway_async.vpcgw.v1.marshalling.marshal_CreatePATRuleRequest(request: CreatePATRuleRequest, defaults: ProfileDefaults) Dict[str, Any]
- scaleway_async.vpcgw.v1.marshalling.marshal_SetDHCPEntriesRequest(request: SetDHCPEntriesRequest, defaults: ProfileDefaults) Dict[str, Any]
- scaleway_async.vpcgw.v1.marshalling.marshal_SetDHCPEntriesRequestEntry(request: SetDHCPEntriesRequestEntry, defaults: ProfileDefaults) Dict[str, Any]
- scaleway_async.vpcgw.v1.marshalling.marshal_SetPATRulesRequest(request: SetPATRulesRequest, defaults: ProfileDefaults) Dict[str, Any]
- scaleway_async.vpcgw.v1.marshalling.marshal_SetPATRulesRequestRule(request: SetPATRulesRequestRule, defaults: ProfileDefaults) Dict[str, Any]
- scaleway_async.vpcgw.v1.marshalling.marshal_UpdateDHCPEntryRequest(request: UpdateDHCPEntryRequest, defaults: ProfileDefaults) Dict[str, Any]
- scaleway_async.vpcgw.v1.marshalling.marshal_UpdateDHCPRequest(request: UpdateDHCPRequest, defaults: ProfileDefaults) Dict[str, Any]
- scaleway_async.vpcgw.v1.marshalling.marshal_UpdateGatewayNetworkRequest(request: UpdateGatewayNetworkRequest, defaults: ProfileDefaults) Dict[str, Any]
- scaleway_async.vpcgw.v1.marshalling.marshal_UpdateGatewayNetworkRequestIpamConfig(request: UpdateGatewayNetworkRequestIpamConfig, defaults: ProfileDefaults) Dict[str, Any]
- scaleway_async.vpcgw.v1.marshalling.marshal_UpdateGatewayRequest(request: UpdateGatewayRequest, defaults: ProfileDefaults) Dict[str, Any]
- scaleway_async.vpcgw.v1.marshalling.marshal_UpdateIPRequest(request: UpdateIPRequest, defaults: ProfileDefaults) Dict[str, Any]
- scaleway_async.vpcgw.v1.marshalling.marshal_UpdatePATRuleRequest(request: UpdatePATRuleRequest, defaults: ProfileDefaults) Dict[str, Any]
- scaleway_async.vpcgw.v1.marshalling.marshal_UpgradeGatewayRequest(request: UpgradeGatewayRequest, defaults: ProfileDefaults) Dict[str, Any]
- scaleway_async.vpcgw.v1.marshalling.unmarshal_GatewayNetwork(data: Any) GatewayNetwork
- scaleway_async.vpcgw.v1.marshalling.unmarshal_GatewayType(data: Any) GatewayType
- scaleway_async.vpcgw.v1.marshalling.unmarshal_IpamConfig(data: Any) IpamConfig
- scaleway_async.vpcgw.v1.marshalling.unmarshal_ListDHCPEntriesResponse(data: Any) ListDHCPEntriesResponse
- scaleway_async.vpcgw.v1.marshalling.unmarshal_ListDHCPsResponse(data: Any) ListDHCPsResponse
- scaleway_async.vpcgw.v1.marshalling.unmarshal_ListGatewayNetworksResponse(data: Any) ListGatewayNetworksResponse
- scaleway_async.vpcgw.v1.marshalling.unmarshal_ListGatewayTypesResponse(data: Any) ListGatewayTypesResponse
- scaleway_async.vpcgw.v1.marshalling.unmarshal_ListGatewaysResponse(data: Any) ListGatewaysResponse
- scaleway_async.vpcgw.v1.marshalling.unmarshal_ListIPsResponse(data: Any) ListIPsResponse
- scaleway_async.vpcgw.v1.marshalling.unmarshal_ListPATRulesResponse(data: Any) ListPATRulesResponse
- scaleway_async.vpcgw.v1.marshalling.unmarshal_SetDHCPEntriesResponse(data: Any) SetDHCPEntriesResponse
- scaleway_async.vpcgw.v1.marshalling.unmarshal_SetPATRulesResponse(data: Any) SetPATRulesResponse
scaleway_async.vpcgw.v1.types module
- class scaleway_async.vpcgw.v1.types.CreateDHCPEntryRequest(gateway_network_id: 'str', mac_address: 'str', ip_address: 'str', zone: 'Optional[ScwZone]')
Bases:
object
- gateway_network_id: str
GatewayNetwork on which to create a DHCP reservation.
- ip_address: str
IP address to give to the device.
- mac_address: str
MAC address to give a static entry to.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.CreateDHCPRequest(subnet: 'str', zone: 'Optional[ScwZone]', project_id: 'Optional[str]', address: 'Optional[str]', pool_low: 'Optional[str]', pool_high: 'Optional[str]', enable_dynamic: 'Optional[bool]', valid_lifetime: 'Optional[str]', renew_timer: 'Optional[str]', rebind_timer: 'Optional[str]', push_default_route: 'Optional[bool]', push_dns_server: 'Optional[bool]', dns_servers_override: 'Optional[List[str]]', dns_search: 'Optional[List[str]]', dns_local_name: 'Optional[str]')
Bases:
object
- address: Optional[str]
IP address of the DHCP server. This will be the gateway’s address in the Private Network. Defaults to the first address of the subnet.
- dns_local_name: Optional[str]
TLD given to hostnames in the Private Network. Allowed characters are a-z0-9-.. Defaults to the slugified Private Network name if created along a GatewayNetwork, or else to priv.
- dns_search: Optional[List[str]]
Array of search paths in addition to the pushed DNS configuration.
- dns_servers_override: Optional[List[str]]
Array of DNS server IP addresses used to override the DNS server list pushed to DHCP clients, instead of the gateway itself.
- enable_dynamic: Optional[bool]
Defines whether to enable dynamic pooling of IPs. When false, only pre-existing DHCP reservations will be handed out. Defaults to true.
- pool_high: Optional[str]
High IP (inclusive) of the dynamic address pool. Must be in the config’s subnet. Defaults to the last address of the subnet.
- pool_low: Optional[str]
Low IP (inclusive) of the dynamic address pool. Must be in the config’s subnet. Defaults to the second address of the subnet.
- project_id: Optional[str]
Project to create the DHCP configuration in.
- push_default_route: Optional[bool]
Defines whether the gateway should push a default route to DHCP clients or only hand out IPs. Defaults to true.
- push_dns_server: Optional[bool]
Defines whether the gateway should push custom DNS servers to clients. This allows for Instance hostname -> IP resolution. Defaults to true.
- rebind_timer: Optional[str]
After how long a DHCP client will query for a new lease if previous renews fail. Must be 30s lower than valid_lifetime. Defaults to 51m (3060s).
- renew_timer: Optional[str]
After how long a renew will be attempted. Must be 30s lower than rebind_timer. Defaults to 50m (3000s).
- subnet: str
Subnet for the DHCP server.
- valid_lifetime: Optional[str]
How long DHCP entries will be valid for. Defaults to 1h (3600s).
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.CreateGatewayNetworkRequest(gateway_id: 'str', private_network_id: 'str', enable_masquerade: 'bool', zone: 'Optional[ScwZone]', enable_dhcp: 'Optional[bool]', dhcp_id: 'Optional[str]', dhcp: 'Optional[CreateDHCPRequest]', address: 'Optional[str]', ipam_config: 'Optional[CreateGatewayNetworkRequestIpamConfig]')
Bases:
object
- address: Optional[str]
- dhcp: Optional[CreateDHCPRequest]
- dhcp_id: Optional[str]
- enable_dhcp: Optional[bool]
Defaults to true if either dhcp_id or dhcp are present. If set to true, either dhcp_id or dhcp must be present.
Note: this setting is ignored when passing ipam_config.
- enable_masquerade: bool
Note: this setting is ignored when passing ipam_config.
- gateway_id: str
Public Gateway to connect.
- ipam_config: Optional[CreateGatewayNetworkRequestIpamConfig]
- private_network_id: str
Private Network to connect.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.CreateGatewayNetworkRequestIpamConfig(push_default_route: 'bool', ipam_ip_id: 'Optional[str]')
Bases:
object
- ipam_ip_id: Optional[str]
Use this IPAM-booked IP ID as the Gateway’s IP in this Private Network.
- push_default_route: bool
Enabling the default route also enables masquerading.
- class scaleway_async.vpcgw.v1.types.CreateGatewayRequest(type_: 'str', enable_smtp: 'bool', enable_bastion: 'bool', zone: 'Optional[ScwZone]', project_id: 'Optional[str]', name: 'Optional[str]', tags: 'Optional[List[str]]', upstream_dns_servers: 'Optional[List[str]]', ip_id: 'Optional[str]', bastion_port: 'Optional[int]')
Bases:
object
- bastion_port: Optional[int]
Port of the SSH bastion.
- enable_bastion: bool
Defines whether SSH bastion should be enabled the gateway.
- enable_smtp: bool
Defines whether SMTP traffic should be allowed pass through the gateway.
- ip_id: Optional[str]
Existing IP address to attach to the gateway.
- name: Optional[str]
Name for the gateway.
- project_id: Optional[str]
Scaleway Project to create the gateway in.
- tags: Optional[List[str]]
Tags for the gateway.
- type_: str
Gateway type (commercial offer type).
- upstream_dns_servers: Optional[List[str]]
Array of DNS server IP addresses to override the gateway’s default recursive DNS servers.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.CreateIPRequest(zone: 'Optional[ScwZone]', project_id: 'Optional[str]', tags: 'Optional[List[str]]')
Bases:
object
- project_id: Optional[str]
Project to create the IP address in.
- tags: Optional[List[str]]
Tags to give to the IP address.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.CreatePATRuleRequest(gateway_id: 'str', public_port: 'int', private_ip: 'str', private_port: 'int', zone: 'Optional[ScwZone]', protocol: 'Optional[PATRuleProtocol]')
Bases:
object
- gateway_id: str
ID of the Gateway on which to create the rule.
- private_ip: str
Private IP to forward data to.
- private_port: int
Private port to translate to.
- protocol: Optional[PATRuleProtocol]
Protocol the rule should apply to.
- public_port: int
Public port to listen on.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.DHCP(id: 'str', organization_id: 'str', project_id: 'str', subnet: 'str', address: 'str', pool_low: 'str', created_at: 'Optional[datetime]', updated_at: 'Optional[datetime]', pool_high: 'str', enable_dynamic: 'bool', push_default_route: 'bool', push_dns_server: 'bool', dns_servers_override: 'List[str]', dns_search: 'List[str]', dns_local_name: 'str', zone: 'ScwZone', valid_lifetime: 'Optional[str]', renew_timer: 'Optional[str]', rebind_timer: 'Optional[str]')
Bases:
object
- address: str
IP address of the DHCP server. This will be the Public Gateway’s address in the Private Network. It must be part of config’s subnet.
- created_at: Optional[datetime]
Date the DHCP configuration was created.
- dns_local_name: str
TLD given to hostnames in the Private Networks. If an Instance with hostname foo gets a lease, and this is set to bar, foo.bar will resolve.
- dns_search: List[str]
Array of search paths in addition to the pushed DNS configuration.
- dns_servers_override: List[str]
Array of DNS server IP addresses used to override the DNS server list pushed to DHCP clients, instead of the gateway itself.
- enable_dynamic: bool
Defines whether to enable dynamic pooling of IPs. When false, only pre-existing DHCP reservations will be handed out.
- id: str
ID of the DHCP config.
- organization_id: str
Owning Organization.
- pool_high: str
High IP (inclusive) of the dynamic address pool. Must be in the config’s subnet.
- pool_low: str
Low IP (inclusive) of the dynamic address pool. Must be in the config’s subnet.
- project_id: str
Owning Project.
- push_default_route: bool
Defines whether the gateway should push a default route to DHCP clients, or only hand out IPs.
- push_dns_server: bool
Defines whether the gateway should push custom DNS servers to clients. This allows for instance hostname -> IP resolution.
- rebind_timer: Optional[str]
After how long a DHCP client will query for a new lease if previous renews fail. Must be 30s lower than valid_lifetime.
- renew_timer: Optional[str]
After how long a renew will be attempted. Must be 30s lower than rebind_timer.
- subnet: str
Subnet for the DHCP server.
- updated_at: Optional[datetime]
Configuration last modification date.
- valid_lifetime: Optional[str]
How long DHCP entries will be valid for.
- zone: str
Zone of this DHCP configuration.
- class scaleway_async.vpcgw.v1.types.DHCPEntry(id: 'str', gateway_network_id: 'str', mac_address: 'str', ip_address: 'str', hostname: 'str', type_: 'DHCPEntryType', zone: 'ScwZone', created_at: 'Optional[datetime]', updated_at: 'Optional[datetime]')
Bases:
object
- created_at: Optional[datetime]
DHCP entry creation date.
- gateway_network_id: str
Owning GatewayNetwork.
- hostname: str
Hostname of the client device.
- id: str
DHCP entry ID.
- ip_address: str
Assigned IP address.
- mac_address: str
MAC address of the client device.
- type_: DHCPEntryType
Entry type, either static (DHCP reservation) or dynamic (DHCP lease).
- updated_at: Optional[datetime]
DHCP entry last modification date.
- zone: str
Zone of this DHCP entry.
- class scaleway_async.vpcgw.v1.types.DHCPEntryType(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)
Bases:
str
,Enum
An enumeration.
- LEASE = 'lease'
- RESERVATION = 'reservation'
- UNKNOWN = 'unknown'
- class scaleway_async.vpcgw.v1.types.DeleteDHCPEntryRequest(dhcp_entry_id: 'str', zone: 'Optional[ScwZone]')
Bases:
object
- dhcp_entry_id: str
ID of the DHCP entry to delete.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.DeleteDHCPRequest(dhcp_id: 'str', zone: 'Optional[ScwZone]')
Bases:
object
- dhcp_id: str
DHCP configuration ID to delete.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.DeleteGatewayNetworkRequest(gateway_network_id: 'str', cleanup_dhcp: 'bool', zone: 'Optional[ScwZone]')
Bases:
object
- cleanup_dhcp: bool
Defines whether to clean up attached DHCP configurations (if any, and if not attached to another Gateway Network).
- gateway_network_id: str
ID of the GatewayNetwork to delete.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.DeleteGatewayRequest(gateway_id: 'str', cleanup_dhcp: 'bool', zone: 'Optional[ScwZone]')
Bases:
object
- cleanup_dhcp: bool
Defines whether to clean up attached DHCP configurations (if any, and if not attached to another Gateway Network).
- gateway_id: str
ID of the gateway to delete.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.DeleteIPRequest(ip_id: 'str', zone: 'Optional[ScwZone]')
Bases:
object
- ip_id: str
ID of the IP address to delete.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.DeletePATRuleRequest(pat_rule_id: 'str', zone: 'Optional[ScwZone]')
Bases:
object
- pat_rule_id: str
ID of the PAT rule to delete.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.EnableIPMobilityRequest(gateway_id: 'str', zone: 'Optional[ScwZone]')
Bases:
object
- gateway_id: str
ID of the gateway to upgrade to IP mobility.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.Gateway(id: 'str', organization_id: 'str', project_id: 'str', created_at: 'Optional[datetime]', updated_at: 'Optional[datetime]', type_: 'Optional[GatewayType]', status: 'GatewayStatus', name: 'str', tags: 'List[str]', gateway_networks: 'List[GatewayNetwork]', upstream_dns_servers: 'List[str]', bastion_enabled: 'bool', ip: 'Optional[IP]', version: 'Optional[str]', can_upgrade_to: 'Optional[str]', bastion_port: 'int', smtp_enabled: 'bool', is_legacy: 'bool', ip_mobility_enabled: 'bool', zone: 'ScwZone')
Bases:
object
- bastion_enabled: bool
Defines whether SSH bastion is enabled on the gateway.
- bastion_port: int
Port of the SSH bastion.
- can_upgrade_to: Optional[str]
Newly available gateway software version that can be updated to.
- created_at: Optional[datetime]
Gateway creation date.
- gateway_networks: List[GatewayNetwork]
GatewayNetwork objects attached to the gateway (each one represents a connection to a Private Network).
- id: str
ID of the gateway.
- ip_mobility_enabled: bool
Defines whether the gateway uses routed IPs (IP mobility) instead of NAT IPs.
- is_legacy: bool
Defines whether the gateway uses non-IPAM IP configurations.
- name: str
Name of the gateway.
- organization_id: str
Owning Organization.
- project_id: str
Owning Project.
- smtp_enabled: bool
Defines whether SMTP traffic is allowed to pass through the gateway.
- status: GatewayStatus
Current status of the gateway.
- tags: List[str]
Tags associated with the gateway.
- type_: Optional[GatewayType]
Gateway type (commercial offer).
- updated_at: Optional[datetime]
Gateway last modification date.
- upstream_dns_servers: List[str]
Array of DNS server IP addresses to override the gateway’s default recursive DNS servers.
- version: Optional[str]
Version of the running gateway software.
- zone: str
Zone of the gateway.
- class scaleway_async.vpcgw.v1.types.GatewayNetwork(id: 'str', gateway_id: 'str', private_network_id: 'str', created_at: 'Optional[datetime]', updated_at: 'Optional[datetime]', mac_address: 'Optional[str]', enable_masquerade: 'bool', status: 'GatewayNetworkStatus', enable_dhcp: 'bool', zone: 'ScwZone', dhcp: 'Optional[DHCP]', address: 'Optional[str]', ipam_config: 'Optional[IpamConfig]')
Bases:
object
- address: Optional[str]
Address of the Gateway (in CIDR form) to use when DHCP is not used.
- created_at: Optional[datetime]
Connection creation date.
- enable_dhcp: bool
Defines whether DHCP is enabled on the connected Private Network.
- enable_masquerade: bool
Defines whether the gateway masquerades traffic for this Private Network (Dynamic NAT).
- gateway_id: str
ID of the connected Public Gateway.
- id: str
ID of the Public Gateway-Private Network connection.
- ipam_config: Optional[IpamConfig]
IPAM IP configuration used.
- mac_address: Optional[str]
MAC address of the gateway in the Private Network (if the gateway is up and running).
- private_network_id: str
ID of the connected Private Network.
- status: GatewayNetworkStatus
Current status of the Public Gateway’s connection to the Private Network.
- updated_at: Optional[datetime]
Connection last modification date.
- zone: str
Zone of the GatewayNetwork connection.
- class scaleway_async.vpcgw.v1.types.GatewayNetworkStatus(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)
Bases:
str
,Enum
An enumeration.
- ATTACHING = 'attaching'
- CONFIGURING = 'configuring'
- CREATED = 'created'
- DELETED = 'deleted'
- DETACHING = 'detaching'
- READY = 'ready'
- UNKNOWN = 'unknown'
- class scaleway_async.vpcgw.v1.types.GatewayStatus(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)
Bases:
str
,Enum
An enumeration.
- ALLOCATING = 'allocating'
- CONFIGURING = 'configuring'
- DELETED = 'deleted'
- DELETING = 'deleting'
- FAILED = 'failed'
- LOCKED = 'locked'
- RUNNING = 'running'
- STOPPED = 'stopped'
- STOPPING = 'stopping'
- UNKNOWN = 'unknown'
- class scaleway_async.vpcgw.v1.types.GatewayType(name: 'str', bandwidth: 'int', zone: 'ScwZone')
Bases:
object
- bandwidth: int
Bandwidth, in bps, of the Public Gateway. This is the public bandwidth to the outer Internet, and the internal bandwidth to each connected Private Networks.
- name: str
Public Gateway type name.
- zone: str
Zone the Public Gateway type is available in.
- class scaleway_async.vpcgw.v1.types.GetDHCPEntryRequest(dhcp_entry_id: 'str', zone: 'Optional[ScwZone]')
Bases:
object
- dhcp_entry_id: str
ID of the DHCP entry to fetch.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.GetDHCPRequest(dhcp_id: 'str', zone: 'Optional[ScwZone]')
Bases:
object
- dhcp_id: str
ID of the DHCP configuration to fetch.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.GetGatewayNetworkRequest(gateway_network_id: 'str', zone: 'Optional[ScwZone]')
Bases:
object
- gateway_network_id: str
ID of the GatewayNetwork to fetch.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.GetGatewayRequest(gateway_id: 'str', zone: 'Optional[ScwZone]')
Bases:
object
- gateway_id: str
ID of the gateway to fetch.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.GetIPRequest(ip_id: 'str', zone: 'Optional[ScwZone]')
Bases:
object
- ip_id: str
ID of the IP address to get.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.GetPATRuleRequest(pat_rule_id: 'str', zone: 'Optional[ScwZone]')
Bases:
object
- pat_rule_id: str
ID of the PAT rule to get.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.IP(id: 'str', organization_id: 'str', project_id: 'str', tags: 'List[str]', address: 'str', zone: 'ScwZone', created_at: 'Optional[datetime]', updated_at: 'Optional[datetime]', reverse: 'Optional[str]', gateway_id: 'Optional[str]')
Bases:
object
- address: str
The IP address itself.
- created_at: Optional[datetime]
IP address creation date.
- gateway_id: Optional[str]
Public Gateway associated with the IP address.
- id: str
IP address ID.
- organization_id: str
Owning Organization.
- project_id: str
Owning Project.
- reverse: Optional[str]
Reverse domain name for the IP address.
- tags: List[str]
Tags associated with the IP address.
- updated_at: Optional[datetime]
IP address last modification date.
- zone: str
Zone of the IP address.
- class scaleway_async.vpcgw.v1.types.IpamConfig(push_default_route: 'bool', ipam_ip_id: 'str')
Bases:
object
- ipam_ip_id: str
IPAM-booked IP ID as the Gateway’s IP in this Private Network.
- push_default_route: bool
Defines whether the default route is enabled on that Gateway Network.
- class scaleway_async.vpcgw.v1.types.ListDHCPEntriesRequest(zone: 'Optional[ScwZone]', order_by: 'Optional[ListDHCPEntriesRequestOrderBy]', page: 'Optional[int]', page_size: 'Optional[int]', gateway_network_id: 'Optional[str]', mac_address: 'Optional[str]', ip_address: 'Optional[str]', hostname: 'Optional[str]', type_: 'Optional[DHCPEntryType]')
Bases:
object
- gateway_network_id: Optional[str]
Filter for entries on this GatewayNetwork.
- hostname: Optional[str]
Filter for entries with this hostname substring.
- ip_address: Optional[str]
Filter for entries with this IP address.
- mac_address: Optional[str]
Filter for entries with this MAC address.
- order_by: Optional[ListDHCPEntriesRequestOrderBy]
Order in which to return results.
- page: Optional[int]
Page number.
- page_size: Optional[int]
DHCP entries per page.
- type_: Optional[DHCPEntryType]
Filter for entries of this type.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.ListDHCPEntriesRequestOrderBy(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'
- HOSTNAME_ASC = 'hostname_asc'
- HOSTNAME_DESC = 'hostname_desc'
- IP_ADDRESS_ASC = 'ip_address_asc'
- IP_ADDRESS_DESC = 'ip_address_desc'
- class scaleway_async.vpcgw.v1.types.ListDHCPEntriesResponse(dhcp_entries: 'List[DHCPEntry]', total_count: 'int')
Bases:
object
- total_count: int
Total count of DHCP entries matching the filter.
- class scaleway_async.vpcgw.v1.types.ListDHCPsRequest(zone: 'Optional[ScwZone]', order_by: 'Optional[ListDHCPsRequestOrderBy]', page: 'Optional[int]', page_size: 'Optional[int]', organization_id: 'Optional[str]', project_id: 'Optional[str]', address: 'Optional[str]', has_address: 'Optional[str]')
Bases:
object
- address: Optional[str]
Filter for DHCP configuration objects with this DHCP server IP address (the gateway’s address in the Private Network).
- has_address: Optional[str]
Filter for DHCP configuration objects with subnets containing this IP address.
- order_by: Optional[ListDHCPsRequestOrderBy]
Order in which to return results.
- organization_id: Optional[str]
Include only DHCP configuration objects in this Organization.
- page: Optional[int]
Page number.
- page_size: Optional[int]
DHCP configurations per page.
- project_id: Optional[str]
Include only DHCP configuration objects in this Project.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.ListDHCPsRequestOrderBy(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'
- SUBNET_ASC = 'subnet_asc'
- SUBNET_DESC = 'subnet_desc'
- class scaleway_async.vpcgw.v1.types.ListDHCPsResponse(dhcps: 'List[DHCP]', total_count: 'int')
Bases:
object
- total_count: int
Total count of DHCP configuration objects matching the filter.
- class scaleway_async.vpcgw.v1.types.ListGatewayNetworksRequest(zone: 'Optional[ScwZone]', order_by: 'Optional[ListGatewayNetworksRequestOrderBy]', page: 'Optional[int]', page_size: 'Optional[int]', gateway_id: 'Optional[str]', private_network_id: 'Optional[str]', enable_masquerade: 'Optional[bool]', dhcp_id: 'Optional[str]', status: 'Optional[GatewayNetworkStatus]')
Bases:
object
- dhcp_id: Optional[str]
Filter for GatewayNetworks using this DHCP configuration.
- enable_masquerade: Optional[bool]
Filter for GatewayNetworks with this enable_masquerade setting.
- gateway_id: Optional[str]
Filter for GatewayNetworks connected to this gateway.
- order_by: Optional[ListGatewayNetworksRequestOrderBy]
Order in which to return results.
- page: Optional[int]
Page number.
- page_size: Optional[int]
GatewayNetworks per page.
- private_network_id: Optional[str]
Filter for GatewayNetworks connected to this Private Network.
- status: Optional[GatewayNetworkStatus]
Filter for GatewayNetworks with this current status this status. Use unknown to include all statuses.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.ListGatewayNetworksRequestOrderBy(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'
- STATUS_ASC = 'status_asc'
- STATUS_DESC = 'status_desc'
- class scaleway_async.vpcgw.v1.types.ListGatewayNetworksResponse(gateway_networks: 'List[GatewayNetwork]', total_count: 'int')
Bases:
object
- gateway_networks: List[GatewayNetwork]
GatewayNetworks on this page.
- total_count: int
Total GatewayNetworks count matching the filter.
- class scaleway_async.vpcgw.v1.types.ListGatewayTypesRequest(zone: 'Optional[ScwZone]')
Bases:
object
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.ListGatewayTypesResponse(types: 'List[GatewayType]')
Bases:
object
- types: List[GatewayType]
Available types of Public Gateway.
- class scaleway_async.vpcgw.v1.types.ListGatewaysRequest(zone: 'Optional[ScwZone]', order_by: 'Optional[ListGatewaysRequestOrderBy]', page: 'Optional[int]', page_size: 'Optional[int]', organization_id: 'Optional[str]', project_id: 'Optional[str]', name: 'Optional[str]', tags: 'Optional[List[str]]', type_: 'Optional[str]', status: 'Optional[GatewayStatus]', private_network_id: 'Optional[str]')
Bases:
object
- name: Optional[str]
Filter for gateways which have this search term in their name.
- order_by: Optional[ListGatewaysRequestOrderBy]
Order in which to return results.
- organization_id: Optional[str]
Include only gateways in this Organization.
- page: Optional[int]
Page number to return.
- page_size: Optional[int]
Gateways per page.
- private_network_id: Optional[str]
Filter for gateways attached to this Private nNetwork.
- project_id: Optional[str]
Include only gateways in this Project.
- status: Optional[GatewayStatus]
Filter for gateways with this current status. Use unknown to include all statuses.
- tags: Optional[List[str]]
Filter for gateways with these tags.
- type_: Optional[str]
Filter for gateways of this type.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.ListGatewaysRequestOrderBy(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'
- NAME_ASC = 'name_asc'
- NAME_DESC = 'name_desc'
- STATUS_ASC = 'status_asc'
- STATUS_DESC = 'status_desc'
- TYPE_ASC = 'type_asc'
- TYPE_DESC = 'type_desc'
- class scaleway_async.vpcgw.v1.types.ListGatewaysResponse(gateways: 'List[Gateway]', total_count: 'int')
Bases:
object
- total_count: int
Total count of gateways matching the filter.
- class scaleway_async.vpcgw.v1.types.ListIPsRequest(zone: 'Optional[ScwZone]', order_by: 'Optional[ListIPsRequestOrderBy]', page: 'Optional[int]', page_size: 'Optional[int]', organization_id: 'Optional[str]', project_id: 'Optional[str]', tags: 'Optional[List[str]]', reverse: 'Optional[str]', is_free: 'Optional[bool]')
Bases:
object
- is_free: Optional[bool]
Filter based on whether the IP is attached to a gateway or not.
- order_by: Optional[ListIPsRequestOrderBy]
Order in which to return results.
- organization_id: Optional[str]
Filter for IP addresses in this Organization.
- page: Optional[int]
Page number.
- page_size: Optional[int]
IP addresses per page.
- project_id: Optional[str]
Filter for IP addresses in this Project.
- reverse: Optional[str]
Filter for IP addresses that have a reverse containing this string.
- tags: Optional[List[str]]
Filter for IP addresses with these tags.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.ListIPsRequestOrderBy(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'
- IP_ASC = 'ip_asc'
- IP_DESC = 'ip_desc'
- REVERSE_ASC = 'reverse_asc'
- REVERSE_DESC = 'reverse_desc'
- class scaleway_async.vpcgw.v1.types.ListIPsResponse(ips: 'List[IP]', total_count: 'int')
Bases:
object
- total_count: int
Total count of IP addresses matching the filter.
- class scaleway_async.vpcgw.v1.types.ListPATRulesRequest(zone: 'Optional[ScwZone]', order_by: 'Optional[ListPATRulesRequestOrderBy]', page: 'Optional[int]', page_size: 'Optional[int]', gateway_id: 'Optional[str]', private_ip: 'Optional[str]', protocol: 'Optional[PATRuleProtocol]')
Bases:
object
- gateway_id: Optional[str]
Filter for PAT rules on this Gateway.
- order_by: Optional[ListPATRulesRequestOrderBy]
Order in which to return results.
- page: Optional[int]
Page number.
- page_size: Optional[int]
PAT rules per page.
- private_ip: Optional[str]
Filter for PAT rules targeting this private ip.
- protocol: Optional[PATRuleProtocol]
Filter for PAT rules with this protocol.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.ListPATRulesRequestOrderBy(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'
- PUBLIC_PORT_ASC = 'public_port_asc'
- PUBLIC_PORT_DESC = 'public_port_desc'
- class scaleway_async.vpcgw.v1.types.ListPATRulesResponse(pat_rules: 'List[PATRule]', total_count: 'int')
Bases:
object
- total_count: int
Total count of PAT rules matching the filter.
- class scaleway_async.vpcgw.v1.types.MigrateToV2Request(gateway_id: 'str', zone: 'Optional[ScwZone]')
Bases:
object
- gateway_id: str
ID of the gateway to put into IPAM mode.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.PATRule(id: 'str', gateway_id: 'str', public_port: 'int', private_ip: 'str', private_port: 'int', protocol: 'PATRuleProtocol', zone: 'ScwZone', created_at: 'Optional[datetime]', updated_at: 'Optional[datetime]')
Bases:
object
- created_at: Optional[datetime]
PAT rule creation date.
- gateway_id: str
Gateway the PAT rule applies to.
- id: str
PAT rule ID.
- private_ip: str
Private IP address to forward data to.
- private_port: int
Private port to translate to.
- protocol: PATRuleProtocol
Protocol the rule applies to.
- public_port: int
Public port to listen on.
- updated_at: Optional[datetime]
PAT rule last modification date.
- zone: str
Zone of the PAT rule.
- class scaleway_async.vpcgw.v1.types.PATRuleProtocol(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)
Bases:
str
,Enum
An enumeration.
- BOTH = 'both'
- TCP = 'tcp'
- UDP = 'udp'
- UNKNOWN = 'unknown'
- class scaleway_async.vpcgw.v1.types.RefreshSSHKeysRequest(gateway_id: 'str', zone: 'Optional[ScwZone]')
Bases:
object
- gateway_id: str
ID of the gateway to refresh SSH keys on.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.SetDHCPEntriesRequest(gateway_network_id: 'str', zone: 'Optional[ScwZone]', dhcp_entries: 'Optional[List[SetDHCPEntriesRequestEntry]]')
Bases:
object
- dhcp_entries: Optional[List[SetDHCPEntriesRequestEntry]]
New list of DHCP reservations.
- gateway_network_id: str
ID of the Gateway Network on which to set DHCP reservation list.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.SetDHCPEntriesRequestEntry(mac_address: 'str', ip_address: 'str')
Bases:
object
- ip_address: str
IP address to give to the device.
- mac_address: str
MAC address to give a static entry to. A matching entry will be upgraded to a reservation, and a matching reservation will be updated.
- class scaleway_async.vpcgw.v1.types.SetDHCPEntriesResponse(dhcp_entries: 'List[DHCPEntry]')
Bases:
object
- class scaleway_async.vpcgw.v1.types.SetPATRulesRequest(gateway_id: 'str', pat_rules: 'List[SetPATRulesRequestRule]', zone: 'Optional[ScwZone]')
Bases:
object
- gateway_id: str
ID of the gateway on which to set the PAT rules.
- pat_rules: List[SetPATRulesRequestRule]
New list of PAT rules.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.SetPATRulesRequestRule(public_port: 'int', private_ip: 'str', private_port: 'int', protocol: 'PATRuleProtocol')
Bases:
object
- private_ip: str
Private IP to forward data to.
- private_port: int
Private port to translate to.
- protocol: PATRuleProtocol
Protocol the rule should apply to.
- public_port: int
Public port to listen on. Uniquely identifies the rule, and a matching rule will be updated with the new parameters.
- class scaleway_async.vpcgw.v1.types.SetPATRulesResponse(pat_rules: 'List[PATRule]')
Bases:
object
- class scaleway_async.vpcgw.v1.types.UpdateDHCPEntryRequest(dhcp_entry_id: 'str', zone: 'Optional[ScwZone]', ip_address: 'Optional[str]')
Bases:
object
- dhcp_entry_id: str
ID of the DHCP entry to update.
- ip_address: Optional[str]
New IP address to give to the device.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.UpdateDHCPRequest(dhcp_id: 'str', zone: 'Optional[ScwZone]', subnet: 'Optional[str]', address: 'Optional[str]', pool_low: 'Optional[str]', pool_high: 'Optional[str]', enable_dynamic: 'Optional[bool]', valid_lifetime: 'Optional[str]', renew_timer: 'Optional[str]', rebind_timer: 'Optional[str]', push_default_route: 'Optional[bool]', push_dns_server: 'Optional[bool]', dns_servers_override: 'Optional[List[str]]', dns_search: 'Optional[List[str]]', dns_local_name: 'Optional[str]')
Bases:
object
- address: Optional[str]
IP address of the DHCP server. This will be the Public Gateway’s address in the Private Network. It must be part of config’s subnet.
- dhcp_id: str
DHCP configuration to update.
- dns_local_name: Optional[str]
TLD given to hostnames in the Private Networks. If an instance with hostname foo gets a lease, and this is set to bar, foo.bar will resolve. Allowed characters are a-z0-9-..
- dns_search: Optional[List[str]]
Array of search paths in addition to the pushed DNS configuration.
- dns_servers_override: Optional[List[str]]
Array of DNS server IP addresses used to override the DNS server list pushed to DHCP clients, instead of the gateway itself.
- enable_dynamic: Optional[bool]
Defines whether to enable dynamic pooling of IPs. When false, only pre-existing DHCP reservations will be handed out. Defaults to true.
- pool_high: Optional[str]
High IP (inclusive) of the dynamic address pool. Must be in the config’s subnet.
- pool_low: Optional[str]
Low IP (inclusive) of the dynamic address pool. Must be in the config’s subnet.
- push_default_route: Optional[bool]
Defines whether the gateway should push a default route to DHCP clients, or only hand out IPs.
- push_dns_server: Optional[bool]
Defines whether the gateway should push custom DNS servers to clients. This allows for instance hostname -> IP resolution.
- rebind_timer: Optional[str]
After how long a DHCP client will query for a new lease if previous renews fail. Must be 30s lower than valid_lifetime.
- renew_timer: Optional[str]
After how long a renew will be attempted. Must be 30s lower than rebind_timer.
- subnet: Optional[str]
Subnet for the DHCP server.
- valid_lifetime: Optional[str]
How long DHCP entries will be valid for.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.UpdateGatewayNetworkRequest(gateway_network_id: 'str', zone: 'Optional[ScwZone]', enable_masquerade: 'Optional[bool]', enable_dhcp: 'Optional[bool]', dhcp_id: 'Optional[str]', address: 'Optional[str]', ipam_config: 'Optional[UpdateGatewayNetworkRequestIpamConfig]')
Bases:
object
- address: Optional[str]
- dhcp_id: Optional[str]
- enable_dhcp: Optional[bool]
Defaults to true if dhcp_id is present. If set to true, dhcp_id must be present.
Note: this setting is ignored when passing ipam_config.
- enable_masquerade: Optional[bool]
Note: this setting is ignored when passing ipam_config.
- gateway_network_id: str
ID of the GatewayNetwork to update.
- ipam_config: Optional[UpdateGatewayNetworkRequestIpamConfig]
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.UpdateGatewayNetworkRequestIpamConfig(push_default_route: 'Optional[bool]', ipam_ip_id: 'Optional[str]')
Bases:
object
- ipam_ip_id: Optional[str]
Use this IPAM-booked IP ID as the Gateway’s IP in this Private Network.
- push_default_route: Optional[bool]
Enabling the default route also enables masquerading.
- class scaleway_async.vpcgw.v1.types.UpdateGatewayRequest(gateway_id: 'str', zone: 'Optional[ScwZone]', name: 'Optional[str]', tags: 'Optional[List[str]]', upstream_dns_servers: 'Optional[List[str]]', enable_bastion: 'Optional[bool]', bastion_port: 'Optional[int]', enable_smtp: 'Optional[bool]')
Bases:
object
- bastion_port: Optional[int]
Port of the SSH bastion.
- enable_bastion: Optional[bool]
Defines whether SSH bastion should be enabled the gateway.
- enable_smtp: Optional[bool]
Defines whether SMTP traffic should be allowed to pass through the gateway.
- gateway_id: str
ID of the gateway to update.
- name: Optional[str]
Name for the gateway.
- tags: Optional[List[str]]
Tags for the gateway.
- upstream_dns_servers: Optional[List[str]]
Array of DNS server IP addresses to override the gateway’s default recursive DNS servers.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.UpdateIPRequest(ip_id: 'str', zone: 'Optional[ScwZone]', tags: 'Optional[List[str]]', reverse: 'Optional[str]', gateway_id: 'Optional[str]')
Bases:
object
- gateway_id: Optional[str]
Gateway to attach the IP address to. Empty string to detach.
- ip_id: str
ID of the IP address to update.
- reverse: Optional[str]
Reverse to set on the address. Empty string to unset.
- tags: Optional[List[str]]
Tags to give to the IP address.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.UpdatePATRuleRequest(pat_rule_id: 'str', zone: 'Optional[ScwZone]', public_port: 'Optional[int]', private_ip: 'Optional[str]', private_port: 'Optional[int]', protocol: 'Optional[PATRuleProtocol]')
Bases:
object
- pat_rule_id: str
ID of the PAT rule to update.
- private_ip: Optional[str]
Private IP to forward data to.
- private_port: Optional[int]
Private port to translate to.
- protocol: Optional[PATRuleProtocol]
Protocol the rule should apply to.
- public_port: Optional[int]
Public port to listen on.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.types.UpgradeGatewayRequest(gateway_id: 'str', zone: 'Optional[ScwZone]', type_: 'Optional[str]')
Bases:
object
- gateway_id: str
ID of the gateway to upgrade.
- type_: Optional[str]
Gateway type (commercial offer).
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
Module contents
- class scaleway_async.vpcgw.v1.CreateDHCPEntryRequest(gateway_network_id: 'str', mac_address: 'str', ip_address: 'str', zone: 'Optional[ScwZone]')
Bases:
object
- gateway_network_id: str
GatewayNetwork on which to create a DHCP reservation.
- ip_address: str
IP address to give to the device.
- mac_address: str
MAC address to give a static entry to.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.CreateDHCPRequest(subnet: 'str', zone: 'Optional[ScwZone]', project_id: 'Optional[str]', address: 'Optional[str]', pool_low: 'Optional[str]', pool_high: 'Optional[str]', enable_dynamic: 'Optional[bool]', valid_lifetime: 'Optional[str]', renew_timer: 'Optional[str]', rebind_timer: 'Optional[str]', push_default_route: 'Optional[bool]', push_dns_server: 'Optional[bool]', dns_servers_override: 'Optional[List[str]]', dns_search: 'Optional[List[str]]', dns_local_name: 'Optional[str]')
Bases:
object
- address: Optional[str]
IP address of the DHCP server. This will be the gateway’s address in the Private Network. Defaults to the first address of the subnet.
- dns_local_name: Optional[str]
TLD given to hostnames in the Private Network. Allowed characters are a-z0-9-.. Defaults to the slugified Private Network name if created along a GatewayNetwork, or else to priv.
- dns_search: Optional[List[str]]
Array of search paths in addition to the pushed DNS configuration.
- dns_servers_override: Optional[List[str]]
Array of DNS server IP addresses used to override the DNS server list pushed to DHCP clients, instead of the gateway itself.
- enable_dynamic: Optional[bool]
Defines whether to enable dynamic pooling of IPs. When false, only pre-existing DHCP reservations will be handed out. Defaults to true.
- pool_high: Optional[str]
High IP (inclusive) of the dynamic address pool. Must be in the config’s subnet. Defaults to the last address of the subnet.
- pool_low: Optional[str]
Low IP (inclusive) of the dynamic address pool. Must be in the config’s subnet. Defaults to the second address of the subnet.
- project_id: Optional[str]
Project to create the DHCP configuration in.
- push_default_route: Optional[bool]
Defines whether the gateway should push a default route to DHCP clients or only hand out IPs. Defaults to true.
- push_dns_server: Optional[bool]
Defines whether the gateway should push custom DNS servers to clients. This allows for Instance hostname -> IP resolution. Defaults to true.
- rebind_timer: Optional[str]
After how long a DHCP client will query for a new lease if previous renews fail. Must be 30s lower than valid_lifetime. Defaults to 51m (3060s).
- renew_timer: Optional[str]
After how long a renew will be attempted. Must be 30s lower than rebind_timer. Defaults to 50m (3000s).
- subnet: str
Subnet for the DHCP server.
- valid_lifetime: Optional[str]
How long DHCP entries will be valid for. Defaults to 1h (3600s).
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.CreateGatewayNetworkRequest(gateway_id: 'str', private_network_id: 'str', enable_masquerade: 'bool', zone: 'Optional[ScwZone]', enable_dhcp: 'Optional[bool]', dhcp_id: 'Optional[str]', dhcp: 'Optional[CreateDHCPRequest]', address: 'Optional[str]', ipam_config: 'Optional[CreateGatewayNetworkRequestIpamConfig]')
Bases:
object
- address: Optional[str]
- dhcp: Optional[CreateDHCPRequest]
- dhcp_id: Optional[str]
- enable_dhcp: Optional[bool]
Defaults to true if either dhcp_id or dhcp are present. If set to true, either dhcp_id or dhcp must be present.
Note: this setting is ignored when passing ipam_config.
- enable_masquerade: bool
Note: this setting is ignored when passing ipam_config.
- gateway_id: str
Public Gateway to connect.
- ipam_config: Optional[CreateGatewayNetworkRequestIpamConfig]
- private_network_id: str
Private Network to connect.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.CreateGatewayNetworkRequestIpamConfig(push_default_route: 'bool', ipam_ip_id: 'Optional[str]')
Bases:
object
- ipam_ip_id: Optional[str]
Use this IPAM-booked IP ID as the Gateway’s IP in this Private Network.
- push_default_route: bool
Enabling the default route also enables masquerading.
- class scaleway_async.vpcgw.v1.CreateGatewayRequest(type_: 'str', enable_smtp: 'bool', enable_bastion: 'bool', zone: 'Optional[ScwZone]', project_id: 'Optional[str]', name: 'Optional[str]', tags: 'Optional[List[str]]', upstream_dns_servers: 'Optional[List[str]]', ip_id: 'Optional[str]', bastion_port: 'Optional[int]')
Bases:
object
- bastion_port: Optional[int]
Port of the SSH bastion.
- enable_bastion: bool
Defines whether SSH bastion should be enabled the gateway.
- enable_smtp: bool
Defines whether SMTP traffic should be allowed pass through the gateway.
- ip_id: Optional[str]
Existing IP address to attach to the gateway.
- name: Optional[str]
Name for the gateway.
- project_id: Optional[str]
Scaleway Project to create the gateway in.
- tags: Optional[List[str]]
Tags for the gateway.
- type_: str
Gateway type (commercial offer type).
- upstream_dns_servers: Optional[List[str]]
Array of DNS server IP addresses to override the gateway’s default recursive DNS servers.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.CreateIPRequest(zone: 'Optional[ScwZone]', project_id: 'Optional[str]', tags: 'Optional[List[str]]')
Bases:
object
- project_id: Optional[str]
Project to create the IP address in.
- tags: Optional[List[str]]
Tags to give to the IP address.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.CreatePATRuleRequest(gateway_id: 'str', public_port: 'int', private_ip: 'str', private_port: 'int', zone: 'Optional[ScwZone]', protocol: 'Optional[PATRuleProtocol]')
Bases:
object
- gateway_id: str
ID of the Gateway on which to create the rule.
- private_ip: str
Private IP to forward data to.
- private_port: int
Private port to translate to.
- protocol: Optional[PATRuleProtocol]
Protocol the rule should apply to.
- public_port: int
Public port to listen on.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.DHCP(id: 'str', organization_id: 'str', project_id: 'str', subnet: 'str', address: 'str', pool_low: 'str', created_at: 'Optional[datetime]', updated_at: 'Optional[datetime]', pool_high: 'str', enable_dynamic: 'bool', push_default_route: 'bool', push_dns_server: 'bool', dns_servers_override: 'List[str]', dns_search: 'List[str]', dns_local_name: 'str', zone: 'ScwZone', valid_lifetime: 'Optional[str]', renew_timer: 'Optional[str]', rebind_timer: 'Optional[str]')
Bases:
object
- address: str
IP address of the DHCP server. This will be the Public Gateway’s address in the Private Network. It must be part of config’s subnet.
- created_at: Optional[datetime]
Date the DHCP configuration was created.
- dns_local_name: str
TLD given to hostnames in the Private Networks. If an Instance with hostname foo gets a lease, and this is set to bar, foo.bar will resolve.
- dns_search: List[str]
Array of search paths in addition to the pushed DNS configuration.
- dns_servers_override: List[str]
Array of DNS server IP addresses used to override the DNS server list pushed to DHCP clients, instead of the gateway itself.
- enable_dynamic: bool
Defines whether to enable dynamic pooling of IPs. When false, only pre-existing DHCP reservations will be handed out.
- id: str
ID of the DHCP config.
- organization_id: str
Owning Organization.
- pool_high: str
High IP (inclusive) of the dynamic address pool. Must be in the config’s subnet.
- pool_low: str
Low IP (inclusive) of the dynamic address pool. Must be in the config’s subnet.
- project_id: str
Owning Project.
- push_default_route: bool
Defines whether the gateway should push a default route to DHCP clients, or only hand out IPs.
- push_dns_server: bool
Defines whether the gateway should push custom DNS servers to clients. This allows for instance hostname -> IP resolution.
- rebind_timer: Optional[str]
After how long a DHCP client will query for a new lease if previous renews fail. Must be 30s lower than valid_lifetime.
- renew_timer: Optional[str]
After how long a renew will be attempted. Must be 30s lower than rebind_timer.
- subnet: str
Subnet for the DHCP server.
- updated_at: Optional[datetime]
Configuration last modification date.
- valid_lifetime: Optional[str]
How long DHCP entries will be valid for.
- zone: str
Zone of this DHCP configuration.
- class scaleway_async.vpcgw.v1.DHCPEntry(id: 'str', gateway_network_id: 'str', mac_address: 'str', ip_address: 'str', hostname: 'str', type_: 'DHCPEntryType', zone: 'ScwZone', created_at: 'Optional[datetime]', updated_at: 'Optional[datetime]')
Bases:
object
- created_at: Optional[datetime]
DHCP entry creation date.
- gateway_network_id: str
Owning GatewayNetwork.
- hostname: str
Hostname of the client device.
- id: str
DHCP entry ID.
- ip_address: str
Assigned IP address.
- mac_address: str
MAC address of the client device.
- type_: DHCPEntryType
Entry type, either static (DHCP reservation) or dynamic (DHCP lease).
- updated_at: Optional[datetime]
DHCP entry last modification date.
- zone: str
Zone of this DHCP entry.
- class scaleway_async.vpcgw.v1.DHCPEntryType(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)
Bases:
str
,Enum
An enumeration.
- LEASE = 'lease'
- RESERVATION = 'reservation'
- UNKNOWN = 'unknown'
- class scaleway_async.vpcgw.v1.DeleteDHCPEntryRequest(dhcp_entry_id: 'str', zone: 'Optional[ScwZone]')
Bases:
object
- dhcp_entry_id: str
ID of the DHCP entry to delete.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.DeleteDHCPRequest(dhcp_id: 'str', zone: 'Optional[ScwZone]')
Bases:
object
- dhcp_id: str
DHCP configuration ID to delete.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.DeleteGatewayNetworkRequest(gateway_network_id: 'str', cleanup_dhcp: 'bool', zone: 'Optional[ScwZone]')
Bases:
object
- cleanup_dhcp: bool
Defines whether to clean up attached DHCP configurations (if any, and if not attached to another Gateway Network).
- gateway_network_id: str
ID of the GatewayNetwork to delete.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.DeleteGatewayRequest(gateway_id: 'str', cleanup_dhcp: 'bool', zone: 'Optional[ScwZone]')
Bases:
object
- cleanup_dhcp: bool
Defines whether to clean up attached DHCP configurations (if any, and if not attached to another Gateway Network).
- gateway_id: str
ID of the gateway to delete.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.DeleteIPRequest(ip_id: 'str', zone: 'Optional[ScwZone]')
Bases:
object
- ip_id: str
ID of the IP address to delete.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.DeletePATRuleRequest(pat_rule_id: 'str', zone: 'Optional[ScwZone]')
Bases:
object
- pat_rule_id: str
ID of the PAT rule to delete.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.EnableIPMobilityRequest(gateway_id: 'str', zone: 'Optional[ScwZone]')
Bases:
object
- gateway_id: str
ID of the gateway to upgrade to IP mobility.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.Gateway(id: 'str', organization_id: 'str', project_id: 'str', created_at: 'Optional[datetime]', updated_at: 'Optional[datetime]', type_: 'Optional[GatewayType]', status: 'GatewayStatus', name: 'str', tags: 'List[str]', gateway_networks: 'List[GatewayNetwork]', upstream_dns_servers: 'List[str]', bastion_enabled: 'bool', ip: 'Optional[IP]', version: 'Optional[str]', can_upgrade_to: 'Optional[str]', bastion_port: 'int', smtp_enabled: 'bool', is_legacy: 'bool', ip_mobility_enabled: 'bool', zone: 'ScwZone')
Bases:
object
- bastion_enabled: bool
Defines whether SSH bastion is enabled on the gateway.
- bastion_port: int
Port of the SSH bastion.
- can_upgrade_to: Optional[str]
Newly available gateway software version that can be updated to.
- created_at: Optional[datetime]
Gateway creation date.
- gateway_networks: List[GatewayNetwork]
GatewayNetwork objects attached to the gateway (each one represents a connection to a Private Network).
- id: str
ID of the gateway.
- ip_mobility_enabled: bool
Defines whether the gateway uses routed IPs (IP mobility) instead of NAT IPs.
- is_legacy: bool
Defines whether the gateway uses non-IPAM IP configurations.
- name: str
Name of the gateway.
- organization_id: str
Owning Organization.
- project_id: str
Owning Project.
- smtp_enabled: bool
Defines whether SMTP traffic is allowed to pass through the gateway.
- status: GatewayStatus
Current status of the gateway.
- tags: List[str]
Tags associated with the gateway.
- type_: Optional[GatewayType]
Gateway type (commercial offer).
- updated_at: Optional[datetime]
Gateway last modification date.
- upstream_dns_servers: List[str]
Array of DNS server IP addresses to override the gateway’s default recursive DNS servers.
- version: Optional[str]
Version of the running gateway software.
- zone: str
Zone of the gateway.
- class scaleway_async.vpcgw.v1.GatewayNetwork(id: 'str', gateway_id: 'str', private_network_id: 'str', created_at: 'Optional[datetime]', updated_at: 'Optional[datetime]', mac_address: 'Optional[str]', enable_masquerade: 'bool', status: 'GatewayNetworkStatus', enable_dhcp: 'bool', zone: 'ScwZone', dhcp: 'Optional[DHCP]', address: 'Optional[str]', ipam_config: 'Optional[IpamConfig]')
Bases:
object
- address: Optional[str]
Address of the Gateway (in CIDR form) to use when DHCP is not used.
- created_at: Optional[datetime]
Connection creation date.
- enable_dhcp: bool
Defines whether DHCP is enabled on the connected Private Network.
- enable_masquerade: bool
Defines whether the gateway masquerades traffic for this Private Network (Dynamic NAT).
- gateway_id: str
ID of the connected Public Gateway.
- id: str
ID of the Public Gateway-Private Network connection.
- ipam_config: Optional[IpamConfig]
IPAM IP configuration used.
- mac_address: Optional[str]
MAC address of the gateway in the Private Network (if the gateway is up and running).
- private_network_id: str
ID of the connected Private Network.
- status: GatewayNetworkStatus
Current status of the Public Gateway’s connection to the Private Network.
- updated_at: Optional[datetime]
Connection last modification date.
- zone: str
Zone of the GatewayNetwork connection.
- class scaleway_async.vpcgw.v1.GatewayNetworkStatus(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)
Bases:
str
,Enum
An enumeration.
- ATTACHING = 'attaching'
- CONFIGURING = 'configuring'
- CREATED = 'created'
- DELETED = 'deleted'
- DETACHING = 'detaching'
- READY = 'ready'
- UNKNOWN = 'unknown'
- class scaleway_async.vpcgw.v1.GatewayStatus(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)
Bases:
str
,Enum
An enumeration.
- ALLOCATING = 'allocating'
- CONFIGURING = 'configuring'
- DELETED = 'deleted'
- DELETING = 'deleting'
- FAILED = 'failed'
- LOCKED = 'locked'
- RUNNING = 'running'
- STOPPED = 'stopped'
- STOPPING = 'stopping'
- UNKNOWN = 'unknown'
- class scaleway_async.vpcgw.v1.GatewayType(name: 'str', bandwidth: 'int', zone: 'ScwZone')
Bases:
object
- bandwidth: int
Bandwidth, in bps, of the Public Gateway. This is the public bandwidth to the outer Internet, and the internal bandwidth to each connected Private Networks.
- name: str
Public Gateway type name.
- zone: str
Zone the Public Gateway type is available in.
- class scaleway_async.vpcgw.v1.GetDHCPEntryRequest(dhcp_entry_id: 'str', zone: 'Optional[ScwZone]')
Bases:
object
- dhcp_entry_id: str
ID of the DHCP entry to fetch.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.GetDHCPRequest(dhcp_id: 'str', zone: 'Optional[ScwZone]')
Bases:
object
- dhcp_id: str
ID of the DHCP configuration to fetch.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.GetGatewayNetworkRequest(gateway_network_id: 'str', zone: 'Optional[ScwZone]')
Bases:
object
- gateway_network_id: str
ID of the GatewayNetwork to fetch.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.GetGatewayRequest(gateway_id: 'str', zone: 'Optional[ScwZone]')
Bases:
object
- gateway_id: str
ID of the gateway to fetch.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.GetIPRequest(ip_id: 'str', zone: 'Optional[ScwZone]')
Bases:
object
- ip_id: str
ID of the IP address to get.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.GetPATRuleRequest(pat_rule_id: 'str', zone: 'Optional[ScwZone]')
Bases:
object
- pat_rule_id: str
ID of the PAT rule to get.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.IP(id: 'str', organization_id: 'str', project_id: 'str', tags: 'List[str]', address: 'str', zone: 'ScwZone', created_at: 'Optional[datetime]', updated_at: 'Optional[datetime]', reverse: 'Optional[str]', gateway_id: 'Optional[str]')
Bases:
object
- address: str
The IP address itself.
- created_at: Optional[datetime]
IP address creation date.
- gateway_id: Optional[str]
Public Gateway associated with the IP address.
- id: str
IP address ID.
- organization_id: str
Owning Organization.
- project_id: str
Owning Project.
- reverse: Optional[str]
Reverse domain name for the IP address.
- tags: List[str]
Tags associated with the IP address.
- updated_at: Optional[datetime]
IP address last modification date.
- zone: str
Zone of the IP address.
- class scaleway_async.vpcgw.v1.IpamConfig(push_default_route: 'bool', ipam_ip_id: 'str')
Bases:
object
- ipam_ip_id: str
IPAM-booked IP ID as the Gateway’s IP in this Private Network.
- push_default_route: bool
Defines whether the default route is enabled on that Gateway Network.
- class scaleway_async.vpcgw.v1.ListDHCPEntriesRequest(zone: 'Optional[ScwZone]', order_by: 'Optional[ListDHCPEntriesRequestOrderBy]', page: 'Optional[int]', page_size: 'Optional[int]', gateway_network_id: 'Optional[str]', mac_address: 'Optional[str]', ip_address: 'Optional[str]', hostname: 'Optional[str]', type_: 'Optional[DHCPEntryType]')
Bases:
object
- gateway_network_id: Optional[str]
Filter for entries on this GatewayNetwork.
- hostname: Optional[str]
Filter for entries with this hostname substring.
- ip_address: Optional[str]
Filter for entries with this IP address.
- mac_address: Optional[str]
Filter for entries with this MAC address.
- order_by: Optional[ListDHCPEntriesRequestOrderBy]
Order in which to return results.
- page: Optional[int]
Page number.
- page_size: Optional[int]
DHCP entries per page.
- type_: Optional[DHCPEntryType]
Filter for entries of this type.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.ListDHCPEntriesRequestOrderBy(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'
- HOSTNAME_ASC = 'hostname_asc'
- HOSTNAME_DESC = 'hostname_desc'
- IP_ADDRESS_ASC = 'ip_address_asc'
- IP_ADDRESS_DESC = 'ip_address_desc'
- class scaleway_async.vpcgw.v1.ListDHCPEntriesResponse(dhcp_entries: 'List[DHCPEntry]', total_count: 'int')
Bases:
object
- total_count: int
Total count of DHCP entries matching the filter.
- class scaleway_async.vpcgw.v1.ListDHCPsRequest(zone: 'Optional[ScwZone]', order_by: 'Optional[ListDHCPsRequestOrderBy]', page: 'Optional[int]', page_size: 'Optional[int]', organization_id: 'Optional[str]', project_id: 'Optional[str]', address: 'Optional[str]', has_address: 'Optional[str]')
Bases:
object
- address: Optional[str]
Filter for DHCP configuration objects with this DHCP server IP address (the gateway’s address in the Private Network).
- has_address: Optional[str]
Filter for DHCP configuration objects with subnets containing this IP address.
- order_by: Optional[ListDHCPsRequestOrderBy]
Order in which to return results.
- organization_id: Optional[str]
Include only DHCP configuration objects in this Organization.
- page: Optional[int]
Page number.
- page_size: Optional[int]
DHCP configurations per page.
- project_id: Optional[str]
Include only DHCP configuration objects in this Project.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.ListDHCPsRequestOrderBy(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'
- SUBNET_ASC = 'subnet_asc'
- SUBNET_DESC = 'subnet_desc'
- class scaleway_async.vpcgw.v1.ListDHCPsResponse(dhcps: 'List[DHCP]', total_count: 'int')
Bases:
object
- total_count: int
Total count of DHCP configuration objects matching the filter.
- class scaleway_async.vpcgw.v1.ListGatewayNetworksRequest(zone: 'Optional[ScwZone]', order_by: 'Optional[ListGatewayNetworksRequestOrderBy]', page: 'Optional[int]', page_size: 'Optional[int]', gateway_id: 'Optional[str]', private_network_id: 'Optional[str]', enable_masquerade: 'Optional[bool]', dhcp_id: 'Optional[str]', status: 'Optional[GatewayNetworkStatus]')
Bases:
object
- dhcp_id: Optional[str]
Filter for GatewayNetworks using this DHCP configuration.
- enable_masquerade: Optional[bool]
Filter for GatewayNetworks with this enable_masquerade setting.
- gateway_id: Optional[str]
Filter for GatewayNetworks connected to this gateway.
- order_by: Optional[ListGatewayNetworksRequestOrderBy]
Order in which to return results.
- page: Optional[int]
Page number.
- page_size: Optional[int]
GatewayNetworks per page.
- private_network_id: Optional[str]
Filter for GatewayNetworks connected to this Private Network.
- status: Optional[GatewayNetworkStatus]
Filter for GatewayNetworks with this current status this status. Use unknown to include all statuses.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.ListGatewayNetworksRequestOrderBy(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'
- STATUS_ASC = 'status_asc'
- STATUS_DESC = 'status_desc'
- class scaleway_async.vpcgw.v1.ListGatewayNetworksResponse(gateway_networks: 'List[GatewayNetwork]', total_count: 'int')
Bases:
object
- gateway_networks: List[GatewayNetwork]
GatewayNetworks on this page.
- total_count: int
Total GatewayNetworks count matching the filter.
- class scaleway_async.vpcgw.v1.ListGatewayTypesRequest(zone: 'Optional[ScwZone]')
Bases:
object
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.ListGatewayTypesResponse(types: 'List[GatewayType]')
Bases:
object
- types: List[GatewayType]
Available types of Public Gateway.
- class scaleway_async.vpcgw.v1.ListGatewaysRequest(zone: 'Optional[ScwZone]', order_by: 'Optional[ListGatewaysRequestOrderBy]', page: 'Optional[int]', page_size: 'Optional[int]', organization_id: 'Optional[str]', project_id: 'Optional[str]', name: 'Optional[str]', tags: 'Optional[List[str]]', type_: 'Optional[str]', status: 'Optional[GatewayStatus]', private_network_id: 'Optional[str]')
Bases:
object
- name: Optional[str]
Filter for gateways which have this search term in their name.
- order_by: Optional[ListGatewaysRequestOrderBy]
Order in which to return results.
- organization_id: Optional[str]
Include only gateways in this Organization.
- page: Optional[int]
Page number to return.
- page_size: Optional[int]
Gateways per page.
- private_network_id: Optional[str]
Filter for gateways attached to this Private nNetwork.
- project_id: Optional[str]
Include only gateways in this Project.
- status: Optional[GatewayStatus]
Filter for gateways with this current status. Use unknown to include all statuses.
- tags: Optional[List[str]]
Filter for gateways with these tags.
- type_: Optional[str]
Filter for gateways of this type.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.ListGatewaysRequestOrderBy(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'
- NAME_ASC = 'name_asc'
- NAME_DESC = 'name_desc'
- STATUS_ASC = 'status_asc'
- STATUS_DESC = 'status_desc'
- TYPE_ASC = 'type_asc'
- TYPE_DESC = 'type_desc'
- class scaleway_async.vpcgw.v1.ListGatewaysResponse(gateways: 'List[Gateway]', total_count: 'int')
Bases:
object
- total_count: int
Total count of gateways matching the filter.
- class scaleway_async.vpcgw.v1.ListIPsRequest(zone: 'Optional[ScwZone]', order_by: 'Optional[ListIPsRequestOrderBy]', page: 'Optional[int]', page_size: 'Optional[int]', organization_id: 'Optional[str]', project_id: 'Optional[str]', tags: 'Optional[List[str]]', reverse: 'Optional[str]', is_free: 'Optional[bool]')
Bases:
object
- is_free: Optional[bool]
Filter based on whether the IP is attached to a gateway or not.
- order_by: Optional[ListIPsRequestOrderBy]
Order in which to return results.
- organization_id: Optional[str]
Filter for IP addresses in this Organization.
- page: Optional[int]
Page number.
- page_size: Optional[int]
IP addresses per page.
- project_id: Optional[str]
Filter for IP addresses in this Project.
- reverse: Optional[str]
Filter for IP addresses that have a reverse containing this string.
- tags: Optional[List[str]]
Filter for IP addresses with these tags.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.ListIPsRequestOrderBy(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'
- IP_ASC = 'ip_asc'
- IP_DESC = 'ip_desc'
- REVERSE_ASC = 'reverse_asc'
- REVERSE_DESC = 'reverse_desc'
- class scaleway_async.vpcgw.v1.ListIPsResponse(ips: 'List[IP]', total_count: 'int')
Bases:
object
- total_count: int
Total count of IP addresses matching the filter.
- class scaleway_async.vpcgw.v1.ListPATRulesRequest(zone: 'Optional[ScwZone]', order_by: 'Optional[ListPATRulesRequestOrderBy]', page: 'Optional[int]', page_size: 'Optional[int]', gateway_id: 'Optional[str]', private_ip: 'Optional[str]', protocol: 'Optional[PATRuleProtocol]')
Bases:
object
- gateway_id: Optional[str]
Filter for PAT rules on this Gateway.
- order_by: Optional[ListPATRulesRequestOrderBy]
Order in which to return results.
- page: Optional[int]
Page number.
- page_size: Optional[int]
PAT rules per page.
- private_ip: Optional[str]
Filter for PAT rules targeting this private ip.
- protocol: Optional[PATRuleProtocol]
Filter for PAT rules with this protocol.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.ListPATRulesRequestOrderBy(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'
- PUBLIC_PORT_ASC = 'public_port_asc'
- PUBLIC_PORT_DESC = 'public_port_desc'
- class scaleway_async.vpcgw.v1.ListPATRulesResponse(pat_rules: 'List[PATRule]', total_count: 'int')
Bases:
object
- total_count: int
Total count of PAT rules matching the filter.
- class scaleway_async.vpcgw.v1.MigrateToV2Request(gateway_id: 'str', zone: 'Optional[ScwZone]')
Bases:
object
- gateway_id: str
ID of the gateway to put into IPAM mode.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.PATRule(id: 'str', gateway_id: 'str', public_port: 'int', private_ip: 'str', private_port: 'int', protocol: 'PATRuleProtocol', zone: 'ScwZone', created_at: 'Optional[datetime]', updated_at: 'Optional[datetime]')
Bases:
object
- created_at: Optional[datetime]
PAT rule creation date.
- gateway_id: str
Gateway the PAT rule applies to.
- id: str
PAT rule ID.
- private_ip: str
Private IP address to forward data to.
- private_port: int
Private port to translate to.
- protocol: PATRuleProtocol
Protocol the rule applies to.
- public_port: int
Public port to listen on.
- updated_at: Optional[datetime]
PAT rule last modification date.
- zone: str
Zone of the PAT rule.
- class scaleway_async.vpcgw.v1.PATRuleProtocol(value: str, names: Optional[Any] = None, *args: Any, **kwargs: Any)
Bases:
str
,Enum
An enumeration.
- BOTH = 'both'
- TCP = 'tcp'
- UDP = 'udp'
- UNKNOWN = 'unknown'
- class scaleway_async.vpcgw.v1.RefreshSSHKeysRequest(gateway_id: 'str', zone: 'Optional[ScwZone]')
Bases:
object
- gateway_id: str
ID of the gateway to refresh SSH keys on.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.SetDHCPEntriesRequest(gateway_network_id: 'str', zone: 'Optional[ScwZone]', dhcp_entries: 'Optional[List[SetDHCPEntriesRequestEntry]]')
Bases:
object
- dhcp_entries: Optional[List[SetDHCPEntriesRequestEntry]]
New list of DHCP reservations.
- gateway_network_id: str
ID of the Gateway Network on which to set DHCP reservation list.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.SetDHCPEntriesRequestEntry(mac_address: 'str', ip_address: 'str')
Bases:
object
- ip_address: str
IP address to give to the device.
- mac_address: str
MAC address to give a static entry to. A matching entry will be upgraded to a reservation, and a matching reservation will be updated.
- class scaleway_async.vpcgw.v1.SetDHCPEntriesResponse(dhcp_entries: 'List[DHCPEntry]')
Bases:
object
- class scaleway_async.vpcgw.v1.SetPATRulesRequest(gateway_id: 'str', pat_rules: 'List[SetPATRulesRequestRule]', zone: 'Optional[ScwZone]')
Bases:
object
- gateway_id: str
ID of the gateway on which to set the PAT rules.
- pat_rules: List[SetPATRulesRequestRule]
New list of PAT rules.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.SetPATRulesRequestRule(public_port: 'int', private_ip: 'str', private_port: 'int', protocol: 'PATRuleProtocol')
Bases:
object
- private_ip: str
Private IP to forward data to.
- private_port: int
Private port to translate to.
- protocol: PATRuleProtocol
Protocol the rule should apply to.
- public_port: int
Public port to listen on. Uniquely identifies the rule, and a matching rule will be updated with the new parameters.
- class scaleway_async.vpcgw.v1.SetPATRulesResponse(pat_rules: 'List[PATRule]')
Bases:
object
- class scaleway_async.vpcgw.v1.UpdateDHCPEntryRequest(dhcp_entry_id: 'str', zone: 'Optional[ScwZone]', ip_address: 'Optional[str]')
Bases:
object
- dhcp_entry_id: str
ID of the DHCP entry to update.
- ip_address: Optional[str]
New IP address to give to the device.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.UpdateDHCPRequest(dhcp_id: 'str', zone: 'Optional[ScwZone]', subnet: 'Optional[str]', address: 'Optional[str]', pool_low: 'Optional[str]', pool_high: 'Optional[str]', enable_dynamic: 'Optional[bool]', valid_lifetime: 'Optional[str]', renew_timer: 'Optional[str]', rebind_timer: 'Optional[str]', push_default_route: 'Optional[bool]', push_dns_server: 'Optional[bool]', dns_servers_override: 'Optional[List[str]]', dns_search: 'Optional[List[str]]', dns_local_name: 'Optional[str]')
Bases:
object
- address: Optional[str]
IP address of the DHCP server. This will be the Public Gateway’s address in the Private Network. It must be part of config’s subnet.
- dhcp_id: str
DHCP configuration to update.
- dns_local_name: Optional[str]
TLD given to hostnames in the Private Networks. If an instance with hostname foo gets a lease, and this is set to bar, foo.bar will resolve. Allowed characters are a-z0-9-..
- dns_search: Optional[List[str]]
Array of search paths in addition to the pushed DNS configuration.
- dns_servers_override: Optional[List[str]]
Array of DNS server IP addresses used to override the DNS server list pushed to DHCP clients, instead of the gateway itself.
- enable_dynamic: Optional[bool]
Defines whether to enable dynamic pooling of IPs. When false, only pre-existing DHCP reservations will be handed out. Defaults to true.
- pool_high: Optional[str]
High IP (inclusive) of the dynamic address pool. Must be in the config’s subnet.
- pool_low: Optional[str]
Low IP (inclusive) of the dynamic address pool. Must be in the config’s subnet.
- push_default_route: Optional[bool]
Defines whether the gateway should push a default route to DHCP clients, or only hand out IPs.
- push_dns_server: Optional[bool]
Defines whether the gateway should push custom DNS servers to clients. This allows for instance hostname -> IP resolution.
- rebind_timer: Optional[str]
After how long a DHCP client will query for a new lease if previous renews fail. Must be 30s lower than valid_lifetime.
- renew_timer: Optional[str]
After how long a renew will be attempted. Must be 30s lower than rebind_timer.
- subnet: Optional[str]
Subnet for the DHCP server.
- valid_lifetime: Optional[str]
How long DHCP entries will be valid for.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.UpdateGatewayNetworkRequest(gateway_network_id: 'str', zone: 'Optional[ScwZone]', enable_masquerade: 'Optional[bool]', enable_dhcp: 'Optional[bool]', dhcp_id: 'Optional[str]', address: 'Optional[str]', ipam_config: 'Optional[UpdateGatewayNetworkRequestIpamConfig]')
Bases:
object
- address: Optional[str]
- dhcp_id: Optional[str]
- enable_dhcp: Optional[bool]
Defaults to true if dhcp_id is present. If set to true, dhcp_id must be present.
Note: this setting is ignored when passing ipam_config.
- enable_masquerade: Optional[bool]
Note: this setting is ignored when passing ipam_config.
- gateway_network_id: str
ID of the GatewayNetwork to update.
- ipam_config: Optional[UpdateGatewayNetworkRequestIpamConfig]
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.UpdateGatewayNetworkRequestIpamConfig(push_default_route: 'Optional[bool]', ipam_ip_id: 'Optional[str]')
Bases:
object
- ipam_ip_id: Optional[str]
Use this IPAM-booked IP ID as the Gateway’s IP in this Private Network.
- push_default_route: Optional[bool]
Enabling the default route also enables masquerading.
- class scaleway_async.vpcgw.v1.UpdateGatewayRequest(gateway_id: 'str', zone: 'Optional[ScwZone]', name: 'Optional[str]', tags: 'Optional[List[str]]', upstream_dns_servers: 'Optional[List[str]]', enable_bastion: 'Optional[bool]', bastion_port: 'Optional[int]', enable_smtp: 'Optional[bool]')
Bases:
object
- bastion_port: Optional[int]
Port of the SSH bastion.
- enable_bastion: Optional[bool]
Defines whether SSH bastion should be enabled the gateway.
- enable_smtp: Optional[bool]
Defines whether SMTP traffic should be allowed to pass through the gateway.
- gateway_id: str
ID of the gateway to update.
- name: Optional[str]
Name for the gateway.
- tags: Optional[List[str]]
Tags for the gateway.
- upstream_dns_servers: Optional[List[str]]
Array of DNS server IP addresses to override the gateway’s default recursive DNS servers.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.UpdateIPRequest(ip_id: 'str', zone: 'Optional[ScwZone]', tags: 'Optional[List[str]]', reverse: 'Optional[str]', gateway_id: 'Optional[str]')
Bases:
object
- gateway_id: Optional[str]
Gateway to attach the IP address to. Empty string to detach.
- ip_id: str
ID of the IP address to update.
- reverse: Optional[str]
Reverse to set on the address. Empty string to unset.
- tags: Optional[List[str]]
Tags to give to the IP address.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.UpdatePATRuleRequest(pat_rule_id: 'str', zone: 'Optional[ScwZone]', public_port: 'Optional[int]', private_ip: 'Optional[str]', private_port: 'Optional[int]', protocol: 'Optional[PATRuleProtocol]')
Bases:
object
- pat_rule_id: str
ID of the PAT rule to update.
- private_ip: Optional[str]
Private IP to forward data to.
- private_port: Optional[int]
Private port to translate to.
- protocol: Optional[PATRuleProtocol]
Protocol the rule should apply to.
- public_port: Optional[int]
Public port to listen on.
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.UpgradeGatewayRequest(gateway_id: 'str', zone: 'Optional[ScwZone]', type_: 'Optional[str]')
Bases:
object
- gateway_id: str
ID of the gateway to upgrade.
- type_: Optional[str]
Gateway type (commercial offer).
- zone: Optional[str]
Zone to target. If none is passed will use default zone from the config.
- class scaleway_async.vpcgw.v1.VpcgwV1API(client: Client, *, bypass_validation: bool = False)
Bases:
API
This API allows you to manage your Public Gateways.
- async create_dhcp(*, subnet: str, zone: Optional[str] = None, project_id: Optional[str] = None, address: Optional[str] = None, pool_low: Optional[str] = None, pool_high: Optional[str] = None, enable_dynamic: Optional[bool] = None, valid_lifetime: Optional[str] = None, renew_timer: Optional[str] = None, rebind_timer: Optional[str] = None, push_default_route: Optional[bool] = None, push_dns_server: Optional[bool] = None, dns_servers_override: Optional[List[str]] = None, dns_search: Optional[List[str]] = None, dns_local_name: Optional[str] = None) DHCP
Create a DHCP configuration. Create a new DHCP configuration object, containing settings for the assignment of IP addresses to devices on a Private Network attached to a Public Gateway. The response object includes the ID of the DHCP configuration object. You can use this ID as part of a call to Create a Public Gateway connection to a Private Network or Update a Public Gateway connection to a Private Network to directly apply this DHCP configuration. :param subnet: Subnet for the DHCP server. :param zone: Zone to target. If none is passed will use default zone from the config. :param project_id: Project to create the DHCP configuration in. :param address: IP address of the DHCP server. This will be the gateway’s address in the Private Network. Defaults to the first address of the subnet. :param pool_low: Low IP (inclusive) of the dynamic address pool. Must be in the config’s subnet. Defaults to the second address of the subnet. :param pool_high: High IP (inclusive) of the dynamic address pool. Must be in the config’s subnet. Defaults to the last address of the subnet. :param enable_dynamic: Defines whether to enable dynamic pooling of IPs. When false, only pre-existing DHCP reservations will be handed out. Defaults to true. :param valid_lifetime: How long DHCP entries will be valid for. Defaults to 1h (3600s). :param renew_timer: After how long a renew will be attempted. Must be 30s lower than rebind_timer. Defaults to 50m (3000s). :param rebind_timer: After how long a DHCP client will query for a new lease if previous renews fail. Must be 30s lower than valid_lifetime. Defaults to 51m (3060s). :param push_default_route: Defines whether the gateway should push a default route to DHCP clients or only hand out IPs. Defaults to true. :param push_dns_server: Defines whether the gateway should push custom DNS servers to clients. This allows for Instance hostname -> IP resolution. Defaults to true. :param dns_servers_override: Array of DNS server IP addresses used to override the DNS server list pushed to DHCP clients, instead of the gateway itself. :param dns_search: Array of search paths in addition to the pushed DNS configuration. :param dns_local_name: TLD given to hostnames in the Private Network. Allowed characters are a-z0-9-.. Defaults to the slugified Private Network name if created along a GatewayNetwork, or else to priv. :return:
DHCP
Usage:
result = await api.create_dhcp( subnet="example", )
- async create_dhcp_entry(*, gateway_network_id: str, mac_address: str, ip_address: str, zone: Optional[str] = None) DHCPEntry
Create a DHCP entry. Create a static DHCP reservation, specifying the Gateway Network for the reservation, the MAC address of the target device and the IP address to assign this device. The response is a DHCP entry object, confirming the ID and configuration details of the static DHCP reservation. :param gateway_network_id: GatewayNetwork on which to create a DHCP reservation. :param mac_address: MAC address to give a static entry to. :param ip_address: IP address to give to the device. :param zone: Zone to target. If none is passed will use default zone from the config. :return:
DHCPEntry
Usage:
result = await api.create_dhcp_entry( gateway_network_id="example", mac_address="example", ip_address="example", )
- async create_gateway(*, type_: str, enable_smtp: bool, enable_bastion: bool, zone: Optional[str] = None, project_id: Optional[str] = None, name: Optional[str] = None, tags: Optional[List[str]] = None, upstream_dns_servers: Optional[List[str]] = None, ip_id: Optional[str] = None, bastion_port: Optional[int] = None) Gateway
Create a Public Gateway. Create a new Public Gateway in the specified Scaleway Project, defining its name, type and other configuration details such as whether to enable SSH bastion. :param type_: Gateway type (commercial offer type). :param enable_smtp: Defines whether SMTP traffic should be allowed pass through the gateway. :param enable_bastion: Defines whether SSH bastion should be enabled the gateway. :param zone: Zone to target. If none is passed will use default zone from the config. :param project_id: Scaleway Project to create the gateway in. :param name: Name for the gateway. :param tags: Tags for the gateway. :param upstream_dns_servers: Array of DNS server IP addresses to override the gateway’s default recursive DNS servers. :param ip_id: Existing IP address to attach to the gateway. :param bastion_port: Port of the SSH bastion. :return:
Gateway
Usage:
result = await api.create_gateway( type="example", enable_smtp=False, enable_bastion=False, )
- async create_gateway_network(*, gateway_id: str, private_network_id: str, enable_masquerade: bool, zone: Optional[str] = None, enable_dhcp: Optional[bool] = None, dhcp_id: Optional[str] = None, dhcp: Optional[CreateDHCPRequest] = None, address: Optional[str] = None, ipam_config: Optional[CreateGatewayNetworkRequestIpamConfig] = None) GatewayNetwork
Attach a Public Gateway to a Private Network. Attach a specific Public Gateway to a specific Private Network (create a GatewayNetwork). You can configure parameters for the connection including DHCP settings, whether to enable masquerade (dynamic NAT), and more. :param gateway_id: Public Gateway to connect. :param private_network_id: Private Network to connect. :param enable_masquerade: Note: this setting is ignored when passing ipam_config. :param zone: Zone to target. If none is passed will use default zone from the config. :param enable_dhcp: Defaults to true if either dhcp_id or dhcp are present. If set to true, either dhcp_id or dhcp must be present. Note: this setting is ignored when passing ipam_config. :param dhcp_id: ID of an existing DHCP configuration object to use for this GatewayNetwork. One-Of (‘ip_config’): at most one of ‘dhcp_id’, ‘dhcp’, ‘address’, ‘ipam_config’ could be set. :param dhcp: New DHCP configuration object to use for this GatewayNetwork. One-Of (‘ip_config’): at most one of ‘dhcp_id’, ‘dhcp’, ‘address’, ‘ipam_config’ could be set. :param address: Static IP address in CIDR format to use without DHCP. One-Of (‘ip_config’): at most one of ‘dhcp_id’, ‘dhcp’, ‘address’, ‘ipam_config’ could be set. :param ipam_config: Note: all or none of the GatewayNetworks for a single gateway can use the IPAM. DHCP and IPAM configurations cannot be mixed. Some products may require that the Public Gateway uses the IPAM, to ensure correct functionality. One-Of (‘ip_config’): at most one of ‘dhcp_id’, ‘dhcp’, ‘address’, ‘ipam_config’ could be set. :return:
GatewayNetwork
Usage:
result = await api.create_gateway_network( gateway_id="example", private_network_id="example", enable_masquerade=False, )
- async create_ip(*, zone: Optional[str] = None, project_id: Optional[str] = None, tags: Optional[List[str]] = None) IP
Reserve an IP. Create (reserve) a new flexible IP address that can be used for a Public Gateway in a specified Scaleway Project. :param zone: Zone to target. If none is passed will use default zone from the config. :param project_id: Project to create the IP address in. :param tags: Tags to give to the IP address. :return:
IP
Usage:
result = await api.create_ip()
- async create_pat_rule(*, gateway_id: str, public_port: int, private_ip: str, private_port: int, zone: Optional[str] = None, protocol: Optional[PATRuleProtocol] = None) PATRule
Create a PAT rule. Create a new PAT rule on a specified Public Gateway, defining the protocol to use, public port to listen on, and private port / IP address to map to. :param gateway_id: ID of the Gateway on which to create the rule. :param public_port: Public port to listen on. :param private_ip: Private IP to forward data to. :param private_port: Private port to translate to. :param zone: Zone to target. If none is passed will use default zone from the config. :param protocol: Protocol the rule should apply to. :return:
PATRule
Usage:
result = await api.create_pat_rule( gateway_id="example", public_port=1, private_ip="example", private_port=1, )
- async delete_dhcp(*, dhcp_id: str, zone: Optional[str] = None) None
Delete a DHCP configuration. Delete a DHCP configuration object, identified by its DHCP ID. Note that you cannot delete a DHCP configuration object that is currently being used by a Gateway Network. :param dhcp_id: DHCP configuration ID to delete. :param zone: Zone to target. If none is passed will use default zone from the config.
Usage:
result = await api.delete_dhcp( dhcp_id="example", )
- async delete_dhcp_entry(*, dhcp_entry_id: str, zone: Optional[str] = None) None
Delete a DHCP entry. Delete a static DHCP reservation, identified by its DHCP entry ID. Note that you cannot delete DHCP entries of type lease, these are deleted automatically when their time-to-live expires. :param dhcp_entry_id: ID of the DHCP entry to delete. :param zone: Zone to target. If none is passed will use default zone from the config.
Usage:
result = await api.delete_dhcp_entry( dhcp_entry_id="example", )
- async delete_gateway(*, gateway_id: str, cleanup_dhcp: bool, zone: Optional[str] = None) None
Delete a Public Gateway. Delete an existing Public Gateway, specified by its gateway ID. This action is irreversible. :param gateway_id: ID of the gateway to delete. :param cleanup_dhcp: Defines whether to clean up attached DHCP configurations (if any, and if not attached to another Gateway Network). :param zone: Zone to target. If none is passed will use default zone from the config.
Usage:
result = await api.delete_gateway( gateway_id="example", cleanup_dhcp=False, )
- async delete_gateway_network(*, gateway_network_id: str, cleanup_dhcp: bool, zone: Optional[str] = None) None
Detach a Public Gateway from a Private Network. Detach a given Public Gateway from a given Private Network, i.e. delete a GatewayNetwork specified by a gateway_network_id. :param gateway_network_id: ID of the GatewayNetwork to delete. :param cleanup_dhcp: Defines whether to clean up attached DHCP configurations (if any, and if not attached to another Gateway Network). :param zone: Zone to target. If none is passed will use default zone from the config.
Usage:
result = await api.delete_gateway_network( gateway_network_id="example", cleanup_dhcp=False, )
- async delete_ip(*, ip_id: str, zone: Optional[str] = None) None
Delete an IP. Delete a flexible IP address from your account. This action is irreversible. :param ip_id: ID of the IP address to delete. :param zone: Zone to target. If none is passed will use default zone from the config.
Usage:
result = await api.delete_ip( ip_id="example", )
- async delete_pat_rule(*, pat_rule_id: str, zone: Optional[str] = None) None
Delete a PAT rule. Delete a PAT rule, identified by its PAT rule ID. This action is irreversible. :param pat_rule_id: ID of the PAT rule to delete. :param zone: Zone to target. If none is passed will use default zone from the config.
Usage:
result = await api.delete_pat_rule( pat_rule_id="example", )
- async enable_ip_mobility(*, gateway_id: str, zone: Optional[str] = None) None
Upgrade a Public Gateway to IP mobility. Upgrade a Public Gateway to IP mobility (move from NAT IP to routed IP). This is idempotent: repeated calls after the first will return no error but have no effect. :param gateway_id: ID of the gateway to upgrade to IP mobility. :param zone: Zone to target. If none is passed will use default zone from the config.
Usage:
result = await api.enable_ip_mobility( gateway_id="example", )
- async get_dhcp(*, dhcp_id: str, zone: Optional[str] = None) DHCP
Get a DHCP configuration. Get a DHCP configuration object, identified by its DHCP ID. The response object contains configuration settings for the assignment of IP addresses to devices on a Private Network attached to a Public Gateway. Note that the response does not contain the IDs of any Private Network / Public Gateway the configuration is attached to. Use the List Public Gateway connections to Private Networks method for that purpose, filtering on DHCP ID. :param dhcp_id: ID of the DHCP configuration to fetch. :param zone: Zone to target. If none is passed will use default zone from the config. :return:
DHCP
Usage:
result = await api.get_dhcp( dhcp_id="example", )
- async get_dhcp_entry(*, dhcp_entry_id: str, zone: Optional[str] = None) DHCPEntry
Get a DHCP entry. Get a DHCP entry, specified by its DHCP entry ID. :param dhcp_entry_id: ID of the DHCP entry to fetch. :param zone: Zone to target. If none is passed will use default zone from the config. :return:
DHCPEntry
Usage:
result = await api.get_dhcp_entry( dhcp_entry_id="example", )
- async get_gateway(*, gateway_id: str, zone: Optional[str] = None) Gateway
Get a Public Gateway. Get details of a Public Gateway, specified by its gateway ID. The response object contains full details of the gateway, including its name, type, status and more. :param gateway_id: ID of the gateway to fetch. :param zone: Zone to target. If none is passed will use default zone from the config. :return:
Gateway
Usage:
result = await api.get_gateway( gateway_id="example", )
- async get_gateway_network(*, gateway_network_id: str, zone: Optional[str] = None) GatewayNetwork
Get a Public Gateway connection to a Private Network. Get details of a given connection between a Public Gateway and a Private Network (this connection = a GatewayNetwork), specified by its gateway_network_id. The response object contains details of the connection including the IDs of the Public Gateway and Private Network, the dates the connection was created/updated and its configuration settings. :param gateway_network_id: ID of the GatewayNetwork to fetch. :param zone: Zone to target. If none is passed will use default zone from the config. :return:
GatewayNetwork
Usage:
result = await api.get_gateway_network( gateway_network_id="example", )
- async get_ip(*, ip_id: str, zone: Optional[str] = None) IP
Get an IP. Get details of a Public Gateway flexible IP address, identified by its IP ID. The response object contains information including which (if any) Public Gateway using this IP address, the reverse and various other metadata. :param ip_id: ID of the IP address to get. :param zone: Zone to target. If none is passed will use default zone from the config. :return:
IP
Usage:
result = await api.get_ip( ip_id="example", )
- async get_pat_rule(*, pat_rule_id: str, zone: Optional[str] = None) PATRule
Get a PAT rule. Get a PAT rule, specified by its PAT rule ID. The response object gives full details of the PAT rule, including the Public Gateway it belongs to and the configuration settings in terms of public / private ports, private IP and protocol. :param pat_rule_id: ID of the PAT rule to get. :param zone: Zone to target. If none is passed will use default zone from the config. :return:
PATRule
Usage:
result = await api.get_pat_rule( pat_rule_id="example", )
- async list_dhc_ps(*, zone: Optional[str] = None, order_by: Optional[ListDHCPsRequestOrderBy] = None, page: Optional[int] = None, page_size: Optional[int] = None, organization_id: Optional[str] = None, project_id: Optional[str] = None, address: Optional[str] = None, has_address: Optional[str] = None) ListDHCPsResponse
List DHCP configurations. List DHCP configurations, optionally filtering by Organization, Project, Public Gateway IP address or more. The response is an array of DHCP configuration objects, each identified by a DHCP ID and containing configuration settings for the assignment of IP addresses to devices on a Private Network attached to a Public Gateway. Note that the response does not contain the IDs of any Private Network / Public Gateway the configuration is attached to. Use the List Public Gateway connections to Private Networks method for that purpose, filtering on DHCP ID. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Order in which to return results. :param page: Page number. :param page_size: DHCP configurations per page. :param organization_id: Include only DHCP configuration objects in this Organization. :param project_id: Include only DHCP configuration objects in this Project. :param address: Filter for DHCP configuration objects with this DHCP server IP address (the gateway’s address in the Private Network). :param has_address: Filter for DHCP configuration objects with subnets containing this IP address. :return:
ListDHCPsResponse
Usage:
result = await api.list_dhc_ps()
- async list_dhc_ps_all(*, zone: Optional[str] = None, order_by: Optional[ListDHCPsRequestOrderBy] = None, page: Optional[int] = None, page_size: Optional[int] = None, organization_id: Optional[str] = None, project_id: Optional[str] = None, address: Optional[str] = None, has_address: Optional[str] = None) List[DHCP]
List DHCP configurations. List DHCP configurations, optionally filtering by Organization, Project, Public Gateway IP address or more. The response is an array of DHCP configuration objects, each identified by a DHCP ID and containing configuration settings for the assignment of IP addresses to devices on a Private Network attached to a Public Gateway. Note that the response does not contain the IDs of any Private Network / Public Gateway the configuration is attached to. Use the List Public Gateway connections to Private Networks method for that purpose, filtering on DHCP ID. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Order in which to return results. :param page: Page number. :param page_size: DHCP configurations per page. :param organization_id: Include only DHCP configuration objects in this Organization. :param project_id: Include only DHCP configuration objects in this Project. :param address: Filter for DHCP configuration objects with this DHCP server IP address (the gateway’s address in the Private Network). :param has_address: Filter for DHCP configuration objects with subnets containing this IP address. :return:
List[DHCP]
Usage:
result = await api.list_dhc_ps_all()
- async list_dhcp_entries(*, zone: Optional[str] = None, order_by: Optional[ListDHCPEntriesRequestOrderBy] = None, page: Optional[int] = None, page_size: Optional[int] = None, gateway_network_id: Optional[str] = None, mac_address: Optional[str] = None, ip_address: Optional[str] = None, hostname: Optional[str] = None, type_: Optional[DHCPEntryType] = None) ListDHCPEntriesResponse
List DHCP entries. List DHCP entries, whether dynamically assigned and/or statically reserved. DHCP entries can be filtered by the Gateway Network they are on, their MAC address, IP address, type or hostname. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Order in which to return results. :param page: Page number. :param page_size: DHCP entries per page. :param gateway_network_id: Filter for entries on this GatewayNetwork. :param mac_address: Filter for entries with this MAC address. :param ip_address: Filter for entries with this IP address. :param hostname: Filter for entries with this hostname substring. :param type_: Filter for entries of this type. :return:
ListDHCPEntriesResponse
Usage:
result = await api.list_dhcp_entries()
- async list_dhcp_entries_all(*, zone: Optional[str] = None, order_by: Optional[ListDHCPEntriesRequestOrderBy] = None, page: Optional[int] = None, page_size: Optional[int] = None, gateway_network_id: Optional[str] = None, mac_address: Optional[str] = None, ip_address: Optional[str] = None, hostname: Optional[str] = None, type_: Optional[DHCPEntryType] = None) List[DHCPEntry]
List DHCP entries. List DHCP entries, whether dynamically assigned and/or statically reserved. DHCP entries can be filtered by the Gateway Network they are on, their MAC address, IP address, type or hostname. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Order in which to return results. :param page: Page number. :param page_size: DHCP entries per page. :param gateway_network_id: Filter for entries on this GatewayNetwork. :param mac_address: Filter for entries with this MAC address. :param ip_address: Filter for entries with this IP address. :param hostname: Filter for entries with this hostname substring. :param type_: Filter for entries of this type. :return:
List[DHCPEntry]
Usage:
result = await api.list_dhcp_entries_all()
- async list_gateway_networks(*, zone: Optional[str] = None, order_by: Optional[ListGatewayNetworksRequestOrderBy] = None, page: Optional[int] = None, page_size: Optional[int] = None, gateway_id: Optional[str] = None, private_network_id: Optional[str] = None, enable_masquerade: Optional[bool] = None, dhcp_id: Optional[str] = None, status: Optional[GatewayNetworkStatus] = None) ListGatewayNetworksResponse
List Public Gateway connections to Private Networks. List the connections between Public Gateways and Private Networks (a connection = a GatewayNetwork). You can choose to filter by gateway-id to list all Private Networks attached to the specified Public Gateway, or by private_network_id to list all Public Gateways attached to the specified Private Network. Other query parameters are also available. The result is an array of GatewayNetwork objects, each giving details of the connection between a given Public Gateway and a given Private Network. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Order in which to return results. :param page: Page number. :param page_size: GatewayNetworks per page. :param gateway_id: Filter for GatewayNetworks connected to this gateway. :param private_network_id: Filter for GatewayNetworks connected to this Private Network. :param enable_masquerade: Filter for GatewayNetworks with this enable_masquerade setting. :param dhcp_id: Filter for GatewayNetworks using this DHCP configuration. :param status: Filter for GatewayNetworks with this current status this status. Use unknown to include all statuses. :return:
ListGatewayNetworksResponse
Usage:
result = await api.list_gateway_networks()
- async list_gateway_networks_all(*, zone: Optional[str] = None, order_by: Optional[ListGatewayNetworksRequestOrderBy] = None, page: Optional[int] = None, page_size: Optional[int] = None, gateway_id: Optional[str] = None, private_network_id: Optional[str] = None, enable_masquerade: Optional[bool] = None, dhcp_id: Optional[str] = None, status: Optional[GatewayNetworkStatus] = None) List[GatewayNetwork]
List Public Gateway connections to Private Networks. List the connections between Public Gateways and Private Networks (a connection = a GatewayNetwork). You can choose to filter by gateway-id to list all Private Networks attached to the specified Public Gateway, or by private_network_id to list all Public Gateways attached to the specified Private Network. Other query parameters are also available. The result is an array of GatewayNetwork objects, each giving details of the connection between a given Public Gateway and a given Private Network. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Order in which to return results. :param page: Page number. :param page_size: GatewayNetworks per page. :param gateway_id: Filter for GatewayNetworks connected to this gateway. :param private_network_id: Filter for GatewayNetworks connected to this Private Network. :param enable_masquerade: Filter for GatewayNetworks with this enable_masquerade setting. :param dhcp_id: Filter for GatewayNetworks using this DHCP configuration. :param status: Filter for GatewayNetworks with this current status this status. Use unknown to include all statuses. :return:
List[GatewayNetwork]
Usage:
result = await api.list_gateway_networks_all()
- async list_gateway_types(*, zone: Optional[str] = None) ListGatewayTypesResponse
List Public Gateway types. List the different Public Gateway commercial offer types available at Scaleway. The response is an array of objects describing the name and technical details of each available gateway type. :param zone: Zone to target. If none is passed will use default zone from the config. :return:
ListGatewayTypesResponse
Usage:
result = await api.list_gateway_types()
- async list_gateways(*, zone: Optional[str] = None, order_by: Optional[ListGatewaysRequestOrderBy] = None, page: Optional[int] = None, page_size: Optional[int] = None, organization_id: Optional[str] = None, project_id: Optional[str] = None, name: Optional[str] = None, tags: Optional[List[str]] = None, type_: Optional[str] = None, status: Optional[GatewayStatus] = None, private_network_id: Optional[str] = None) ListGatewaysResponse
List Public Gateways. List Public Gateways in a given Scaleway Organization or Project. By default, results are displayed in ascending order of creation date. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Order in which to return results. :param page: Page number to return. :param page_size: Gateways per page. :param organization_id: Include only gateways in this Organization. :param project_id: Include only gateways in this Project. :param name: Filter for gateways which have this search term in their name. :param tags: Filter for gateways with these tags. :param type_: Filter for gateways of this type. :param status: Filter for gateways with this current status. Use unknown to include all statuses. :param private_network_id: Filter for gateways attached to this Private nNetwork. :return:
ListGatewaysResponse
Usage:
result = await api.list_gateways()
- async list_gateways_all(*, zone: Optional[str] = None, order_by: Optional[ListGatewaysRequestOrderBy] = None, page: Optional[int] = None, page_size: Optional[int] = None, organization_id: Optional[str] = None, project_id: Optional[str] = None, name: Optional[str] = None, tags: Optional[List[str]] = None, type_: Optional[str] = None, status: Optional[GatewayStatus] = None, private_network_id: Optional[str] = None) List[Gateway]
List Public Gateways. List Public Gateways in a given Scaleway Organization or Project. By default, results are displayed in ascending order of creation date. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Order in which to return results. :param page: Page number to return. :param page_size: Gateways per page. :param organization_id: Include only gateways in this Organization. :param project_id: Include only gateways in this Project. :param name: Filter for gateways which have this search term in their name. :param tags: Filter for gateways with these tags. :param type_: Filter for gateways of this type. :param status: Filter for gateways with this current status. Use unknown to include all statuses. :param private_network_id: Filter for gateways attached to this Private nNetwork. :return:
List[Gateway]
Usage:
result = await api.list_gateways_all()
- async list_i_ps(*, zone: Optional[str] = None, order_by: Optional[ListIPsRequestOrderBy] = None, page: Optional[int] = None, page_size: Optional[int] = None, organization_id: Optional[str] = None, project_id: Optional[str] = None, tags: Optional[List[str]] = None, reverse: Optional[str] = None, is_free: Optional[bool] = None) ListIPsResponse
List IPs. List Public Gateway flexible IP addresses. A number of filter options are available for limiting results in the response. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Order in which to return results. :param page: Page number. :param page_size: IP addresses per page. :param organization_id: Filter for IP addresses in this Organization. :param project_id: Filter for IP addresses in this Project. :param tags: Filter for IP addresses with these tags. :param reverse: Filter for IP addresses that have a reverse containing this string. :param is_free: Filter based on whether the IP is attached to a gateway or not. :return:
ListIPsResponse
Usage:
result = await api.list_i_ps()
- async list_i_ps_all(*, zone: Optional[str] = None, order_by: Optional[ListIPsRequestOrderBy] = None, page: Optional[int] = None, page_size: Optional[int] = None, organization_id: Optional[str] = None, project_id: Optional[str] = None, tags: Optional[List[str]] = None, reverse: Optional[str] = None, is_free: Optional[bool] = None) List[IP]
List IPs. List Public Gateway flexible IP addresses. A number of filter options are available for limiting results in the response. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Order in which to return results. :param page: Page number. :param page_size: IP addresses per page. :param organization_id: Filter for IP addresses in this Organization. :param project_id: Filter for IP addresses in this Project. :param tags: Filter for IP addresses with these tags. :param reverse: Filter for IP addresses that have a reverse containing this string. :param is_free: Filter based on whether the IP is attached to a gateway or not. :return:
List[IP]
Usage:
result = await api.list_i_ps_all()
- async list_pat_rules(*, zone: Optional[str] = None, order_by: Optional[ListPATRulesRequestOrderBy] = None, page: Optional[int] = None, page_size: Optional[int] = None, gateway_id: Optional[str] = None, private_ip: Optional[str] = None, protocol: Optional[PATRuleProtocol] = None) ListPATRulesResponse
List PAT rules. List PAT rules. You can filter by gateway ID to list all PAT rules for a particular gateway, or filter for PAT rules targeting a specific IP address or using a specific protocol. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Order in which to return results. :param page: Page number. :param page_size: PAT rules per page. :param gateway_id: Filter for PAT rules on this Gateway. :param private_ip: Filter for PAT rules targeting this private ip. :param protocol: Filter for PAT rules with this protocol. :return:
ListPATRulesResponse
Usage:
result = await api.list_pat_rules()
- async list_pat_rules_all(*, zone: Optional[str] = None, order_by: Optional[ListPATRulesRequestOrderBy] = None, page: Optional[int] = None, page_size: Optional[int] = None, gateway_id: Optional[str] = None, private_ip: Optional[str] = None, protocol: Optional[PATRuleProtocol] = None) List[PATRule]
List PAT rules. List PAT rules. You can filter by gateway ID to list all PAT rules for a particular gateway, or filter for PAT rules targeting a specific IP address or using a specific protocol. :param zone: Zone to target. If none is passed will use default zone from the config. :param order_by: Order in which to return results. :param page: Page number. :param page_size: PAT rules per page. :param gateway_id: Filter for PAT rules on this Gateway. :param private_ip: Filter for PAT rules targeting this private ip. :param protocol: Filter for PAT rules with this protocol. :return:
List[PATRule]
Usage:
result = await api.list_pat_rules_all()
- async migrate_to_v2(*, gateway_id: str, zone: Optional[str] = None) None
Put a Public Gateway in IPAM mode. Put a Public Gateway in IPAM mode, so that it can be used with the Public Gateways API v2. This call is idempotent. :param gateway_id: ID of the gateway to put into IPAM mode. :param zone: Zone to target. If none is passed will use default zone from the config.
Usage:
result = await api.migrate_to_v2( gateway_id="example", )
- async refresh_ssh_keys(*, gateway_id: str, zone: Optional[str] = None) Gateway
Refresh a Public Gateway’s SSH keys. Refresh the SSH keys of a given Public Gateway, specified by its gateway ID. This adds any new SSH keys in the gateway’s Scaleway Project to the gateway itself. :param gateway_id: ID of the gateway to refresh SSH keys on. :param zone: Zone to target. If none is passed will use default zone from the config. :return:
Gateway
Usage:
result = await api.refresh_ssh_keys( gateway_id="example", )
- async set_dhcp_entries(*, gateway_network_id: str, zone: Optional[str] = None, dhcp_entries: Optional[List[SetDHCPEntriesRequestEntry]] = None) SetDHCPEntriesResponse
Set all DHCP reservations on a Gateway Network. Set the list of DHCP reservations attached to a Gateway Network. Reservations are identified by their MAC address, and will sync the current DHCP entry list to the given list, creating, updating or deleting DHCP entries accordingly. :param gateway_network_id: ID of the Gateway Network on which to set DHCP reservation list. :param zone: Zone to target. If none is passed will use default zone from the config. :param dhcp_entries: New list of DHCP reservations. :return:
SetDHCPEntriesResponse
Usage:
result = await api.set_dhcp_entries( gateway_network_id="example", )
- async set_pat_rules(*, gateway_id: str, pat_rules: List[SetPATRulesRequestRule], zone: Optional[str] = None) SetPATRulesResponse
Set all PAT rules. Set a definitive list of PAT rules attached to a Public Gateway. Each rule is identified by its public port and protocol. This will sync the current PAT rule list on the gateway with the new list, creating, updating or deleting PAT rules accordingly. :param gateway_id: ID of the gateway on which to set the PAT rules. :param pat_rules: New list of PAT rules. :param zone: Zone to target. If none is passed will use default zone from the config. :return:
SetPATRulesResponse
Usage:
result = await api.set_pat_rules( gateway_id="example", pat_rules=[], )
- async update_dhcp(*, dhcp_id: str, zone: Optional[str] = None, subnet: Optional[str] = None, address: Optional[str] = None, pool_low: Optional[str] = None, pool_high: Optional[str] = None, enable_dynamic: Optional[bool] = None, valid_lifetime: Optional[str] = None, renew_timer: Optional[str] = None, rebind_timer: Optional[str] = None, push_default_route: Optional[bool] = None, push_dns_server: Optional[bool] = None, dns_servers_override: Optional[List[str]] = None, dns_search: Optional[List[str]] = None, dns_local_name: Optional[str] = None) DHCP
Update a DHCP configuration. Update a DHCP configuration object, identified by its DHCP ID. :param dhcp_id: DHCP configuration to update. :param zone: Zone to target. If none is passed will use default zone from the config. :param subnet: Subnet for the DHCP server. :param address: IP address of the DHCP server. This will be the Public Gateway’s address in the Private Network. It must be part of config’s subnet. :param pool_low: Low IP (inclusive) of the dynamic address pool. Must be in the config’s subnet. :param pool_high: High IP (inclusive) of the dynamic address pool. Must be in the config’s subnet. :param enable_dynamic: Defines whether to enable dynamic pooling of IPs. When false, only pre-existing DHCP reservations will be handed out. Defaults to true. :param valid_lifetime: How long DHCP entries will be valid for. :param renew_timer: After how long a renew will be attempted. Must be 30s lower than rebind_timer. :param rebind_timer: After how long a DHCP client will query for a new lease if previous renews fail. Must be 30s lower than valid_lifetime. :param push_default_route: Defines whether the gateway should push a default route to DHCP clients, or only hand out IPs. :param push_dns_server: Defines whether the gateway should push custom DNS servers to clients. This allows for instance hostname -> IP resolution. :param dns_servers_override: Array of DNS server IP addresses used to override the DNS server list pushed to DHCP clients, instead of the gateway itself. :param dns_search: Array of search paths in addition to the pushed DNS configuration. :param dns_local_name: TLD given to hostnames in the Private Networks. If an instance with hostname foo gets a lease, and this is set to bar, foo.bar will resolve. Allowed characters are a-z0-9-.. :return:
DHCP
Usage:
result = await api.update_dhcp( dhcp_id="example", )
- async update_dhcp_entry(*, dhcp_entry_id: str, zone: Optional[str] = None, ip_address: Optional[str] = None) DHCPEntry
Update a DHCP entry. Update the IP address for a DHCP entry, specified by its DHCP entry ID. You can update an existing DHCP entry of any type (reservation (static), lease (dynamic) or unknown), but in manually updating the IP address the entry will necessarily be of type reservation after the update. :param dhcp_entry_id: ID of the DHCP entry to update. :param zone: Zone to target. If none is passed will use default zone from the config. :param ip_address: New IP address to give to the device. :return:
DHCPEntry
Usage:
result = await api.update_dhcp_entry( dhcp_entry_id="example", )
- async update_gateway(*, gateway_id: str, zone: Optional[str] = None, name: Optional[str] = None, tags: Optional[List[str]] = None, upstream_dns_servers: Optional[List[str]] = None, enable_bastion: Optional[bool] = None, bastion_port: Optional[int] = None, enable_smtp: Optional[bool] = None) Gateway
Update a Public Gateway. Update the parameters of an existing Public Gateway, for example, its name, tags, SSH bastion configuration, and DNS servers. :param gateway_id: ID of the gateway to update. :param zone: Zone to target. If none is passed will use default zone from the config. :param name: Name for the gateway. :param tags: Tags for the gateway. :param upstream_dns_servers: Array of DNS server IP addresses to override the gateway’s default recursive DNS servers. :param enable_bastion: Defines whether SSH bastion should be enabled the gateway. :param bastion_port: Port of the SSH bastion. :param enable_smtp: Defines whether SMTP traffic should be allowed to pass through the gateway. :return:
Gateway
Usage:
result = await api.update_gateway( gateway_id="example", )
- async update_gateway_network(*, gateway_network_id: str, zone: Optional[str] = None, enable_masquerade: Optional[bool] = None, enable_dhcp: Optional[bool] = None, dhcp_id: Optional[str] = None, address: Optional[str] = None, ipam_config: Optional[UpdateGatewayNetworkRequestIpamConfig] = None) GatewayNetwork
Update a Public Gateway’s connection to a Private Network. Update the configuration parameters of a connection between a given Public Gateway and Private Network (the connection = a GatewayNetwork). Updatable parameters include DHCP settings and whether to enable traffic masquerade (dynamic NAT). :param gateway_network_id: ID of the GatewayNetwork to update. :param zone: Zone to target. If none is passed will use default zone from the config. :param enable_masquerade: Note: this setting is ignored when passing ipam_config. :param enable_dhcp: Defaults to true if dhcp_id is present. If set to true, dhcp_id must be present. Note: this setting is ignored when passing ipam_config. :param dhcp_id: ID of the new DHCP configuration object to use with this GatewayNetwork. One-Of (‘ip_config’): at most one of ‘dhcp_id’, ‘address’, ‘ipam_config’ could be set. :param address: New static IP address. One-Of (‘ip_config’): at most one of ‘dhcp_id’, ‘address’, ‘ipam_config’ could be set. :param ipam_config: Note: all or none of the GatewayNetworks for a single gateway can use the IPAM. DHCP and IPAM configurations cannot be mixed. Some products may require that the Public Gateway uses the IPAM, to ensure correct functionality. One-Of (‘ip_config’): at most one of ‘dhcp_id’, ‘address’, ‘ipam_config’ could be set. :return:
GatewayNetwork
Usage:
result = await api.update_gateway_network( gateway_network_id="example", )
- async update_ip(*, ip_id: str, zone: Optional[str] = None, tags: Optional[List[str]] = None, reverse: Optional[str] = None, gateway_id: Optional[str] = None) IP
Update an IP. Update details of an existing flexible IP address, including its tags, reverse and the Public Gateway it is assigned to. :param ip_id: ID of the IP address to update. :param zone: Zone to target. If none is passed will use default zone from the config. :param tags: Tags to give to the IP address. :param reverse: Reverse to set on the address. Empty string to unset. :param gateway_id: Gateway to attach the IP address to. Empty string to detach. :return:
IP
Usage:
result = await api.update_ip( ip_id="example", )
- async update_pat_rule(*, pat_rule_id: str, zone: Optional[str] = None, public_port: Optional[int] = None, private_ip: Optional[str] = None, private_port: Optional[int] = None, protocol: Optional[PATRuleProtocol] = None) PATRule
Update a PAT rule. Update a PAT rule, specified by its PAT rule ID. Configuration settings including private/public port, private IP address and protocol can all be updated. :param pat_rule_id: ID of the PAT rule to update. :param zone: Zone to target. If none is passed will use default zone from the config. :param public_port: Public port to listen on. :param private_ip: Private IP to forward data to. :param private_port: Private port to translate to. :param protocol: Protocol the rule should apply to. :return:
PATRule
Usage:
result = await api.update_pat_rule( pat_rule_id="example", )
- async upgrade_gateway(*, gateway_id: str, zone: Optional[str] = None, type_: Optional[str] = None) Gateway
Upgrade a Public Gateway to the latest version and/or to a different commercial offer type. Upgrade a given Public Gateway to the newest software version or to a different commercial offer type. This applies the latest bugfixes and features to your Public Gateway. Note that gateway service will be interrupted during the update. :param gateway_id: ID of the gateway to upgrade. :param zone: Zone to target. If none is passed will use default zone from the config. :param type_: Gateway type (commercial offer). :return:
Gateway
Usage:
result = await api.upgrade_gateway( gateway_id="example", )
- async wait_for_gateway(*, gateway_id: str, zone: Optional[str] = None, options: Optional[WaitForOptions[Gateway, Union[bool, Awaitable[bool]]]] = None) Gateway
Get a Public Gateway. Get details of a Public Gateway, specified by its gateway ID. The response object contains full details of the gateway, including its name, type, status and more. :param gateway_id: ID of the gateway to fetch. :param zone: Zone to target. If none is passed will use default zone from the config. :return:
Gateway
Usage:
result = await api.get_gateway( gateway_id="example", )
- async wait_for_gateway_network(*, gateway_network_id: str, zone: Optional[str] = None, options: Optional[WaitForOptions[GatewayNetwork, Union[bool, Awaitable[bool]]]] = None) GatewayNetwork
Get a Public Gateway connection to a Private Network. Get details of a given connection between a Public Gateway and a Private Network (this connection = a GatewayNetwork), specified by its gateway_network_id. The response object contains details of the connection including the IDs of the Public Gateway and Private Network, the dates the connection was created/updated and its configuration settings. :param gateway_network_id: ID of the GatewayNetwork to fetch. :param zone: Zone to target. If none is passed will use default zone from the config. :return:
GatewayNetwork
Usage:
result = await api.get_gateway_network( gateway_network_id="example", )