v1alpha1

package
v0.6.0 Latest Latest
Warning

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

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

Documentation

Overview

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

Index

Constants

View Source
const (
	CRDGroup   = "kms.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 (
	Key_Kind             = "Key"
	Key_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Key_Kind}.String()
	Key_KindAPIVersion   = Key_Kind + "." + CRDGroupVersion.String()
	Key_GroupVersionKind = CRDGroupVersion.WithKind(Key_Kind)
)

Repository type metadata.

Functions

This section is empty.

Types

type Key

type Key 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.region)",message="spec.forProvider.region is a required parameter"
	Spec   KeySpec   `json:"spec"`
	Status KeyStatus `json:"status,omitempty"`
}

Key is the Schema for the Keys API. Manages a single-Region or multi-Region primary KMS key. +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 (*Key) DeepCopy

func (in *Key) DeepCopy() *Key

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

func (*Key) DeepCopyInto

func (in *Key) DeepCopyInto(out *Key)

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

func (*Key) DeepCopyObject

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

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

func (*Key) GetCondition

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

GetCondition of this Key.

func (*Key) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this Key

func (*Key) GetDeletionPolicy

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

GetDeletionPolicy of this Key.

func (*Key) GetID

func (tr *Key) GetID() string

GetID returns ID of underlying Terraform resource of this Key

func (*Key) GetInitParameters added in v0.0.2

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

GetInitParameters of this Key

func (*Key) GetManagementPolicies added in v0.0.2

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

GetManagementPolicies of this Key.

func (*Key) GetMergedParameters added in v0.0.2

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

GetInitParameters of this Key

func (*Key) GetObservation

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

GetObservation of this Key

func (*Key) GetParameters

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

GetParameters of this Key

func (*Key) GetProviderConfigReference

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

GetProviderConfigReference of this Key.

func (*Key) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this Key.

func (*Key) GetTerraformResourceType

func (mg *Key) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Key

func (*Key) GetTerraformSchemaVersion

func (tr *Key) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Key) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Key.

func (*Key) LateInitialize

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

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

func (*Key) SetConditions

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

SetConditions of this Key.

func (*Key) SetDeletionPolicy

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

SetDeletionPolicy of this Key.

func (*Key) SetManagementPolicies added in v0.0.2

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

SetManagementPolicies of this Key.

func (*Key) SetObservation

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

SetObservation for this Key

func (*Key) SetParameters

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

SetParameters for this Key

func (*Key) SetProviderConfigReference

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

SetProviderConfigReference of this Key.

func (*Key) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this Key.

func (*Key) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this Key.

type KeyInitParameters added in v0.0.2

