github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/storagegateway/nfsFileShare.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 NFS File Share. 16 // 17 // ## Example Usage 18 // 19 // <!--Start PulumiCodeChooser --> 20 // ```go 21 // package main 22 // 23 // import ( 24 // 25 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/storagegateway" 26 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 27 // 28 // ) 29 // 30 // func main() { 31 // pulumi.Run(func(ctx *pulumi.Context) error { 32 // _, err := storagegateway.NewNfsFileShare(ctx, "example", &storagegateway.NfsFileShareArgs{ 33 // ClientLists: pulumi.StringArray{ 34 // pulumi.String("0.0.0.0/0"), 35 // }, 36 // GatewayArn: pulumi.Any(exampleAwsStoragegatewayGateway.Arn), 37 // LocationArn: pulumi.Any(exampleAwsS3Bucket.Arn), 38 // RoleArn: pulumi.Any(exampleAwsIamRole.Arn), 39 // }) 40 // if err != nil { 41 // return err 42 // } 43 // return nil 44 // }) 45 // } 46 // 47 // ``` 48 // <!--End PulumiCodeChooser --> 49 // 50 // ## Import 51 // 52 // Using `pulumi import`, import `aws_storagegateway_nfs_file_share` using the NFS File Share Amazon Resource Name (ARN). For example: 53 // 54 // ```sh 55 // $ pulumi import aws:storagegateway/nfsFileShare:NfsFileShare example arn:aws:storagegateway:us-east-1:123456789012:share/share-12345678 56 // ``` 57 type NfsFileShare struct { 58 pulumi.CustomResourceState 59 60 // Amazon Resource Name (ARN) of the NFS File Share. 61 Arn pulumi.StringOutput `pulumi:"arn"` 62 // The Amazon Resource Name (ARN) of the storage used for audit logs. 63 AuditDestinationArn pulumi.StringPtrOutput `pulumi:"auditDestinationArn"` 64 // The region of the S3 bucket used by the file share. Required when specifying `vpcEndpointDnsName`. 65 BucketRegion pulumi.StringPtrOutput `pulumi:"bucketRegion"` 66 // Refresh cache information. see Cache Attributes for more details. 67 CacheAttributes NfsFileShareCacheAttributesPtrOutput `pulumi:"cacheAttributes"` 68 // The list of clients that are allowed to access the file gateway. The list must contain either valid IP addresses or valid CIDR blocks. Set to `["0.0.0.0/0"]` to not limit access. Minimum 1 item. Maximum 100 items. 69 ClientLists pulumi.StringArrayOutput `pulumi:"clientLists"` 70 // 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`. 71 DefaultStorageClass pulumi.StringPtrOutput `pulumi:"defaultStorageClass"` 72 // The name of the file share. Must be set if an S3 prefix name is set in `locationArn`. 73 FileShareName pulumi.StringOutput `pulumi:"fileShareName"` 74 // ID of the NFS File Share. 75 FileshareId pulumi.StringOutput `pulumi:"fileshareId"` 76 // Amazon Resource Name (ARN) of the file gateway. 77 GatewayArn pulumi.StringOutput `pulumi:"gatewayArn"` 78 // Boolean value that enables guessing of the MIME type for uploaded objects based on file extensions. Defaults to `true`. 79 GuessMimeTypeEnabled pulumi.BoolPtrOutput `pulumi:"guessMimeTypeEnabled"` 80 // 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`. 81 KmsEncrypted pulumi.BoolPtrOutput `pulumi:"kmsEncrypted"` 82 // Amazon Resource Name (ARN) for KMS key used for Amazon S3 server side encryption. This value can only be set when `kmsEncrypted` is true. 83 KmsKeyArn pulumi.StringPtrOutput `pulumi:"kmsKeyArn"` 84 // The ARN of the backed storage used for storing file data. 85 LocationArn pulumi.StringOutput `pulumi:"locationArn"` 86 // Nested argument with file share default values. More information below. see NFS File Share Defaults for more details. 87 NfsFileShareDefaults NfsFileShareNfsFileShareDefaultsPtrOutput `pulumi:"nfsFileShareDefaults"` 88 // 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 `{}`. 89 NotificationPolicy pulumi.StringPtrOutput `pulumi:"notificationPolicy"` 90 // Access Control List permission for S3 objects. Defaults to `private`. 91 ObjectAcl pulumi.StringPtrOutput `pulumi:"objectAcl"` 92 // File share path used by the NFS client to identify the mount point. 93 Path pulumi.StringOutput `pulumi:"path"` 94 // Boolean to indicate write status of file share. File share does not accept writes if `true`. Defaults to `false`. 95 ReadOnly pulumi.BoolPtrOutput `pulumi:"readOnly"` 96 // 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`. 97 RequesterPays pulumi.BoolPtrOutput `pulumi:"requesterPays"` 98 // The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes when it accesses the underlying storage. 99 RoleArn pulumi.StringOutput `pulumi:"roleArn"` 100 // Maps a user to anonymous user. Defaults to `RootSquash`. Valid values: `RootSquash` (only root is mapped to anonymous user), `NoSquash` (no one is mapped to anonymous user), `AllSquash` (everyone is mapped to anonymous user) 101 Squash pulumi.StringPtrOutput `pulumi:"squash"` 102 // 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. 103 Tags pulumi.StringMapOutput `pulumi:"tags"` 104 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 105 // 106 // Deprecated: Please use `tags` instead. 107 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 108 // The DNS name of the VPC endpoint for S3 PrivateLink. 109 VpcEndpointDnsName pulumi.StringPtrOutput `pulumi:"vpcEndpointDnsName"` 110 } 111 112 // NewNfsFileShare registers a new resource with the given unique name, arguments, and options. 113 func NewNfsFileShare(ctx *pulumi.Context, 114 name string, args *NfsFileShareArgs, opts ...pulumi.ResourceOption) (*NfsFileShare, error) { 115 if args == nil { 116 return nil, errors.New("missing one or more required arguments") 117 } 118 119 if args.ClientLists == nil { 120 return nil, errors.New("invalid value for required argument 'ClientLists'") 121 } 122 if args.GatewayArn == nil { 123 return nil, errors.New("invalid value for required argument 'GatewayArn'") 124 } 125 if args.LocationArn == nil { 126 return nil, errors.New("invalid value for required argument 'LocationArn'") 127 } 128 if args.RoleArn == nil { 129 return nil, errors.New("invalid value for required argument 'RoleArn'") 130 } 131 opts = internal.PkgResourceDefaultOpts(opts) 132 var resource NfsFileShare 133 err := ctx.RegisterResource("aws:storagegateway/nfsFileShare:NfsFileShare", name, args, &resource, opts...) 134 if err != nil { 135 return nil, err 136 } 137 return &resource, nil 138 } 139 140 // GetNfsFileShare gets an existing NfsFileShare resource's state with the given name, ID, and optional 141 // state properties that are used to uniquely qualify the lookup (nil if not required). 142 func GetNfsFileShare(ctx *pulumi.Context, 143 name string, id pulumi.IDInput, state *NfsFileShareState, opts ...pulumi.ResourceOption) (*NfsFileShare, error) { 144 var resource NfsFileShare 145 err := ctx.ReadResource("aws:storagegateway/nfsFileShare:NfsFileShare", name, id, state, &resource, opts...) 146 if err != nil { 147 return nil, err 148 } 149 return &resource, nil 150 } 151 152 // Input properties used for looking up and filtering NfsFileShare resources. 153 type nfsFileShareState struct { 154 // Amazon Resource Name (ARN) of the NFS File Share. 155 Arn *string `pulumi:"arn"` 156 // The Amazon Resource Name (ARN) of the storage used for audit logs. 157 AuditDestinationArn *string `pulumi:"auditDestinationArn"` 158 // The region of the S3 bucket used by the file share. Required when specifying `vpcEndpointDnsName`. 159 BucketRegion *string `pulumi:"bucketRegion"` 160 // Refresh cache information. see Cache Attributes for more details. 161 CacheAttributes *NfsFileShareCacheAttributes `pulumi:"cacheAttributes"` 162 // The list of clients that are allowed to access the file gateway. The list must contain either valid IP addresses or valid CIDR blocks. Set to `["0.0.0.0/0"]` to not limit access. Minimum 1 item. Maximum 100 items. 163 ClientLists []string `pulumi:"clientLists"` 164 // 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`. 165 DefaultStorageClass *string `pulumi:"defaultStorageClass"` 166 // The name of the file share. Must be set if an S3 prefix name is set in `locationArn`. 167 FileShareName *string `pulumi:"fileShareName"` 168 // ID of the NFS File Share. 169 FileshareId *string `pulumi:"fileshareId"` 170 // Amazon Resource Name (ARN) of the file gateway. 171 GatewayArn *string `pulumi:"gatewayArn"` 172 // Boolean value that enables guessing of the MIME type for uploaded objects based on file extensions. Defaults to `true`. 173 GuessMimeTypeEnabled *bool `pulumi:"guessMimeTypeEnabled"` 174 // 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`. 175 KmsEncrypted *bool `pulumi:"kmsEncrypted"` 176 // Amazon Resource Name (ARN) for KMS key used for Amazon S3 server side encryption. This value can only be set when `kmsEncrypted` is true. 177 KmsKeyArn *string `pulumi:"kmsKeyArn"` 178 // The ARN of the backed storage used for storing file data. 179 LocationArn *string `pulumi:"locationArn"` 180 // Nested argument with file share default values. More information below. see NFS File Share Defaults for more details. 181 NfsFileShareDefaults *NfsFileShareNfsFileShareDefaults `pulumi:"nfsFileShareDefaults"` 182 // 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 `{}`. 183 NotificationPolicy *string `pulumi:"notificationPolicy"` 184 // Access Control List permission for S3 objects. Defaults to `private`. 185 ObjectAcl *string `pulumi:"objectAcl"` 186 // File share path used by the NFS client to identify the mount point. 187 Path *string `pulumi:"path"` 188 // Boolean to indicate write status of file share. File share does not accept writes if `true`. Defaults to `false`. 189 ReadOnly *bool `pulumi:"readOnly"` 190 // 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`. 191 RequesterPays *bool `pulumi:"requesterPays"` 192 // The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes when it accesses the underlying storage. 193 RoleArn *string `pulumi:"roleArn"` 194 // Maps a user to anonymous user. Defaults to `RootSquash`. Valid values: `RootSquash` (only root is mapped to anonymous user), `NoSquash` (no one is mapped to anonymous user), `AllSquash` (everyone is mapped to anonymous user) 195 Squash *string `pulumi:"squash"` 196 // 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. 197 Tags map[string]string `pulumi:"tags"` 198 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 199 // 200 // Deprecated: Please use `tags` instead. 201 TagsAll map[string]string `pulumi:"tagsAll"` 202 // The DNS name of the VPC endpoint for S3 PrivateLink. 203 VpcEndpointDnsName *string `pulumi:"vpcEndpointDnsName"` 204 } 205 206 type NfsFileShareState struct { 207 // Amazon Resource Name (ARN) of the NFS File Share. 208 Arn pulumi.StringPtrInput 209 // The Amazon Resource Name (ARN) of the storage used for audit logs. 210 AuditDestinationArn pulumi.StringPtrInput 211 // The region of the S3 bucket used by the file share. Required when specifying `vpcEndpointDnsName`. 212 BucketRegion pulumi.StringPtrInput 213 // Refresh cache information. see Cache Attributes for more details. 214 CacheAttributes NfsFileShareCacheAttributesPtrInput 215 // The list of clients that are allowed to access the file gateway. The list must contain either valid IP addresses or valid CIDR blocks. Set to `["0.0.0.0/0"]` to not limit access. Minimum 1 item. Maximum 100 items. 216 ClientLists pulumi.StringArrayInput 217 // 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`. 218 DefaultStorageClass pulumi.StringPtrInput 219 // The name of the file share. Must be set if an S3 prefix name is set in `locationArn`. 220 FileShareName pulumi.StringPtrInput 221 // ID of the NFS File Share. 222 FileshareId pulumi.StringPtrInput 223 // Amazon Resource Name (ARN) of the file gateway. 224 GatewayArn pulumi.StringPtrInput 225 // Boolean value that enables guessing of the MIME type for uploaded objects based on file extensions. Defaults to `true`. 226 GuessMimeTypeEnabled pulumi.BoolPtrInput 227 // 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`. 228 KmsEncrypted pulumi.BoolPtrInput 229 // Amazon Resource Name (ARN) for KMS key used for Amazon S3 server side encryption. This value can only be set when `kmsEncrypted` is true. 230 KmsKeyArn pulumi.StringPtrInput 231 // The ARN of the backed storage used for storing file data. 232 LocationArn pulumi.StringPtrInput 233 // Nested argument with file share default values. More information below. see NFS File Share Defaults for more details. 234 NfsFileShareDefaults NfsFileShareNfsFileShareDefaultsPtrInput 235 // 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 `{}`. 236 NotificationPolicy pulumi.StringPtrInput 237 // Access Control List permission for S3 objects. Defaults to `private`. 238 ObjectAcl pulumi.StringPtrInput 239 // File share path used by the NFS client to identify the mount point. 240 Path pulumi.StringPtrInput 241 // Boolean to indicate write status of file share. File share does not accept writes if `true`. Defaults to `false`. 242 ReadOnly pulumi.BoolPtrInput 243 // 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`. 244 RequesterPays pulumi.BoolPtrInput 245 // The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes when it accesses the underlying storage. 246 RoleArn pulumi.StringPtrInput 247 // Maps a user to anonymous user. Defaults to `RootSquash`. Valid values: `RootSquash` (only root is mapped to anonymous user), `NoSquash` (no one is mapped to anonymous user), `AllSquash` (everyone is mapped to anonymous user) 248 Squash pulumi.StringPtrInput 249 // 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. 250 Tags pulumi.StringMapInput 251 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 252 // 253 // Deprecated: Please use `tags` instead. 254 TagsAll pulumi.StringMapInput 255 // The DNS name of the VPC endpoint for S3 PrivateLink. 256 VpcEndpointDnsName pulumi.StringPtrInput 257 } 258 259 func (NfsFileShareState) ElementType() reflect.Type { 260 return reflect.TypeOf((*nfsFileShareState)(nil)).Elem() 261 } 262 263 type nfsFileShareArgs struct { 264 // The Amazon Resource Name (ARN) of the storage used for audit logs. 265 AuditDestinationArn *string `pulumi:"auditDestinationArn"` 266 // The region of the S3 bucket used by the file share. Required when specifying `vpcEndpointDnsName`. 267 BucketRegion *string `pulumi:"bucketRegion"` 268 // Refresh cache information. see Cache Attributes for more details. 269 CacheAttributes *NfsFileShareCacheAttributes `pulumi:"cacheAttributes"` 270 // The list of clients that are allowed to access the file gateway. The list must contain either valid IP addresses or valid CIDR blocks. Set to `["0.0.0.0/0"]` to not limit access. Minimum 1 item. Maximum 100 items. 271 ClientLists []string `pulumi:"clientLists"` 272 // 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`. 273 DefaultStorageClass *string `pulumi:"defaultStorageClass"` 274 // The name of the file share. Must be set if an S3 prefix name is set in `locationArn`. 275 FileShareName *string `pulumi:"fileShareName"` 276 // Amazon Resource Name (ARN) of the file gateway. 277 GatewayArn string `pulumi:"gatewayArn"` 278 // Boolean value that enables guessing of the MIME type for uploaded objects based on file extensions. Defaults to `true`. 279 GuessMimeTypeEnabled *bool `pulumi:"guessMimeTypeEnabled"` 280 // 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`. 281 KmsEncrypted *bool `pulumi:"kmsEncrypted"` 282 // Amazon Resource Name (ARN) for KMS key used for Amazon S3 server side encryption. This value can only be set when `kmsEncrypted` is true. 283 KmsKeyArn *string `pulumi:"kmsKeyArn"` 284 // The ARN of the backed storage used for storing file data. 285 LocationArn string `pulumi:"locationArn"` 286 // Nested argument with file share default values. More information below. see NFS File Share Defaults for more details. 287 NfsFileShareDefaults *NfsFileShareNfsFileShareDefaults `pulumi:"nfsFileShareDefaults"` 288 // 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 `{}`. 289 NotificationPolicy *string `pulumi:"notificationPolicy"` 290 // Access Control List permission for S3 objects. Defaults to `private`. 291 ObjectAcl *string `pulumi:"objectAcl"` 292 // Boolean to indicate write status of file share. File share does not accept writes if `true`. Defaults to `false`. 293 ReadOnly *bool `pulumi:"readOnly"` 294 // 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`. 295 RequesterPays *bool `pulumi:"requesterPays"` 296 // The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes when it accesses the underlying storage. 297 RoleArn string `pulumi:"roleArn"` 298 // Maps a user to anonymous user. Defaults to `RootSquash`. Valid values: `RootSquash` (only root is mapped to anonymous user), `NoSquash` (no one is mapped to anonymous user), `AllSquash` (everyone is mapped to anonymous user) 299 Squash *string `pulumi:"squash"` 300 // 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. 301 Tags map[string]string `pulumi:"tags"` 302 // The DNS name of the VPC endpoint for S3 PrivateLink. 303 VpcEndpointDnsName *string `pulumi:"vpcEndpointDnsName"` 304 } 305 306 // The set of arguments for constructing a NfsFileShare resource. 307 type NfsFileShareArgs struct { 308 // The Amazon Resource Name (ARN) of the storage used for audit logs. 309 AuditDestinationArn pulumi.StringPtrInput 310 // The region of the S3 bucket used by the file share. Required when specifying `vpcEndpointDnsName`. 311 BucketRegion pulumi.StringPtrInput 312 // Refresh cache information. see Cache Attributes for more details. 313 CacheAttributes NfsFileShareCacheAttributesPtrInput 314 // The list of clients that are allowed to access the file gateway. The list must contain either valid IP addresses or valid CIDR blocks. Set to `["0.0.0.0/0"]` to not limit access. Minimum 1 item. Maximum 100 items. 315 ClientLists pulumi.StringArrayInput 316 // 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`. 317 DefaultStorageClass pulumi.StringPtrInput 318 // The name of the file share. Must be set if an S3 prefix name is set in `locationArn`. 319 FileShareName pulumi.StringPtrInput 320 // Amazon Resource Name (ARN) of the file gateway. 321 GatewayArn pulumi.StringInput 322 // Boolean value that enables guessing of the MIME type for uploaded objects based on file extensions. Defaults to `true`. 323 GuessMimeTypeEnabled pulumi.BoolPtrInput 324 // 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`. 325 KmsEncrypted pulumi.BoolPtrInput 326 // Amazon Resource Name (ARN) for KMS key used for Amazon S3 server side encryption. This value can only be set when `kmsEncrypted` is true. 327 KmsKeyArn pulumi.StringPtrInput 328 // The ARN of the backed storage used for storing file data. 329 LocationArn pulumi.StringInput 330 // Nested argument with file share default values. More information below. see NFS File Share Defaults for more details. 331 NfsFileShareDefaults NfsFileShareNfsFileShareDefaultsPtrInput 332 // 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 `{}`. 333 NotificationPolicy pulumi.StringPtrInput 334 // Access Control List permission for S3 objects. Defaults to `private`. 335 ObjectAcl pulumi.StringPtrInput 336 // Boolean to indicate write status of file share. File share does not accept writes if `true`. Defaults to `false`. 337 ReadOnly pulumi.BoolPtrInput 338 // 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`. 339 RequesterPays pulumi.BoolPtrInput 340 // The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes when it accesses the underlying storage. 341 RoleArn pulumi.StringInput 342 // Maps a user to anonymous user. Defaults to `RootSquash`. Valid values: `RootSquash` (only root is mapped to anonymous user), `NoSquash` (no one is mapped to anonymous user), `AllSquash` (everyone is mapped to anonymous user) 343 Squash pulumi.StringPtrInput 344 // 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. 345 Tags pulumi.StringMapInput 346 // The DNS name of the VPC endpoint for S3 PrivateLink. 347 VpcEndpointDnsName pulumi.StringPtrInput 348 } 349 350 func (NfsFileShareArgs) ElementType() reflect.Type { 351 return reflect.TypeOf((*nfsFileShareArgs)(nil)).Elem() 352 } 353 354 type NfsFileShareInput interface { 355 pulumi.Input 356 357 ToNfsFileShareOutput() NfsFileShareOutput 358 ToNfsFileShareOutputWithContext(ctx context.Context) NfsFileShareOutput 359 } 360 361 func (*NfsFileShare) ElementType() reflect.Type { 362 return reflect.TypeOf((**NfsFileShare)(nil)).Elem() 363 } 364 365 func (i *NfsFileShare) ToNfsFileShareOutput() NfsFileShareOutput { 366 return i.ToNfsFileShareOutputWithContext(context.Background()) 367 } 368 369 func (i *NfsFileShare) ToNfsFileShareOutputWithContext(ctx context.Context) NfsFileShareOutput { 370 return pulumi.ToOutputWithContext(ctx, i).(NfsFileShareOutput) 371 } 372 373 // NfsFileShareArrayInput is an input type that accepts NfsFileShareArray and NfsFileShareArrayOutput values. 374 // You can construct a concrete instance of `NfsFileShareArrayInput` via: 375 // 376 // NfsFileShareArray{ NfsFileShareArgs{...} } 377 type NfsFileShareArrayInput interface { 378 pulumi.Input 379 380 ToNfsFileShareArrayOutput() NfsFileShareArrayOutput 381 ToNfsFileShareArrayOutputWithContext(context.Context) NfsFileShareArrayOutput 382 } 383 384 type NfsFileShareArray []NfsFileShareInput 385 386 func (NfsFileShareArray) ElementType() reflect.Type { 387 return reflect.TypeOf((*[]*NfsFileShare)(nil)).Elem() 388 } 389 390 func (i NfsFileShareArray) ToNfsFileShareArrayOutput() NfsFileShareArrayOutput { 391 return i.ToNfsFileShareArrayOutputWithContext(context.Background()) 392 } 393 394 func (i NfsFileShareArray) ToNfsFileShareArrayOutputWithContext(ctx context.Context) NfsFileShareArrayOutput { 395 return pulumi.ToOutputWithContext(ctx, i).(NfsFileShareArrayOutput) 396 } 397 398 // NfsFileShareMapInput is an input type that accepts NfsFileShareMap and NfsFileShareMapOutput values. 399 // You can construct a concrete instance of `NfsFileShareMapInput` via: 400 // 401 // NfsFileShareMap{ "key": NfsFileShareArgs{...} } 402 type NfsFileShareMapInput interface { 403 pulumi.Input 404 405 ToNfsFileShareMapOutput() NfsFileShareMapOutput 406 ToNfsFileShareMapOutputWithContext(context.Context) NfsFileShareMapOutput 407 } 408 409 type NfsFileShareMap map[string]NfsFileShareInput 410 411 func (NfsFileShareMap) ElementType() reflect.Type { 412 return reflect.TypeOf((*map[string]*NfsFileShare)(nil)).Elem() 413 } 414 415 func (i NfsFileShareMap) ToNfsFileShareMapOutput() NfsFileShareMapOutput { 416 return i.ToNfsFileShareMapOutputWithContext(context.Background()) 417 } 418 419 func (i NfsFileShareMap) ToNfsFileShareMapOutputWithContext(ctx context.Context) NfsFileShareMapOutput { 420 return pulumi.ToOutputWithContext(ctx, i).(NfsFileShareMapOutput) 421 } 422 423 type NfsFileShareOutput struct{ *pulumi.OutputState } 424 425 func (NfsFileShareOutput) ElementType() reflect.Type { 426 return reflect.TypeOf((**NfsFileShare)(nil)).Elem() 427 } 428 429 func (o NfsFileShareOutput) ToNfsFileShareOutput() NfsFileShareOutput { 430 return o 431 } 432 433 func (o NfsFileShareOutput) ToNfsFileShareOutputWithContext(ctx context.Context) NfsFileShareOutput { 434 return o 435 } 436 437 // Amazon Resource Name (ARN) of the NFS File Share. 438 func (o NfsFileShareOutput) Arn() pulumi.StringOutput { 439 return o.ApplyT(func(v *NfsFileShare) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 440 } 441 442 // The Amazon Resource Name (ARN) of the storage used for audit logs. 443 func (o NfsFileShareOutput) AuditDestinationArn() pulumi.StringPtrOutput { 444 return o.ApplyT(func(v *NfsFileShare) pulumi.StringPtrOutput { return v.AuditDestinationArn }).(pulumi.StringPtrOutput) 445 } 446 447 // The region of the S3 bucket used by the file share. Required when specifying `vpcEndpointDnsName`. 448 func (o NfsFileShareOutput) BucketRegion() pulumi.StringPtrOutput { 449 return o.ApplyT(func(v *NfsFileShare) pulumi.StringPtrOutput { return v.BucketRegion }).(pulumi.StringPtrOutput) 450 } 451 452 // Refresh cache information. see Cache Attributes for more details. 453 func (o NfsFileShareOutput) CacheAttributes() NfsFileShareCacheAttributesPtrOutput { 454 return o.ApplyT(func(v *NfsFileShare) NfsFileShareCacheAttributesPtrOutput { return v.CacheAttributes }).(NfsFileShareCacheAttributesPtrOutput) 455 } 456 457 // The list of clients that are allowed to access the file gateway. The list must contain either valid IP addresses or valid CIDR blocks. Set to `["0.0.0.0/0"]` to not limit access. Minimum 1 item. Maximum 100 items. 458 func (o NfsFileShareOutput) ClientLists() pulumi.StringArrayOutput { 459 return o.ApplyT(func(v *NfsFileShare) pulumi.StringArrayOutput { return v.ClientLists }).(pulumi.StringArrayOutput) 460 } 461 462 // 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`. 463 func (o NfsFileShareOutput) DefaultStorageClass() pulumi.StringPtrOutput { 464 return o.ApplyT(func(v *NfsFileShare) pulumi.StringPtrOutput { return v.DefaultStorageClass }).(pulumi.StringPtrOutput) 465 } 466 467 // The name of the file share. Must be set if an S3 prefix name is set in `locationArn`. 468 func (o NfsFileShareOutput) FileShareName() pulumi.StringOutput { 469 return o.ApplyT(func(v *NfsFileShare) pulumi.StringOutput { return v.FileShareName }).(pulumi.StringOutput) 470 } 471 472 // ID of the NFS File Share. 473 func (o NfsFileShareOutput) FileshareId() pulumi.StringOutput { 474 return o.ApplyT(func(v *NfsFileShare) pulumi.StringOutput { return v.FileshareId }).(pulumi.StringOutput) 475 } 476 477 // Amazon Resource Name (ARN) of the file gateway. 478 func (o NfsFileShareOutput) GatewayArn() pulumi.StringOutput { 479 return o.ApplyT(func(v *NfsFileShare) pulumi.StringOutput { return v.GatewayArn }).(pulumi.StringOutput) 480 } 481 482 // Boolean value that enables guessing of the MIME type for uploaded objects based on file extensions. Defaults to `true`. 483 func (o NfsFileShareOutput) GuessMimeTypeEnabled() pulumi.BoolPtrOutput { 484 return o.ApplyT(func(v *NfsFileShare) pulumi.BoolPtrOutput { return v.GuessMimeTypeEnabled }).(pulumi.BoolPtrOutput) 485 } 486 487 // 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`. 488 func (o NfsFileShareOutput) KmsEncrypted() pulumi.BoolPtrOutput { 489 return o.ApplyT(func(v *NfsFileShare) pulumi.BoolPtrOutput { return v.KmsEncrypted }).(pulumi.BoolPtrOutput) 490 } 491 492 // Amazon Resource Name (ARN) for KMS key used for Amazon S3 server side encryption. This value can only be set when `kmsEncrypted` is true. 493 func (o NfsFileShareOutput) KmsKeyArn() pulumi.StringPtrOutput { 494 return o.ApplyT(func(v *NfsFileShare) pulumi.StringPtrOutput { return v.KmsKeyArn }).(pulumi.StringPtrOutput) 495 } 496 497 // The ARN of the backed storage used for storing file data. 498 func (o NfsFileShareOutput) LocationArn() pulumi.StringOutput { 499 return o.ApplyT(func(v *NfsFileShare) pulumi.StringOutput { return v.LocationArn }).(pulumi.StringOutput) 500 } 501 502 // Nested argument with file share default values. More information below. see NFS File Share Defaults for more details. 503 func (o NfsFileShareOutput) NfsFileShareDefaults() NfsFileShareNfsFileShareDefaultsPtrOutput { 504 return o.ApplyT(func(v *NfsFileShare) NfsFileShareNfsFileShareDefaultsPtrOutput { return v.NfsFileShareDefaults }).(NfsFileShareNfsFileShareDefaultsPtrOutput) 505 } 506 507 // 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 `{}`. 508 func (o NfsFileShareOutput) NotificationPolicy() pulumi.StringPtrOutput { 509 return o.ApplyT(func(v *NfsFileShare) pulumi.StringPtrOutput { return v.NotificationPolicy }).(pulumi.StringPtrOutput) 510 } 511 512 // Access Control List permission for S3 objects. Defaults to `private`. 513 func (o NfsFileShareOutput) ObjectAcl() pulumi.StringPtrOutput { 514 return o.ApplyT(func(v *NfsFileShare) pulumi.StringPtrOutput { return v.ObjectAcl }).(pulumi.StringPtrOutput) 515 } 516 517 // File share path used by the NFS client to identify the mount point. 518 func (o NfsFileShareOutput) Path() pulumi.StringOutput { 519 return o.ApplyT(func(v *NfsFileShare) pulumi.StringOutput { return v.Path }).(pulumi.StringOutput) 520 } 521 522 // Boolean to indicate write status of file share. File share does not accept writes if `true`. Defaults to `false`. 523 func (o NfsFileShareOutput) ReadOnly() pulumi.BoolPtrOutput { 524 return o.ApplyT(func(v *NfsFileShare) pulumi.BoolPtrOutput { return v.ReadOnly }).(pulumi.BoolPtrOutput) 525 } 526 527 // 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`. 528 func (o NfsFileShareOutput) RequesterPays() pulumi.BoolPtrOutput { 529 return o.ApplyT(func(v *NfsFileShare) pulumi.BoolPtrOutput { return v.RequesterPays }).(pulumi.BoolPtrOutput) 530 } 531 532 // The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes when it accesses the underlying storage. 533 func (o NfsFileShareOutput) RoleArn() pulumi.StringOutput { 534 return o.ApplyT(func(v *NfsFileShare) pulumi.StringOutput { return v.RoleArn }).(pulumi.StringOutput) 535 } 536 537 // Maps a user to anonymous user. Defaults to `RootSquash`. Valid values: `RootSquash` (only root is mapped to anonymous user), `NoSquash` (no one is mapped to anonymous user), `AllSquash` (everyone is mapped to anonymous user) 538 func (o NfsFileShareOutput) Squash() pulumi.StringPtrOutput { 539 return o.ApplyT(func(v *NfsFileShare) pulumi.StringPtrOutput { return v.Squash }).(pulumi.StringPtrOutput) 540 } 541 542 // 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. 543 func (o NfsFileShareOutput) Tags() pulumi.StringMapOutput { 544 return o.ApplyT(func(v *NfsFileShare) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 545 } 546 547 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 548 // 549 // Deprecated: Please use `tags` instead. 550 func (o NfsFileShareOutput) TagsAll() pulumi.StringMapOutput { 551 return o.ApplyT(func(v *NfsFileShare) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 552 } 553 554 // The DNS name of the VPC endpoint for S3 PrivateLink. 555 func (o NfsFileShareOutput) VpcEndpointDnsName() pulumi.StringPtrOutput { 556 return o.ApplyT(func(v *NfsFileShare) pulumi.StringPtrOutput { return v.VpcEndpointDnsName }).(pulumi.StringPtrOutput) 557 } 558 559 type NfsFileShareArrayOutput struct{ *pulumi.OutputState } 560 561 func (NfsFileShareArrayOutput) ElementType() reflect.Type { 562 return reflect.TypeOf((*[]*NfsFileShare)(nil)).Elem() 563 } 564 565 func (o NfsFileShareArrayOutput) ToNfsFileShareArrayOutput() NfsFileShareArrayOutput { 566 return o 567 } 568 569 func (o NfsFileShareArrayOutput) ToNfsFileShareArrayOutputWithContext(ctx context.Context) NfsFileShareArrayOutput { 570 return o 571 } 572 573 func (o NfsFileShareArrayOutput) Index(i pulumi.IntInput) NfsFileShareOutput { 574 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *NfsFileShare { 575 return vs[0].([]*NfsFileShare)[vs[1].(int)] 576 }).(NfsFileShareOutput) 577 } 578 579 type NfsFileShareMapOutput struct{ *pulumi.OutputState } 580 581 func (NfsFileShareMapOutput) ElementType() reflect.Type { 582 return reflect.TypeOf((*map[string]*NfsFileShare)(nil)).Elem() 583 } 584 585 func (o NfsFileShareMapOutput) ToNfsFileShareMapOutput() NfsFileShareMapOutput { 586 return o 587 } 588 589 func (o NfsFileShareMapOutput) ToNfsFileShareMapOutputWithContext(ctx context.Context) NfsFileShareMapOutput { 590 return o 591 } 592 593 func (o NfsFileShareMapOutput) MapIndex(k pulumi.StringInput) NfsFileShareOutput { 594 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *NfsFileShare { 595 return vs[0].(map[string]*NfsFileShare)[vs[1].(string)] 596 }).(NfsFileShareOutput) 597 } 598 599 func init() { 600 pulumi.RegisterInputType(reflect.TypeOf((*NfsFileShareInput)(nil)).Elem(), &NfsFileShare{}) 601 pulumi.RegisterInputType(reflect.TypeOf((*NfsFileShareArrayInput)(nil)).Elem(), NfsFileShareArray{}) 602 pulumi.RegisterInputType(reflect.TypeOf((*NfsFileShareMapInput)(nil)).Elem(), NfsFileShareMap{}) 603 pulumi.RegisterOutputType(NfsFileShareOutput{}) 604 pulumi.RegisterOutputType(NfsFileShareArrayOutput{}) 605 pulumi.RegisterOutputType(NfsFileShareMapOutput{}) 606 }