SmbFileShareArgs

data class SmbFileShareArgs(val accessBasedEnumeration: Output<Boolean>? = null, val adminUserLists: Output<List<String>>? = null, val auditDestinationArn: Output<String>? = null, val authentication: Output<String>? = null, val bucketRegion: Output<String>? = null, val cacheAttributes: Output<SmbFileShareCacheAttributesArgs>? = null, val caseSensitivity: Output<String>? = null, val defaultStorageClass: Output<String>? = null, val fileShareName: Output<String>? = null, val gatewayArn: Output<String>? = null, val guessMimeTypeEnabled: Output<Boolean>? = null, val invalidUserLists: Output<List<String>>? = null, val kmsEncrypted: Output<Boolean>? = null, val kmsKeyArn: Output<String>? = null, val locationArn: Output<String>? = null, val notificationPolicy: Output<String>? = null, val objectAcl: Output<String>? = null, val oplocksEnabled: Output<Boolean>? = null, val readOnly: Output<Boolean>? = null, val requesterPays: Output<Boolean>? = null, val roleArn: Output<String>? = null, val smbAclEnabled: Output<Boolean>? = null, val tags: Output<Map<String, String>>? = null, val validUserLists: Output<List<String>>? = null, val vpcEndpointDnsName: Output<String>? = null) : ConvertibleToJava<SmbFileShareArgs>

Manages an AWS Storage Gateway SMB File Share.

Example Usage

Active Directory Authentication

NOTE: The gateway must have already joined the Active Directory domain prior to SMB file share creationE.g., via "SMB Settings" in the AWS Storage Gateway console or smb_active_directory_settings in the aws.storagegateway.Gateway resource.

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.storagegateway.SmbFileShare;
import com.pulumi.aws.storagegateway.SmbFileShareArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new SmbFileShare("example", SmbFileShareArgs.builder()
.authentication("ActiveDirectory")
.gatewayArn(aws_storagegateway_gateway.example().arn())
.locationArn(aws_s3_bucket.example().arn())
.roleArn(aws_iam_role.example().arn())
.build());
}
}

Guest Authentication

NOTE: The gateway must have already had the SMB guest password set prior to SMB file share creationE.g., via "SMB Settings" in the AWS Storage Gateway console or smb_guest_password in the aws.storagegateway.Gateway resource.

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.storagegateway.SmbFileShare;
import com.pulumi.aws.storagegateway.SmbFileShareArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new SmbFileShare("example", SmbFileShareArgs.builder()
.authentication("GuestAccess")
.gatewayArn(aws_storagegateway_gateway.example().arn())
.locationArn(aws_s3_bucket.example().arn())
.roleArn(aws_iam_role.example().arn())
.build());
}
}

Import

aws_storagegateway_smb_file_share can be imported by using the SMB File Share Amazon Resource Name (ARN), e.g.,

$ pulumi import aws:storagegateway/smbFileShare:SmbFileShare example arn:aws:storagegateway:us-east-1:123456789012:share/share-12345678

Constructors

Link copied to clipboard
constructor(accessBasedEnumeration: Output<Boolean>? = null, adminUserLists: Output<List<String>>? = null, auditDestinationArn: Output<String>? = null, authentication: Output<String>? = null, bucketRegion: Output<String>? = null, cacheAttributes: Output<SmbFileShareCacheAttributesArgs>? = null, caseSensitivity: Output<String>? = null, defaultStorageClass: Output<String>? = null, fileShareName: Output<String>? = null, gatewayArn: Output<String>? = null, guessMimeTypeEnabled: Output<Boolean>? = null, invalidUserLists: Output<List<String>>? = null, kmsEncrypted: Output<Boolean>? = null, kmsKeyArn: Output<String>? = null, locationArn: Output<String>? = null, notificationPolicy: Output<String>? = null, objectAcl: Output<String>? = null, oplocksEnabled: Output<Boolean>? = null, readOnly: Output<Boolean>? = null, requesterPays: Output<Boolean>? = null, roleArn: Output<String>? = null, smbAclEnabled: Output<Boolean>? = null, tags: Output<Map<String, String>>? = null, validUserLists: Output<List<String>>? = null, vpcEndpointDnsName: Output<String>? = null)

