Documentation
¶
Index ¶
- func BuildGrandeNetworks(a SwitchData) ([]string, error)
- func BuildVentiNetworks(a SwitchData) ([]string, error)
- func CreateJson(data SwitchData, t TokenBuilder) (string, error)
- func Entry(data SwitchData, t TokenBuilder) (string, error)
- func EvaluateAvailableNetworks(data SwitchData, a AzureNetData) ([]string, error)
- func JsonReturn(data SwitchData, t TokenBuilder) (struct{ ... }, error)
- func MakeTheSwitch(s SwitchData) ([]string, error)
- func ParseHubConnections(hubId string, t TokenBuilder) ([]string, error)
- func ParseVnetConnections(hubId string, t TokenBuilder) ([]string, error)
- func ReturnConnectable(c Confirmed) (string, error)
- func ReturnNetworks(s SwitchData) ([]string, error)
- func RunAll(data SwitchData, t TokenBuilder, n Subscription) (string, error)
- type AzureNetData
- type AzureNetworks
- type Confirmed
- type Connect
- type HubConnections
- type NetData
- type Subscription
- type SwitchData
- type TokenBuilder
- type VirtualHub
- type Vnet
- type VnetConnections
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BuildGrandeNetworks ¶
func BuildGrandeNetworks(a SwitchData) ([]string, error)
BuildGrandeNetworks builds a 16 oz virtual network
func BuildVentiNetworks ¶
func BuildVentiNetworks(a SwitchData) ([]string, error)
BuildVentiNetworks builds a 20oz virtual network
func CreateJson ¶
func CreateJson(data SwitchData, t TokenBuilder) (string, error)
func Entry ¶
func Entry(data SwitchData, t TokenBuilder) (string, error)
func EvaluateAvailableNetworks ¶
func EvaluateAvailableNetworks(data SwitchData, a AzureNetData) ([]string, error)
func JsonReturn ¶
func JsonReturn(data SwitchData, t TokenBuilder) (struct { Region string ClientId string TenantId string AddressSpace string }, error)
func MakeTheSwitch ¶
func MakeTheSwitch(s SwitchData) ([]string, error)
func ParseHubConnections ¶
func ParseHubConnections(hubId string, t TokenBuilder) ([]string, error)
func ParseVnetConnections ¶
func ParseVnetConnections(hubId string, t TokenBuilder) ([]string, error)
func ReturnConnectable ¶
func ReturnNetworks ¶
func ReturnNetworks(s SwitchData) ([]string, error)
func RunAll ¶
func RunAll(data SwitchData, t TokenBuilder, n Subscription) (string, error)
Types ¶
type AzureNetData ¶
type AzureNetData []struct {
Name string `json:"name"`
ID string `json:"id"`
Etag string `json:"etag"`
Type string `json:"type"`
Location string `json:"location"`
Tags struct {
} `json:"tags"`
Properties struct {
ProvisioningState string `json:"provisioningState"`
ResourceGUID string `json:"resourceGuid"`
AddressSpace struct {
AddressPrefixes []string `json:"addressPrefixes"`
} `json:"addressSpace"`
Subnets []struct {
Name string `json:"name"`
ID string `json:"id"`
Etag string `json:"etag"`
Properties struct {
ProvisioningState string `json:"provisioningState"`
AddressPrefix string `json:"addressPrefix"`
IPConfigurations []struct {
ID string `json:"id"`
} `json:"ipConfigurations"`
Delegations []interface{} `json:"delegations"`
PrivateEndpointNetworkPolicies string `json:"privateEndpointNetworkPolicies"`
PrivateLinkServiceNetworkPolicies string `json:"privateLinkServiceNetworkPolicies"`
} `json:"properties"`
Type string `json:"type"`
} `json:"subnets"`
VirtualNetworkPeerings []interface{} `json:"virtualNetworkPeerings"`
EnableDdosProtection bool `json:"enableDdosProtection"`
} `json:"properties"`
}
func BuildCompositeNetworkData ¶
func BuildCompositeNetworkData(t TokenBuilder, s Subscription) (AzureNetData, error)
type AzureNetworks ¶
type AzureNetworks struct {
SubscriptionId string
Value []struct {
Name string `json:"name"`
ID string `json:"id"`
Etag string `json:"etag"`
Type string `json:"type"`
Location string `json:"location"`
Tags struct {
} `json:"tags"`
Properties struct {
ProvisioningState string `json:"provisioningState"`
ResourceGUID string `json:"resourceGuid"`
AddressSpace struct {
AddressPrefixes []string `json:"addressPrefixes"`
} `json:"addressSpace"`
Subnets []struct {
Name string `json:"name"`
ID string `json:"id"`
Etag string `json:"etag"`
Properties struct {
ProvisioningState string `json:"provisioningState"`
AddressPrefix string `json:"addressPrefix"`
IPConfigurations []struct {
ID string `json:"id"`
} `json:"ipConfigurations"`
Delegations []interface{} `json:"delegations"`
PrivateEndpointNetworkPolicies string `json:"privateEndpointNetworkPolicies"`
PrivateLinkServiceNetworkPolicies string `json:"privateLinkServiceNetworkPolicies"`
} `json:"properties"`
Type string `json:"type"`
} `json:"subnets"`
VirtualNetworkPeerings []interface{} `json:"virtualNetworkPeerings"`
EnableDdosProtection bool `json:"enableDdosProtection"`
} `json:"properties"`
} `json:"value"`
}
AzureNetworks contains data about the virtual networks per subscription in Azure
func GetNetworks ¶
func GetNetworks(s string, t TokenBuilder) (AzureNetworks, error)
GetNetworks reads all the virtual networks in a given subscription for Azure
type Confirmed ¶
type Confirmed struct {
Region string
ClientId string
TenantId string
AddressSpace string
RemoteConnectionId string
}
func MakeConnectionSwitches ¶
func MakeConnectionSwitches(j string, c Connect, t TokenBuilder) (Confirmed, error)
type Connect ¶
func (Connect) Address ¶
func (c Connect) Address(sw SwitchData, t TokenBuilder) (string, error)
func (Connect) CheckLength ¶
func (Connect) Gen ¶
func (c Connect) Gen(sw SwitchData, t TokenBuilder) (string, error)
type HubConnections ¶
type HubConnections struct {
Value []struct {
Name string `json:"name"`
Id string `json:"id"`
Etag string `json:"etag"`
Type string `json:"type"`
Properties struct {
ProvisioningState string `json:"provisioningState"`
ResourceGuid string `json:"resourceGuid"`
RoutingConfiguration struct {
AssociatedRouteTable struct {
Id string `json:"id"`
} `json:"associatedRouteTable"`
PropagatedRouteTables struct {
Labels []string `json:"labels"`
Ids []struct {
Id string `json:"id"`
} `json:"ids"`
} `json:"propagatedRouteTables"`
VnetRoutes struct {
StaticRoutes []interface{} `json:"staticRoutes"`
} `json:"vnetRoutes"`
} `json:"routingConfiguration"`
RemoteVirtualNetwork struct {
Id string `json:"id"`
} `json:"remoteVirtualNetwork"`
AllowHubToRemoteVnetTransit bool `json:"allowHubToRemoteVnetTransit"`
AllowRemoteVnetToUseHubVnetGateways bool `json:"allowRemoteVnetToUseHubVnetGateways"`
EnableInternetSecurity bool `json:"enableInternetSecurity"`
ConnectivityStatus string `json:"connectivityStatus"`
} `json:"properties"`
} `json:"value"`
}
func GetVirtualHubConnections ¶
func GetVirtualHubConnections(hubId string, t TokenBuilder) (HubConnections, error)
type NetData ¶
type NetData struct {
VnetIds []string
VnetSpaces []string
NetworkStuff struct {
Name string `json:"name"`
ID string `json:"id"`
Type string `json:"type"`
Location string `json:"location"`
Properties struct {
ProvisioningState string `json:"provisioningState"`
AddressSpace struct {
AddressPrefixes []string `json:"addressPrefixes"`
} `json:"addressSpace"`
Subnets []struct {
Name string `json:"name"`
ID string `json:"id"`
Properties struct {
ProvisioningState string `json:"provisioningState"`
AddressPrefix string `json:"addressPrefix"`
IPConfigurations []struct {
ID string `json:"id"`
} `json:"ipConfigurations"`
} `json:"properties"`
} `json:"subnets"`
VirtualNetworkPeerings []interface{} `json:"virtualNetworkPeerings"`
} `json:"properties"`
}
}
type Subscription ¶
type Subscription struct {
Value []struct {
Id string `json:"id"`
SubscriptionId string `json:"subscriptionId"`
TenantId string `json:"tenantId"`
DisplayName string `json:"displayName"`
State string `json:"state"`
} `json:"value"`
}
func GetSubscriptions ¶
func GetSubscriptions(t TokenBuilder) (Subscription, error)
GetSubscriptions reads all the subscriptions available for the tenant
type TokenBuilder ¶
type TokenBuilder struct {
ClientId string
ClientSecret string
TenantId string
SubscriptionId string
BearerToken struct {
TokenType string `json:"token_type"`
ExpiresIn string `json:"expires_in"`
ExtExpiresIn string `json:"ext_expires_in"`
ExpiresOn string `json:"expires_on"`
NotBefore string `json:"not_before"`
Resource string `json:"resource"`
AccessToken string `json:"access_token"`
}
}
TokenBuilder is used to generate and return token needed to query resources in Azure
func DoTokenRequest ¶
func DoTokenRequest(t TokenBuilder) (TokenBuilder, error)
DoTokenRequest creates a token for use later on with pulling data on networking
func ExecToken ¶
func ExecToken() (TokenBuilder, error)
func GenerateToken ¶
func GenerateToken() (TokenBuilder, error)
type VirtualHub ¶
type VirtualHub struct {
Id string `json:"id"`
Etag string `json:"etag"`
Location string `json:"location"`
Name string `json:"name"`
Type string `json:"type"`
Properties struct {
ProvisioningState string `json:"provisioningState"`
VirtualWan struct {
Id string `json:"id"`
} `json:"virtualWan"`
VirtualHubRouteTableV2S []interface{} `json:"virtualHubRouteTableV2s"`
AddressPrefix string `json:"addressPrefix"`
Sku string `json:"sku"`
RoutingState string `json:"routingState"`
VirtualRouterAsn int `json:"virtualRouterAsn"`
VirtualRouterIps []string `json:"virtualRouterIps"`
AllowBranchToBranchTraffic bool `json:"allowBranchToBranchTraffic"`
PreferredRoutingGateway string `json:"preferredRoutingGateway"`
} `json:"properties"`
}
func GetVirtualHubData ¶
func GetVirtualHubData(hubId string, t TokenBuilder) (VirtualHub, error)
type Vnet ¶
type Vnet struct {
Name string `json:"name"`
Id string `json:"id"`
Type string `json:"type"`
Location string `json:"location"`
Properties struct {
ProvisioningState string `json:"provisioningState"`
AddressSpace struct {
AddressPrefixes []string `json:"addressPrefixes"`
} `json:"addressSpace"`
Subnets []struct {
Name string `json:"name"`
Id string `json:"id"`
Properties struct {
ProvisioningState string `json:"provisioningState"`
AddressPrefix string `json:"addressPrefix"`
IpConfigurations []struct {
Id string `json:"id"`
} `json:"ipConfigurations"`
} `json:"properties"`
} `json:"subnets"`
VirtualNetworkPeerings []interface{} `json:"virtualNetworkPeerings"`
} `json:"properties"`
}
func GetVirtualNetworkHubData ¶
func GetVirtualNetworkHubData(hubId string, t TokenBuilder) (Vnet, error)
type VnetConnections ¶
type VnetConnections struct {
Value []struct {
Id string `json:"id"`
Name string `json:"name"`
Properties struct {
AllowVirtualNetworkAccess bool `json:"allowVirtualNetworkAccess"`
AllowForwardedTraffic bool `json:"allowForwardedTraffic"`
AllowGatewayTransit bool `json:"allowGatewayTransit"`
UseRemoteGateways bool `json:"useRemoteGateways"`
RemoteVirtualNetwork struct {
Id string `json:"id"`
} `json:"remoteVirtualNetwork"`
RemoteAddressSpace struct {
AddressPrefixes []string `json:"addressPrefixes"`
} `json:"remoteAddressSpace"`
RemoteVirtualNetworkAddressSpace struct {
AddressPrefixes []string `json:"addressPrefixes"`
} `json:"remoteVirtualNetworkAddressSpace"`
RemoteBgpCommunities struct {
VirtualNetworkCommunity string `json:"virtualNetworkCommunity"`
RegionalCommunity string `json:"regionalCommunity"`
} `json:"remoteBgpCommunities"`
PeeringState string `json:"peeringState"`
PeeringSyncLevel string `json:"peeringSyncLevel"`
ProvisioningState string `json:"provisioningState"`
} `json:"properties"`
} `json:"value"`
}
func GetVirtualNetworkPeerings ¶
func GetVirtualNetworkPeerings(hubId string, t TokenBuilder) (VnetConnections, error)
Click to show internal directories.
Click to hide internal directories.