aws

package
v0.3.1 Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2022 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AWS

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

func New

func New() (aws *AWS, err error)

New client

func (*AWS) CreateEndpoint

func (aws *AWS) CreateEndpoint(request *types.CreateEndpointRequest) (*types.Endpoint, error)

func (*AWS) CreatePrivateLinkService added in v0.2.24

func (aws *AWS) CreatePrivateLinkService(req types.PlsRequest) (res types.PlsResponse, err error)

func (*AWS) DeleteEndpoint

func (awsInstance *AWS) DeleteEndpoint(ctx context.Context, endpointID string) error

1. Delete Endpoint if exists 2. Delete security group If we fail we fail

func (*AWS) DeletePrivateLinkService added in v0.2.46

func (aws *AWS) DeletePrivateLinkService(req types.PlsRequest) error

func (*AWS) DeleteSecurityGroup added in v0.2.1

func (awsInstance *AWS) DeleteSecurityGroup(ctx context.Context, securityGroupID string) error

func (*AWS) GetCallerIdentity added in v0.2.16

func (aws *AWS) GetCallerIdentity() (*string, error)

func (*AWS) GetEndpoint

func (aws *AWS) GetEndpoint(request *types.CreateEndpointRequest) (*types.Endpoint, error)

func (*AWS) GetMetadata

func (aws *AWS) GetMetadata() (metadata types.Metadata, err error)

func (*AWS) GetPrivateLinkServiceResources added in v0.2.46

func (aws *AWS) GetPrivateLinkServiceResources(req types.PlsRequest) (res types.PlsResourcesResponse, err error)

func (*AWS) GetProvider added in v0.1.1

func (c *AWS) GetProvider() types.Vendor

func (*AWS) LoadCredentials added in v0.2.18

func (aws *AWS) LoadCredentials()

func (*AWS) Subnets

func (aws *AWS) Subnets() (subnets []string)
Unknown public methods

subnets - get subnet ids

type BlockDeviceMapping

type BlockDeviceMapping struct {
	Ami        string `json:"ami"`
	Ebs1       string `json:"ebs1"`
	Ebs2       string `json:"ebs2"`
	Ebs3       string `json:"ebs3"`
	Ebs4       string `json:"ebs4"`
	Ebs5       string `json:"ebs5"`
	Ebs6       string `json:"ebs6"`
	Ebs7       string `json:"ebs7"`
	Ephemeral0 string `json:"ephemeral0"`
	Ephemeral1 string `json:"ephemeral1"`
	Ephemeral2 string `json:"ephemeral2"`
	Ephemeral3 string `json:"ephemeral3"`
	Root       string `json:"root"`
	Swap       string `json:"swap"`
}

BlockDeviceMapping - Block device mapping

type Clients added in v0.2.46

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

type Document

type Document struct {
	DevpayProductCodes      string   `json:"devpayProductCodes"`
	MarketplaceProductCodes []string `json:"marketplaceProductCodes"`
	AvailabilityZone        string   `json:"availabilityZone"`
	PrivateIP               string   `json:"privateIp"`
	Version                 string   `json:"version"`
	InstanceID              string   `json:"instanceId"`
	BillingProducts         string   `json:"billingProducts"`
	InstanceType            string   `json:"instanceType"`
	AccountID               string   `json:"accountId"`
	ImageID                 string   `json:"imageId"`
	PendingTime             string   `json:"pendingTime"`
	Architecture            string   `json:"architecture"`
	KernelID                string   `json:"kernelId"`
	RamdiskID               string   `json:"ramdiskId"`
	Region                  string   `json:"region"`
}

Document holds more verbose information about the instance like accountID.

type DynamicData

type DynamicData struct {
	InstanceIdentity InstanceIdentity `json:"instance-identity"`
}

DynamicData info

type Ec2Client added in v0.2.46

