awsnetwork

package
v0.0.0-...-c891ed9 Latest Latest
Warning

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

Go to latest
Published: Oct 5, 2019 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DeleteNetworkInput

type DeleteNetworkInput struct {
	VpcIds        []string `json:"region"`
	SubnetIds     []string `json:"vpcids"`
	SecIds        []string `json:"secids"`
	IgwIds        []string `json:"igwid"`
	RouteTableIds []string `json:"routetableids"`
	GetRaw        bool     `json:"getraw"`
}

DeleteNetworkInput is a struct that will implement almost all the deletion of network and its components under cloud/operations.

func (*DeleteNetworkInput) DeleteNetwork

DeleteNetwork is a customized method for deletion of network, if one needs to delete the individual components of network then call the appropriate methods.

func (*DeleteNetworkInput) DeleteSubnets

func (s *DeleteNetworkInput) DeleteSubnets(con neuronaws.EstablishConnectionInput) error

DeleteSubnets is a customized method for deleting subnets, if one needs plain subnet deletion then he/she has to call the GOD, interface which talks to cloud.

func (*DeleteNetworkInput) DeleteVpc

func (vpc *DeleteNetworkInput) DeleteVpc(con neuronaws.EstablishConnectionInput) error

DeleteVpc is a customized method for vpc deletion, if one needs plain vpc deletion then he/she has to call the GOD, interface which talks to cloud.

type DeleteNetworkResponse

type DeleteNetworkResponse struct {
	Subnets         string `json:"subnets,omitempty"`
	SecurityGroups  string `json:"securities,omitempty"`
	Routetables     string `json:"routetables,omitempty"`
	Gateways        string `json:"gateways,omitempty"`
	Vpcs            string `json:"vpcs,omitempty"`
	DefaultResponse string `json:"defaultresponse,omitempty"`
	Status          string `json:"status,omitempty"`
}

DeleteNetworkResponse is a struct that will be the response type of almost all the network and its components while terminating them.

type Filters

type Filters struct {
	Name  string
	Value interface{}
}

Filters will help one to have a hold on the call that they make, will help to filter the quiries. Ex: use this while fetching list of subnet from appropriate vpc, by using vpc as a 'Value' of filter.

type GetNetworksInput

type GetNetworksInput struct {
	VpcIds    []string `json:"vpcids"`
	SubnetIds []string `json:"subnetids"`
	Filters   Filters  `json:"filters"`
	Region    string   `json:"region"`
	GetRaw    bool     `json:"getraw"`
}

GetNetworksInput is a struct that will implement almost all the methods of fetching network and its components under cloud/operations.

func (*GetNetworksInput) FindSubnet

func (net *GetNetworksInput) FindSubnet(con neuronaws.EstablishConnectionInput) (bool, error)

FindSubnet is a customized method which sends back the response to the caller about the existence of subnet asked for.

func (*GetNetworksInput) FindVpcs

func (v *GetNetworksInput) FindVpcs(con neuronaws.EstablishConnectionInput) (bool, error)

FindVpcs is a customized method which sends back the response to the caller about the existence of vpc asked for.

func (*GetNetworksInput) GetAllNetworks

func (net *GetNetworksInput) GetAllNetworks(con aws.EstablishConnectionInput) ([]NetworkResponse, error)

GetAllNetworks is a customized method for fetching the details of all the network in the specified region, if one needs to fetch the information of the individual network then call the appropriate method else call the GOD, interface which talks to cloud.

func (*GetNetworksInput) GetAllSubnets

func (net *GetNetworksInput) GetAllSubnets(con neuronaws.EstablishConnectionInput) (NetworkResponse, error)

GetAllSubnets is a customized method for fetching details of all subnets for a given region, if one needs plain get subnet then he/she has to call the GOD, interface which talks to cloud.

func (*GetNetworksInput) GetNetwork

GetNetwork is a customized method for fetching the details of network, if one needs to fetch the information of the individual components of network then call the appropriate methods else call the GOD, interface which talks to cloud.

func (*GetNetworksInput) GetSubnets

func (net *GetNetworksInput) GetSubnets(con neuronaws.EstablishConnectionInput) (NetworkResponse, error)

GetSubnets is a customized method for fetching details of a particular subnet for a given region, if one needs plain get subnet then he/she has to call the GOD, interface which talks to cloud.

func (*GetNetworksInput) GetSubnetsFromVpc

func (net *GetNetworksInput) GetSubnetsFromVpc(con neuronaws.EstablishConnectionInput) (NetworkResponse, error)

GetSubnetsFromVpc is method which gets the list of available subnets from a asked network. Passing multiple values in vpcids array makes no difference here as we use only first element of it, this is customized function for raw data refer interface

func (*GetNetworksInput) GetVpcFromSubnet

func (net *GetNetworksInput) GetVpcFromSubnet(con neuronaws.EstablishConnectionInput) (SubnetReponse, error)

GetVpcFromSubnet is a customized method which helps in fetching VPC from subnet asked for. Passing multi valued array make no difference as this is customized

