Class SmbFileShare


  • public class SmbFileShare
    extends com.pulumi.resources.CustomResource
    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 `smbActiveDirectorySettings` 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.ArrayList;
     import java.util.Arrays;
     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(exampleAwsStoragegatewayGateway.arn())
                 .locationArn(exampleAwsS3Bucket.arn())
                 .roleArn(exampleAwsIamRole.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 `smbGuestPassword` 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.ArrayList;
     import java.util.Arrays;
     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(exampleAwsStoragegatewayGateway.arn())
                 .locationArn(exampleAwsS3Bucket.arn())
                 .roleArn(exampleAwsIamRole.arn())
                 .build());
     
         }
     }
     
     
    ## Import Using `pulumi import`, import `aws.storagegateway.SmbFileShare` using the SMB File Share ARN. For example: ```sh $ pulumi import aws:storagegateway/smbFileShare:SmbFileShare example arn:aws:storagegateway:us-east-1:123456789012:share/share-12345678 ```
    • Nested Class Summary

      • Nested classes/interfaces inherited from class com.pulumi.resources.CustomResource

        com.pulumi.resources.CustomResource.CustomResourceInternal
      • Nested classes/interfaces inherited from class com.pulumi.resources.Resource

        com.pulumi.resources.Resource.LazyField<T extends java.lang.Object>, com.pulumi.resources.Resource.LazyFields, com.pulumi.resources.Resource.ResourceInternal
    • Field Summary

      • Fields inherited from class com.pulumi.resources.Resource

        childResources, remote
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> accessBasedEnumeration()  
      com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>> adminUserLists()  
      com.pulumi.core.Output<java.lang.String> arn()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> auditDestinationArn()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> authentication()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> bucketRegion()  
      com.pulumi.core.Output<java.util.Optional<SmbFileShareCacheAttributes>> cacheAttributes()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> caseSensitivity()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> defaultStorageClass()  
      com.pulumi.core.Output<java.lang.String> fileshareId()  
      com.pulumi.core.Output<java.lang.String> fileShareName()  
      com.pulumi.core.Output<java.lang.String> gatewayArn()  
      static SmbFileShare get​(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, SmbFileShareState state, com.pulumi.resources.CustomResourceOptions options)
      Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
      com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> guessMimeTypeEnabled()  
      com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>> invalidUserLists()  
      com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> kmsEncrypted()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> kmsKeyArn()  
      com.pulumi.core.Output<java.lang.String> locationArn()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> notificationPolicy()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> objectAcl()  
      com.pulumi.core.Output<java.lang.Boolean> oplocksEnabled()  
      com.pulumi.core.Output<java.lang.String> path()  
      com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> readOnly()  
      com.pulumi.core.Output<java.lang.String> region()  
      com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> requesterPays()  
      com.pulumi.core.Output<java.lang.String> roleArn()  
      com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> smbAclEnabled()  
      com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> tags()  
      com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tagsAll()  
      com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>> validUserLists()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> vpcEndpointDnsName()  
      • Methods inherited from class com.pulumi.resources.CustomResource

        getId, id, idFuture
      • Methods inherited from class com.pulumi.resources.Resource

        getChildResources, getResourceName, getResourceType, getUrn, pulumiChildResources, pulumiResourceName, pulumiResourceType, urn
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SmbFileShare

        public SmbFileShare​(java.lang.String name)
        Parameters:
        name - The _unique_ name of the resulting resource.
      • SmbFileShare

        public SmbFileShare​(java.lang.String name,
                            SmbFileShareArgs args)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
      • SmbFileShare

        public SmbFileShare​(java.lang.String name,
                            SmbFileShareArgs args,
                            @Nullable
                            com.pulumi.resources.CustomResourceOptions options)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
        options - A bag of options that control this resource's behavior.
    • Method Detail

      • accessBasedEnumeration

        public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> accessBasedEnumeration()
        Returns:
        The files and folders on this share will only be visible to users with read access. Default value is `false`.
      • adminUserLists

        public com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>> adminUserLists()
        Returns:
        A list of users in the Active Directory that have admin access to the file share. Only valid if `authentication` is set to `ActiveDirectory`.
      • arn

        public com.pulumi.core.Output<java.lang.String> arn()
        Returns:
        ARN of the SMB File Share.
      • auditDestinationArn

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> auditDestinationArn()
        Returns:
        ARN of the CloudWatch Log Group used for the audit logs.
      • authentication

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> authentication()
        Returns:
        The authentication method that users use to access the file share. Defaults to `ActiveDirectory`. Valid values: `ActiveDirectory`, `GuestAccess`.
      • bucketRegion

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> bucketRegion()
        Returns:
        The region of the S3 buck used by the file share. Required when specifying a `vpcEndpointDnsName`.
      • cacheAttributes

        public com.pulumi.core.Output<java.util.Optional<SmbFileShareCacheAttributes>> cacheAttributes()
        Returns:
        Refresh cache information. see `cacheAttributes` Block for more details.
      • caseSensitivity

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> caseSensitivity()
        Returns:
        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`.
      • defaultStorageClass

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> defaultStorageClass()
        Returns:
        The default [storage class](https://docs.aws.amazon.com/storagegateway/latest/APIReference/API_CreateNFSFileShare.html#StorageGateway-CreateNFSFileShare-request-DefaultStorageClass) for objects put into an Amazon S3 bucket by the file gateway. Defaults to `S3_STANDARD`.
      • fileShareName

        public com.pulumi.core.Output<java.lang.String> fileShareName()
        Returns:
        The name of the file share. Must be set if an S3 prefix name is set in `locationArn`.
      • fileshareId

        public com.pulumi.core.Output<java.lang.String> fileshareId()
        Returns:
        ID of the SMB File Share.
      • gatewayArn

        public com.pulumi.core.Output<java.lang.String> gatewayArn()
        Returns:
        ARN of the file gateway.
      • guessMimeTypeEnabled

        public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> guessMimeTypeEnabled()
        Returns:
        Boolean value that enables guessing of the MIME type for uploaded objects based on file extensions. Defaults to `true`.
      • invalidUserLists

        public com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>> invalidUserLists()
        Returns:
        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`.
      • kmsEncrypted

        public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> kmsEncrypted()
        Returns:
        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`.
      • kmsKeyArn

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> kmsKeyArn()
        Returns:
        ARN for KMS key used for Amazon S3 server side encryption. This value can only be set when `kmsEncrypted` is true.
      • locationArn

        public com.pulumi.core.Output<java.lang.String> locationArn()
        Returns:
        The ARN of the backed storage used for storing file data.
      • notificationPolicy

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> notificationPolicy()
        Returns:
        The notification policy of the file share. For more information see the [AWS Documentation](https://docs.aws.amazon.com/storagegateway/latest/APIReference/API_CreateNFSFileShare.html#StorageGateway-CreateNFSFileShare-request-NotificationPolicy). Default value is `{}`.
      • objectAcl

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> objectAcl()
        Returns:
        Access Control List permission for S3 objects. Defaults to `private`.
      • oplocksEnabled

        public com.pulumi.core.Output<java.lang.Boolean> oplocksEnabled()
        Returns:
        Boolean to indicate Opportunistic lock (oplock) status. Defaults to `true`.
      • path

        public com.pulumi.core.Output<java.lang.String> path()
        Returns:
        File share path used by the NFS client to identify the mount point.
      • readOnly

        public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> readOnly()
        Returns:
        Boolean to indicate write status of file share. File share does not accept writes if `true`. Defaults to `false`.
      • region

        public com.pulumi.core.Output<java.lang.String> region()
        Returns:
        Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
      • requesterPays

        public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> requesterPays()
        Returns:
        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`.
      • roleArn

        public com.pulumi.core.Output<java.lang.String> roleArn()
        Returns:
        The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes when it accesses the underlying storage.
      • smbAclEnabled

        public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> smbAclEnabled()
        Returns:
        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.
      • tags

        public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> tags()
        Returns:
        Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. **Note:** If you have previously included a `cacheAttributes` block in your configuration, removing it will not reset the refresh cache value and the previous value will remain. You must explicitly set a new value to change it.
      • tagsAll

        public com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tagsAll()
        Returns:
        A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
      • validUserLists

        public com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>> validUserLists()
        Returns:
        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`.
      • vpcEndpointDnsName

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> vpcEndpointDnsName()
        Returns:
        The DNS name of the VPC endpoint for S3 private link.
      • get

        public static SmbFileShare get​(java.lang.String name,
                                       com.pulumi.core.Output<java.lang.String> id,
                                       @Nullable
                                       SmbFileShareState state,
                                       @Nullable
                                       com.pulumi.resources.CustomResourceOptions options)
        Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
        Parameters:
        name - The _unique_ name of the resulting resource.
        id - The _unique_ provider ID of the resource to lookup.
        state -
        options - Optional settings to control the behavior of the CustomResource.