File: types.go

package info (click to toggle)
golang-github-aws-aws-sdk-go-v2 1.24.1-2~bpo12%2B1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm-backports
  • size: 554,032 kB
  • sloc: java: 15,941; makefile: 419; sh: 175
file content (785 lines) | stat: -rw-r--r-- 28,161 bytes parent folder | download
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
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
// Code generated by smithy-go-codegen DO NOT EDIT.

package types

import (
	smithydocument "github.com/aws/smithy-go/document"
	"time"
)

// The address that you want the Snow device(s) associated with a specific job to
// be shipped to. Addresses are validated at the time of creation. The address you
// provide must be located within the serviceable area of your region. Although no
// individual elements of the Address are required, if the address is invalid or
// unsupported, then an exception is thrown.
type Address struct {

	// The unique ID for an address.
	AddressId *string

	// The city in an address that a Snow device is to be delivered to.
	City *string

	// The name of the company to receive a Snow device at an address.
	Company *string

	// The country in an address that a Snow device is to be delivered to.
	Country *string

	// If the address you are creating is a primary address, then set this option to
	// true. This field is not supported in most regions.
	IsRestricted bool

	// This field is no longer used and the value is ignored.
	Landmark *string

	// The name of a person to receive a Snow device at an address.
	Name *string

	// The phone number associated with an address that a Snow device is to be
	// delivered to.
	PhoneNumber *string

	// The postal code in an address that a Snow device is to be delivered to.
	PostalCode *string

	// This field is no longer used and the value is ignored.
	PrefectureOrDistrict *string

	// The state or province in an address that a Snow device is to be delivered to.
	StateOrProvince *string

	// The first line in a street address that a Snow device is to be delivered to.
	Street1 *string

	// The second line in a street address that a Snow device is to be delivered to.
	Street2 *string

	// The third line in a street address that a Snow device is to be delivered to.
	Street3 *string

	// Differentiates between delivery address and pickup address in the customer
	// account. Provided at job creation.
	Type AddressType

	noSmithyDocumentSerde
}

// Contains a cluster's state, a cluster's ID, and other important information.
type ClusterListEntry struct {

	// The 39-character ID for the cluster that you want to list, for example
	// CID123e4567-e89b-12d3-a456-426655440000 .
	ClusterId *string

	// The current state of this cluster. For information about the state of a
	// specific node, see JobListEntry$JobState .
	ClusterState ClusterState

	// The creation date for this cluster.
	CreationDate *time.Time

	// Defines an optional description of the cluster, for example Environmental Data
	// Cluster-01 .
	Description *string

	noSmithyDocumentSerde
}

// Contains metadata about a specific cluster.
type ClusterMetadata struct {

	// The automatically generated ID for a specific address.
	AddressId *string

	// The automatically generated ID for a cluster.
	ClusterId *string

	// The current status of the cluster.
	ClusterState ClusterState

	// The creation date for this cluster.
	CreationDate *time.Time

	// The optional description of the cluster.
	Description *string

	// The ID of the address that you want a cluster shipped to, after it will be
	// shipped to its primary address. This field is not supported in most regions.
	ForwardingAddressId *string

	// The type of job for this cluster. Currently, the only job type supported for
	// clusters is LOCAL_USE .
	JobType JobType

	// The KmsKeyARN Amazon Resource Name (ARN) associated with this cluster. This ARN
	// was created using the CreateKey (https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)
	// API action in Key Management Service (KMS.
	KmsKeyARN *string

	// The Amazon Simple Notification Service (Amazon SNS) notification settings for
	// this cluster.
	Notification *Notification

	// Represents metadata and configuration settings for services on an Amazon Web
	// Services Snow Family device.
	OnDeviceServiceConfiguration *OnDeviceServiceConfiguration

	// The arrays of JobResource objects that can include updated S3Resource objects
	// or LambdaResource objects.
	Resources *JobResource

	// The role ARN associated with this cluster. This ARN was created using the
	// CreateRole (https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html)
	// API action in Identity and Access Management (IAM).
	RoleARN *string

	// The shipping speed for each node in this cluster. This speed doesn't dictate
	// how soon you'll get each device, rather it represents how quickly each device
	// moves to its destination while in transit. Regional shipping speeds are as
	// follows:
	//   - In Australia, you have access to express shipping. Typically, devices
	//   shipped express are delivered in about a day.
	//   - In the European Union (EU), you have access to express shipping. Typically,
	//   Snow devices shipped express are delivered in about a day. In addition, most
	//   countries in the EU have access to standard shipping, which typically takes less
	//   than a week, one way.
	//   - In India, Snow devices are delivered in one to seven days.
	//   - In the US, you have access to one-day shipping and two-day shipping.
	ShippingOption ShippingOption

	// The type of Snowcone device to use for this cluster. For cluster jobs, Amazon
	// Web Services Snow Family currently supports only the EDGE device type.
	SnowballType SnowballType

	// The tax documents required in your Amazon Web Services Region.
	TaxDocuments *TaxDocuments

	noSmithyDocumentSerde
}

