Documentation ¶
Overview ¶
+kubebuilder:object:generate=true +groupName=iam.aws.kubedb.com +versionName=v1alpha1
Index ¶
- Constants
- Variables
- type InlinePolicyInitParameters
- type InlinePolicyObservation
- type InlinePolicyParameters
- type Role
- func (in *Role) DeepCopy() *Role
- func (in *Role) DeepCopyInto(out *Role)
- func (in *Role) DeepCopyObject() runtime.Object
- func (mg *Role) GetCondition(ct xpv1.ConditionType) xpv1.Condition
- func (tr *Role) GetConnectionDetailsMapping() map[string]string
- func (mg *Role) GetDeletionPolicy() xpv1.DeletionPolicy
- func (tr *Role) GetID() string
- func (tr *Role) GetInitParameters() (map[string]any, error)
- func (mg *Role) GetManagementPolicies() xpv1.ManagementPolicies
- func (tr *Role) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)
- func (tr *Role) GetObservation() (map[string]any, error)
- func (tr *Role) GetParameters() (map[string]any, error)
- func (mg *Role) GetProviderConfigReference() *xpv1.Reference
- func (mg *Role) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo
- func (mg *Role) GetTerraformResourceType() string
- func (tr *Role) GetTerraformSchemaVersion() int
- func (mg *Role) GetWriteConnectionSecretToReference() *xpv1.SecretReference
- func (tr *Role) LateInitialize(attrs []byte) (bool, error)
- func (mg *Role) SetConditions(c ...xpv1.Condition)
- func (mg *Role) SetDeletionPolicy(r xpv1.DeletionPolicy)
- func (mg *Role) SetManagementPolicies(r xpv1.ManagementPolicies)
- func (tr *Role) SetObservation(obs map[string]any) error
- func (tr *Role) SetParameters(params map[string]any) error
- func (mg *Role) SetProviderConfigReference(r *xpv1.Reference)
- func (mg *Role) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)
- func (mg *Role) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)
- type RoleInitParameters
- type RoleLastUsedInitParameters
- type RoleLastUsedObservation
- type RoleLastUsedParameters
- type RoleList
- type RoleObservation
- type RoleParameters
- type RoleSpec
- type RoleStatus
Constants ¶
const ( CRDGroup = "iam.aws.kubedb.com" CRDVersion = "v1alpha1" )
Package type metadata.
Variables ¶
var ( // CRDGroupVersion is the API Group Version used to register the objects CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
var ( Role_Kind = "Role" Role_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Role_Kind}.String() Role_KindAPIVersion = Role_Kind + "." + CRDGroupVersion.String() Role_GroupVersionKind = CRDGroupVersion.WithKind(Role_Kind) )
Repository type metadata.
Functions ¶
This section is empty.
Types ¶
type InlinePolicyInitParameters ¶
type InlinePolicyInitParameters struct { // Friendly name of the role. See IAM Identifiers for more information. Name *string `json:"name,omitempty" tf:"name,omitempty"` // Policy document as a JSON formatted string. Policy *string `json:"policy,omitempty" tf:"policy,omitempty"` }
func (*InlinePolicyInitParameters) DeepCopy ¶
func (in *InlinePolicyInitParameters) DeepCopy() *InlinePolicyInitParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InlinePolicyInitParameters.
func (*InlinePolicyInitParameters) DeepCopyInto ¶
func (in *InlinePolicyInitParameters) DeepCopyInto(out *InlinePolicyInitParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InlinePolicyObservation ¶
type InlinePolicyObservation struct { // Friendly name of the role. See IAM Identifiers for more information. Name *string `json:"name,omitempty" tf:"name,omitempty"` // Policy document as a JSON formatted string. Policy *string `json:"policy,omitempty" tf:"policy,omitempty"` }
func (*InlinePolicyObservation) DeepCopy ¶
func (in *InlinePolicyObservation) DeepCopy() *InlinePolicyObservation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InlinePolicyObservation.
func (*InlinePolicyObservation) DeepCopyInto ¶
func (in *InlinePolicyObservation) DeepCopyInto(out *InlinePolicyObservation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InlinePolicyParameters ¶
type InlinePolicyParameters struct { // Friendly name of the role. See IAM Identifiers for more information. // +kubebuilder:validation:Optional Name *string `json:"name,omitempty" tf:"name,omitempty"` // Policy document as a JSON formatted string. // +kubebuilder:validation:Optional Policy *string `json:"policy,omitempty" tf:"policy,omitempty"` }
func (*InlinePolicyParameters) DeepCopy ¶
func (in *InlinePolicyParameters) DeepCopy() *InlinePolicyParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InlinePolicyParameters.
func (*InlinePolicyParameters) DeepCopyInto ¶
func (in *InlinePolicyParameters) DeepCopyInto(out *InlinePolicyParameters)
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"` // +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.assumeRolePolicy) || (has(self.initProvider) && has(self.initProvider.assumeRolePolicy))",message="spec.forProvider.assumeRolePolicy is a required parameter" Spec RoleSpec `json:"spec"` Status RoleStatus `json:"status,omitempty"` }
Role is the Schema for the Roles API. Provides an IAM role. +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws}
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) GetCondition ¶
func (mg *Role) GetCondition(ct xpv1.ConditionType) xpv1.Condition
GetCondition of this Role.
func (*Role) GetConnectionDetailsMapping ¶
GetConnectionDetailsMapping for this Role
func (*Role) GetDeletionPolicy ¶
func (mg *Role) GetDeletionPolicy() xpv1.DeletionPolicy
GetDeletionPolicy of this Role.
func (*Role) GetInitParameters ¶
GetInitParameters of this Role
func (*Role) GetManagementPolicies ¶
func (mg *Role) GetManagementPolicies() xpv1.ManagementPolicies
GetManagementPolicies of this Role.
func (*Role) GetMergedParameters ¶
GetInitParameters of this Role
func (*Role) GetObservation ¶
GetObservation of this Role
func (*Role) GetParameters ¶
GetParameters of this Role
func (*Role) GetProviderConfigReference ¶
GetProviderConfigReference of this Role.
func (*Role) GetPublishConnectionDetailsTo ¶
func (mg *Role) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo
GetPublishConnectionDetailsTo of this Role.
func (*Role) GetTerraformResourceType ¶
GetTerraformResourceType returns Terraform resource type for this Role
func (*Role) GetTerraformSchemaVersion ¶
GetTerraformSchemaVersion returns the associated Terraform schema version
func (*Role) GetWriteConnectionSecretToReference ¶
func (mg *Role) GetWriteConnectionSecretToReference() *xpv1.SecretReference
GetWriteConnectionSecretToReference of this Role.
func (*Role) LateInitialize ¶
LateInitialize this Role using its observed tfState. returns True if there are any spec changes for the resource.
func (*Role) SetConditions ¶
SetConditions of this Role.
func (*Role) SetDeletionPolicy ¶
func (mg *Role) SetDeletionPolicy(r xpv1.DeletionPolicy)
SetDeletionPolicy of this Role.
func (*Role) SetManagementPolicies ¶
func (mg *Role) SetManagementPolicies(r xpv1.ManagementPolicies)
SetManagementPolicies of this Role.
func (*Role) SetObservation ¶
SetObservation for this Role
func (*Role) SetParameters ¶
SetParameters for this Role
func (*Role) SetProviderConfigReference ¶
SetProviderConfigReference of this Role.
func (*Role) SetPublishConnectionDetailsTo ¶
func (mg *Role) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)
SetPublishConnectionDetailsTo of this Role.
func (*Role) SetWriteConnectionSecretToReference ¶
func (mg *Role) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)
SetWriteConnectionSecretToReference of this Role.
type RoleInitParameters ¶
type RoleInitParameters struct { // Policy that grants an entity permission to assume the role. AssumeRolePolicy *string `json:"assumeRolePolicy,omitempty" tf:"assume_role_policy,omitempty"` // Description of the role. Description *string `json:"description,omitempty" tf:"description,omitempty"` // Whether to force detaching any policies the role has before destroying it. Defaults to false. ForceDetachPolicies *bool `json:"forceDetachPolicies,omitempty" tf:"force_detach_policies,omitempty"` // Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, Crossplane will not manage any inline policies in this resource. Configuring one empty block (i.e., inline_policy {}) will cause Crossplane to remove all inline policies added out of band on apply. InlinePolicy []InlinePolicyInitParameters `json:"inlinePolicy,omitempty" tf:"inline_policy,omitempty"` // Set of exclusive IAM managed policy ARNs to attach to the IAM role. If this attribute is not configured, Crossplane will ignore policy attachments to this resource. When configured, Crossplane will align the role's managed policy attachments with this set by attaching or detaching managed policies. Configuring an empty set (i.e., managed_policy_arns = []) will cause Crossplane to remove all managed policy attachments. ManagedPolicyArns []*string `json:"managedPolicyArns,omitempty" tf:"managed_policy_arns,omitempty"` // Maximum session duration (in seconds) that you want to set for the specified role. If you do not specify a value for this setting, the default maximum of one hour is applied. This setting can have a value from 1 hour to 12 hours. MaxSessionDuration *float64 `json:"maxSessionDuration,omitempty" tf:"max_session_duration,omitempty"` // Path to the role. See IAM Identifiers for more information. Path *string `json:"path,omitempty" tf:"path,omitempty"` // ARN of the policy that is used to set the permissions boundary for the role. PermissionsBoundary *string `json:"permissionsBoundary,omitempty" tf:"permissions_boundary,omitempty"` // Key-value mapping of tags for the IAM role. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` // A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block. TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"` }
func (*RoleInitParameters) DeepCopy ¶
func (in *RoleInitParameters) DeepCopy() *RoleInitParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleInitParameters.
func (*RoleInitParameters) DeepCopyInto ¶
func (in *RoleInitParameters) DeepCopyInto(out *RoleInitParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RoleLastUsedInitParameters ¶
type RoleLastUsedInitParameters struct { }
func (*RoleLastUsedInitParameters) DeepCopy ¶
func (in *RoleLastUsedInitParameters) DeepCopy() *RoleLastUsedInitParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleLastUsedInitParameters.
func (*RoleLastUsedInitParameters) DeepCopyInto ¶
func (in *RoleLastUsedInitParameters) DeepCopyInto(out *RoleLastUsedInitParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RoleLastUsedObservation ¶
type RoleLastUsedObservation struct { LastUsedDate *string `json:"lastUsedDate,omitempty" tf:"last_used_date,omitempty"` // The name of the AWS Region in which the role was last used. Region *string `json:"region,omitempty" tf:"region,omitempty"` }
func (*RoleLastUsedObservation) DeepCopy ¶
func (in *RoleLastUsedObservation) DeepCopy() *RoleLastUsedObservation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleLastUsedObservation.
func (*RoleLastUsedObservation) DeepCopyInto ¶
func (in *RoleLastUsedObservation) DeepCopyInto(out *RoleLastUsedObservation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RoleLastUsedParameters ¶
type RoleLastUsedParameters struct { }
func (*RoleLastUsedParameters) DeepCopy ¶
func (in *RoleLastUsedParameters) DeepCopy() *RoleLastUsedParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleLastUsedParameters.
func (*RoleLastUsedParameters) DeepCopyInto ¶
func (in *RoleLastUsedParameters) DeepCopyInto(out *RoleLastUsedParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RoleList ¶
type RoleList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Role `json:"items"` }
RoleList contains a list of Roles
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 RoleObservation ¶
type RoleObservation struct { // Amazon Resource Name (ARN) specifying the role. Arn *string `json:"arn,omitempty" tf:"arn,omitempty"` // Policy that grants an entity permission to assume the role. AssumeRolePolicy *string `json:"assumeRolePolicy,omitempty" tf:"assume_role_policy,omitempty"` // Creation date of the IAM role. CreateDate *string `json:"createDate,omitempty" tf:"create_date,omitempty"` // Description of the role. Description *string `json:"description,omitempty" tf:"description,omitempty"` // Whether to force detaching any policies the role has before destroying it. Defaults to false. ForceDetachPolicies *bool `json:"forceDetachPolicies,omitempty" tf:"force_detach_policies,omitempty"` // Name of the role. ID *string `json:"id,omitempty" tf:"id,omitempty"` // Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, Crossplane will not manage any inline policies in this resource. Configuring one empty block (i.e., inline_policy {}) will cause Crossplane to remove all inline policies added out of band on apply. InlinePolicy []InlinePolicyObservation `json:"inlinePolicy,omitempty" tf:"inline_policy,omitempty"` // Set of exclusive IAM managed policy ARNs to attach to the IAM role. If this attribute is not configured, Crossplane will ignore policy attachments to this resource. When configured, Crossplane will align the role's managed policy attachments with this set by attaching or detaching managed policies. Configuring an empty set (i.e., managed_policy_arns = []) will cause Crossplane to remove all managed policy attachments. ManagedPolicyArns []*string `json:"managedPolicyArns,omitempty" tf:"managed_policy_arns,omitempty"` // Maximum session duration (in seconds) that you want to set for the specified role. If you do not specify a value for this setting, the default maximum of one hour is applied. This setting can have a value from 1 hour to 12 hours. MaxSessionDuration *float64 `json:"maxSessionDuration,omitempty" tf:"max_session_duration,omitempty"` // Path to the role. See IAM Identifiers for more information. Path *string `json:"path,omitempty" tf:"path,omitempty"` // ARN of the policy that is used to set the permissions boundary for the role. PermissionsBoundary *string `json:"permissionsBoundary,omitempty" tf:"permissions_boundary,omitempty"` // Contains information about the last time that an IAM role was used. See role_last_used for details. RoleLastUsed []RoleLastUsedObservation `json:"roleLastUsed,omitempty" tf:"role_last_used,omitempty"` // Key-value mapping of tags for the IAM role. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` // A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block. TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"` // Stable and unique string identifying the role. UniqueID *string `json:"uniqueId,omitempty" tf:"unique_id,omitempty"` }
func (*RoleObservation) DeepCopy ¶
func (in *RoleObservation) DeepCopy() *RoleObservation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleObservation.
func (*RoleObservation) DeepCopyInto ¶
func (in *RoleObservation) DeepCopyInto(out *RoleObservation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RoleParameters ¶
type RoleParameters struct { // Policy that grants an entity permission to assume the role. // +kubebuilder:validation:Optional AssumeRolePolicy *string `json:"assumeRolePolicy,omitempty" tf:"assume_role_policy,omitempty"` // Description of the role. // +kubebuilder:validation:Optional Description *string `json:"description,omitempty" tf:"description,omitempty"` // Whether to force detaching any policies the role has before destroying it. Defaults to false. // +kubebuilder:validation:Optional ForceDetachPolicies *bool `json:"forceDetachPolicies,omitempty" tf:"force_detach_policies,omitempty"` // Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, Crossplane will not manage any inline policies in this resource. Configuring one empty block (i.e., inline_policy {}) will cause Crossplane to remove all inline policies added out of band on apply. // +kubebuilder:validation:Optional InlinePolicy []InlinePolicyParameters `json:"inlinePolicy,omitempty" tf:"inline_policy,omitempty"` // Set of exclusive IAM managed policy ARNs to attach to the IAM role. If this attribute is not configured, Crossplane will ignore policy attachments to this resource. When configured, Crossplane will align the role's managed policy attachments with this set by attaching or detaching managed policies. Configuring an empty set (i.e., managed_policy_arns = []) will cause Crossplane to remove all managed policy attachments. // +kubebuilder:validation:Optional ManagedPolicyArns []*string `json:"managedPolicyArns,omitempty" tf:"managed_policy_arns,omitempty"` // Maximum session duration (in seconds) that you want to set for the specified role. If you do not specify a value for this setting, the default maximum of one hour is applied. This setting can have a value from 1 hour to 12 hours. // +kubebuilder:validation:Optional MaxSessionDuration *float64 `json:"maxSessionDuration,omitempty" tf:"max_session_duration,omitempty"` // Path to the role. See IAM Identifiers for more information. // +kubebuilder:validation:Optional Path *string `json:"path,omitempty" tf:"path,omitempty"` // ARN of the policy that is used to set the permissions boundary for the role. // +kubebuilder:validation:Optional PermissionsBoundary *string `json:"permissionsBoundary,omitempty" tf:"permissions_boundary,omitempty"` // Key-value mapping of tags for the IAM role. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level. // +kubebuilder:validation:Optional Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"` // A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block. // +kubebuilder:validation:Optional TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"` }
func (*RoleParameters) DeepCopy ¶
func (in *RoleParameters) DeepCopy() *RoleParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleParameters.
func (*RoleParameters) DeepCopyInto ¶
func (in *RoleParameters) DeepCopyInto(out *RoleParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RoleSpec ¶
type RoleSpec struct { v1.ResourceSpec `json:",inline"` ForProvider RoleParameters `json:"forProvider"` // THIS IS A BETA FIELD. It will be honored // unless the Management Policies feature flag is disabled. // InitProvider holds the same fields as ForProvider, with the exception // of Identifier and other resource reference fields. The fields that are // in InitProvider are merged into ForProvider when the resource is created. // The same fields are also added to the terraform ignore_changes hook, to // avoid updating them after creation. This is useful for fields that are // required on creation, but we do not desire to update them after creation, // for example because of an external controller is managing them, like an // autoscaler. InitProvider RoleInitParameters `json:"initProvider,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 { v1.ResourceStatus `json:",inline"` AtProvider RoleObservation `json:"atProvider,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.