Documentation
      ¶
    
    
  
    
  
    Overview ¶
Package extradhcpopts allow to work with extra DHCP functionality of Neutron ports.
Example to Get a Port with Extra DHCP Options
portID := "46d4bfb9-b26e-41f3-bd2e-e6dcc1ccedb2"
var s struct {
	ports.Port
	extradhcpopts.ExtraDHCPOptsExt
}
err := ports.Get(networkClient, portID).ExtractInto(&s)
if err != nil {
	panic(err)
}
Example to Create a Port with Extra DHCP Options
var s struct {
	ports.Port
	extradhcpopts.ExtraDHCPOptsExt
}
adminStateUp := true
portCreateOpts := ports.CreateOpts{
	Name:         "dhcp-conf-port",
	AdminStateUp: &adminStateUp,
	NetworkID:    "a87cc70a-3e15-4acf-8205-9b711a3531b7",
	FixedIPs: []ports.IP{
		{SubnetID: "a0304c3a-4f08-4c43-88af-d796509c97d2", IPAddress: "10.0.0.2"},
	},
}
createOpts := extradhcpopts.CreateOptsExt{
	CreateOptsBuilder: portCreateOpts,
	ExtraDHCPOpts: []extradhcpopts.CreateExtraDHCPOpt{
		{
			OptName:  "optionA",
			OptValue: "valueA",
		},
	},
}
err := ports.Create(networkClient, createOpts).ExtractInto(&s)
if err != nil {
	panic(err)
}
Example to Update a Port with Extra DHCP Options
var s struct {
	ports.Port
	extradhcpopts.ExtraDHCPOptsExt
}
portUpdateOpts := ports.UpdateOpts{
	Name: "updated-dhcp-conf-port",
	FixedIPs: []ports.IP{
		{SubnetID: "a0304c3a-4f08-4c43-88af-d796509c97d2", IPAddress: "10.0.0.3"},
	},
}
value := "valueB"
updateOpts := extradhcpopts.UpdateOptsExt{
	UpdateOptsBuilder: portUpdateOpts,
	ExtraDHCPOpts: []extradhcpopts.UpdateExtraDHCPOpt{
		{
			OptName:  "optionB",
			OptValue: &value,
		},
	},
}
portID := "46d4bfb9-b26e-41f3-bd2e-e6dcc1ccedb2"
err := ports.Update(networkClient, portID, updateOpts).ExtractInto(&s)
if err != nil {
	panic(err)
}
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CreateExtraDHCPOpt ¶
type CreateExtraDHCPOpt struct {
	// OptName is the name of a DHCP option.
	OptName string `json:"opt_name" required:"true"`
	// OptValue is the value of the DHCP option.
	OptValue string `json:"opt_value" required:"true"`
	// IPVersion is the IP protocol version of a DHCP option.
	IPVersion gophercloud.IPVersion `json:"ip_version,omitempty"`
}
    CreateExtraDHCPOpt represents the options required to create an extra DHCP option on a port.
type CreateOptsExt ¶
type CreateOptsExt struct {
	// CreateOptsBuilder is the interface options structs have to satisfy in order
	// to be used in the main Create operation in this package.
	ports.CreateOptsBuilder
	// ExtraDHCPOpts field is a set of DHCP options for a single port.
	ExtraDHCPOpts []CreateExtraDHCPOpt `json:"extra_dhcp_opts,omitempty"`
}
    CreateOptsExt adds extra DHCP options to the base ports.CreateOpts.
func (CreateOptsExt) ToPortCreateMap ¶
func (opts CreateOptsExt) ToPortCreateMap() (map[string]interface{}, error)
ToPortCreateMap casts a CreateOptsExt struct to a map.
type ExtraDHCPOpt ¶
type ExtraDHCPOpt struct {
	// OptName is the name of a single DHCP option.
	OptName string `json:"opt_name"`
	// OptValue is the value of a single DHCP option.
	OptValue string `json:"opt_value"`
	// IPVersion is the IP protocol version of a single DHCP option.
	// Valid value is 4 or 6. Default is 4.
	IPVersion int `json:"ip_version"`
}
    ExtraDHCPOpt represents a single set of extra DHCP options for a single port.
type ExtraDHCPOptsExt ¶
type ExtraDHCPOptsExt struct {
	ExtraDHCPOpts []ExtraDHCPOpt `json:"extra_dhcp_opts"`
}
    ExtraDHCPOptsExt is a struct that contains different DHCP options for a single port.
type UpdateExtraDHCPOpt ¶
type UpdateExtraDHCPOpt struct {
	// OptName is the name of a DHCP option.
	OptName string `json:"opt_name" required:"true"`
	// OptValue is the value of the DHCP option.
	OptValue *string `json:"opt_value"`
	// IPVersion is the IP protocol version of a DHCP option.
	IPVersion gophercloud.IPVersion `json:"ip_version,omitempty"`
}
    UpdateExtraDHCPOpt represents the options required to update an extra DHCP option on a port.
type UpdateOptsExt ¶
type UpdateOptsExt struct {
	// UpdateOptsBuilder is the interface options structs have to satisfy in order
	// to be used in the main Update operation in this package.
	ports.UpdateOptsBuilder
	// ExtraDHCPOpts field is a set of DHCP options for a single port.
	ExtraDHCPOpts []UpdateExtraDHCPOpt `json:"extra_dhcp_opts,omitempty"`
}
    UpdateOptsExt adds extra DHCP options to the base ports.UpdateOpts.
func (UpdateOptsExt) ToPortUpdateMap ¶
func (opts UpdateOptsExt) ToPortUpdateMap() (map[string]interface{}, error)
ToPortUpdateMap casts an UpdateOpts struct to a map.