Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client interface { //EC2 DescribeAvailabilityZones(*ec2.DescribeAvailabilityZonesInput) (*ec2.DescribeAvailabilityZonesOutput, error) DescribeImages(*ec2.DescribeImagesInput) (*ec2.DescribeImagesOutput, error) DescribeVpcs(*ec2.DescribeVpcsInput) (*ec2.DescribeVpcsOutput, error) DescribeSubnets(*ec2.DescribeSubnetsInput) (*ec2.DescribeSubnetsOutput, error) DescribeSecurityGroups(*ec2.DescribeSecurityGroupsInput) (*ec2.DescribeSecurityGroupsOutput, error) RunInstances(*ec2.RunInstancesInput) (*ec2.Reservation, error) DescribeInstances(*ec2.DescribeInstancesInput) (*ec2.DescribeInstancesOutput, error) TerminateInstances(*ec2.TerminateInstancesInput) (*ec2.TerminateInstancesOutput, error) //ELB RegisterInstancesWithLoadBalancer(*elb.RegisterInstancesWithLoadBalancerInput) (*elb.RegisterInstancesWithLoadBalancerOutput, error) //IAM CreateAccessKey(*iam.CreateAccessKeyInput) (*iam.CreateAccessKeyOutput, error) CreateUser(*iam.CreateUserInput) (*iam.CreateUserOutput, error) DeleteAccessKey(*iam.DeleteAccessKeyInput) (*iam.DeleteAccessKeyOutput, error) DeleteUser(*iam.DeleteUserInput) (*iam.DeleteUserOutput, error) DeleteUserPolicy(*iam.DeleteUserPolicyInput) (*iam.DeleteUserPolicyOutput, error) GetUser(*iam.GetUserInput) (*iam.GetUserOutput, error) ListAccessKeys(*iam.ListAccessKeysInput) (*iam.ListAccessKeysOutput, error) ListUserPolicies(*iam.ListUserPoliciesInput) (*iam.ListUserPoliciesOutput, error) PutUserPolicy(*iam.PutUserPolicyInput) (*iam.PutUserPolicyOutput, error) //S3 CreateBucket(*s3.CreateBucketInput) (*s3.CreateBucketOutput, error) DeleteBucket(*s3.DeleteBucketInput) (*s3.DeleteBucketOutput, error) ListBuckets(*s3.ListBucketsInput) (*s3.ListBucketsOutput, error) //Custom GetS3API() s3iface.S3API //Route53 CreateHostedZone(input *route53.CreateHostedZoneInput) (*route53.CreateHostedZoneOutput, error) GetHostedZone(*route53.GetHostedZoneInput) (*route53.GetHostedZoneOutput, error) ListTagsForResource(*route53.ListTagsForResourceInput) (*route53.ListTagsForResourceOutput, error) ChangeTagsForResource(input *route53.ChangeTagsForResourceInput) (*route53.ChangeTagsForResourceOutput, error) DeleteHostedZone(input *route53.DeleteHostedZoneInput) (*route53.DeleteHostedZoneOutput, error) ListHostedZones(input *route53.ListHostedZonesInput) (*route53.ListHostedZonesOutput, error) ListResourceRecordSets(input *route53.ListResourceRecordSetsInput) (*route53.ListResourceRecordSetsOutput, error) ListHostedZonesByName(input *route53.ListHostedZonesByNameInput) (*route53.ListHostedZonesByNameOutput, error) ChangeResourceRecordSets(*route53.ChangeResourceRecordSetsInput) (*route53.ChangeResourceRecordSetsOutput, error) // ResourceTagging GetResourcesPages(input *resourcegroupstaggingapi.GetResourcesInput, fn func(*resourcegroupstaggingapi.GetResourcesOutput, bool) bool) error }
Client is a wrapper object for actual AWS SDK clients to allow for easier testing.
func NewClient ¶
NewClient creates our client wrapper object for the actual AWS clients we use. For authentication the underlying clients will use either the cluster AWS credentials secret if defined (i.e. in the root cluster), otherwise the IAM profile of the master where the actuator will run. (target clusters)
Pass a nil client, and empty secret name and namespace to load credentials from the standard AWS environment variables.
Click to show internal directories.
Click to hide internal directories.