-
Notifications
You must be signed in to change notification settings - Fork 113
/
zz_stream_types.go
executable file
·123 lines (95 loc) · 5.09 KB
/
zz_stream_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
/*
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 StreamObservation struct {
// The Amazon Resource Name (ARN) specifying the Stream (same as id)
Arn *string `json:"arn,omitempty" tf:"arn,omitempty"`
// A time stamp that indicates when the stream was created.
CreationTime *string `json:"creationTime,omitempty" tf:"creation_time,omitempty"`
// The unique Stream id
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"`
// The version of the stream.
Version *string `json:"version,omitempty" tf:"version,omitempty"`
}
type StreamParameters struct {
// – The number of hours that you want to retain the data in the stream. Kinesis Video Streams retains the data in a data store that is associated with the stream. The default value is 0, indicating that the stream does not persist data.
// +kubebuilder:validation:Optional
DataRetentionInHours *float64 `json:"dataRetentionInHours,omitempty" tf:"data_retention_in_hours,omitempty"`
// The name of the device that is writing to the stream. In the current implementation, Kinesis Video Streams does not use this name.
// +kubebuilder:validation:Optional
DeviceName *string `json:"deviceName,omitempty" tf:"device_name,omitempty"`
// The ID of the AWS Key Management Service (AWS KMS) key that you want Kinesis Video Streams to use to encrypt stream data. If no key ID is specified, the default, Kinesis Video-managed key (aws/kinesisvideo) is used.
// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/kms/v1beta1.Key
// +kubebuilder:validation:Optional
KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"`
// Reference to a Key in kms to populate kmsKeyId.
// +kubebuilder:validation:Optional
KMSKeyIDRef *v1.Reference `json:"kmsKeyIdRef,omitempty" tf:"-"`
// Selector for a Key in kms to populate kmsKeyId.
// +kubebuilder:validation:Optional
KMSKeyIDSelector *v1.Selector `json:"kmsKeyIdSelector,omitempty" tf:"-"`
// The media type of the stream. Consumers of the stream can use this information when processing the stream. For more information about media types, see Media Types. If you choose to specify the MediaType, see Naming Requirements for guidelines.
// +kubebuilder:validation:Optional
MediaType *string `json:"mediaType,omitempty" tf:"media_type,omitempty"`
// A name to identify the stream. This is unique to the
// AWS account and region the Stream is created in.
// +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:"-"`
// A map of tags to assign to the resource. 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"`
}
// StreamSpec defines the desired state of Stream
type StreamSpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider StreamParameters `json:"forProvider"`
}
// StreamStatus defines the observed state of Stream.
type StreamStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider StreamObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// Stream is the Schema for the Streams API. Provides a AWS Kinesis Video Stream
// +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 Stream struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec StreamSpec `json:"spec"`
Status StreamStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// StreamList contains a list of Streams
type StreamList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Stream `json:"items"`
}
// Repository type metadata.
var (
Stream_Kind = "Stream"
Stream_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Stream_Kind}.String()
Stream_KindAPIVersion = Stream_Kind + "." + CRDGroupVersion.String()
Stream_GroupVersionKind = CRDGroupVersion.WithKind(Stream_Kind)
)
func init() {
SchemeBuilder.Register(&Stream{}, &StreamList{})
}