nodebalancer_config_vpc.go raw
1 package linodego
2
3 import (
4 "context"
5 )
6
7 // NodeBalancerVPCConfig objects represent a VPC config for a NodeBalancer
8 // s
9 // NOTE: NodeBalancer VPC support may not currently be available to all users.
10 type NodeBalancerVPCConfig struct {
11 ID int `json:"id"`
12 IPv4Range string `json:"ipv4_range"`
13 IPv6Range string `json:"ipv6_range,omitempty"`
14 NodeBalancerID int `json:"nodebalancer_id"`
15 SubnetID int `json:"subnet_id"`
16 VPCID int `json:"vpc_id"`
17 }
18
19 // ListNodeBalancerVPCConfigs lists NodeBalancer VPC configs
20 func (c *Client) ListNodeBalancerVPCConfigs(ctx context.Context, nodebalancerID int, opts *ListOptions) ([]NodeBalancerVPCConfig, error) {
21 return getPaginatedResults[NodeBalancerVPCConfig](ctx, c, formatAPIPath("nodebalancers/%d/vpcs", nodebalancerID), opts)
22 }
23
24 // GetNodeBalancerVPCConfig gets the NodeBalancer VPC config with the specified id
25 func (c *Client) GetNodeBalancerVPCConfig(ctx context.Context, nodebalancerID int, vpcID int) (*NodeBalancerVPCConfig, error) {
26 e := formatAPIPath("nodebalancers/%d/vpcs/%d", nodebalancerID, vpcID)
27 return doGETRequest[NodeBalancerVPCConfig](ctx, c, e)
28 }
29