-
Notifications
You must be signed in to change notification settings - Fork 113
/
zz_realtimelogconfig_types.go
executable file
·145 lines (112 loc) · 5.7 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
/*
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 {
}
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 {
}
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 ID of the CloudFront real-time log configuration.
ID *string `json:"id,omitempty" tf:"id,omitempty"`
}
type RealtimeLogConfigParameters struct {
// The Amazon Kinesis data streams where real-time log data is sent.
// +kubebuilder:validation:Required
Endpoint []EndpointParameters `json:"endpoint" tf:"endpoint,omitempty"`
// The fields that are included in each real-time log record. See the AWS documentation for supported values.
// +kubebuilder:validation:Required
Fields []*string `json:"fields" tf:"fields,omitempty"`
// The unique name to identify this real-time log configuration.
// +kubebuilder:validation:Required
Name *string `json:"name" 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:Required
SamplingRate *float64 `json:"samplingRate" 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"`
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{})
}