v1beta2

package
v1.7.0 Latest Latest
Warning

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

Go to latest
Published: Jun 13, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true +groupName=secretsmanager.aws.upbound.io +versionName=v1beta2

Index

Constants

View Source
const (
	CRDGroup   = "secretsmanager.aws.upbound.io"
	CRDVersion = "v1beta2"
)

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 (
	SecretRotation_Kind             = "SecretRotation"
	SecretRotation_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: SecretRotation_Kind}.String()
	SecretRotation_KindAPIVersion   = SecretRotation_Kind + "." + CRDGroupVersion.String()
	SecretRotation_GroupVersionKind = CRDGroupVersion.WithKind(SecretRotation_Kind)
)

Repository type metadata.

Functions

This section is empty.

Types

type RotationRulesInitParameters

type RotationRulesInitParameters struct {

	// Specifies the number of days between automatic scheduled rotations of the secret. Either automatically_after_days or schedule_expression must be specified.
	AutomaticallyAfterDays *float64 `json:"automaticallyAfterDays,omitempty" tf:"automatically_after_days,omitempty"`

	// - The length of the rotation window in hours. For example, 3h for a three hour window.
	Duration *string `json:"duration,omitempty" tf:"duration,omitempty"`

	// A cron() or rate() expression that defines the schedule for rotating your secret. Either automatically_after_days or schedule_expression must be specified.
	ScheduleExpression *string `json:"scheduleExpression,omitempty" tf:"schedule_expression,omitempty"`
}

func (*RotationRulesInitParameters) DeepCopy

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

func (*RotationRulesInitParameters) DeepCopyInto

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

type RotationRulesObservation

type RotationRulesObservation struct {

	// Specifies the number of days between automatic scheduled rotations of the secret. Either automatically_after_days or schedule_expression must be specified.
	AutomaticallyAfterDays *float64 `json:"automaticallyAfterDays,omitempty" tf:"automatically_after_days,omitempty"`

	// - The length of the rotation window in hours. For example, 3h for a three hour window.
	Duration *string `json:"duration,omitempty" tf:"duration,omitempty"`

	// A cron() or rate() expression that defines the schedule for rotating your secret. Either automatically_after_days or schedule_expression must be specified.
	ScheduleExpression *string `json:"scheduleExpression,omitempty" tf:"schedule_expression,omitempty"`
}

func (*RotationRulesObservation) DeepCopy

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

func (*RotationRulesObservation) DeepCopyInto

func (in *RotationRulesObservation) DeepCopyInto(out *RotationRulesObservation)

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

type RotationRulesParameters

type RotationRulesParameters struct {

	// Specifies the number of days between automatic scheduled rotations of the secret. Either automatically_after_days or schedule_expression must be specified.
	// +kubebuilder:validation:Optional
	AutomaticallyAfterDays *float64 `json:"automaticallyAfterDays,omitempty" tf:"automatically_after_days,omitempty"`

	// - The length of the rotation window in hours. For example, 3h for a three hour window.
	// +kubebuilder:validation:Optional
	Duration *string `json:"duration,omitempty" tf:"duration,omitempty"`

	// A cron() or rate() expression that defines the schedule for rotating your secret. Either automatically_after_days or schedule_expression must be specified.
	// +kubebuilder:validation:Optional
	ScheduleExpression *string `json:"scheduleExpression,omitempty" tf:"schedule_expression,omitempty"`
}

func (*RotationRulesParameters) DeepCopy

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

func (*RotationRulesParameters) DeepCopyInto

func (in *RotationRulesParameters) DeepCopyInto(out *RotationRulesParameters)

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

type SecretRotation

type SecretRotation 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.rotationRules) || (has(self.initProvider) && has(self.initProvider.rotationRules))",message="spec.forProvider.rotationRules is a required parameter"
	Spec   SecretRotationSpec   `json:"spec"`
	Status SecretRotationStatus `json:"status,omitempty"`
}

SecretRotation is the Schema for the SecretRotations API. Provides a resource to manage AWS Secrets Manager secret rotation +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,aws}

func (*SecretRotation) DeepCopy

func (in *SecretRotation) DeepCopy() *SecretRotation

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

func (*SecretRotation) DeepCopyInto

func (in *SecretRotation) DeepCopyInto(out *SecretRotation)

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

func (*SecretRotation) DeepCopyObject

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

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

func (*SecretRotation) GetCondition

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

GetCondition of this SecretRotation.

func (*SecretRotation) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this SecretRotation

func (*SecretRotation) GetDeletionPolicy

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

GetDeletionPolicy of this SecretRotation.

func (*SecretRotation) GetID

func (tr *SecretRotation) GetID() string

GetID returns ID of underlying Terraform resource of this SecretRotation

func (*SecretRotation) GetInitParameters

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

GetInitParameters of this SecretRotation

func (*SecretRotation) GetManagementPolicies

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

