generated from crossplane-contrib/provider-jet-template
/
zz_key_types.go
executable file
·116 lines (90 loc) · 4.58 KB
/
zz_key_types.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
/*
Copyright 2021 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by terrajet. DO NOT EDIT.
package v1alpha1
import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime/schema"
v1 "github.com/crossplane/crossplane-runtime/apis/common/v1"
)
type KeyObservation struct {
ID *string `json:"id,omitempty" tf:"id,omitempty"`
KeyState *string `json:"keyState,omitempty" tf:"key_state,omitempty"`
}
type KeyParameters struct {
// Name of CMK. The name can only contain English letters, numbers, underscore and hyphen '-'. The first character must be a letter or number.
// +kubebuilder:validation:Required
Alias *string `json:"alias" tf:"alias,omitempty"`
// Description of CMK. The maximum is 1024 bytes.
// +kubebuilder:validation:Optional
Description *string `json:"description,omitempty" tf:"description,omitempty"`
// Specify whether to archive key. Default value is `false`. This field is conflict with `is_enabled`, valid when key_state is `Enabled`, `Disabled`, `Archived`.
// +kubebuilder:validation:Optional
IsArchived *bool `json:"isArchived,omitempty" tf:"is_archived,omitempty"`
// Specify whether to enable key. Default value is `false`. This field is conflict with `is_archived`, valid when key_state is `Enabled`, `Disabled`, `Archived`.
// +kubebuilder:validation:Optional
IsEnabled *bool `json:"isEnabled,omitempty" tf:"is_enabled,omitempty"`
// Specify whether to enable key rotation, valid when key_usage is `ENCRYPT_DECRYPT`. Default value is `false`.
// +kubebuilder:validation:Optional
KeyRotationEnabled *bool `json:"keyRotationEnabled,omitempty" tf:"key_rotation_enabled,omitempty"`
// Usage of CMK. Available values include `ENCRYPT_DECRYPT`, `ASYMMETRIC_DECRYPT_RSA_2048`, `ASYMMETRIC_DECRYPT_SM2`, `ASYMMETRIC_SIGN_VERIFY_SM2`, `ASYMMETRIC_SIGN_VERIFY_RSA_2048`, `ASYMMETRIC_SIGN_VERIFY_ECC`. Default value is `ENCRYPT_DECRYPT`.
// +kubebuilder:validation:Optional
KeyUsage *string `json:"keyUsage,omitempty" tf:"key_usage,omitempty"`
// Duration in days after which the key is deleted after destruction of the resource, must be between 7 and 30 days. Defaults to 7 days.
// +kubebuilder:validation:Optional
PendingDeleteWindowInDays *float64 `json:"pendingDeleteWindowInDays,omitempty" tf:"pending_delete_window_in_days,omitempty"`
// Tags of CMK.
// +kubebuilder:validation:Optional
Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`
}
// KeySpec defines the desired state of Key
type KeySpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider KeyParameters `json:"forProvider"`
}
// KeyStatus defines the observed state of Key.
type KeyStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider KeyObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// Key is the Schema for the Keys API
// +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,tencentcloudjet}
type Key struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec KeySpec `json:"spec"`
Status KeyStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// KeyList contains a list of Keys
type KeyList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Key `json:"items"`
}
// Repository type metadata.
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)
)
func init() {
SchemeBuilder.Register(&Key{}, &KeyList{})
}