UNPKG

@linode/api-v4

Version:
85 lines 2.52 kB
export type FirewallStatus = 'deleted' | 'disabled' | 'enabled'; export type FirewallRuleProtocol = 'ALL' | 'ICMP' | 'IPENCAP' | 'TCP' | 'UDP'; export type FirewallDeviceEntityType = 'linode' | 'linode_interface' | 'nodebalancer'; export type FirewallPolicyType = 'ACCEPT' | 'DROP'; export interface Firewall { created: string; entities: FirewallDeviceEntity[]; id: number; label: string; rules: FirewallRules; status: FirewallStatus; tags: string[]; updated: string; } export interface FirewallRules { fingerprint: string; inbound?: FirewallRuleType[] | null; inbound_policy: FirewallPolicyType; outbound?: FirewallRuleType[] | null; outbound_policy: FirewallPolicyType; version: number; } export type UpdateFirewallRules = Omit<FirewallRules, 'fingerprint' | 'version'>; export type FirewallTemplateRules = UpdateFirewallRules; export interface FirewallRuleType { action: FirewallPolicyType; addresses?: null | { ipv4?: null | string[]; ipv6?: null | string[]; }; description?: null | string; label?: null | string; ports?: string; protocol: FirewallRuleProtocol; } export interface FirewallDeviceEntity { id: number; label: null | string; parent_entity: FirewallDeviceEntity | null; type: FirewallDeviceEntityType; url: string; } export interface FirewallDevice { created: string; entity: FirewallDeviceEntity; id: number; updated: string; } export type FirewallTemplateSlug = 'akamai-non-prod' | 'public' | 'vpc'; export interface FirewallTemplate { rules: FirewallTemplateRules; slug: FirewallTemplateSlug; } export interface CreateFirewallPayload { devices?: null | { linode_interfaces?: number[]; linodes?: number[]; nodebalancers?: number[]; }; label: string; rules: UpdateFirewallRules; tags?: string[]; } export interface UpdateFirewallPayload { label?: string; status?: Omit<FirewallStatus, 'deleted'>; tags?: string[]; } export interface FirewallDevicePayload { id: number; type: FirewallDeviceEntityType; } export interface DefaultFirewallIDs { linode: null | number; nodebalancer: null | number; public_interface: null | number; vpc_interface: null | number; } export interface FirewallSettings { default_firewall_ids: DefaultFirewallIDs; } export interface UpdateFirewallSettings { default_firewall_ids: Partial<DefaultFirewallIDs>; } //# sourceMappingURL=types.d.ts.map