Documentation ¶
Index ¶
- type AWS
- func (aws *AWS) CreateEndpoint(request *types.CreateEndpointRequest) (*types.Endpoint, error)
- func (aws *AWS) CreatePrivateLinkService(req types.PlsRequest) (res types.PlsResponse, err error)
- func (awsInstance *AWS) DeleteEndpoint(ctx context.Context, endpointID string) error
- func (aws *AWS) DeletePrivateLinkService(req types.PlsRequest) error
- func (awsInstance *AWS) DeleteSecurityGroup(ctx context.Context, securityGroupID string) error
- func (aws *AWS) GetCallerIdentity() (*string, error)
- func (aws *AWS) GetEndpoint(request *types.CreateEndpointRequest) (*types.Endpoint, error)
- func (aws *AWS) GetMetadata() (metadata types.Metadata, err error)
- func (aws *AWS) GetPrivateLinkServiceResources(req types.PlsRequest) (res types.PlsResourcesResponse, err error)
- func (c *AWS) GetProvider() types.Vendor
- func (aws *AWS) LoadCredentials()
- func (aws *AWS) Subnets() (subnets []string)
- type BlockDeviceMapping
- type Clients
- type Document
- type DynamicData
- type Ec2Client
- type ElbClient
- type Events
- type IAM
- type Instance
- type InstanceIdentity
- type Interfaces
- type Mac
- type Maintenance
- type Network
- type Placement
- type Services
- type Spot
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 (*AWS) CreateEndpoint ¶
func (*AWS) CreatePrivateLinkService ¶ added in v0.2.24
func (aws *AWS) CreatePrivateLinkService(req types.PlsRequest) (res types.PlsResponse, err error)
func (*AWS) DeleteEndpoint ¶
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 (*AWS) GetCallerIdentity ¶ added in v0.2.16
func (*AWS) GetEndpoint ¶
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 (*AWS) LoadCredentials ¶ added in v0.2.18
func (aws *AWS) LoadCredentials()
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 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 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
InstanceMetadata - load typed instance metadata
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 ¶
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 ¶
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
Click to show internal directories.
Click to hide internal directories.