iam

package
v0.18.0 Latest Latest
Warning

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

Go to latest
Published: May 2, 2021 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BuildIAMTags added in v0.9.0

func BuildIAMTags(tags []v1alpha1.Tag) []iam.Tag

BuildIAMTags build a tag array with type that IAM client expects.

func CreatePatch added in v0.8.0

func CreatePatch(in *iam.Role, target *v1beta1.IAMRoleParameters) (*v1beta1.IAMRoleParameters, error)

CreatePatch creates a *v1beta1.IAMRoleParameters that has only the changed values between the target *v1beta1.IAMRoleParameters and the current *iam.Role

func DiffIAMTags added in v0.17.0

func DiffIAMTags(local []v1beta1.Tag, remote []iam.Tag) (add []iam.Tag, remove []string)

DiffIAMTags returns the lists of tags that need to be removed and added according to current and desired states.

func GenerateCreateRoleInput added in v0.8.0

func GenerateCreateRoleInput(name string, p *v1beta1.IAMRoleParameters) *iam.CreateRoleInput

GenerateCreateRoleInput from IAMRoleSpec

func GenerateIAMRole added in v0.8.0

func GenerateIAMRole(in v1beta1.IAMRoleParameters, role *iam.Role) error

GenerateIAMRole assigns the in IAMRoleParamters to role.

func GenerateRoleObservation added in v0.8.0

func GenerateRoleObservation(role iam.Role) v1beta1.IAMRoleExternalStatus

GenerateRoleObservation is used to produce IAMRoleExternalStatus from iam.Role

func GenerateRolePolicyObservation added in v0.8.0

func GenerateRolePolicyObservation(policy iam.AttachedPolicy) v1beta1.IAMRolePolicyAttachmentExternalStatus

GenerateRolePolicyObservation is used to produce IAMRolePolicyAttachmentExternalStatus from iam.AttachedPolicy

func IsErrorNotFound

func IsErrorNotFound(err error) bool

IsErrorNotFound returns true if the error code indicates that the item was not found

func IsPolicyUpToDate added in v0.10.0

func IsPolicyUpToDate(in v1alpha1.IAMPolicyParameters, policy iam.PolicyVersion) (bool, error)

IsPolicyUpToDate checks whether there is a change in any of the modifiable fields in policy.

func IsRoleUpToDate added in v0.8.0

func IsRoleUpToDate(in v1beta1.IAMRoleParameters, observed iam.Role) (bool, error)

IsRoleUpToDate checks whether there is a change in any of the modifiable fields in role.

func LateInitializeGroupPolicy added in v0.11.0

func LateInitializeGroupPolicy(in *v1alpha1.IAMGroupPolicyAttachmentParameters, policy *iam.AttachedPolicy)

LateInitializeGroupPolicy fills the empty fields in v1alpha1.GroupPolicyAttachmentParameters with the values seen in iam.AttachedPolicy.

func LateInitializePolicy added in v0.8.0

func LateInitializePolicy(in *v1beta1.IAMRolePolicyAttachmentParameters, policy *iam.AttachedPolicy)

LateInitializePolicy fills the empty fields in *v1beta1.IAMRolePolicyAttachmentParameters with the values seen in iam.AttachedPolicy.

func LateInitializeRole added in v0.8.0

func LateInitializeRole(in *v1beta1.IAMRoleParameters, role *iam.Role)

LateInitializeRole fills the empty fields in *v1beta1.IAMRoleParameters with the values seen in iam.Role.

func LateInitializeUser added in v0.9.0

func LateInitializeUser(in *v1alpha1.IAMUserParameters, user *iam.User)

LateInitializeUser fills the empty fields in *v1alpha1.User with the values seen in iam.User.

func LateInitializeUserPolicy added in v0.9.0

func LateInitializeUserPolicy(in *v1alpha1.IAMUserPolicyAttachmentParameters, policy *iam.AttachedPolicy)

LateInitializeUserPolicy fills the empty fields in v1alpha1.UserPolicyAttachmentParameters with the values seen in iam.AttachedPolicy.

Types

type AccessClient added in v0.15.0