// A JSON-formatted object that describes a compatible Amazon Machine Image (AMI),
// including the ID and name for a Snow device AMI. This AMI is compatible with the
// device's physical hardware requirements, and it should be able to be run in an
// SBE1 instance on the device.
type CompatibleImage struct {

	// The unique identifier for an individual Snow device AMI.
	AmiId *string

	// The optional name of a compatible image.
	Name *string

	noSmithyDocumentSerde
}

// Defines the real-time status of a Snow device's data transfer while the device
// is at Amazon Web Services. This data is only available while a job has a
// JobState value of InProgress , for both import and export jobs.
type DataTransfer struct {

	// The number of bytes transferred between a Snow device and Amazon S3.
	BytesTransferred int64

	// The number of objects transferred between a Snow device and Amazon S3.
	ObjectsTransferred int64

	// The total bytes of data for a transfer between a Snow device and Amazon S3.
	// This value is set to 0 (zero) until all the keys that will be transferred have
	// been listed.
	TotalBytes int64

	// The total number of objects for a transfer between a Snow device and Amazon S3.
	// This value is set to 0 (zero) until all the keys that will be transferred have
	// been listed.
	TotalObjects int64

	noSmithyDocumentSerde
}

// The name and version of the service dependant on the requested service.
type DependentService struct {

	// The name of the dependent service.
	ServiceName ServiceName

	// The version of the dependent service.
	ServiceVersion *ServiceVersion

	noSmithyDocumentSerde
}

// The container for SnowconeDeviceConfiguration .
type DeviceConfiguration struct {

	// Returns information about the device configuration for an Snowcone job.
	SnowconeDeviceConfiguration *SnowconeDeviceConfiguration

	noSmithyDocumentSerde
}

// A JSON-formatted object that contains the IDs for an Amazon Machine Image
// (AMI), including the Amazon EC2-compatible AMI ID and the Snow device AMI ID.
// Each AMI has these two IDs to simplify identifying the AMI in both the Amazon
// Web Services Cloud and on the device.
type Ec2AmiResource struct {

	// The ID of the AMI in Amazon EC2.
	//
	// This member is required.
	AmiId *string

	// The ID of the AMI on the Snow device.
	SnowballAmiId *string

	noSmithyDocumentSerde
}

// An object representing the metadata and configuration settings of EKS Anywhere
// on the Snow Family device.
type EKSOnDeviceServiceConfiguration struct {

	// The version of EKS Anywhere on the Snow Family device.
	EKSAnywhereVersion *string

	// The Kubernetes version for EKS Anywhere on the Snow Family device.
	KubernetesVersion *string

	noSmithyDocumentSerde
}

// The container for the EventTriggerDefinition$EventResourceARN .
type EventTriggerDefinition struct {

	// The Amazon Resource Name (ARN) for any local Amazon S3 resource that is an
	// Lambda function's event trigger associated with this job.
	EventResourceARN *string

	noSmithyDocumentSerde
}

// The tax documents required in Amazon Web Services Region in India.
type INDTaxDocuments struct {

	// The Goods and Services Tax (GST) documents required in Amazon Web Services
	// Region in India.
	GSTIN *string

	noSmithyDocumentSerde
}

