policies

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: May 25, 2019 License: Apache-2.0 Imports: 2 Imported by: 17

Documentation

Overview

Package policies provides information and interaction with the QoS policy extension for the OpenStack Networking service.

Example to Get a Port with a QoS policy

	var portWithQoS struct {
        ports.Port
        policies.QoSPolicyExt
    }

    portID := "46d4bfb9-b26e-41f3-bd2e-e6dcc1ccedb2"

    err = ports.Get(client, portID).ExtractInto(&portWithQoS)
    if err != nil {
        log.Fatal(err)
    }

    fmt.Printf("Port: %+v\n", portWithQoS)

Example to Create a Port with a QoS policy

var portWithQoS struct {
	ports.Port
	policies.QoSPolicyExt
}

policyID := "d6ae28ce-fcb5-4180-aa62-d260a27e09ae"
networkID := "7069db8d-e817-4b39-a654-d2dd76e73d36"

portCreateOpts := ports.CreateOpts{
	NetworkID: networkID,
}

createOpts := policies.PortCreateOptsExt{
	CreateOptsBuilder: portCreateOpts,
	QoSPolicyID:       policyID,
}

err = ports.Create(client, createOpts).ExtractInto(&portWithQoS)
if err != nil {
	panic(err)
}

fmt.Printf("Port: %+v\n", portWithQoS)

Example to add a QoS policy to an existing Port

var portWithQoS struct {
    ports.Port
    policies.QoSPolicyExt
}

portUpdateOpts := ports.UpdateOpts{}

policyID := "d6ae28ce-fcb5-4180-aa62-d260a27e09ae"

updateOpts := policies.PortUpdateOptsExt{
    UpdateOptsBuilder: portUpdateOpts,
    QoSPolicyID: &policyID,
}

err := ports.Update(client, "65c0ee9f-d634-4522-8954-51021b570b0d", updateOpts).ExtractInto(&portWithQoS)
if err != nil {
    panic(err)
}

fmt.Printf("Port: %+v\n", portWithQoS)

Example to delete a QoS policy from the existing Port

var portWithQoS struct {
    ports.Port
    policies.QoSPolicyExt
}

portUpdateOpts := ports.UpdateOpts{}

policyID := ""

updateOpts := policies.PortUpdateOptsExt{
    UpdateOptsBuilder: portUpdateOpts,
    QoSPolicyID: &policyID,
}

err := ports.Update(client, "65c0ee9f-d634-4522-8954-51021b570b0d", updateOpts).ExtractInto(&portWithQoS)
if err != nil {
    panic(err)
}

fmt.Printf("Port: %+v\n", portWithQoS)

Example to Get a Network with a QoS policy

var networkWithQoS struct {
    networks.Network
    policies.QoSPolicyExt
}

networkID := "46d4bfb9-b26e-41f3-bd2e-e6dcc1ccedb2"

err = networks.Get(client, networkID).ExtractInto(&networkWithQoS)
if err != nil {
    log.Fatal(err)
}

fmt.Printf("Network: %+v\n", networkWithQoS)

Example to Create a Network with a QoS policy

var networkWithQoS struct {
    networks.Network
    policies.QoSPolicyExt
}

policyID := "d6ae28ce-fcb5-4180-aa62-d260a27e09ae"
networkID := "7069db8d-e817-4b39-a654-d2dd76e73d36"

networkCreateOpts := networks.CreateOpts{
    NetworkID: networkID,
}

createOpts := policies.NetworkCreateOptsExt{
    CreateOptsBuilder: networkCreateOpts,
    QoSPolicyID:       policyID,
}

err = networks.Create(client, createOpts).ExtractInto(&networkWithQoS)
if err != nil {
    panic(err)
}

fmt.Printf("Network: %+v\n", networkWithQoS)

Example to add a QoS policy to an existing Network

var networkWithQoS struct {
    networks.Network
    policies.QoSPolicyExt
}

