-
Notifications
You must be signed in to change notification settings - Fork 202
/
cloudtasksqueue_types.go
208 lines (165 loc) · 7.6 KB
/
cloudtasksqueue_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
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
// Copyright 2020 Google LLC
//
// 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.
// ----------------------------------------------------------------------------
//
// *** AUTO GENERATED CODE *** AUTO GENERATED CODE ***
//
// ----------------------------------------------------------------------------
//
// This file is automatically generated by Config Connector and manual
// changes will be clobbered when the file is regenerated.
//
// ----------------------------------------------------------------------------
// *** DISCLAIMER ***
// Config Connector's go-client for CRDs is currently in ALPHA, which means
// that future versions of the go-client may include breaking changes.
// Please try it out and give us feedback!
package v1alpha1
import (
"github.com/GoogleCloudPlatform/k8s-config-connector/pkg/clients/generated/apis/k8s/v1alpha1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
type QueueAppEngineRoutingOverride struct {
/* The host that the task is sent to. */
// +optional
Host *string `json:"host,omitempty"`
/* App instance.
By default, the task is sent to an instance which is available when the task is attempted. */
// +optional
Instance *string `json:"instance,omitempty"`
/* App service.
By default, the task is sent to the service which is the default service when the task is attempted. */
// +optional
Service *string `json:"service,omitempty"`
/* App version.
By default, the task is sent to the version which is the default version when the task is attempted. */
// +optional
Version *string `json:"version,omitempty"`
}
type QueueRateLimits struct {
/* The max burst size.
Max burst size limits how fast tasks in queue are processed when many tasks are
in the queue and the rate is high. This field allows the queue to have a high
rate so processing starts shortly after a task is enqueued, but still limits
resource usage when many tasks are enqueued in a short period of time. */
// +optional
MaxBurstSize *int `json:"maxBurstSize,omitempty"`
/* The maximum number of concurrent tasks that Cloud Tasks allows to
be dispatched for this queue. After this threshold has been
reached, Cloud Tasks stops dispatching tasks until the number of
concurrent requests decreases. */
// +optional
MaxConcurrentDispatches *int `json:"maxConcurrentDispatches,omitempty"`
/* The maximum rate at which tasks are dispatched from this queue.
If unspecified when the queue is created, Cloud Tasks will pick the default. */
// +optional
MaxDispatchesPerSecond *float64 `json:"maxDispatchesPerSecond,omitempty"`
}
type QueueRetryConfig struct {
/* Number of attempts per task.
Cloud Tasks will attempt the task maxAttempts times (that is, if
the first attempt fails, then there will be maxAttempts - 1
retries). Must be >= -1.
If unspecified when the queue is created, Cloud Tasks will pick
the default.
-1 indicates unlimited attempts. */
// +optional
MaxAttempts *int `json:"maxAttempts,omitempty"`
/* A task will be scheduled for retry between minBackoff and
maxBackoff duration after it fails, if the queue's RetryConfig
specifies that the task should be retried. */
// +optional
MaxBackoff *string `json:"maxBackoff,omitempty"`
/* The time between retries will double maxDoublings times.
A task's retry interval starts at minBackoff, then doubles maxDoublings times,
then increases linearly, and finally retries retries at intervals of maxBackoff
up to maxAttempts times. */
// +optional
MaxDoublings *int `json:"maxDoublings,omitempty"`
/* If positive, maxRetryDuration specifies the time limit for
retrying a failed task, measured from when the task was first
attempted. Once maxRetryDuration time has passed and the task has
been attempted maxAttempts times, no further attempts will be
made and the task will be deleted.
If zero, then the task age is unlimited. */
// +optional
MaxRetryDuration *string `json:"maxRetryDuration,omitempty"`
/* A task will be scheduled for retry between minBackoff and
maxBackoff duration after it fails, if the queue's RetryConfig
specifies that the task should be retried. */
// +optional
MinBackoff *string `json:"minBackoff,omitempty"`
}
type QueueStackdriverLoggingConfig struct {
/* Specifies the fraction of operations to write to Stackdriver Logging.
This field may contain any value between 0.0 and 1.0, inclusive. 0.0 is the
default and means that no operations are logged. */
SamplingRatio float64 `json:"samplingRatio"`
}
type CloudTasksQueueSpec struct {
/* Overrides for task-level appEngineRouting. These settings apply only
to App Engine tasks in this queue. */
// +optional
AppEngineRoutingOverride *QueueAppEngineRoutingOverride `json:"appEngineRoutingOverride,omitempty"`
/* Immutable. The location of the queue. */
Location string `json:"location"`
/* The project that this resource belongs to. */
ProjectRef v1alpha1.ResourceRef `json:"projectRef"`
/* Rate limits for task dispatches.
The queue's actual dispatch rate is the result of:
* Number of tasks in the queue
* User-specified throttling: rateLimits, retryConfig, and the queue's state.
* System throttling due to 429 (Too Many Requests) or 503 (Service
Unavailable) responses from the worker, high error rates, or to
smooth sudden large traffic spikes. */
// +optional
RateLimits *QueueRateLimits `json:"rateLimits,omitempty"`
/* Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default. */
// +optional
ResourceID *string `json:"resourceID,omitempty"`
/* Settings that determine the retry behavior. */
// +optional
RetryConfig *QueueRetryConfig `json:"retryConfig,omitempty"`
/* Configuration options for writing logs to Stackdriver Logging. */
// +optional
StackdriverLoggingConfig *QueueStackdriverLoggingConfig `json:"stackdriverLoggingConfig,omitempty"`
}
type CloudTasksQueueStatus struct {
/* Conditions represent the latest available observations of the
CloudTasksQueue's current state. */
Conditions []v1alpha1.Condition `json:"conditions,omitempty"`
/* ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource. */
// +optional
ObservedGeneration *int `json:"observedGeneration,omitempty"`
}
// +genclient
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// CloudTasksQueue is the Schema for the cloudtasks API
// +k8s:openapi-gen=true
type CloudTasksQueue struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec CloudTasksQueueSpec `json:"spec,omitempty"`
Status CloudTasksQueueStatus `json:"status,omitempty"`
}
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// CloudTasksQueueList contains a list of CloudTasksQueue
type CloudTasksQueueList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []CloudTasksQueue `json:"items"`
}
func init() {
SchemeBuilder.Register(&CloudTasksQueue{}, &CloudTasksQueueList{})
}