1// Code generated by smithy-go-codegen DO NOT EDIT.
2
3package types
4
5import (
6	"time"
7)
8
9// Error related to a specific channel, specified by its ARN.
10type BatchError struct {
11
12	// Channel ARN.
13	Arn *string
14
15	// Error code.
16	Code *string
17
18	// Error message, determined by the application.
19	Message *string
20}
21
22// Object specifying a channel.
23type Channel struct {
24
25	// Channel ARN.
26	Arn *string
27
28	// Whether the channel is private (enabled for playback authorization). Default:
29	// false.
30	Authorized bool
31
32	// Channel ingest endpoint, part of the definition of an ingest server, used when
33	// you set up streaming software.
34	IngestEndpoint *string
35
36	// Channel latency mode. Use NORMAL to broadcast and deliver live video up to Full
37	// HD. Use LOW for near-real-time interaction with viewers. Default: LOW. (Note: In
38	// the Amazon IVS console, LOW and NORMAL correspond to Ultra-low and Standard,
39	// respectively.)
40	LatencyMode ChannelLatencyMode
41
42	// Channel name.
43	Name *string
44
45	// Channel playback URL.
46	PlaybackUrl *string
47
48	// Recording-configuration ARN. A value other than an empty string indicates that
49	// recording is enabled. Default: "" (empty string, recording is disabled).
50	RecordingConfigurationArn *string
51
52	// Array of 1-50 maps, each of the form string:string (key:value).
53	Tags map[string]string
54
55	// Channel type, which determines the allowable resolution and bitrate. If you
56	// exceed the allowable resolution or bitrate, the stream probably will disconnect
57	// immediately. Default: STANDARD. Valid values:
58	//
59	// * STANDARD: Multiple qualities
60	// are generated from the original input, to automatically give viewers the best
61	// experience for their devices and network conditions. Vertical resolution can be
62	// up to 1080 and bitrate can be up to 8.5 Mbps.
63	//
64	// * BASIC: Amazon IVS delivers the
65	// original input to viewers. The viewer’s video-quality choice is limited to the
66	// original input. Vertical resolution can be up to 480 and bitrate can be up to
67	// 1.5 Mbps.
68	Type ChannelType
69}
70
71// Summary information about a channel.
72type ChannelSummary struct {
73
74	// Channel ARN.
75	Arn *string
76
77	// Whether the channel is private (enabled for playback authorization). Default:
78	// false.
79	Authorized bool
80
81	// Channel latency mode. Use NORMAL to broadcast and deliver live video up to Full
82	// HD. Use LOW for near-real-time interaction with viewers. Default: LOW. (Note: In
83	// the Amazon IVS console, LOW and NORMAL correspond to Ultra-low and Standard,
84	// respectively.)
85	LatencyMode ChannelLatencyMode
86
87	// Channel name.
88	Name *string
89
90	// Recording-configuration ARN. A value other than an empty string indicates that
91	// recording is enabled. Default: "" (empty string, recording is disabled).
92	RecordingConfigurationArn *string
93
94	// Array of 1-50 maps, each of the form string:string (key:value).
95	Tags map[string]string
96}
97
98// A complex type that describes a location where recorded videos will be stored.
99// Each member represents a type of destination configuration. For recording, you
100// define one and only one type of destination configuration.
101type DestinationConfiguration struct {
102
103	// An S3 destination configuration where recorded videos will be stored.
104	S3 *S3DestinationConfiguration
105}
106
107// A key pair used to sign and validate a playback authorization token.
108type PlaybackKeyPair struct {
109
110	// Key-pair ARN.
111	Arn *string
112
113	// Key-pair identifier.
114	Fingerprint *string
115
116	// An arbitrary string (a nickname) assigned to a playback key pair that helps the
117	// customer identify that resource. The value does not need to be unique.
118	Name *string
119
120	// Array of 1-50 maps, each of the form string:string (key:value).
121	Tags map[string]string
122}
123
124// Summary information about a playback key pair.
125type PlaybackKeyPairSummary struct {
126
127	// Key-pair ARN.
128	Arn *string
129
130	// An arbitrary string (a nickname) assigned to a playback key pair that helps the
131	// customer identify that resource. The value does not need to be unique.
132	Name *string
133
134	// Array of 1-50 maps, each of the form string:string (key:value).
135	Tags map[string]string
136}
137
138// An object representing a configuration to record a channel stream.
139type RecordingConfiguration struct {
140
141	// Recording-configuration ARN.
142	//
143	// This member is required.
144	Arn *string
145
146	// A complex type that contains information about where recorded video will be
147	// stored.
148	//
149	// This member is required.
150	DestinationConfiguration *DestinationConfiguration
151
152	// Indicates the current state of the recording configuration. When the state is
153	// ACTIVE, the configuration is ready for recording a channel stream.
154	//
155	// This member is required.
156	State RecordingConfigurationState
157
158	// An arbitrary string (a nickname) assigned to a recording configuration that
159	// helps the customer identify that resource. The value does not need to be unique.
160	Name *string
161
162	// Array of 1-50 maps, each of the form string:string (key:value).
163	Tags map[string]string
164}
165
166// Summary information about a RecordingConfiguration.
167type RecordingConfigurationSummary struct {
168
169	// Recording-configuration ARN.
170	//
171	// This member is required.
172	Arn *string
173
174	// A complex type that contains information about where recorded video will be
175	// stored.
176	//
177	// This member is required.
178	DestinationConfiguration *DestinationConfiguration
179
180	// Indicates the current state of the recording configuration. When the state is
181	// ACTIVE, the configuration is ready for recording a channel stream.
182	//
183	// This member is required.
184	State RecordingConfigurationState
185
186	// An arbitrary string (a nickname) assigned to a recording configuration that
187	// helps the customer identify that resource. The value does not need to be unique.
188	Name *string
189
190	// Array of 1-50 maps, each of the form string:string (key:value).
191	Tags map[string]string
192}
193
194// A complex type that describes an S3 location where recorded videos will be
195// stored.
196type S3DestinationConfiguration struct {
197
198	// Location (S3 bucket name) where recorded videos will be stored.
199	//
200	// This member is required.
201	BucketName *string
202}
203
204// Specifies a live video stream that has been ingested and distributed.
205type Stream struct {
206
207	// Channel ARN for the stream.
208	ChannelArn *string
209
210	// The stream’s health.
211	Health StreamHealth
212
213	// URL of the master playlist, required by the video player to play the HLS stream.
214	PlaybackUrl *string
215
216	// ISO-8601 formatted timestamp of the stream’s start.
217	StartTime *time.Time
218
219	// The stream’s state.
220	State StreamState
221
222	// Number of current viewers of the stream. A value of -1 indicates that the
223	// request timed out; in this case, retry.
224	ViewerCount int64
225}
226
227// Object specifying a stream key.
228type StreamKey struct {
229
230	// Stream-key ARN.
231	Arn *string
232
233	// Channel ARN for the stream.
234	ChannelArn *string
235
236	// Array of 1-50 maps, each of the form string:string (key:value).
237	Tags map[string]string
238
239	// Stream-key value.
240	Value *string
241}
242
243// Summary information about a stream key.
244type StreamKeySummary struct {
245
246	// Stream-key ARN.
247	Arn *string
248
249	// Channel ARN for the stream.
250	ChannelArn *string
251
252	// Array of 1-50 maps, each of the form string:string (key:value).
253	Tags map[string]string
254}
255
256// Summary information about a stream.
257type StreamSummary struct {
258
259	// Channel ARN for the stream.
260	ChannelArn *string
261
262	// The stream’s health.
263	Health StreamHealth
264
265	// ISO-8601 formatted timestamp of the stream’s start.
266	StartTime *time.Time
267
268	// The stream’s state.
269	State StreamState
270
271	// Number of current viewers of the stream. A value of -1 indicates that the
272	// request timed out; in this case, retry.
273	ViewerCount int64
274}
275