// Each JobListEntry object contains a job's state, a job's ID, and a value that
// indicates whether the job is a job part, in the case of an export job.
type JobListEntry struct {

	// The creation date for this job.
	CreationDate *time.Time

	// The optional description of this specific job, for example Important Photos
	// 2016-08-11 .
	Description *string

	// A value that indicates that this job is a main job. A main job represents a
	// successful request to create an export job. Main jobs aren't associated with any
	// Snowballs. Instead, each main job will have at least one job part, and each job
	// part is associated with a Snowball. It might take some time before the job parts
	// associated with a particular main job are listed, because they are created after
	// the main job is created.
	IsMaster bool

	// The automatically generated ID for a job, for example
	// JID123e4567-e89b-12d3-a456-426655440000 .
	JobId *string

	// The current state of this job.
	JobState JobState

	// The type of job.
	JobType JobType

	// The type of device used with this job.
	SnowballType SnowballType

	noSmithyDocumentSerde
}

// Contains job logs. Whenever a Snow device is used to import data into or export
// data out of Amazon S3, you'll have the option of downloading a PDF job report.
// Job logs are returned as a part of the response syntax of the DescribeJob
// action in the JobMetadata data type. The job logs can be accessed for up to 60
// minutes after this request has been made. To access any of the job logs after 60
// minutes have passed, you'll have to make another call to the DescribeJob
// action. For import jobs, the PDF job report becomes available at the end of the
// import process. For export jobs, your job report typically becomes available
// while the Snow device for your job part is being delivered to you. The job
// report provides you insight into the state of your Amazon S3 data transfer. The
// report includes details about your job or job part for your records. For deeper
// visibility into the status of your transferred objects, you can look at the two
// associated logs: a success log and a failure log. The logs are saved in
// comma-separated value (CSV) format, and the name of each log includes the ID of
// the job or job part that the log describes.
type JobLogs struct {

	// A link to an Amazon S3 presigned URL where the job completion report is located.
	JobCompletionReportURI *string

	// A link to an Amazon S3 presigned URL where the job failure log is located.
	JobFailureLogURI *string

	// A link to an Amazon S3 presigned URL where the job success log is located.
	JobSuccessLogURI *string

	noSmithyDocumentSerde
}

// Contains information about a specific job including shipping information, job
// status, and other important metadata. This information is returned as a part of
// the response syntax of the DescribeJob action.
type JobMetadata struct {

	// The ID for the address that you want the Snow device shipped to.
	AddressId *string

	// The 39-character ID for the cluster, for example
	// CID123e4567-e89b-12d3-a456-426655440000 .
	ClusterId *string

	// The creation date for this job.
	CreationDate *time.Time

	// A value that defines the real-time status of a Snow device's data transfer
	// while the device is at Amazon Web Services. This data is only available while a
	// job has a JobState value of InProgress , for both import and export jobs.
	DataTransferProgress *DataTransfer

	// The description of the job, provided at job creation.
	Description *string

	// The container for SnowconeDeviceConfiguration .
	DeviceConfiguration *DeviceConfiguration

	// The ID of the address that you want a job shipped to, after it will be shipped
	// to its primary address. This field is not supported in most regions.
	ForwardingAddressId *string

	// The highest impact level of data that will be stored or processed on the
	// device, provided at job creation.
	ImpactLevel ImpactLevel

	// The automatically generated ID for a job, for example
	// JID123e4567-e89b-12d3-a456-426655440000 .
	JobId *string

	// Links to Amazon S3 presigned URLs for the job report and logs. For import jobs,
	// the PDF job report becomes available at the end of the import process. For
	// export jobs, your job report typically becomes available while the Snow device
	// for your job part is being delivered to you.
	JobLogInfo *JobLogs

	// The current status of the jobs.
	JobState JobState

	// The type of job.
	JobType JobType

	// The Amazon Resource Name (ARN) for the Key Management Service (KMS) key
	// associated with this job. This ARN was created using the CreateKey (https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)
	// API action in KMS.
	KmsKeyARN *string

	// The ID of the long-term pricing type for the device.
	LongTermPricingId *string

	// The Amazon Simple Notification Service (Amazon SNS) notification settings
	// associated with a specific job. The Notification object is returned as a part
	// of the response syntax of the DescribeJob action in the JobMetadata data type.
	Notification *Notification

	// Represents metadata and configuration settings for services on an Amazon Web
	// Services Snow Family device.
	OnDeviceServiceConfiguration *OnDeviceServiceConfiguration

	// Information identifying the person picking up the device.
	PickupDetails *PickupDetails

	// Allows you to securely operate and manage Snowcone devices remotely from
	// outside of your internal network. When set to INSTALLED_AUTOSTART , remote
	// management will automatically be available when the device arrives at your
	// location. Otherwise, you need to use the Snowball Client to manage the device.
	RemoteManagement RemoteManagement

	// An array of S3Resource objects. Each S3Resource object represents an Amazon S3
	// bucket that your transferred data will be exported from or imported into.
	Resources *JobResource

	// The role ARN associated with this job. This ARN was created using the CreateRole (https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html)
	// API action in Identity and Access Management.
	RoleARN *string

	// A job's shipping information, including inbound and outbound tracking numbers
	// and shipping speed options.
	ShippingDetails *ShippingDetails

	// The Snow device capacity preference for this job, specified at job creation. In
	// US regions, you can choose between 50 TB and 80 TB Snowballs. All other regions
	// use 80 TB capacity Snowballs. For more information, see
	// "https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html"
	// (Snow Family Devices and Capacity) in the Snowcone User Guide or
	// "https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html"
	// (Snow Family Devices and Capacity) in the Snowcone User Guide.
	SnowballCapacityPreference SnowballCapacity

	// Unique ID associated with a device.
	SnowballId *string

	// The type of device used with this job.
	SnowballType SnowballType

	// The metadata associated with the tax documents required in your Amazon Web
	// Services Region.
	TaxDocuments *TaxDocuments

	noSmithyDocumentSerde
}

