Documentation
¶
Overview ¶
Package aws provides steps implementations related to AWS.
Index ¶
- Variables
- func CreateIAMRole(name, description string, policyJSON []byte, iamClient iamiface.IAMAPI, ...) (*iam.Role, error)
- func CreateManagedPolicy(name, description string, policyJSON []byte, iamClient iamiface.IAMAPI) (*iam.Policy, error)
- func CreateManagedPolicyVersion(arn string, policyJSON []byte, isDefault bool, iamClient iamiface.IAMAPI) (*iam.PolicyVersion, error)
- func DeleteIAMRole(roleName string, iamClient iamiface.IAMAPI) error
- func DeleteManagedPolicy(arn string, iamClient iamiface.IAMAPI) error
- func DeleteManagedPolicyVersion(arn, id string, iamClient iamiface.IAMAPI) error
- func GetAWSSession(region string) client.ConfigProvider
- func GetAccountNumber(svc stsiface.STSAPI) string
- func GetIamRole(roleName string, iamClient iamiface.IAMAPI) (*iam.Role, error)
- func GetManagedPolicy(policyARN string, iamClient iamiface.IAMAPI) (*iam.Policy, *iam.PolicyVersion, error)
- func ListManagedPolicyVersions(arn string, iamClient iamiface.IAMAPI) ([]*iam.PolicyVersion, error)
- func PutIAMRole(name, description string, policyJSON []byte, iamClient iamiface.IAMAPI, ...) (*iam.Role, error)
- func PutManagedPolicy(name, arn, description string, policyJSON []byte, iamClient iamiface.IAMAPI) (*iam.Policy, error)
- func UpdateIAMAssumeRole(roleName string, policyJSON []byte, iamClient iamiface.IAMAPI) (*iam.UpdateAssumeRolePolicyOutput, error)
- func UpdateManagedPolicy(arn string, policyJSON []byte, iamClient iamiface.IAMAPI) (*iam.PolicyVersion, error)
- type Client
- func (c *Client) AnASGNamed(name string) error
- func (c *Client) ClusterSharedIamOperation(operation string) error
- func (c *Client) DnsNameInHostedZoneID(dnsName, hostedZoneID string) error
- func (c *Client) DnsNameShouldOrNotInHostedZoneID(dnsName, shouldOrNot, hostedZoneID string) error
- func (c *Client) GetAWSCredsAndClients() error
- func (c *Client) GetDNSRecord(dnsName string, hostedZoneID string) (string, error)
- func (c *Client) GetEksVpc() (string, error)
- func (c *Client) IamRoleTrust(action, entityName, roleName string) error
- func (c *Client) ScaleCurrentASG(desiredMin, desiredMax int64) error
- func (c *Client) UpdateFieldOfCurrentASG(field, value string) error
Constants ¶
This section is empty.
Variables ¶
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 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
DeleteIAMRole Wrapper to delete IAM Role with in policy only.
func DeleteManagedPolicy ¶ added in v0.8.0
DeleteManagedPolicy returns delete managed policy
func DeleteManagedPolicyVersion ¶ added in v0.8.0
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
GetAccountNumber returns AWS account number
func GetIamRole ¶ added in v0.8.0
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
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 ¶
AnASGNamed updates the current ASG to be used by the other ASG related steps.
func (*Client) ClusterSharedIamOperation ¶ added in v0.8.0
func (*Client) DnsNameInHostedZoneID ¶ added in v0.8.0
func (*Client) DnsNameShouldOrNotInHostedZoneID ¶ added in v0.8.0
func (*Client) GetAWSCredsAndClients ¶
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 (*Client) IamRoleTrust ¶ added in v0.8.0
func (*Client) ScaleCurrentASG ¶
ScaleCurrentASG scales the max and min size of the current ASG.
func (*Client) UpdateFieldOfCurrentASG ¶
UpdateFieldOfCurrentASG updates the current ASG. Fields/parameters supported: LaunchConfigurationName, MinSize, DesiredCapacity and MaxSize.