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