import * as cdk from "../../core/lib"; import * as constructs from "constructs"; import * as cfn_parse from "../../core/lib/helpers-internal"; import { INFSFileShareRef, ISMBFileShareRef, ITapePoolRef, ITapeRef, IVolumeRef, NFSFileShareReference, SMBFileShareReference, TapePoolReference, TapeReference, VolumeReference } from "../../interfaces/generated/aws-storagegateway-interfaces.generated"; /** * Resource Type definition for AWS::StorageGateway::NFSFileShare. * * An NFS file share exposes an Amazon S3 bucket through a Storage Gateway file gateway, so clients read and write objects as files over NFS. The share's variant is fixed by its resource type rather than by a property: the service constructs the two variants with different APIs, and a property carrying the choice would belong to neither API's input. * * @cloudformationResource AWS::StorageGateway::NFSFileShare * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-nfsfileshare.html */ export declare class CfnNFSFileShare extends cdk.CfnResource implements cdk.IInspectable, INFSFileShareRef, cdk.ITaggableV2 { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnNFSFileShare from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnNFSFileShare; /** * Checks whether the given object is a CfnNFSFileShare */ static isCfnNFSFileShare(x: any): x is CfnNFSFileShare; /** * The ARN of the CloudWatch log group that receives the share's audit logs. */ private _auditDestinationArn?; /** * The Region of the S3 bucket, required when the bucket is reached through a VPC endpoint. */ private _bucketRegion?; /** * Refresh cache information for the file share. */ private _cacheAttributes?; /** * Tag Manager which manages the tags for this resource */ readonly cdkTagManager: cdk.TagManager; /** * The IPv4 or IPv6 addresses and CIDR blocks permitted to mount the NFS share. */ private _clientList?; /** * The S3 storage class for new objects. */ private _defaultStorageClass?; /** * The server-side encryption the gateway applies to objects it writes. */ private _encryptionType?; /** * The name of the file share, which defaults to the bucket name when omitted. */ private _fileShareName?; /** * The ARN of the S3 File Gateway that hosts the share. */ private _gatewayArn; /** * Whether the gateway infers the MIME type of uploaded objects from their extension. */ private _guessMimeTypeEnabled?; /** * Deprecated by the service in favour of EncryptionType; */ private _kmsEncrypted?; /** * The KMS key used for encryption, when EncryptionType selects KMS. */ private _kmsKey?; /** * The ARN of the S3 bucket, or bucket prefix, the share exposes. */ private _locationArn; /** * Default values for the file and directory permissions of an NFS share. */ private _nfsFileShareDefaults?; /** * The upload-notification settling period, as a JSON document. */ private _notificationPolicy?; /** * The canned S3 ACL applied to objects the gateway writes. */ private _objectAcl?; /** * Whether clients may write to the share. */ private _readOnly?; /** * Whether the bucket is a Requester Pays bucket. */ private _requesterPays?; /** * The ARN of the IAM role the gateway assumes when it accesses the S3 location. */ private _role; /** * How the NFS share maps client user IDs. */ private _squash?; /** * Tags assigned to the file share. */ private _tags?; /** * The DNS name of the S3 VPC endpoint the gateway uses to reach the bucket. */ private _vpcEndpointDnsName?; protected readonly cfnPropertyNames: Record; /** * Create a new `AWS::StorageGateway::NFSFileShare`. * * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnNFSFileShareProps); get nfsFileShareRef(): NFSFileShareReference; /** * The ARN of the CloudWatch log group that receives the share's audit logs. */ get auditDestinationArn(): string | undefined; /** * The ARN of the CloudWatch log group that receives the share's audit logs. */ set auditDestinationArn(value: string | undefined); /** * The Region of the S3 bucket, required when the bucket is reached through a VPC endpoint. */ get bucketRegion(): string | undefined; /** * The Region of the S3 bucket, required when the bucket is reached through a VPC endpoint. */ set bucketRegion(value: string | undefined); /** * Refresh cache information for the file share. */ get cacheAttributes(): CfnNFSFileShare.CacheAttributesProperty | cdk.IResolvable | undefined; /** * Refresh cache information for the file share. */ set cacheAttributes(value: CfnNFSFileShare.CacheAttributesProperty | cdk.IResolvable | undefined); /** * The IPv4 or IPv6 addresses and CIDR blocks permitted to mount the NFS share. */ get clientList(): Array | undefined; /** * The IPv4 or IPv6 addresses and CIDR blocks permitted to mount the NFS share. */ set clientList(value: Array | undefined); /** * The S3 storage class for new objects. */ get defaultStorageClass(): string | undefined; /** * The S3 storage class for new objects. */ set defaultStorageClass(value: string | undefined); /** * The server-side encryption the gateway applies to objects it writes. */ get encryptionType(): string | undefined; /** * The server-side encryption the gateway applies to objects it writes. */ set encryptionType(value: string | undefined); /** * The name of the file share, which defaults to the bucket name when omitted. */ get fileShareName(): string | undefined; /** * The name of the file share, which defaults to the bucket name when omitted. */ set fileShareName(value: string | undefined); /** * The ARN of the S3 File Gateway that hosts the share. */ get gatewayArn(): string; /** * The ARN of the S3 File Gateway that hosts the share. */ set gatewayArn(value: string); /** * Whether the gateway infers the MIME type of uploaded objects from their extension. */ get guessMimeTypeEnabled(): boolean | cdk.IResolvable | undefined; /** * Whether the gateway infers the MIME type of uploaded objects from their extension. */ set guessMimeTypeEnabled(value: boolean | cdk.IResolvable | undefined); /** * Deprecated by the service in favour of EncryptionType; */ get kmsEncrypted(): boolean | cdk.IResolvable | undefined; /** * Deprecated by the service in favour of EncryptionType; */ set kmsEncrypted(value: boolean | cdk.IResolvable | undefined); /** * The KMS key used for encryption, when EncryptionType selects KMS. */ get kmsKey(): string | undefined; /** * The KMS key used for encryption, when EncryptionType selects KMS. */ set kmsKey(value: string | undefined); /** * The ARN of the S3 bucket, or bucket prefix, the share exposes. */ get locationArn(): string; /** * The ARN of the S3 bucket, or bucket prefix, the share exposes. */ set locationArn(value: string); /** * Default values for the file and directory permissions of an NFS share. */ get nfsFileShareDefaults(): cdk.IResolvable | CfnNFSFileShare.NFSFileShareDefaultsProperty | undefined; /** * Default values for the file and directory permissions of an NFS share. */ set nfsFileShareDefaults(value: cdk.IResolvable | CfnNFSFileShare.NFSFileShareDefaultsProperty | undefined); /** * The upload-notification settling period, as a JSON document. */ get notificationPolicy(): string | undefined; /** * The upload-notification settling period, as a JSON document. */ set notificationPolicy(value: string | undefined); /** * The canned S3 ACL applied to objects the gateway writes. */ get objectAcl(): string | undefined; /** * The canned S3 ACL applied to objects the gateway writes. */ set objectAcl(value: string | undefined); /** * Whether clients may write to the share. */ get readOnly(): boolean | cdk.IResolvable | undefined; /** * Whether clients may write to the share. */ set readOnly(value: boolean | cdk.IResolvable | undefined); /** * Whether the bucket is a Requester Pays bucket. */ get requesterPays(): boolean | cdk.IResolvable | undefined; /** * Whether the bucket is a Requester Pays bucket. */ set requesterPays(value: boolean | cdk.IResolvable | undefined); /** * The ARN of the IAM role the gateway assumes when it accesses the S3 location. */ get role(): string; /** * The ARN of the IAM role the gateway assumes when it accesses the S3 location. */ set role(value: string); /** * How the NFS share maps client user IDs. */ get squash(): string | undefined; /** * How the NFS share maps client user IDs. */ set squash(value: string | undefined); /** * Tags assigned to the file share. */ get tags(): Array | undefined; /** * Tags assigned to the file share. */ set tags(value: Array | undefined); /** * The DNS name of the S3 VPC endpoint the gateway uses to reach the bucket. */ get vpcEndpointDnsName(): string | undefined; /** * The DNS name of the S3 VPC endpoint the gateway uses to reach the bucket. */ set vpcEndpointDnsName(value: string | undefined); /** * The ARN of the file share. * * @cloudformationAttribute FileShareARN */ get attrFileShareArn(): string; /** * The ID of the file share. * * @cloudformationAttribute FileShareId */ get attrFileShareId(): string; /** * The status of the file share. The service reports CREATING, UPDATING, AVAILABLE, DELETING and FORCE_DELETING; it is a length-bounded string in the API model rather than an enumeration. * * @cloudformationAttribute FileShareStatus */ get attrFileShareStatus(): string; /** * The export path the share is mounted or mapped at. * * @cloudformationAttribute Path */ get attrPath(): string; protected get cfnProperties(): Record; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record): Record; } export declare namespace CfnNFSFileShare { /** * Refresh cache information for the file share. * * Removing this property from a template leaves the share's current value: the service documents no value that resets it. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-storagegateway-nfsfileshare-cacheattributes.html */ interface CacheAttributesProperty { /** * How long the directory contents cached by the gateway are considered valid. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-storagegateway-nfsfileshare-cacheattributes.html#cfn-storagegateway-nfsfileshare-cacheattributes-cachestaletimeoutinseconds */ readonly cacheStaleTimeoutInSeconds?: number; } /** * Default values for the file and directory permissions of an NFS share. * * Removing this property from a template leaves the live values unchanged rather than clearing them, because the service has no reset for it: a create that omits the object leaves it absent, but the update path merges member by member keyed on the same internal sentinel that reports absence, so no request can restore that state. Set the members you want rather than relying on removal. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-storagegateway-nfsfileshare-nfsfilesharedefaults.html */ interface NFSFileShareDefaultsProperty { /** * The Unix directory mode in the form nnnn. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-storagegateway-nfsfileshare-nfsfilesharedefaults.html#cfn-storagegateway-nfsfileshare-nfsfilesharedefaults-directorymode */ readonly directoryMode?: string; /** * The Unix file mode in the form nnnn. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-storagegateway-nfsfileshare-nfsfilesharedefaults.html#cfn-storagegateway-nfsfileshare-nfsfilesharedefaults-filemode */ readonly fileMode?: string; /** * The default group ID for files in the file share. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-storagegateway-nfsfileshare-nfsfilesharedefaults.html#cfn-storagegateway-nfsfileshare-nfsfilesharedefaults-groupid */ readonly groupId?: number; /** * The default owner ID for files in the file share. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-storagegateway-nfsfileshare-nfsfilesharedefaults.html#cfn-storagegateway-nfsfileshare-nfsfilesharedefaults-ownerid */ readonly ownerId?: number; } } /** * Properties for defining a `CfnNFSFileShare` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-nfsfileshare.html */ export interface CfnNFSFileShareProps { /** * The ARN of the CloudWatch log group that receives the share's audit logs. * * Removing this property from a template detaches audit logging: the update sends the empty string, which the service treats as the reset. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-nfsfileshare.html#cfn-storagegateway-nfsfileshare-auditdestinationarn */ readonly auditDestinationArn?: string; /** * The Region of the S3 bucket, required when the bucket is reached through a VPC endpoint. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-nfsfileshare.html#cfn-storagegateway-nfsfileshare-bucketregion */ readonly bucketRegion?: string; /** * Refresh cache information for the file share. * * Removing this property from a template leaves the share's current value: the service documents no value that resets it. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-nfsfileshare.html#cfn-storagegateway-nfsfileshare-cacheattributes */ readonly cacheAttributes?: CfnNFSFileShare.CacheAttributesProperty | cdk.IResolvable; /** * The IPv4 or IPv6 addresses and CIDR blocks permitted to mount the NFS share. * * Removing this property from a template leaves the share's current value: the service documents no value that resets it. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-nfsfileshare.html#cfn-storagegateway-nfsfileshare-clientlist */ readonly clientList?: Array; /** * The S3 storage class for new objects. * * The service accepts S3_STANDARD, S3_INTELLIGENT_TIERING, S3_STANDARD_IA and S3_ONEZONE_IA; it is a length-bounded string in the API model rather than an enumeration. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-nfsfileshare.html#cfn-storagegateway-nfsfileshare-defaultstorageclass */ readonly defaultStorageClass?: string; /** * The server-side encryption the gateway applies to objects it writes. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-nfsfileshare.html#cfn-storagegateway-nfsfileshare-encryptiontype */ readonly encryptionType?: string; /** * The name of the file share, which defaults to the bucket name when omitted. * * Removing this property from a template leaves the share's current value: the service documents no value that resets it. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-nfsfileshare.html#cfn-storagegateway-nfsfileshare-filesharename */ readonly fileShareName?: string; /** * The ARN of the S3 File Gateway that hosts the share. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-nfsfileshare.html#cfn-storagegateway-nfsfileshare-gatewayarn */ readonly gatewayArn: string; /** * Whether the gateway infers the MIME type of uploaded objects from their extension. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-nfsfileshare.html#cfn-storagegateway-nfsfileshare-guessmimetypeenabled */ readonly guessMimeTypeEnabled?: boolean | cdk.IResolvable; /** * Deprecated by the service in favour of EncryptionType; * * true selects KMS encryption. Retained because it remains readable and settable. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-nfsfileshare.html#cfn-storagegateway-nfsfileshare-kmsencrypted */ readonly kmsEncrypted?: boolean | cdk.IResolvable; /** * The KMS key used for encryption, when EncryptionType selects KMS. * * Removing this property from a template leaves the share's current value: the service documents no value that resets it. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-nfsfileshare.html#cfn-storagegateway-nfsfileshare-kmskey */ readonly kmsKey?: string; /** * The ARN of the S3 bucket, or bucket prefix, the share exposes. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-nfsfileshare.html#cfn-storagegateway-nfsfileshare-locationarn */ readonly locationArn: string; /** * Default values for the file and directory permissions of an NFS share. * * Removing this property from a template leaves the live values unchanged rather than clearing them, because the service has no reset for it: a create that omits the object leaves it absent, but the update path merges member by member keyed on the same internal sentinel that reports absence, so no request can restore that state. Set the members you want rather than relying on removal. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-nfsfileshare.html#cfn-storagegateway-nfsfileshare-nfsfilesharedefaults */ readonly nfsFileShareDefaults?: cdk.IResolvable | CfnNFSFileShare.NFSFileShareDefaultsProperty; /** * The upload-notification settling period, as a JSON document. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-nfsfileshare.html#cfn-storagegateway-nfsfileshare-notificationpolicy */ readonly notificationPolicy?: string; /** * The canned S3 ACL applied to objects the gateway writes. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-nfsfileshare.html#cfn-storagegateway-nfsfileshare-objectacl */ readonly objectAcl?: string; /** * Whether clients may write to the share. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-nfsfileshare.html#cfn-storagegateway-nfsfileshare-readonly */ readonly readOnly?: boolean | cdk.IResolvable; /** * Whether the bucket is a Requester Pays bucket. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-nfsfileshare.html#cfn-storagegateway-nfsfileshare-requesterpays */ readonly requesterPays?: boolean | cdk.IResolvable; /** * The ARN of the IAM role the gateway assumes when it accesses the S3 location. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-nfsfileshare.html#cfn-storagegateway-nfsfileshare-role */ readonly role: string; /** * How the NFS share maps client user IDs. * * The service accepts RootSquash, NoSquash and AllSquash; it is a length-bounded string in the API model rather than an enumeration. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-nfsfileshare.html#cfn-storagegateway-nfsfileshare-squash */ readonly squash?: string; /** * Tags assigned to the file share. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-nfsfileshare.html#cfn-storagegateway-nfsfileshare-tags */ readonly tags?: Array; /** * The DNS name of the S3 VPC endpoint the gateway uses to reach the bucket. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-nfsfileshare.html#cfn-storagegateway-nfsfileshare-vpcendpointdnsname */ readonly vpcEndpointDnsName?: string; } /** * Resource Type definition for AWS::StorageGateway::SMBFileShare. * * An SMB file share exposes an Amazon S3 bucket through a Storage Gateway file gateway, so clients read and write objects as files over SMB. The share's variant is fixed by its resource type rather than by a property: the service constructs the two variants with different APIs, and a property carrying the choice would belong to neither API's input. * * @cloudformationResource AWS::StorageGateway::SMBFileShare * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-smbfileshare.html */ export declare class CfnSMBFileShare extends cdk.CfnResource implements cdk.IInspectable, ISMBFileShareRef, cdk.ITaggableV2 { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnSMBFileShare from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnSMBFileShare; /** * Checks whether the given object is a CfnSMBFileShare */ static isCfnSMBFileShare(x: any): x is CfnSMBFileShare; /** * Whether clients see only the files and folders they may access. */ private _accessBasedEnumeration?; /** * Users and groups granted administrative privileges on the SMB share. */ private _adminUserList?; /** * The ARN of the CloudWatch log group that receives the share's audit logs. */ private _auditDestinationArn?; /** * The authentication the SMB share uses. */ private _authentication?; /** * The Region of the S3 bucket, required when the bucket is reached through a VPC endpoint. */ private _bucketRegion?; /** * Refresh cache information for the file share. */ private _cacheAttributes?; /** * Whether the SMB share is case sensitive or defers to the client. */ private _caseSensitivity?; /** * Tag Manager which manages the tags for this resource */ readonly cdkTagManager: cdk.TagManager; /** * The S3 storage class for new objects. */ private _defaultStorageClass?; /** * The server-side encryption the gateway applies to objects it writes. */ private _encryptionType?; /** * The name of the file share, which defaults to the bucket name when omitted. */ private _fileShareName?; /** * The ARN of the S3 File Gateway that hosts the share. */ private _gatewayArn; /** * Whether the gateway infers the MIME type of uploaded objects from their extension. */ private _guessMimeTypeEnabled?; /** * Users and groups denied access to the SMB share. */ private _invalidUserList?; /** * Deprecated by the service in favour of EncryptionType; */ private _kmsEncrypted?; /** * The KMS key used for encryption, when EncryptionType selects KMS. */ private _kmsKey?; /** * The ARN of the S3 bucket, or bucket prefix, the share exposes. */ private _locationArn; /** * The upload-notification settling period, as a JSON document. */ private _notificationPolicy?; /** * The canned S3 ACL applied to objects the gateway writes. */ private _objectAcl?; /** * Whether the SMB share grants opportunistic locks. */ private _oplocksEnabled?; /** * Whether clients may write to the share. */ private _readOnly?; /** * Whether the bucket is a Requester Pays bucket. */ private _requesterPays?; /** * The ARN of the IAM role the gateway assumes when it accesses the S3 location. */ private _role; /** * Whether the SMB share uses Windows ACLs rather than POSIX permissions. */ private _smbaclEnabled?; /** * Tags assigned to the file share. */ private _tags?; /** * Users and groups permitted to access the SMB share. */ private _validUserList?; /** * The DNS name of the S3 VPC endpoint the gateway uses to reach the bucket. */ private _vpcEndpointDnsName?; protected readonly cfnPropertyNames: Record; /** * Create a new `AWS::StorageGateway::SMBFileShare`. * * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnSMBFileShareProps); get smbFileShareRef(): SMBFileShareReference; /** * Whether clients see only the files and folders they may access. */ get accessBasedEnumeration(): boolean | cdk.IResolvable | undefined; /** * Whether clients see only the files and folders they may access. */ set accessBasedEnumeration(value: boolean | cdk.IResolvable | undefined); /** * Users and groups granted administrative privileges on the SMB share. */ get adminUserList(): Array | undefined; /** * Users and groups granted administrative privileges on the SMB share. */ set adminUserList(value: Array | undefined); /** * The ARN of the CloudWatch log group that receives the share's audit logs. */ get auditDestinationArn(): string | undefined; /** * The ARN of the CloudWatch log group that receives the share's audit logs. */ set auditDestinationArn(value: string | undefined); /** * The authentication the SMB share uses. */ get authentication(): string | undefined; /** * The authentication the SMB share uses. */ set authentication(value: string | undefined); /** * The Region of the S3 bucket, required when the bucket is reached through a VPC endpoint. */ get bucketRegion(): string | undefined; /** * The Region of the S3 bucket, required when the bucket is reached through a VPC endpoint. */ set bucketRegion(value: string | undefined); /** * Refresh cache information for the file share. */ get cacheAttributes(): CfnSMBFileShare.CacheAttributesProperty | cdk.IResolvable | undefined; /** * Refresh cache information for the file share. */ set cacheAttributes(value: CfnSMBFileShare.CacheAttributesProperty | cdk.IResolvable | undefined); /** * Whether the SMB share is case sensitive or defers to the client. */ get caseSensitivity(): string | undefined; /** * Whether the SMB share is case sensitive or defers to the client. */ set caseSensitivity(value: string | undefined); /** * The S3 storage class for new objects. */ get defaultStorageClass(): string | undefined; /** * The S3 storage class for new objects. */ set defaultStorageClass(value: string | undefined); /** * The server-side encryption the gateway applies to objects it writes. */ get encryptionType(): string | undefined; /** * The server-side encryption the gateway applies to objects it writes. */ set encryptionType(value: string | undefined); /** * The name of the file share, which defaults to the bucket name when omitted. */ get fileShareName(): string | undefined; /** * The name of the file share, which defaults to the bucket name when omitted. */ set fileShareName(value: string | undefined); /** * The ARN of the S3 File Gateway that hosts the share. */ get gatewayArn(): string; /** * The ARN of the S3 File Gateway that hosts the share. */ set gatewayArn(value: string); /** * Whether the gateway infers the MIME type of uploaded objects from their extension. */ get guessMimeTypeEnabled(): boolean | cdk.IResolvable | undefined; /** * Whether the gateway infers the MIME type of uploaded objects from their extension. */ set guessMimeTypeEnabled(value: boolean | cdk.IResolvable | undefined); /** * Users and groups denied access to the SMB share. */ get invalidUserList(): Array | undefined; /** * Users and groups denied access to the SMB share. */ set invalidUserList(value: Array | undefined); /** * Deprecated by the service in favour of EncryptionType; */ get kmsEncrypted(): boolean | cdk.IResolvable | undefined; /** * Deprecated by the service in favour of EncryptionType; */ set kmsEncrypted(value: boolean | cdk.IResolvable | undefined); /** * The KMS key used for encryption, when EncryptionType selects KMS. */ get kmsKey(): string | undefined; /** * The KMS key used for encryption, when EncryptionType selects KMS. */ set kmsKey(value: string | undefined); /** * The ARN of the S3 bucket, or bucket prefix, the share exposes. */ get locationArn(): string; /** * The ARN of the S3 bucket, or bucket prefix, the share exposes. */ set locationArn(value: string); /** * The upload-notification settling period, as a JSON document. */ get notificationPolicy(): string | undefined; /** * The upload-notification settling period, as a JSON document. */ set notificationPolicy(value: string | undefined); /** * The canned S3 ACL applied to objects the gateway writes. */ get objectAcl(): string | undefined; /** * The canned S3 ACL applied to objects the gateway writes. */ set objectAcl(value: string | undefined); /** * Whether the SMB share grants opportunistic locks. */ get oplocksEnabled(): boolean | cdk.IResolvable | undefined; /** * Whether the SMB share grants opportunistic locks. */ set oplocksEnabled(value: boolean | cdk.IResolvable | undefined); /** * Whether clients may write to the share. */ get readOnly(): boolean | cdk.IResolvable | undefined; /** * Whether clients may write to the share. */ set readOnly(value: boolean | cdk.IResolvable | undefined); /** * Whether the bucket is a Requester Pays bucket. */ get requesterPays(): boolean | cdk.IResolvable | undefined; /** * Whether the bucket is a Requester Pays bucket. */ set requesterPays(value: boolean | cdk.IResolvable | undefined); /** * The ARN of the IAM role the gateway assumes when it accesses the S3 location. */ get role(): string; /** * The ARN of the IAM role the gateway assumes when it accesses the S3 location. */ set role(value: string); /** * Whether the SMB share uses Windows ACLs rather than POSIX permissions. */ get smbaclEnabled(): boolean | cdk.IResolvable | undefined; /** * Whether the SMB share uses Windows ACLs rather than POSIX permissions. */ set smbaclEnabled(value: boolean | cdk.IResolvable | undefined); /** * Tags assigned to the file share. */ get tags(): Array | undefined; /** * Tags assigned to the file share. */ set tags(value: Array | undefined); /** * Users and groups permitted to access the SMB share. */ get validUserList(): Array | undefined; /** * Users and groups permitted to access the SMB share. */ set validUserList(value: Array | undefined); /** * The DNS name of the S3 VPC endpoint the gateway uses to reach the bucket. */ get vpcEndpointDnsName(): string | undefined; /** * The DNS name of the S3 VPC endpoint the gateway uses to reach the bucket. */ set vpcEndpointDnsName(value: string | undefined); /** * The ARN of the file share. * * @cloudformationAttribute FileShareARN */ get attrFileShareArn(): string; /** * The ID of the file share. * * @cloudformationAttribute FileShareId */ get attrFileShareId(): string; /** * The status of the file share. The service reports CREATING, UPDATING, AVAILABLE, DELETING and FORCE_DELETING; it is a length-bounded string in the API model rather than an enumeration. * * @cloudformationAttribute FileShareStatus */ get attrFileShareStatus(): string; /** * The export path the share is mounted or mapped at. * * @cloudformationAttribute Path */ get attrPath(): string; protected get cfnProperties(): Record; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record): Record; } export declare namespace CfnSMBFileShare { /** * Refresh cache information for the file share. * * Removing this property from a template leaves the share's current value: the service documents no value that resets it. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-storagegateway-smbfileshare-cacheattributes.html */ interface CacheAttributesProperty { /** * How long the directory contents cached by the gateway are considered valid. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-storagegateway-smbfileshare-cacheattributes.html#cfn-storagegateway-smbfileshare-cacheattributes-cachestaletimeoutinseconds */ readonly cacheStaleTimeoutInSeconds?: number; } } /** * Properties for defining a `CfnSMBFileShare` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-smbfileshare.html */ export interface CfnSMBFileShareProps { /** * Whether clients see only the files and folders they may access. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-smbfileshare.html#cfn-storagegateway-smbfileshare-accessbasedenumeration */ readonly accessBasedEnumeration?: boolean | cdk.IResolvable; /** * Users and groups granted administrative privileges on the SMB share. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-smbfileshare.html#cfn-storagegateway-smbfileshare-adminuserlist */ readonly adminUserList?: Array; /** * The ARN of the CloudWatch log group that receives the share's audit logs. * * Removing this property from a template detaches audit logging: the update sends the empty string, which the service treats as the reset. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-smbfileshare.html#cfn-storagegateway-smbfileshare-auditdestinationarn */ readonly auditDestinationArn?: string; /** * The authentication the SMB share uses. * * The service accepts ActiveDirectory and GuestAccess; it is a length-bounded string in the API model rather than an enumeration. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-smbfileshare.html#cfn-storagegateway-smbfileshare-authentication */ readonly authentication?: string; /** * The Region of the S3 bucket, required when the bucket is reached through a VPC endpoint. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-smbfileshare.html#cfn-storagegateway-smbfileshare-bucketregion */ readonly bucketRegion?: string; /** * Refresh cache information for the file share. * * Removing this property from a template leaves the share's current value: the service documents no value that resets it. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-smbfileshare.html#cfn-storagegateway-smbfileshare-cacheattributes */ readonly cacheAttributes?: CfnSMBFileShare.CacheAttributesProperty | cdk.IResolvable; /** * Whether the SMB share is case sensitive or defers to the client. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-smbfileshare.html#cfn-storagegateway-smbfileshare-casesensitivity */ readonly caseSensitivity?: string; /** * The S3 storage class for new objects. * * The service accepts S3_STANDARD, S3_INTELLIGENT_TIERING, S3_STANDARD_IA and S3_ONEZONE_IA; it is a length-bounded string in the API model rather than an enumeration. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-smbfileshare.html#cfn-storagegateway-smbfileshare-defaultstorageclass */ readonly defaultStorageClass?: string; /** * The server-side encryption the gateway applies to objects it writes. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-smbfileshare.html#cfn-storagegateway-smbfileshare-encryptiontype */ readonly encryptionType?: string; /** * The name of the file share, which defaults to the bucket name when omitted. * * Removing this property from a template leaves the share's current value: the service documents no value that resets it. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-smbfileshare.html#cfn-storagegateway-smbfileshare-filesharename */ readonly fileShareName?: string; /** * The ARN of the S3 File Gateway that hosts the share. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-smbfileshare.html#cfn-storagegateway-smbfileshare-gatewayarn */ readonly gatewayArn: string; /** * Whether the gateway infers the MIME type of uploaded objects from their extension. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-smbfileshare.html#cfn-storagegateway-smbfileshare-guessmimetypeenabled */ readonly guessMimeTypeEnabled?: boolean | cdk.IResolvable; /** * Users and groups denied access to the SMB share. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-smbfileshare.html#cfn-storagegateway-smbfileshare-invaliduserlist */ readonly invalidUserList?: Array; /** * Deprecated by the service in favour of EncryptionType; * * true selects KMS encryption. Retained because it remains readable and settable. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-smbfileshare.html#cfn-storagegateway-smbfileshare-kmsencrypted */ readonly kmsEncrypted?: boolean | cdk.IResolvable; /** * The KMS key used for encryption, when EncryptionType selects KMS. * * Removing this property from a template leaves the share's current value: the service documents no value that resets it. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-smbfileshare.html#cfn-storagegateway-smbfileshare-kmskey */ readonly kmsKey?: string; /** * The ARN of the S3 bucket, or bucket prefix, the share exposes. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-smbfileshare.html#cfn-storagegateway-smbfileshare-locationarn */ readonly locationArn: string; /** * The upload-notification settling period, as a JSON document. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-smbfileshare.html#cfn-storagegateway-smbfileshare-notificationpolicy */ readonly notificationPolicy?: string; /** * The canned S3 ACL applied to objects the gateway writes. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-smbfileshare.html#cfn-storagegateway-smbfileshare-objectacl */ readonly objectAcl?: string; /** * Whether the SMB share grants opportunistic locks. * * Removing this property from a template leaves the live value unchanged rather than restoring the created default, because that default depends on the gateway's software version -- opportunistic locking is enabled by default only on appliances at 1.19.0.0 or above -- and the version is not part of this resource. Set the value explicitly rather than relying on removal. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-smbfileshare.html#cfn-storagegateway-smbfileshare-oplocksenabled */ readonly oplocksEnabled?: boolean | cdk.IResolvable; /** * Whether clients may write to the share. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-smbfileshare.html#cfn-storagegateway-smbfileshare-readonly */ readonly readOnly?: boolean | cdk.IResolvable; /** * Whether the bucket is a Requester Pays bucket. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-smbfileshare.html#cfn-storagegateway-smbfileshare-requesterpays */ readonly requesterPays?: boolean | cdk.IResolvable; /** * The ARN of the IAM role the gateway assumes when it accesses the S3 location. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-smbfileshare.html#cfn-storagegateway-smbfileshare-role */ readonly role: string; /** * Whether the SMB share uses Windows ACLs rather than POSIX permissions. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-smbfileshare.html#cfn-storagegateway-smbfileshare-smbaclenabled */ readonly smbaclEnabled?: boolean | cdk.IResolvable; /** * Tags assigned to the file share. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-smbfileshare.html#cfn-storagegateway-smbfileshare-tags */ readonly tags?: Array; /** * Users and groups permitted to access the SMB share. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-smbfileshare.html#cfn-storagegateway-smbfileshare-validuserlist */ readonly validUserList?: Array; /** * The DNS name of the S3 VPC endpoint the gateway uses to reach the bucket. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-smbfileshare.html#cfn-storagegateway-smbfileshare-vpcendpointdnsname */ readonly vpcEndpointDnsName?: string; } /** * Creates a virtual tape with a user-defined barcode on a Tape Gateway (VTL). * * A virtual tape is stored in Amazon S3 and can be archived to S3 Glacier or S3 Glacier Deep Archive. * * @cloudformationResource AWS::StorageGateway::Tape * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-tape.html */ export declare class CfnTape extends cdk.CfnResource implements cdk.IInspectable, ITapeRef, cdk.ITaggableV2 { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnTape from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnTape; /** * Checks whether the given object is a CfnTape */ static isCfnTape(x: any): x is CfnTape; static arnForTape(resource: ITapeRef): string; /** * Tag Manager which manages the tags for this resource */ readonly cdkTagManager: cdk.TagManager; /** * The Amazon Resource Name (ARN) of the Tape Gateway that hosts the virtual tape. */ private _gatewayArn; /** * 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. */ private _kmsEncrypted?; /** * The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon S3 server-side encryption. */ private _kmsKey?; /** * The ID of the pool that you want to add your tape to for archiving. */ private _poolId?; /** * A list of up to 50 tags to assign to the virtual tape. */ private _tags?; /** * The barcode that you want to assign to the virtual tape. */ private _tapeBarcode?; /** * The size, in bytes, of the virtual tape that you want to create. */ private _tapeSizeInBytes; /** * Set to true to create a write-once-read-many (WORM) virtual tape. */ private _worm?; protected readonly cfnPropertyNames: Record; /** * Create a new `AWS::StorageGateway::Tape`. * * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnTapeProps); get tapeRef(): TapeReference; /** * The Amazon Resource Name (ARN) of the Tape Gateway that hosts the virtual tape. */ get gatewayArn(): string; /** * The Amazon Resource Name (ARN) of the Tape Gateway that hosts the virtual tape. */ set gatewayArn(value: 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. */ get kmsEncrypted(): boolean | cdk.IResolvable | undefined; /** * 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. */ set kmsEncrypted(value: boolean | cdk.IResolvable | undefined); /** * The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon S3 server-side encryption. */ get kmsKey(): string | undefined; /** * The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon S3 server-side encryption. */ set kmsKey(value: string | undefined); /** * The ID of the pool that you want to add your tape to for archiving. */ get poolId(): string | undefined; /** * The ID of the pool that you want to add your tape to for archiving. */ set poolId(value: string | undefined); /** * A list of up to 50 tags to assign to the virtual tape. */ get tags(): Array | undefined; /** * A list of up to 50 tags to assign to the virtual tape. */ set tags(value: Array | undefined); /** * The barcode that you want to assign to the virtual tape. */ get tapeBarcode(): string | undefined; /** * The barcode that you want to assign to the virtual tape. */ set tapeBarcode(value: string | undefined); /** * The size, in bytes, of the virtual tape that you want to create. */ get tapeSizeInBytes(): number; /** * The size, in bytes, of the virtual tape that you want to create. */ set tapeSizeInBytes(value: number); /** * Set to true to create a write-once-read-many (WORM) virtual tape. */ get worm(): boolean | cdk.IResolvable | undefined; /** * Set to true to create a write-once-read-many (WORM) virtual tape. */ set worm(value: boolean | cdk.IResolvable | undefined); /** * The Amazon Resource Name (ARN) of the virtual tape. * * @cloudformationAttribute TapeARN */ get attrTapeArn(): string; /** * The date and time that the virtual tape was created. * * @cloudformationAttribute TapeCreatedDate */ get attrTapeCreatedDate(): string; /** * The current status of the virtual tape. * * @cloudformationAttribute TapeStatus */ get attrTapeStatus(): string; /** * The size, in bytes, of data stored on the virtual tape. * * @cloudformationAttribute TapeUsedInBytes */ get attrTapeUsedInBytes(): cdk.IResolvable; protected get cfnProperties(): Record; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record): Record; } /** * Properties for defining a `CfnTape` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-tape.html */ export interface CfnTapeProps { /** * The Amazon Resource Name (ARN) of the Tape Gateway that hosts the virtual tape. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-tape.html#cfn-storagegateway-tape-gatewayarn */ readonly gatewayArn: 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. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-tape.html#cfn-storagegateway-tape-kmsencrypted */ readonly kmsEncrypted?: boolean | cdk.IResolvable; /** * The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon S3 server-side encryption. * * This value must be set if KMSEncrypted is true. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-tape.html#cfn-storagegateway-tape-kmskey */ readonly kmsKey?: string; /** * The ID of the pool that you want to add your tape to for archiving. * * Tapes in this pool are archived in the S3 storage class that is associated with the pool. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-tape.html#cfn-storagegateway-tape-poolid */ readonly poolId?: string; /** * A list of up to 50 tags to assign to the virtual tape. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-tape.html#cfn-storagegateway-tape-tags */ readonly tags?: Array; /** * The barcode that you want to assign to the virtual tape. * * Barcodes cannot be reused, even after a tape is deleted. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-tape.html#cfn-storagegateway-tape-tapebarcode */ readonly tapeBarcode?: string; /** * The size, in bytes, of the virtual tape that you want to create. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-tape.html#cfn-storagegateway-tape-tapesizeinbytes */ readonly tapeSizeInBytes: number; /** * Set to true to create a write-once-read-many (WORM) virtual tape. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-tape.html#cfn-storagegateway-tape-worm */ readonly worm?: boolean | cdk.IResolvable; } /** * Creates a custom tape pool for archiving virtual tapes with optional retention lock. * * @cloudformationResource AWS::StorageGateway::TapePool * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-tapepool.html */ export declare class CfnTapePool extends cdk.CfnResource implements cdk.IInspectable, ITapePoolRef, cdk.ITaggableV2 { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnTapePool from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnTapePool; /** * Checks whether the given object is a CfnTapePool */ static isCfnTapePool(x: any): x is CfnTapePool; /** * Creates a new ITapePoolRef from a poolId */ static fromPoolId(scope: constructs.Construct, id: string, poolId: string): ITapePoolRef; static arnForTapePool(resource: ITapePoolRef): string; /** * Tag Manager which manages the tags for this resource */ readonly cdkTagManager: cdk.TagManager; /** * The name of the custom tape pool. */ private _poolName; /** * Tape retention lock time in days (up to 36,500 days / 100 years). */ private _retentionLockTimeInDays?; /** * Tape retention lock type. */ private _retentionLockType?; /** * The storage class associated with the custom pool (S3 Glacier or S3 Glacier Deep Archive). */ private _storageClass; /** * A list of up to 50 tags for the tape pool. */ private _tags?; protected readonly cfnPropertyNames: Record; /** * Create a new `AWS::StorageGateway::TapePool`. * * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnTapePoolProps); get tapePoolRef(): TapePoolReference; /** * The name of the custom tape pool. */ get poolName(): string; /** * The name of the custom tape pool. */ set poolName(value: string); /** * Tape retention lock time in days (up to 36,500 days / 100 years). */ get retentionLockTimeInDays(): number | undefined; /** * Tape retention lock time in days (up to 36,500 days / 100 years). */ set retentionLockTimeInDays(value: number | undefined); /** * Tape retention lock type. */ get retentionLockType(): string | undefined; /** * Tape retention lock type. */ set retentionLockType(value: string | undefined); /** * The storage class associated with the custom pool (S3 Glacier or S3 Glacier Deep Archive). */ get storageClass(): string; /** * The storage class associated with the custom pool (S3 Glacier or S3 Glacier Deep Archive). */ set storageClass(value: string); /** * A list of up to 50 tags for the tape pool. */ get tags(): Array | undefined; /** * A list of up to 50 tags for the tape pool. */ set tags(value: Array | undefined); /** * The Amazon Resource Name (ARN) of the custom tape pool. * * @cloudformationAttribute PoolARN */ get attrPoolArn(): string; /** * The unique identifier of the custom tape pool, extracted from the ARN. * * @cloudformationAttribute PoolId */ get attrPoolId(): string; protected get cfnProperties(): Record; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record): Record; } /** * Properties for defining a `CfnTapePool` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-tapepool.html */ export interface CfnTapePoolProps { /** * The name of the custom tape pool. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-tapepool.html#cfn-storagegateway-tapepool-poolname */ readonly poolName: string; /** * Tape retention lock time in days (up to 36,500 days / 100 years). * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-tapepool.html#cfn-storagegateway-tapepool-retentionlocktimeindays */ readonly retentionLockTimeInDays?: number; /** * Tape retention lock type. * * Governance mode allows authorized removal; compliance mode prevents all removal. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-tapepool.html#cfn-storagegateway-tapepool-retentionlocktype */ readonly retentionLockType?: string; /** * The storage class associated with the custom pool (S3 Glacier or S3 Glacier Deep Archive). * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-tapepool.html#cfn-storagegateway-tapepool-storageclass */ readonly storageClass: string; /** * A list of up to 50 tags for the tape pool. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-tapepool.html#cfn-storagegateway-tapepool-tags */ readonly tags?: Array; } /** * Creates a cached iSCSI volume on a Storage Gateway. * * A cached volume stores data in Amazon S3 and retains a copy of frequently accessed data subsets locally. * * @cloudformationResource AWS::StorageGateway::Volume * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-volume.html */ export declare class CfnVolume extends cdk.CfnResource implements cdk.IInspectable, IVolumeRef, cdk.ITaggableV2 { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnVolume from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnVolume; /** * Checks whether the given object is a CfnVolume */ static isCfnVolume(x: any): x is CfnVolume; static arnForVolume(resource: IVolumeRef): string; /** * Tag Manager which manages the tags for this resource */ readonly cdkTagManager: cdk.TagManager; /** * The Amazon Resource Name (ARN) of the gateway on which to create the volume. */ private _gatewayArn; /** * 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. */ private _kmsEncrypted?; /** * The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon S3 server-side encryption. */ private _kmsKey?; /** * The network interface of the gateway on which to expose the iSCSI target. */ private _networkInterfaceId; /** * The snapshot ID of the snapshot to restore as the new cached volume (e.g., snap-1122aabb). */ private _snapshotId?; /** * The ARN of an existing volume from which to create the new volume. */ private _sourceVolumeArn?; /** * A list of up to 50 tags to assign to the volume. */ private _tags?; /** * The name of the iSCSI target used by an initiator to connect to a volume and used as a suffix for the target ARN. */ private _targetName; /** * The size of the volume in bytes. */ private _volumeSizeInBytes; protected readonly cfnPropertyNames: Record; /** * Create a new `AWS::StorageGateway::Volume`. * * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnVolumeProps); get volumeRef(): VolumeReference; /** * The Amazon Resource Name (ARN) of the gateway on which to create the volume. */ get gatewayArn(): string; /** * The Amazon Resource Name (ARN) of the gateway on which to create the volume. */ set gatewayArn(value: 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. */ get kmsEncrypted(): boolean | cdk.IResolvable | undefined; /** * 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. */ set kmsEncrypted(value: boolean | cdk.IResolvable | undefined); /** * The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon S3 server-side encryption. */ get kmsKey(): string | undefined; /** * The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon S3 server-side encryption. */ set kmsKey(value: string | undefined); /** * The network interface of the gateway on which to expose the iSCSI target. */ get networkInterfaceId(): string; /** * The network interface of the gateway on which to expose the iSCSI target. */ set networkInterfaceId(value: string); /** * The snapshot ID of the snapshot to restore as the new cached volume (e.g., snap-1122aabb). */ get snapshotId(): string | undefined; /** * The snapshot ID of the snapshot to restore as the new cached volume (e.g., snap-1122aabb). */ set snapshotId(value: string | undefined); /** * The ARN of an existing volume from which to create the new volume. */ get sourceVolumeArn(): string | undefined; /** * The ARN of an existing volume from which to create the new volume. */ set sourceVolumeArn(value: string | undefined); /** * A list of up to 50 tags to assign to the volume. */ get tags(): Array | undefined; /** * A list of up to 50 tags to assign to the volume. */ set tags(value: Array | undefined); /** * The name of the iSCSI target used by an initiator to connect to a volume and used as a suffix for the target ARN. */ get targetName(): 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. */ set targetName(value: string); /** * The size of the volume in bytes. */ get volumeSizeInBytes(): number; /** * The size of the volume in bytes. */ set volumeSizeInBytes(value: number); /** * The date the volume was created. * * @cloudformationAttribute CreatedDate */ get attrCreatedDate(): string; /** * The Amazon Resource Name (ARN) of the volume target, which includes the iSCSI target name. * * @cloudformationAttribute TargetARN */ get attrTargetArn(): string; /** * The Amazon Resource Name (ARN) of the storage volume. * * @cloudformationAttribute VolumeARN */ get attrVolumeArn(): string; /** * Indicates whether the storage volume is attached to or detached from the gateway. * * @cloudformationAttribute VolumeAttachmentStatus */ get attrVolumeAttachmentStatus(): string; /** * The unique identifier of the volume, extracted from the ARN. * * @cloudformationAttribute VolumeId */ get attrVolumeId(): string; /** * The status of the storage volume. * * @cloudformationAttribute VolumeStatus */ get attrVolumeStatus(): string; /** * The type of the volume (CACHED iSCSI). * * @cloudformationAttribute VolumeType */ get attrVolumeType(): string; /** * The size of the data stored on the volume in bytes. * * @cloudformationAttribute VolumeUsedInBytes */ get attrVolumeUsedInBytes(): cdk.IResolvable; protected get cfnProperties(): Record; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record): Record; } /** * Properties for defining a `CfnVolume` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-volume.html */ export interface CfnVolumeProps { /** * The Amazon Resource Name (ARN) of the gateway on which to create the volume. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-volume.html#cfn-storagegateway-volume-gatewayarn */ readonly gatewayArn: 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. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-volume.html#cfn-storagegateway-volume-kmsencrypted */ readonly kmsEncrypted?: boolean | cdk.IResolvable; /** * The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon S3 server-side encryption. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-volume.html#cfn-storagegateway-volume-kmskey */ readonly kmsKey?: string; /** * The network interface of the gateway on which to expose the iSCSI target. * * Only IPv4 addresses are accepted. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-volume.html#cfn-storagegateway-volume-networkinterfaceid */ readonly networkInterfaceId: string; /** * The snapshot ID of the snapshot to restore as the new cached volume (e.g., snap-1122aabb). * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-volume.html#cfn-storagegateway-volume-snapshotid */ readonly snapshotId?: string; /** * The ARN of an existing volume from which to create the new volume. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-volume.html#cfn-storagegateway-volume-sourcevolumearn */ readonly sourceVolumeArn?: string; /** * A list of up to 50 tags to assign to the volume. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-volume.html#cfn-storagegateway-volume-tags */ readonly tags?: Array; /** * The name of the iSCSI target used by an initiator to connect to a volume and used as a suffix for the target ARN. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-volume.html#cfn-storagegateway-volume-targetname */ readonly targetName: string; /** * The size of the volume in bytes. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-storagegateway-volume.html#cfn-storagegateway-volume-volumesizeinbytes */ readonly volumeSizeInBytes: number; } export type { INFSFileShareRef, NFSFileShareReference }; export type { ISMBFileShareRef, SMBFileShareReference }; export type { ITapeRef, TapeReference }; export type { ITapePoolRef, TapePoolReference }; export type { IVolumeRef, VolumeReference };