1// Code generated by smithy-go-codegen DO NOT EDIT. 2 3package types 4 5import ( 6 "time" 7) 8 9// Information about the gateway's automatic tape creation policies, including the 10// automatic tape creation rules and the gateway that is using the policies. 11type AutomaticTapeCreationPolicyInfo struct { 12 13 // An automatic tape creation policy consists of a list of automatic tape creation 14 // rules. This returns the rules that determine when and how to automatically 15 // create new tapes. 16 AutomaticTapeCreationRules []AutomaticTapeCreationRule 17 18 // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to 19 // return a list of gateways for your account and AWS Region. 20 GatewayARN *string 21} 22 23// An automatic tape creation policy consists of automatic tape creation rules 24// where each rule defines when and how to create new tapes. For more information 25// about automatic tape creation, see Creating Tapes Automatically 26// (https://docs.aws.amazon.com/storagegateway/latest/userguide/GettingStartedCreateTapes.html#CreateTapesAutomatically). 27type AutomaticTapeCreationRule struct { 28 29 // The minimum number of available virtual tapes that the gateway maintains at all 30 // times. If the number of tapes on the gateway goes below this value, the gateway 31 // creates as many new tapes as are needed to have MinimumNumTapes on the gateway. 32 // For more information about automatic tape creation, see Creating Tapes 33 // Automatically 34 // (https://docs.aws.amazon.com/storagegateway/latest/userguide/GettingStartedCreateTapes.html#CreateTapesAutomatically). 35 // 36 // This member is required. 37 MinimumNumTapes *int32 38 39 // The ID of the pool that you want to add your tape to for archiving. The tape in 40 // this pool is archived in the Amazon S3 storage class that is associated with the 41 // pool. When you use your backup application to eject the tape, the tape is 42 // archived directly into the storage class (S3 Glacier or S3 Glacier Deep Archive) 43 // that corresponds to the pool. Valid Values: GLACIER | DEEP_ARCHIVE 44 // 45 // This member is required. 46 PoolId *string 47 48 // A prefix that you append to the barcode of the virtual tape that you are 49 // creating. This prefix makes the barcode unique. The prefix must be 1-4 50 // characters in length and must be one of the uppercase letters from A to Z. 51 // 52 // This member is required. 53 TapeBarcodePrefix *string 54 55 // The size, in bytes, of the virtual tape capacity. 56 // 57 // This member is required. 58 TapeSizeInBytes *int64 59 60 // Set to true to indicate that tapes are to be archived as write-once-read-many 61 // (WORM). Set to false when WORM is not enabled for tapes. 62 Worm bool 63} 64 65// Describes a bandwidth rate limit interval for a gateway. A bandwidth rate limit 66// schedule consists of one or more bandwidth rate limit intervals. A bandwidth 67// rate limit interval defines a period of time on one or more days of the week, 68// during which bandwidth rate limits are specified for uploading, downloading, or 69// both. 70type BandwidthRateLimitInterval struct { 71 72 // The days of the week component of the bandwidth rate limit interval, represented 73 // as ordinal numbers from 0 to 6, where 0 represents Sunday and 6 represents 74 // Saturday. 75 // 76 // This member is required. 77 DaysOfWeek []int32 78 79 // The hour of the day to end the bandwidth rate limit interval. 80 // 81 // This member is required. 82 EndHourOfDay *int32 83 84 // The minute of the hour to end the bandwidth rate limit interval. The bandwidth 85 // rate limit interval ends at the end of the minute. To end an interval at the end 86 // of an hour, use the value 59. 87 // 88 // This member is required. 89 EndMinuteOfHour *int32 90 91 // The hour of the day to start the bandwidth rate limit interval. 92 // 93 // This member is required. 94 StartHourOfDay *int32 95 96 // The minute of the hour to start the bandwidth rate limit interval. The interval 97 // begins at the start of that minute. To begin an interval exactly at the start of 98 // the hour, use the value 0. 99 // 100 // This member is required. 101 StartMinuteOfHour *int32 102 103 // The average download rate limit component of the bandwidth rate limit interval, 104 // in bits per second. This field does not appear in the response if the download 105 // rate limit is not set. 106 AverageDownloadRateLimitInBitsPerSec *int64 107 108 // The average upload rate limit component of the bandwidth rate limit interval, in 109 // bits per second. This field does not appear in the response if the upload rate 110 // limit is not set. 111 AverageUploadRateLimitInBitsPerSec *int64 112} 113 114// The refresh cache information for the file share. 115type CacheAttributes struct { 116 117 // Refreshes a file share's cache by using Time To Live (TTL). TTL is the length of 118 // time since the last refresh after which access to the directory would cause the 119 // file gateway to first refresh that directory's contents from the Amazon S3 120 // bucket or Amazon FSx file system. The TTL duration is in seconds. Valid Values: 121 // 300 to 2,592,000 seconds (5 minutes to 30 days) 122 CacheStaleTimeoutInSeconds *int32 123} 124 125// Describes an iSCSI cached volume. 126type CachediSCSIVolume struct { 127 128 // The date the volume was created. Volumes created prior to March 28, 2017 don’t 129 // have this timestamp. 130 CreatedDate *time.Time 131 132 // The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for 133 // Amazon S3 server-side encryption. Storage Gateway does not support asymmetric 134 // CMKs. This value can only be set when KMSEncrypted is true. Optional. 135 KMSKey *string 136 137 // If the cached volume was created from a snapshot, this field contains the 138 // snapshot ID used, e.g., snap-78e22663. Otherwise, this field is not included. 139 SourceSnapshotId *string 140 141 // The name of the iSCSI target used by an initiator to connect to a volume and 142 // used as a suffix for the target ARN. For example, specifying TargetName as 143 // myvolume results in the target ARN of 144 // arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. 145 // The target name must be unique across all volumes on a gateway. If you don't 146 // specify a value, Storage Gateway uses the value that was previously used for 147 // this volume as the new target name. 148 TargetName *string 149 150 // The Amazon Resource Name (ARN) of the storage volume. 151 VolumeARN *string 152 153 // A value that indicates whether a storage volume is attached to or detached from 154 // a gateway. For more information, see Moving your volumes to a different gateway 155 // (https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-volumes.html#attach-detach-volume). 156 VolumeAttachmentStatus *string 157 158 // The unique identifier of the volume, e.g., vol-AE4B946D. 159 VolumeId *string 160 161 // Represents the percentage complete if the volume is restoring or bootstrapping 162 // that represents the percent of data transferred. This field does not appear in 163 // the response if the cached volume is not restoring or bootstrapping. 164 VolumeProgress *float64 165 166 // The size, in bytes, of the volume capacity. 167 VolumeSizeInBytes int64 168 169 // One of the VolumeStatus values that indicates the state of the storage volume. 170 VolumeStatus *string 171 172 // One of the VolumeType enumeration values that describes the type of the volume. 173 VolumeType *string 174 175 // The size of the data stored on the volume in bytes. This value is calculated 176 // based on the number of blocks that are touched, instead of the actual amount of 177 // data written. This value can be useful for sequential write patterns but less 178 // accurate for random write patterns. VolumeUsedInBytes is different from the 179 // compressed size of the volume, which is the value that is used to calculate your 180 // bill. This value is not available for volumes created prior to May 13, 2015, 181 // until you store data on the volume. 182 VolumeUsedInBytes *int64 183 184 // An VolumeiSCSIAttributes object that represents a collection of iSCSI attributes 185 // for one stored volume. 186 VolumeiSCSIAttributes *VolumeiSCSIAttributes 187} 188 189// Describes Challenge-Handshake Authentication Protocol (CHAP) information that 190// supports authentication between your gateway and iSCSI initiators. 191type ChapInfo struct { 192 193 // The iSCSI initiator that connects to the target. 194 InitiatorName *string 195 196 // The secret key that the initiator (for example, the Windows client) must provide 197 // to participate in mutual CHAP with the target. 198 SecretToAuthenticateInitiator *string 199 200 // The secret key that the target must provide to participate in mutual CHAP with 201 // the initiator (e.g., Windows client). 202 SecretToAuthenticateTarget *string 203 204 // The Amazon Resource Name (ARN) of the volume. Valid Values: 50 to 500 lowercase 205 // letters, numbers, periods (.), and hyphens (-). 206 TargetARN *string 207} 208 209// Lists iSCSI information about a VTL device. 210type DeviceiSCSIAttributes struct { 211 212 // Indicates whether mutual CHAP is enabled for the iSCSI target. 213 ChapEnabled bool 214 215 // The network interface identifier of the VTL device. 216 NetworkInterfaceId *string 217 218 // The port used to communicate with iSCSI VTL device targets. 219 NetworkInterfacePort int32 220 221 // Specifies the unique Amazon Resource Name (ARN) that encodes the iSCSI qualified 222 // name(iqn) of a tape drive or media changer target. 223 TargetARN *string 224} 225 226// Represents a gateway's local disk. 227type Disk struct { 228 229 // The iSCSI qualified name (IQN) that is defined for a disk. This field is not 230 // included in the response if the local disk is not defined as an iSCSI target. 231 // The format of this field is targetIqn::LUNNumber::region-volumeId. 232 DiskAllocationResource *string 233 234 // One of the DiskAllocationType enumeration values that identifies how a local 235 // disk is used. Valid Values: UPLOAD_BUFFER | CACHE_STORAGE 236 DiskAllocationType *string 237 238 // A list of values that represents attributes of a local disk. 239 DiskAttributeList []string 240 241 // The unique device ID or other distinguishing data that identifies a local disk. 242 DiskId *string 243 244 // The device node of a local disk as assigned by the virtualization environment. 245 DiskNode *string 246 247 // The path of a local disk in the gateway virtual machine (VM). 248 DiskPath *string 249 250 // The local disk size in bytes. 251 DiskSizeInBytes int64 252 253 // A value that represents the status of a local disk. 254 DiskStatus *string 255} 256 257// Describes a file share. 258type FileShareInfo struct { 259 260 // The Amazon Resource Name (ARN) of the file share. 261 FileShareARN *string 262 263 // The ID of the file share. 264 FileShareId *string 265 266 // The status of the file share. Valid Values: CREATING | UPDATING | AVAILABLE | 267 // DELETING 268 FileShareStatus *string 269 270 // The type of the file share. 271 FileShareType FileShareType 272 273 // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to 274 // return a list of gateways for your account and AWS Region. 275 GatewayARN *string 276} 277 278// Describes the object returned by DescribeFileSystemAssociations that describes a 279// created file system association. 280type FileSystemAssociationInfo struct { 281 282 // The Amazon Resource Name (ARN) of the storage used for the audit logs. 283 AuditDestinationARN *string 284 285 // The refresh cache information for the file share. 286 CacheAttributes *CacheAttributes 287 288 // The Amazon Resource Name (ARN) of the file system association. 289 FileSystemAssociationARN *string 290 291 // The status of the file system association. Valid Values: AVAILABLE | CREATING | 292 // DELETING | FORCE_DELETING | MISCONFIGURED | UPDATING | UNAVAILABLE 293 FileSystemAssociationStatus *string 294 295 // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to 296 // return a list of gateways for your account and AWS Region. 297 GatewayARN *string 298 299 // The ARN of the backend Amazon FSx file system used for storing file data. For 300 // information, see FileSystem 301 // (https://docs.aws.amazon.com/fsx/latest/APIReference/API_FileSystem.html) in the 302 // Amazon FSx API Reference. 303 LocationARN *string 304 305 // A list of up to 50 tags assigned to the SMB file share, sorted alphabetically by 306 // key name. Each tag is a key-value pair. 307 Tags []Tag 308} 309 310// Gets the summary returned by ListFileSystemAssociation, which is a summary of a 311// created file system association. 312type FileSystemAssociationSummary struct { 313 314 // The Amazon Resource Name (ARN) of the file system association. 315 FileSystemAssociationARN *string 316 317 // The ID of the file system association. 318 FileSystemAssociationId *string 319 320 // The status of the file share. Valid Values: AVAILABLE | CREATING | DELETING | 321 // FORCE_DELETING | MISCONFIGURED | UPDATING | UNAVAILABLE 322 FileSystemAssociationStatus *string 323 324 // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to 325 // return a list of gateways for your account and AWS Region. 326 GatewayARN *string 327} 328 329// Describes a gateway object. 330type GatewayInfo struct { 331 332 // The ID of the Amazon EC2 instance that was used to launch the gateway. 333 Ec2InstanceId *string 334 335 // The AWS Region where the Amazon EC2 instance is located. 336 Ec2InstanceRegion *string 337 338 // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to 339 // return a list of gateways for your account and AWS Region. 340 GatewayARN *string 341 342 // The unique identifier assigned to your gateway during activation. This ID 343 // becomes part of the gateway Amazon Resource Name (ARN), which you use as input 344 // for other operations. 345 GatewayId *string 346 347 // The name of the gateway. 348 GatewayName *string 349 350 // The state of the gateway. Valid Values: DISABLED | ACTIVE 351 GatewayOperationalState *string 352 353 // The type of the gateway. 354 GatewayType *string 355} 356 357// Describes a gateway's network interface. 358type NetworkInterface struct { 359 360 // The Internet Protocol version 4 (IPv4) address of the interface. 361 Ipv4Address *string 362 363 // The Internet Protocol version 6 (IPv6) address of the interface. Currently not 364 // supported. 365 Ipv6Address *string 366 367 // The Media Access Control (MAC) address of the interface. This is currently 368 // unsupported and will not be returned in output. 369 MacAddress *string 370} 371 372// Describes Network File System (NFS) file share default values. Files and folders 373// stored as Amazon S3 objects in S3 buckets don't, by default, have Unix file 374// permissions assigned to them. Upon discovery in an S3 bucket by Storage Gateway, 375// the S3 objects that represent files and folders are assigned these default Unix 376// permissions. This operation is only supported for file gateways. 377type NFSFileShareDefaults struct { 378 379 // The Unix directory mode in the form "nnnn". For example, 0666 represents the 380 // default access mode for all directories inside the file share. The default value 381 // is 0777. 382 DirectoryMode *string 383 384 // The Unix file mode in the form "nnnn". For example, 0666 represents the default 385 // file mode inside the file share. The default value is 0666. 386 FileMode *string 387 388 // The default group ID for the file share (unless the files have another group ID 389 // specified). The default value is nfsnobody. 390 GroupId *int64 391 392 // The default owner ID for files in the file share (unless the files have another 393 // owner ID specified). The default value is nfsnobody. 394 OwnerId *int64 395} 396 397// The Unix file permissions and ownership information assigned, by default, to 398// native S3 objects when file gateway discovers them in S3 buckets. This operation 399// is only supported in file gateways. 400type NFSFileShareInfo struct { 401 402 // Refresh cache information for the file share. 403 CacheAttributes *CacheAttributes 404 405 // The list of clients that are allowed to access the file gateway. The list must 406 // contain either valid IP addresses or valid CIDR blocks. 407 ClientList []string 408 409 // The default storage class for objects put into an Amazon S3 bucket by the file 410 // gateway. The default value is S3_INTELLIGENT_TIERING. Optional. Valid Values: 411 // S3_STANDARD | S3_INTELLIGENT_TIERING | S3_STANDARD_IA | S3_ONEZONE_IA 412 DefaultStorageClass *string 413 414 // The Amazon Resource Name (ARN) of the file share. 415 FileShareARN *string 416 417 // The ID of the file share. 418 FileShareId *string 419 420 // The name of the file share. Optional. FileShareName must be set if an S3 prefix 421 // name is set in LocationARN. 422 FileShareName *string 423 424 // The status of the file share. Valid Values: CREATING | UPDATING | AVAILABLE | 425 // DELETING 426 FileShareStatus *string 427 428 // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to 429 // return a list of gateways for your account and AWS Region. 430 GatewayARN *string 431 432 // A value that enables guessing of the MIME type for uploaded objects based on 433 // file extensions. Set this value to true to enable MIME type guessing, otherwise 434 // set to false. The default value is true. Valid Values: true | false 435 GuessMIMETypeEnabled *bool 436 437 // Set to true to use Amazon S3 server-side encryption with your own AWS KMS key, 438 // or false to use a key managed by Amazon S3. Optional. Valid Values: true | false 439 KMSEncrypted bool 440 441 // The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for 442 // Amazon S3 server-side encryption. Storage Gateway does not support asymmetric 443 // CMKs. This value can only be set when KMSEncrypted is true. Optional. 444 KMSKey *string 445 446 // The ARN of the backend storage used for storing file data. A prefix name can be 447 // added to the S3 bucket name. It must end with a "/". 448 LocationARN *string 449 450 // Describes Network File System (NFS) file share default values. Files and folders 451 // stored as Amazon S3 objects in S3 buckets don't, by default, have Unix file 452 // permissions assigned to them. Upon discovery in an S3 bucket by Storage Gateway, 453 // the S3 objects that represent files and folders are assigned these default Unix 454 // permissions. This operation is only supported for file gateways. 455 NFSFileShareDefaults *NFSFileShareDefaults 456 457 // The notification policy of the file share. SettlingTimeInSeconds controls the 458 // number of seconds to wait after the last point in time a client wrote to a file 459 // before generating an ObjectUploaded notification. Because clients can make many 460 // small writes to files, it's best to set this parameter for as long as possible 461 // to avoid generating multiple notifications for the same file in a small time 462 // period. SettlingTimeInSeconds has no effect on the timing of the object 463 // uploading to Amazon S3, only the timing of the notification. The following 464 // example sets NotificationPolicy on with SettlingTimeInSeconds set to 60. 465 // {"Upload": {"SettlingTimeInSeconds": 60}} The following example sets 466 // NotificationPolicy off. {} 467 NotificationPolicy *string 468 469 // A value that sets the access control list (ACL) permission for objects in the S3 470 // bucket that a file gateway puts objects into. The default value is private. 471 ObjectACL ObjectACL 472 473 // The file share path used by the NFS client to identify the mount point. 474 Path *string 475 476 // A value that sets the write status of a file share. Set this value to true to 477 // set the write status to read-only, otherwise set to false. Valid Values: true | 478 // false 479 ReadOnly *bool 480 481 // A value that sets who pays the cost of the request and the cost associated with 482 // data download from the S3 bucket. If this value is set to true, the requester 483 // pays the costs; otherwise, the S3 bucket owner pays. However, the S3 bucket 484 // owner always pays the cost of storing data. RequesterPays is a configuration for 485 // the S3 bucket that backs the file share, so make sure that the configuration on 486 // the file share is the same as the S3 bucket configuration. Valid Values: true | 487 // false 488 RequesterPays *bool 489 490 // The ARN of the IAM role that file gateway assumes when it accesses the 491 // underlying storage. 492 Role *string 493 494 // The user mapped to anonymous user. Valid options are the following: 495 // 496 // * 497 // RootSquash: Only root is mapped to anonymous user. 498 // 499 // * NoSquash: No one is mapped 500 // to anonymous user. 501 // 502 // * AllSquash: Everyone is mapped to anonymous user. 503 Squash *string 504 505 // A list of up to 50 tags assigned to the NFS file share, sorted alphabetically by 506 // key name. Each tag is a key-value pair. For a gateway with more than 10 tags 507 // assigned, you can view all tags using the ListTagsForResource API operation. 508 Tags []Tag 509} 510 511// Describes a custom tape pool. 512type PoolInfo struct { 513 514 // The Amazon Resource Name (ARN) of the custom tape pool. Use the ListTapePools 515 // operation to return a list of custom tape pools for your account and AWS Region. 516 PoolARN *string 517 518 // The name of the custom tape pool. PoolName can use all ASCII characters, except 519 // '/' and '\'. 520 PoolName *string 521 522 // Status of the custom tape pool. Pool can be ACTIVE or DELETED. 523 PoolStatus PoolStatus 524 525 // Tape retention lock time is set in days. Tape retention lock can be enabled for 526 // up to 100 years (36,500 days). 527 RetentionLockTimeInDays *int32 528 529 // Tape retention lock type, which can be configured in two modes. When configured 530 // in governance mode, AWS accounts with specific IAM permissions are authorized to 531 // remove the tape retention lock from archived virtual tapes. When configured in 532 // compliance mode, the tape retention lock cannot be removed by any user, 533 // including the root AWS account. 534 RetentionLockType RetentionLockType 535 536 // The storage class that is associated with the custom pool. When you use your 537 // backup application to eject the tape, the tape is archived directly into the 538 // storage class (S3 Glacier or S3 Glacier Deep Archive) that corresponds to the 539 // pool. 540 StorageClass TapeStorageClass 541} 542 543// The Windows file permissions and ownership information assigned, by default, to 544// native S3 objects when file gateway discovers them in S3 buckets. This operation 545// is only supported for file gateways. 546type SMBFileShareInfo struct { 547 548 // Indicates whether AccessBasedEnumeration is enabled. 549 AccessBasedEnumeration *bool 550 551 // A list of users or groups in the Active Directory that have administrator rights 552 // to the file share. A group must be prefixed with the @ character. Acceptable 553 // formats include: DOMAIN\User1, user1, @group1, and @DOMAIN\group1. Can only be 554 // set if Authentication is set to ActiveDirectory. 555 AdminUserList []string 556 557 // The Amazon Resource Name (ARN) of the storage used for audit logs. 558 AuditDestinationARN *string 559 560 // The authentication method of the file share. The default is ActiveDirectory. 561 // Valid Values: ActiveDirectory | GuestAccess 562 Authentication *string 563 564 // Refresh cache information for the file share. 565 CacheAttributes *CacheAttributes 566 567 // The case of an object name in an Amazon S3 bucket. For ClientSpecified, the 568 // client determines the case sensitivity. For CaseSensitive, the gateway 569 // determines the case sensitivity. The default value is ClientSpecified. 570 CaseSensitivity CaseSensitivity 571 572 // The default storage class for objects put into an Amazon S3 bucket by the file 573 // gateway. The default value is S3_INTELLIGENT_TIERING. Optional. Valid Values: 574 // S3_STANDARD | S3_INTELLIGENT_TIERING | S3_STANDARD_IA | S3_ONEZONE_IA 575 DefaultStorageClass *string 576 577 // The Amazon Resource Name (ARN) of the file share. 578 FileShareARN *string 579 580 // The ID of the file share. 581 FileShareId *string 582 583 // The name of the file share. Optional. FileShareName must be set if an S3 prefix 584 // name is set in LocationARN. 585 FileShareName *string 586 587 // The status of the file share. Valid Values: CREATING | UPDATING | AVAILABLE | 588 // DELETING 589 FileShareStatus *string 590 591 // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to 592 // return a list of gateways for your account and AWS Region. 593 GatewayARN *string 594 595 // A value that enables guessing of the MIME type for uploaded objects based on 596 // file extensions. Set this value to true to enable MIME type guessing, otherwise 597 // set to false. The default value is true. Valid Values: true | false 598 GuessMIMETypeEnabled *bool 599 600 // A list of users or groups in the Active Directory that are not allowed to access 601 // the file share. A group must be prefixed with the @ character. Acceptable 602 // formats include: DOMAIN\User1, user1, @group1, and @DOMAIN\group1. Can only be 603 // set if Authentication is set to ActiveDirectory. 604 InvalidUserList []string 605 606 // Set to true to use Amazon S3 server-side encryption with your own AWS KMS key, 607 // or false to use a key managed by Amazon S3. Optional. Valid Values: true | false 608 KMSEncrypted bool 609 610 // The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for 611 // Amazon S3 server-side encryption. Storage Gateway does not support asymmetric 612 // CMKs. This value can only be set when KMSEncrypted is true. Optional. 613 KMSKey *string 614 615 // The ARN of the backend storage used for storing file data. A prefix name can be 616 // added to the S3 bucket name. It must end with a "/". 617 LocationARN *string 618 619 // The notification policy of the file share. SettlingTimeInSeconds controls the 620 // number of seconds to wait after the last point in time a client wrote to a file 621 // before generating an ObjectUploaded notification. Because clients can make many 622 // small writes to files, it's best to set this parameter for as long as possible 623 // to avoid generating multiple notifications for the same file in a small time 624 // period. SettlingTimeInSeconds has no effect on the timing of the object 625 // uploading to Amazon S3, only the timing of the notification. The following 626 // example sets NotificationPolicy on with SettlingTimeInSeconds set to 60. 627 // {"Upload": {"SettlingTimeInSeconds": 60}} The following example sets 628 // NotificationPolicy off. {} 629 NotificationPolicy *string 630 631 // A value that sets the access control list (ACL) permission for objects in the S3 632 // bucket that a file gateway puts objects into. The default value is private. 633 ObjectACL ObjectACL 634 635 // The file share path used by the SMB client to identify the mount point. 636 Path *string 637 638 // A value that sets the write status of a file share. Set this value to true to 639 // set the write status to read-only, otherwise set to false. Valid Values: true | 640 // false 641 ReadOnly *bool 642 643 // A value that sets who pays the cost of the request and the cost associated with 644 // data download from the S3 bucket. If this value is set to true, the requester 645 // pays the costs; otherwise, the S3 bucket owner pays. However, the S3 bucket 646 // owner always pays the cost of storing data. RequesterPays is a configuration for 647 // the S3 bucket that backs the file share, so make sure that the configuration on 648 // the file share is the same as the S3 bucket configuration. Valid Values: true | 649 // false 650 RequesterPays *bool 651 652 // The ARN of the IAM role that file gateway assumes when it accesses the 653 // underlying storage. 654 Role *string 655 656 // If this value is set to true, it indicates that access control list (ACL) is 657 // enabled on the SMB file share. If it is set to false, it indicates that file and 658 // directory permissions are mapped to the POSIX permission. For more information, 659 // see Using Microsoft Windows ACLs to control access to an SMB file share 660 // (https://docs.aws.amazon.com/storagegateway/latest/userguide/smb-acl.html) in 661 // the AWS Storage Gateway User Guide. 662 SMBACLEnabled *bool 663 664 // A list of up to 50 tags assigned to the SMB file share, sorted alphabetically by 665 // key name. Each tag is a key-value pair. For a gateway with more than 10 tags 666 // assigned, you can view all tags using the ListTagsForResource API operation. 667 Tags []Tag 668 669 // A list of users or groups in the Active Directory that are allowed to access the 670 // file share. A group must be prefixed with the @ character. Acceptable formats 671 // include: DOMAIN\User1, user1, @group1, and @DOMAIN\group1. Can only be set if 672 // Authentication is set to ActiveDirectory. 673 ValidUserList []string 674} 675 676// Provides additional information about an error that was returned by the service. 677// See the errorCode and errorDetails members for more information about the error. 678type StorageGatewayError struct { 679 680 // Additional information about the error. 681 ErrorCode ErrorCode 682 683 // Human-readable text that provides detail about the error that occurred. 684 ErrorDetails map[string]string 685} 686 687// Describes an iSCSI stored volume. 688type StorediSCSIVolume struct { 689 690 // The date the volume was created. Volumes created prior to March 28, 2017 don’t 691 // have this timestamp. 692 CreatedDate *time.Time 693 694 // The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for 695 // Amazon S3 server-side encryption. Storage Gateway does not support asymmetric 696 // CMKs. This value can only be set when KMSEncrypted is true. Optional. 697 KMSKey *string 698 699 // Indicates if when the stored volume was created, existing data on the underlying 700 // local disk was preserved. Valid Values: true | false 701 PreservedExistingData bool 702 703 // If the stored volume was created from a snapshot, this field contains the 704 // snapshot ID used, e.g. snap-78e22663. Otherwise, this field is not included. 705 SourceSnapshotId *string 706 707 // The name of the iSCSI target used by an initiator to connect to a volume and 708 // used as a suffix for the target ARN. For example, specifying TargetName as 709 // myvolume results in the target ARN of 710 // arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. 711 // The target name must be unique across all volumes on a gateway. If you don't 712 // specify a value, Storage Gateway uses the value that was previously used for 713 // this volume as the new target name. 714 TargetName *string 715 716 // The Amazon Resource Name (ARN) of the storage volume. 717 VolumeARN *string 718 719 // A value that indicates whether a storage volume is attached to, detached from, 720 // or is in the process of detaching from a gateway. For more information, see 721 // Moving your volumes to a different gateway 722 // (https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-volumes.html#attach-detach-volume). 723 VolumeAttachmentStatus *string 724 725 // The ID of the local disk that was specified in the CreateStorediSCSIVolume 726 // operation. 727 VolumeDiskId *string 728 729 // The unique identifier of the volume, e.g., vol-AE4B946D. 730 VolumeId *string 731 732 // Represents the percentage complete if the volume is restoring or bootstrapping 733 // that represents the percent of data transferred. This field does not appear in 734 // the response if the stored volume is not restoring or bootstrapping. 735 VolumeProgress *float64 736 737 // The size of the volume in bytes. 738 VolumeSizeInBytes int64 739 740 // One of the VolumeStatus values that indicates the state of the storage volume. 741 VolumeStatus *string 742 743 // One of the VolumeType enumeration values describing the type of the volume. 744 VolumeType *string 745 746 // The size of the data stored on the volume in bytes. This value is calculated 747 // based on the number of blocks that are touched, instead of the actual amount of 748 // data written. This value can be useful for sequential write patterns but less 749 // accurate for random write patterns. VolumeUsedInBytes is different from the 750 // compressed size of the volume, which is the value that is used to calculate your 751 // bill. This value is not available for volumes created prior to May 13, 2015, 752 // until you store data on the volume. 753 VolumeUsedInBytes *int64 754 755 // An VolumeiSCSIAttributes object that represents a collection of iSCSI attributes 756 // for one stored volume. 757 VolumeiSCSIAttributes *VolumeiSCSIAttributes 758} 759 760// A key-value pair that helps you manage, filter, and search for your resource. 761// Allowed characters: letters, white space, and numbers, representable in UTF-8, 762// and the following characters: + - = . _ : /. 763type Tag struct { 764 765 // Tag key. The key can't start with aws:. 766 // 767 // This member is required. 768 Key *string 769 770 // Value of the tag key. 771 // 772 // This member is required. 773 Value *string 774} 775 776// Describes a virtual tape object. 777type Tape struct { 778 779 // The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for 780 // Amazon S3 server-side encryption. Storage Gateway does not support asymmetric 781 // CMKs. This value can only be set when KMSEncrypted is true. Optional. 782 KMSKey *string 783 784 // The date that the tape enters a custom tape pool. 785 PoolEntryDate *time.Time 786 787 // The ID of the pool that contains tapes that will be archived. The tapes in this 788 // pool are archived in the S3 storage class that is associated with the pool. When 789 // you use your backup application to eject the tape, the tape is archived directly 790 // into the storage class (S3 Glacier or S3 Glacier Deep Archive) that corresponds 791 // to the pool. Valid Values: GLACIER | DEEP_ARCHIVE 792 PoolId *string 793 794 // For archiving virtual tapes, indicates how much data remains to be uploaded 795 // before archiving is complete. Range: 0 (not started) to 100 (complete). 796 Progress *float64 797 798 // The date that the tape is first archived with tape retention lock enabled. 799 RetentionStartDate *time.Time 800 801 // The Amazon Resource Name (ARN) of the virtual tape. 802 TapeARN *string 803 804 // The barcode that identifies a specific virtual tape. 805 TapeBarcode *string 806 807 // The date the virtual tape was created. 808 TapeCreatedDate *time.Time 809 810 // The size, in bytes, of the virtual tape capacity. 811 TapeSizeInBytes *int64 812 813 // The current state of the virtual tape. 814 TapeStatus *string 815 816 // The size, in bytes, of data stored on the virtual tape. This value is not 817 // available for tapes created prior to May 13, 2015. 818 TapeUsedInBytes *int64 819 820 // The virtual tape library (VTL) device that the virtual tape is associated with. 821 VTLDevice *string 822 823 // If the tape is archived as write-once-read-many (WORM), this value is true. 824 Worm bool 825} 826 827// Represents a virtual tape that is archived in the virtual tape shelf (VTS). 828type TapeArchive struct { 829 830 // The time that the archiving of the virtual tape was completed. The default 831 // timestamp format is in the ISO8601 extended YYYY-MM-DD'T'HH:MM:SS'Z' format. 832 CompletionTime *time.Time 833 834 // The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for 835 // Amazon S3 server-side encryption. Storage Gateway does not support asymmetric 836 // CMKs. This value can only be set when KMSEncrypted is true. Optional. 837 KMSKey *string 838 839 // The time that the tape entered the custom tape pool. The default timestamp 840 // format is in the ISO8601 extended YYYY-MM-DD'T'HH:MM:SS'Z' format. 841 PoolEntryDate *time.Time 842 843 // The ID of the pool that was used to archive the tape. The tapes in this pool are 844 // archived in the S3 storage class that is associated with the pool. Valid Values: 845 // GLACIER | DEEP_ARCHIVE 846 PoolId *string 847 848 // If the archived tape is subject to tape retention lock, the date that the 849 // archived tape started being retained. 850 RetentionStartDate *time.Time 851 852 // The Amazon Resource Name (ARN) of the tape gateway that the virtual tape is 853 // being retrieved to. The virtual tape is retrieved from the virtual tape shelf 854 // (VTS). 855 RetrievedTo *string 856 857 // The Amazon Resource Name (ARN) of an archived virtual tape. 858 TapeARN *string 859 860 // The barcode that identifies the archived virtual tape. 861 TapeBarcode *string 862 863 // The date the virtual tape was created. 864 TapeCreatedDate *time.Time 865 866 // The size, in bytes, of the archived virtual tape. 867 TapeSizeInBytes *int64 868 869 // The current state of the archived virtual tape. 870 TapeStatus *string 871 872 // The size, in bytes, of data stored on the virtual tape. This value is not 873 // available for tapes created prior to May 13, 2015. 874 TapeUsedInBytes *int64 875 876 // Set to true if the archived tape is stored as write-once-read-many (WORM). 877 Worm bool 878} 879 880// Describes a virtual tape. 881type TapeInfo struct { 882 883 // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to 884 // return a list of gateways for your account and AWS Region. 885 GatewayARN *string 886 887 // The date that the tape entered the custom tape pool with tape retention lock 888 // enabled. 889 PoolEntryDate *time.Time 890 891 // The ID of the pool that you want to add your tape to for archiving. The tape in 892 // this pool is archived in the S3 storage class that is associated with the pool. 893 // When you use your backup application to eject the tape, the tape is archived 894 // directly into the storage class (S3 Glacier or S3 Glacier Deep Archive) that 895 // corresponds to the pool. Valid Values: GLACIER | DEEP_ARCHIVE 896 PoolId *string 897 898 // The date that the tape became subject to tape retention lock. 899 RetentionStartDate *time.Time 900 901 // The Amazon Resource Name (ARN) of a virtual tape. 902 TapeARN *string 903 904 // The barcode that identifies a specific virtual tape. 905 TapeBarcode *string 906 907 // The size, in bytes, of a virtual tape. 908 TapeSizeInBytes *int64 909 910 // The status of the tape. 911 TapeStatus *string 912} 913 914// Describes a recovery point. 915type TapeRecoveryPointInfo struct { 916 917 // The Amazon Resource Name (ARN) of the virtual tape. 918 TapeARN *string 919 920 // The time when the point-in-time view of the virtual tape was replicated for 921 // later recovery. The default timestamp format of the tape recovery point time is 922 // in the ISO8601 extended YYYY-MM-DD'T'HH:MM:SS'Z' format. 923 TapeRecoveryPointTime *time.Time 924 925 // The size, in bytes, of the virtual tapes to recover. 926 TapeSizeInBytes *int64 927 928 // The status of the virtual tapes. 929 TapeStatus *string 930} 931 932// Describes a storage volume object. 933type VolumeInfo struct { 934 935 // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to 936 // return a list of gateways for your account and AWS Region. 937 GatewayARN *string 938 939 // The unique identifier assigned to your gateway during activation. This ID 940 // becomes part of the gateway Amazon Resource Name (ARN), which you use as input 941 // for other operations. Valid Values: 50 to 500 lowercase letters, numbers, 942 // periods (.), and hyphens (-). 943 GatewayId *string 944 945 // The Amazon Resource Name (ARN) for the storage volume. For example, the 946 // following is a valid ARN: 947 // arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB 948 // Valid Values: 50 to 500 lowercase letters, numbers, periods (.), and hyphens 949 // (-). 950 VolumeARN *string 951 952 // One of the VolumeStatus values that indicates the state of the storage volume. 953 VolumeAttachmentStatus *string 954 955 // The unique identifier assigned to the volume. This ID becomes part of the volume 956 // Amazon Resource Name (ARN), which you use as input for other operations. Valid 957 // Values: 50 to 500 lowercase letters, numbers, periods (.), and hyphens (-). 958 VolumeId *string 959 960 // The size of the volume in bytes. Valid Values: 50 to 500 lowercase letters, 961 // numbers, periods (.), and hyphens (-). 962 VolumeSizeInBytes int64 963 964 // One of the VolumeType enumeration values describing the type of the volume. 965 VolumeType *string 966} 967 968// Lists iSCSI information about a volume. 969type VolumeiSCSIAttributes struct { 970 971 // Indicates whether mutual CHAP is enabled for the iSCSI target. 972 ChapEnabled bool 973 974 // The logical disk number. 975 LunNumber *int32 976 977 // The network interface identifier. 978 NetworkInterfaceId *string 979 980 // The port used to communicate with iSCSI targets. 981 NetworkInterfacePort int32 982 983 // The Amazon Resource Name (ARN) of the volume target. 984 TargetARN *string 985} 986 987// Describes a storage volume recovery point object. 988type VolumeRecoveryPointInfo struct { 989 990 // The Amazon Resource Name (ARN) of the volume target. 991 VolumeARN *string 992 993 // The time the recovery point was taken. 994 VolumeRecoveryPointTime *string 995 996 // The size of the volume in bytes. 997 VolumeSizeInBytes int64 998 999 // The size of the data stored on the volume in bytes. This value is not available 1000 // for volumes created prior to May 13, 2015, until you store data on the volume. 1001 VolumeUsageInBytes int64 1002} 1003 1004// Represents a device object associated with a tape gateway. 1005type VTLDevice struct { 1006 1007 // A list of iSCSI information about a VTL device. 1008 DeviceiSCSIAttributes *DeviceiSCSIAttributes 1009 1010 // Specifies the unique Amazon Resource Name (ARN) of the device (tape drive or 1011 // media changer). 1012 VTLDeviceARN *string 1013 1014 // Specifies the model number of device that the VTL device emulates. 1015 VTLDeviceProductIdentifier *string 1016 1017 // Specifies the type of device that the VTL device emulates. 1018 VTLDeviceType *string 1019 1020 // Specifies the vendor of the device that the VTL device object emulates. 1021 VTLDeviceVendor *string 1022} 1023