FirewallsClient

class FirewallsClient(client: Client)[source]
actions: ResourceActionsClient

Firewalls scoped actions client

Type:

ResourceActionsClient

apply_to_resources(firewall: Firewall | BoundFirewall, resources: list[FirewallResource]) list[BoundAction][source]

Applies one Firewall to multiple resources.

Parameters:
Returns:

List[BoundAction]

create(name: str, rules: list[FirewallRule] | None = None, labels: str | None = None, resources: list[FirewallResource] | None = None) CreateFirewallResponse[source]

Creates a new Firewall.

Parameters:
  • name – str Firewall Name

  • rules – List[FirewallRule] (optional)

  • labels – Dict[str, str] (optional) User-defined labels (key-value pairs)

  • resources – List[FirewallResource] (optional)

Returns:

CreateFirewallResponse

delete(firewall: Firewall | BoundFirewall) bool[source]

Deletes a Firewall.

Parameters:

firewallBoundFirewall or Firewall

Returns:

boolean

get_actions(firewall: Firewall | BoundFirewall, status: list[str] | None = None, sort: list[str] | None = None) list[BoundAction][source]

Returns all action objects for a Firewall.

Parameters:
  • firewallBoundFirewall or Firewall

  • status – List[str] (optional) Response will have only actions with specified statuses. Choices: running success error

  • sort – List[str] (optional) Specify how the results are sorted. Choices: id id:asc id:desc command command:asc command:desc status status:asc status:desc progress progress:asc progress:desc started started:asc started:desc finished finished:asc finished:desc

Returns:

List[BoundAction]

get_actions_list(firewall: Firewall | BoundFirewall, status: list[str] | None = None, sort: list[str] | None = None, page: int | None = None, per_page: int | None = None) ActionsPageResult[source]

Returns all action objects for a Firewall.

Parameters:
  • firewallBoundFirewall or Firewall

  • status – List[str] (optional) Response will have only actions with specified statuses. Choices: running success error

  • sort – List[str] (optional) Specify how the results are sorted. Choices: id id:asc id:desc command command:asc command:desc status status:asc status:desc progress progress:asc progress:desc started started:asc started:desc finished finished:asc finished:desc

  • page – int (optional) Specifies the page to fetch

  • per_page – int (optional) Specifies how many results are returned by page

Returns:

(List[BoundAction], Meta)

get_all(label_selector: str | None = None, name: str | None = None, sort: list[str] | None = None) list[BoundFirewall][source]

Get all floating ips from this account

Parameters:
  • label_selector – str (optional) Can be used to filter Firewalls by labels. The response will only contain Firewalls matching the label selector values.

  • name – str (optional) Can be used to filter networks by their name.

  • sort – List[str] (optional) Choices: id name created (You can add one of “:asc”, “:desc” to modify sort order. ( “:asc” is default))

Returns:

List[BoundFirewall]

get_by_id(id: int) BoundFirewall[source]

Returns a specific Firewall object.

Parameters:

id – int

Returns:

BoundFirewall

get_by_name(name: str) BoundFirewall | None[source]

Get Firewall by name

Parameters:

name – str Used to get Firewall by name.

Returns:

BoundFirewall

get_list(label_selector: str | None = None, page: int | None = None, per_page: int | None = None, name: str | None = None, sort: list[str] | None = None) FirewallsPageResult[source]

Get a list of floating ips from this account

Parameters:
  • label_selector – str (optional) Can be used to filter Firewalls by labels. The response will only contain Firewalls matching the label selector values.

  • page – int (optional) Specifies the page to fetch

  • per_page – int (optional) Specifies how many results are returned by page

  • name – str (optional) Can be used to filter networks by their name.

  • sort – List[str] (optional) Choices: id name created (You can add one of “:asc”, “:desc” to modify sort order. ( “:asc” is default))

Returns:

(List[BoundFirewall], Meta)

remove_from_resources(firewall: Firewall | BoundFirewall, resources: list[FirewallResource]) list[BoundAction][source]

Removes one Firewall from multiple resources.

Parameters:
Returns:

List[BoundAction]

set_rules(firewall: Firewall | BoundFirewall, rules: list[FirewallRule]) list[BoundAction][source]

Sets the rules of a Firewall. All existing rules will be overwritten. Pass an empty rules array to remove all rules.

Parameters:
Returns:

List[BoundAction]

update(firewall: Firewall | BoundFirewall, labels: dict[str, str] | None = None, name: str | None = None) BoundFirewall[source]

Updates the description or labels of a Firewall.

Parameters:
  • firewallBoundFirewall or Firewall

  • labels – Dict[str, str] (optional) User-defined labels (key-value pairs)

  • name – str (optional) New name to set

Returns:

BoundFirewall

class BoundFirewall(client: FirewallsClient, data: dict, complete: bool = True)[source]
apply_to_resources(resources: list[FirewallResource]) list[BoundAction][source]

Applies one Firewall to multiple resources. :param resources: List[FirewallResource] :return: List[BoundAction]

delete() bool[source]

Deletes a Firewall.

Returns:

boolean

get_actions(status: list[str] | None = None, sort: list[str] | None = None) list[BoundAction][source]

