v1alpha1

package
v0.10.0 Latest Latest
Warning

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

Go to latest
Published: Apr 27, 2024 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true +groupName=iam.aws.kubedb.com +versionName=v1alpha1

Index

Constants

View Source
const (
	CRDGroup   = "iam.aws.kubedb.com"
	CRDVersion = "v1alpha1"
)

Package type metadata.

Variables

View Source
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
)
View Source
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

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

func (*InlinePolicyInitParameters) DeepCopyInto

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

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

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

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) GetCondition

func (mg *Role) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Role.

func (*Role) GetConnectionDetailsMapping

func (tr *Role) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Role

func (*Role) GetDeletionPolicy

func (mg *Role) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Role.

func (*Role) GetID

func (tr *Role) GetID() string

GetID returns ID of underlying Terraform resource of this Role

func (*Role) GetInitParameters

func (tr *Role) GetInitParameters() (map[string]any, error)

GetInitParameters of this Role

func (*Role) GetManagementPolicies

func (mg *Role) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Role.

func (*Role) GetMergedParameters

func (tr *Role) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Role

func (*Role) GetObservation

func (tr *Role) GetObservation() (map[string]any, error)

GetObservation of this Role

func (*Role) GetParameters

func (tr *Role) GetParameters() (map[string]any, error)

GetParameters of this Role

func (*Role) GetProviderConfigReference

func (mg *Role) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this Role.

func (*Role) GetPublishConnectionDetailsTo

func (mg *Role) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Role.

func (*Role) GetTerraformResourceType

func (mg *Role) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Role

func (*Role) GetTerraformSchemaVersion

func (tr *Role) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Role) GetWriteConnectionSecretToReference

func (mg *Role) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Role.

func (*Role) LateInitialize

func (tr *Role) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Role using its observed tfState. returns True if there are any spec changes for the resource.

func (*Role) SetConditions

func (mg *Role) SetConditions(c ...xpv1.Condition)

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

func (tr *Role) SetObservation(obs map[string]any) error

SetObservation for this Role

func (*Role) SetParameters

func (tr *Role) SetParameters(params map[string]any) error

SetParameters for this Role

func (*Role) SetProviderConfigReference

func (mg *Role) SetProviderConfigReference(r *xpv1.Reference)

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

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

func (*RoleLastUsedInitParameters) DeepCopyInto

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

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

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

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.

func (*RoleList) GetItems

func (l *RoleList) GetItems() []resource.Managed

GetItems of this RoleList.

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

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

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.

Jump to

Keyboard shortcuts

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