networkUpdateOpts := networks.UpdateOpts{}

policyID := "d6ae28ce-fcb5-4180-aa62-d260a27e09ae"

updateOpts := policies.NetworkUpdateOptsExt{
    UpdateOptsBuilder: networkUpdateOpts,
    QoSPolicyID: &policyID,
}

err := networks.Update(client, "65c0ee9f-d634-4522-8954-51021b570b0d", updateOpts).ExtractInto(&networkWithQoS)
if err != nil {
    panic(err)
}

fmt.Printf("Network: %+v\n", networkWithQoS)

Example to delete a QoS policy from the existing Network

var networkWithQoS struct {
    networks.Network
    policies.QoSPolicyExt
}

networkUpdateOpts := networks.UpdateOpts{}

policyID := ""

updateOpts := policies.NetworkUpdateOptsExt{
    UpdateOptsBuilder: networkUpdateOpts,
    QoSPolicyID: &policyID,
}

err := networks.Update(client, "65c0ee9f-d634-4522-8954-51021b570b0d", updateOpts).ExtractInto(&networkWithQoS)
if err != nil {
    panic(err)
}

fmt.Printf("Network: %+v\n", networkWithQoS)

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type NetworkCreateOptsExt

type NetworkCreateOptsExt struct {
	networks.CreateOptsBuilder

	// QoSPolicyID represents an associated QoS policy.
	QoSPolicyID string `json:"qos_policy_id,omitempty"`
}

NetworkCreateOptsExt adds QoS options to the base networks.CreateOpts.

func (NetworkCreateOptsExt) ToNetworkCreateMap

func (opts NetworkCreateOptsExt) ToNetworkCreateMap() (map[string]interface{}, error)

ToNetworkCreateMap casts a CreateOpts struct to a map.

type NetworkUpdateOptsExt

type NetworkUpdateOptsExt struct {
	networks.UpdateOptsBuilder

	// QoSPolicyID represents an associated QoS policy.
	// Setting it to a pointer of an empty string will remove associated QoS policy from network.
	QoSPolicyID *string `json:"qos_policy_id,omitempty"`
}

NetworkUpdateOptsExt adds QoS options to the base networks.UpdateOpts.

func (NetworkUpdateOptsExt) ToNetworkUpdateMap

func (opts NetworkUpdateOptsExt) ToNetworkUpdateMap() (map[string]interface{}, error)

ToNetworkUpdateMap casts a UpdateOpts struct to a map.

type PortCreateOptsExt

type PortCreateOptsExt struct {
	ports.CreateOptsBuilder

	// QoSPolicyID represents an associated QoS policy.
	QoSPolicyID string `json:"qos_policy_id,omitempty"`
}

PortCreateOptsExt adds QoS options to the base ports.CreateOpts.

func (PortCreateOptsExt) ToPortCreateMap

func (opts PortCreateOptsExt) ToPortCreateMap() (map[string]interface{}, error)

ToPortCreateMap casts a CreateOpts struct to a map.

type PortUpdateOptsExt

type PortUpdateOptsExt struct {
	ports.UpdateOptsBuilder

	// QoSPolicyID represents an associated QoS policy.
	// Setting it to a pointer of an empty string will remove associated QoS policy from port.
	QoSPolicyID *string `json:"qos_policy_id,omitempty"`
}

PortUpdateOptsExt adds QoS options to the base ports.UpdateOpts.

func (PortUpdateOptsExt) ToPortUpdateMap

func (opts PortUpdateOptsExt) ToPortUpdateMap() (map[string]interface{}, error)

ToPortUpdateMap casts a UpdateOpts struct to a map.

type QoSPolicyExt

type QoSPolicyExt struct {
	// QoSPolicyID represents an associated QoS policy.
	QoSPolicyID string `json:"qos_policy_id"`
}

QoSPolicyExt represents additional resource attributes available with the QoS extension.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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