-
Notifications
You must be signed in to change notification settings - Fork 113
/
zz_queue_types.go
executable file
·154 lines (118 loc) · 7.66 KB
/
zz_queue_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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
/*
Copyright 2022 Upbound Inc.
*/
// Code generated by upjet. DO NOT EDIT.
package v1beta1
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 QueueObservation struct {
// The ARN of the SQS queue
Arn *string `json:"arn,omitempty" tf:"arn,omitempty"`
// The URL for the created Amazon SQS queue.
ID *string `json:"id,omitempty" tf:"id,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"`
// Same as id: The URL for the created Amazon SQS queue.
URL *string `json:"url,omitempty" tf:"url,omitempty"`
}
type QueueParameters struct {
// Enables content-based deduplication for FIFO queues. For more information, see the related documentation
// +kubebuilder:validation:Optional
ContentBasedDeduplication *bool `json:"contentBasedDeduplication,omitempty" tf:"content_based_deduplication,omitempty"`
// Specifies whether message deduplication occurs at the message group or queue level. Valid values are messageGroup and queue (default).
// +kubebuilder:validation:Optional
DeduplicationScope *string `json:"deduplicationScope,omitempty" tf:"deduplication_scope,omitempty"`
// The time in seconds that the delivery of all messages in the queue will be delayed. An integer from 0 to 900 (15 minutes). The default for this attribute is 0 seconds.
// +kubebuilder:validation:Optional
DelaySeconds *float64 `json:"delaySeconds,omitempty" tf:"delay_seconds,omitempty"`
// Boolean designating a FIFO queue. If not set, it defaults to false making it standard.
// +kubebuilder:validation:Optional
FifoQueue *bool `json:"fifoQueue,omitempty" tf:"fifo_queue,omitempty"`
// Specifies whether the FIFO queue throughput quota applies to the entire queue or per message group. Valid values are perQueue (default) and perMessageGroupId.
// +kubebuilder:validation:Optional
FifoThroughputLimit *string `json:"fifoThroughputLimit,omitempty" tf:"fifo_throughput_limit,omitempty"`
// The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again. An integer representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 hours). The default is 300 (5 minutes).
// +kubebuilder:validation:Optional
KMSDataKeyReusePeriodSeconds *float64 `json:"kmsDataKeyReusePeriodSeconds,omitempty" tf:"kms_data_key_reuse_period_seconds,omitempty"`
// The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK. For more information, see Key Terms.
// +kubebuilder:validation:Optional
KMSMasterKeyID *string `json:"kmsMasterKeyId,omitempty" tf:"kms_master_key_id,omitempty"`
// The limit of how many bytes a message can contain before Amazon SQS rejects it. An integer from 1024 bytes (1 KiB) up to 262144 bytes (256 KiB). The default for this attribute is 262144 (256 KiB).
// +kubebuilder:validation:Optional
MaxMessageSize *float64 `json:"maxMessageSize,omitempty" tf:"max_message_size,omitempty"`
// The number of seconds Amazon SQS retains a message. Integer representing seconds, from 60 (1 minute) to 1209600 (14 days). The default for this attribute is 345600 (4 days).
// +kubebuilder:validation:Optional
MessageRetentionSeconds *float64 `json:"messageRetentionSeconds,omitempty" tf:"message_retention_seconds,omitempty"`
// The name of the queue. Queue names must be made up of only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 80 characters long. For a FIFO (first-in-first-out) queue, the name must end with the .fifo suffix. Conflicts with name_prefix
// +kubebuilder:validation:Optional
Name *string `json:"name,omitempty" tf:"name,omitempty"`
// The JSON policy for the SQS queue.
// +kubebuilder:validation:Optional
Policy *string `json:"policy,omitempty" tf:"policy,omitempty"`
// The time for which a ReceiveMessage call will wait for a message to arrive (long polling) before returning. An integer from 0 to 20 (seconds). The default for this attribute is 0, meaning that the call will return immediately.
// +kubebuilder:validation:Optional
ReceiveWaitTimeSeconds *float64 `json:"receiveWaitTimeSeconds,omitempty" tf:"receive_wait_time_seconds,omitempty"`
// The JSON policy to set up the Dead Letter Queue redrive permission, see AWS docs.
// +kubebuilder:validation:Optional
RedriveAllowPolicy *string `json:"redriveAllowPolicy,omitempty" tf:"redrive_allow_policy,omitempty"`
// The JSON policy to set up the Dead Letter Queue, see AWS docs. Note: when specifying maxReceiveCount, you must specify it as an integer (5), and not a string ("5").
// +kubebuilder:validation:Optional
RedrivePolicy *string `json:"redrivePolicy,omitempty" tf:"redrive_policy,omitempty"`
// 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:"-"`
// Boolean to enable server-side encryption (SSE) of message content with SQS-owned encryption keys. Defaults to false. See Encryption at rest.
// +kubebuilder:validation:Optional
SqsManagedSseEnabled *bool `json:"sqsManagedSseEnabled,omitempty" tf:"sqs_managed_sse_enabled,omitempty"`
// A map of tags to assign to the queue. 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"`
// The visibility timeout for the queue. An integer from 0 to 43200 (12 hours). The default for this attribute is 30. For more information about visibility timeout, see AWS docs.
// +kubebuilder:validation:Optional
VisibilityTimeoutSeconds *float64 `json:"visibilityTimeoutSeconds,omitempty" tf:"visibility_timeout_seconds,omitempty"`
}
// QueueSpec defines the desired state of Queue
type QueueSpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider QueueParameters `json:"forProvider"`
}
// QueueStatus defines the observed state of Queue.
type QueueStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider QueueObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// Queue is the Schema for the Queues API. Provides a SQS resource.
// +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 Queue struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec QueueSpec `json:"spec"`
Status QueueStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// QueueList contains a list of Queues
type QueueList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Queue `json:"items"`
}
// Repository type metadata.
var (
Queue_Kind = "Queue"
Queue_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Queue_Kind}.String()
Queue_KindAPIVersion = Queue_Kind + "." + CRDGroupVersion.String()
Queue_GroupVersionKind = CRDGroupVersion.WithKind(Queue_Kind)
)
func init() {
SchemeBuilder.Register(&Queue{}, &QueueList{})
}