1// Code generated by smithy-go-codegen DO NOT EDIT. 2 3package types 4 5import ( 6 "time" 7) 8 9// The address that you want the Snow device(s) associated with a specific job to 10// be shipped to. Addresses are validated at the time of creation. The address you 11// provide must be located within the serviceable area of your region. Although no 12// individual elements of the Address are required, if the address is invalid or 13// unsupported, then an exception is thrown. 14type Address struct { 15 16 // The unique ID for an address. 17 AddressId *string 18 19 // The city in an address that a Snow device is to be delivered to. 20 City *string 21 22 // The name of the company to receive a Snow device at an address. 23 Company *string 24 25 // The country in an address that a Snow device is to be delivered to. 26 Country *string 27 28 // If the address you are creating is a primary address, then set this option to 29 // true. This field is not supported in most regions. 30 IsRestricted bool 31 32 // This field is no longer used and the value is ignored. 33 Landmark *string 34 35 // The name of a person to receive a Snow device at an address. 36 Name *string 37 38 // The phone number associated with an address that a Snow device is to be 39 // delivered to. 40 PhoneNumber *string 41 42 // The postal code in an address that a Snow device is to be delivered to. 43 PostalCode *string 44 45 // This field is no longer used and the value is ignored. 46 PrefectureOrDistrict *string 47 48 // The state or province in an address that a Snow device is to be delivered to. 49 StateOrProvince *string 50 51 // The first line in a street address that a Snow device is to be delivered to. 52 Street1 *string 53 54 // The second line in a street address that a Snow device is to be delivered to. 55 Street2 *string 56 57 // The third line in a street address that a Snow device is to be delivered to. 58 Street3 *string 59} 60 61// Contains a cluster's state, a cluster's ID, and other important information. 62type ClusterListEntry struct { 63 64 // The 39-character ID for the cluster that you want to list, for example 65 // CID123e4567-e89b-12d3-a456-426655440000. 66 ClusterId *string 67 68 // The current state of this cluster. For information about the state of a specific 69 // node, see JobListEntry$JobState. 70 ClusterState ClusterState 71 72 // The creation date for this cluster. 73 CreationDate *time.Time 74 75 // Defines an optional description of the cluster, for example Environmental Data 76 // Cluster-01. 77 Description *string 78} 79 80// Contains metadata about a specific cluster. 81type ClusterMetadata struct { 82 83 // The automatically generated ID for a specific address. 84 AddressId *string 85 86 // The automatically generated ID for a cluster. 87 ClusterId *string 88 89 // The current status of the cluster. 90 ClusterState ClusterState 91 92 // The creation date for this cluster. 93 CreationDate *time.Time 94 95 // The optional description of the cluster. 96 Description *string 97 98 // The ID of the address that you want a cluster shipped to, after it will be 99 // shipped to its primary address. This field is not supported in most regions. 100 ForwardingAddressId *string 101 102 // The type of job for this cluster. Currently, the only job type supported for 103 // clusters is LOCAL_USE. 104 JobType JobType 105 106 // The KmsKeyARN Amazon Resource Name (ARN) associated with this cluster. This ARN 107 // was created using the CreateKey 108 // (https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) API 109 // action in AWS Key Management Service (AWS KMS). 110 KmsKeyARN *string 111 112 // The Amazon Simple Notification Service (Amazon SNS) notification settings for 113 // this cluster. 114 Notification *Notification 115 116 // The arrays of JobResource objects that can include updated S3Resource objects or 117 // LambdaResource objects. 118 Resources *JobResource 119 120 // The role ARN associated with this cluster. This ARN was created using the 121 // CreateRole 122 // (https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html) API 123 // action in AWS Identity and Access Management (IAM). 124 RoleARN *string 125 126 // The shipping speed for each node in this cluster. This speed doesn't dictate how 127 // soon you'll get each device, rather it represents how quickly each device moves 128 // to its destination while in transit. Regional shipping speeds are as follows: 129 // 130 // * 131 // In Australia, you have access to express shipping. Typically, devices shipped 132 // express are delivered in about a day. 133 // 134 // * In the European Union (EU), you have 135 // access to express shipping. Typically, Snow devices shipped express are 136 // delivered in about a day. In addition, most countries in the EU have access to 137 // standard shipping, which typically takes less than a week, one way. 138 // 139 // * In India, 140 // Snow devices are delivered in one to seven days. 141 // 142 // * In the US, you have access 143 // to one-day shipping and two-day shipping. 144 ShippingOption ShippingOption 145 146 // The type of AWS Snow device to use for this cluster. For cluster jobs, AWS Snow 147 // Family currently supports only the EDGE device type. 148 SnowballType SnowballType 149 150 // The tax documents required in your AWS Region. 151 TaxDocuments *TaxDocuments 152} 153 154// A JSON-formatted object that describes a compatible Amazon Machine Image (AMI), 155// including the ID and name for a Snow device AMI. This AMI is compatible with the 156// device's physical hardware requirements, and it should be able to be run in an 157// SBE1 instance on the device. 158type CompatibleImage struct { 159 160 // The unique identifier for an individual Snow device AMI. 161 AmiId *string 162 163 // The optional name of a compatible image. 164 Name *string 165} 166 167// Defines the real-time status of a Snow device's data transfer while the device 168// is at AWS. This data is only available while a job has a JobState value of 169// InProgress, for both import and export jobs. 170type DataTransfer struct { 171 172 // The number of bytes transferred between a Snow device and Amazon S3. 173 BytesTransferred int64 174 175 // The number of objects transferred between a Snow device and Amazon S3. 176 ObjectsTransferred int64 177 178 // The total bytes of data for a transfer between a Snow device and Amazon S3. This 179 // value is set to 0 (zero) until all the keys that will be transferred have been 180 // listed. 181 TotalBytes int64 182 183 // The total number of objects for a transfer between a Snow device and Amazon S3. 184 // This value is set to 0 (zero) until all the keys that will be transferred have 185 // been listed. 186 TotalObjects int64 187} 188 189// The container for SnowconeDeviceConfiguration. 190type DeviceConfiguration struct { 191 192 // Returns information about the device configuration for an AWS Snowcone job. 193 SnowconeDeviceConfiguration *SnowconeDeviceConfiguration 194} 195 196// A JSON-formatted object that contains the IDs for an Amazon Machine Image (AMI), 197// including the Amazon EC2 AMI ID and the Snow device AMI ID. Each AMI has these 198// two IDs to simplify identifying the AMI in both the AWS Cloud and on the device. 199type Ec2AmiResource struct { 200 201 // The ID of the AMI in Amazon EC2. 202 // 203 // This member is required. 204 AmiId *string 205 206 // The ID of the AMI on the Snow device. 207 SnowballAmiId *string 208} 209 210// The container for the EventTriggerDefinition$EventResourceARN. 211type EventTriggerDefinition struct { 212 213 // The Amazon Resource Name (ARN) for any local Amazon S3 resource that is an AWS 214 // Lambda function's event trigger associated with this job. 215 EventResourceARN *string 216} 217 218// The tax documents required in AWS Regions in India. 219type INDTaxDocuments struct { 220 221 // The Goods and Services Tax (GST) documents required in AWS Regions in India. 222 GSTIN *string 223} 224 225// Each JobListEntry object contains a job's state, a job's ID, and a value that 226// indicates whether the job is a job part, in the case of an export job. 227type JobListEntry struct { 228 229 // The creation date for this job. 230 CreationDate *time.Time 231 232 // The optional description of this specific job, for example Important Photos 233 // 2016-08-11. 234 Description *string 235 236 // A value that indicates that this job is a main job. A main job represents a 237 // successful request to create an export job. Main jobs aren't associated with any 238 // Snowballs. Instead, each main job will have at least one job part, and each job 239 // part is associated with a Snowball. It might take some time before the job parts 240 // associated with a particular main job are listed, because they are created after 241 // the main job is created. 242 IsMaster bool 243 244 // The automatically generated ID for a job, for example 245 // JID123e4567-e89b-12d3-a456-426655440000. 246 JobId *string 247 248 // The current state of this job. 249 JobState JobState 250 251 // The type of job. 252 JobType JobType 253 254 // The type of device used with this job. 255 SnowballType SnowballType 256} 257 258// Contains job logs. Whenever a Snow device is used to import data into or export 259// data out of Amazon S3, you'll have the option of downloading a PDF job report. 260// Job logs are returned as a part of the response syntax of the DescribeJob action 261// in the JobMetadata data type. The job logs can be accessed for up to 60 minutes 262// after this request has been made. To access any of the job logs after 60 minutes 263// have passed, you'll have to make another call to the DescribeJob action. For 264// import jobs, the PDF job report becomes available at the end of the import 265// process. For export jobs, your job report typically becomes available while the 266// Snow device for your job part is being delivered to you. The job report provides 267// you insight into the state of your Amazon S3 data transfer. The report includes 268// details about your job or job part for your records. For deeper visibility into 269// the status of your transferred objects, you can look at the two associated logs: 270// a success log and a failure log. The logs are saved in comma-separated value 271// (CSV) format, and the name of each log includes the ID of the job or job part 272// that the log describes. 273type JobLogs struct { 274 275 // A link to an Amazon S3 presigned URL where the job completion report is located. 276 JobCompletionReportURI *string 277 278 // A link to an Amazon S3 presigned URL where the job failure log is located. 279 JobFailureLogURI *string 280 281 // A link to an Amazon S3 presigned URL where the job success log is located. 282 JobSuccessLogURI *string 283} 284 285// Contains information about a specific job including shipping information, job 286// status, and other important metadata. This information is returned as a part of 287// the response syntax of the DescribeJob action. 288type JobMetadata struct { 289 290 // The ID for the address that you want the Snow device shipped to. 291 AddressId *string 292 293 // The 39-character ID for the cluster, for example 294 // CID123e4567-e89b-12d3-a456-426655440000. 295 ClusterId *string 296 297 // The creation date for this job. 298 CreationDate *time.Time 299 300 // A value that defines the real-time status of a Snow device's data transfer while 301 // the device is at AWS. This data is only available while a job has a JobState 302 // value of InProgress, for both import and export jobs. 303 DataTransferProgress *DataTransfer 304 305 // The description of the job, provided at job creation. 306 Description *string 307 308 // The container for SnowconeDeviceConfiguration. 309 DeviceConfiguration *DeviceConfiguration 310 311 // The ID of the address that you want a job shipped to, after it will be shipped 312 // to its primary address. This field is not supported in most regions. 313 ForwardingAddressId *string 314 315 // The automatically generated ID for a job, for example 316 // JID123e4567-e89b-12d3-a456-426655440000. 317 JobId *string 318 319 // Links to Amazon S3 presigned URLs for the job report and logs. For import jobs, 320 // the PDF job report becomes available at the end of the import process. For 321 // export jobs, your job report typically becomes available while the Snow device 322 // for your job part is being delivered to you. 323 JobLogInfo *JobLogs 324 325 // The current status of the jobs. 326 JobState JobState 327 328 // The type of job. 329 JobType JobType 330 331 // The Amazon Resource Name (ARN) for the AWS Key Management Service (AWS KMS) key 332 // associated with this job. This ARN was created using the CreateKey 333 // (https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) API 334 // action in AWS KMS. 335 KmsKeyARN *string 336 337 // The Amazon Simple Notification Service (Amazon SNS) notification settings 338 // associated with a specific job. The Notification object is returned as a part of 339 // the response syntax of the DescribeJob action in the JobMetadata data type. 340 Notification *Notification 341 342 // An array of S3Resource objects. Each S3Resource object represents an Amazon S3 343 // bucket that your transferred data will be exported from or imported into. 344 Resources *JobResource 345 346 // The role ARN associated with this job. This ARN was created using the CreateRole 347 // (https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html) API 348 // action in AWS Identity and Access Management (IAM). 349 RoleARN *string 350 351 // A job's shipping information, including inbound and outbound tracking numbers 352 // and shipping speed options. 353 ShippingDetails *ShippingDetails 354 355 // The Snow device capacity preference for this job, specified at job creation. In 356 // US regions, you can choose between 50 TB and 80 TB Snowballs. All other regions 357 // use 80 TB capacity Snowballs. 358 SnowballCapacityPreference SnowballCapacity 359 360 // The type of device used with this job. 361 SnowballType SnowballType 362 363 // The metadata associated with the tax documents required in your AWS Region. 364 TaxDocuments *TaxDocuments 365} 366 367// Contains an array of AWS resource objects. Each object represents an Amazon S3 368// bucket, an AWS Lambda function, or an Amazon Machine Image (AMI) based on Amazon 369// EC2 that is associated with a particular job. 370type JobResource struct { 371 372 // The Amazon Machine Images (AMIs) associated with this job. 373 Ec2AmiResources []Ec2AmiResource 374 375 // The Python-language Lambda functions for this job. 376 LambdaResources []LambdaResource 377 378 // An array of S3Resource objects. 379 S3Resources []S3Resource 380} 381 382// Contains a key range. For export jobs, a S3Resource object can have an optional 383// KeyRange value. The length of the range is defined at job creation, and has 384// either an inclusive BeginMarker, an inclusive EndMarker, or both. Ranges are 385// UTF-8 binary sorted. 386type KeyRange struct { 387 388 // The key that starts an optional key range for an export job. Ranges are 389 // inclusive and UTF-8 binary sorted. 390 BeginMarker *string 391 392 // The key that ends an optional key range for an export job. Ranges are inclusive 393 // and UTF-8 binary sorted. 394 EndMarker *string 395} 396 397// Identifies 398type LambdaResource struct { 399 400 // The array of ARNs for S3Resource objects to trigger the LambdaResource objects 401 // associated with this job. 402 EventTriggers []EventTriggerDefinition 403 404 // An Amazon Resource Name (ARN) that represents an AWS Lambda function to be 405 // triggered by PUT object actions on the associated local Amazon S3 resource. 406 LambdaArn *string 407} 408 409// The Amazon Simple Notification Service (Amazon SNS) notification settings 410// associated with a specific job. The Notification object is returned as a part of 411// the response syntax of the DescribeJob action in the JobMetadata data type. When 412// the notification settings are defined during job creation, you can choose to 413// notify based on a specific set of job states using the JobStatesToNotify array 414// of strings, or you can specify that you want to have Amazon SNS notifications 415// sent out for all job states with NotifyAll set to true. 416type Notification struct { 417 418 // The list of job states that will trigger a notification for this job. 419 JobStatesToNotify []JobState 420 421 // Any change in job state will trigger a notification for this job. 422 NotifyAll bool 423 424 // The new SNS TopicArn that you want to associate with this job. You can create 425 // Amazon Resource Names (ARNs) for topics by using the CreateTopic 426 // (https://docs.aws.amazon.com/sns/latest/api/API_CreateTopic.html) Amazon SNS API 427 // action. You can subscribe email addresses to an Amazon SNS topic through the AWS 428 // Management Console, or by using the Subscribe 429 // (https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html) AWS Simple 430 // Notification Service (SNS) API action. 431 SnsTopicARN *string 432} 433 434// Each S3Resource object represents an Amazon S3 bucket that your transferred data 435// will be exported from or imported into. For export jobs, this object can have an 436// optional KeyRange value. The length of the range is defined at job creation, and 437// has either an inclusive BeginMarker, an inclusive EndMarker, or both. Ranges are 438// UTF-8 binary sorted. 439type S3Resource struct { 440 441 // The Amazon Resource Name (ARN) of an Amazon S3 bucket. 442 BucketArn *string 443 444 // For export jobs, you can provide an optional KeyRange within a specific Amazon 445 // S3 bucket. The length of the range is defined at job creation, and has either an 446 // inclusive BeginMarker, an inclusive EndMarker, or both. Ranges are UTF-8 binary 447 // sorted. 448 KeyRange *KeyRange 449} 450 451// The Status and TrackingNumber information for an inbound or outbound shipment. 452type Shipment struct { 453 454 // Status information for a shipment. 455 Status *string 456 457 // The tracking number for this job. Using this tracking number with your region's 458 // carrier's website, you can track a Snow device as the carrier transports it. For 459 // India, the carrier is Amazon Logistics. For all other regions, UPS is the 460 // carrier. 461 TrackingNumber *string 462} 463 464// A job's shipping information, including inbound and outbound tracking numbers 465// and shipping speed options. 466type ShippingDetails struct { 467 468 // The Status and TrackingNumber values for a Snow device being returned to AWS for 469 // a particular job. 470 InboundShipment *Shipment 471 472 // The Status and TrackingNumber values for a Snow device being delivered to the 473 // address that you specified for a particular job. 474 OutboundShipment *Shipment 475 476 // The shipping speed for a particular job. This speed doesn't dictate how soon 477 // you'll get the Snow device from the job's creation date. This speed represents 478 // how quickly it moves to its destination while in transit. Regional shipping 479 // speeds are as follows: 480 // 481 // * In Australia, you have access to express shipping. 482 // Typically, Snow devices shipped express are delivered in about a day. 483 // 484 // * In the 485 // European Union (EU), you have access to express shipping. Typically, Snow 486 // devices shipped express are delivered in about a day. In addition, most 487 // countries in the EU have access to standard shipping, which typically takes less 488 // than a week, one way. 489 // 490 // * In India, Snow device are delivered in one to seven 491 // days. 492 // 493 // * In the United States of America (US), you have access to one-day 494 // shipping and two-day shipping. 495 ShippingOption ShippingOption 496} 497 498// Specifies the device configuration for an AWS Snowcone job. 499type SnowconeDeviceConfiguration struct { 500 501 // Configures the wireless connection for the AWS Snowcone device. 502 WirelessConnection *WirelessConnection 503} 504 505// The tax documents required in your AWS Region. 506type TaxDocuments struct { 507 508 // The tax documents required in AWS Regions in India. 509 IND *INDTaxDocuments 510} 511 512// Configures the wireless connection on an AWS Snowcone device. 513type WirelessConnection struct { 514 515 // Enables the Wi-Fi adapter on an AWS Snowcone device. 516 IsWifiEnabled bool 517} 518