// Contains an array of Amazon Web Services resource objects. Each object
// represents an Amazon S3 bucket, an Lambda function, or an Amazon Machine Image
// (AMI) based on Amazon EC2 that is associated with a particular job.
type JobResource struct {

	// The Amazon Machine Images (AMIs) associated with this job.
	Ec2AmiResources []Ec2AmiResource

	// The Python-language Lambda functions for this job.
	LambdaResources []LambdaResource

	// An array of S3Resource objects.
	S3Resources []S3Resource

	noSmithyDocumentSerde
}

// Contains a key range. For export jobs, a S3Resource object can have an optional
// KeyRange value. The length of the range is defined at job creation, and has
// either an inclusive BeginMarker , an inclusive EndMarker , or both. Ranges are
// UTF-8 binary sorted.
type KeyRange struct {

	// The key that starts an optional key range for an export job. Ranges are
	// inclusive and UTF-8 binary sorted.
	BeginMarker *string

	// The key that ends an optional key range for an export job. Ranges are inclusive
	// and UTF-8 binary sorted.
	EndMarker *string

	noSmithyDocumentSerde
}

// Identifies
type LambdaResource struct {

	// The array of ARNs for S3Resource objects to trigger the LambdaResource objects
	// associated with this job.
	EventTriggers []EventTriggerDefinition

	// An Amazon Resource Name (ARN) that represents an Lambda function to be
	// triggered by PUT object actions on the associated local Amazon S3 resource.
	LambdaArn *string

	noSmithyDocumentSerde
}

// Each LongTermPricingListEntry object contains information about a long-term
// pricing type.
type LongTermPricingListEntry struct {

	// The current active jobs on the device the long-term pricing type.
	CurrentActiveJob *string

	// If set to true , specifies that the current long-term pricing type for the
	// device should be automatically renewed before the long-term pricing contract
	// expires.
	IsLongTermPricingAutoRenew *bool

	// The IDs of the jobs that are associated with a long-term pricing type.
	JobIds []string

	// The end date the long-term pricing contract.
	LongTermPricingEndDate *time.Time

	// The ID of the long-term pricing type for the device.
	LongTermPricingId *string

	// The start date of the long-term pricing contract.
	LongTermPricingStartDate *time.Time

	// The status of the long-term pricing type.
	LongTermPricingStatus *string

	// The type of long-term pricing that was selected for the device.
	LongTermPricingType LongTermPricingType

	// A new device that replaces a device that is ordered with long-term pricing.
	ReplacementJob *string

	// The type of Snow Family devices associated with this long-term pricing job.
	SnowballType SnowballType

	noSmithyDocumentSerde
}

