v1beta1

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Sep 12, 2023 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package v1beta1 contains API Schema definitions for the iam v1beta1 API group +kubebuilder:object:generate=true +groupName=aws-iam.redradrat.xyz

Index

Constants

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "aws-iam.redradrat.xyz", Version: "v1beta1"}

	// 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

This section is empty.

Types

type AWSObjectStatus

type AWSObjectStatus struct {

	// +kubebuilder:validation:optional
	//
	// State holds the current state of the resource
	State SyncState `json:"state"`

	// +kubebuilder:validation:optional
	//
	// Message holds the current/last status message from the operator.
	Message string `json:"message"`

	// +kubebuilder:validation:optional
	//
	// LastSyncTime holds the timestamp of the last sync attempt
	LastSyncAttempt string `json:"lastSyncAttempt"`

	// +kubebuilder:validation:optional
	//
	// Arn holds the concrete AWS ARN of the managed policy
	ARN string `json:"arn"`

	// +kubebuilder:validation:optional
	//
	// ObservedGeneration holds the generation (metadata.generation in CR) observed by the controller
	ObservedGeneration int64 `json:"observedGeneration"`
}

func (*AWSObjectStatus) DeepCopy

func (in *AWSObjectStatus) DeepCopy() *AWSObjectStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSObjectStatus.

func (*AWSObjectStatus) DeepCopyInto

func (in *AWSObjectStatus) DeepCopyInto(out *AWSObjectStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AssumeRolePolicy

type AssumeRolePolicy struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   AssumeRolePolicySpec   `json:"spec,omitempty"`
	Status AssumeRolePolicyStatus `json:"status,omitempty"`
}

AssumeRolePolicy is the Schema for the assumerolepolicies API

func (*AssumeRolePolicy) DeepCopy

func (in *AssumeRolePolicy) DeepCopy() *AssumeRolePolicy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AssumeRolePolicy.

func (*AssumeRolePolicy) DeepCopyInto

func (in *AssumeRolePolicy) DeepCopyInto(out *AssumeRolePolicy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AssumeRolePolicy) DeepCopyObject

func (in *AssumeRolePolicy) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*AssumeRolePolicy) Marshal

func (arp *AssumeRolePolicy) Marshal() iam.PolicyDocument

func (*AssumeRolePolicy) Metadata

func (arp *AssumeRolePolicy) Metadata() metav1.ObjectMeta

func (*AssumeRolePolicy) RuntimeObject

func (arp *AssumeRolePolicy) RuntimeObject() runtime.Object

type AssumeRolePolicyList

type AssumeRolePolicyList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []AssumeRolePolicy `json:"items"`
}

AssumeRolePolicyList contains a list of AssumeRolePolicy

