Documentation ¶
Overview ¶
Package defsecrules enables management of default security group rules.
Default security group rules are rules that are managed in the "default" security group.
This is only applicable in environments running nova-network. This package will not work if the OpenStack environment is running the OpenStack Networking (Neutron) service.
Example of Listing Default Security Group Rules
allPages, err := defsecrules.List(computeClient).AllPages() if err != nil { panic(err) } allDefaultRules, err := defsecrules.ExtractDefaultRules(allPages) if err != nil { panic(err) } for _, df := range allDefaultRules { fmt.Printf("%+v\n", df) }
Example of Retrieving a Default Security Group Rule
rule, err := defsecrules.Get(computeClient, "rule-id").Extract() if err != nil { panic(err) }
Example of Creating a Default Security Group Rule
createOpts := defsecrules.CreateOpts{ IPProtocol: "TCP", FromPort: 80, ToPort: 80, CIDR: "10.10.12.0/24", } rule, err := defsecrules.Create(computeClient, createOpts).Extract() if err != nil { panic(err) }
Example of Deleting a Default Security Group Rule
err := defsecrules.Delete(computeClient, "rule-id").ExtractErr() if err != nil { panic(err) }
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func List ¶
func List(client *gophercloud.ServiceClient) pagination.Pager
List will return a collection of default rules.
Types ¶
type CreateOpts ¶
type CreateOpts struct { // The lower bound of the port range that will be opened. FromPort int `json:"from_port"` // The upper bound of the port range that will be opened. ToPort int `json:"to_port"` // The protocol type that will be allowed, e.g. TCP. IPProtocol string `json:"ip_protocol" required:"true"` // ONLY required if FromGroupID is blank. This represents the IP range that // will be the source of network traffic to your security group. // // Use 0.0.0.0/0 to allow all IPv4 addresses. // Use ::/0 to allow all IPv6 addresses. CIDR string `json:"cidr,omitempty"` }
CreateOpts represents the configuration for adding a new default rule.
func (CreateOpts) ToRuleCreateMap ¶
func (opts CreateOpts) ToRuleCreateMap() (map[string]interface{}, error)
ToRuleCreateMap builds the create rule options into a serializable format.
type CreateOptsBuilder ¶
CreateOptsBuilder builds the create rule options into a serializable format.
type CreateResult ¶
type CreateResult struct {
// contains filtered or unexported fields
}
CreateResult represents the result of a create operation.
func Create ¶
func Create(client *gophercloud.ServiceClient, opts CreateOptsBuilder) (r CreateResult)
Create is the operation responsible for creating a new default rule.
func (CreateResult) Extract ¶
func (r CreateResult) Extract() (*DefaultRule, error)
Extract will extract a DefaultRule struct from a Create or Get response.
type DefaultRule ¶
DefaultRule represents a rule belonging to the "default" security group. It is identical to an openstack/compute/v2/extensions/secgroups.Rule.
func ExtractDefaultRules ¶
func ExtractDefaultRules(r pagination.Page) ([]DefaultRule, error)
ExtractDefaultRules returns a slice of DefaultRules contained in a single page of results.
func (*DefaultRule) UnmarshalJSON ¶
func (r *DefaultRule) UnmarshalJSON(b []byte) error
type DefaultRulePage ¶
type DefaultRulePage struct {
pagination.SinglePageBase
}
DefaultRulePage is a single page of a DefaultRule collection.
func (DefaultRulePage) IsEmpty ¶
func (page DefaultRulePage) IsEmpty() (bool, error)
IsEmpty determines whether or not a page of default rules contains any results.
type DeleteResult ¶
type DeleteResult struct {
gophercloud.ErrResult
}
DeleteResult is the response from a delete operation. Call its ExtractErr method to determine if the request succeeded or failed.
func Delete ¶
func Delete(client *gophercloud.ServiceClient, id string) (r DeleteResult)
Delete will permanently delete a rule the project's default security group.
type GetResult ¶
type GetResult struct {
// contains filtered or unexported fields
}
GetResult represents the result of a get operation.
func Get ¶
func Get(client *gophercloud.ServiceClient, id string) (r GetResult)
Get will return details for a particular default rule.
func (GetResult) Extract ¶
func (r GetResult) Extract() (*DefaultRule, error)
Extract will extract a DefaultRule struct from a Create or Get response.