GetManagementPolicies of this SecretRotation.

func (*SecretRotation) GetMergedParameters

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

GetInitParameters of this SecretRotation

func (*SecretRotation) GetObservation

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

GetObservation of this SecretRotation

func (*SecretRotation) GetParameters

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

GetParameters of this SecretRotation

func (*SecretRotation) GetProviderConfigReference

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

GetProviderConfigReference of this SecretRotation.

func (*SecretRotation) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this SecretRotation.

func (*SecretRotation) GetTerraformResourceType

func (mg *SecretRotation) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this SecretRotation

func (*SecretRotation) GetTerraformSchemaVersion

func (tr *SecretRotation) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*SecretRotation) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this SecretRotation.

func (*SecretRotation) Hub

func (tr *SecretRotation) Hub()

Hub marks this type as a conversion hub.

func (*SecretRotation) LateInitialize

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

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

func (*SecretRotation) ResolveReferences

func (mg *SecretRotation) ResolveReferences(
	ctx context.Context, c client.Reader) error

func (*SecretRotation) SetConditions

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

SetConditions of this SecretRotation.

func (*SecretRotation) SetDeletionPolicy

func (mg *SecretRotation) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this SecretRotation.

func (*SecretRotation) SetManagementPolicies

func (mg *SecretRotation) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this SecretRotation.

func (*SecretRotation) SetObservation

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

SetObservation for this SecretRotation

func (*SecretRotation) SetParameters

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

SetParameters for this SecretRotation

func (*SecretRotation) SetProviderConfigReference

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

SetProviderConfigReference of this SecretRotation.

func (*SecretRotation) SetPublishConnectionDetailsTo

func (mg *SecretRotation) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this SecretRotation.

func (*SecretRotation) SetWriteConnectionSecretToReference

func (mg *SecretRotation) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this SecretRotation.

type SecretRotationInitParameters

type SecretRotationInitParameters struct {

	// Specifies whether to rotate the secret immediately or wait until the next scheduled rotation window. The rotation schedule is defined in rotation_rules. For secrets that use a Lambda rotation function to rotate, if you don't immediately rotate the secret, Secrets Manager tests the rotation configuration by running the testSecret step (https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_how.html) of the Lambda rotation function. The test creates an AWSPENDING version of the secret and then removes it. Defaults to true.
	RotateImmediately *bool `json:"rotateImmediately,omitempty" tf:"rotate_immediately,omitempty"`

	// Specifies the ARN of the Lambda function that can rotate the secret. Must be supplied if the secret is not managed by AWS.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/lambda/v1beta2.Function
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("arn",true)
	RotationLambdaArn *string `json:"rotationLambdaArn,omitempty" tf:"rotation_lambda_arn,omitempty"`

	// Reference to a Function in lambda to populate rotationLambdaArn.
	// +kubebuilder:validation:Optional
	RotationLambdaArnRef *v1.Reference `json:"rotationLambdaArnRef,omitempty" tf:"-"`

	// Selector for a Function in lambda to populate rotationLambdaArn.
	// +kubebuilder:validation:Optional
	RotationLambdaArnSelector *v1.Selector `json:"rotationLambdaArnSelector,omitempty" tf:"-"`

	// A structure that defines the rotation configuration for this secret. Defined below.
	RotationRules *RotationRulesInitParameters `json:"rotationRules,omitempty" tf:"rotation_rules,omitempty"`

	// Specifies the secret to which you want to add a new version. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret. The secret must already exist.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/secretsmanager/v1beta1.Secret
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	SecretID *string `json:"secretId,omitempty" tf:"secret_id,omitempty"`

	// Reference to a Secret in secretsmanager to populate secretId.
	// +kubebuilder:validation:Optional
	SecretIDRef *v1.Reference `json:"secretIdRef,omitempty" tf:"-"`

	// Selector for a Secret in secretsmanager to populate secretId.
	// +kubebuilder:validation:Optional
	SecretIDSelector *v1.Selector `json:"secretIdSelector,omitempty" tf:"-"`
}

func (*SecretRotationInitParameters) DeepCopy

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

func (*SecretRotationInitParameters) DeepCopyInto

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

type SecretRotationList

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

SecretRotationList contains a list of SecretRotations

func (*SecretRotationList) DeepCopy

func (in *SecretRotationList) DeepCopy() *SecretRotationList

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

func (*SecretRotationList) DeepCopyInto

func (in *SecretRotationList) DeepCopyInto(out *SecretRotationList)

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

func (*SecretRotationList) DeepCopyObject

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

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

func (*SecretRotationList) GetItems

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

GetItems of this SecretRotationList.

type SecretRotationObservation

