azure

package
v0.0.0-...-57b77a8 Latest Latest
Warning

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

Go to latest
Published: May 13, 2024 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ExtractResourceGroupName

func ExtractResourceGroupName(resourceID string) string

Helper function to extract the resource group name from a resource ID

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

func NewClient

func NewClient(ctx context.Context, logger *logrus.Logger) (*Client, error)

NewClient initializes a new Azure client with all necessary clients for compute, network, and subscriptions.

func (*Client) AddInboundAllowRuleByInstanceIPMatch

func (c *Client) AddInboundAllowRuleByInstanceIPMatch(ctx context.Context, account, region string,
	vpcID string, ruleName string, instancesIPs []string, cidrsToAllow []string,
	protocolsAndPorts types.ProtocolsAndPorts) (ruleId string, instances []types.Instance, err error)

func (*Client) AddInboundAllowRuleByLabelsMatch

func (c *Client) AddInboundAllowRuleByLabelsMatch(ctx context.Context, account, region string,
	vpcID string, ruleName string, labels map[string]string, cidrsToAllow []string,
	protocolsAndPorts types.ProtocolsAndPorts) (ruleId string, instances []types.Instance, err error)

func (*Client) AddInboundAllowRuleBySubnetMatch

func (c *Client) AddInboundAllowRuleBySubnetMatch(ctx context.Context, account, region string,
	vpcID string, ruleName string, subnetCidrs []string, cidrsToAllow []string,
	protocolsAndPorts types.ProtocolsAndPorts) (ruleId string, instances []types.Instance, subnets []types.Subnet, err error)

func (*Client) AddInboundAllowRuleForLoadBalancerByDNS

func (c *Client) AddInboundAllowRuleForLoadBalancerByDNS(ctx context.Context, account, region string, loadBalancerDNS string, vpcID string,
	ruleName string, cidrsToAllow []string, protocolsAndPorts types.ProtocolsAndPorts) (loadBalancerId, ruleId string, err error)

func (*Client) AddInboundAllowRuleInVPC

func (c *Client) AddInboundAllowRuleInVPC(ctx context.Context, account, region string, destinationVpcID string, cidrsToAllow []string, ruleName string,
	tags map[string]string) error

AccessControl interface implementation

func (*Client) ConnectVPC

VPCConnector interface implementation

func (*Client) ConnectVPCs

func (*Client) DisconnectVPCs

func (*Client) GetCIDRsForLabels

func (c *Client) GetCIDRsForLabels(ctx context.Context, input *infrapb.GetCIDRsForLabelsRequest) ([]string, error)

func (*Client) GetIPsForLabels

func (c *Client) GetIPsForLabels(ctx context.Context, input *infrapb.GetIPsForLabelsRequest) ([]string, error)

func (*Client) GetInstancesForLabels

func (c *Client) GetInstancesForLabels(ctx context.Context, input *infrapb.GetInstancesForLabelsRequest) ([]types.Instance, error)

func (*Client) GetName

func (c *Client) GetName() string

func (*Client) GetSubnet

func (c *Client) GetSubnet(ctx context.Context, input *infrapb.GetSubnetRequest) (types.Subnet, error)

func (*Client) GetSyncTime

func (c *Client) GetSyncTime(id string) (types.SyncTime, error)

func (*Client) GetVPCIDForCIDR

func (c *Client) GetVPCIDForCIDR(ctx context.Context, input *infrapb.GetVPCIDForCIDRRequest) (string, error)

func (*Client) GetVPCIDWithTag

func (c *Client) GetVPCIDWithTag(ctx context.Context, input *infrapb.GetVPCIDWithTagRequest) (string, error)

func (*Client) ListACLs

func (c *Client) ListACLs(ctx context.Context, input *infrapb.ListACLsRequest) ([]types.ACL, error)

func (*Client) ListAccounts

func (c *Client) ListAccounts() []types.Account

ListAccounts returns a slice of types.Account, each representing an Azure subscription

func (*Client) ListAllACLs

func (c *Client) ListAllACLs(ctx context.Context, input *infrapb.ListACLsRequest) ([]types.ACL, error)

func (*Client) ListClusters

func (c *Client) ListClusters(ctx context.Context, input *infrapb.ListCloudClustersRequest) ([]types.Cluster, error)

func (*Client) ListInstances

func (c *Client) ListInstances(ctx context.Context, input *infrapb.ListInstancesRequest) ([]types.Instance, error)

func (*Client) ListInternetGateways

func (c *Client) ListInternetGateways(ctx context.Context, params *infrapb.ListInternetGatewaysRequest) ([]types.IGW, error)

func (*Client) ListNATGateways

