Documentation ¶
Overview ¶
Package appliances contains functionality for working with ECL Commnon Function Gateway resources.
Example to List VirtualNetworkAppliances
listOpts := virtual_network_appliances.ListOpts{ TenantID: "a99e9b4e620e4db09a2dfb6e42a01e66", } allPages, err := virtual_network_appliances.List(networkClient, listOpts).AllPages() if err != nil { panic(err) } allVirtualNetworkAppliances, err := virtual_network_appliances.ExtractVirtualNetworkAppliances(allPages) if err != nil { panic(err) } for _, virtual_network_appliances := range allVirtualNetworkAppliances { fmt.Printf("%+v", virtual_network_appliances) }
Example to Create a virtual_network_appliances
createOpts := virtual_network_appliances.CreateOpts{ Name: "network_1", } virtual_network_appliances, err := virtual_network_appliances.Create(networkClient, createOpts).Extract() if err != nil { panic(err) }
Example to Update a virtual_network_appliances
virtualNetworkApplianceID := "484cda0e-106f-4f4b-bb3f-d413710bbe78" updateOpts := virtual_network_appliances.UpdateOpts{ Name: "new_name", } virtual_network_appliances, err := virtual_network_appliances.Update(networkClient, virtualNetworkApplianceID, updateOpts).Extract() if err != nil { panic(err) }
Example to Delete a virtual_network_appliances
virtualNetworkApplianceID := "484cda0e-106f-4f4b-bb3f-d413710bbe78" err := virtual_network_appliances.Delete(networkClient, virtualNetworkApplianceID).ExtractErr() if err != nil { panic(err) }
Index ¶
- func ExtractAppliancesInto(r pagination.Page, v interface{}) error
- func IDFromName(client *eclcloud.ServiceClient, name string) (string, error)
- func List(c *eclcloud.ServiceClient, opts ListOptsBuilder) pagination.Pager
- type AllowedAddressPairInResponse
- type Appliance
- type AppliancePage
- type CreateOpts
- type CreateOptsBuilder
- type CreateOptsFixedIP
- type CreateOptsInterface
- type CreateOptsInterfaces
- type CreateResult
- type DeleteResult
- type FixedIPInResponse
- type GetResult
- type InterfaceInResponse
- type InterfacesInResponse
- type ListOpts
- type ListOptsBuilder
- type UpdateAllowedAddressPairAddressInfo
- type UpdateAllowedAddressPairInterface
- type UpdateAllowedAddressPairInterfaces
- type UpdateAllowedAddressPairOpts
- type UpdateFixedIPAddressInfo
- type UpdateFixedIPInterface
- type UpdateFixedIPInterfaces
- type UpdateFixedIPOpts
- type UpdateMetadataInterface
- type UpdateMetadataInterfaces
- type UpdateMetadataOpts
- type UpdateOptsBuilder
- type UpdateResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExtractAppliancesInto ¶
func ExtractAppliancesInto(r pagination.Page, v interface{}) error
ExtractAppliancesInto interprets the results of a single page from a List() call, producing a slice of Server entities.
func IDFromName ¶
func IDFromName(client *eclcloud.ServiceClient, name string) (string, error)
IDFromName is a convenience function that returns a virtual network appliance's ID, given its name.
func List ¶
func List(c *eclcloud.ServiceClient, opts ListOptsBuilder) pagination.Pager
List returns a Pager which allows you to iterate over a collection of virtual network appliances. It accepts a ListOpts struct, which allows you to filter and sort the returned collection for greater efficiency.
Types ¶
type AllowedAddressPairInResponse ¶
type AllowedAddressPairInResponse struct { IPAddress string `json:"ip_address"` MACAddress string `json:"mac_address"` Type string `json:"type"` VRID interface{} `json:"vrid"` }
AllowedAddressPairInResponse represents each element of allowed address pair of virtual network appliance.
type Appliance ¶
type Appliance struct { Name string `json:"name"` ID string `json:"id"` ApplianceType string `json:"appliance_type"` Description string `json:"description"` DefaultGateway string `json:"default_gateway"` AvailabilityZone string `json:"availability_zone"` OSMonitoringStatus string `json:"os_monitoring_status"` OSLoginStatus string `json:"os_login_status"` VMStatus string `json:"vm_status"` OperationStatus string `json:"operation_status"` AppliancePlanID string `json:"virtual_network_appliance_plan_id"` TenantID string `json:"tenant_id"` Tags map[string]string `json:"tags"` Interfaces InterfacesInResponse `json:"interfaces"` }
Appliance represents, well, a virtual network appliance.
func ExtractAppliances ¶
func ExtractAppliances(r pagination.Page) ([]Appliance, error)
ExtractAppliances accepts a Page struct, specifically a NetworkPage struct, and extracts the elements into a slice of Virtual Network Appliance structs. In other words, a generic collection is mapped into a relevant slice.
type AppliancePage ¶
type AppliancePage struct {
pagination.LinkedPageBase
}
AppliancePage is the page returned by a pager when traversing over a collection of virtual network appliance.
func (AppliancePage) IsEmpty ¶
func (r AppliancePage) IsEmpty() (bool, error)
IsEmpty checks whether a AppliancePage struct is empty.
func (AppliancePage) NextPageURL ¶
func (r AppliancePage) NextPageURL() (string, error)
NextPageURL is invoked when a paginated collection of virtual network appliance
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 CreateOpts ¶
type CreateOpts struct { Name string `json:"name,omitempty"` Description string `json:"description,omitempty"` DefaultGateway string `json:"default_gateway,omitempty"` AvailabilityZone string `json:"availability_zone,omitempty"` VirtualNetworkAppliancePlanID string `json:"virtual_network_appliance_plan_id" required:"true"` TenantID string `json:"tenant_id,omitempty"` Tags map[string]string `json:"tags,omitempty"` Interfaces CreateOptsInterfaces `json:"interfaces" required:"true"` }
CreateOpts represents options used to create a virtual network appliance.
func (CreateOpts) ToApplianceCreateMap ¶
func (opts CreateOpts) ToApplianceCreateMap() (map[string]interface{}, error)
ToApplianceCreateMap builds a request body from CreateOpts.
type CreateOptsBuilder ¶
CreateOptsBuilder allows extensions to add additional parameters to the Create request.
type CreateOptsFixedIP ¶
type CreateOptsFixedIP struct {
IPAddress string `json:"ip_address" required:"true"`
}
CreateOptsFixedIP represents fixed ip information in virtual network appliance creation.
type CreateOptsInterface ¶
type CreateOptsInterface struct { Name string `json:"name,omitempty"` Description string `json:"description,omitempty"` NetworkID string `json:"network_id" required:"true"` Tags map[string]string `json:"tags,omitempty"` FixedIPs [1]CreateOptsFixedIP `json:"fixed_ips" required:"true"` }
CreateOptsInterface represents each parameters in virtual network appliance creation.
type CreateOptsInterfaces ¶
type CreateOptsInterfaces struct {
Interface1 CreateOptsInterface `json:"interface_1" required:"true"`
}
CreateOptsInterfaces represents 1st interface in virtual network appliance creation.
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 Virtual Network Appliance.
func Create ¶
func Create(c *eclcloud.ServiceClient, opts CreateOptsBuilder) (r CreateResult)
Create accepts a CreateOpts struct and creates a new virtual network appliance using the values provided. This operation does not actually require a request body, i.e. the CreateOpts struct argument can be empty.
func (CreateResult) Extract ¶
Extract is a function that accepts a result and extracts a virtual network appliance resource.
func (CreateResult) ExtractInto ¶
func (r CreateResult) ExtractInto(v interface{}) error
Extract interprets any commonResult as a Virtual Network Appliance, if possible.
type DeleteResult ¶
DeleteResult represents the result of a delete operation. Call its ExtractErr method to determine if the request succeeded or failed.
func Delete ¶
func Delete(c *eclcloud.ServiceClient, virtualNetworkApplianceID string) (r DeleteResult)
Delete accepts a unique ID and deletes the virtual network appliance associated with it.
type FixedIPInResponse ¶
type FixedIPInResponse struct { IPAddress string `json:"ip_address"` SubnetID string `json:"subnet_id"` }
FixedIPInResponse represents each element of fixed ips of virtual network appliance.
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 Virtual Network Appliance.
func Get ¶
func Get(c *eclcloud.ServiceClient, id string) (r GetResult)
Get retrieves a specific virtual network appliance based on its unique ID.
func (GetResult) Extract ¶
Extract is a function that accepts a result and extracts a virtual network appliance resource.
func (GetResult) ExtractInto ¶
func (r GetResult) ExtractInto(v interface{}) error
Extract interprets any commonResult as a Virtual Network Appliance, if possible.
type InterfaceInResponse ¶
type InterfaceInResponse struct { Name string `json:"name"` Description string `json:"description"` NetworkID string `json:"network_id"` Updatable bool `json:"updatable"` Tags map[string]string `json:"tags"` FixedIPs []FixedIPInResponse `json:"fixed_ips"` AllowedAddressPairs []AllowedAddressPairInResponse `json:"allowed_address_pairs"` }
InterfaceInResponse works as parent element of each interface of virtual network appliance.
type InterfacesInResponse ¶
type InterfacesInResponse struct { Interface1 InterfaceInResponse `json:"interface_1"` Interface2 InterfaceInResponse `json:"interface_2"` Interface3 InterfaceInResponse `json:"interface_3"` Interface4 InterfaceInResponse `json:"interface_4"` Interface5 InterfaceInResponse `json:"interface_5"` Interface6 InterfaceInResponse `json:"interface_6"` Interface7 InterfaceInResponse `json:"interface_7"` Interface8 InterfaceInResponse `json:"interface_8"` }
InterfacesInResponse works as list of interfaces of virtual network appliance.
type ListOpts ¶
type ListOpts struct { Name string `q:"name"` ID string `q:"id"` ApplianceType string `q:"appliance_type"` Description string `q:"description"` AvailabilityZone string `q:"availability_zone"` OSMonitoringStatus string `q:"os_monitoring_status"` OSLoginStatus string `q:"os_login_status"` VMStatus string `q:"vm_status"` OperationStatus string `q:"operation_status"` VirtualNetworkAppliancePlanID string `q:"virtual_network_appliance_plan_id"` TenantID string `q:"tenant_id"` }
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 virtual network appliance attributes you want to see returned.
func (ListOpts) ToVirtualNetworkApplianceListQuery ¶
ToVirtualNetworkApplianceListQuery formats a ListOpts into a query string.
type ListOptsBuilder ¶
ListOptsBuilder allows extensions to add additional parameters to the List request.
type UpdateAllowedAddressPairAddressInfo ¶
type UpdateAllowedAddressPairAddressInfo struct { IPAddress string `json:"ip_address" required:"true"` MACAddress *string `json:"mac_address" required:"true"` Type *string `json:"type" required:"true"` VRID *interface{} `json:"vrid" required:"true"` }
UpdateAllowedAddressPairAddressInfo represents options used to update virtual network appliance allowed address pairs.
type UpdateAllowedAddressPairInterface ¶
type UpdateAllowedAddressPairInterface struct {
AllowedAddressPairs *[]UpdateAllowedAddressPairAddressInfo `json:"allowed_address_pairs,omitempty"`
}
UpdateAllowedAddressPairInterface represents allowed address pairs list in update options used to update virtual network appliance allowed address pairs.
type UpdateAllowedAddressPairInterfaces ¶
type UpdateAllowedAddressPairInterfaces struct { Interface1 *UpdateAllowedAddressPairInterface `json:"interface_1,omitempty"` Interface2 *UpdateAllowedAddressPairInterface `json:"interface_2,omitempty"` Interface3 *UpdateAllowedAddressPairInterface `json:"interface_3,omitempty"` Interface4 *UpdateAllowedAddressPairInterface `json:"interface_4,omitempty"` Interface5 *UpdateAllowedAddressPairInterface `json:"interface_5,omitempty"` Interface6 *UpdateAllowedAddressPairInterface `json:"interface_6,omitempty"` Interface7 *UpdateAllowedAddressPairInterface `json:"interface_7,omitempty"` Interface8 *UpdateAllowedAddressPairInterface `json:"interface_8,omitempty"` }
UpdateAllowedAddressPairInterfaces represents interface list of update options used to update virtual network appliance allowed address pairs.
type UpdateAllowedAddressPairOpts ¶
type UpdateAllowedAddressPairOpts struct {
Interfaces *UpdateAllowedAddressPairInterfaces `json:"interfaces,omitempty"`
}
UpdateAllowedAddressPairOpts represents parent element of interfaces in update options used to update virtual network appliance allowed address pairs.
func (UpdateAllowedAddressPairOpts) ToApplianceUpdateMap ¶
func (opts UpdateAllowedAddressPairOpts) ToApplianceUpdateMap() (map[string]interface{}, error)
ToApplianceUpdateMap builds a request body from UpdateAllowedAddressPairOpts.
type UpdateFixedIPAddressInfo ¶
type UpdateFixedIPAddressInfo struct {
IPAddress string `json:"ip_address" required:"true"`
}
UpdateFixedIPAddressInfo represents ip address part of virtual network appliance update.
type UpdateFixedIPInterface ¶
type UpdateFixedIPInterface struct { NetworkID *string `json:"network_id,omitempty"` FixedIPs *[]UpdateFixedIPAddressInfo `json:"fixed_ips,omitempty"` }
UpdateFixedIPInterface represents each interface information in updating network connection and fixed ip address of virtual network appliance.
type UpdateFixedIPInterfaces ¶
type UpdateFixedIPInterfaces struct { Interface1 *UpdateFixedIPInterface `json:"interface_1,omitempty"` Interface2 *UpdateFixedIPInterface `json:"interface_2,omitempty"` Interface3 *UpdateFixedIPInterface `json:"interface_3,omitempty"` Interface4 *UpdateFixedIPInterface `json:"interface_4,omitempty"` Interface5 *UpdateFixedIPInterface `json:"interface_5,omitempty"` Interface6 *UpdateFixedIPInterface `json:"interface_6,omitempty"` Interface7 *UpdateFixedIPInterface `json:"interface_7,omitempty"` Interface8 *UpdateFixedIPInterface `json:"interface_8,omitempty"` }
UpdateFixedIPInterfaces represents interface list of update options used to update virtual network appliance network connection and fixed ips.
type UpdateFixedIPOpts ¶
type UpdateFixedIPOpts struct {
Interfaces *UpdateFixedIPInterfaces `json:"interfaces,omitempty"`
}
UpdateFixedIPOpts represents parent element of interfaces in update options used to update virtual network appliance network connection and fixed ips.
func (UpdateFixedIPOpts) ToApplianceUpdateMap ¶
func (opts UpdateFixedIPOpts) ToApplianceUpdateMap() (map[string]interface{}, error)
ToApplianceUpdateMap builds a request body from UpdateFixedIPOpts.
type UpdateMetadataInterface ¶
type UpdateMetadataInterface struct { Name *string `json:"name,omitempty"` Description *string `json:"description,omitempty"` Tags *map[string]string `json:"tags,omitempty"` }
UpdateMetadataInterface represents options used to update virtual network appliance metadata of interface.
type UpdateMetadataInterfaces ¶
type UpdateMetadataInterfaces struct { Interface1 *UpdateMetadataInterface `json:"interface_1,omitempty"` Interface2 *UpdateMetadataInterface `json:"interface_2,omitempty"` Interface3 *UpdateMetadataInterface `json:"interface_3,omitempty"` Interface4 *UpdateMetadataInterface `json:"interface_4,omitempty"` Interface5 *UpdateMetadataInterface `json:"interface_5,omitempty"` Interface6 *UpdateMetadataInterface `json:"interface_6,omitempty"` Interface7 *UpdateMetadataInterface `json:"interface_7,omitempty"` Interface8 *UpdateMetadataInterface `json:"interface_8,omitempty"` }
UpdateMetadataInterfaces represents list of interfaces for updating virtual network appliance metadata.
type UpdateMetadataOpts ¶
type UpdateMetadataOpts struct { Name *string `json:"name,omitempty"` Description *string `json:"description,omitempty"` Tags *map[string]string `json:"tags,omitempty"` Interfaces *UpdateMetadataInterfaces `json:"interfaces,omitempty"` }
UpdateMetadataOpts represents metadata of virtual network appliance itself and pararent element for list of interfaces which are used by virtual network appliance metadata update.
func (UpdateMetadataOpts) ToApplianceUpdateMap ¶
func (opts UpdateMetadataOpts) ToApplianceUpdateMap() (map[string]interface{}, error)
ToApplianceUpdateMap builds a request body from UpdateOpts.
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 Virtual Network Appliance.
func Update ¶
func Update(c *eclcloud.ServiceClient, virtualNetworkApplianceID string, opts UpdateOptsBuilder) (r UpdateResult)
Update accepts a UpdateOpts struct and updates an existing virtual network appliance using the values provided. For more information, see the Create function.
func (UpdateResult) Extract ¶
Extract is a function that accepts a result and extracts a virtual network appliance resource.
func (UpdateResult) ExtractInto ¶
func (r UpdateResult) ExtractInto(v interface{}) error
Extract interprets any commonResult as a Virtual Network Appliance, if possible.