Documentation ¶
Index ¶
- func CheckIAMUserExists(awsClient Client, username *string) (bool, error)
- func CreateIAMUserAndAttachPolicy(awsClient Client, username, policyArn *string) error
- func DeleteS3BucketsWithPrefix(awsClient Client, prefix string) error
- func DeleteUserAccessKeys(awsClient Client, username *string) error
- func GetAssumeRoleCredentials(awsClient Client, durationSeconds *int64, roleSessionName, roleArn *string) (*sts.Credentials, error)
- func RefreshIAMPolicy(awsClient Client, federatedRole *awsv1alpha1.AWSFederatedRole, ...) error
- func RequestSignInToken(awsClient Client, durationSeconds *int64, sessionName, roleArn *string) (string, error)
- type AwsClient
- func (c *AwsClient) AssumeRole(input *sts.AssumeRoleInput) (*sts.AssumeRoleOutput, error)
- func (c *AwsClient) AttachRolePolicy(input *iam.AttachRolePolicyInput) (*iam.AttachRolePolicyOutput, error)
- func (c *AwsClient) AttachUserPolicy(input *iam.AttachUserPolicyInput) (*iam.AttachUserPolicyOutput, error)
- func (c *AwsClient) CreateAccessKey(input *iam.CreateAccessKeyInput) (*iam.CreateAccessKeyOutput, error)
- func (c *AwsClient) CreateCostCategoryDefinition(input *costexplorer.CreateCostCategoryDefinitionInput) (*costexplorer.CreateCostCategoryDefinitionOutput, error)
- func (c *AwsClient) CreatePolicy(input *iam.CreatePolicyInput) (*iam.CreatePolicyOutput, error)
- func (c *AwsClient) CreateUser(input *iam.CreateUserInput) (*iam.CreateUserOutput, error)
- func (c *AwsClient) DeleteAccessKey(input *iam.DeleteAccessKeyInput) (*iam.DeleteAccessKeyOutput, error)
- func (c *AwsClient) DeleteBucket(input *s3.DeleteBucketInput) (*s3.DeleteBucketOutput, error)
- func (c *AwsClient) DeleteObjects(input *s3.DeleteObjectsInput) (*s3.DeleteObjectsOutput, error)
- func (c *AwsClient) DeletePolicy(input *iam.DeletePolicyInput) (*iam.DeletePolicyOutput, error)
- func (c *AwsClient) DescribeOrganizationalUnit(input *organizations.DescribeOrganizationalUnitInput) (*organizations.DescribeOrganizationalUnitOutput, error)
- func (c *AwsClient) DetachRolePolicy(input *iam.DetachRolePolicyInput) (*iam.DetachRolePolicyOutput, error)
- func (c *AwsClient) GetCallerIdentity(input *sts.GetCallerIdentityInput) (*sts.GetCallerIdentityOutput, error)
- func (c *AwsClient) GetCostAndUsage(input *costexplorer.GetCostAndUsageInput) (*costexplorer.GetCostAndUsageOutput, error)
- func (c *AwsClient) GetFederationToken(input *sts.GetFederationTokenInput) (*sts.GetFederationTokenOutput, error)
- func (c *AwsClient) GetUser(input *iam.GetUserInput) (*iam.GetUserOutput, error)
- func (c *AwsClient) ListAccessKeys(input *iam.ListAccessKeysInput) (*iam.ListAccessKeysOutput, error)
- func (c *AwsClient) ListAccountsForParent(input *organizations.ListAccountsForParentInput) (*organizations.ListAccountsForParentOutput, error)
- func (c *AwsClient) ListAttachedRolePolicies(input *iam.ListAttachedRolePoliciesInput) (*iam.ListAttachedRolePoliciesOutput, error)
- func (c *AwsClient) ListBuckets(input *s3.ListBucketsInput) (*s3.ListBucketsOutput, error)
- func (c *AwsClient) ListCostCategoryDefinitions(input *costexplorer.ListCostCategoryDefinitionsInput) (*costexplorer.ListCostCategoryDefinitionsOutput, error)
- func (c *AwsClient) ListObjects(input *s3.ListObjectsInput) (*s3.ListObjectsOutput, error)
- func (c *AwsClient) ListOrganizationalUnitsForParent(input *organizations.ListOrganizationalUnitsForParentInput) (*organizations.ListOrganizationalUnitsForParentOutput, error)
- func (c *AwsClient) ListUsers(input *iam.ListUsersInput) (*iam.ListUsersOutput, error)
- type AwsClientInput
- type Client
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DeleteS3BucketsWithPrefix ¶
Delete all S3 buckets with the specified prefix
func DeleteUserAccessKeys ¶
func GetAssumeRoleCredentials ¶
func GetAssumeRoleCredentials(awsClient Client, durationSeconds *int64, roleSessionName, roleArn *string) (*sts.Credentials, error)
GetAssumeRoleCredentials gets the assume role credentials from AWS.
func RefreshIAMPolicy ¶
func RefreshIAMPolicy(awsClient Client, federatedRole *awsv1alpha1.AWSFederatedRole, awsAccountID, uid string) error
Types ¶
type AwsClient ¶
type AwsClient struct {
// contains filtered or unexported fields
}
func (*AwsClient) AssumeRole ¶
func (c *AwsClient) AssumeRole(input *sts.AssumeRoleInput) (*sts.AssumeRoleOutput, error)
func (*AwsClient) AttachRolePolicy ¶
func (c *AwsClient) AttachRolePolicy(input *iam.AttachRolePolicyInput) (*iam.AttachRolePolicyOutput, error)
func (*AwsClient) AttachUserPolicy ¶
func (c *AwsClient) AttachUserPolicy(input *iam.AttachUserPolicyInput) (*iam.AttachUserPolicyOutput, error)
func (*AwsClient) CreateAccessKey ¶
func (c *AwsClient) CreateAccessKey(input *iam.CreateAccessKeyInput) (*iam.CreateAccessKeyOutput, error)
func (*AwsClient) CreateCostCategoryDefinition ¶
func (c *AwsClient) CreateCostCategoryDefinition(input *costexplorer.CreateCostCategoryDefinitionInput) (*costexplorer.CreateCostCategoryDefinitionOutput, error)
func (*AwsClient) CreatePolicy ¶
func (c *AwsClient) CreatePolicy(input *iam.CreatePolicyInput) (*iam.CreatePolicyOutput, error)
func (*AwsClient) CreateUser ¶
func (c *AwsClient) CreateUser(input *iam.CreateUserInput) (*iam.CreateUserOutput, error)
func (*AwsClient) DeleteAccessKey ¶
func (c *AwsClient) DeleteAccessKey(input *iam.DeleteAccessKeyInput) (*iam.DeleteAccessKeyOutput, error)
func (*AwsClient) DeleteBucket ¶
func (c *AwsClient) DeleteBucket(input *s3.DeleteBucketInput) (*s3.DeleteBucketOutput, error)
func (*AwsClient) DeleteObjects ¶
func (c *AwsClient) DeleteObjects(input *s3.DeleteObjectsInput) (*s3.DeleteObjectsOutput, error)
func (*AwsClient) DeletePolicy ¶
func (c *AwsClient) DeletePolicy(input *iam.DeletePolicyInput) (*iam.DeletePolicyOutput, error)
func (*AwsClient) DescribeOrganizationalUnit ¶
func (c *AwsClient) DescribeOrganizationalUnit(input *organizations.DescribeOrganizationalUnitInput) (*organizations.DescribeOrganizationalUnitOutput, error)
func (*AwsClient) DetachRolePolicy ¶
func (c *AwsClient) DetachRolePolicy(input *iam.DetachRolePolicyInput) (*iam.DetachRolePolicyOutput, error)
func (*AwsClient) GetCallerIdentity ¶
func (c *AwsClient) GetCallerIdentity(input *sts.GetCallerIdentityInput) (*sts.GetCallerIdentityOutput, error)
func (*AwsClient) GetCostAndUsage ¶
func (c *AwsClient) GetCostAndUsage(input *costexplorer.GetCostAndUsageInput) (*costexplorer.GetCostAndUsageOutput, error)
func (*AwsClient) GetFederationToken ¶
func (c *AwsClient) GetFederationToken(input *sts.GetFederationTokenInput) (*sts.GetFederationTokenOutput, error)
func (*AwsClient) GetUser ¶
func (c *AwsClient) GetUser(input *iam.GetUserInput) (*iam.GetUserOutput, error)
func (*AwsClient) ListAccessKeys ¶
func (c *AwsClient) ListAccessKeys(input *iam.ListAccessKeysInput) (*iam.ListAccessKeysOutput, error)
func (*AwsClient) ListAccountsForParent ¶
func (c *AwsClient) ListAccountsForParent(input *organizations.ListAccountsForParentInput) (*organizations.ListAccountsForParentOutput, error)
func (*AwsClient) ListAttachedRolePolicies ¶
func (c *AwsClient) ListAttachedRolePolicies(input *iam.ListAttachedRolePoliciesInput) (*iam.ListAttachedRolePoliciesOutput, error)
func (*AwsClient) ListBuckets ¶
func (c *AwsClient) ListBuckets(input *s3.ListBucketsInput) (*s3.ListBucketsOutput, error)
func (*AwsClient) ListCostCategoryDefinitions ¶
func (c *AwsClient) ListCostCategoryDefinitions(input *costexplorer.ListCostCategoryDefinitionsInput) (*costexplorer.ListCostCategoryDefinitionsOutput, error)
func (*AwsClient) ListObjects ¶
func (c *AwsClient) ListObjects(input *s3.ListObjectsInput) (*s3.ListObjectsOutput, error)
func (*AwsClient) ListOrganizationalUnitsForParent ¶
func (c *AwsClient) ListOrganizationalUnitsForParent(input *organizations.ListOrganizationalUnitsForParentInput) (*organizations.ListOrganizationalUnitsForParentOutput, error)
func (*AwsClient) ListUsers ¶
func (c *AwsClient) ListUsers(input *iam.ListUsersInput) (*iam.ListUsersOutput, error)
type AwsClientInput ¶
type AwsClientInput struct { AccessKeyID string SecretAccessKey string SessionToken string Region string }
AwsClientInput input for new aws client
type Client ¶
type Client interface { // sts AssumeRole(*sts.AssumeRoleInput) (*sts.AssumeRoleOutput, error) GetCallerIdentity(*sts.GetCallerIdentityInput) (*sts.GetCallerIdentityOutput, error) GetFederationToken(*sts.GetFederationTokenInput) (*sts.GetFederationTokenOutput, error) // S3 ListBuckets(*s3.ListBucketsInput) (*s3.ListBucketsOutput, error) DeleteBucket(*s3.DeleteBucketInput) (*s3.DeleteBucketOutput, error) ListObjects(*s3.ListObjectsInput) (*s3.ListObjectsOutput, error) DeleteObjects(*s3.DeleteObjectsInput) (*s3.DeleteObjectsOutput, error) //iam CreateAccessKey(*iam.CreateAccessKeyInput) (*iam.CreateAccessKeyOutput, error) DeleteAccessKey(*iam.DeleteAccessKeyInput) (*iam.DeleteAccessKeyOutput, error) ListAccessKeys(*iam.ListAccessKeysInput) (*iam.ListAccessKeysOutput, error) GetUser(*iam.GetUserInput) (*iam.GetUserOutput, error) CreateUser(*iam.CreateUserInput) (*iam.CreateUserOutput, error) ListUsers(*iam.ListUsersInput) (*iam.ListUsersOutput, error) AttachUserPolicy(*iam.AttachUserPolicyInput) (*iam.AttachUserPolicyOutput, error) CreatePolicy(*iam.CreatePolicyInput) (*iam.CreatePolicyOutput, error) DeletePolicy(*iam.DeletePolicyInput) (*iam.DeletePolicyOutput, error) AttachRolePolicy(*iam.AttachRolePolicyInput) (*iam.AttachRolePolicyOutput, error) DetachRolePolicy(*iam.DetachRolePolicyInput) (*iam.DetachRolePolicyOutput, error) ListAttachedRolePolicies(*iam.ListAttachedRolePoliciesInput) (*iam.ListAttachedRolePoliciesOutput, error) // Organizations ListAccountsForParent(input *organizations.ListAccountsForParentInput) (*organizations.ListAccountsForParentOutput, error) ListOrganizationalUnitsForParent(input *organizations.ListOrganizationalUnitsForParentInput) (*organizations.ListOrganizationalUnitsForParentOutput, error) DescribeOrganizationalUnit(input *organizations.DescribeOrganizationalUnitInput) (*organizations.DescribeOrganizationalUnitOutput, error) // Cost Explorer GetCostAndUsage(input *costexplorer.GetCostAndUsageInput) (*costexplorer.GetCostAndUsageOutput, error) CreateCostCategoryDefinition(input *costexplorer.CreateCostCategoryDefinitionInput) (*costexplorer.CreateCostCategoryDefinitionOutput, error) ListCostCategoryDefinitions(input *costexplorer.ListCostCategoryDefinitionsInput) (*costexplorer.ListCostCategoryDefinitionsOutput, error) }
TODO: Add more methods when needed
func NewAwsClient ¶
NewAwsClient creates an AWS client with credentials in the environment
func NewAwsClientWithInput ¶
func NewAwsClientWithInput(input *AwsClientInput) (Client, error)
NewAwsClientWithInput creates an AWS client with input credentials
Click to show internal directories.
Click to hide internal directories.