Returns all action objects for a Firewall.

Parameters:
  • status – List[str] (optional) Response will have only actions with specified statuses. Choices: running success error

  • sort – List[str] (optional) Specify how the results are sorted. Choices: id id:asc id:desc command command:asc command:desc status status:asc status:desc progress progress:asc progress:desc started started:asc started:desc finished finished:asc finished:desc

Returns:

List[BoundAction]

get_actions_list(status: list[str] | None = None, sort: list[str] | None = None, page: int | None = None, per_page: int | None = None) ActionsPageResult[source]

Returns all action objects for a Firewall.

Parameters:
  • status – List[str] (optional) Response will have only actions with specified statuses. Choices: running success error

  • sort – List[str] (optional) Specify how the results are sorted. Choices: id id:asc id:desc command command:asc command:desc status status:asc status:desc progress progress:asc progress:desc started started:asc started:desc finished finished:asc finished:desc

  • page – int (optional) Specifies the page to fetch

  • per_page – int (optional) Specifies how many results are returned by page

Returns:

(List[BoundAction], Meta)

model

alias of Firewall

remove_from_resources(resources: list[FirewallResource]) list[BoundAction][source]

Removes one Firewall from multiple resources. :param resources: List[FirewallResource] :return: List[BoundAction]

set_rules(rules: list[FirewallRule]) list[BoundAction][source]

Sets the rules of a Firewall. All existing rules will be overwritten. Pass an empty rules array to remove all rules. :param rules: List[FirewallRule] :return: List[BoundAction]

update(name: str | None = None, labels: dict[str, str] | None = None) BoundFirewall[source]

Updates the name or labels of a Firewall.

Parameters:
  • labels – Dict[str, str] (optional) User-defined labels (key-value pairs)

  • name – str (optional) New Name to set

Returns:

BoundFirewall

class Firewall(id: int | None = None, name: str | None = None, labels: dict[str, str] | None = None, rules: list[FirewallRule] | None = None, applied_to: list[FirewallResource] | None = None, created: str | None = None)[source]

Firewall Domain

Parameters:
  • id – int ID of the Firewall

  • name – str Name of the Firewall

  • labels – dict User-defined labels (key-value pairs)

  • rules – List[FirewallRule] Rules of the Firewall

  • applied_to – List[FirewallResource] Resources currently using the Firewall

  • created – datetime Point in time when the image was created

class FirewallRule(direction: str, protocol: str, source_ips: list[str], port: str | None = None, destination_ips: list[str] | None = None, description: str | None = None)[source]

Firewall Rule Domain

Parameters:
  • direction – str The Firewall which was created

  • port – str Port to which traffic will be allowed, only applicable for protocols TCP and UDP, specify port ranges by using - as a indicator, Sample: 80-85 means all ports between 80 & 85 (80, 82, 83, 84, 85)

  • protocol – str Select traffic direction on which rule should be applied. Use source_ips for direction in and destination_ips for direction out.

  • source_ips – List[str] List of permitted IPv4/IPv6 addresses in CIDR notation. Use 0.0.0.0/0 to allow all IPv4 addresses and ::/0 to allow all IPv6 addresses. You can specify 100 CIDRs at most.

  • destination_ips – List[str] List of permitted IPv4/IPv6 addresses in CIDR notation. Use 0.0.0.0/0 to allow all IPv4 addresses and ::/0 to allow all IPv6 addresses. You can specify 100 CIDRs at most.

  • description – str Short description of the firewall rule

DIRECTION_IN = 'in'

Firewall Rule Direction In

DIRECTION_OUT = 'out'

Firewall Rule Direction Out

PROTOCOL_ESP = 'esp'

Firewall Rule Protocol ESP

PROTOCOL_GRE = 'gre'

Firewall Rule Protocol GRE

PROTOCOL_ICMP = 'icmp'

Firewall Rule Protocol ICMP

PROTOCOL_TCP = 'tcp'

Firewall Rule Protocol TCP

PROTOCOL_UDP = 'udp'

Firewall Rule Protocol UDP

to_payload() dict[str, Any][source]

Generates the request payload from this domain object.

class FirewallResource(type: str, server: Server | BoundServer | None = None, label_selector: FirewallResourceLabelSelector | None = None, applied_to_resources: list[FirewallResourceAppliedToResources] | None = None)[source]

Firewall Used By Domain

Parameters:
  • type – str Type of resource referenced

  • server – Optional[Server] Server the Firewall is applied to

  • label_selector – Optional[FirewallResourceLabelSelector] Label Selector for Servers the Firewall should be applied to

  • applied_to_resources – (read-only) List of effective resources the firewall is applied to.

TYPE_LABEL_SELECTOR = 'label_selector'

Firewall Used By Type label_selector

TYPE_SERVER = 'server'

Firewall Used By Type Server

to_payload() dict[str, Any][source]

Generates the request payload from this domain object.

class CreateFirewallResponse(firewall: BoundFirewall, actions: list[BoundAction] | None)[source]

Create Firewall Response Domain

Parameters:
  • firewallBoundFirewall The Firewall which was created

  • actions – List[BoundAction] The Action which shows the progress of the Firewall Creation