type Ec2Client interface {
	DescribeVpcEndpointServiceConfigurations(ctx context.Context, input *ec2.DescribeVpcEndpointServiceConfigurationsInput, optFns ...func(*ec2.Options)) (*ec2.DescribeVpcEndpointServiceConfigurationsOutput, error)
	CreateVpcEndpointServiceConfiguration(ctx context.Context, input *ec2.CreateVpcEndpointServiceConfigurationInput, optFns ...func(*ec2.Options)) (*ec2.CreateVpcEndpointServiceConfigurationOutput, error)
	DeleteVpcEndpointServiceConfigurations(ctx context.Context, params *ec2.DeleteVpcEndpointServiceConfigurationsInput, optFns ...func(*ec2.Options)) (*ec2.DeleteVpcEndpointServiceConfigurationsOutput, error)
	DescribeVpcEndpointConnections(ctx context.Context, input *ec2.DescribeVpcEndpointConnectionsInput, optFns ...func(*ec2.Options)) (*ec2.DescribeVpcEndpointConnectionsOutput, error)
	AcceptVpcEndpointConnections(ctx context.Context, params *ec2.AcceptVpcEndpointConnectionsInput, optFns ...func(*ec2.Options)) (*ec2.AcceptVpcEndpointConnectionsOutput, error)
	RejectVpcEndpointConnections(ctx context.Context, params *ec2.RejectVpcEndpointConnectionsInput, optFns ...func(*ec2.Options)) (*ec2.RejectVpcEndpointConnectionsOutput, error)
	DescribeSecurityGroups(ctx context.Context, input *ec2.DescribeSecurityGroupsInput, optFns ...func(*ec2.Options)) (*ec2.DescribeSecurityGroupsOutput, error)
	DeleteSecurityGroup(ctx context.Context, params *ec2.DeleteSecurityGroupInput, optFns ...func(*ec2.Options)) (*ec2.DeleteSecurityGroupOutput, error)
	DescribeVpcEndpoints(ctx context.Context, input *ec2.DescribeVpcEndpointsInput, optFns ...func(*ec2.Options)) (*ec2.DescribeVpcEndpointsOutput, error)
	DeleteVpcEndpoints(ctx context.Context, params *ec2.DeleteVpcEndpointsInput, optFns ...func(*ec2.Options)) (*ec2.DeleteVpcEndpointsOutput, error)
	CreateSecurityGroup(ctx context.Context, params *ec2.CreateSecurityGroupInput, optFns ...func(*ec2.Options)) (*ec2.CreateSecurityGroupOutput, error)
	CreateVpcEndpoint(ctx context.Context, params *ec2.CreateVpcEndpointInput, optFns ...func(*ec2.Options)) (*ec2.CreateVpcEndpointOutput, error)
	DescribeNetworkInterfaces(ctx context.Context, input *ec2.DescribeNetworkInterfacesInput, optFns ...func(*ec2.Options)) (*ec2.DescribeNetworkInterfacesOutput, error)
	AuthorizeSecurityGroupIngress(ctx context.Context, params *ec2.AuthorizeSecurityGroupIngressInput, optFns ...func(*ec2.Options)) (*ec2.AuthorizeSecurityGroupIngressOutput, error)
}

type ElbClient added in v0.2.46

type ElbClient interface {
	DescribeLoadBalancers(ctx context.Context, input *elb.DescribeLoadBalancersInput, optFns ...func(*elb.Options)) (*elb.DescribeLoadBalancersOutput, error)
	CreateLoadBalancer(ctx context.Context, input *elb.CreateLoadBalancerInput, optFns ...func(*elb.Options)) (*elb.CreateLoadBalancerOutput, error)
	DeleteLoadBalancer(ctx context.Context, input *elb.DeleteLoadBalancerInput, optFns ...func(*elb.Options)) (*elb.DeleteLoadBalancerOutput, error)
	DescribeTargetGroups(ctx context.Context, input *elb.DescribeTargetGroupsInput, optFns ...func(*elb.Options)) (*elb.DescribeTargetGroupsOutput, error)
	CreateTargetGroup(ctx context.Context, input *elb.CreateTargetGroupInput, optFns ...func(*elb.Options)) (*elb.CreateTargetGroupOutput, error)
	DeleteTargetGroup(ctx context.Context, input *elb.DeleteTargetGroupInput, optFns ...func(*elb.Options)) (*elb.DeleteTargetGroupOutput, error)
	DescribeListeners(ctx context.Context, input *elb.DescribeListenersInput, optFns ...func(*elb.Options)) (*elb.DescribeListenersOutput, error)
	CreateListener(ctx context.Context, input *elb.CreateListenerInput, optFns ...func(*elb.Options)) (*elb.CreateListenerOutput, error)
	DeleteListener(ctx context.Context, params *elb.DeleteListenerInput, optFns ...func(*elb.Options)) (*elb.DeleteListenerOutput, error)
	DescribeTargetHealth(ctx context.Context, input *elb.DescribeTargetHealthInput, optFns ...func(*elb.Options)) (*elb.DescribeTargetHealthOutput, error)
	RegisterTargets(ctx context.Context, input *elb.RegisterTargetsInput, optFns ...func(*elb.Options)) (*elb.RegisterTargetsOutput, error)
	DeregisterTargets(ctx context.Context, input *elb.DeregisterTargetsInput, optFns ...func(*elb.Options)) (*elb.DeregisterTargetsOutput, error)
}

