Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the irsa v1alpha1 API group +kubebuilder:object:generate=true +groupName=irsa.voodoo.io
Index ¶
- Variables
- func StatementEquals(a, b []StatementSpec) bool
- type CrCondition
- type IamRoleServiceAccount
- func (in *IamRoleServiceAccount) DeepCopy() *IamRoleServiceAccount
- func (in *IamRoleServiceAccount) DeepCopyInto(out *IamRoleServiceAccount)
- func (in *IamRoleServiceAccount) DeepCopyObject() runtime.Object
- func (irsa IamRoleServiceAccount) HasStatus(st fmt.Stringer) bool
- func (irsa IamRoleServiceAccount) IsPendingDeletion() bool
- func (irsa IamRoleServiceAccount) Validate() error
- type IamRoleServiceAccountList
- type IamRoleServiceAccountSpec
- type IamRoleServiceAccountStatus
- type IrsaCondition
- type Policy
- func (p Policy) AwsName(cN string) string
- func (in *Policy) DeepCopy() *Policy
- func (in *Policy) DeepCopyInto(out *Policy)
- func (in *Policy) DeepCopyObject() runtime.Object
- func (p Policy) HasStatus(st fmt.Stringer) bool
- func (p Policy) IsPendingDeletion() bool
- func (p Policy) Path(cN string) string
- func (p Policy) PathPrefix(cN string) string
- func (p Policy) Validate(cN string) error
- type PolicyList
- type PolicySpec
- type PolicyStatus
- type Role
- type RoleList
- type RoleSpec
- type RoleStatus
- type StatementSpec
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "irsa.voodoo.io", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func StatementEquals ¶
func StatementEquals(a, b []StatementSpec) bool
StatementEquals is used to detect meaningful difference between 2 StatementSpec slices ie : order of elements is not taken into account
Types ¶
type CrCondition ¶
type CrCondition string
poorman's golang enum
var ( CrSubmitted CrCondition = "" CrPending CrCondition = "pending" CrForbidden CrCondition = "forbidden" CrFailed CrCondition = "failed" CrOK CrCondition = "created" )
func (CrCondition) String ¶
func (i CrCondition) String() string
type IamRoleServiceAccount ¶
type IamRoleServiceAccount struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec IamRoleServiceAccountSpec `json:"spec,omitempty"` Status IamRoleServiceAccountStatus `json:"status,omitempty"` }
IamRoleServiceAccount is the Schema for the iamroleserviceaccounts API
func NewIamRoleServiceAccount ¶
func NewIamRoleServiceAccount(name, ns, saName string, policyspec PolicySpec) *IamRoleServiceAccount
NewIamRoleServiceAccount is the IamRoleServiceAccount constructor
func (*IamRoleServiceAccount) DeepCopy ¶
func (in *IamRoleServiceAccount) DeepCopy() *IamRoleServiceAccount
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IamRoleServiceAccount.
func (*IamRoleServiceAccount) DeepCopyInto ¶
func (in *IamRoleServiceAccount) DeepCopyInto(out *IamRoleServiceAccount)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IamRoleServiceAccount) DeepCopyObject ¶
func (in *IamRoleServiceAccount) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (IamRoleServiceAccount) HasStatus ¶
func (irsa IamRoleServiceAccount) HasStatus(st fmt.Stringer) bool
HasStatus is used in tests, should be moved there
func (IamRoleServiceAccount) IsPendingDeletion ¶
func (irsa IamRoleServiceAccount) IsPendingDeletion() bool
IsPendingDeletion helps us to detect if the resource should be deleted
func (IamRoleServiceAccount) Validate ¶
func (irsa IamRoleServiceAccount) Validate() error
Validate returns an error if the IamRoleServiceAccountSpec is not valid
type IamRoleServiceAccountList ¶
type IamRoleServiceAccountList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []IamRoleServiceAccount `json:"items"` }
IamRoleServiceAccountList contains a list of IamRoleServiceAccount
func (*IamRoleServiceAccountList) DeepCopy ¶
func (in *IamRoleServiceAccountList) DeepCopy() *IamRoleServiceAccountList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IamRoleServiceAccountList.
func (*IamRoleServiceAccountList) DeepCopyInto ¶
func (in *IamRoleServiceAccountList) DeepCopyInto(out *IamRoleServiceAccountList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IamRoleServiceAccountList) DeepCopyObject ¶
func (in *IamRoleServiceAccountList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IamRoleServiceAccountSpec ¶
type IamRoleServiceAccountSpec struct { ServiceAccountName string `json:"serviceAccountName"` Policy PolicySpec `json:"policy"` }
IamRoleServiceAccountSpec defines the desired state of IamRoleServiceAccount
func (*IamRoleServiceAccountSpec) DeepCopy ¶
func (in *IamRoleServiceAccountSpec) DeepCopy() *IamRoleServiceAccountSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IamRoleServiceAccountSpec.
func (*IamRoleServiceAccountSpec) DeepCopyInto ¶
func (in *IamRoleServiceAccountSpec) DeepCopyInto(out *IamRoleServiceAccountSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IamRoleServiceAccountStatus ¶
type IamRoleServiceAccountStatus struct { Condition IrsaCondition `json:"condition"` Reason string `json:"reason,omitempty"` }
IamRoleServiceAccountStatus defines the observed state of IamRoleServiceAccount
func (*IamRoleServiceAccountStatus) DeepCopy ¶
func (in *IamRoleServiceAccountStatus) DeepCopy() *IamRoleServiceAccountStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IamRoleServiceAccountStatus.
func (*IamRoleServiceAccountStatus) DeepCopyInto ¶
func (in *IamRoleServiceAccountStatus) DeepCopyInto(out *IamRoleServiceAccountStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IrsaCondition ¶
type IrsaCondition string
var ( IrsaSubmitted IrsaCondition = "" IrsaPending IrsaCondition = "pending" IrsaSaNameConflict IrsaCondition = "saNameConflict" IrsaForbidden IrsaCondition = "forbidden" IrsaFailed IrsaCondition = "failed" IrsaProgressing IrsaCondition = "progressing" IrsaOK IrsaCondition = "created" )
func (IrsaCondition) String ¶
func (i IrsaCondition) String() string
String is just used for comparison in HasStatus
type Policy ¶
type Policy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PolicySpec `json:"spec,omitempty"` Status PolicyStatus `json:"status,omitempty"` }
Policy is the Schema for the awspolicies API
func NewPolicy ¶
func NewPolicy(name, ns string, stm []StatementSpec) *Policy
NewPolicy constructs a Policy, setting mandatory fields for us
func (Policy) AwsName ¶
AwsName is the name the resource will have on AWS It must be unique per AWS account thus the naming convention
func (*Policy) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Policy.
func (*Policy) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Policy) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (Policy) IsPendingDeletion ¶
IsPendingDeletion helps us to detect if a Policy should be deleted
func (Policy) PathPrefix ¶
PathPrefix is the "directory" where the policy will be available It's used to retrieved a policy on AWS
type PolicyList ¶
type PolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Policy `json:"items"` }
PolicyList contains a list of Policy
func (*PolicyList) DeepCopy ¶
func (in *PolicyList) DeepCopy() *PolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyList.
func (*PolicyList) DeepCopyInto ¶
func (in *PolicyList) DeepCopyInto(out *PolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PolicyList) DeepCopyObject ¶
func (in *PolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PolicySpec ¶
type PolicySpec struct { ARN string `json:"arn,omitempty"` // the ARN of the aws policy Statement []StatementSpec `json:"statement"` }
PolicySpec describes the policy that must be present on AWS
func (*PolicySpec) DeepCopy ¶
func (in *PolicySpec) DeepCopy() *PolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicySpec.
func (*PolicySpec) DeepCopyInto ¶
func (in *PolicySpec) DeepCopyInto(out *PolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (PolicySpec) Validate ¶
func (spec PolicySpec) Validate() error
Validate returns an error if the PolicySpec is not valid
type PolicyStatus ¶
type PolicyStatus struct { Condition CrCondition `json:"condition"` Reason string `json:"reason,omitempty"` }
PolicyStatus defines the observed state of Policy
func (*PolicyStatus) DeepCopy ¶
func (in *PolicyStatus) DeepCopy() *PolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyStatus.
func (*PolicyStatus) DeepCopyInto ¶
func (in *PolicyStatus) DeepCopyInto(out *PolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Role ¶
type Role struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec RoleSpec `json:"spec,omitempty"` Status RoleStatus `json:"status,omitempty"` }
Role is the Schema for the awsroles API
func (Role) AwsName ¶
AwsName is the name the resource will have on AWS It must be unique per AWS account thus the naming convention
func (*Role) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Role.
func (*Role) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Role) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (Role) IsPendingDeletion ¶
IsPendingDeletion helps us to detect if the resource should be deleted
type RoleList ¶
type RoleList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Role `json:"items"` }
RoleList contains a list of Role
func (*RoleList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleList.
func (*RoleList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RoleList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RoleSpec ¶
type RoleSpec struct { ServiceAccountName string `json:"serviceAccountName"` PolicyARN string `json:"policyarn,omitempty"` RoleARN string `json:"rolearn,omitempty"` }
RoleSpec defines the desired state of Role
func (*RoleSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleSpec.
func (*RoleSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RoleStatus ¶
type RoleStatus struct { Condition CrCondition `json:"condition"` Reason string `json:"reason,omitempty"` }
RoleStatus defines the observed state of Role
func (*RoleStatus) DeepCopy ¶
func (in *RoleStatus) DeepCopy() *RoleStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleStatus.
func (*RoleStatus) DeepCopyInto ¶
func (in *RoleStatus) DeepCopyInto(out *RoleStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StatementSpec ¶
type StatementSpec struct { Resource string `json:"resource"` // ARN of the target aws resource Action []string `json:"action"` // the list of requested permissions on the aws resource above }
StatementSpec defines an aws statement (Sid is autogenerated & Effect is always "allow")
func (*StatementSpec) DeepCopy ¶
func (in *StatementSpec) DeepCopy() *StatementSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatementSpec.
func (*StatementSpec) DeepCopyInto ¶
func (in *StatementSpec) DeepCopyInto(out *StatementSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (StatementSpec) IsSame ¶
func (a StatementSpec) IsSame(b StatementSpec) bool
IsSame is used to detect meaningful difference between 2 StatementSpec ie : order of .Action elements is not taken into account
func (StatementSpec) Validate ¶
func (spec StatementSpec) Validate() error
Validate returns an error if the StatementSpec is not valid