Documentation ¶
Overview ¶
Package firewalls allows management and retrieval of firewalls from the OpenStack Networking Service.
Example to List Firewalls
listOpts := firewalls.ListOpts{ TenantID: "tenant-id", } allPages, err := firewalls.List(networkClient, listOpts).AllPages() if err != nil { panic(err) } allFirewalls, err := firewalls.ExtractFirewalls(allPages) if err != nil { panic(err) } for _, fw := range allFirewalls { fmt.Printf("%+v\n", fw) }
Example to Create a Firewall
createOpts := firewalls.CreateOpts{ Name: "firewall_1", Description: "A firewall", PolicyID: "19ab8c87-4a32-4e6a-a74e-b77fffb89a0c", AdminStateUp: golangsdk.Enabled, } firewall, err := firewalls.Create(networkClient, createOpts).Extract() if err != nil { panic(err) }
Example to Update a Firewall
firewallID := "a6917946-38ab-4ffd-a55a-26c0980ce5ee" updateOpts := firewalls.UpdateOpts{ AdminStateUp: golangsdk.Disabled, } firewall, err := firewalls.Update(networkClient, firewallID, updateOpts).Extract() if err != nil { panic(err) }
Example to Delete a Firewall
firewallID := "a6917946-38ab-4ffd-a55a-26c0980ce5ee" err := firewalls.Delete(networkClient, firewallID).ExtractErr() if err != nil { panic(err) }
Index ¶
- func ExtractFirewallsInto(r pagination.Page, v interface{}) error
- func List(c *golangsdk.ServiceClient, opts ListOptsBuilder) pagination.Pager
- type CreateOpts
- type CreateOptsBuilder
- type CreateResult
- type DeleteResult
- type Firewall
- type FirewallPage
- type GetResult
- type ListOpts
- type ListOptsBuilder
- type UpdateOpts
- type UpdateOptsBuilder
- type UpdateResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExtractFirewallsInto ¶
func ExtractFirewallsInto(r pagination.Page, v interface{}) error
func List ¶
func List(c *golangsdk.ServiceClient, opts ListOptsBuilder) pagination.Pager
List returns a Pager which allows you to iterate over a collection of firewalls. It accepts a ListOpts struct, which allows you to filter and sort the returned collection for greater efficiency.
Default policy settings return only those firewalls that are owned by the tenant who submits the request, unless an admin user submits the request.
Types ¶
type CreateOpts ¶
type CreateOpts struct { PolicyID string `json:"firewall_policy_id" required:"true"` // TenantID specifies a tenant to own the firewall. The caller must have // an admin role in order to set this. Otherwise, this field is left unset // and the caller will be the owner. TenantID string `json:"tenant_id,omitempty"` ProjectID string `json:"project_id,omitempty"` Name string `json:"name,omitempty"` Description string `json:"description,omitempty"` AdminStateUp *bool `json:"admin_state_up,omitempty"` }
CreateOpts contains all the values needed to create a new firewall.
func (CreateOpts) ToFirewallCreateMap ¶
func (opts CreateOpts) ToFirewallCreateMap() (map[string]interface{}, error)
ToFirewallCreateMap casts a CreateOpts struct to a map.
type CreateOptsBuilder ¶
CreateOptsBuilder allows extensions to add additional parameters to the Create request.
type CreateResult ¶
type CreateResult struct {
// contains filtered or unexported fields
}
CreateResult represents the result of a Create operation. Call its Extract method to interpret it as a Firewall.
func Create ¶
func Create(c *golangsdk.ServiceClient, opts CreateOptsBuilder) (r CreateResult)
Create accepts a CreateOpts struct and uses the values to create a new firewall.
func (CreateResult) ExtractInto ¶
func (r CreateResult) ExtractInto(v interface{}) error
type DeleteResult ¶
DeleteResult represents the result of a delete operation. Call its ExtractErr method to determine if the operation succeeded or failed.
func Delete ¶
func Delete(c *golangsdk.ServiceClient, id string) (r DeleteResult)
Delete will permanently delete a particular firewall based on its unique ID.
type Firewall ¶
type Firewall struct { ID string `json:"id"` Name string `json:"name"` Description string `json:"description"` AdminStateUp bool `json:"admin_state_up"` Status string `json:"status"` PolicyID string `json:"firewall_policy_id"` TenantID string `json:"tenant_id"` ProjectID string `json:"project_id"` }
Firewall is an OpenStack firewall.
func ExtractFirewalls ¶
func ExtractFirewalls(r pagination.Page) ([]Firewall, error)
ExtractFirewalls accepts a Page struct, specifically a FirewallPage struct, and extracts the elements into a slice of Firewall structs. In other words, a generic collection is mapped into a relevant slice.
type FirewallPage ¶
type FirewallPage struct {
pagination.LinkedPageBase
}
FirewallPage is the page returned by a pager when traversing over a collection of firewalls.
func (FirewallPage) IsEmpty ¶
func (r FirewallPage) IsEmpty() (bool, error)
IsEmpty checks whether a FirewallPage struct is empty.
func (FirewallPage) NextPageURL ¶
func (r FirewallPage) NextPageURL() (string, error)
NextPageURL is invoked when a paginated collection of firewalls has reached the end of a page and the pager seeks to traverse over a new one. In order to do this, it needs to construct the next page's URL.
type GetResult ¶
type GetResult struct {
// contains filtered or unexported fields
}
GetResult represents the result of a Get operation. Call its Extract method to interpret it as a Firewall.
func Get ¶
func Get(c *golangsdk.ServiceClient, id string) (r GetResult)
Get retrieves a particular firewall based on its unique ID.
func (GetResult) ExtractInto ¶
func (r GetResult) ExtractInto(v interface{}) error
type ListOpts ¶
type ListOpts struct { TenantID string `q:"tenant_id"` ProjectID string `q:"project_id"` Name string `q:"name"` Description string `q:"description"` AdminStateUp bool `q:"admin_state_up"` PolicyID string `q:"firewall_policy_id"` ID string `q:"id"` Limit int `q:"limit"` Marker string `q:"marker"` SortKey string `q:"sort_key"` SortDir string `q:"sort_dir"` }
ListOpts allows the filtering and sorting of paginated collections through the API. Filtering is achieved by passing in struct field values that map to the firewall attributes you want to see returned. SortKey allows you to sort by a particular firewall attribute. SortDir sets the direction, and is either `asc' or `desc'. Marker and Limit are used for pagination.
func (ListOpts) ToFirewallListQuery ¶
ToFirewallListQuery formats a ListOpts into a query string.
type ListOptsBuilder ¶
ListOptsBuilder allows extensions to add additional parameters to the List request.
type UpdateOpts ¶
type UpdateOpts struct { PolicyID string `json:"firewall_policy_id" required:"true"` Name string `json:"name,omitempty"` Description string `json:"description,omitempty"` AdminStateUp *bool `json:"admin_state_up,omitempty"` }
UpdateOpts contains the values used when updating a firewall.
func (UpdateOpts) ToFirewallUpdateMap ¶
func (opts UpdateOpts) ToFirewallUpdateMap() (map[string]interface{}, error)
ToFirewallUpdateMap casts a CreateOpts struct to a map.
type UpdateOptsBuilder ¶
UpdateOptsBuilder allows extensions to add additional parameters to the Update request.
type UpdateResult ¶
type UpdateResult struct {
// contains filtered or unexported fields
}
UpdateResult represents the result of an Update operation. Call its Extract method to interpret it as a Firewall.
func Update ¶
func Update(c *golangsdk.ServiceClient, id string, opts UpdateOptsBuilder) (r UpdateResult)
Update allows firewalls to be updated.
func (UpdateResult) ExtractInto ¶
func (r UpdateResult) ExtractInto(v interface{}) error