// Code generated by smithy-go-codegen DO NOT EDIT. package types import ( smithydocument "github.com/aws/smithy-go/document" "time" ) // Information about the gateway's automatic tape creation policies, including the // automatic tape creation rules and the gateway that is using the policies. type AutomaticTapeCreationPolicyInfo struct { // An automatic tape creation policy consists of a list of automatic tape creation // rules. This returns the rules that determine when and how to automatically // create new tapes. AutomaticTapeCreationRules []AutomaticTapeCreationRule // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation // to return a list of gateways for your account and Amazon Web Services Region. GatewayARN *string noSmithyDocumentSerde } // An automatic tape creation policy consists of automatic tape creation rules // where each rule defines when and how to create new tapes. For more information // about automatic tape creation, see Creating Tapes Automatically (https://docs.aws.amazon.com/storagegateway/latest/userguide/GettingStartedCreateTapes.html#CreateTapesAutomatically) // . type AutomaticTapeCreationRule struct { // The minimum number of available virtual tapes that the gateway maintains at all // times. If the number of tapes on the gateway goes below this value, the gateway // creates as many new tapes as are needed to have MinimumNumTapes on the gateway. // For more information about automatic tape creation, see Creating Tapes // Automatically (https://docs.aws.amazon.com/storagegateway/latest/userguide/GettingStartedCreateTapes.html#CreateTapesAutomatically) // . // // This member is required. MinimumNumTapes *int32 // The ID of the pool that you want to add your tape to for archiving. The tape in // this pool is archived in the Amazon S3 storage class that is associated with the // pool. When you use your backup application to eject the tape, the tape is // archived directly into the storage class (S3 Glacier or S3 Glacier Deep Archive) // that corresponds to the pool. // // This member is required. PoolId *string // A prefix that you append to the barcode of the virtual tape that you are // creating. This prefix makes the barcode unique. The prefix must be 1-4 // characters in length and must be one of the uppercase letters from A to Z. // // This member is required. TapeBarcodePrefix *string // The size, in bytes, of the virtual tape capacity. // // This member is required. TapeSizeInBytes *int64 // Set to true to indicate that tapes are to be archived as write-once-read-many // (WORM). Set to false when WORM is not enabled for tapes. Worm bool noSmithyDocumentSerde } // Describes a bandwidth rate limit interval for a gateway. A bandwidth rate limit // schedule consists of one or more bandwidth rate limit intervals. A bandwidth // rate limit interval defines a period of time on one or more days of the week, // during which bandwidth rate limits are specified for uploading, downloading, or // both. type BandwidthRateLimitInterval struct { // The days of the week component of the bandwidth rate limit interval, // represented as ordinal numbers from 0 to 6, where 0 represents Sunday and 6 // represents Saturday. // // This member is required. DaysOfWeek []int32 // The hour of the day to end the bandwidth rate limit interval. // // This member is required. EndHourOfDay *int32 // The minute of the hour to end the bandwidth rate limit interval. The bandwidth // rate limit interval ends at the end of the minute. To end an interval at the end // of an hour, use the value 59 . // // This member is required. EndMinuteOfHour *int32 // The hour of the day to start the bandwidth rate limit interval. // // This member is required. StartHourOfDay *int32 // The minute of the hour to start the bandwidth rate limit interval. The interval // begins at the start of that minute. To begin an interval exactly at the start of // the hour, use the value 0 . // // This member is required. StartMinuteOfHour *int32 // The average download rate limit component of the bandwidth rate limit interval, // in bits per second. This field does not appear in the response if the download // rate limit is not set. AverageDownloadRateLimitInBitsPerSec *int64 // The average upload rate limit component of the bandwidth rate limit interval, // in bits per second. This field does not appear in the response if the upload // rate limit is not set. AverageUploadRateLimitInBitsPerSec *int64 noSmithyDocumentSerde } // The refresh cache information for the file share or FSx file systems. type CacheAttributes struct { // Refreshes a file share's cache by using Time To Live (TTL). TTL is the length // of time since the last refresh after which access to the directory would cause // the file gateway to first refresh that directory's contents from the Amazon S3 // bucket or Amazon FSx file system. The TTL duration is in seconds. Valid // Values:0, 300 to 2,592,000 seconds (5 minutes to 30 days) CacheStaleTimeoutInSeconds *int32 noSmithyDocumentSerde } // Describes an iSCSI cached volume. type CachediSCSIVolume struct { // The date the volume was created. Volumes created prior to March 28, 2017 don’t // have this timestamp. CreatedDate *time.Time // The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used // for Amazon S3 server-side encryption. Storage Gateway does not support // asymmetric CMKs. This value can only be set when KMSEncrypted is true . Optional. KMSKey *string // If the cached volume was created from a snapshot, this field contains the // snapshot ID used, e.g., snap-78e22663. Otherwise, this field is not included. SourceSnapshotId *string // The name of the iSCSI target used by an initiator to connect to a volume and // used as a suffix for the target ARN. For example, specifying TargetName as // myvolume results in the target ARN of // arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume // . The target name must be unique across all volumes on a gateway. If you don't // specify a value, Storage Gateway uses the value that was previously used for // this volume as the new target name. TargetName *string // The Amazon Resource Name (ARN) of the storage volume. VolumeARN *string // A value that indicates whether a storage volume is attached to or detached from // a gateway. For more information, see Moving your volumes to a different gateway (https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-volumes.html#attach-detach-volume) // . VolumeAttachmentStatus *string // The unique identifier of the volume, e.g., vol-AE4B946D. VolumeId *string // Represents the percentage complete if the volume is restoring or bootstrapping // that represents the percent of data transferred. This field does not appear in // the response if the cached volume is not restoring or bootstrapping. VolumeProgress *float64 // The size, in bytes, of the volume capacity. VolumeSizeInBytes int64 // One of the VolumeStatus values that indicates the state of the storage volume. VolumeStatus *string // One of the VolumeType enumeration values that describes the type of the volume. VolumeType *string // The size of the data stored on the volume in bytes. This value is calculated // based on the number of blocks that are touched, instead of the actual amount of // data written. This value can be useful for sequential write patterns but less // accurate for random write patterns. VolumeUsedInBytes is different from the // compressed size of the volume, which is the value that is used to calculate your // bill. This value is not available for volumes created prior to May 13, 2015, // until you store data on the volume. If you use a delete tool that overwrites the // data on your volume with random data, your usage will not be reduced. This is // because the random data is not compressible. If you want to reduce the amount of // billed storage on your volume, we recommend overwriting your files with zeros to // compress the data to a negligible amount of actual storage. VolumeUsedInBytes *int64 // An VolumeiSCSIAttributes object that represents a collection of iSCSI // attributes for one stored volume. VolumeiSCSIAttributes *VolumeiSCSIAttributes noSmithyDocumentSerde } // Describes Challenge-Handshake Authentication Protocol (CHAP) information that // supports authentication between your gateway and iSCSI initiators. type ChapInfo struct { // The iSCSI initiator that connects to the target. InitiatorName *string // The secret key that the initiator (for example, the Windows client) must // provide to participate in mutual CHAP with the target. SecretToAuthenticateInitiator *string // The secret key that the target must provide to participate in mutual CHAP with // the initiator (e.g., Windows client). SecretToAuthenticateTarget *string // The Amazon Resource Name (ARN) of the volume. Valid Values: 50 to 500 lowercase // letters, numbers, periods (.), and hyphens (-). TargetARN *string noSmithyDocumentSerde } // Lists iSCSI information about a VTL device. type DeviceiSCSIAttributes struct { // Indicates whether mutual CHAP is enabled for the iSCSI target. ChapEnabled bool // The network interface identifier of the VTL device. NetworkInterfaceId *string // The port used to communicate with iSCSI VTL device targets. NetworkInterfacePort int32 // Specifies the unique Amazon Resource Name (ARN) that encodes the iSCSI // qualified name(iqn) of a tape drive or media changer target. TargetARN *string noSmithyDocumentSerde } // Represents a gateway's local disk. type Disk struct { // The iSCSI qualified name (IQN) that is defined for a disk. This field is not // included in the response if the local disk is not defined as an iSCSI target. // The format of this field is targetIqn::LUNNumber::region-volumeId. DiskAllocationResource *string // One of the DiskAllocationType enumeration values that identifies how a local // disk is used. Valid Values: UPLOAD_BUFFER | CACHE_STORAGE DiskAllocationType *string // A list of values that represents attributes of a local disk. DiskAttributeList []string // The unique device ID or other distinguishing data that identifies a local disk. DiskId *string // The device node of a local disk as assigned by the virtualization environment. DiskNode *string // The path of a local disk in the gateway virtual machine (VM). DiskPath *string // The local disk size in bytes. DiskSizeInBytes int64 // A value that represents the status of a local disk. DiskStatus *string noSmithyDocumentSerde } // Specifies network configuration information for the gateway associated with the // Amazon FSx file system. type EndpointNetworkConfiguration struct { // A list of gateway IP addresses on which the associated Amazon FSx file system // is available. If multiple file systems are associated with this gateway, this // field is required. IpAddresses []string noSmithyDocumentSerde } // Describes a file share. Only supported S3 File Gateway. type FileShareInfo struct { // The Amazon Resource Name (ARN) of the file share. FileShareARN *string // The ID of the file share. FileShareId *string // The status of the file share. Valid Values: CREATING | UPDATING | AVAILABLE | // DELETING FileShareStatus *string // The type of the file share. FileShareType FileShareType // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation // to return a list of gateways for your account and Amazon Web Services Region. GatewayARN *string noSmithyDocumentSerde } // Describes the object returned by DescribeFileSystemAssociations that describes // a created file system association. type FileSystemAssociationInfo struct { // The Amazon Resource Name (ARN) of the storage used for the audit logs. AuditDestinationARN *string // The refresh cache information for the file share or FSx file systems. CacheAttributes *CacheAttributes // Specifies network configuration information for the gateway associated with the // Amazon FSx file system. If multiple file systems are associated with this // gateway, this parameter's IpAddresses field is required. EndpointNetworkConfiguration *EndpointNetworkConfiguration // The Amazon Resource Name (ARN) of the file system association. FileSystemAssociationARN *string // The status of the file system association. Valid Values: AVAILABLE | CREATING | // DELETING | FORCE_DELETING | UPDATING | ERROR FileSystemAssociationStatus *string // An array containing the FileSystemAssociationStatusDetail data type, which // provides detailed information on file system association status. FileSystemAssociationStatusDetails []FileSystemAssociationStatusDetail // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation // to return a list of gateways for your account and Amazon Web Services Region. GatewayARN *string // The ARN of the backend Amazon FSx file system used for storing file data. For // information, see FileSystem (https://docs.aws.amazon.com/fsx/latest/APIReference/API_FileSystem.html) // in the Amazon FSx API Reference. LocationARN *string // A list of up to 50 tags assigned to the SMB file share, sorted alphabetically // by key name. Each tag is a key-value pair. Tags []Tag noSmithyDocumentSerde } // Detailed information on file system association status. type FileSystemAssociationStatusDetail struct { // The error code for a given file system association status. ErrorCode *string noSmithyDocumentSerde } // Gets the summary returned by ListFileSystemAssociation , which is a summary of a // created file system association. type FileSystemAssociationSummary struct { // The Amazon Resource Name (ARN) of the file system association. FileSystemAssociationARN *string // The ID of the file system association. FileSystemAssociationId *string // The status of the file share. Valid Values: AVAILABLE | CREATING | DELETING | // FORCE_DELETING | UPDATING | ERROR FileSystemAssociationStatus *string // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation // to return a list of gateways for your account and Amazon Web Services Region. GatewayARN *string noSmithyDocumentSerde } // Describes a gateway object. type GatewayInfo struct { // The ID of the Amazon EC2 instance that was used to launch the gateway. Ec2InstanceId *string // The Amazon Web Services Region where the Amazon EC2 instance is located. Ec2InstanceRegion *string // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation // to return a list of gateways for your account and Amazon Web Services Region. GatewayARN *string // The unique identifier assigned to your gateway during activation. This ID // becomes part of the gateway Amazon Resource Name (ARN), which you use as input // for other operations. GatewayId *string // The name of the gateway. GatewayName *string // The state of the gateway. Valid Values: DISABLED | ACTIVE GatewayOperationalState *string // The type of the gateway. GatewayType *string // The type of hardware or software platform on which the gateway is running. HostEnvironment HostEnvironment // A unique identifier for the specific instance of the host platform running the // gateway. This value is only available for certain host environments, and its // format depends on the host environment type. HostEnvironmentId *string noSmithyDocumentSerde } // Describes a gateway's network interface. type NetworkInterface struct { // The Internet Protocol version 4 (IPv4) address of the interface. Ipv4Address *string // The Internet Protocol version 6 (IPv6) address of the interface. Currently not // supported. Ipv6Address *string // The Media Access Control (MAC) address of the interface. This is currently // unsupported and will not be returned in output. MacAddress *string noSmithyDocumentSerde } // Describes Network File System (NFS) file share default values. Files and // folders stored as Amazon S3 objects in S3 buckets don't, by default, have Unix // file permissions assigned to them. Upon discovery in an S3 bucket by Storage // Gateway, the S3 objects that represent files and folders are assigned these // default Unix permissions. This operation is only supported for S3 File Gateways. type NFSFileShareDefaults struct { // The Unix directory mode in the form "nnnn". For example, 0666 represents the // default access mode for all directories inside the file share. The default value // is 0777 . DirectoryMode *string // The Unix file mode in the form "nnnn". For example, 0666 represents the default // file mode inside the file share. The default value is 0666 . FileMode *string // The default group ID for the file share (unless the files have another group ID // specified). The default value is nfsnobody . GroupId *int64 // The default owner ID for files in the file share (unless the files have another // owner ID specified). The default value is nfsnobody . OwnerId *int64 noSmithyDocumentSerde } // The Unix file permissions and ownership information assigned, by default, to // native S3 objects when an S3 File Gateway discovers them in S3 buckets. This // operation is only supported in S3 File Gateways. type NFSFileShareInfo struct { // The Amazon Resource Name (ARN) of the storage used for audit logs. AuditDestinationARN *string // Specifies the Region of the S3 bucket where the NFS file share stores files. // This parameter is required for NFS file shares that connect to Amazon S3 through // a VPC endpoint, a VPC access point, or an access point alias that points to a // VPC access point. BucketRegion *string // Refresh cache information for the file share. CacheAttributes *CacheAttributes // The list of clients that are allowed to access the S3 File Gateway. The list // must contain either valid IP addresses or valid CIDR blocks. ClientList []string // The default storage class for objects put into an Amazon S3 bucket by the S3 // File Gateway. The default value is S3_STANDARD . Optional. Valid Values: // S3_STANDARD | S3_INTELLIGENT_TIERING | S3_STANDARD_IA | S3_ONEZONE_IA DefaultStorageClass *string // The Amazon Resource Name (ARN) of the file share. FileShareARN *string // The ID of the file share. FileShareId *string // The name of the file share. Optional. FileShareName must be set if an S3 prefix // name is set in LocationARN , or if an access point or access point alias is used. FileShareName *string // The status of the file share. Valid Values: CREATING | UPDATING | AVAILABLE | // DELETING FileShareStatus *string // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation // to return a list of gateways for your account and Amazon Web Services Region. GatewayARN *string // A value that enables guessing of the MIME type for uploaded objects based on // file extensions. Set this value to true to enable MIME type guessing, otherwise // set to false . The default value is true . Valid Values: true | false GuessMIMETypeEnabled *bool // Set to true to use Amazon S3 server-side encryption with your own KMS key, or // false to use a key managed by Amazon S3. Optional. Valid Values: true | false KMSEncrypted bool // The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used // for Amazon S3 server-side encryption. Storage Gateway does not support // asymmetric CMKs. This value can only be set when KMSEncrypted is true . Optional. KMSKey *string // A custom ARN for the backend storage used for storing data for file shares. It // includes a resource ARN with an optional prefix concatenation. The prefix must // end with a forward slash (/). You can specify LocationARN as a bucket ARN, // access point ARN or access point alias, as shown in the following examples. // Bucket ARN: arn:aws:s3:::my-bucket/prefix/ Access point ARN: // arn:aws:s3:region:account-id:accesspoint/access-point-name/prefix/ If you // specify an access point, the bucket policy must be configured to delegate access // control to the access point. For information, see Delegating access control to // access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-policies.html#access-points-delegating-control) // in the Amazon S3 User Guide. Access point alias: // test-ap-ab123cdef4gehijklmn5opqrstuvuse1a-s3alias LocationARN *string // Describes Network File System (NFS) file share default values. Files and // folders stored as Amazon S3 objects in S3 buckets don't, by default, have Unix // file permissions assigned to them. Upon discovery in an S3 bucket by Storage // Gateway, the S3 objects that represent files and folders are assigned these // default Unix permissions. This operation is only supported for S3 File Gateways. NFSFileShareDefaults *NFSFileShareDefaults // The notification policy of the file share. SettlingTimeInSeconds controls the // number of seconds to wait after the last point in time a client wrote to a file // before generating an ObjectUploaded notification. Because clients can make many // small writes to files, it's best to set this parameter for as long as possible // to avoid generating multiple notifications for the same file in a small time // period. SettlingTimeInSeconds has no effect on the timing of the object // uploading to Amazon S3, only the timing of the notification. The following // example sets NotificationPolicy on with SettlingTimeInSeconds set to 60. // {"Upload": {"SettlingTimeInSeconds": 60}} The following example sets // NotificationPolicy off. {} NotificationPolicy *string // A value that sets the access control list (ACL) permission for objects in the // S3 bucket that an S3 File Gateway puts objects into. The default value is // private . ObjectACL ObjectACL // The file share path used by the NFS client to identify the mount point. Path *string // A value that sets the write status of a file share. Set this value to true to // set the write status to read-only, otherwise set to false . Valid Values: true // | false ReadOnly *bool // A value that sets who pays the cost of the request and the cost associated with // data download from the S3 bucket. If this value is set to true , the requester // pays the costs; otherwise, the S3 bucket owner pays. However, the S3 bucket // owner always pays the cost of storing data. RequesterPays is a configuration // for the S3 bucket that backs the file share, so make sure that the configuration // on the file share is the same as the S3 bucket configuration. Valid Values: true // | false RequesterPays *bool // The ARN of the IAM role that an S3 File Gateway assumes when it accesses the // underlying storage. Role *string // The user mapped to anonymous user. Valid options are the following: // - RootSquash : Only root is mapped to anonymous user. // - NoSquash : No one is mapped to anonymous user. // - AllSquash : Everyone is mapped to anonymous user. Squash *string // A list of up to 50 tags assigned to the NFS file share, sorted alphabetically // by key name. Each tag is a key-value pair. For a gateway with more than 10 tags // assigned, you can view all tags using the ListTagsForResource API operation. Tags []Tag // Specifies the DNS name for the VPC endpoint that the NFS file share uses to // connect to Amazon S3. This parameter is required for NFS file shares that // connect to Amazon S3 through a VPC endpoint, a VPC access point, or an access // point alias that points to a VPC access point. VPCEndpointDNSName *string noSmithyDocumentSerde } // Describes a custom tape pool. type PoolInfo struct { // The Amazon Resource Name (ARN) of the custom tape pool. Use the ListTapePools // operation to return a list of custom tape pools for your account and Amazon Web // Services Region. PoolARN *string // The name of the custom tape pool. PoolName can use all ASCII characters, except // '/' and '\'. PoolName *string // Status of the custom tape pool. Pool can be ACTIVE or DELETED . PoolStatus PoolStatus // Tape retention lock time is set in days. Tape retention lock can be enabled for // up to 100 years (36,500 days). RetentionLockTimeInDays *int32 // Tape retention lock type, which can be configured in two modes. When configured // in governance mode, Amazon Web Services accounts with specific IAM permissions // are authorized to remove the tape retention lock from archived virtual tapes. // When configured in compliance mode, the tape retention lock cannot be removed by // any user, including the root Amazon Web Services account. RetentionLockType RetentionLockType // The storage class that is associated with the custom pool. When you use your // backup application to eject the tape, the tape is archived directly into the // storage class (S3 Glacier or S3 Glacier Deep Archive) that corresponds to the // pool. StorageClass TapeStorageClass noSmithyDocumentSerde } // The Windows file permissions and ownership information assigned, by default, to // native S3 objects when S3 File Gateway discovers them in S3 buckets. This // operation is only supported for S3 File Gateways. type SMBFileShareInfo struct { // Indicates whether AccessBasedEnumeration is enabled. AccessBasedEnumeration *bool // A list of users or groups in the Active Directory that have administrator // rights to the file share. A group must be prefixed with the @ character. // Acceptable formats include: DOMAIN\User1 , user1 , @group1 , and @DOMAIN\group1 // . Can only be set if Authentication is set to ActiveDirectory . AdminUserList []string // The Amazon Resource Name (ARN) of the storage used for audit logs. AuditDestinationARN *string // The authentication method of the file share. The default is ActiveDirectory . // Valid Values: ActiveDirectory | GuestAccess Authentication *string // Specifies the Region of the S3 bucket where the SMB file share stores files. // This parameter is required for SMB file shares that connect to Amazon S3 through // a VPC endpoint, a VPC access point, or an access point alias that points to a // VPC access point. BucketRegion *string // Refresh cache information for the file share. CacheAttributes *CacheAttributes // The case of an object name in an Amazon S3 bucket. For ClientSpecified , the // client determines the case sensitivity. For CaseSensitive , the gateway // determines the case sensitivity. The default value is ClientSpecified . CaseSensitivity CaseSensitivity // The default storage class for objects put into an Amazon S3 bucket by the S3 // File Gateway. The default value is S3_STANDARD . Optional. Valid Values: // S3_STANDARD | S3_INTELLIGENT_TIERING | S3_STANDARD_IA | S3_ONEZONE_IA DefaultStorageClass *string // The Amazon Resource Name (ARN) of the file share. FileShareARN *string // The ID of the file share. FileShareId *string // The name of the file share. Optional. FileShareName must be set if an S3 prefix // name is set in LocationARN , or if an access point or access point alias is used. FileShareName *string // The status of the file share. Valid Values: CREATING | UPDATING | AVAILABLE | // DELETING FileShareStatus *string // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation // to return a list of gateways for your account and Amazon Web Services Region. GatewayARN *string // A value that enables guessing of the MIME type for uploaded objects based on // file extensions. Set this value to true to enable MIME type guessing, otherwise // set to false . The default value is true . Valid Values: true | false GuessMIMETypeEnabled *bool // A list of users or groups in the Active Directory that are not allowed to // access the file share. A group must be prefixed with the @ character. Acceptable // formats include: DOMAIN\User1 , user1 , @group1 , and @DOMAIN\group1 . Can only // be set if Authentication is set to ActiveDirectory . InvalidUserList []string // Set to true to use Amazon S3 server-side encryption with your own KMS key, or // false to use a key managed by Amazon S3. Optional. Valid Values: true | false KMSEncrypted bool // The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used // for Amazon S3 server-side encryption. Storage Gateway does not support // asymmetric CMKs. This value can only be set when KMSEncrypted is true . Optional. KMSKey *string // A custom ARN for the backend storage used for storing data for file shares. It // includes a resource ARN with an optional prefix concatenation. The prefix must // end with a forward slash (/). You can specify LocationARN as a bucket ARN, // access point ARN or access point alias, as shown in the following examples. // Bucket ARN: arn:aws:s3:::my-bucket/prefix/ Access point ARN: // arn:aws:s3:region:account-id:accesspoint/access-point-name/prefix/ If you // specify an access point, the bucket policy must be configured to delegate access // control to the access point. For information, see Delegating access control to // access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-policies.html#access-points-delegating-control) // in the Amazon S3 User Guide. Access point alias: // test-ap-ab123cdef4gehijklmn5opqrstuvuse1a-s3alias LocationARN *string // The notification policy of the file share. SettlingTimeInSeconds controls the // number of seconds to wait after the last point in time a client wrote to a file // before generating an ObjectUploaded notification. Because clients can make many // small writes to files, it's best to set this parameter for as long as possible // to avoid generating multiple notifications for the same file in a small time // period. SettlingTimeInSeconds has no effect on the timing of the object // uploading to Amazon S3, only the timing of the notification. The following // example sets NotificationPolicy on with SettlingTimeInSeconds set to 60. // {"Upload": {"SettlingTimeInSeconds": 60}} The following example sets // NotificationPolicy off. {} NotificationPolicy *string // A value that sets the access control list (ACL) permission for objects in the // S3 bucket that an S3 File Gateway puts objects into. The default value is // private . ObjectACL ObjectACL // Specifies whether opportunistic locking is enabled for the SMB file share. // Enabling opportunistic locking on case-sensitive shares is not recommended for // workloads that involve access to files with the same name in different case. // Valid Values: true | false OplocksEnabled *bool // The file share path used by the SMB client to identify the mount point. Path *string // A value that sets the write status of a file share. Set this value to true to // set the write status to read-only, otherwise set to false . Valid Values: true // | false ReadOnly *bool // A value that sets who pays the cost of the request and the cost associated with // data download from the S3 bucket. If this value is set to true , the requester // pays the costs; otherwise, the S3 bucket owner pays. However, the S3 bucket // owner always pays the cost of storing data. RequesterPays is a configuration // for the S3 bucket that backs the file share, so make sure that the configuration // on the file share is the same as the S3 bucket configuration. Valid Values: true // | false RequesterPays *bool // The ARN of the IAM role that an S3 File Gateway assumes when it accesses the // underlying storage. Role *string // If this value is set to true , it indicates that access control list (ACL) is // enabled on the SMB file share. If it is set to false , it indicates that file // and directory permissions are mapped to the POSIX permission. For more // information, see Using Microsoft Windows ACLs to control access to an SMB file // share (https://docs.aws.amazon.com/storagegateway/latest/userguide/smb-acl.html) // in the Storage Gateway User Guide. SMBACLEnabled *bool // A list of up to 50 tags assigned to the SMB file share, sorted alphabetically // by key name. Each tag is a key-value pair. For a gateway with more than 10 tags // assigned, you can view all tags using the ListTagsForResource API operation. Tags []Tag // Specifies the DNS name for the VPC endpoint that the SMB file share uses to // connect to Amazon S3. This parameter is required for SMB file shares that // connect to Amazon S3 through a VPC endpoint, a VPC access point, or an access // point alias that points to a VPC access point. VPCEndpointDNSName *string // A list of users or groups in the Active Directory that are allowed to access // the file share. A group must be prefixed with the @ character. Acceptable // formats include: DOMAIN\User1 , user1 , @group1 , and @DOMAIN\group1 . Can only // be set if Authentication is set to ActiveDirectory . ValidUserList []string noSmithyDocumentSerde } // A list of Active Directory users and groups that have special permissions for // SMB file shares on the gateway. type SMBLocalGroups struct { // A list of Active Directory users and groups that have local Gateway Admin // permissions. Acceptable formats include: DOMAIN\User1 , user1 , DOMAIN\group1 , // and group1 . Gateway Admins can use the Shared Folders Microsoft Management // Console snap-in to force-close files that are open and locked. GatewayAdmins []string noSmithyDocumentSerde } // Provides additional information about an error that was returned by the // service. See the errorCode and errorDetails members for more information about // the error. type StorageGatewayError struct { // Additional information about the error. ErrorCode ErrorCode // Human-readable text that provides detail about the error that occurred. ErrorDetails map[string]string noSmithyDocumentSerde } // Describes an iSCSI stored volume. type StorediSCSIVolume struct { // The date the volume was created. Volumes created prior to March 28, 2017 don’t // have this timestamp. CreatedDate *time.Time // The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used // for Amazon S3 server-side encryption. Storage Gateway does not support // asymmetric CMKs. This value can only be set when KMSEncrypted is true . Optional. KMSKey *string // Indicates if when the stored volume was created, existing data on the // underlying local disk was preserved. Valid Values: true | false PreservedExistingData bool // If the stored volume was created from a snapshot, this field contains the // snapshot ID used, e.g. snap-78e22663. Otherwise, this field is not included. SourceSnapshotId *string // The name of the iSCSI target used by an initiator to connect to a volume and // used as a suffix for the target ARN. For example, specifying TargetName as // myvolume results in the target ARN of // arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume // . The target name must be unique across all volumes on a gateway. If you don't // specify a value, Storage Gateway uses the value that was previously used for // this volume as the new target name. TargetName *string // The Amazon Resource Name (ARN) of the storage volume. VolumeARN *string // A value that indicates whether a storage volume is attached to, detached from, // or is in the process of detaching from a gateway. For more information, see // Moving your volumes to a different gateway (https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-volumes.html#attach-detach-volume) // . VolumeAttachmentStatus *string // The ID of the local disk that was specified in the CreateStorediSCSIVolume // operation. VolumeDiskId *string // The unique identifier of the volume, e.g., vol-AE4B946D. VolumeId *string // Represents the percentage complete if the volume is restoring or bootstrapping // that represents the percent of data transferred. This field does not appear in // the response if the stored volume is not restoring or bootstrapping. VolumeProgress *float64 // The size of the volume in bytes. VolumeSizeInBytes int64 // One of the VolumeStatus values that indicates the state of the storage volume. VolumeStatus *string // One of the VolumeType enumeration values describing the type of the volume. VolumeType *string // The size of the data stored on the volume in bytes. This value is calculated // based on the number of blocks that are touched, instead of the actual amount of // data written. This value can be useful for sequential write patterns but less // accurate for random write patterns. VolumeUsedInBytes is different from the // compressed size of the volume, which is the value that is used to calculate your // bill. This value is not available for volumes created prior to May 13, 2015, // until you store data on the volume. VolumeUsedInBytes *int64 // An VolumeiSCSIAttributes object that represents a collection of iSCSI // attributes for one stored volume. VolumeiSCSIAttributes *VolumeiSCSIAttributes noSmithyDocumentSerde } // A key-value pair that helps you manage, filter, and search for your resource. // Allowed characters: letters, white space, and numbers, representable in UTF-8, // and the following characters: + - = . _ : /. type Tag struct { // Tag key. The key can't start with aws:. // // This member is required. Key *string // Value of the tag key. // // This member is required. Value *string noSmithyDocumentSerde } // Describes a virtual tape object. type Tape struct { // The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used // for Amazon S3 server-side encryption. Storage Gateway does not support // asymmetric CMKs. This value can only be set when KMSEncrypted is true . Optional. KMSKey *string // The date that the tape enters a custom tape pool. PoolEntryDate *time.Time // The ID of the pool that contains tapes that will be archived. The tapes in this // pool are archived in the S3 storage class that is associated with the pool. When // you use your backup application to eject the tape, the tape is archived directly // into the storage class (S3 Glacier or S3 Glacier Deep Archive) that corresponds // to the pool. PoolId *string // For archiving virtual tapes, indicates how much data remains to be uploaded // before archiving is complete. Range: 0 (not started) to 100 (complete). Progress *float64 // The date that the tape is first archived with tape retention lock enabled. RetentionStartDate *time.Time // The Amazon Resource Name (ARN) of the virtual tape. TapeARN *string // The barcode that identifies a specific virtual tape. TapeBarcode *string // The date the virtual tape was created. TapeCreatedDate *time.Time // The size, in bytes, of the virtual tape capacity. TapeSizeInBytes *int64 // The current state of the virtual tape. TapeStatus *string // The size, in bytes, of data stored on the virtual tape. This value is not // available for tapes created prior to May 13, 2015. TapeUsedInBytes *int64 // The virtual tape library (VTL) device that the virtual tape is associated with. VTLDevice *string // If the tape is archived as write-once-read-many (WORM), this value is true . Worm bool noSmithyDocumentSerde } // Represents a virtual tape that is archived in the virtual tape shelf (VTS). type TapeArchive struct { // The time that the archiving of the virtual tape was completed. The default // timestamp format is in the ISO8601 extended YYYY-MM-DD'T'HH:MM:SS'Z' format. CompletionTime *time.Time // The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used // for Amazon S3 server-side encryption. Storage Gateway does not support // asymmetric CMKs. This value can only be set when KMSEncrypted is true . Optional. KMSKey *string // The time that the tape entered the custom tape pool. The default timestamp // format is in the ISO8601 extended YYYY-MM-DD'T'HH:MM:SS'Z' format. PoolEntryDate *time.Time // The ID of the pool that was used to archive the tape. The tapes in this pool // are archived in the S3 storage class that is associated with the pool. PoolId *string // If the archived tape is subject to tape retention lock, the date that the // archived tape started being retained. RetentionStartDate *time.Time // The Amazon Resource Name (ARN) of the tape gateway that the virtual tape is // being retrieved to. The virtual tape is retrieved from the virtual tape shelf // (VTS). RetrievedTo *string // The Amazon Resource Name (ARN) of an archived virtual tape. TapeARN *string // The barcode that identifies the archived virtual tape. TapeBarcode *string // The date the virtual tape was created. TapeCreatedDate *time.Time // The size, in bytes, of the archived virtual tape. TapeSizeInBytes *int64 // The current state of the archived virtual tape. TapeStatus *string // The size, in bytes, of data stored on the virtual tape. This value is not // available for tapes created prior to May 13, 2015. TapeUsedInBytes *int64 // Set to true if the archived tape is stored as write-once-read-many (WORM). Worm bool noSmithyDocumentSerde } // Describes a virtual tape. type TapeInfo struct { // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation // to return a list of gateways for your account and Amazon Web Services Region. GatewayARN *string // The date that the tape entered the custom tape pool with tape retention lock // enabled. PoolEntryDate *time.Time // The ID of the pool that you want to add your tape to for archiving. The tape in // this pool is archived in the S3 storage class that is associated with the pool. // When you use your backup application to eject the tape, the tape is archived // directly into the storage class (S3 Glacier or S3 Glacier Deep Archive) that // corresponds to the pool. PoolId *string // The date that the tape became subject to tape retention lock. RetentionStartDate *time.Time // The Amazon Resource Name (ARN) of a virtual tape. TapeARN *string // The barcode that identifies a specific virtual tape. TapeBarcode *string // The size, in bytes, of a virtual tape. TapeSizeInBytes *int64 // The status of the tape. TapeStatus *string noSmithyDocumentSerde } // Describes a recovery point. type TapeRecoveryPointInfo struct { // The Amazon Resource Name (ARN) of the virtual tape. TapeARN *string // The time when the point-in-time view of the virtual tape was replicated for // later recovery. The default timestamp format of the tape recovery point time is // in the ISO8601 extended YYYY-MM-DD'T'HH:MM:SS'Z' format. TapeRecoveryPointTime *time.Time // The size, in bytes, of the virtual tapes to recover. TapeSizeInBytes *int64 // The status of the virtual tapes. TapeStatus *string noSmithyDocumentSerde } // Describes a storage volume object. type VolumeInfo struct { // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation // to return a list of gateways for your account and Amazon Web Services Region. GatewayARN *string // The unique identifier assigned to your gateway during activation. This ID // becomes part of the gateway Amazon Resource Name (ARN), which you use as input // for other operations. Valid Values: 50 to 500 lowercase letters, numbers, // periods (.), and hyphens (-). GatewayId *string // The Amazon Resource Name (ARN) for the storage volume. For example, the // following is a valid ARN: // arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB // Valid Values: 50 to 500 lowercase letters, numbers, periods (.), and hyphens // (-). VolumeARN *string // One of the VolumeStatus values that indicates the state of the storage volume. VolumeAttachmentStatus *string // The unique identifier assigned to the volume. This ID becomes part of the // volume Amazon Resource Name (ARN), which you use as input for other operations. // Valid Values: 50 to 500 lowercase letters, numbers, periods (.), and hyphens // (-). VolumeId *string // The size of the volume in bytes. Valid Values: 50 to 500 lowercase letters, // numbers, periods (.), and hyphens (-). VolumeSizeInBytes int64 // One of the VolumeType enumeration values describing the type of the volume. VolumeType *string noSmithyDocumentSerde } // Lists iSCSI information about a volume. type VolumeiSCSIAttributes struct { // Indicates whether mutual CHAP is enabled for the iSCSI target. ChapEnabled bool // The logical disk number. LunNumber *int32 // The network interface identifier. NetworkInterfaceId *string // The port used to communicate with iSCSI targets. NetworkInterfacePort int32 // The Amazon Resource Name (ARN) of the volume target. TargetARN *string noSmithyDocumentSerde } // Describes a storage volume recovery point object. type VolumeRecoveryPointInfo struct { // The Amazon Resource Name (ARN) of the volume target. VolumeARN *string // The time the recovery point was taken. VolumeRecoveryPointTime *string // The size of the volume in bytes. VolumeSizeInBytes int64 // The size of the data stored on the volume in bytes. This value is not available // for volumes created prior to May 13, 2015, until you store data on the volume. VolumeUsageInBytes int64 noSmithyDocumentSerde } // Represents a device object associated with a tape gateway. type VTLDevice struct { // A list of iSCSI information about a VTL device. DeviceiSCSIAttributes *DeviceiSCSIAttributes // Specifies the unique Amazon Resource Name (ARN) of the device (tape drive or // media changer). VTLDeviceARN *string // Specifies the model number of device that the VTL device emulates. VTLDeviceProductIdentifier *string // Specifies the type of device that the VTL device emulates. VTLDeviceType *string // Specifies the vendor of the device that the VTL device object emulates. VTLDeviceVendor *string noSmithyDocumentSerde } type noSmithyDocumentSerde = smithydocument.NoSerde