Help us shape the future of Go! Take the 2026 Go Developer Survey

securitygrouprules

package
v1.0.21 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 12, 2020 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Overview

This interface is used to query network resource quotas for the VPC service of a tenant. The network resources include VPCs, subnets, security groups, security group rules, elastic IP addresses, and VPNs.

Sample Code, This interface is used to create a security group rule.

result, err := securitygrouprules.Create(client, securitygrouprules.CreateOpts{
   SecurityGroupRule: securitygrouprules.CreateSecurityGroupRule {
       Description: "Test SecurityGroup",
       TenantId: tenantID,
       SecurityGroupId: "7af80d49-0a43-462d-aed8-a1e12ac91af6",
       Direction: "egress",
       Protocol: "tcp",
       RemoteIpPrefix: "10.10.0.0/24",
   },
}).Extract()

if err != nil {
   panic(err)
}

Sample Code, This interface is used to query details about a security group rule.

result, err := securitygrouprules.Get(client, "26243298-ae79-46a3-bad9-34395762e033").Extract()

if err != nil {
    panic(err)
}

Sample Code, This interface is used to query security group rules using search criteria and to display the security group rules in a list.

allPages, err := securitygrouprules.List(client, securitygrouprules.ListOpts{
    Limit: 2,
    Protocol: "tcp",
}).AllPages()

result, err := securitygrouprules.ExtractList(allPages.(securitygrouprules.ListPage))

if err != nil {
    panic(err)
}

Sample Code, This interface is used to delete a security group rule.

result = securitygrouprules.Delete(client, "26243298-ae79-46a3-bad9-34395762e033")

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateURL

func CreateURL(c *gophercloud.ServiceClient) string

func DeleteURL

func DeleteURL(c *gophercloud.ServiceClient, securityGroupsRulesId string) string

func GetURL

func GetURL(c *gophercloud.ServiceClient, securityGroupsRulesId string) string

func List

This interface is used to query security group rules using search criteria and to display the security group rules in a list.

func ListURL

func ListURL(c *gophercloud.ServiceClient) string

Types

type CreateOpts

type CreateOpts struct {

	// Default Value:None. Provides supplementary information about
	// the security group rule.
	Description string `json:"description,omitempty"`

	// Default Value:None. Specifies the ID of the belonged security
	// group.
	SecurityGroupId string `json:"security_group_id" required:"true"`

	// Default Value:None. Specifies the peer ID of the belonged
	// security group.
	RemoteGroupId string `json:"remote_group_id,omitempty"`

	// Default Value:None. Specifies the direction of the traffic for
	// which the security group rule takes effect.
	Direction string `json:"direction" required:"true"`

	// Default Value:None. Specifies the peer IP address segment.
	RemoteIpPrefix string `json:"remote_ip_prefix,omitempty"`

	// Default Value:None. Specifies the protocol type or the IP
	// protocol number.
	Protocol string `json:"protocol,omitempty"`

	// Default Value:None. Specifies the maximum port number. When
	// ICMP is used, the value is the ICMP code.
	PortRangeMax *int `json:"port_range_max,omitempty"`

	// Default Value:None. Specifies the minimum port number. If the
	// ICMP protocol is used, this parameter indicates the ICMP type. When the TCP or UDP
	// protocol is used, both?port_range_max?and?port_range_min?must be specified, and
	// the?port_range_max?value must be greater than the?port_range_minvalue. When the ICMP
	// protocol is used, if you specify the ICMP code (port_range_max), you must also
	// specify the ICMP type (port_range_min).
	PortRangeMin *int `json:"port_range_min,omitempty"`

	// Default Value:IPv4. Specifies the network type. Only IPv4 is
	// supported.
	Ethertype string `json:"ethertype,omitempty"`
}

func (CreateOpts) ToSecuritygrouprulesCreateMap

func (opts CreateOpts) ToSecuritygrouprulesCreateMap() (map[string]interface{}, error)

type CreateOptsBuilder

type CreateOptsBuilder interface {
	ToSecuritygrouprulesCreateMap() (map[string]interface{}, error)
}

type CreateResult

type CreateResult struct {
	// contains filtered or unexported fields
}

func Create

func Create(client *gophercloud.ServiceClient, opts CreateOptsBuilder) (r CreateResult)

func (CreateResult) Extract

func (r CreateResult) Extract() (*SecurityGroupRule, error)

type DeleteResult

type DeleteResult struct {
	gophercloud.ErrResult
}

func Delete

func Delete(client *gophercloud.ServiceClient, securityGroupsRulesId string) (r DeleteResult)

type GetResult

type GetResult struct {
	// contains filtered or unexported fields
}

func Get

func Get(client *gophercloud.ServiceClient, securityGroupsRulesId string) (r GetResult)

func (GetResult) Extract

func (r GetResult) Extract() (*SecurityGroupRule, error)

type ListOpts

type ListOpts struct {

	// Specifies the resource ID of pagination query. If the parameter
	// is left blank, only resources on the first page are queried.
	Marker string `q:"marker"`

	// Specifies the number of records returned on each page. The
	// value ranges from 0 to intmax.
	Limit int `q:"limit"`

	// Default Value:None. Specifies the ID of the belonged security
	// group.
	SecurityGroupId string `q:"security_group_id,omitempty"`
}

func (ListOpts) ToListQuery

func (opts ListOpts) ToListQuery() (string, error)

type ListOptsBuilder

type ListOptsBuilder interface {
	ToListQuery() (string, error)
}

type ListPage

type ListPage struct {
	pagination.LinkedPageBase
}

func (ListPage) IsEmpty

func (r ListPage) IsEmpty() (bool, error)

func (ListPage) NextPageURL

func (r ListPage) NextPageURL() (string, error)

type SecurityGroupRule

type SecurityGroupRule struct {

	// Default Value:None. Specifies the security group rule ID.
	ID string `json:"id"`

	// Default Value:None. Provides supplementary information about
	// the security group rule.
	Description string `json:"description"`

	// Default Value:None. Specifies the ID of the belonged security
	// group.
	SecurityGroupId string `json:"security_group_id"`

	// Default Value:None. Specifies the peer ID of the belonged
	// security group.
	RemoteGroupId string `json:"remote_group_id"`

	// Default Value:None. Specifies the direction of the traffic for
	// which the security group rule takes effect.
	Direction string `json:"direction"`

	// Default Value:None. Specifies the peer IP address segment.
	RemoteIpPrefix string `json:"remote_ip_prefix"`

	// Default Value:None. Specifies the protocol type or the IP
	// protocol number.
	Protocol string `json:"protocol"`

	// Default Value:None. Specifies the maximum port number. When
	// ICMP is used, the value is the ICMP code.
	PortRangeMax *int `json:"port_range_max"`

	// Default Value:None. Specifies the minimum port number. If the
	// ICMP protocol is used, this parameter indicates the ICMP type. When the TCP or UDP
	// protocol is used, both?port_range_max?and?port_range_min?must be specified, and
	// the?port_range_max?value must be greater than the?port_range_minvalue. When the ICMP
	// protocol is used, if you specify the ICMP code (port_range_max), you must also
	// specify the ICMP type (port_range_min).
	PortRangeMin *int `json:"port_range_min"`

	// Default Value:IPv4. Specifies the network type. Only IPv4 is
	// supported.
	Ethertype string `json:"ethertype"`
}

func ExtractSecurityGroupRules

func ExtractSecurityGroupRules(r pagination.Page) ([]SecurityGroupRule, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL