1// Code generated by smithy-go-codegen DO NOT EDIT.
2
3package types
4
5import (
6	"time"
7)
8
9// Details about an antenna demod decode Config used in a contact.
10type AntennaDemodDecodeDetails struct {
11
12	// Name of an antenna demod decode output node used in a contact.
13	OutputNode *string
14}
15
16// Information about how AWS Ground Station should configure an antenna for
17// downlink during a contact.
18type AntennaDownlinkConfig struct {
19
20	// Object that describes a spectral Config.
21	//
22	// This member is required.
23	SpectrumConfig *SpectrumConfig
24}
25
26// Information about how AWS Ground Station should configure an antenna for downlink
27// demod decode during a contact.
28type AntennaDownlinkDemodDecodeConfig struct {
29
30	// Information about the decode Config.
31	//
32	// This member is required.
33	DecodeConfig *DecodeConfig
34
35	// Information about the demodulation Config.
36	//
37	// This member is required.
38	DemodulationConfig *DemodulationConfig
39
40	// Information about the spectral Config.
41	//
42	// This member is required.
43	SpectrumConfig *SpectrumConfig
44}
45
46// Information about the uplink Config of an antenna.
47type AntennaUplinkConfig struct {
48
49	// Information about the uplink spectral Config.
50	//
51	// This member is required.
52	SpectrumConfig *UplinkSpectrumConfig
53
54	// EIRP of the target.
55	//
56	// This member is required.
57	TargetEirp *Eirp
58
59	// Whether or not uplink transmit is disabled.
60	TransmitDisabled *bool
61}
62
63// Details for certain Config object types in a contact.
64//
65// The following types satisfy this interface:
66//  ConfigDetailsMemberEndpointDetails
67//  ConfigDetailsMemberAntennaDemodDecodeDetails
68//  ConfigDetailsMemberS3RecordingDetails
69type ConfigDetails interface {
70	isConfigDetails()
71}
72
73// Information about the endpoint details.
74type ConfigDetailsMemberEndpointDetails struct {
75	Value EndpointDetails
76}
77
78func (*ConfigDetailsMemberEndpointDetails) isConfigDetails() {}
79
80// Details for antenna demod decode Config in a contact.
81type ConfigDetailsMemberAntennaDemodDecodeDetails struct {
82	Value AntennaDemodDecodeDetails
83}
84
85func (*ConfigDetailsMemberAntennaDemodDecodeDetails) isConfigDetails() {}
86
87// Details for an S3 recording Config in a contact.
88type ConfigDetailsMemberS3RecordingDetails struct {
89	Value S3RecordingDetails
90}
91
92func (*ConfigDetailsMemberS3RecordingDetails) isConfigDetails() {}
93
94// An item in a list of Config objects.
95type ConfigListItem struct {
96
97	// ARN of a Config.
98	ConfigArn *string
99
100	// UUID of a Config.
101	ConfigId *string
102
103	// Type of a Config.
104	ConfigType ConfigCapabilityType
105
106	// Name of a Config.
107	Name *string
108}
109
110// Object containing the parameters of a Config. See the subtype definitions for
111// what each type of Config contains.
112//
113// The following types satisfy this interface:
114//  ConfigTypeDataMemberAntennaDownlinkConfig
115//  ConfigTypeDataMemberTrackingConfig
116//  ConfigTypeDataMemberDataflowEndpointConfig
117//  ConfigTypeDataMemberAntennaDownlinkDemodDecodeConfig
118//  ConfigTypeDataMemberAntennaUplinkConfig
119//  ConfigTypeDataMemberUplinkEchoConfig
120//  ConfigTypeDataMemberS3RecordingConfig
121type ConfigTypeData interface {
122	isConfigTypeData()
123}
124
125// Information about how AWS Ground Station should configure an antenna for
126// downlink during a contact.
127type ConfigTypeDataMemberAntennaDownlinkConfig struct {
128	Value AntennaDownlinkConfig
129}
130
131func (*ConfigTypeDataMemberAntennaDownlinkConfig) isConfigTypeData() {}
132
133// Object that determines whether tracking should be used during a contact executed
134// with this Config in the mission profile.
135type ConfigTypeDataMemberTrackingConfig struct {
136	Value TrackingConfig
137}
138
139func (*ConfigTypeDataMemberTrackingConfig) isConfigTypeData() {}
140
141// Information about the dataflow endpoint Config.
142type ConfigTypeDataMemberDataflowEndpointConfig struct {
143	Value DataflowEndpointConfig
144}
145
146func (*ConfigTypeDataMemberDataflowEndpointConfig) isConfigTypeData() {}
147
148// Information about how AWS Ground Station should configure an antenna for downlink
149// demod decode during a contact.
150type ConfigTypeDataMemberAntennaDownlinkDemodDecodeConfig struct {
151	Value AntennaDownlinkDemodDecodeConfig
152}
153
154func (*ConfigTypeDataMemberAntennaDownlinkDemodDecodeConfig) isConfigTypeData() {}
155
156// Information about how AWS Ground Station should configure an antenna for uplink
157// during a contact.
158type ConfigTypeDataMemberAntennaUplinkConfig struct {
159	Value AntennaUplinkConfig
160}
161
162func (*ConfigTypeDataMemberAntennaUplinkConfig) isConfigTypeData() {}
163
164// Information about an uplink echo Config. Parameters from the
165// AntennaUplinkConfig, corresponding to the specified AntennaUplinkConfigArn, are
166// used when this UplinkEchoConfig is used in a contact.
167type ConfigTypeDataMemberUplinkEchoConfig struct {
168	Value UplinkEchoConfig
169}
170
171func (*ConfigTypeDataMemberUplinkEchoConfig) isConfigTypeData() {}
172
173// Information about an S3 recording Config.
174type ConfigTypeDataMemberS3RecordingConfig struct {
175	Value S3RecordingConfig
176}
177
178func (*ConfigTypeDataMemberS3RecordingConfig) isConfigTypeData() {}
179
180// Data describing a contact.
181type ContactData struct {
182
183	// UUID of a contact.
184	ContactId *string
185
186	// Status of a contact.
187	ContactStatus ContactStatus
188
189	// End time of a contact.
190	EndTime *time.Time
191
192	// Error message of a contact.
193	ErrorMessage *string
194
195	// Name of a ground station.
196	GroundStation *string
197
198	// Maximum elevation angle of a contact.
199	MaximumElevation *Elevation
200
201	// ARN of a mission profile.
202	MissionProfileArn *string
203
204	// Amount of time after a contact ends that you’d like to receive a CloudWatch
205	// event indicating the pass has finished.
206	PostPassEndTime *time.Time
207
208	// Amount of time prior to contact start you’d like to receive a CloudWatch event
209	// indicating an upcoming pass.
210	PrePassStartTime *time.Time
211
212	// Region of a contact.
213	Region *string
214
215	// ARN of a satellite.
216	SatelliteArn *string
217
218	// Start time of a contact.
219	StartTime *time.Time
220
221	// Tags assigned to a contact.
222	Tags map[string]string
223}
224
225// Information about a dataflow edge used in a contact.
226type DataflowDetail struct {
227
228	// Dataflow details for the destination side.
229	Destination *Destination
230
231	// Error message for a dataflow.
232	ErrorMessage *string
233
234	// Dataflow details for the source side.
235	Source *Source
236}
237
238// Information about a dataflow endpoint.
239type DataflowEndpoint struct {
240
241	// Socket address of a dataflow endpoint.
242	Address *SocketAddress
243
244	// Maximum transmission unit (MTU) size in bytes of a dataflow endpoint.
245	Mtu *int32
246
247	// Name of a dataflow endpoint.
248	Name *string
249
250	// Status of a dataflow endpoint.
251	Status EndpointStatus
252}
253
254// Information about the dataflow endpoint Config.
255type DataflowEndpointConfig struct {
256
257	// Name of a dataflow endpoint.
258	//
259	// This member is required.
260	DataflowEndpointName *string
261
262	// Region of a dataflow endpoint.
263	DataflowEndpointRegion *string
264}
265
266// Item in a list of DataflowEndpoint groups.
267type DataflowEndpointListItem struct {
268
269	// ARN of a dataflow endpoint group.
270	DataflowEndpointGroupArn *string
271
272	// UUID of a dataflow endpoint group.
273	DataflowEndpointGroupId *string
274}
275
276// Information about the decode Config.
277type DecodeConfig struct {
278
279	// Unvalidated JSON of a decode Config.
280	//
281	// This member is required.
282	UnvalidatedJSON *string
283}
284
285// Information about the demodulation Config.
286type DemodulationConfig struct {
287
288	// Unvalidated JSON of a demodulation Config.
289	//
290	// This member is required.
291	UnvalidatedJSON *string
292}
293
294// Dataflow details for the destination side.
295type Destination struct {
296
297	// Additional details for a Config, if type is dataflow endpoint or antenna demod
298	// decode.
299	ConfigDetails ConfigDetails
300
301	// UUID of a Config.
302	ConfigId *string
303
304	// Type of a Config.
305	ConfigType ConfigCapabilityType
306
307	// Region of a dataflow destination.
308	DataflowDestinationRegion *string
309}
310
311// Object that represents EIRP.
312type Eirp struct {
313
314	// Units of an EIRP.
315	//
316	// This member is required.
317	Units EirpUnits
318
319	// Value of an EIRP. Valid values are between 20.0 to 50.0 dBW.
320	//
321	// This member is required.
322	Value *float64
323}
324
325// Elevation angle of the satellite in the sky during a contact.
326type Elevation struct {
327
328	// Elevation angle units.
329	//
330	// This member is required.
331	Unit AngleUnits
332
333	// Elevation angle value.
334	//
335	// This member is required.
336	Value *float64
337}
338
339// Information about the endpoint details.
340type EndpointDetails struct {
341
342	// A dataflow endpoint.
343	Endpoint *DataflowEndpoint
344
345	// Endpoint security details.
346	SecurityDetails *SecurityDetails
347}
348
349// Object that describes the frequency.
350type Frequency struct {
351
352	// Frequency units.
353	//
354	// This member is required.
355	Units FrequencyUnits
356
357	// Frequency value. Valid values are between 2200 to 2300 MHz and 7750 to 8400 MHz
358	// for downlink and 2025 to 2120 MHz for uplink.
359	//
360	// This member is required.
361	Value *float64
362}
363
364// Object that describes the frequency bandwidth.
365type FrequencyBandwidth struct {
366
367	// Frequency bandwidth units.
368	//
369	// This member is required.
370	Units BandwidthUnits
371
372	// Frequency bandwidth value. AWS Ground Station currently has the following
373	// bandwidth limitations:
374	//
375	// * For AntennaDownlinkDemodDecodeconfig, valid values are
376	// between 125 kHz to 650 MHz.
377	//
378	// * For AntennaDownlinkconfig, valid values are
379	// between 10 kHz to 54 MHz.
380	//
381	// * For AntennaUplinkConfig, valid values are between
382	// 10 kHz to 54 MHz.
383	//
384	// This member is required.
385	Value *float64
386}
387
388// Information about the ground station data.
389type GroundStationData struct {
390
391	// UUID of a ground station.
392	GroundStationId *string
393
394	// Name of a ground station.
395	GroundStationName *string
396
397	// Ground station Region.
398	Region *string
399}
400
401// Item in a list of mission profiles.
402type MissionProfileListItem struct {
403
404	// ARN of a mission profile.
405	MissionProfileArn *string
406
407	// UUID of a mission profile.
408	MissionProfileId *string
409
410	// Name of a mission profile.
411	Name *string
412
413	// Region of a mission profile.
414	Region *string
415}
416
417// Information about an S3 recording Config.
418type S3RecordingConfig struct {
419
420	// ARN of the bucket to record to.
421	//
422	// This member is required.
423	BucketArn *string
424
425	// ARN of the role Ground Station assumes to write data to the bucket.
426	//
427	// This member is required.
428	RoleArn *string
429
430	// S3 Key prefix to prefice data files.
431	Prefix *string
432}
433
434// Details about an S3 recording Config used in a contact.
435type S3RecordingDetails struct {
436
437	// ARN of the bucket used.
438	BucketArn *string
439
440	// Template of the S3 key used.
441	KeyTemplate *string
442}
443
444// Item in a list of satellites.
445type SatelliteListItem struct {
446
447	// A list of ground stations to which the satellite is on-boarded.
448	GroundStations []string
449
450	// NORAD satellite ID number.
451	NoradSatelliteID int32
452
453	// ARN of a satellite.
454	SatelliteArn *string
455
456	// UUID of a satellite.
457	SatelliteId *string
458}
459
460// Information about endpoints.
461type SecurityDetails struct {
462
463	// ARN to a role needed for connecting streams to your instances.
464	//
465	// This member is required.
466	RoleArn *string
467
468	// The security groups to attach to the elastic network interfaces.
469	//
470	// This member is required.
471	SecurityGroupIds []string
472
473	// A list of subnets where AWS Ground Station places elastic network interfaces to
474	// send streams to your instances.
475	//
476	// This member is required.
477	SubnetIds []string
478}
479
480// Information about the socket address.
481type SocketAddress struct {
482
483	// Name of a socket address.
484	//
485	// This member is required.
486	Name *string
487
488	// Port of a socket address.
489	//
490	// This member is required.
491	Port *int32
492}
493
494// Dataflow details for the source side.
495type Source struct {
496
497	// Additional details for a Config, if type is dataflow endpoint or antenna demod
498	// decode.
499	ConfigDetails ConfigDetails
500
501	// UUID of a Config.
502	ConfigId *string
503
504	// Type of a Config.
505	ConfigType ConfigCapabilityType
506
507	// Region of a dataflow source.
508	DataflowSourceRegion *string
509}
510
511// Object that describes a spectral Config.
512type SpectrumConfig struct {
513
514	// Bandwidth of a spectral Config. AWS Ground Station currently has the following
515	// bandwidth limitations:
516	//
517	// * For AntennaDownlinkDemodDecodeconfig, valid values are
518	// between 125 kHz to 650 MHz.
519	//
520	// * For AntennaDownlinkconfig valid values are
521	// between 10 kHz to 54 MHz.
522	//
523	// * For AntennaUplinkConfig, valid values are between
524	// 10 kHz to 54 MHz.
525	//
526	// This member is required.
527	Bandwidth *FrequencyBandwidth
528
529	// Center frequency of a spectral Config. Valid values are between 2200 to 2300 MHz
530	// and 7750 to 8400 MHz for downlink and 2025 to 2120 MHz for uplink.
531	//
532	// This member is required.
533	CenterFrequency *Frequency
534
535	// Polarization of a spectral Config. Capturing both "RIGHT_HAND" and "LEFT_HAND"
536	// polarization requires two separate configs.
537	Polarization Polarization
538}
539
540// Object that determines whether tracking should be used during a contact executed
541// with this Config in the mission profile.
542type TrackingConfig struct {
543
544	// Current setting for autotrack.
545	//
546	// This member is required.
547	Autotrack Criticality
548}
549
550// Information about an uplink echo Config. Parameters from the
551// AntennaUplinkConfig, corresponding to the specified AntennaUplinkConfigArn, are
552// used when this UplinkEchoConfig is used in a contact.
553type UplinkEchoConfig struct {
554
555	// ARN of an uplink Config.
556	//
557	// This member is required.
558	AntennaUplinkConfigArn *string
559
560	// Whether or not an uplink Config is enabled.
561	//
562	// This member is required.
563	Enabled *bool
564}
565
566// Information about the uplink spectral Config.
567type UplinkSpectrumConfig struct {
568
569	// Center frequency of an uplink spectral Config. Valid values are between 2025 to
570	// 2120 MHz.
571	//
572	// This member is required.
573	CenterFrequency *Frequency
574
575	// Polarization of an uplink spectral Config. Capturing both "RIGHT_HAND" and
576	// "LEFT_HAND" polarization requires two separate configs.
577	Polarization Polarization
578}
579
580// UnknownUnionMember is returned when a union member is returned over the wire,
581// but has an unknown tag.
582type UnknownUnionMember struct {
583	Tag   string
584	Value []byte
585}
586
587func (*UnknownUnionMember) isConfigDetails()  {}
588func (*UnknownUnionMember) isConfigTypeData() {}
589