FirewallsClient
- class FirewallsClient(client: Client)[source]
- actions: ResourceActionsClient
Firewalls scoped actions client
- Type:
- apply_to_resources(firewall: Firewall | BoundFirewall, resources: list[FirewallResource]) list[BoundAction][source]
Applies one Firewall to multiple resources.
- Parameters:
firewall –
BoundFirewallorFirewallresources – List[
FirewallResource]
- 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:
- delete(firewall: Firewall | BoundFirewall) bool[source]
Deletes a Firewall.
- Parameters:
firewall –
BoundFirewallorFirewall- Returns:
boolean
- get_actions(firewall: Firewall | BoundFirewall, status: list[Literal['running', 'success', 'error']] | None = None, sort: list[Literal['id', 'id:asc', 'id:desc', 'command', 'command:asc', 'command:desc', 'status', 'status:asc', 'status:desc', 'started', 'started:asc', 'started:desc', 'finished', 'finished:asc', 'finished:desc']] | None = None) list[BoundAction][source]
Returns all Actions for a Firewall.
- Parameters:
firewall – Firewall to get the Actions for.
status – Filter the Actions by status.
sort – Sort Actions by field and direction.
- get_actions_list(firewall: Firewall | BoundFirewall, status: list[Literal['running', 'success', 'error']] | None = None, sort: list[Literal['id', 'id:asc', 'id:desc', 'command', 'command:asc', 'command:desc', 'status', 'status:asc', 'status:desc', 'started', 'started:asc', 'started:desc', 'finished', 'finished:asc', 'finished:desc']] | None = None, page: int | None = None, per_page: int | None = None) ActionsPageResult[source]
Returns a paginated list of Actions for a Firewall.
- Parameters:
firewall – Firewall to get the Actions for.
status – Filter the Actions by status.
sort – Sort Actions by field and direction.
page – Page number to get.
per_page – Maximum number of Actions returned per page.
- 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:
- get_by_name(name: str) BoundFirewall | None[source]
Get Firewall by name
- Parameters:
name – str Used to get Firewall by name.
- Returns:
- 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:
firewall –
BoundFirewallorFirewallresources – List[
FirewallResource]
- 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:
firewall –
BoundFirewallorFirewallrules – List[
FirewallRule]
- 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:
firewall –
BoundFirewallorFirewalllabels – Dict[str, str] (optional) User-defined labels (key-value pairs)
name – str (optional) New name to set
- Returns:
- class BoundFirewall(client: FirewallsClient, data: dict[str, Any], 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]
- get_actions(status: list[Literal['running', 'success', 'error']] | None = None, sort: list[Literal['id', 'id:asc', 'id:desc', 'command', 'command:asc', 'command:desc', 'status', 'status:asc', 'status:desc', 'started', 'started:asc', 'started:desc', 'finished', 'finished:asc', 'finished:desc']] | None = None) list[BoundAction][source]
Returns all Actions for a Firewall.
- Parameters:
status – Filter the Actions by status.
sort – Sort Actions by field and direction.
- get_actions_list(status: list[Literal['running', 'success', 'error']] | None = None, sort: list[Literal['id', 'id:asc', 'id:desc', 'command', 'command:asc', 'command:desc', 'status', 'status:asc', 'status:desc', 'started', 'started:asc', 'started:desc', 'finished', 'finished:asc', 'finished:desc']] | None = None, page: int | None = None, per_page: int | None = None) ActionsPageResult[source]
Returns a paginated list of Actions for a Firewall.
- Parameters:
status – Filter the Actions by status.
sort – Sort Actions by field and direction.
page – Page number to get.
per_page – Maximum number of Actions returned per page.
- 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:
- 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 Firewallapplied_to – List[
FirewallResource] Resources currently using the Firewallcreated – datetime Point in time when the image was created
- class FirewallRule(direction: str, protocol: str, source_ips: list[str] | None = None, 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
- 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
- class CreateFirewallResponse(firewall: BoundFirewall, actions: list[BoundAction] | None)[source]
Create Firewall Response Domain
- Parameters:
firewall –
BoundFirewallThe Firewall which was createdactions – List[
BoundAction] The Action which shows the progress of the Firewall Creation