type SecretRotationObservation struct {

	// Amazon Resource Name (ARN) of the secret.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Specifies whether to rotate the secret immediately or wait until the next scheduled rotation window. The rotation schedule is defined in rotation_rules. For secrets that use a Lambda rotation function to rotate, if you don't immediately rotate the secret, Secrets Manager tests the rotation configuration by running the testSecret step (https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_how.html) of the Lambda rotation function. The test creates an AWSPENDING version of the secret and then removes it. Defaults to true.
	RotateImmediately *bool `json:"rotateImmediately,omitempty" tf:"rotate_immediately,omitempty"`

	// Specifies whether automatic rotation is enabled for this secret.
	RotationEnabled *bool `json:"rotationEnabled,omitempty" tf:"rotation_enabled,omitempty"`

	// Specifies the ARN of the Lambda function that can rotate the secret. Must be supplied if the secret is not managed by AWS.
	RotationLambdaArn *string `json:"rotationLambdaArn,omitempty" tf:"rotation_lambda_arn,omitempty"`

	// A structure that defines the rotation configuration for this secret. Defined below.
	RotationRules *RotationRulesObservation `json:"rotationRules,omitempty" tf:"rotation_rules,omitempty"`

	// Specifies the secret to which you want to add a new version. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret. The secret must already exist.
	SecretID *string `json:"secretId,omitempty" tf:"secret_id,omitempty"`
}

func (*SecretRotationObservation) DeepCopy

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

func (*SecretRotationObservation) DeepCopyInto

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

type SecretRotationParameters

type SecretRotationParameters struct {

	// Region is the region you'd like your resource to be created in.
	// +upjet:crd:field:TFTag=-
	// +kubebuilder:validation:Required
	Region *string `json:"region" tf:"-"`

	// Specifies whether to rotate the secret immediately or wait until the next scheduled rotation window. The rotation schedule is defined in rotation_rules. For secrets that use a Lambda rotation function to rotate, if you don't immediately rotate the secret, Secrets Manager tests the rotation configuration by running the testSecret step (https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_how.html) of the Lambda rotation function. The test creates an AWSPENDING version of the secret and then removes it. Defaults to true.
	// +kubebuilder:validation:Optional
	RotateImmediately *bool `json:"rotateImmediately,omitempty" tf:"rotate_immediately,omitempty"`

	// Specifies the ARN of the Lambda function that can rotate the secret. Must be supplied if the secret is not managed by AWS.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/lambda/v1beta2.Function
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("arn",true)
	// +kubebuilder:validation:Optional
	RotationLambdaArn *string `json:"rotationLambdaArn,omitempty" tf:"rotation_lambda_arn,omitempty"`

	// Reference to a Function in lambda to populate rotationLambdaArn.
	// +kubebuilder:validation:Optional
	RotationLambdaArnRef *v1.Reference `json:"rotationLambdaArnRef,omitempty" tf:"-"`

	// Selector for a Function in lambda to populate rotationLambdaArn.
	// +kubebuilder:validation:Optional
	RotationLambdaArnSelector *v1.Selector `json:"rotationLambdaArnSelector,omitempty" tf:"-"`

	// A structure that defines the rotation configuration for this secret. Defined below.
	// +kubebuilder:validation:Optional
	RotationRules *RotationRulesParameters `json:"rotationRules,omitempty" tf:"rotation_rules,omitempty"`

	// Specifies the secret to which you want to add a new version. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret. The secret must already exist.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/secretsmanager/v1beta1.Secret
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	SecretID *string `json:"secretId,omitempty" tf:"secret_id,omitempty"`

	// Reference to a Secret in secretsmanager to populate secretId.
	// +kubebuilder:validation:Optional
	SecretIDRef *v1.Reference `json:"secretIdRef,omitempty" tf:"-"`

	// Selector for a Secret in secretsmanager to populate secretId.
	// +kubebuilder:validation:Optional
	SecretIDSelector *v1.Selector `json:"secretIdSelector,omitempty" tf:"-"`
}

func (*SecretRotationParameters) DeepCopy

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

func (*SecretRotationParameters) DeepCopyInto

func (in *SecretRotationParameters) DeepCopyInto(out *SecretRotationParameters)

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

type SecretRotationSpec

type SecretRotationSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     SecretRotationParameters `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 SecretRotationInitParameters `json:"initProvider,omitempty"`
}

SecretRotationSpec defines the desired state of SecretRotation

func (*SecretRotationSpec) DeepCopy

func (in *SecretRotationSpec) DeepCopy() *SecretRotationSpec

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

func (*SecretRotationSpec) DeepCopyInto

func (in *SecretRotationSpec) DeepCopyInto(out *SecretRotationSpec)

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

type SecretRotationStatus

type SecretRotationStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        SecretRotationObservation `json:"atProvider,omitempty"`
}

SecretRotationStatus defines the observed state of SecretRotation.

func (*SecretRotationStatus) DeepCopy

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

func (*SecretRotationStatus) DeepCopyInto

func (in *SecretRotationStatus) DeepCopyInto(out *SecretRotationStatus)

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