Properties

Link copied to clipboard
val accessBasedEnumeration: Output<Boolean>? = null

The files and folders on this share will only be visible to users with read access. Default value is false.

Link copied to clipboard
val adminUserLists: Output<List<String>>? = null

A list of users in the Active Directory that have admin access to the file share. Only valid if authentication is set to ActiveDirectory.

Link copied to clipboard
val auditDestinationArn: Output<String>? = null

The Amazon Resource Name (ARN) of the CloudWatch Log Group used for the audit logs.

Link copied to clipboard
val authentication: Output<String>? = null

The authentication method that users use to access the file share. Defaults to ActiveDirectory. Valid values: ActiveDirectory, GuestAccess.

Link copied to clipboard
val bucketRegion: Output<String>? = null

The region of the S3 buck used by the file share. Required when specifying a vpc_endpoint_dns_name.

Link copied to clipboard

Refresh cache information. see Cache Attributes for more details.

Link copied to clipboard
val caseSensitivity: Output<String>? = null

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.

Link copied to clipboard
val defaultStorageClass: Output<String>? = null

The default storage class for objects put into an Amazon S3 bucket by the file gateway. Defaults to S3_STANDARD.

Link copied to clipboard
val fileShareName: Output<String>? = null

The name of the file share. Must be set if an S3 prefix name is set in location_arn.

Link copied to clipboard
val gatewayArn: Output<String>? = null

Amazon Resource Name (ARN) of the file gateway.

Link copied to clipboard
val guessMimeTypeEnabled: Output<Boolean>? = null

Boolean value that enables guessing of the MIME type for uploaded objects based on file extensions. Defaults to true.

Link copied to clipboard
val invalidUserLists: Output<List<String>>? = null

A list of users in the Active Directory that are not allowed to access the file share. Only valid if authentication is set to ActiveDirectory.

Link copied to clipboard
val kmsEncrypted: Output<Boolean>? = null

Boolean value if true to use Amazon S3 server side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Defaults to false.

Link copied to clipboard
val kmsKeyArn: Output<String>? = null

Amazon Resource Name (ARN) for KMS key used for Amazon S3 server side encryption. This value can only be set when kms_encrypted is true.

Link copied to clipboard
val locationArn: Output<String>? = null

The ARN of the backed storage used for storing file data.

Link copied to clipboard
val notificationPolicy: Output<String>? = null

The notification policy of the file share. For more information see the AWS Documentation. Default value is {}.

Link copied to clipboard
val objectAcl: Output<String>? = null

Access Control List permission for S3 objects. Defaults to private.

Link copied to clipboard
val oplocksEnabled: Output<Boolean>? = null

Boolean to indicate Opportunistic lock (oplock) status. Defaults to true.

Link copied to clipboard
val readOnly: Output<Boolean>? = null

Boolean to indicate write status of file share. File share does not accept writes if true. Defaults to false.

Link copied to clipboard
val requesterPays: Output<Boolean>? = null

Boolean who pays the cost of the request and the data download from the Amazon S3 bucket. Set this value to true if you want the requester to pay instead of the bucket owner. Defaults to false.

Link copied to clipboard
val roleArn: Output<String>? = null

The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes when it accesses the underlying storage.

Link copied to clipboard
val smbAclEnabled: Output<Boolean>? = null

Set this value to true to enable ACL (access control list) on the SMB fileshare. Set it to false to map file and directory permissions to the POSIX permissions. This setting applies only to ActiveDirectory authentication type.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

Key-value map of resource tags. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Link copied to clipboard
val validUserLists: Output<List<String>>? = null

A list of users in the Active Directory that are allowed to access the file share. If you need to specify an Active directory group, add '@' before the name of the group. It will be set on Allowed group in AWS console. Only valid if authentication is set to ActiveDirectory.

Link copied to clipboard
val vpcEndpointDnsName: Output<String>? = null

The DNS name of the VPC endpoint for S3 private link.

Functions

Link copied to clipboard
open override fun toJava(): SmbFileShareArgs