func (*GetNetworksInput) GetVpcs

func (v *GetNetworksInput) GetVpcs(con neuronaws.EstablishConnectionInput) (NetworkResponse, error)

GetVpcs is a customized method for fetching details of all vpc for a given region, if one needs plain get subnet then he/she has to call the GOD, interface which talks to cloud.

type NetworkComponentInput

type NetworkComponentInput struct {
	Name            string   `json:"name"`
	VpcIds          []string `json:"vpcid"`
	SubId           string   `json:"subid"`
	IgwId           string   `json:"igwid"`
	IgwIds          []string `json:"igwids"`
	SubType         string   `json:"subtype"`
	Ports           []string `json:"ports"`
	Filters         Filters  `json:"filters"`
	SecGroupIds     []string `json:"secgroupids"`
	RouteTableIds   []string `json:"routetableids"`
	DestinationCidr string   `json:"destinationcidr"`
	GetRaw          bool     `json:"getraw"`
}

NetworkComponentInput is a struct that will implement the methods which deals with the creation/deletion of network components under cloud/operations.

func (*NetworkComponentInput) CreateIgw

CreateIgw is customized internet-gateway creation, if one needs plain internet-gateway creation he/she has call interface the GOD which talks to cloud.

func (*NetworkComponentInput) CreateRouteTable

func (net *NetworkComponentInput) CreateRouteTable(con aws.EstablishConnectionInput) error

CreateRouteTable is customized route-table creation, if one needs plain route-table creation he/she has call interface the GOD which talks to cloud.

func (*NetworkComponentInput) CreateSecurityGroup

CreateSecurityGroup is customized security-group creation, if one needs plain security-group creation he/she has call interface the GOD which talks to cloud.

func (*NetworkComponentInput) DeleteIgws

DeleteIgws will help one in deleting IGW's which they specify, for deletion of other resources refer other methods.

func (*NetworkComponentInput) DeleteRouteTable

func (net *NetworkComponentInput) DeleteRouteTable(con aws.EstablishConnectionInput) error

DeleteRouteTable will help one in deleting route-table which they specify, for deletion of other resources refer other methods.

func (*NetworkComponentInput) DeleteSecutiryGroup

func (net *NetworkComponentInput) DeleteSecutiryGroup(con aws.EstablishConnectionInput) error

DeleteSecutiryGroup will help one in deleting security-group which they specify, for deletion of other resources refer other methods.

func (*NetworkComponentInput) DetachIgws

DetachIgws will help one in dettaching the IGW's which you specify, from the network to which it is attached, for dettaching other resources refer other methods.

func (*NetworkComponentInput) DisassociateRouteTable

func (net *NetworkComponentInput) DisassociateRouteTable(con aws.EstablishConnectionInput) (bool, error)

DisassociateRouteTable will help one in disassociating the route-table which you specify, from the subnet to which it is attached, for disassociating other resources refer other methods.

func (*NetworkComponentInput) GetIgwFromVpc

GetIgwFromVpc will help one in fetching IGW from the VPC which they specify.

func (*NetworkComponentInput) GetRouteTableFromVpc

GetRouteTableFromVpc will help one in fetching route-tables from the VPC which they specify.

func (*NetworkComponentInput) GetSecFromVpc

GetSecFromVpc will help one in fetching security-group from the VPC which they specify.

type NetworkComponentResponse

type NetworkComponentResponse struct {
	IgwIds            []string                            `json:"IgwId,omitempty"`
	SecGroupIds       []string                            `json:"SecGroupIds,omitempty"`
	RouteTableIds     []string                            `json:"RouteTableIds,omitempty"`
	CreateIgwRaw      *ec2.CreateInternetGatewayOutput    `json:"CreateIgwRaw,omitempty"`
	GetIgwRaw         *ec2.DescribeInternetGatewaysOutput `json:"GetIgwRaw,omitempty"`
	CreateSecurityRaw *ec2.CreateSecurityGroupOutput      `json:"CreateSecRaw,omitempty"`
	GetRouteTableRaw  *ec2.DescribeRouteTablesOutput      `json:"DescribeRouteTableRaw,omitempty"`
	GetSecurityRaw    *ec2.DescribeSecurityGroupsOutput   `json:"DescribeSecurityRaw,omitempty"`
}

NetworkComponentResponse is a struct that will be the response type of almost all the network components related activities under cloud/operations.

type NetworkCreateInput

type NetworkCreateInput struct {
	VpcCidr  string   `json:"vpccidr"`
	SubCidrs []string `json:"subcidrs"`
	SubCidr  string   `json:"subcidr"`
	Name     string   `json:"name"`
	Type     string   `json:"type"`
	Ports    []string `json:"ports"`
	Zone     string   `json:"zone"`
	VpcId    string   `json:"vpcid"`
	IgwId    string   `json:"igwid"`
	GetRaw   bool     `json:"getraw"`
}

NetworkCreateInput is a struct that will implement almost all the creation of network and its components under cloud/operations.

