generated from crossplane/upjet-provider-template
/
zz_clustersnapshot_types.go
executable file
·117 lines (88 loc) · 4.93 KB
/
zz_clustersnapshot_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
117
/*
Copyright 2022 Upbound Inc.
*/
// Code generated by upjet. 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 ClusterSnapshotObservation struct {
// List of EC2 Availability Zones that instances in the DocumentDB cluster snapshot can be restored in.
AvailabilityZones []*string `json:"availabilityZones,omitempty" tf:"availability_zones,omitempty"`
// The DocumentDB Cluster Identifier from which to take the snapshot.
DBClusterIdentifier *string `json:"dbClusterIdentifier,omitempty" tf:"db_cluster_identifier,omitempty"`
// The Amazon Resource Name (ARN) for the DocumentDB Cluster Snapshot.
DBClusterSnapshotArn *string `json:"dbClusterSnapshotArn,omitempty" tf:"db_cluster_snapshot_arn,omitempty"`
// Specifies the name of the database engine.
Engine *string `json:"engine,omitempty" tf:"engine,omitempty"`
// Version of the database engine for this DocumentDB cluster snapshot.
EngineVersion *string `json:"engineVersion,omitempty" tf:"engine_version,omitempty"`
ID *string `json:"id,omitempty" tf:"id,omitempty"`
// If storage_encrypted is true, the AWS KMS key identifier for the encrypted DocumentDB cluster snapshot.
KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"`
// Port that the DocumentDB cluster was listening on at the time of the snapshot.
Port *float64 `json:"port,omitempty" tf:"port,omitempty"`
SnapshotType *string `json:"snapshotType,omitempty" tf:"snapshot_type,omitempty"`
// The Amazon Resource Name (ARN) for the DocumentDB Cluster Snapshot.
SourceDBClusterSnapshotArn *string `json:"sourceDbClusterSnapshotArn,omitempty" tf:"source_db_cluster_snapshot_arn,omitempty"`
// The status of this DocumentDB Cluster Snapshot.
Status *string `json:"status,omitempty" tf:"status,omitempty"`
// Specifies whether the DocumentDB cluster snapshot is encrypted.
StorageEncrypted *bool `json:"storageEncrypted,omitempty" tf:"storage_encrypted,omitempty"`
// The VPC ID associated with the DocumentDB cluster snapshot.
VPCID *string `json:"vpcId,omitempty" tf:"vpc_id,omitempty"`
}
type ClusterSnapshotParameters struct {
// The DocumentDB Cluster Identifier from which to take the snapshot.
// +kubebuilder:validation:Optional
DBClusterIdentifier *string `json:"dbClusterIdentifier,omitempty" tf:"db_cluster_identifier,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:"-"`
}
// ClusterSnapshotSpec defines the desired state of ClusterSnapshot
type ClusterSnapshotSpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider ClusterSnapshotParameters `json:"forProvider"`
}
// ClusterSnapshotStatus defines the observed state of ClusterSnapshot.
type ClusterSnapshotStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider ClusterSnapshotObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// ClusterSnapshot is the Schema for the ClusterSnapshots API. Manages a DocumentDB database cluster snapshot.
// +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}
type ClusterSnapshot struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.dbClusterIdentifier)",message="dbClusterIdentifier is a required parameter"
// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.region)",message="region is a required parameter"
Spec ClusterSnapshotSpec `json:"spec"`
Status ClusterSnapshotStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// ClusterSnapshotList contains a list of ClusterSnapshots
type ClusterSnapshotList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ClusterSnapshot `json:"items"`
}
// Repository type metadata.
var (
ClusterSnapshot_Kind = "ClusterSnapshot"
ClusterSnapshot_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: ClusterSnapshot_Kind}.String()
ClusterSnapshot_KindAPIVersion = ClusterSnapshot_Kind + "." + CRDGroupVersion.String()
ClusterSnapshot_GroupVersionKind = CRDGroupVersion.WithKind(ClusterSnapshot_Kind)
)
func init() {
SchemeBuilder.Register(&ClusterSnapshot{}, &ClusterSnapshotList{})
}