type KeyInitParameters struct {

	// A flag to indicate whether to bypass the key policy lockout safety check.
	// Setting this value to true increases the risk that the KMS key becomes unmanageable. Do not set this value to true indiscriminately.
	// For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide.
	// The default value is false.
	BypassPolicyLockoutSafetyCheck *bool `json:"bypassPolicyLockoutSafetyCheck,omitempty" tf:"bypass_policy_lockout_safety_check,omitempty"`

	// ID of the KMS Custom Key Store where the key will be stored instead of KMS (eg CloudHSM).
	CustomKeyStoreID *string `json:"customKeyStoreId,omitempty" tf:"custom_key_store_id,omitempty"`

	// Specifies whether the key contains a symmetric key or an asymmetric key pair and the encryption algorithms or signing algorithms that the key supports.
	// Valid values: SYMMETRIC_DEFAULT,  RSA_2048, RSA_3072, RSA_4096, HMAC_256, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, or ECC_SECG_P256K1. Defaults to SYMMETRIC_DEFAULT. For help with choosing a key spec, see the AWS KMS Developer Guide.
	CustomerMasterKeySpec *string `json:"customerMasterKeySpec,omitempty" tf:"customer_master_key_spec,omitempty"`

	// The waiting period, specified in number of days. After the waiting period ends, AWS KMS deletes the KMS key.
	// If you specify a value, it must be between 7 and 30, inclusive. If you do not specify a value, it defaults to 30.
	// If the KMS key is a multi-Region primary key with replicas, the waiting period begins when the last of its replica keys is deleted. Otherwise, the waiting period begins immediately.
	DeletionWindowInDays *float64 `json:"deletionWindowInDays,omitempty" tf:"deletion_window_in_days,omitempty"`

	// The description of the key as viewed in AWS console.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Specifies whether key rotation is enabled. Defaults to false.
	EnableKeyRotation *bool `json:"enableKeyRotation,omitempty" tf:"enable_key_rotation,omitempty"`

	// Specifies whether the key is enabled. Defaults to true.
	IsEnabled *bool `json:"isEnabled,omitempty" tf:"is_enabled,omitempty"`

	// Specifies the intended use of the key. Valid values: ENCRYPT_DECRYPT, SIGN_VERIFY, or GENERATE_VERIFY_MAC.
	// Defaults to ENCRYPT_DECRYPT.
	KeyUsage *string `json:"keyUsage,omitempty" tf:"key_usage,omitempty"`

	// Indicates whether the KMS key is a multi-Region (true) or regional (false) key. Defaults to false.
	MultiRegion *bool `json:"multiRegion,omitempty" tf:"multi_region,omitempty"`

	// A valid policy JSON document. Although this is a key policy, not an IAM policy, an aws_iam_policy_document, in the form that designates a principal, can be used.
	Policy *string `json:"policy,omitempty" tf:"policy,omitempty"`

	// A map of tags to assign to the object. 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 (*KeyInitParameters) DeepCopy added in v0.0.2

func (in *KeyInitParameters) DeepCopy() *KeyInitParameters

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

func (*KeyInitParameters) DeepCopyInto added in v0.0.2

func (in *KeyInitParameters) DeepCopyInto(out *KeyInitParameters)

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

type KeyList

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

KeyList contains a list of Keys

func (*KeyList) DeepCopy

func (in *KeyList) DeepCopy() *KeyList

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

func (*KeyList) DeepCopyInto

func (in *KeyList) DeepCopyInto(out *KeyList)

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

func (*KeyList) DeepCopyObject

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

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

func (*KeyList) GetItems

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

GetItems of this KeyList.

type KeyObservation

type KeyObservation struct {

	// The Amazon Resource Name (ARN) of the key.
	Arn *string `json:"arn,omitempty" tf:"arn,omitempty"`

	// A flag to indicate whether to bypass the key policy lockout safety check.
	// Setting this value to true increases the risk that the KMS key becomes unmanageable. Do not set this value to true indiscriminately.
	// For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide.
	// The default value is false.
	BypassPolicyLockoutSafetyCheck *bool `json:"bypassPolicyLockoutSafetyCheck,omitempty" tf:"bypass_policy_lockout_safety_check,omitempty"`

	// ID of the KMS Custom Key Store where the key will be stored instead of KMS (eg CloudHSM).
	CustomKeyStoreID *string `json:"customKeyStoreId,omitempty" tf:"custom_key_store_id,omitempty"`

	// Specifies whether the key contains a symmetric key or an asymmetric key pair and the encryption algorithms or signing algorithms that the key supports.
	// Valid values: SYMMETRIC_DEFAULT,  RSA_2048, RSA_3072, RSA_4096, HMAC_256, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, or ECC_SECG_P256K1. Defaults to SYMMETRIC_DEFAULT. For help with choosing a key spec, see the AWS KMS Developer Guide.
	CustomerMasterKeySpec *string `json:"customerMasterKeySpec,omitempty" tf:"customer_master_key_spec,omitempty"`

	// The waiting period, specified in number of days. After the waiting period ends, AWS KMS deletes the KMS key.
	// If you specify a value, it must be between 7 and 30, inclusive. If you do not specify a value, it defaults to 30.
	// If the KMS key is a multi-Region primary key with replicas, the waiting period begins when the last of its replica keys is deleted. Otherwise, the waiting period begins immediately.
	DeletionWindowInDays *float64 `json:"deletionWindowInDays,omitempty" tf:"deletion_window_in_days,omitempty"`

	// The description of the key as viewed in AWS console.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Specifies whether key rotation is enabled. Defaults to false.
	EnableKeyRotation *bool `json:"enableKeyRotation,omitempty" tf:"enable_key_rotation,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Specifies whether the key is enabled. Defaults to true.
	IsEnabled *bool `json:"isEnabled,omitempty" tf:"is_enabled,omitempty"`

	// The globally unique identifier for the key.
	KeyID *string `json:"keyId,omitempty" tf:"key_id,omitempty"`

	// Specifies the intended use of the key. Valid values: ENCRYPT_DECRYPT, SIGN_VERIFY, or GENERATE_VERIFY_MAC.
	// Defaults to ENCRYPT_DECRYPT.
	KeyUsage *string `json:"keyUsage,omitempty" tf:"key_usage,omitempty"`

	// Indicates whether the KMS key is a multi-Region (true) or regional (false) key. Defaults to false.
	MultiRegion *bool `json:"multiRegion,omitempty" tf:"multi_region,omitempty"`

	// A valid policy JSON document. Although this is a key policy, not an IAM policy, an aws_iam_policy_document, in the form that designates a principal, can be used.
	Policy *string `json:"policy,omitempty" tf:"policy,omitempty"`

	// A map of tags to assign to the object. 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 (*KeyObservation) DeepCopy

func (in *KeyObservation) DeepCopy() *KeyObservation

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

func (*KeyObservation) DeepCopyInto

func (in *KeyObservation) DeepCopyInto(out *KeyObservation)

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

type KeyParameters

type KeyParameters struct {

	// A flag to indicate whether to bypass the key policy lockout safety check.
	// Setting this value to true increases the risk that the KMS key becomes unmanageable. Do not set this value to true indiscriminately.
	// For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide.
	// The default value is false.
	// +kubebuilder:validation:Optional
	BypassPolicyLockoutSafetyCheck *bool `json:"bypassPolicyLockoutSafetyCheck,omitempty" tf:"bypass_policy_lockout_safety_check,omitempty"`

	// ID of the KMS Custom Key Store where the key will be stored instead of KMS (eg CloudHSM).
	// +kubebuilder:validation:Optional
	CustomKeyStoreID *string `json:"customKeyStoreId,omitempty" tf:"custom_key_store_id,omitempty"`

	// Specifies whether the key contains a symmetric key or an asymmetric key pair and the encryption algorithms or signing algorithms that the key supports.
	// Valid values: SYMMETRIC_DEFAULT,  RSA_2048, RSA_3072, RSA_4096, HMAC_256, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, or ECC_SECG_P256K1. Defaults to SYMMETRIC_DEFAULT. For help with choosing a key spec, see the AWS KMS Developer Guide.
	// +kubebuilder:validation:Optional
	CustomerMasterKeySpec *string `json:"customerMasterKeySpec,omitempty" tf:"customer_master_key_spec,omitempty"`

	// The waiting period, specified in number of days. After the waiting period ends, AWS KMS deletes the KMS key.
	// If you specify a value, it must be between 7 and 30, inclusive. If you do not specify a value, it defaults to 30.
	// If the KMS key is a multi-Region primary key with replicas, the waiting period begins when the last of its replica keys is deleted. Otherwise, the waiting period begins immediately.
	// +kubebuilder:validation:Optional
	DeletionWindowInDays *float64 `json:"deletionWindowInDays,omitempty" tf:"deletion_window_in_days,omitempty"`

	// The description of the key as viewed in AWS console.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Specifies whether key rotation is enabled. Defaults to false.
	// +kubebuilder:validation:Optional
	EnableKeyRotation *bool `json:"enableKeyRotation,omitempty" tf:"enable_key_rotation,omitempty"`

	// Specifies whether the key is enabled. Defaults to true.
	// +kubebuilder:validation:Optional
	IsEnabled *bool `json:"isEnabled,omitempty" tf:"is_enabled,omitempty"`

	// Specifies the intended use of the key. Valid values: ENCRYPT_DECRYPT, SIGN_VERIFY, or GENERATE_VERIFY_MAC.
	// Defaults to ENCRYPT_DECRYPT.
	// +kubebuilder:validation:Optional
	KeyUsage *string `json:"keyUsage,omitempty" tf:"key_usage,omitempty"`

	// Indicates whether the KMS key is a multi-Region (true) or regional (false) key. Defaults to false.
	// +kubebuilder:validation:Optional
	MultiRegion *bool `json:"multiRegion,omitempty" tf:"multi_region,omitempty"`

	// A valid policy JSON document. Although this is a key policy, not an IAM policy, an aws_iam_policy_document, in the form that designates a principal, can be used.
	// +kubebuilder:validation:Optional
	Policy *string `json:"policy,omitempty" tf:"policy,omitempty"`

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

	// A map of tags to assign to the object. 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 (*KeyParameters) DeepCopy

func (in *KeyParameters) DeepCopy() *KeyParameters

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

func (*KeyParameters) DeepCopyInto

func (in *KeyParameters) DeepCopyInto(out *KeyParameters)

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

type KeySpec

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

KeySpec defines the desired state of Key

func (*KeySpec) DeepCopy

func (in *KeySpec) DeepCopy() *KeySpec

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

func (*KeySpec) DeepCopyInto

func (in *KeySpec) DeepCopyInto(out *KeySpec)

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

type KeyStatus

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

KeyStatus defines the observed state of Key.

func (*KeyStatus) DeepCopy

func (in *KeyStatus) DeepCopy() *KeyStatus

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

func (*KeyStatus) DeepCopyInto

func (in *KeyStatus) DeepCopyInto(out *KeyStatus)

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