aws

package
v0.8.0 Latest Latest
Warning

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

Go to latest
Published: Feb 23, 2023 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Overview

Package aws provides steps implementations related to AWS.

Index

Constants

This section is empty.

Variables

View Source
var (
	ClusterAWSRegion = common.GetEnv("AWS_REGION", "us-west-2")
	BDDClusterName   = common.GetEnv("CLUSTER_NAME", common.GetUsernamePrefix()+"kubedog-bdd")
)

Functions

func CreateIAMRole added in v0.8.0

func CreateIAMRole(name, description string, policyJSON []byte, iamClient iamiface.IAMAPI, tags ...*iam.Tag) (*iam.Role, error)

CreateIAMRole Wrapper to create IAM Role with policy in AWS.

func CreateManagedPolicy added in v0.8.0

func CreateManagedPolicy(name, description string, policyJSON []byte, iamClient iamiface.IAMAPI) (*iam.Policy, error)

func CreateManagedPolicyVersion added in v0.8.0

func CreateManagedPolicyVersion(arn string, policyJSON []byte, isDefault bool, iamClient iamiface.IAMAPI) (*iam.PolicyVersion, error)

CreateManagedPolicyVersion creates managed policy version and set it as default

func DeleteIAMRole added in v0.8.0

func DeleteIAMRole(roleName string, iamClient iamiface.IAMAPI) error

DeleteIAMRole Wrapper to delete IAM Role with in policy only.

func DeleteManagedPolicy added in v0.8.0

func DeleteManagedPolicy(arn string, iamClient iamiface.IAMAPI) error

DeleteManagedPolicy returns delete managed policy

func DeleteManagedPolicyVersion added in v0.8.0

func DeleteManagedPolicyVersion(arn, id string, iamClient iamiface.IAMAPI) error

DeleteManagedPolicyVersion return delete managed policy version

func GetAWSSession added in v0.8.0

func GetAWSSession(region string) client.ConfigProvider

GetAWSSession for a given region

func GetAccountNumber added in v0.8.0

func GetAccountNumber(svc stsiface.STSAPI) string

GetAccountNumber returns AWS account number

func GetIamRole added in v0.8.0

func GetIamRole(roleName string, iamClient iamiface.IAMAPI) (*iam.Role, error)

GetIamRole return existing IAM role data

func GetManagedPolicy added in v0.8.0

func GetManagedPolicy(policyARN string, iamClient iamiface.IAMAPI) (*iam.Policy, *iam.PolicyVersion, error)

GetManagedPolicy retrieves information about the specified managed policy and its default version

func ListManagedPolicyVersions added in v0.8.0

func ListManagedPolicyVersions(arn string, iamClient iamiface.IAMAPI) ([]*iam.PolicyVersion, error)

ListManagedPolicyVersions lists specified managed policy versions

func PutIAMRole added in v0.8.0

func PutIAMRole(name, description string, policyJSON []byte, iamClient iamiface.IAMAPI, tags ...*iam.Tag) (*iam.Role, error)

PutIAMRole returns updates/Creates IAM Role

func PutManagedPolicy added in v0.8.0

func PutManagedPolicy(name, arn, description string, policyJSON []byte, iamClient iamiface.IAMAPI) (*iam.Policy, error)

PutManagedPolicy returns updates/creates Managed IAM Policy

func UpdateIAMAssumeRole added in v0.8.0

func UpdateIAMAssumeRole(roleName string, policyJSON []byte, iamClient iamiface.IAMAPI) (*iam.UpdateAssumeRolePolicyOutput, error)

UpdateIAMAssumeRole Updates assume role policy doc

func UpdateManagedPolicy added in v0.8.0

func UpdateManagedPolicy(arn string, policyJSON []byte, iamClient iamiface.IAMAPI) (*iam.PolicyVersion, error)

UpdateManagedPolicy creates new managed policy version and set it as default A managed policy can have maximum of 5 versions, we are setting the threshold to be 3 1. List managed policy versions 2. Check if >= 3 (maximum threshold) 3. Then, delete oldest version 4. And, create new version and set it as default

Types

type Client

type Client struct {
	ASClient         autoscalingiface.AutoScalingAPI
	EKSClient        eksiface.EKSAPI
	Route53Client    route53iface.Route53API
	IAMClient        iamiface.IAMAPI
	STSClient        stsiface.STSAPI
	AsgName          string
	LaunchConfigName string
}

func (*Client) AnASGNamed

func (c *Client) AnASGNamed(name string) error

AnASGNamed updates the current ASG to be used by the other ASG related steps.

func (*Client) ClusterSharedIamOperation added in v0.8.0

func (c *Client) ClusterSharedIamOperation(operation string) error

func (*Client) DnsNameInHostedZoneID added in v0.8.0

func (c *Client) DnsNameInHostedZoneID(dnsName, hostedZoneID string) error

func (*Client) DnsNameShouldOrNotInHostedZoneID added in v0.8.0

func (c *Client) DnsNameShouldOrNotInHostedZoneID(dnsName, shouldOrNot, hostedZoneID string) error

func (*Client) GetAWSCredsAndClients

func (c *Client) GetAWSCredsAndClients() error

GetAWSCredsAndClients checks if there is a valid credential available and uses it to update the AS Client.

func (*Client) GetDNSRecord added in v0.8.0

func (c *Client) GetDNSRecord(dnsName string, hostedZoneID string) (string, error)

func (*Client) GetEksVpc added in v0.8.0

func (c *Client) GetEksVpc() (string, error)

func (*Client) IamRoleTrust added in v0.8.0

func (c *Client) IamRoleTrust(action, entityName, roleName string) error

func (*Client) ScaleCurrentASG

func (c *Client) ScaleCurrentASG(desiredMin, desiredMax int64) error

ScaleCurrentASG scales the max and min size of the current ASG.

func (*Client) UpdateFieldOfCurrentASG

func (c *Client) UpdateFieldOfCurrentASG(field, value string) error

UpdateFieldOfCurrentASG updates the current ASG. Fields/parameters supported: LaunchConfigurationName, MinSize, DesiredCapacity and MaxSize.

Jump to

Keyboard shortcuts

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