github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/storagegateway/smbFileShare.go (about)

     1  // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT.
     2  // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
     3  
     4  package storagegateway
     5  
     6  import (
     7  	"context"
     8  	"reflect"
     9  
    10  	"errors"
    11  	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal"
    12  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    13  )
    14  
    15  // Manages an AWS Storage Gateway SMB File Share.
    16  //
    17  // ## Example Usage
    18  //
    19  // ### Active Directory Authentication
    20  //
    21  // > **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 `storagegateway.Gateway` resource.
    22  //
    23  // <!--Start PulumiCodeChooser -->
    24  // ```go
    25  // package main
    26  //
    27  // import (
    28  //
    29  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway"
    30  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    31  //
    32  // )
    33  //
    34  //	func main() {
    35  //		pulumi.Run(func(ctx *pulumi.Context) error {
    36  //			_, err := storagegateway.NewSmbFileShare(ctx, "example", &storagegateway.SmbFileShareArgs{
    37  //				Authentication: pulumi.String("ActiveDirectory"),
    38  //				GatewayArn:     pulumi.Any(exampleAwsStoragegatewayGateway.Arn),
    39  //				LocationArn:    pulumi.Any(exampleAwsS3Bucket.Arn),
    40  //				RoleArn:        pulumi.Any(exampleAwsIamRole.Arn),
    41  //			})
    42  //			if err != nil {
    43  //				return err
    44  //			}
    45  //			return nil
    46  //		})
    47  //	}
    48  //
    49  // ```
    50  // <!--End PulumiCodeChooser -->
    51  //
    52  // ### Guest Authentication
    53  //
    54  // > **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 `storagegateway.Gateway` resource.
    55  //
    56  // <!--Start PulumiCodeChooser -->
    57  // ```go
    58  // package main
    59  //
    60  // import (
    61  //
    62  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway"
    63  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    64  //
    65  // )
    66  //
    67  //	func main() {
    68  //		pulumi.Run(func(ctx *pulumi.Context) error {
    69  //			_, err := storagegateway.NewSmbFileShare(ctx, "example", &storagegateway.SmbFileShareArgs{
    70  //				Authentication: pulumi.String("GuestAccess"),
    71  //				GatewayArn:     pulumi.Any(exampleAwsStoragegatewayGateway.Arn),
    72  //				LocationArn:    pulumi.Any(exampleAwsS3Bucket.Arn),
    73  //				RoleArn:        pulumi.Any(exampleAwsIamRole.Arn),
    74  //			})
    75  //			if err != nil {
    76  //				return err
    77  //			}
    78  //			return nil
    79  //		})
    80  //	}
    81  //
    82  // ```
    83  // <!--End PulumiCodeChooser -->
    84  //
    85  // ## Import
    86  //
    87  // Using `pulumi import`, import `aws_storagegateway_smb_file_share` using the SMB File Share Amazon Resource Name (ARN). For example:
    88  //
    89  // ```sh
    90  // $ pulumi import aws:storagegateway/smbFileShare:SmbFileShare example arn:aws:storagegateway:us-east-1:123456789012:share/share-12345678
    91  // ```
    92  type SmbFileShare struct {
    93  	pulumi.CustomResourceState
    94  
    95  	// The files and folders on this share will only be visible to users with read access. Default value is `false`.
    96  	AccessBasedEnumeration pulumi.BoolPtrOutput `pulumi:"accessBasedEnumeration"`
    97  	// A list of users in the Active Directory that have admin access to the file share. Only valid if `authentication` is set to `ActiveDirectory`.
    98  	AdminUserLists pulumi.StringArrayOutput `pulumi:"adminUserLists"`
    99  	// Amazon Resource Name (ARN) of the SMB File Share.
   100  	Arn pulumi.StringOutput `pulumi:"arn"`
   101  	// The Amazon Resource Name (ARN) of the CloudWatch Log Group used for the audit logs.
   102  	AuditDestinationArn pulumi.StringPtrOutput `pulumi:"auditDestinationArn"`
   103  	// The authentication method that users use to access the file share. Defaults to `ActiveDirectory`. Valid values: `ActiveDirectory`, `GuestAccess`.
   104  	Authentication pulumi.StringPtrOutput `pulumi:"authentication"`
   105  	// The region of the S3 buck used by the file share. Required when specifying a `vpcEndpointDnsName`.
   106  	BucketRegion pulumi.StringPtrOutput `pulumi:"bucketRegion"`
   107  	// Refresh cache information. see Cache Attributes for more details.
   108  	CacheAttributes SmbFileShareCacheAttributesPtrOutput `pulumi:"cacheAttributes"`
   109  	// 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`.
   110  	CaseSensitivity pulumi.StringPtrOutput `pulumi:"caseSensitivity"`
   111  	// 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`.
   112  	DefaultStorageClass pulumi.StringPtrOutput `pulumi:"defaultStorageClass"`
   113  	// The name of the file share. Must be set if an S3 prefix name is set in `locationArn`.
   114  	FileShareName pulumi.StringOutput `pulumi:"fileShareName"`
   115  	// ID of the SMB File Share.
   116  	FileshareId pulumi.StringOutput `pulumi:"fileshareId"`
   117  	// Amazon Resource Name (ARN) of the file gateway.
   118  	GatewayArn pulumi.StringOutput `pulumi:"gatewayArn"`
   119  	// Boolean value that enables guessing of the MIME type for uploaded objects based on file extensions. Defaults to `true`.
   120  	GuessMimeTypeEnabled pulumi.BoolPtrOutput `pulumi:"guessMimeTypeEnabled"`
   121  	// 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`.
   122  	InvalidUserLists pulumi.StringArrayOutput `pulumi:"invalidUserLists"`
   123  	// 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`.
   124  	KmsEncrypted pulumi.BoolPtrOutput `pulumi:"kmsEncrypted"`
   125  	// Amazon Resource Name (ARN) for KMS key used for Amazon S3 server side encryption. This value can only be set when `kmsEncrypted` is true.
   126  	KmsKeyArn pulumi.StringPtrOutput `pulumi:"kmsKeyArn"`
   127  	// The ARN of the backed storage used for storing file data.
   128  	LocationArn pulumi.StringOutput `pulumi:"locationArn"`
   129  	// 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 `{}`.
   130  	NotificationPolicy pulumi.StringPtrOutput `pulumi:"notificationPolicy"`
   131  	// Access Control List permission for S3 objects. Defaults to `private`.
   132  	ObjectAcl pulumi.StringPtrOutput `pulumi:"objectAcl"`
   133  	// Boolean to indicate Opportunistic lock (oplock) status. Defaults to `true`.
   134  	OplocksEnabled pulumi.BoolOutput `pulumi:"oplocksEnabled"`
   135  	// File share path used by the NFS client to identify the mount point.
   136  	Path pulumi.StringOutput `pulumi:"path"`
   137  	// Boolean to indicate write status of file share. File share does not accept writes if `true`. Defaults to `false`.
   138  	ReadOnly pulumi.BoolPtrOutput `pulumi:"readOnly"`
   139  	// 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`.
   140  	RequesterPays pulumi.BoolPtrOutput `pulumi:"requesterPays"`
   141  	// The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes when it accesses the underlying storage.
   142  	RoleArn pulumi.StringOutput `pulumi:"roleArn"`
   143  	// 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.
   144  	SmbAclEnabled pulumi.BoolPtrOutput `pulumi:"smbAclEnabled"`
   145  	// 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.
   146  	Tags pulumi.StringMapOutput `pulumi:"tags"`
   147  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   148  	//
   149  	// Deprecated: Please use `tags` instead.
   150  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
   151  	// 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`.
   152  	ValidUserLists pulumi.StringArrayOutput `pulumi:"validUserLists"`
   153  	// The DNS name of the VPC endpoint for S3 private link.
   154  	VpcEndpointDnsName pulumi.StringPtrOutput `pulumi:"vpcEndpointDnsName"`
   155  }
   156  
   157  // NewSmbFileShare registers a new resource with the given unique name, arguments, and options.
   158  func NewSmbFileShare(ctx *pulumi.Context,
   159  	name string, args *SmbFileShareArgs, opts ...pulumi.ResourceOption) (*SmbFileShare, error) {
   160  	if args == nil {
   161  		return nil, errors.New("missing one or more required arguments")
   162  	}
   163  
   164  	if args.GatewayArn == nil {
   165  		return nil, errors.New("invalid value for required argument 'GatewayArn'")
   166  	}
   167  	if args.LocationArn == nil {
   168  		return nil, errors.New("invalid value for required argument 'LocationArn'")
   169  	}
   170  	if args.RoleArn == nil {
   171  		return nil, errors.New("invalid value for required argument 'RoleArn'")
   172  	}
   173  	opts = internal.PkgResourceDefaultOpts(opts)
   174  	var resource SmbFileShare
   175  	err := ctx.RegisterResource("aws:storagegateway/smbFileShare:SmbFileShare", name, args, &resource, opts...)
   176  	if err != nil {
   177  		return nil, err
   178  	}
   179  	return &resource, nil
   180  }
   181  
   182  // GetSmbFileShare gets an existing SmbFileShare resource's state with the given name, ID, and optional
   183  // state properties that are used to uniquely qualify the lookup (nil if not required).
   184  func GetSmbFileShare(ctx *pulumi.Context,
   185  	name string, id pulumi.IDInput, state *SmbFileShareState, opts ...pulumi.ResourceOption) (*SmbFileShare, error) {
   186  	var resource SmbFileShare
   187  	err := ctx.ReadResource("aws:storagegateway/smbFileShare:SmbFileShare", name, id, state, &resource, opts...)
   188  	if err != nil {
   189  		return nil, err
   190  	}
   191  	return &resource, nil
   192  }
   193  
   194  // Input properties used for looking up and filtering SmbFileShare resources.
   195  type smbFileShareState struct {
   196  	// The files and folders on this share will only be visible to users with read access. Default value is `false`.
   197  	AccessBasedEnumeration *bool `pulumi:"accessBasedEnumeration"`
   198  	// A list of users in the Active Directory that have admin access to the file share. Only valid if `authentication` is set to `ActiveDirectory`.
   199  	AdminUserLists []string `pulumi:"adminUserLists"`
   200  	// Amazon Resource Name (ARN) of the SMB File Share.
   201  	Arn *string `pulumi:"arn"`
   202  	// The Amazon Resource Name (ARN) of the CloudWatch Log Group used for the audit logs.
   203  	AuditDestinationArn *string `pulumi:"auditDestinationArn"`
   204  	// The authentication method that users use to access the file share. Defaults to `ActiveDirectory`. Valid values: `ActiveDirectory`, `GuestAccess`.
   205  	Authentication *string `pulumi:"authentication"`
   206  	// The region of the S3 buck used by the file share. Required when specifying a `vpcEndpointDnsName`.
   207  	BucketRegion *string `pulumi:"bucketRegion"`
   208  	// Refresh cache information. see Cache Attributes for more details.
   209  	CacheAttributes *SmbFileShareCacheAttributes `pulumi:"cacheAttributes"`
   210  	// 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`.
   211  	CaseSensitivity *string `pulumi:"caseSensitivity"`
   212  	// 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`.
   213  	DefaultStorageClass *string `pulumi:"defaultStorageClass"`
   214  	// The name of the file share. Must be set if an S3 prefix name is set in `locationArn`.
   215  	FileShareName *string `pulumi:"fileShareName"`
   216  	// ID of the SMB File Share.
   217  	FileshareId *string `pulumi:"fileshareId"`
   218  	// Amazon Resource Name (ARN) of the file gateway.
   219  	GatewayArn *string `pulumi:"gatewayArn"`
   220  	// Boolean value that enables guessing of the MIME type for uploaded objects based on file extensions. Defaults to `true`.
   221  	GuessMimeTypeEnabled *bool `pulumi:"guessMimeTypeEnabled"`
   222  	// 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`.
   223  	InvalidUserLists []string `pulumi:"invalidUserLists"`
   224  	// 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`.
   225  	KmsEncrypted *bool `pulumi:"kmsEncrypted"`
   226  	// Amazon Resource Name (ARN) for KMS key used for Amazon S3 server side encryption. This value can only be set when `kmsEncrypted` is true.
   227  	KmsKeyArn *string `pulumi:"kmsKeyArn"`
   228  	// The ARN of the backed storage used for storing file data.
   229  	LocationArn *string `pulumi:"locationArn"`
   230  	// 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 `{}`.
   231  	NotificationPolicy *string `pulumi:"notificationPolicy"`
   232  	// Access Control List permission for S3 objects. Defaults to `private`.
   233  	ObjectAcl *string `pulumi:"objectAcl"`
   234  	// Boolean to indicate Opportunistic lock (oplock) status. Defaults to `true`.
   235  	OplocksEnabled *bool `pulumi:"oplocksEnabled"`
   236  	// File share path used by the NFS client to identify the mount point.
   237  	Path *string `pulumi:"path"`
   238  	// Boolean to indicate write status of file share. File share does not accept writes if `true`. Defaults to `false`.
   239  	ReadOnly *bool `pulumi:"readOnly"`
   240  	// 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`.
   241  	RequesterPays *bool `pulumi:"requesterPays"`
   242  	// The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes when it accesses the underlying storage.
   243  	RoleArn *string `pulumi:"roleArn"`
   244  	// 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.
   245  	SmbAclEnabled *bool `pulumi:"smbAclEnabled"`
   246  	// 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.
   247  	Tags map[string]string `pulumi:"tags"`
   248  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   249  	//
   250  	// Deprecated: Please use `tags` instead.
   251  	TagsAll map[string]string `pulumi:"tagsAll"`
   252  	// 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`.
   253  	ValidUserLists []string `pulumi:"validUserLists"`
   254  	// The DNS name of the VPC endpoint for S3 private link.
   255  	VpcEndpointDnsName *string `pulumi:"vpcEndpointDnsName"`
   256  }
   257  
   258  type SmbFileShareState struct {
   259  	// The files and folders on this share will only be visible to users with read access. Default value is `false`.
   260  	AccessBasedEnumeration pulumi.BoolPtrInput
   261  	// A list of users in the Active Directory that have admin access to the file share. Only valid if `authentication` is set to `ActiveDirectory`.
   262  	AdminUserLists pulumi.StringArrayInput
   263  	// Amazon Resource Name (ARN) of the SMB File Share.
   264  	Arn pulumi.StringPtrInput
   265  	// The Amazon Resource Name (ARN) of the CloudWatch Log Group used for the audit logs.
   266  	AuditDestinationArn pulumi.StringPtrInput
   267  	// The authentication method that users use to access the file share. Defaults to `ActiveDirectory`. Valid values: `ActiveDirectory`, `GuestAccess`.
   268  	Authentication pulumi.StringPtrInput
   269  	// The region of the S3 buck used by the file share. Required when specifying a `vpcEndpointDnsName`.
   270  	BucketRegion pulumi.StringPtrInput
   271  	// Refresh cache information. see Cache Attributes for more details.
   272  	CacheAttributes SmbFileShareCacheAttributesPtrInput
   273  	// 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`.
   274  	CaseSensitivity pulumi.StringPtrInput
   275  	// 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`.
   276  	DefaultStorageClass pulumi.StringPtrInput
   277  	// The name of the file share. Must be set if an S3 prefix name is set in `locationArn`.
   278  	FileShareName pulumi.StringPtrInput
   279  	// ID of the SMB File Share.
   280  	FileshareId pulumi.StringPtrInput
   281  	// Amazon Resource Name (ARN) of the file gateway.
   282  	GatewayArn pulumi.StringPtrInput
   283  	// Boolean value that enables guessing of the MIME type for uploaded objects based on file extensions. Defaults to `true`.
   284  	GuessMimeTypeEnabled pulumi.BoolPtrInput
   285  	// 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`.
   286  	InvalidUserLists pulumi.StringArrayInput
   287  	// 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`.
   288  	KmsEncrypted pulumi.BoolPtrInput
   289  	// Amazon Resource Name (ARN) for KMS key used for Amazon S3 server side encryption. This value can only be set when `kmsEncrypted` is true.
   290  	KmsKeyArn pulumi.StringPtrInput
   291  	// The ARN of the backed storage used for storing file data.
   292  	LocationArn pulumi.StringPtrInput
   293  	// 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 `{}`.
   294  	NotificationPolicy pulumi.StringPtrInput
   295  	// Access Control List permission for S3 objects. Defaults to `private`.
   296  	ObjectAcl pulumi.StringPtrInput
   297  	// Boolean to indicate Opportunistic lock (oplock) status. Defaults to `true`.
   298  	OplocksEnabled pulumi.BoolPtrInput
   299  	// File share path used by the NFS client to identify the mount point.
   300  	Path pulumi.StringPtrInput
   301  	// Boolean to indicate write status of file share. File share does not accept writes if `true`. Defaults to `false`.
   302  	ReadOnly pulumi.BoolPtrInput
   303  	// 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`.
   304  	RequesterPays pulumi.BoolPtrInput
   305  	// The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes when it accesses the underlying storage.
   306  	RoleArn pulumi.StringPtrInput
   307  	// 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.
   308  	SmbAclEnabled pulumi.BoolPtrInput
   309  	// 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.
   310  	Tags pulumi.StringMapInput
   311  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   312  	//
   313  	// Deprecated: Please use `tags` instead.
   314  	TagsAll pulumi.StringMapInput
   315  	// 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`.
   316  	ValidUserLists pulumi.StringArrayInput
   317  	// The DNS name of the VPC endpoint for S3 private link.
   318  	VpcEndpointDnsName pulumi.StringPtrInput
   319  }
   320  
   321  func (SmbFileShareState) ElementType() reflect.Type {
   322  	return reflect.TypeOf((*smbFileShareState)(nil)).Elem()
   323  }
   324  
   325  type smbFileShareArgs struct {
   326  	// The files and folders on this share will only be visible to users with read access. Default value is `false`.
   327  	AccessBasedEnumeration *bool `pulumi:"accessBasedEnumeration"`
   328  	// A list of users in the Active Directory that have admin access to the file share. Only valid if `authentication` is set to `ActiveDirectory`.
   329  	AdminUserLists []string `pulumi:"adminUserLists"`
   330  	// The Amazon Resource Name (ARN) of the CloudWatch Log Group used for the audit logs.
   331  	AuditDestinationArn *string `pulumi:"auditDestinationArn"`
   332  	// The authentication method that users use to access the file share. Defaults to `ActiveDirectory`. Valid values: `ActiveDirectory`, `GuestAccess`.
   333  	Authentication *string `pulumi:"authentication"`
   334  	// The region of the S3 buck used by the file share. Required when specifying a `vpcEndpointDnsName`.
   335  	BucketRegion *string `pulumi:"bucketRegion"`
   336  	// Refresh cache information. see Cache Attributes for more details.
   337  	CacheAttributes *SmbFileShareCacheAttributes `pulumi:"cacheAttributes"`
   338  	// 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`.
   339  	CaseSensitivity *string `pulumi:"caseSensitivity"`
   340  	// 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`.
   341  	DefaultStorageClass *string `pulumi:"defaultStorageClass"`
   342  	// The name of the file share. Must be set if an S3 prefix name is set in `locationArn`.
   343  	FileShareName *string `pulumi:"fileShareName"`
   344  	// Amazon Resource Name (ARN) of the file gateway.
   345  	GatewayArn string `pulumi:"gatewayArn"`
   346  	// Boolean value that enables guessing of the MIME type for uploaded objects based on file extensions. Defaults to `true`.
   347  	GuessMimeTypeEnabled *bool `pulumi:"guessMimeTypeEnabled"`
   348  	// 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`.
   349  	InvalidUserLists []string `pulumi:"invalidUserLists"`
   350  	// 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`.
   351  	KmsEncrypted *bool `pulumi:"kmsEncrypted"`
   352  	// Amazon Resource Name (ARN) for KMS key used for Amazon S3 server side encryption. This value can only be set when `kmsEncrypted` is true.
   353  	KmsKeyArn *string `pulumi:"kmsKeyArn"`
   354  	// The ARN of the backed storage used for storing file data.
   355  	LocationArn string `pulumi:"locationArn"`
   356  	// 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 `{}`.
   357  	NotificationPolicy *string `pulumi:"notificationPolicy"`
   358  	// Access Control List permission for S3 objects. Defaults to `private`.
   359  	ObjectAcl *string `pulumi:"objectAcl"`
   360  	// Boolean to indicate Opportunistic lock (oplock) status. Defaults to `true`.
   361  	OplocksEnabled *bool `pulumi:"oplocksEnabled"`
   362  	// Boolean to indicate write status of file share. File share does not accept writes if `true`. Defaults to `false`.
   363  	ReadOnly *bool `pulumi:"readOnly"`
   364  	// 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`.
   365  	RequesterPays *bool `pulumi:"requesterPays"`
   366  	// The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes when it accesses the underlying storage.
   367  	RoleArn string `pulumi:"roleArn"`
   368  	// 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.
   369  	SmbAclEnabled *bool `pulumi:"smbAclEnabled"`
   370  	// 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.
   371  	Tags map[string]string `pulumi:"tags"`
   372  	// 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`.
   373  	ValidUserLists []string `pulumi:"validUserLists"`
   374  	// The DNS name of the VPC endpoint for S3 private link.
   375  	VpcEndpointDnsName *string `pulumi:"vpcEndpointDnsName"`
   376  }
   377  
   378  // The set of arguments for constructing a SmbFileShare resource.
   379  type SmbFileShareArgs struct {
   380  	// The files and folders on this share will only be visible to users with read access. Default value is `false`.
   381  	AccessBasedEnumeration pulumi.BoolPtrInput
   382  	// A list of users in the Active Directory that have admin access to the file share. Only valid if `authentication` is set to `ActiveDirectory`.
   383  	AdminUserLists pulumi.StringArrayInput
   384  	// The Amazon Resource Name (ARN) of the CloudWatch Log Group used for the audit logs.
   385  	AuditDestinationArn pulumi.StringPtrInput
   386  	// The authentication method that users use to access the file share. Defaults to `ActiveDirectory`. Valid values: `ActiveDirectory`, `GuestAccess`.
   387  	Authentication pulumi.StringPtrInput
   388  	// The region of the S3 buck used by the file share. Required when specifying a `vpcEndpointDnsName`.
   389  	BucketRegion pulumi.StringPtrInput
   390  	// Refresh cache information. see Cache Attributes for more details.
   391  	CacheAttributes SmbFileShareCacheAttributesPtrInput
   392  	// 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`.
   393  	CaseSensitivity pulumi.StringPtrInput
   394  	// 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`.
   395  	DefaultStorageClass pulumi.StringPtrInput
   396  	// The name of the file share. Must be set if an S3 prefix name is set in `locationArn`.
   397  	FileShareName pulumi.StringPtrInput
   398  	// Amazon Resource Name (ARN) of the file gateway.
   399  	GatewayArn pulumi.StringInput
   400  	// Boolean value that enables guessing of the MIME type for uploaded objects based on file extensions. Defaults to `true`.
   401  	GuessMimeTypeEnabled pulumi.BoolPtrInput
   402  	// 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`.
   403  	InvalidUserLists pulumi.StringArrayInput
   404  	// 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`.
   405  	KmsEncrypted pulumi.BoolPtrInput
   406  	// Amazon Resource Name (ARN) for KMS key used for Amazon S3 server side encryption. This value can only be set when `kmsEncrypted` is true.
   407  	KmsKeyArn pulumi.StringPtrInput
   408  	// The ARN of the backed storage used for storing file data.
   409  	LocationArn pulumi.StringInput
   410  	// 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 `{}`.
   411  	NotificationPolicy pulumi.StringPtrInput
   412  	// Access Control List permission for S3 objects. Defaults to `private`.
   413  	ObjectAcl pulumi.StringPtrInput
   414  	// Boolean to indicate Opportunistic lock (oplock) status. Defaults to `true`.
   415  	OplocksEnabled pulumi.BoolPtrInput
   416  	// Boolean to indicate write status of file share. File share does not accept writes if `true`. Defaults to `false`.
   417  	ReadOnly pulumi.BoolPtrInput
   418  	// 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`.
   419  	RequesterPays pulumi.BoolPtrInput
   420  	// The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes when it accesses the underlying storage.
   421  	RoleArn pulumi.StringInput
   422  	// 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.
   423  	SmbAclEnabled pulumi.BoolPtrInput
   424  	// 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.
   425  	Tags pulumi.StringMapInput
   426  	// 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`.
   427  	ValidUserLists pulumi.StringArrayInput
   428  	// The DNS name of the VPC endpoint for S3 private link.
   429  	VpcEndpointDnsName pulumi.StringPtrInput
   430  }
   431  
   432  func (SmbFileShareArgs) ElementType() reflect.Type {
   433  	return reflect.TypeOf((*smbFileShareArgs)(nil)).Elem()
   434  }
   435  
   436  type SmbFileShareInput interface {
   437  	pulumi.Input
   438  
   439  	ToSmbFileShareOutput() SmbFileShareOutput
   440  	ToSmbFileShareOutputWithContext(ctx context.Context) SmbFileShareOutput
   441  }
   442  
   443  func (*SmbFileShare) ElementType() reflect.Type {
   444  	return reflect.TypeOf((**SmbFileShare)(nil)).Elem()
   445  }
   446  
   447  func (i *SmbFileShare) ToSmbFileShareOutput() SmbFileShareOutput {
   448  	return i.ToSmbFileShareOutputWithContext(context.Background())
   449  }
   450  
   451  func (i *SmbFileShare) ToSmbFileShareOutputWithContext(ctx context.Context) SmbFileShareOutput {
   452  	return pulumi.ToOutputWithContext(ctx, i).(SmbFileShareOutput)
   453  }
   454  
   455  // SmbFileShareArrayInput is an input type that accepts SmbFileShareArray and SmbFileShareArrayOutput values.
   456  // You can construct a concrete instance of `SmbFileShareArrayInput` via:
   457  //
   458  //	SmbFileShareArray{ SmbFileShareArgs{...} }
   459  type SmbFileShareArrayInput interface {
   460  	pulumi.Input
   461  
   462  	ToSmbFileShareArrayOutput() SmbFileShareArrayOutput
   463  	ToSmbFileShareArrayOutputWithContext(context.Context) SmbFileShareArrayOutput
   464  }
   465  
   466  type SmbFileShareArray []SmbFileShareInput
   467  
   468  func (SmbFileShareArray) ElementType() reflect.Type {
   469  	return reflect.TypeOf((*[]*SmbFileShare)(nil)).Elem()
   470  }
   471  
   472  func (i SmbFileShareArray) ToSmbFileShareArrayOutput() SmbFileShareArrayOutput {
   473  	return i.ToSmbFileShareArrayOutputWithContext(context.Background())
   474  }
   475  
   476  func (i SmbFileShareArray) ToSmbFileShareArrayOutputWithContext(ctx context.Context) SmbFileShareArrayOutput {
   477  	return pulumi.ToOutputWithContext(ctx, i).(SmbFileShareArrayOutput)
   478  }
   479  
   480  // SmbFileShareMapInput is an input type that accepts SmbFileShareMap and SmbFileShareMapOutput values.
   481  // You can construct a concrete instance of `SmbFileShareMapInput` via:
   482  //
   483  //	SmbFileShareMap{ "key": SmbFileShareArgs{...} }
   484  type SmbFileShareMapInput interface {
   485  	pulumi.Input
   486  
   487  	ToSmbFileShareMapOutput() SmbFileShareMapOutput
   488  	ToSmbFileShareMapOutputWithContext(context.Context) SmbFileShareMapOutput
   489  }
   490  
   491  type SmbFileShareMap map[string]SmbFileShareInput
   492  
   493  func (SmbFileShareMap) ElementType() reflect.Type {
   494  	return reflect.TypeOf((*map[string]*SmbFileShare)(nil)).Elem()
   495  }
   496  
   497  func (i SmbFileShareMap) ToSmbFileShareMapOutput() SmbFileShareMapOutput {
   498  	return i.ToSmbFileShareMapOutputWithContext(context.Background())
   499  }
   500  
   501  func (i SmbFileShareMap) ToSmbFileShareMapOutputWithContext(ctx context.Context) SmbFileShareMapOutput {
   502  	return pulumi.ToOutputWithContext(ctx, i).(SmbFileShareMapOutput)
   503  }
   504  
   505  type SmbFileShareOutput struct{ *pulumi.OutputState }
   506  
   507  func (SmbFileShareOutput) ElementType() reflect.Type {
   508  	return reflect.TypeOf((**SmbFileShare)(nil)).Elem()
   509  }
   510  
   511  func (o SmbFileShareOutput) ToSmbFileShareOutput() SmbFileShareOutput {
   512  	return o
   513  }
   514  
   515  func (o SmbFileShareOutput) ToSmbFileShareOutputWithContext(ctx context.Context) SmbFileShareOutput {
   516  	return o
   517  }
   518  
   519  // The files and folders on this share will only be visible to users with read access. Default value is `false`.
   520  func (o SmbFileShareOutput) AccessBasedEnumeration() pulumi.BoolPtrOutput {
   521  	return o.ApplyT(func(v *SmbFileShare) pulumi.BoolPtrOutput { return v.AccessBasedEnumeration }).(pulumi.BoolPtrOutput)
   522  }
   523  
   524  // A list of users in the Active Directory that have admin access to the file share. Only valid if `authentication` is set to `ActiveDirectory`.
   525  func (o SmbFileShareOutput) AdminUserLists() pulumi.StringArrayOutput {
   526  	return o.ApplyT(func(v *SmbFileShare) pulumi.StringArrayOutput { return v.AdminUserLists }).(pulumi.StringArrayOutput)
   527  }
   528  
   529  // Amazon Resource Name (ARN) of the SMB File Share.
   530  func (o SmbFileShareOutput) Arn() pulumi.StringOutput {
   531  	return o.ApplyT(func(v *SmbFileShare) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   532  }
   533  
   534  // The Amazon Resource Name (ARN) of the CloudWatch Log Group used for the audit logs.
   535  func (o SmbFileShareOutput) AuditDestinationArn() pulumi.StringPtrOutput {
   536  	return o.ApplyT(func(v *SmbFileShare) pulumi.StringPtrOutput { return v.AuditDestinationArn }).(pulumi.StringPtrOutput)
   537  }
   538  
   539  // The authentication method that users use to access the file share. Defaults to `ActiveDirectory`. Valid values: `ActiveDirectory`, `GuestAccess`.
   540  func (o SmbFileShareOutput) Authentication() pulumi.StringPtrOutput {
   541  	return o.ApplyT(func(v *SmbFileShare) pulumi.StringPtrOutput { return v.Authentication }).(pulumi.StringPtrOutput)
   542  }
   543  
   544  // The region of the S3 buck used by the file share. Required when specifying a `vpcEndpointDnsName`.
   545  func (o SmbFileShareOutput) BucketRegion() pulumi.StringPtrOutput {
   546  	return o.ApplyT(func(v *SmbFileShare) pulumi.StringPtrOutput { return v.BucketRegion }).(pulumi.StringPtrOutput)
   547  }
   548  
   549  // Refresh cache information. see Cache Attributes for more details.
   550  func (o SmbFileShareOutput) CacheAttributes() SmbFileShareCacheAttributesPtrOutput {
   551  	return o.ApplyT(func(v *SmbFileShare) SmbFileShareCacheAttributesPtrOutput { return v.CacheAttributes }).(SmbFileShareCacheAttributesPtrOutput)
   552  }
   553  
   554  // 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`.
   555  func (o SmbFileShareOutput) CaseSensitivity() pulumi.StringPtrOutput {
   556  	return o.ApplyT(func(v *SmbFileShare) pulumi.StringPtrOutput { return v.CaseSensitivity }).(pulumi.StringPtrOutput)
   557  }
   558  
   559  // 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`.
   560  func (o SmbFileShareOutput) DefaultStorageClass() pulumi.StringPtrOutput {
   561  	return o.ApplyT(func(v *SmbFileShare) pulumi.StringPtrOutput { return v.DefaultStorageClass }).(pulumi.StringPtrOutput)
   562  }
   563  
   564  // The name of the file share. Must be set if an S3 prefix name is set in `locationArn`.
   565  func (o SmbFileShareOutput) FileShareName() pulumi.StringOutput {
   566  	return o.ApplyT(func(v *SmbFileShare) pulumi.StringOutput { return v.FileShareName }).(pulumi.StringOutput)
   567  }
   568  
   569  // ID of the SMB File Share.
   570  func (o SmbFileShareOutput) FileshareId() pulumi.StringOutput {
   571  	return o.ApplyT(func(v *SmbFileShare) pulumi.StringOutput { return v.FileshareId }).(pulumi.StringOutput)
   572  }
   573  
   574  // Amazon Resource Name (ARN) of the file gateway.
   575  func (o SmbFileShareOutput) GatewayArn() pulumi.StringOutput {
   576  	return o.ApplyT(func(v *SmbFileShare) pulumi.StringOutput { return v.GatewayArn }).(pulumi.StringOutput)
   577  }
   578  
   579  // Boolean value that enables guessing of the MIME type for uploaded objects based on file extensions. Defaults to `true`.
   580  func (o SmbFileShareOutput) GuessMimeTypeEnabled() pulumi.BoolPtrOutput {
   581  	return o.ApplyT(func(v *SmbFileShare) pulumi.BoolPtrOutput { return v.GuessMimeTypeEnabled }).(pulumi.BoolPtrOutput)
   582  }
   583  
   584  // 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`.
   585  func (o SmbFileShareOutput) InvalidUserLists() pulumi.StringArrayOutput {
   586  	return o.ApplyT(func(v *SmbFileShare) pulumi.StringArrayOutput { return v.InvalidUserLists }).(pulumi.StringArrayOutput)
   587  }
   588  
   589  // 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`.
   590  func (o SmbFileShareOutput) KmsEncrypted() pulumi.BoolPtrOutput {
   591  	return o.ApplyT(func(v *SmbFileShare) pulumi.BoolPtrOutput { return v.KmsEncrypted }).(pulumi.BoolPtrOutput)
   592  }
   593  
   594  // Amazon Resource Name (ARN) for KMS key used for Amazon S3 server side encryption. This value can only be set when `kmsEncrypted` is true.
   595  func (o SmbFileShareOutput) KmsKeyArn() pulumi.StringPtrOutput {
   596  	return o.ApplyT(func(v *SmbFileShare) pulumi.StringPtrOutput { return v.KmsKeyArn }).(pulumi.StringPtrOutput)
   597  }
   598  
   599  // The ARN of the backed storage used for storing file data.
   600  func (o SmbFileShareOutput) LocationArn() pulumi.StringOutput {
   601  	return o.ApplyT(func(v *SmbFileShare) pulumi.StringOutput { return v.LocationArn }).(pulumi.StringOutput)
   602  }
   603  
   604  // 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 `{}`.
   605  func (o SmbFileShareOutput) NotificationPolicy() pulumi.StringPtrOutput {
   606  	return o.ApplyT(func(v *SmbFileShare) pulumi.StringPtrOutput { return v.NotificationPolicy }).(pulumi.StringPtrOutput)
   607  }
   608  
   609  // Access Control List permission for S3 objects. Defaults to `private`.
   610  func (o SmbFileShareOutput) ObjectAcl() pulumi.StringPtrOutput {
   611  	return o.ApplyT(func(v *SmbFileShare) pulumi.StringPtrOutput { return v.ObjectAcl }).(pulumi.StringPtrOutput)
   612  }
   613  
   614  // Boolean to indicate Opportunistic lock (oplock) status. Defaults to `true`.
   615  func (o SmbFileShareOutput) OplocksEnabled() pulumi.BoolOutput {
   616  	return o.ApplyT(func(v *SmbFileShare) pulumi.BoolOutput { return v.OplocksEnabled }).(pulumi.BoolOutput)
   617  }
   618  
   619  // File share path used by the NFS client to identify the mount point.
   620  func (o SmbFileShareOutput) Path() pulumi.StringOutput {
   621  	return o.ApplyT(func(v *SmbFileShare) pulumi.StringOutput { return v.Path }).(pulumi.StringOutput)
   622  }
   623  
   624  // Boolean to indicate write status of file share. File share does not accept writes if `true`. Defaults to `false`.
   625  func (o SmbFileShareOutput) ReadOnly() pulumi.BoolPtrOutput {
   626  	return o.ApplyT(func(v *SmbFileShare) pulumi.BoolPtrOutput { return v.ReadOnly }).(pulumi.BoolPtrOutput)
   627  }
   628  
   629  // 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`.
   630  func (o SmbFileShareOutput) RequesterPays() pulumi.BoolPtrOutput {
   631  	return o.ApplyT(func(v *SmbFileShare) pulumi.BoolPtrOutput { return v.RequesterPays }).(pulumi.BoolPtrOutput)
   632  }
   633  
   634  // The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes when it accesses the underlying storage.
   635  func (o SmbFileShareOutput) RoleArn() pulumi.StringOutput {
   636  	return o.ApplyT(func(v *SmbFileShare) pulumi.StringOutput { return v.RoleArn }).(pulumi.StringOutput)
   637  }
   638  
   639  // 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.
   640  func (o SmbFileShareOutput) SmbAclEnabled() pulumi.BoolPtrOutput {
   641  	return o.ApplyT(func(v *SmbFileShare) pulumi.BoolPtrOutput { return v.SmbAclEnabled }).(pulumi.BoolPtrOutput)
   642  }
   643  
   644  // 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.
   645  func (o SmbFileShareOutput) Tags() pulumi.StringMapOutput {
   646  	return o.ApplyT(func(v *SmbFileShare) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   647  }
   648  
   649  // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   650  //
   651  // Deprecated: Please use `tags` instead.
   652  func (o SmbFileShareOutput) TagsAll() pulumi.StringMapOutput {
   653  	return o.ApplyT(func(v *SmbFileShare) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   654  }
   655  
   656  // 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`.
   657  func (o SmbFileShareOutput) ValidUserLists() pulumi.StringArrayOutput {
   658  	return o.ApplyT(func(v *SmbFileShare) pulumi.StringArrayOutput { return v.ValidUserLists }).(pulumi.StringArrayOutput)
   659  }
   660  
   661  // The DNS name of the VPC endpoint for S3 private link.
   662  func (o SmbFileShareOutput) VpcEndpointDnsName() pulumi.StringPtrOutput {
   663  	return o.ApplyT(func(v *SmbFileShare) pulumi.StringPtrOutput { return v.VpcEndpointDnsName }).(pulumi.StringPtrOutput)
   664  }
   665  
   666  type SmbFileShareArrayOutput struct{ *pulumi.OutputState }
   667  
   668  func (SmbFileShareArrayOutput) ElementType() reflect.Type {
   669  	return reflect.TypeOf((*[]*SmbFileShare)(nil)).Elem()
   670  }
   671  
   672  func (o SmbFileShareArrayOutput) ToSmbFileShareArrayOutput() SmbFileShareArrayOutput {
   673  	return o
   674  }
   675  
   676  func (o SmbFileShareArrayOutput) ToSmbFileShareArrayOutputWithContext(ctx context.Context) SmbFileShareArrayOutput {
   677  	return o
   678  }
   679  
   680  func (o SmbFileShareArrayOutput) Index(i pulumi.IntInput) SmbFileShareOutput {
   681  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *SmbFileShare {
   682  		return vs[0].([]*SmbFileShare)[vs[1].(int)]
   683  	}).(SmbFileShareOutput)
   684  }
   685  
   686  type SmbFileShareMapOutput struct{ *pulumi.OutputState }
   687  
   688  func (SmbFileShareMapOutput) ElementType() reflect.Type {
   689  	return reflect.TypeOf((*map[string]*SmbFileShare)(nil)).Elem()
   690  }
   691  
   692  func (o SmbFileShareMapOutput) ToSmbFileShareMapOutput() SmbFileShareMapOutput {
   693  	return o
   694  }
   695  
   696  func (o SmbFileShareMapOutput) ToSmbFileShareMapOutputWithContext(ctx context.Context) SmbFileShareMapOutput {
   697  	return o
   698  }
   699  
   700  func (o SmbFileShareMapOutput) MapIndex(k pulumi.StringInput) SmbFileShareOutput {
   701  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *SmbFileShare {
   702  		return vs[0].(map[string]*SmbFileShare)[vs[1].(string)]
   703  	}).(SmbFileShareOutput)
   704  }
   705  
   706  func init() {
   707  	pulumi.RegisterInputType(reflect.TypeOf((*SmbFileShareInput)(nil)).Elem(), &SmbFileShare{})
   708  	pulumi.RegisterInputType(reflect.TypeOf((*SmbFileShareArrayInput)(nil)).Elem(), SmbFileShareArray{})
   709  	pulumi.RegisterInputType(reflect.TypeOf((*SmbFileShareMapInput)(nil)).Elem(), SmbFileShareMap{})
   710  	pulumi.RegisterOutputType(SmbFileShareOutput{})
   711  	pulumi.RegisterOutputType(SmbFileShareArrayOutput{})
   712  	pulumi.RegisterOutputType(SmbFileShareMapOutput{})
   713  }