func (*NetworkCreateInput) CreateNetwork

CreateNetwork is a customized method for network creation, if one needs to create the individual components of network then call the appropriate methods.

func (*NetworkCreateInput) CreateSubnet

func (subin *NetworkCreateInput) CreateSubnet(con neuronaws.EstablishConnectionInput) (SubnetReponse, error)

CreateSubnet is a customized method for subnet creation, if one needs plain subnet creation then he/she has to call the GOD, interface which talks to cloud.

func (*NetworkCreateInput) CreateVpc

func (vpc *NetworkCreateInput) CreateVpc(con neuronaws.EstablishConnectionInput) (VpcResponse, error)

CreateVpc is a customized method for vpc creation, if one needs plain vpc creation then he/she has to call the GOD, interface which talks to cloud.

type NetworkResponse

type NetworkResponse struct {
	Name                  string                              `json:"name,omitempty"`
	VpcId                 string                              `json:"vpcid,omitempty"`
	Subnets               []SubnetReponse                     `json:"subnets,omitempty"`
	Vpcs                  []VpcResponse                       `json:"vpcs,omitempty"`
	Type                  string                              `json:"type,omitempty"`
	State                 string                              `json:"state,omitempty"`
	IgwId                 string                              `json:"igw,omitempty"`
	IsDefault             bool                                `json:"isdefault,omitempty"`
	SecGroupIds           []string                            `json:"secgroupid,omitempty"`
	Region                string                              `json:"region,omitempty"`
	GetVpcsRaw            *ec2.DescribeVpcsOutput             `json:"getvpcsraw,omitempty"`
	GetVpcRaw             *ec2.Vpc                            `json:"getvpcraw,omitempty"`
	GetSubnetRaw          *ec2.DescribeSubnetsOutput          `json:"getsubnetraw,omitempty"`
	CreateVpcRaw          VpcResponse                         `json:"createvpcraw,omitempty"`
	CreateSubnetRaw       []SubnetReponse                     `json:"createsubnetraw,omitempty"`
	CreateIgwRaw          *ec2.CreateInternetGatewayOutput    `json:"createigwraw,omitempty"`
	CreateSecRaw          *ec2.CreateSecurityGroupOutput      `json:"createsecraw,omitempty"`
	DescribeRouteTableRaw *ec2.DescribeRouteTablesOutput      `json:"describeroutetableraw,omitempty"`
	DescribeSecurityRaw   *ec2.DescribeSecurityGroupsOutput   `json:"describesecurityraw,omitempty"`
	DescribeIgwRaw        *ec2.DescribeInternetGatewaysOutput `json:"describeigwraw,omitempty"`
}

NetworkResponse is a struct that will be the response type of almost all the network related activities under cloud/operations.

type SubnetReponse

type SubnetReponse struct {
	Name            string                     `json:"Name,omitempty"`
	Id              string                     `json:"Id,omitempty"`
	State           string                     `json:"State,omitempty"`
	VpcId           string                     `json:"VpcId,omitempty"`
	CreateSubnetRaw *ec2.CreateSubnetOutput    `json:"CreateSubnetRaw,omitempty"`
	GetSubnetRaw    *ec2.DescribeSubnetsOutput `json:"GetSubnetRaw,omitempty"`
}

SubnetReponse is a struct that will be the response type of almost all the subnet related activities under cloud/operations.

type UpdateNetworkInput

type UpdateNetworkInput struct {
	Resource string             `json:"resource"`
	Network  NetworkCreateInput `json:"network"`
	Action   string             `json:"action"`
	GetRaw   bool               `json:"getRaw"`
}

UpdateNetworkInput is a struct that will implement the methods that will update the network and its components under cloud/operations.

func (*UpdateNetworkInput) UpdateNetwork

UpdateNetwork is a customized method for updating the network and its components, if one needs to update the individual components network then this method does just that. For more operations call GOD, interface which talks to cloud.

type VpcResponse

type VpcResponse struct {
	Name              string                           `json:"Name,omitempty"`
	Type              string                           `json:"Type,omitempty"`
	VpcId             string                           `json:"VpcId,omitempty"`
	IgwId             string                           `json:"IgwId,omitempty"`
	SecGroupIds       []string                         `json:"SecGroupId,omitempty"`
	IsDefault         bool                             `json:"IsDefault,omitempty"`
	State             string                           `json:"State,omitempty"`
	CreateVpcRaw      *ec2.CreateVpcOutput             `json:"CreateVpcRaw,omitempty"`
	GetVpcRaw         *ec2.DescribeVpcsOutput          `json:"GetVpcRaw,omitempty"`
	CreateIgwRaw      *ec2.CreateInternetGatewayOutput `json:"CreateIgwRaw,omitempty,omitempty"`
	CreateSecurityRaw *ec2.CreateSecurityGroupOutput   `json:"CreateSecRaw,omitempty,omitempty"`
}

VpcResponse is a struct that will be the response type of almost all the VPC related activities under cloud/operations.

Jump to

Keyboard shortcuts

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