func (c *Client) ListNATGateways(ctx context.Context, params *infrapb.ListNATGatewaysRequest) ([]types.NATGateway, error)

func (*Client) ListNamespaces

func (c *Client) ListNamespaces(ctx context.Context, clusterName string, labels map[string]string) (namespaces []types.Namespace, err error)

func (*Client) ListNodes

func (c *Client) ListNodes(ctx context.Context, clusterName string, labels map[string]string) (nodes []types.K8sNode, err error)

func (*Client) ListPods

func (c *Client) ListPods(ctx context.Context, clusterName string, labels map[string]string) (pods []types.Pod, err error)

func (*Client) ListPodsCIDRs

func (c *Client) ListPodsCIDRs(ctx context.Context, clusterName string) ([]string, error)

func (*Client) ListRegions

func (c *Client) ListRegions(ctx context.Context, params *infrapb.ListRegionsRequest) ([]types.Region, error)

func (*Client) ListRouteTables

func (c *Client) ListRouteTables(ctx context.Context, params *infrapb.ListRouteTablesRequest) ([]types.RouteTable, error)

func (*Client) ListRouters

func (c *Client) ListRouters(ctx context.Context, params *infrapb.ListRoutersRequest) ([]types.Router, error)

func (*Client) ListSecurityGroups

func (c *Client) ListSecurityGroups(ctx context.Context, input *infrapb.ListSecurityGroupsRequest) ([]types.SecurityGroup, error)

func (*Client) ListServices

func (c *Client) ListServices(ctx context.Context, clusterName string, labels map[string]string) (services []types.K8SService, err error)

func (*Client) ListServicesCIDRs

func (c *Client) ListServicesCIDRs(ctx context.Context, clusterName string) (string, error)

func (*Client) ListSubnets

func (c *Client) ListSubnets(ctx context.Context, params *infrapb.ListSubnetsRequest) ([]types.Subnet, error)

func (*Client) ListVPC

func (c *Client) ListVPC(ctx context.Context, params *infrapb.ListVPCRequest) ([]types.VPC, error)

ListVPC returns a slice of VPC objects for a given subscription

func (*Client) ListVPCEndpoints

func (c *Client) ListVPCEndpoints(ctx context.Context, params *infrapb.ListVPCEndpointsRequest) ([]types.VPCEndpoint, error)

func (*Client) RefreshInboundAllowRule

func (c *Client) RefreshInboundAllowRule(ctx context.Context, account, region string, ruleId string, cidrsToAdd []string, cidrsToRemove []string,
	destinationLabels map[string]string, destinationPrefixes []string, destinationVPCId string,
	protocolsAndPorts types.ProtocolsAndPorts) (instances []types.Instance, subnets []types.Subnet, err error)

func (*Client) RemoveInboundAllowRuleFromVPCByName

func (c *Client) RemoveInboundAllowRuleFromVPCByName(ctx context.Context, account, region string, vpcID string, ruleName string) error

func (*Client) RemoveInboundAllowRuleRulesByTags

func (c *Client) RemoveInboundAllowRuleRulesByTags(ctx context.Context, account, region string, vpcID string, ruleName string, tags map[string]string) error

func (*Client) RemoveInboundAllowRulesFromVPCById

func (c *Client) RemoveInboundAllowRulesFromVPCById(ctx context.Context, account, region string, vpcID string, instanceIDs []string,
	loadBalancersIDs []string, ruleId string) error

func (*Client) RetrieveClustersData

func (c *Client) RetrieveClustersData(ctx context.Context) ([]cluster.DiscoveredCluster, error)

func (*Client) UpdateServiceSourceRanges

func (c *Client) UpdateServiceSourceRanges(ctx context.Context, clusterName, namespace, name string, cidrsToAdd []string, cidrsToRemove []string) error

type VNetAssociations

type VNetAssociations struct {
	RtAssociations  map[string]VNetSubnetAssociation
	NsgAssociations map[string]VNetSubnetAssociation
}

func ListVNetSubnetAssociations

func ListVNetSubnetAssociations(ctx context.Context, subscriptionID string, cred *azidentity.DefaultAzureCredential) (*VNetAssociations, error)

type VNetInstanceAssociation

type VNetInstanceAssociation struct {
	VNetID      string   // ID of the VNet
	InstanceIds []string // IDs of the subnets associated with the route table
}

type VNetSubnetAssociation

type VNetSubnetAssociation struct {
	VNetID    string   // ID of the VNet
	SubnetIDs []string // IDs of the subnets associated with the route table
}

VNetSubnetAssociation holds the association of a route table with its VNet and subnets

Jump to

Keyboard shortcuts

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