type AccessClient interface {
	CreateAccessKeyRequest(*iam.CreateAccessKeyInput) iam.CreateAccessKeyRequest
	DeleteAccessKeyRequest(*iam.DeleteAccessKeyInput) iam.DeleteAccessKeyRequest
	ListAccessKeysRequest(*iam.ListAccessKeysInput) iam.ListAccessKeysRequest
	UpdateAccessKeyRequest(*iam.UpdateAccessKeyInput) iam.UpdateAccessKeyRequest
}

AccessClient is the external client used for IAMAccessKey Custom Resource

func NewAccessClient added in v0.15.0

func NewAccessClient(conf aws.Config) AccessClient

NewAccessClient returns a new client using AWS credentials as JSON encoded data.

type Client

type Client interface {
	CreateUser(username string) (*iam.AccessKey, error)
	DeleteUser(username string) error
	CreatePolicyAndAttach(username string, policyName string, policyDocument string) (string, error)
	GetPolicyVersion(policyName string) (string, error)
	UpdatePolicy(policyName string, policyDocument string) (string, error)
	DeletePolicyAndDetach(username string, policyName string) error
	GetAccountID() (string, error)
}

Client defines IAM Client operations mockery -case snake -name Client -output fake -outpkg fake

func NewClient

func NewClient(config aws.Config) Client

NewClient creates new AWS Client with provided AWS Configurations/Credentials

type GroupClient added in v0.11.0

type GroupClient interface {
	CreateGroupRequest(*iam.CreateGroupInput) iam.CreateGroupRequest
	GetGroupRequest(*iam.GetGroupInput) iam.GetGroupRequest
	UpdateGroupRequest(*iam.UpdateGroupInput) iam.UpdateGroupRequest
	DeleteGroupRequest(*iam.DeleteGroupInput) iam.DeleteGroupRequest
}

GroupClient is the external client used for IAMGroup Custom Resource

func NewGroupClient added in v0.11.0

func NewGroupClient(cfg aws.Config) GroupClient

NewGroupClient returns a new client using AWS credentials as JSON encoded data.

type GroupPolicyAttachmentClient added in v0.11.0

type GroupPolicyAttachmentClient interface {
	AttachGroupPolicyRequest(*iam.AttachGroupPolicyInput) iam.AttachGroupPolicyRequest
	DetachGroupPolicyRequest(*iam.DetachGroupPolicyInput) iam.DetachGroupPolicyRequest
	ListAttachedGroupPoliciesRequest(*iam.ListAttachedGroupPoliciesInput) iam.ListAttachedGroupPoliciesRequest
}

GroupPolicyAttachmentClient is the external client used for GroupPolicyAttachment Custom Resource

func NewGroupPolicyAttachmentClient added in v0.11.0

func NewGroupPolicyAttachmentClient(cfg aws.Config) GroupPolicyAttachmentClient

NewGroupPolicyAttachmentClient creates new RDS RDSClient with provided AWS Configurations/Credentials

type GroupUserMembershipClient added in v0.11.0

type GroupUserMembershipClient interface {
	AddUserToGroupRequest(*iam.AddUserToGroupInput) iam.AddUserToGroupRequest
	RemoveUserFromGroupRequest(*iam.RemoveUserFromGroupInput) iam.RemoveUserFromGroupRequest
	ListGroupsForUserRequest(*iam.ListGroupsForUserInput) iam.ListGroupsForUserRequest
}

GroupUserMembershipClient is the external client used for GroupUserMembership Custom Resource

func NewGroupUserMembershipClient added in v0.11.0

func NewGroupUserMembershipClient(cfg aws.Config) GroupUserMembershipClient

NewGroupUserMembershipClient creates new RDS RDSClient with provided AWS Configurations/Credentials

type PolicyClient added in v0.10.0

type PolicyClient interface {
	CreatePolicyRequest(*iam.CreatePolicyInput) iam.CreatePolicyRequest
	GetPolicyRequest(*iam.GetPolicyInput) iam.GetPolicyRequest
	DeletePolicyRequest(*iam.DeletePolicyInput) iam.DeletePolicyRequest
	GetPolicyVersionRequest(*iam.GetPolicyVersionInput) iam.GetPolicyVersionRequest
	CreatePolicyVersionRequest(*iam.CreatePolicyVersionInput) iam.CreatePolicyVersionRequest
	ListPolicyVersionsRequest(*iam.ListPolicyVersionsInput) iam.ListPolicyVersionsRequest
	DeletePolicyVersionRequest(*iam.DeletePolicyVersionInput) iam.DeletePolicyVersionRequest
}

