@akamai/openapi-ts
    Preparing search index...

    Type Alias PostFirewallsData

    type PostFirewallsData = {
        body?: {
            created?: string;
            entities?: {
                id?: number;
                label?: string;
                parent_entity?:
                    | {
                        id?: number;
                        label?: string;
                        parent_entity?: string
                        | null;
                        type?: "linode";
                        url?: string;
                    }
                    | null;
                type?: "linode"
                | "linode_interface"
                | "nodebalancer";
                url?: string;
            }[];
            id?: number;
            label: string;
            rules: {
                fingerprint?: string;
                inbound?: {
                    action?: "ACCEPT"
                    | "DROP";
                    addresses?: { ipv4?: string[]; ipv6?: string[] };
                    description?: string;
                    label?: string;
                    ports?: string | null;
                    protocol?: "TCP" | "UDP" | "ICMP" | "IPENCAP";
                }[];
                inbound_policy?: "ACCEPT"
                | "DROP";
                outbound?: {
                    action?: "ACCEPT" | "DROP";
                    addresses?: { ipv4?: string[]; ipv6?: string[] };
                    description?: string;
                    label?: string;
                    ports?: string | null;
                    protocol?: "TCP" | "UDP" | "ICMP" | "IPENCAP";
                }[];
                outbound_policy?: "ACCEPT"
                | "DROP";
                version?: number;
            };
            status?: "enabled"
            | "disabled"
            | "deleted";
            tags?: string[];
            updated?: string;
        } & {
            devices?: {
                linode_interfaces?: number[];
                linodes?: number[];
                nodebalancers?: number[];
            };
            label: string;
            rules: { inbound?: unknown; outbound?: unknown };
        };
        path?: never;
        query?: never;
        url: "networking/firewalls";
    }
    Index

    Properties

    Properties

    body?: {
        created?: string;
        entities?: {
            id?: number;
            label?: string;
            parent_entity?:
                | {
                    id?: number;
                    label?: string;
                    parent_entity?: string
                    | null;
                    type?: "linode";
                    url?: string;
                }
                | null;
            type?: "linode"
            | "linode_interface"
            | "nodebalancer";
            url?: string;
        }[];
        id?: number;
        label: string;
        rules: {
            fingerprint?: string;
            inbound?: {
                action?: "ACCEPT"
                | "DROP";
                addresses?: { ipv4?: string[]; ipv6?: string[] };
                description?: string;
                label?: string;
                ports?: string | null;
                protocol?: "TCP" | "UDP" | "ICMP" | "IPENCAP";
            }[];
            inbound_policy?: "ACCEPT"
            | "DROP";
            outbound?: {
                action?: "ACCEPT" | "DROP";
                addresses?: { ipv4?: string[]; ipv6?: string[] };
                description?: string;
                label?: string;
                ports?: string | null;
                protocol?: "TCP" | "UDP" | "ICMP" | "IPENCAP";
            }[];
            outbound_policy?: "ACCEPT"
            | "DROP";
            version?: number;
        };
        status?: "enabled"
        | "disabled"
        | "deleted";
        tags?: string[];
        updated?: string;
    } & {
        devices?: {
            linode_interfaces?: number[];
            linodes?: number[];
            nodebalancers?: number[];
        };
        label: string;
        rules: { inbound?: unknown; outbound?: unknown };
    }

    Creates a firewall object that can be applied to a service to filter the service's network traffic.

    Type Declaration

    • Optional Readonlycreated?: string

      Filterable, Read-only When this Firewall was created.

    • Optional Readonlyentities?: {
          id?: number;
          label?: string;
          parent_entity?:
              | {
                  id?: number;
                  label?: string;
                  parent_entity?: string
                  | null;
                  type?: "linode";
                  url?: string;
              }
              | null;
          type?: "linode"
          | "linode_interface"
          | "nodebalancer";
          url?: string;
      }[]

      Read-only The Linodes, NodeBalancers, and Linode interfaces this firewall is assigned to.

    • Optional Readonlyid?: number

      Filterable, Read-only The Firewall's unique ID.

    • label: string

      Filterable The Firewall's label, for display purposes only.

      Firewall labels have the following constraints:

      • Must begin and end with an alphanumeric character.
      • May only consist of alphanumeric characters, hyphens (-), underscores (_) or periods (.).
      • Cannot have two hyphens (--), underscores (__) or periods (..) in a row.
      • Must be between 3 and 32 characters.
      • Must be unique.
    • rules: {
          fingerprint?: string;
          inbound?: {
              action?: "ACCEPT" | "DROP";
              addresses?: { ipv4?: string[]; ipv6?: string[] };
              description?: string;
              label?: string;
              ports?: string | null;
              protocol?: "TCP" | "UDP" | "ICMP" | "IPENCAP";
          }[];
          inbound_policy?: "ACCEPT"
          | "DROP";
          outbound?: {
              action?: "ACCEPT" | "DROP";
              addresses?: { ipv4?: string[]; ipv6?: string[] };
              description?: string;
              label?: string;
              ports?: string | null;
              protocol?: "TCP" | "UDP" | "ICMP" | "IPENCAP";
          }[];
          outbound_policy?: "ACCEPT"
          | "DROP";
          version?: number;
      }

      The inbound and outbound access rules to apply to the Firewall.

      A Firewall may have up to 25 rules across its inbound and outbound rulesets.

      Multiple rules are applied in order. If two rules conflict, the first rule takes precedence. For example, if the first rule accepts inbound traffic from an address, and the second rule drops inbound traffic the same address, the first rule applies and inbound traffic from that address is accepted.

      • Optional Readonlyfingerprint?: string

        Read-only The fingerprint is a 32-bit hash. It represents the firewall rules as an 8 character hex string. You can use fingerprint to compare rule versions.

      • Optionalinbound?: {
            action?: "ACCEPT" | "DROP";
            addresses?: { ipv4?: string[]; ipv6?: string[] };
            description?: string;
            label?: string;
            ports?: string | null;
            protocol?: "TCP" | "UDP" | "ICMP" | "IPENCAP";
        }[]

        The inbound rules for the firewall, as a JSON array.

      • Optionalinbound_policy?: "ACCEPT" | "DROP"

        The default behavior for inbound traffic. This setting can be overridden by updating the inbound.action property of the Firewall Rule.

      • Optionaloutbound?: {
            action?: "ACCEPT" | "DROP";
            addresses?: { ipv4?: string[]; ipv6?: string[] };
            description?: string;
            label?: string;
            ports?: string | null;
            protocol?: "TCP" | "UDP" | "ICMP" | "IPENCAP";
        }[]

        The outbound rules for the firewall, as a JSON array.

      • Optionaloutbound_policy?: "ACCEPT" | "DROP"

        The default behavior for outbound traffic. This setting can be overridden by updating the outbound.action property of the Firewall Rule.

      • Optional Readonlyversion?: number

        Read-only The firewall's rule version. The first version is 1. The version number is incremented when the firewall's rules change.

    • Optionalstatus?: "enabled" | "disabled" | "deleted"

      Read-only The status of this Firewall.

      • When a Firewall is first created its status is enabled.
      • Run the Update a firewall operation to set a Firewall's status to enabled or disabled.
      • Run the Delete a firewall operation to delete a Firewall.
    • Optionaltags?: string[]

      Filterable An array of tags applied to this object. Tags are for organizational purposes only.

    • Optional Readonlyupdated?: string

      Filterable, Read-only When this Firewall was last updated.

    • Optionaldevices?: { linode_interfaces?: number[]; linodes?: number[]; nodebalancers?: number[] }

      Devices to create for this firewall. When a device is created, the firewall is assigned to its associated service. Currently, devices can be created for Linodes using legacy configuration profiles, Linode interfaces, and NodeBalancers. Firewall devices can't be created for individual legacy configuration profile interfaces.

      Additional devices can be assigned after Firewall creation by using the Create a firewall device operation.

      • Optionallinode_interfaces?: number[]

        An array of Linode interface IDs. A firewall device is created for each ID. For Linodes using Linode interfaces, firewalls need to be assigned to Linode interfaces and not the Linode.

      • Optionallinodes?: number[]

        An array of Linode IDs. A firewall device is created for each ID. These Linodes can't use Linode interfaces.

      • Optionalnodebalancers?: number[]

        An array containing a NodeBalancer ID. A Firewall device is created for the ID.

        • A NodeBalancer can have only one Firewall assigned to it.
        • Firewalls only apply to inbound TCP traffic to NodeBalancers.
    • label: string

      Filterable The Firewall's label, for display purposes only.

      Firewall labels have the following constraints:

      • Must begin and end with an alphanumeric character.
      • May only consist of alphanumeric characters, hyphens (-), underscores (_) or periods (.).
      • Cannot have two hyphens (--), underscores (__) or periods (..) in a row.
      • Must be between 3 and 32 characters.
      • Must be unique.
    • rules: { inbound?: unknown; outbound?: unknown }
    path?: never
    query?: never
    url: "networking/firewalls"