func (*AssumeRolePolicyList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AssumeRolePolicyList.

func (*AssumeRolePolicyList) DeepCopyInto

func (in *AssumeRolePolicyList) DeepCopyInto(out *AssumeRolePolicyList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AssumeRolePolicyList) DeepCopyObject

func (in *AssumeRolePolicyList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type AssumeRolePolicySpec

type AssumeRolePolicySpec struct {

	//+kubebuilder:validation:Required
	//
	// Statements holds the list of all the policy statement entries
	Statement AssumeRolePolicyStatement `json:"statement,omitempty"`
}

AssumeRolePolicySpec defines the desired state of AssumeRolePolicy

func (*AssumeRolePolicySpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AssumeRolePolicySpec.

func (*AssumeRolePolicySpec) DeepCopyInto

func (in *AssumeRolePolicySpec) DeepCopyInto(out *AssumeRolePolicySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AssumeRolePolicyStatement

type AssumeRolePolicyStatement []AssumeRolePolicyStatementEntry

func (AssumeRolePolicyStatement) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AssumeRolePolicyStatement.

func (AssumeRolePolicyStatement) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AssumeRolePolicyStatement) MarshalPolicyDocument added in v0.3.5

func (arps *AssumeRolePolicyStatement) MarshalPolicyDocument() iam.PolicyDocument

type AssumeRolePolicyStatementEntry

type AssumeRolePolicyStatementEntry struct {
	PolicyStatementEntry `json:",inline"`

	//+kubebuilder:validation:Required
	//
	// Principal denotes an account, user, role, or federated user to which you would
	// like to allow or deny access with a resource-based policy
	Principal map[string]string `json:"principal,omitempty"`
}

func (*AssumeRolePolicyStatementEntry) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AssumeRolePolicyStatementEntry.

func (*AssumeRolePolicyStatementEntry) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AssumeRolePolicyStatus

type AssumeRolePolicyStatus struct {
}

AssumeRolePolicyStatus defines the observed state of AssumeRolePolicy

func (*AssumeRolePolicyStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AssumeRolePolicyStatus.

func (*AssumeRolePolicyStatus) DeepCopyInto

func (in *AssumeRolePolicyStatus) DeepCopyInto(out *AssumeRolePolicyStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExternalResource added in v0.4.0

type ExternalResource struct {

	// +kubebuilder:validation:Required
	ARN string `json:"arn,omitempty"`
}

ExternalResource is a reference to a policy ARN that is not created by the controller +kubebuilder:validation:Optional +optional

func (*ExternalResource) DeepCopy added in v0.4.0

func (in *ExternalResource) DeepCopy() *ExternalResource

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalResource.

func (*ExternalResource) DeepCopyInto added in v0.4.0

func (in *ExternalResource) DeepCopyInto(out *ExternalResource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Group

type Group struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   GroupSpec   `json:"spec,omitempty"`
	Status GroupStatus `json:"status,omitempty"`
}

Group is the Schema for the roles API

func (*Group) DeepCopy

func (in *Group) DeepCopy() *Group

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Group.

func (*Group) DeepCopyInto

func (in *Group) DeepCopyInto(out *Group)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Group) DeepCopyObject

func (in *Group) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Group) GetStatus

func (g *Group) GetStatus() *AWSObjectStatus

func (*Group) Metadata

func (g *Group) Metadata() metav1.ObjectMeta

func (*Group) RuntimeObject

func (g *Group) RuntimeObject() client.Object

type GroupList

type GroupList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Group `json:"items"`
}

GroupList contains a list of Group

func (*GroupList) DeepCopy

func (in *GroupList) DeepCopy() *GroupList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupList.

func (*GroupList) DeepCopyInto

func (in *GroupList) DeepCopyInto(out *GroupList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GroupList) DeepCopyObject

func (in *GroupList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type GroupSpec

type GroupSpec struct {

	// Users holds the list of all Users to be added the group
	// +kubebuilder:validation:optional
	Users []v1.ObjectReference `json:"users,omitempty"`
}

GroupSpec defines the desired state of Group

func (*GroupSpec) DeepCopy

func (in *GroupSpec) DeepCopy() *GroupSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupSpec.

func (*GroupSpec) DeepCopyInto

func (in *GroupSpec) DeepCopyInto(out *GroupSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GroupStatus

type GroupStatus struct {
	AWSObjectStatus `json:",inline"`
}

func (*GroupStatus) DeepCopy

func (in *GroupStatus) DeepCopy() *GroupStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupStatus.

func (*GroupStatus) DeepCopyInto

func (in *GroupStatus) DeepCopyInto(out *GroupStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Policy

type Policy struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   PolicySpec      `json:"spec,omitempty"`
	Status AWSObjectStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:resource:path=policies,shortName=iampolicy +kubebuilder:subresource:status +kubebuilder:printcolumn:name="ARN",type=string,JSONPath=`.status.arn` +kubebuilder:printcolumn:name="Message",type=string,JSONPath=`.status.message` +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status.state` +kubebuilder:printcolumn:name="Last Sync",type=string,JSONPath=`.status.lastSyncAttempt` Policy is the Schema for the policies API

func (*Policy) DeepCopy

func (in *Policy) DeepCopy() *Policy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Policy.

func (*Policy) DeepCopyInto

func (in *Policy) DeepCopyInto(out *Policy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Policy) DeepCopyObject

func (in *Policy) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Policy) GetStatus

func (p *Policy) GetStatus() *AWSObjectStatus

func (*Policy) Marshal

func (p *Policy) Marshal() iam.PolicyDocument

func (*Policy) Metadata

func (p *Policy) Metadata() metav1.ObjectMeta

func (*Policy) RuntimeObject

func (p *Policy) RuntimeObject() client.Object

type PolicyAttachment

type PolicyAttachment struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   PolicyAttachmentSpec `json:"spec,omitempty"`
	Status AWSObjectStatus      `json:"status,omitempty"`
}

PolicyAttachment is the Schema for the policyattachments API

func (*PolicyAttachment) DeepCopy

func (in *PolicyAttachment) DeepCopy() *PolicyAttachment

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyAttachment.

func (*PolicyAttachment) DeepCopyInto

func (in *PolicyAttachment) DeepCopyInto(out *PolicyAttachment)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PolicyAttachment) DeepCopyObject

func (in *PolicyAttachment) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*PolicyAttachment) GetAttachmentType

func (pa *PolicyAttachment) GetAttachmentType() (iam.AttachmentType, error)

func (*PolicyAttachment) GetStatus

func (pa *PolicyAttachment) GetStatus() *AWSObjectStatus

func (*PolicyAttachment) Metadata

func (pa *PolicyAttachment) Metadata() metav1.ObjectMeta

func (*PolicyAttachment) RuntimeObject

func (pa *PolicyAttachment) RuntimeObject() client.Object

type PolicyAttachmentList

type PolicyAttachmentList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []PolicyAttachment `json:"items"`
}

PolicyAttachmentList contains a list of PolicyAttachment

func (*PolicyAttachmentList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyAttachmentList.

func (*PolicyAttachmentList) DeepCopyInto

func (in *PolicyAttachmentList) DeepCopyInto(out *PolicyAttachmentList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PolicyAttachmentList) DeepCopyObject

func (in *PolicyAttachmentList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PolicyAttachmentSpec

type PolicyAttachmentSpec struct {

	// PolicyReference refrences the Policy resource to attach to another resource
	// +kubebuilder:validation:Optional
	// +optional
	PolicyReference ResourceReference `json:"policy,omitempty"`

	// ExternalPolicy is a reference to a resource that is not created by the controller
	// +kubebuilder:validation:Optional
	// +optional
	ExternalPolicy ExternalResource `json:"externalPolicy,omitempty"`

	// Attachments holds all defined attachments
	// +kubebuilder:validation:Required
	TargetReference TargetReference `json:"target,omitempty"`
}

PolicyAttachmentSpec defines the desired state of PolicyAttachment

func (*PolicyAttachmentSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyAttachmentSpec.

func (*PolicyAttachmentSpec) DeepCopyInto

func (in *PolicyAttachmentSpec) DeepCopyInto(out *PolicyAttachmentSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

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 {

	//+kubebuilder:validation:Required
	//
	// Statements holds the list of all the policy statement entries
	Statement PolicyStatement `json:"statement,omitempty"`

	// +kubebuilder:validation:Optional
	//
	// Description holds the description string for the Role
	Description string `json:"description,omitempty"`
}

PolicySpec defines the desired state of Policy

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.

type PolicyStatement

type PolicyStatement []PolicyStatementEntry

func (PolicyStatement) DeepCopy

func (in PolicyStatement) DeepCopy() PolicyStatement

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyStatement.

func (PolicyStatement) DeepCopyInto

func (in PolicyStatement) DeepCopyInto(out *PolicyStatement)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PolicyStatementCondition

func (PolicyStatementCondition) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyStatementCondition.

func (PolicyStatementCondition) DeepCopyInto

func (in PolicyStatementCondition) DeepCopyInto(out *PolicyStatementCondition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (PolicyStatementCondition) Normalize

func (psc PolicyStatementCondition) Normalize() map[string]map[string]string

type PolicyStatementConditionComparison

type PolicyStatementConditionComparison map[PolicyStatementConditionKey]string

func (PolicyStatementConditionComparison) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyStatementConditionComparison.

func (PolicyStatementConditionComparison) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PolicyStatementConditionKey

type PolicyStatementConditionKey string

PolicyStatementConditionKey is the key in the Condition comparison https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html

type PolicyStatementConditionOperator

type PolicyStatementConditionOperator string

PolicyStatementConditionOperator is the operator for following comparison https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html

type PolicyStatementEffect

type PolicyStatementEffect string
const (
	AllowPolicyStatementEffect PolicyStatementEffect = "Allow"
	DenyPolicyStatementEffect  PolicyStatementEffect = "Deny"
)

func (PolicyStatementEffect) String

func (pse PolicyStatementEffect) String() string

type PolicyStatementEntry

type PolicyStatementEntry struct {

	//+kubebuilder:validation:Optional
	//
	// Sid is an optional Statement ID to identify a Statement
	Sid string `json:"sid,omitempty"`

	//+kubebuilder:validation:Required
	//
	// Effect holds the desired effect the statement should ensure
	Effect PolicyStatementEffect `json:"effect,omitempty"`

	//+kubebuilder:validation:Required
	//
	// Actions holds the desired effect the statement should ensure
	Actions []string `json:"actions,omitempty"`

	//+kubebuilder:validation:Optional
	//
	// Resources denotes an a list of resources to which the actions apply.
	// If you do not set this value, then the resource to which the action
	// applies is the resource to which the policy is attached to
	Resources []string `json:"resources,omitempty"`

	//+kubebuilder:validation:Optional
	//
	// Conditions specifies the circumstances under which the policy grants permission
	Conditions PolicyStatementCondition `json:"conditions,omitempty"`
}

func (*PolicyStatementEntry) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyStatementEntry.

func (*PolicyStatementEntry) DeepCopyInto

func (in *PolicyStatementEntry) DeepCopyInto(out *PolicyStatementEntry)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResourceReference

type ResourceReference struct {

	// +kubebuilder:validation:Required
	Name string `json:"name,omitempty"`

	// +kubebuilder:validation:Required
	Namespace string `json:"namespace,omitempty"`
}

ResourceReference refrences the Policy resource to attach to another resource +kubebuilder:validation:Optional +optional

func (*ResourceReference) DeepCopy

func (in *ResourceReference) DeepCopy() *ResourceReference

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceReference.

func (*ResourceReference) DeepCopyInto

func (in *ResourceReference) DeepCopyInto(out *ResourceReference)

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"`
}

+kubebuilder:object:root=true +kubebuilder:resource:path=roles,shortName=iamrole +kubebuilder:subresource:status +kubebuilder:printcolumn:name="ARN",type=string,JSONPath=`.status.arn` +kubebuilder:printcolumn:name="Message",type=string,JSONPath=`.status.message` +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status.state` +kubebuilder:printcolumn:name="Last Sync",type=string,JSONPath=`.status.lastSyncAttempt`

Role is the Schema for the roles API

func (*Role) DeepCopy

func (in *Role) DeepCopy() *Role

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Role.

func (*Role) DeepCopyInto

func (in *Role) DeepCopyInto(out *Role)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Role) DeepCopyObject

func (in *Role) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Role) GetStatus

func (r *Role) GetStatus() *AWSObjectStatus

func (*Role) Marshal

func (r *Role) Marshal() iam.PolicyDocument

func (*Role) Metadata

func (r *Role) Metadata() metav1.ObjectMeta

func (*Role) RuntimeObject

func (r *Role) RuntimeObject() client.Object

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

func (in *RoleList) DeepCopy() *RoleList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleList.

func (*RoleList) DeepCopyInto

func (in *RoleList) DeepCopyInto(out *RoleList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RoleList) DeepCopyObject

func (in *RoleList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RoleSpec

type RoleSpec struct {

	// +kubebuilder:validation:Optional
	//
	// AssumeRolePolicy holds the Trust Policy statement for the role
	AssumeRolePolicy AssumeRolePolicyStatement `json:"assumeRolePolicy,omitempty"`

	// +kubebuilder:validation:Optional
	//
	// AssumeRolePolicyReference references a Policy resource to use as AssumeRolePolicy
	AssumeRolePolicyReference ResourceReference `json:"assumeRolePolicyRef,omitempty"`

	// CreateServiceAccount triggers the creation of an annotated ServiceAccount for the created role
	CreateServiceAccount bool `json:"createServiceAccount,omitempty"`

	// AddIRSAPolicy adds the assume-role-policy statement to the trust policy.
	AddIRSAPolicy bool `json:"addIRSAPolicy,omitempty"`

	// +kubebuilder:validation:Optional
	// +nullable
	// MaxSessionDuration specifies the maximum duration a session with this role assumed can last
	MaxSessionDuration *int64 `json:"maxSessionDuration,omitempty"`

	// +kubebuilder:validation:Optional
	//
	// Description holds the description string for the Role
	Description string `json:"description,omitempty"`
}

RoleSpec defines the desired state of Role

func (*RoleSpec) DeepCopy

func (in *RoleSpec) DeepCopy() *RoleSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleSpec.

func (*RoleSpec) DeepCopyInto

func (in *RoleSpec) DeepCopyInto(out *RoleSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RoleStatus added in v0.1.3

type RoleStatus struct {
	AWSObjectStatus             `json:",inline"`
	ReadAssumeRolePolicyVersion string `json:"ReadAssumeRolePolicyVersion"`
}

func (*RoleStatus) DeepCopy added in v0.1.6

func (in *RoleStatus) DeepCopy() *RoleStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleStatus.

func (*RoleStatus) DeepCopyInto added in v0.1.6

func (in *RoleStatus) DeepCopyInto(out *RoleStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SyncState

type SyncState string
const (
	SyncSyncState  SyncState = "SYNC"
	OkSyncState    SyncState = "OK"
	ErrorSyncState SyncState = "ERROR"
)

type TargetReference

type TargetReference struct {

	// +kubebuilder:validation:Required
	//
	// Type specifies the target type of the Refrence e.g. User/Role/Group
	Type TargetType `json:"type,omitempty"`

	// +kubebuilder:validation:Required
	Name string `json:"name,omitempty"`

	// +kubebuilder:validation:Required
	Namespace string `json:"namespace,omitempty"`
}

func (*TargetReference) DeepCopy

func (in *TargetReference) DeepCopy() *TargetReference

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetReference.

func (*TargetReference) DeepCopyInto

func (in *TargetReference) DeepCopyInto(out *TargetReference)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TargetType

type TargetType string
const (
	RoleTargetType  TargetType = "Role"
	UserTargetType  TargetType = "User"
	GroupTargetType TargetType = "Group"
)

type User

type User struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   UserSpec   `json:"spec,omitempty"`
	Status UserStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:resource:path=users,shortName=iamuser +kubebuilder:subresource:status +kubebuilder:printcolumn:name="ARN",type=string,JSONPath=`.status.arn` +kubebuilder:printcolumn:name="Message",type=string,JSONPath=`.status.message` +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status.state` +kubebuilder:printcolumn:name="Last Sync",type=string,JSONPath=`.status.lastSyncAttempt`

User is the Schema for the users API

func (*User) DeepCopy

func (in *User) DeepCopy() *User

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new User.

func (*User) DeepCopyInto

func (in *User) DeepCopyInto(out *User)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*User) DeepCopyObject

func (in *User) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*User) GetStatus

func (u *User) GetStatus() *AWSObjectStatus

func (*User) Metadata

func (u *User) Metadata() metav1.ObjectMeta

func (*User) RuntimeObject

func (u *User) RuntimeObject() client.Object

type UserList

type UserList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []User `json:"items"`
}

UserList contains a list of User

func (*UserList) DeepCopy

func (in *UserList) DeepCopy() *UserList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserList.

func (*UserList) DeepCopyInto

func (in *UserList) DeepCopyInto(out *UserList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*UserList) DeepCopyObject

func (in *UserList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type UserSpec

type UserSpec struct {
	// CreateLoginProfile triggers the creation of Login Profile in AWS and creates a user/pass secret
	CreateLoginProfile bool `json:"createLoginProfile,omitempty"`

	// CreateProgrammaticAccess triggers the creation of API creds in AWS and creates a cred secret
	CreateProgrammaticAccess bool `json:"createProgrammaticAccess,omitempty"`
}

UserSpec defines the desired state of User

func (*UserSpec) DeepCopy

func (in *UserSpec) DeepCopy() *UserSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserSpec.

func (*UserSpec) DeepCopyInto

func (in *UserSpec) DeepCopyInto(out *UserSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UserStatus

type UserStatus struct {
	AWSObjectStatus `json:",inline"`

	// +kubebuilder:validation:optional
	//
	// LoginProfileCreated holds info about whether or not a LoginProfile has been created for this user
	LoginProfileCreated bool `json:"loginProfileCreated,omitempty"`

	// +kubebuilder:validation:optional
	//
	// LoginProfileSecret holds the reference to the created LoginProfile Secret
	LoginProfileSecret v1.SecretReference `json:"loginProfileSecret,omitempty"`

	// +kubebuilder:validation:optional
	//
	// ProgrammaticAccessCreated holds info about whether or not programmatic access credentials have been created for this user
	ProgrammaticAccessCreated bool `json:"programmaticAccessCreated,omitempty"`

	// +kubebuilder:validation:optional
	//
	// ProgrammaticAccessSecret holds the reference to the created LoginProfile Secret
	ProgrammaticAccessSecret v1.SecretReference `json:"programmaticAccessSecret,omitempty"`
}

func (*UserStatus) DeepCopy

func (in *UserStatus) DeepCopy() *UserStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserStatus.

func (*UserStatus) DeepCopyInto

func (in *UserStatus) DeepCopyInto(out *UserStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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