generated from crossplane/upjet-provider-template
/
zz_job_types.go
executable file
·132 lines (103 loc) · 6.16 KB
/
zz_job_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
/*
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 JobObservation struct {
ID *string `json:"id,omitempty" tf:"id,omitempty"`
}
type JobParameters struct {
// The account identifier to target for the resource. Must provide only one of `account_id`, `zone_id`.
// +crossplane:generate:reference:type=github.com/cdloh/provider-cloudflare/apis/account/v1alpha1.Account
// +kubebuilder:validation:Optional
AccountID *string `json:"accountId,omitempty" tf:"account_id,omitempty"`
// Reference to a Account in account to populate accountId.
// +kubebuilder:validation:Optional
AccountIDRef *v1.Reference `json:"accountIdRef,omitempty" tf:"-"`
// Selector for a Account in account to populate accountId.
// +kubebuilder:validation:Optional
AccountIDSelector *v1.Selector `json:"accountIdSelector,omitempty" tf:"-"`
// Uniquely identifies a resource (such as an s3 bucket) where data will be pushed. Additional configuration parameters supported by the destination may be included. See [Logpush destination documentation](https://developers.cloudflare.com/logs/reference/logpush-api-configuration#destination). Available values: `access_requests`, `firewall_events`, `http_requests`, `spectrum_events`, `nel_reports`, `audit_logs`, `gateway_dns`, `gateway_http`, `gateway_network`, `dns_logs`, `network_analytics_logs`, `workers_trace_events`.
// +kubebuilder:validation:Required
Dataset *string `json:"dataset" tf:"dataset,omitempty"`
// Uniquely identifies a resource (such as an s3 bucket) where data will be pushed. Additional configuration parameters supported by the destination may be included. See [Logpush destination documentation](https://developers.cloudflare.com/logs/reference/logpush-api-configuration#destination).
// +kubebuilder:validation:Required
DestinationConf *string `json:"destinationConf" tf:"destination_conf,omitempty"`
// Whether to enable the job.
// +kubebuilder:validation:Optional
Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`
// Use filters to select the events to include and/or remove from your logs. For more information, refer to [Filters](https://developers.cloudflare.com/logs/reference/logpush-api-configuration/filters/).
// +kubebuilder:validation:Optional
Filter *string `json:"filter,omitempty" tf:"filter,omitempty"`
// A higher frequency will result in logs being pushed on faster with smaller files. `low` frequency will push logs less often with larger files. Available values: `high`, `low`. Defaults to `high`.
// +kubebuilder:validation:Optional
Frequency *string `json:"frequency,omitempty" tf:"frequency,omitempty"`
// The kind of logpush job to create. Available values: `edge`, `instant-logs`, `""`.
// +kubebuilder:validation:Optional
Kind *string `json:"kind,omitempty" tf:"kind,omitempty"`
// Configuration string for the Logshare API. It specifies things like requested fields and timestamp formats. See [Logpull options documentation](https://developers.cloudflare.com/logs/logpush/logpush-configuration-api/understanding-logpush-api/#options).
// +kubebuilder:validation:Optional
LogpullOptions *string `json:"logpullOptions,omitempty" tf:"logpull_options,omitempty"`
// The name of the logpush job to create.
// +kubebuilder:validation:Optional
Name *string `json:"name,omitempty" tf:"name,omitempty"`
// Ownership challenge token to prove destination ownership, required when destination is Amazon S3, Google Cloud Storage, Microsoft Azure or Sumo Logic. See [Developer documentation](https://developers.cloudflare.com/logs/logpush/logpush-configuration-api/understanding-logpush-api/#usage).
// +kubebuilder:validation:Optional
OwnershipChallenge *string `json:"ownershipChallenge,omitempty" tf:"ownership_challenge,omitempty"`
// The zone identifier to target for the resource. Must provide only one of `account_id`, `zone_id`.
// +crossplane:generate:reference:type=github.com/cdloh/provider-cloudflare/apis/zone/v1alpha1.Zone
// +kubebuilder:validation:Optional
ZoneID *string `json:"zoneId,omitempty" tf:"zone_id,omitempty"`
// Reference to a Zone in zone to populate zoneId.
// +kubebuilder:validation:Optional
ZoneIDRef *v1.Reference `json:"zoneIdRef,omitempty" tf:"-"`
// Selector for a Zone in zone to populate zoneId.
// +kubebuilder:validation:Optional
ZoneIDSelector *v1.Selector `json:"zoneIdSelector,omitempty" tf:"-"`
}
// JobSpec defines the desired state of Job
type JobSpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider JobParameters `json:"forProvider"`
}
// JobStatus defines the observed state of Job.
type JobStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider JobObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// Job is the Schema for the Jobs API. <no value>
// +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,cloudflare}
type Job struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec JobSpec `json:"spec"`
Status JobStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// JobList contains a list of Jobs
type JobList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Job `json:"items"`
}
// Repository type metadata.
var (
Job_Kind = "Job"
Job_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Job_Kind}.String()
Job_KindAPIVersion = Job_Kind + "." + CRDGroupVersion.String()
Job_GroupVersionKind = CRDGroupVersion.WithKind(Job_Kind)
)
func init() {
SchemeBuilder.Register(&Job{}, &JobList{})
}