Reference For: developers

gRPC: firewall

Services, methods, messages and enums of firewall.proto.

The distributed firewall (docs/network/DFW-HOSTBRIDGE.md §6.1), one to one with the REST API below /v1/firewall and /v1/vms/{id}/firewall: the same checks and privileges, bodies as JSON in the schemas of the REST API (docs/api/openapi.yaml, tag firewall).

FirewallService

The distributed firewall: groups, services, policies and rules, profiles, settings, realization, logs and the firewall of virtual machines. Bodies are JSON in the schemas of the REST API.

MethodRequestResponseDescription
ListGroupsFirewallRequestJsonBody

GroupView[] of tenant.

CreateGroupFirewallRequestJsonBody

GroupBody -> GroupView.

GetGroupFirewallRequestJsonBody

GroupView of group id.

UpdateGroupFirewallRequestJsonBody

GroupBody for group id -> GroupView.

DeleteGroupFirewallRequestJsonBody

JSON {"fwVersion": n}.

GroupMembersFirewallRequestJsonBody

GroupMembersView.

ListServicesFirewallRequestJsonBody

ServiceView[] of tenant.

CreateServiceFirewallRequestJsonBody

ServiceBody -> ServiceView.

GetServiceFirewallRequestJsonBody

ServiceView of service id.

UpdateServiceFirewallRequestJsonBody

ServiceBody for service id -> ServiceView.

DeleteServiceFirewallRequestJsonBody

Deletes service id -> JSON {"fwVersion": n}.

ListPoliciesFirewallRequestJsonBody

PolicyView[] of tenant.

CreatePolicyFirewallRequestJsonBody

PolicyBody -> PolicyView.

GetPolicyFirewallRequestJsonBody

PolicyView of policy id.

UpdatePolicyFirewallRequestJsonBody

PolicyBody for policy id -> PolicyView.

DeletePolicyFirewallRequestJsonBody

Deletes policy id -> JSON {"fwVersion": n}.

ListRulesFirewallRequestJsonBody

Rules of policy id; sub_id is the rule id or number.

AddRuleFirewallRequestJsonBody

RuleBody for policy id -> RuleView (at position, else last).

GetRuleFirewallRequestJsonBody

RuleView of rule sub_id of policy id.

UpdateRuleFirewallRequestJsonBody

RuleBody for rule sub_id of policy id -> RuleView.

DeleteRuleFirewallRequestJsonBody

Deletes rule sub_id of policy id -> JSON {"fwVersion": n}.

MoveRuleFirewallRequestJsonBody

MoveRuleBody -> RuleView.

PolicyStatsFirewallRequestJsonBody

PolicyStatsView of policy id.

RuleStatsFirewallRequestJsonBody

RuleStatsView of rule number id.

ListProfilesFirewallRequestJsonBody

ProfileView[]: the built-in and the provider profiles.

GetProfileFirewallRequestJsonBody

ProfileView of profile id.

PutProfileFirewallRequestJsonBody

ProfileBody; id empty creates a profile, a built-in name replaces the built-in.

DeleteProfileFirewallRequestJsonBody

Deletes profile id (not a built-in one).

GetSettingsFirewallRequestJsonBody

SettingsView of the provider.

PutSettingsFirewallRequestJsonBody

SettingsView -> SettingsView.

ListTagCategoriesFirewallRequestJsonBody

TagCategoryView[]: the tag categories groups can select on.

SetTagCategoryFirewallRequestJsonBody

Tag category id as JSON -> TagCategoryView.

RealizationFirewallRequestJsonBody

HostRealizationView[] (id: one host).

SimulateFirewallRequestJsonBody

SimulateBody -> SimulateView.

LogsFirewallRequestJsonBody

LogRecordView[] (id: host, number: rule, limit).

VmFirewallFirewallRequestJsonBody

VnicFirewallView[] of VM id (sub_id: one NIC key).

VmLogsFirewallRequestJsonBody

LogRecordView[] of VM id.

SetNicProfileFirewallRequestJsonBody

NicProfileBody for NIC sub_id of VM id -> VnicFirewallView.

ListTemplatesFirewallRequestJsonBody

TemplateView[].

GetTemplateFirewallRequestJsonBody

TemplateView of template id.

PutTemplateFirewallRequestJsonBody

TemplateBody for provider template id (created or replaced) -> TemplateView.

DeleteTemplateFirewallRequestJsonBody

Deletes provider template id -> {"version"}.

ApplyTemplateFirewallRequestJsonBody

Template id, ApplyTemplateBody -> TaskRef JSON.

OpenPortFirewallRequestJsonBody

OpenPortBody for VM id -> RuleView.

SetModeFirewallRequestJsonBody

ModeBody for VM id -> TaskRef JSON.

ConfirmModeFirewallRequestJsonBody

VnicFirewallView[] of VM id.

MonitorReportFirewallRequestJsonBody

MonitorReportView of VM id.

ListBypassesFirewallRequestJsonBody

BypassView[].

EnableBypassFirewallRequestJsonBody

BypassBody -> TaskRef JSON.

RemoveBypassFirewallRequestJsonBody

Ends bypass id -> {}.

Messages

FirewallRequest

One request shape for every call.

FieldNumberTypeDescription
id1string

Object id (group, service, policy, profile, tag category, VM, host or rule number).

sub_id2string

Second id (rule id or number, NIC key).

tenant3string

Tenant of a list or of a new object (empty: the provider; a tenant user: its own).

json4string

Body as JSON (REST schema).

if_match5uint64

Expected record version (If-Match); 0: none.

wait_realized6bool

Wait until the hosts concerned applied the change.

timeout_seconds7uint32

Longest wait in seconds (default 30, at most 300).

position8optional uint32

Position of a new rule (AddRule; absent: last).

number9optional uint32

Rule number filter (Logs).

limit10uint32

Most records (Logs, VmLogs).

Version 0.1.