// An object that represents the metadata and configuration settings for the NFS
// (Network File System) service on an Amazon Web Services Snow Family device.
type NFSOnDeviceServiceConfiguration struct {

	// The maximum NFS storage for one Snow Family device.
	StorageLimit int32

	// The scale unit of the NFS storage on the device. Valid values: TB.
	StorageUnit StorageUnit

	noSmithyDocumentSerde
}

// The Amazon Simple Notification Service (Amazon SNS) notification settings
// associated with a specific job. The Notification object is returned as a part
// of the response syntax of the DescribeJob action in the JobMetadata data type.
// When the notification settings are defined during job creation, you can choose
// to notify based on a specific set of job states using the JobStatesToNotify
// array of strings, or you can specify that you want to have Amazon SNS
// notifications sent out for all job states with NotifyAll set to true.
type Notification struct {

	// Used to send SNS notifications for the person picking up the device (identified
	// during job creation).
	DevicePickupSnsTopicARN *string

	// The list of job states that will trigger a notification for this job.
	JobStatesToNotify []JobState

	// Any change in job state will trigger a notification for this job.
	NotifyAll bool

	// The new SNS TopicArn that you want to associate with this job. You can create
	// Amazon Resource Names (ARNs) for topics by using the CreateTopic (https://docs.aws.amazon.com/sns/latest/api/API_CreateTopic.html)
	// Amazon SNS API action. You can subscribe email addresses to an Amazon SNS topic
	// through the Amazon Web Services Management Console, or by using the Subscribe (https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html)
	// Amazon Simple Notification Service (Amazon SNS) API action.
	SnsTopicARN *string

	noSmithyDocumentSerde
}

// An object that represents the metadata and configuration settings for services
// on an Amazon Web Services Snow Family device.
type OnDeviceServiceConfiguration struct {

	// The configuration of EKS Anywhere on the Snow Family device.
	EKSOnDeviceService *EKSOnDeviceServiceConfiguration

	// Represents the NFS (Network File System) service on a Snow Family device.
	NFSOnDeviceService *NFSOnDeviceServiceConfiguration

	// Configuration for Amazon S3 compatible storage on Snow family devices.
	S3OnDeviceService *S3OnDeviceServiceConfiguration

	// Represents the Storage Gateway service Tape Gateway type on a Snow Family
	// device.
	TGWOnDeviceService *TGWOnDeviceServiceConfiguration

	noSmithyDocumentSerde
}

// Information identifying the person picking up the device.
type PickupDetails struct {

	// The unique ID for a device that will be picked up.
	DevicePickupId *string

	// The email address of the person picking up the device.
	Email *string

	// Expiration date of the credential identifying the person picking up the device.
	IdentificationExpirationDate *time.Time

	// Organization that issued the credential identifying the person picking up the
	// device.
	IdentificationIssuingOrg *string

	// The number on the credential identifying the person picking up the device.
	IdentificationNumber *string

	// The name of the person picking up the device.
	Name *string

	// The phone number of the person picking up the device.
	PhoneNumber *string

	noSmithyDocumentSerde
}

// Amazon S3 compatible storage on Snow family devices configuration items.
type S3OnDeviceServiceConfiguration struct {

	// >Fault tolerance level of the cluster. This indicates the number of nodes that
	// can go down without degrading the performance of the cluster. This additional
	// input helps when the specified StorageLimit matches more than one Amazon S3
	// compatible storage on Snow family devices service configuration.
	FaultTolerance *int32

	// Applicable when creating a cluster. Specifies how many nodes are needed for
	// Amazon S3 compatible storage on Snow family devices. If specified, the other
	// input can be omitted.
	ServiceSize *int32

	// If the specified storage limit value matches storage limit of one of the
	// defined configurations, that configuration will be used. If the specified
	// storage limit value does not match any defined configuration, the request will
	// fail. If more than one configuration has the same storage limit as specified,
	// the other input need to be provided.
	StorageLimit *float64

	// Storage unit. Currently the only supported unit is TB.
	StorageUnit StorageUnit

	noSmithyDocumentSerde
}

