Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the iammanager v1alpha1 API group +kubebuilder:object:generate=true +groupName=iammanager.keikoproj.io
Index ¶
- Variables
- func NewWClient()
- type AssumeRolePolicyDocument
- type Condition
- type Effect
- type Iamrole
- func (in *Iamrole) DeepCopy() *Iamrole
- func (in *Iamrole) DeepCopyInto(out *Iamrole)
- func (in *Iamrole) DeepCopyObject() runtime.Object
- func (r *Iamrole) Default()
- func (r *Iamrole) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *Iamrole) ValidateCreate() (admission.Warnings, error)
- func (r *Iamrole) ValidateDelete() (admission.Warnings, error)
- func (r *Iamrole) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
- type IamroleList
- type IamroleSpec
- type IamroleStatus
- type PolicyDocument
- type Principal
- type State
- type Statement
- type StringOrStrings
- type TrustPolicyStatement
- func (tps *TrustPolicyStatement) ConditionChecksum() string
- func (in *TrustPolicyStatement) DeepCopy() *TrustPolicyStatement
- func (in *TrustPolicyStatement) DeepCopyInto(out *TrustPolicyStatement)
- func (tps *TrustPolicyStatement) HasCondition() bool
- func (tps *TrustPolicyStatement) Id() string
- func (tps *TrustPolicyStatement) IsConditionAnyServiceAccount() bool
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "iammanager.keikoproj.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 NewWClient ¶
func NewWClient()
Types ¶
type AssumeRolePolicyDocument ¶ added in v0.0.4
type AssumeRolePolicyDocument struct { // Version specifies IAM policy version // By default, this value is "2012-10-17" // +optional Version string `json:"Version,omitempty"` // Statement allows list of TrustPolicyStatement objects // +optional Statement []TrustPolicyStatement `json:"Statement,omitempty"` }
+optional
func (*AssumeRolePolicyDocument) DeepCopy ¶ added in v0.0.4
func (in *AssumeRolePolicyDocument) DeepCopy() *AssumeRolePolicyDocument
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AssumeRolePolicyDocument.
func (*AssumeRolePolicyDocument) DeepCopyInto ¶ added in v0.0.4
func (in *AssumeRolePolicyDocument) DeepCopyInto(out *AssumeRolePolicyDocument)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Condition ¶ added in v0.0.4
type Condition struct { //StringEquals can be used to define Equal condition // +optional StringEquals map[string]string `json:"StringEquals,omitempty"` //StringLike can be used for regex as supported by AWS // +optional StringLike map[string]string `json:"StringLike,omitempty"` }
Condition struct holds Condition +optional
func (*Condition) DeepCopy ¶ added in v0.0.4
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Condition.
func (*Condition) DeepCopyInto ¶ added in v0.0.4
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Effect ¶
type Effect string
Effect describes whether to allow or deny the specific action Allowed values are - "Allow" : allows the specific action on resources - "Deny" : denies the specific action on resources +kubebuilder:validation:Enum=Allow;Deny
type Iamrole ¶
type Iamrole struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec IamroleSpec `json:"spec,omitempty"` Status IamroleStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=iamroles,scope=Namespaced,shortName=iam,singular=iamrole +kubebuilder:printcolumn:name="State",type="string",JSONPath=".status.state",description="current state of the iam role" +kubebuilder:printcolumn:name="RoleName",type="string",JSONPath=".status.roleName",description="Name of the role" +kubebuilder:printcolumn:name="RetryCount",type="integer",JSONPath=".status.retryCount",description="Retry count" +kubebuilder:printcolumn:name="LastUpdatedTimestamp",type="string",format="date-time",JSONPath=".status.lastUpdatedTimestamp",description="last updated iam role timestamp" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="time passed since iamrole creation" Iamrole is the Schema for the iamroles API
func GetIamRole ¶ added in v0.15.0
func ListIamRoles ¶ added in v0.15.0
*
- This function is used to retrieve all IAM-Roles from the cluster across all namespaces.
- It will return a list of IAM-Roles in structured format.
func (*Iamrole) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Iamrole.
func (*Iamrole) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Iamrole) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Iamrole) Default ¶
func (r *Iamrole) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*Iamrole) SetupWebhookWithManager ¶
func (*Iamrole) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*Iamrole) ValidateDelete ¶
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
type IamroleList ¶
type IamroleList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Iamrole `json:"items"` }
IamroleList contains a list of Iamrole
func (*IamroleList) DeepCopy ¶
func (in *IamroleList) DeepCopy() *IamroleList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IamroleList.
func (*IamroleList) DeepCopyInto ¶
func (in *IamroleList) DeepCopyInto(out *IamroleList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IamroleList) DeepCopyObject ¶
func (in *IamroleList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IamroleSpec ¶
type IamroleSpec struct { PolicyDocument PolicyDocument `json:"PolicyDocument"` // +optional AssumeRolePolicyDocument *AssumeRolePolicyDocument `json:"AssumeRolePolicyDocument,omitempty"` // RoleName can be passed only for privileged namespaces. This will be respected only during new iamrole creation and will be ignored during iamrole update // Please check the documentation for more on how to configure privileged namespace using annotation for iam-manager // +optional RoleName string `json:"RoleName,omitempty"` }
IamroleSpec defines the desired state of Iamrole
func (*IamroleSpec) DeepCopy ¶
func (in *IamroleSpec) DeepCopy() *IamroleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IamroleSpec.
func (*IamroleSpec) DeepCopyInto ¶
func (in *IamroleSpec) DeepCopyInto(out *IamroleSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IamroleStatus ¶
type IamroleStatus struct { //RoleName represents the name of the iam role created in AWS RoleName string `json:"roleName,omitempty"` //RoleARN represents the ARN of an IAM role RoleARN string `json:"roleARN,omitempty"` //RoleID represents the unique ID of the role which can be used in S3 policy etc RoleID string `json:"roleID,omitempty"` //State of the resource State State `json:"state,omitempty"` //RetryCount in case of error RetryCount int `json:"retryCount"` //ErrorDescription in case of error // +optional ErrorDescription string `json:"errorDescription,omitempty"` //LastUpdatedTimestamp represents the last time the iam role has been modified // +optional LastUpdatedTimestamp metav1.Time `json:"lastUpdatedTimestamp,omitempty"` }
IamroleStatus defines the observed state of Iamrole
func (*IamroleStatus) DeepCopy ¶
func (in *IamroleStatus) DeepCopy() *IamroleStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IamroleStatus.
func (*IamroleStatus) DeepCopyInto ¶
func (in *IamroleStatus) DeepCopyInto(out *IamroleStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PolicyDocument ¶
type PolicyDocument struct { // Version specifies IAM policy version // By default, this value is "2012-10-17" // +optional Version string `json:"Version,omitempty"` // Statement allows list of statement object Statement []Statement `json:"Statement"` }
PolicyDocument type defines IAM policy struct
func (*PolicyDocument) DeepCopy ¶
func (in *PolicyDocument) DeepCopy() *PolicyDocument
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyDocument.
func (*PolicyDocument) DeepCopyInto ¶
func (in *PolicyDocument) DeepCopyInto(out *PolicyDocument)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Principal ¶
type Principal struct { // +optional AWS StringOrStrings `json:"AWS,omitempty"` // +optional Service string `json:"Service,omitempty"` // +optional Federated string `json:"Federated,omitempty"` }
Principal struct holds AWS principal +optional
func (*Principal) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Principal.
func (*Principal) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Statement ¶
type Statement struct { //Effect allowed/denied Effect Effect `json:"Effect"` //Action allowed on specific resources Action []string `json:"Action"` //Resources defines target resources which IAM policy will be applied Resource []string `json:"Resource"` // Sid is an optional field which describes the specific statement action // +optional Sid string `json:"Sid,omitempty"` }
+kubebuilder:validation:Required Statement type defines the AWS IAM policy statement
func (*Statement) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Statement.
func (*Statement) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StringOrStrings ¶
type StringOrStrings []string
StringOrStrings type accepts one string or multiple strings +kubebuilder:object:generate=false
func (StringOrStrings) MarshalJSON ¶
func (s StringOrStrings) MarshalJSON() ([]byte, error)
MarshalJSON function is a custom implementation of json.Marshal for StringOrStrings
func (*StringOrStrings) UnmarshalJSON ¶
func (s *StringOrStrings) UnmarshalJSON(b []byte) error
UnmarshalJson function is a custom implementation of json to unmarshal StringOrStrings
type TrustPolicyStatement ¶ added in v0.0.4
type TrustPolicyStatement struct { //Effect allowed/denied Effect Effect `json:"Effect,omitempty"` //Action can be performed Action string `json:"Action,omitempty"` // +optional Principal Principal `json:"Principal,omitempty"` // +optional Condition *Condition `json:"Condition,omitempty"` }
TrustPolicy struct holds Trust policy +optional
func (*TrustPolicyStatement) ConditionChecksum ¶ added in v0.17.0
func (tps *TrustPolicyStatement) ConditionChecksum() string
func (*TrustPolicyStatement) DeepCopy ¶ added in v0.0.4
func (in *TrustPolicyStatement) DeepCopy() *TrustPolicyStatement
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrustPolicyStatement.
func (*TrustPolicyStatement) DeepCopyInto ¶ added in v0.0.4
func (in *TrustPolicyStatement) DeepCopyInto(out *TrustPolicyStatement)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TrustPolicyStatement) HasCondition ¶ added in v0.17.0
func (tps *TrustPolicyStatement) HasCondition() bool
func (*TrustPolicyStatement) Id ¶ added in v0.16.0
func (tps *TrustPolicyStatement) Id() string
Id returns the sid of the trust policy statement
func (*TrustPolicyStatement) IsConditionAnyServiceAccount ¶ added in v0.17.0
func (tps *TrustPolicyStatement) IsConditionAnyServiceAccount() bool