type Events

type Events struct {
	Maintenance Maintenance `json:"maintenance"`
}

Events events

type IAM

type IAM struct {
	Info string `json:"info"`
}

IAM role

type Instance

type Instance struct {
	AmiID              string             `json:"ami-id"`
	AmiLaunchIndex     string             `json:"ami-launch-index"`
	AmiManifestPath    string             `json:"ami-manifest-path"`
	BlockDeviceMapping BlockDeviceMapping `json:"block-device-mapping"`
	Events             Events             `json:"events"`
	Hostname           string             `json:"hostname"`
	IAM                IAM                `json:"iam"`
	InstanceAction     string             `json:"instance-action"`
	InstanceID         string             `json:"instance-id"`
	InstanceLifeCycle  string             `json:"instance-life-cycle"`
	InstanceType       string             `json:"instance-type"`
	KernelID           string             `json:"kernel-id"`
	LocalHostname      string             `json:"local-hostname"`
	LocalIPv4          string             `json:"local-ipv4"`
	Mac                string             `json:"mac"`
	Network            Network            `json:"network"`
	Placement          Placement          `json:"placement"`
	ProductCodes       string             `json:"product-codes"`
	PublicHostname     string             `json:"public-hostname"`
	PublicIPv4         string             `json:"public-ipv4"`
	RamdiskID          string             `json:"ramdisk-id"`
	ReservationID      string             `json:"reservation-id"`
	SecurityGroups     string             `json:"security-groups"`
	Services           Services           `json:"services"`
	Spot               Spot               `json:"spot"`
}

Instance - Aws instance metadata

func InstanceMetadata added in v0.2.46

func InstanceMetadata() (instance *Instance, err error)

InstanceMetadata - load typed instance metadata

func (*Instance) Subnets

func (i *Instance) Subnets() []string

Subnets - get subnets

func (*Instance) VPCs

func (i *Instance) VPCs() []string

type InstanceIdentity

type InstanceIdentity struct {
	Document  Document `json:"document"`
	Dsa2048   string   `json:"dsa2048"`
	Pkcs7     string   `json:"pkcs7"`
	Rsa2048   string   `json:"rsa2048"`
	Signature string   `json:"signature"`
}

InstanceIdentity path

type Interfaces

type Interfaces struct {
	Macs map[string]Mac `json:"macs"`
}

Interfaces description

type Mac

type Mac struct {
	DeviceNumber     string `json:"device-number"`
	InterfaceID      string `json:"interface-id"`
	LocalHostname    string `json:"local-hostname"`
	Mac              string `json:"mac"`
	NetworkCardIndex string `json:"network-card-index"`
	OwnerID          string `json:"owner-id"`
	PublicHostname   string `json:"public-hostname"`
	SecurityGroups   string `json:"security-groups"`
	SubnetID         string `json:"subnet-id"`
	VPCID            string `json:"vpc-id"`
}

Mac - Mac interface description

type Maintenance

type Maintenance struct {
	History   string `json:"history"`
	Scheduled string `json:"scheduled"`
}

Maintenance description

type Network

type Network struct {
	Interfaces Interfaces `json:"interfaces"`
}

Network description

type Placement

type Placement struct {
	AvailabilityZone   string `json:"availability-zone"`
	AvailabilityZoneID string `json:"availability-zone-id"`
	GroupName          string `json:"group-name"`
	HostID             string `json:"host-id"`
	PartitionNumber    int    `json:"partition-number"`
	Region             string `json:"region"`
}

Placement info

type Services

type Services struct {
	Domain    string `json:"domain"`
	Partition string `json:"partition"`
}

Services info

type Spot

type Spot struct {
	InstanceAction  string `json:"instance-action"`
	TerminationTime string `json:"termination-time"`
}

Spot info

Jump to

Keyboard shortcuts

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