// Each S3Resource object represents an Amazon S3 bucket that your transferred
// data will be exported from or imported into. For export jobs, this object can
// have an optional KeyRange value. The length of the range is defined at job
// creation, and has either an inclusive BeginMarker , an inclusive EndMarker , or
// both. Ranges are UTF-8 binary sorted.
type S3Resource struct {

	// The Amazon Resource Name (ARN) of an Amazon S3 bucket.
	BucketArn *string

	// For export jobs, you can provide an optional KeyRange within a specific Amazon
	// S3 bucket. The length of the range is defined at job creation, and has either an
	// inclusive BeginMarker , an inclusive EndMarker , or both. Ranges are UTF-8
	// binary sorted.
	KeyRange *KeyRange

	// Specifies the service or services on the Snow Family device that your
	// transferred data will be exported from or imported into. Amazon Web Services
	// Snow Family supports Amazon S3 and NFS (Network File System).
	TargetOnDeviceServices []TargetOnDeviceService

	noSmithyDocumentSerde
}

// The version of the requested service.
type ServiceVersion struct {

	// The version number of the requested service.
	Version *string

	noSmithyDocumentSerde
}

// The Status and TrackingNumber information for an inbound or outbound shipment.
type Shipment struct {

	// Status information for a shipment.
	Status *string

	// The tracking number for this job. Using this tracking number with your region's
	// carrier's website, you can track a Snow device as the carrier transports it. For
	// India, the carrier is Amazon Logistics. For all other regions, UPS is the
	// carrier.
	TrackingNumber *string

	noSmithyDocumentSerde
}

// A job's shipping information, including inbound and outbound tracking numbers
// and shipping speed options.
type ShippingDetails struct {

	// The Status and TrackingNumber values for a Snow device being returned to Amazon
	// Web Services for a particular job.
	InboundShipment *Shipment

	// The Status and TrackingNumber values for a Snow device being delivered to the
	// address that you specified for a particular job.
	OutboundShipment *Shipment

	// The shipping speed for a particular job. This speed doesn't dictate how soon
	// you'll get the Snow device from the job's creation date. This speed represents
	// how quickly it moves to its destination while in transit. Regional shipping
	// speeds are as follows:
	//   - In Australia, you have access to express shipping. Typically, Snow devices
	//   shipped express are delivered in about a day.
	//   - In the European Union (EU), you have access to express shipping. Typically,
	//   Snow devices shipped express are delivered in about a day. In addition, most
	//   countries in the EU have access to standard shipping, which typically takes less
	//   than a week, one way.
	//   - In India, Snow devices are delivered in one to seven days.
	//   - In the United States of America (US), you have access to one-day shipping
	//   and two-day shipping.
	ShippingOption ShippingOption

	noSmithyDocumentSerde
}

// Specifies the device configuration for an Snowcone job.
type SnowconeDeviceConfiguration struct {

	// Configures the wireless connection for the Snowcone device.
	WirelessConnection *WirelessConnection

	noSmithyDocumentSerde
}

// An object that represents the service or services on the Snow Family device
// that your transferred data will be exported from or imported into. Amazon Web
// Services Snow Family supports Amazon S3 and NFS (Network File System).
type TargetOnDeviceService struct {

	// Specifies the name of the service on the Snow Family device that your
	// transferred data will be exported from or imported into.
	ServiceName DeviceServiceName

	// Specifies whether the data is being imported or exported. You can import or
	// export the data, or use it locally on the device.
	TransferOption TransferOption

	noSmithyDocumentSerde
}

// The tax documents required in your Amazon Web Services Region.
type TaxDocuments struct {

	// The tax documents required in Amazon Web Services Region in India.
	IND *INDTaxDocuments

	noSmithyDocumentSerde
}

// An object that represents the metadata and configuration settings for the
// Storage Gateway service Tape Gateway type on an Amazon Web Services Snow Family
// device.
type TGWOnDeviceServiceConfiguration struct {

	// The maximum number of virtual tapes to store on one Snow Family device. Due to
	// physical resource limitations, this value must be set to 80 for Snowball Edge.
	StorageLimit int32

	// The scale unit of the virtual tapes on the device.
	StorageUnit StorageUnit

	noSmithyDocumentSerde
}

// Configures the wireless connection on an Snowcone device.
type WirelessConnection struct {

	// Enables the Wi-Fi adapter on an Snowcone device.
	IsWifiEnabled bool

	noSmithyDocumentSerde
}

type noSmithyDocumentSerde = smithydocument.NoSerde