-
Notifications
You must be signed in to change notification settings - Fork 120
/
zz_realtimelogconfig_types.go
executable file
·174 lines (133 loc) · 7.76 KB
/
zz_realtimelogconfig_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
/*
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 EndpointObservation struct {
// The Amazon Kinesis data stream configuration.
KinesisStreamConfig []KinesisStreamConfigObservation `json:"kinesisStreamConfig,omitempty" tf:"kinesis_stream_config,omitempty"`
// The type of data stream where real-time log data is sent. The only valid value is Kinesis.
StreamType *string `json:"streamType,omitempty" tf:"stream_type,omitempty"`
}
type EndpointParameters struct {
// The Amazon Kinesis data stream configuration.
// +kubebuilder:validation:Required
KinesisStreamConfig []KinesisStreamConfigParameters `json:"kinesisStreamConfig" tf:"kinesis_stream_config,omitempty"`
// The type of data stream where real-time log data is sent. The only valid value is Kinesis.
// +kubebuilder:validation:Required
StreamType *string `json:"streamType" tf:"stream_type,omitempty"`
}
type KinesisStreamConfigObservation struct {
// The ARN of an IAM role that CloudFront can use to send real-time log data to the Kinesis data stream.
// See the AWS documentation for more information.
RoleArn *string `json:"roleArn,omitempty" tf:"role_arn,omitempty"`
// The ARN of the Kinesis data stream.
StreamArn *string `json:"streamArn,omitempty" tf:"stream_arn,omitempty"`
}
type KinesisStreamConfigParameters struct {
// The ARN of an IAM role that CloudFront can use to send real-time log data to the Kinesis data stream.
// See the AWS documentation for more information.
// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/iam/v1beta1.Role
// +crossplane:generate:reference:extractor=github.com/upbound/upjet/pkg/resource.ExtractParamPath("arn",true)
// +kubebuilder:validation:Optional
RoleArn *string `json:"roleArn,omitempty" tf:"role_arn,omitempty"`
// Reference to a Role in iam to populate roleArn.
// +kubebuilder:validation:Optional
RoleArnRef *v1.Reference `json:"roleArnRef,omitempty" tf:"-"`
// Selector for a Role in iam to populate roleArn.
// +kubebuilder:validation:Optional
RoleArnSelector *v1.Selector `json:"roleArnSelector,omitempty" tf:"-"`
// The ARN of the Kinesis data stream.
// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/kinesis/v1beta1.Stream
// +crossplane:generate:reference:extractor=github.com/upbound/provider-aws/config/common.TerraformID()
// +kubebuilder:validation:Optional
StreamArn *string `json:"streamArn,omitempty" tf:"stream_arn,omitempty"`
// Reference to a Stream in kinesis to populate streamArn.
// +kubebuilder:validation:Optional
StreamArnRef *v1.Reference `json:"streamArnRef,omitempty" tf:"-"`
// Selector for a Stream in kinesis to populate streamArn.
// +kubebuilder:validation:Optional
StreamArnSelector *v1.Selector `json:"streamArnSelector,omitempty" tf:"-"`
}
type RealtimeLogConfigObservation struct {
// The ARN (Amazon Resource Name) of the CloudFront real-time log configuration.
Arn *string `json:"arn,omitempty" tf:"arn,omitempty"`
// The Amazon Kinesis data streams where real-time log data is sent.
Endpoint []EndpointObservation `json:"endpoint,omitempty" tf:"endpoint,omitempty"`
// The fields that are included in each real-time log record. See the AWS documentation for supported values.
Fields []*string `json:"fields,omitempty" tf:"fields,omitempty"`
// The ID of the CloudFront real-time log configuration.
ID *string `json:"id,omitempty" tf:"id,omitempty"`
// The unique name to identify this real-time log configuration.
Name *string `json:"name,omitempty" tf:"name,omitempty"`
// The sampling rate for this real-time log configuration. The sampling rate determines the percentage of viewer requests that are represented in the real-time log data. An integer between 1 and 100, inclusive.
SamplingRate *float64 `json:"samplingRate,omitempty" tf:"sampling_rate,omitempty"`
}
type RealtimeLogConfigParameters struct {
// The Amazon Kinesis data streams where real-time log data is sent.
// +kubebuilder:validation:Optional
Endpoint []EndpointParameters `json:"endpoint,omitempty" tf:"endpoint,omitempty"`
// The fields that are included in each real-time log record. See the AWS documentation for supported values.
// +kubebuilder:validation:Optional
Fields []*string `json:"fields,omitempty" tf:"fields,omitempty"`
// The unique name to identify this real-time log configuration.
// +kubebuilder:validation:Optional
Name *string `json:"name,omitempty" tf:"name,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:"-"`
// The sampling rate for this real-time log configuration. The sampling rate determines the percentage of viewer requests that are represented in the real-time log data. An integer between 1 and 100, inclusive.
// +kubebuilder:validation:Optional
SamplingRate *float64 `json:"samplingRate,omitempty" tf:"sampling_rate,omitempty"`
}
// RealtimeLogConfigSpec defines the desired state of RealtimeLogConfig
type RealtimeLogConfigSpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider RealtimeLogConfigParameters `json:"forProvider"`
}
// RealtimeLogConfigStatus defines the observed state of RealtimeLogConfig.
type RealtimeLogConfigStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider RealtimeLogConfigObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// RealtimeLogConfig is the Schema for the RealtimeLogConfigs API. Provides a CloudFront real-time log configuration 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 RealtimeLogConfig struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.endpoint)",message="endpoint is a required parameter"
// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.fields)",message="fields is a required parameter"
// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.name)",message="name is a required parameter"
// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.samplingRate)",message="samplingRate is a required parameter"
Spec RealtimeLogConfigSpec `json:"spec"`
Status RealtimeLogConfigStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// RealtimeLogConfigList contains a list of RealtimeLogConfigs
type RealtimeLogConfigList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []RealtimeLogConfig `json:"items"`
}
// Repository type metadata.
var (
RealtimeLogConfig_Kind = "RealtimeLogConfig"
RealtimeLogConfig_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: RealtimeLogConfig_Kind}.String()
RealtimeLogConfig_KindAPIVersion = RealtimeLogConfig_Kind + "." + CRDGroupVersion.String()
RealtimeLogConfig_GroupVersionKind = CRDGroupVersion.WithKind(RealtimeLogConfig_Kind)
)
func init() {
SchemeBuilder.Register(&RealtimeLogConfig{}, &RealtimeLogConfigList{})
}