PolicyClient is the external client used for IAMPolicy Custom Resource

func NewPolicyClient added in v0.10.0

func NewPolicyClient(cfg aws.Config) PolicyClient

NewPolicyClient returns a new client using AWS credentials as JSON encoded data.

type PolicyDocument

type PolicyDocument struct {
	Version   string
	Statement []StatementEntry
}

PolicyDocument is the structure of IAM policy document

type RoleClient

type RoleClient interface {
	GetRoleRequest(*iam.GetRoleInput) iam.GetRoleRequest
	CreateRoleRequest(*iam.CreateRoleInput) iam.CreateRoleRequest
	DeleteRoleRequest(*iam.DeleteRoleInput) iam.DeleteRoleRequest
	UpdateRoleRequest(*iam.UpdateRoleInput) iam.UpdateRoleRequest
	UpdateAssumeRolePolicyRequest(*iam.UpdateAssumeRolePolicyInput) iam.UpdateAssumeRolePolicyRequest
	TagRoleRequest(input *iam.TagRoleInput) iam.TagRoleRequest
	UntagRoleRequest(input *iam.UntagRoleInput) iam.UntagRoleRequest
}

RoleClient is the external client used for IAMRole Custom Resource

func NewRoleClient

func NewRoleClient(conf aws.Config) RoleClient

NewRoleClient returns a new client using AWS credentials as JSON encoded data.

type RolePolicyAttachmentClient

type RolePolicyAttachmentClient interface {
	AttachRolePolicyRequest(*iam.AttachRolePolicyInput) iam.AttachRolePolicyRequest
	ListAttachedRolePoliciesRequest(*iam.ListAttachedRolePoliciesInput) iam.ListAttachedRolePoliciesRequest
	DetachRolePolicyRequest(*iam.DetachRolePolicyInput) iam.DetachRolePolicyRequest
}

RolePolicyAttachmentClient is the external client used for IAMRolePolicyAttachment Custom Resource

func NewRolePolicyAttachmentClient

func NewRolePolicyAttachmentClient(conf aws.Config) RolePolicyAttachmentClient

NewRolePolicyAttachmentClient returns a new client given an aws config

type StatementEntry

type StatementEntry struct {
	Sid      string
	Effect   string
	Action   []string
	Resource []string
}

StatementEntry is used to define permission statements in a PolicyDocument

type UserClient added in v0.9.0

type UserClient interface {
	GetUserRequest(*iam.GetUserInput) iam.GetUserRequest
	CreateUserRequest(*iam.CreateUserInput) iam.CreateUserRequest
	UpdateUserRequest(*iam.UpdateUserInput) iam.UpdateUserRequest
	DeleteUserRequest(*iam.DeleteUserInput) iam.DeleteUserRequest
}

UserClient is the external client used for IAM User Custom Resource

func NewUserClient added in v0.9.0

func NewUserClient(cfg aws.Config) UserClient

NewUserClient returns a new client using AWS credentials as JSON encoded data.

type UserPolicyAttachmentClient added in v0.9.0

type UserPolicyAttachmentClient interface {
	AttachUserPolicyRequest(*iam.AttachUserPolicyInput) iam.AttachUserPolicyRequest
	DetachUserPolicyRequest(*iam.DetachUserPolicyInput) iam.DetachUserPolicyRequest
	ListAttachedUserPoliciesRequest(*iam.ListAttachedUserPoliciesInput) iam.ListAttachedUserPoliciesRequest
}

UserPolicyAttachmentClient is the external client used for UserPolicyAttachment Custom Resource

func NewUserPolicyAttachmentClient added in v0.9.0

func NewUserPolicyAttachmentClient(cfg aws.Config) UserPolicyAttachmentClient

NewUserPolicyAttachmentClient creates new RDS RDSClient with provided AWS Configurations/Credentials

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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