github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/efs/fileSystem.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 efs 5 6 import ( 7 "context" 8 "reflect" 9 10 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 11 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 12 ) 13 14 // Provides an Elastic File System (EFS) File System resource. 15 // 16 // ## Example Usage 17 // 18 // ### EFS File System w/ tags 19 // 20 // <!--Start PulumiCodeChooser --> 21 // ```go 22 // package main 23 // 24 // import ( 25 // 26 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/efs" 27 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 28 // 29 // ) 30 // 31 // func main() { 32 // pulumi.Run(func(ctx *pulumi.Context) error { 33 // _, err := efs.NewFileSystem(ctx, "foo", &efs.FileSystemArgs{ 34 // CreationToken: pulumi.String("my-product"), 35 // Tags: pulumi.StringMap{ 36 // "Name": pulumi.String("MyProduct"), 37 // }, 38 // }) 39 // if err != nil { 40 // return err 41 // } 42 // return nil 43 // }) 44 // } 45 // 46 // ``` 47 // <!--End PulumiCodeChooser --> 48 // 49 // ### Using lifecycle policy 50 // 51 // <!--Start PulumiCodeChooser --> 52 // ```go 53 // package main 54 // 55 // import ( 56 // 57 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/efs" 58 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 59 // 60 // ) 61 // 62 // func main() { 63 // pulumi.Run(func(ctx *pulumi.Context) error { 64 // _, err := efs.NewFileSystem(ctx, "foo_with_lifecyle_policy", &efs.FileSystemArgs{ 65 // CreationToken: pulumi.String("my-product"), 66 // LifecyclePolicies: efs.FileSystemLifecyclePolicyArray{ 67 // &efs.FileSystemLifecyclePolicyArgs{ 68 // TransitionToIa: pulumi.String("AFTER_30_DAYS"), 69 // }, 70 // }, 71 // }) 72 // if err != nil { 73 // return err 74 // } 75 // return nil 76 // }) 77 // } 78 // 79 // ``` 80 // <!--End PulumiCodeChooser --> 81 // 82 // ## Import 83 // 84 // Using `pulumi import`, import the EFS file systems using the `id`. For example: 85 // 86 // ```sh 87 // $ pulumi import aws:efs/fileSystem:FileSystem foo fs-6fa144c6 88 // ``` 89 type FileSystem struct { 90 pulumi.CustomResourceState 91 92 // Amazon Resource Name of the file system. 93 Arn pulumi.StringOutput `pulumi:"arn"` 94 // The identifier of the Availability Zone in which the file system's One Zone storage classes exist. 95 AvailabilityZoneId pulumi.StringOutput `pulumi:"availabilityZoneId"` 96 // the AWS Availability Zone in which to create the file system. Used to create a file system that uses One Zone storage classes. See [user guide](https://docs.aws.amazon.com/efs/latest/ug/availability-durability.html) for more information. 97 AvailabilityZoneName pulumi.StringOutput `pulumi:"availabilityZoneName"` 98 // A unique name (a maximum of 64 characters are allowed) 99 // used as reference when creating the Elastic File System to ensure idempotent file 100 // system creation. By default generated by this provider. See [Elastic File System] 101 // user guide for more information. 102 CreationToken pulumi.StringOutput `pulumi:"creationToken"` 103 // The DNS name for the filesystem per [documented convention](http://docs.aws.amazon.com/efs/latest/ug/mounting-fs-mount-cmd-dns-name.html). 104 DnsName pulumi.StringOutput `pulumi:"dnsName"` 105 // If true, the disk will be encrypted. 106 Encrypted pulumi.BoolOutput `pulumi:"encrypted"` 107 // The ARN for the KMS encryption key. When specifying kms_key_id, encrypted needs to be set to true. 108 KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"` 109 // A file system [lifecycle policy](https://docs.aws.amazon.com/efs/latest/ug/API_LifecyclePolicy.html) object. See `lifecyclePolicy` block below for details. 110 LifecyclePolicies FileSystemLifecyclePolicyArrayOutput `pulumi:"lifecyclePolicies"` 111 // The value of the file system's `Name` tag. 112 Name pulumi.StringOutput `pulumi:"name"` 113 // The current number of mount targets that the file system has. 114 NumberOfMountTargets pulumi.IntOutput `pulumi:"numberOfMountTargets"` 115 // The AWS account that created the file system. If the file system was createdby an IAM user, the parent account to which the user belongs is the owner. 116 OwnerId pulumi.StringOutput `pulumi:"ownerId"` 117 // The file system performance mode. Can be either `"generalPurpose"` or `"maxIO"` (Default: `"generalPurpose"`). 118 PerformanceMode pulumi.StringOutput `pulumi:"performanceMode"` 119 // A file system [protection](https://docs.aws.amazon.com/efs/latest/ug/API_FileSystemProtectionDescription.html) object. See `protection` block below for details. 120 Protection FileSystemProtectionOutput `pulumi:"protection"` 121 // The throughput, measured in MiB/s, that you want to provision for the file system. Only applicable with `throughputMode` set to `provisioned`. 122 ProvisionedThroughputInMibps pulumi.Float64PtrOutput `pulumi:"provisionedThroughputInMibps"` 123 // The latest known metered size (in bytes) of data stored in the file system, the value is not the exact size that the file system was at any point in time. See Size In Bytes. 124 SizeInBytes FileSystemSizeInByteArrayOutput `pulumi:"sizeInBytes"` 125 // A map of tags to assign to the file system. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 126 Tags pulumi.StringMapOutput `pulumi:"tags"` 127 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 128 // 129 // Deprecated: Please use `tags` instead. 130 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 131 // Throughput mode for the file system. Defaults to `bursting`. Valid values: `bursting`, `provisioned`, or `elastic`. When using `provisioned`, also set `provisionedThroughputInMibps`. 132 ThroughputMode pulumi.StringPtrOutput `pulumi:"throughputMode"` 133 } 134 135 // NewFileSystem registers a new resource with the given unique name, arguments, and options. 136 func NewFileSystem(ctx *pulumi.Context, 137 name string, args *FileSystemArgs, opts ...pulumi.ResourceOption) (*FileSystem, error) { 138 if args == nil { 139 args = &FileSystemArgs{} 140 } 141 142 opts = internal.PkgResourceDefaultOpts(opts) 143 var resource FileSystem 144 err := ctx.RegisterResource("aws:efs/fileSystem:FileSystem", name, args, &resource, opts...) 145 if err != nil { 146 return nil, err 147 } 148 return &resource, nil 149 } 150 151 // GetFileSystem gets an existing FileSystem resource's state with the given name, ID, and optional 152 // state properties that are used to uniquely qualify the lookup (nil if not required). 153 func GetFileSystem(ctx *pulumi.Context, 154 name string, id pulumi.IDInput, state *FileSystemState, opts ...pulumi.ResourceOption) (*FileSystem, error) { 155 var resource FileSystem 156 err := ctx.ReadResource("aws:efs/fileSystem:FileSystem", name, id, state, &resource, opts...) 157 if err != nil { 158 return nil, err 159 } 160 return &resource, nil 161 } 162 163 // Input properties used for looking up and filtering FileSystem resources. 164 type fileSystemState struct { 165 // Amazon Resource Name of the file system. 166 Arn *string `pulumi:"arn"` 167 // The identifier of the Availability Zone in which the file system's One Zone storage classes exist. 168 AvailabilityZoneId *string `pulumi:"availabilityZoneId"` 169 // the AWS Availability Zone in which to create the file system. Used to create a file system that uses One Zone storage classes. See [user guide](https://docs.aws.amazon.com/efs/latest/ug/availability-durability.html) for more information. 170 AvailabilityZoneName *string `pulumi:"availabilityZoneName"` 171 // A unique name (a maximum of 64 characters are allowed) 172 // used as reference when creating the Elastic File System to ensure idempotent file 173 // system creation. By default generated by this provider. See [Elastic File System] 174 // user guide for more information. 175 CreationToken *string `pulumi:"creationToken"` 176 // The DNS name for the filesystem per [documented convention](http://docs.aws.amazon.com/efs/latest/ug/mounting-fs-mount-cmd-dns-name.html). 177 DnsName *string `pulumi:"dnsName"` 178 // If true, the disk will be encrypted. 179 Encrypted *bool `pulumi:"encrypted"` 180 // The ARN for the KMS encryption key. When specifying kms_key_id, encrypted needs to be set to true. 181 KmsKeyId *string `pulumi:"kmsKeyId"` 182 // A file system [lifecycle policy](https://docs.aws.amazon.com/efs/latest/ug/API_LifecyclePolicy.html) object. See `lifecyclePolicy` block below for details. 183 LifecyclePolicies []FileSystemLifecyclePolicy `pulumi:"lifecyclePolicies"` 184 // The value of the file system's `Name` tag. 185 Name *string `pulumi:"name"` 186 // The current number of mount targets that the file system has. 187 NumberOfMountTargets *int `pulumi:"numberOfMountTargets"` 188 // The AWS account that created the file system. If the file system was createdby an IAM user, the parent account to which the user belongs is the owner. 189 OwnerId *string `pulumi:"ownerId"` 190 // The file system performance mode. Can be either `"generalPurpose"` or `"maxIO"` (Default: `"generalPurpose"`). 191 PerformanceMode *string `pulumi:"performanceMode"` 192 // A file system [protection](https://docs.aws.amazon.com/efs/latest/ug/API_FileSystemProtectionDescription.html) object. See `protection` block below for details. 193 Protection *FileSystemProtection `pulumi:"protection"` 194 // The throughput, measured in MiB/s, that you want to provision for the file system. Only applicable with `throughputMode` set to `provisioned`. 195 ProvisionedThroughputInMibps *float64 `pulumi:"provisionedThroughputInMibps"` 196 // The latest known metered size (in bytes) of data stored in the file system, the value is not the exact size that the file system was at any point in time. See Size In Bytes. 197 SizeInBytes []FileSystemSizeInByte `pulumi:"sizeInBytes"` 198 // A map of tags to assign to the file system. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 199 Tags map[string]string `pulumi:"tags"` 200 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 201 // 202 // Deprecated: Please use `tags` instead. 203 TagsAll map[string]string `pulumi:"tagsAll"` 204 // Throughput mode for the file system. Defaults to `bursting`. Valid values: `bursting`, `provisioned`, or `elastic`. When using `provisioned`, also set `provisionedThroughputInMibps`. 205 ThroughputMode *string `pulumi:"throughputMode"` 206 } 207 208 type FileSystemState struct { 209 // Amazon Resource Name of the file system. 210 Arn pulumi.StringPtrInput 211 // The identifier of the Availability Zone in which the file system's One Zone storage classes exist. 212 AvailabilityZoneId pulumi.StringPtrInput 213 // the AWS Availability Zone in which to create the file system. Used to create a file system that uses One Zone storage classes. See [user guide](https://docs.aws.amazon.com/efs/latest/ug/availability-durability.html) for more information. 214 AvailabilityZoneName pulumi.StringPtrInput 215 // A unique name (a maximum of 64 characters are allowed) 216 // used as reference when creating the Elastic File System to ensure idempotent file 217 // system creation. By default generated by this provider. See [Elastic File System] 218 // user guide for more information. 219 CreationToken pulumi.StringPtrInput 220 // The DNS name for the filesystem per [documented convention](http://docs.aws.amazon.com/efs/latest/ug/mounting-fs-mount-cmd-dns-name.html). 221 DnsName pulumi.StringPtrInput 222 // If true, the disk will be encrypted. 223 Encrypted pulumi.BoolPtrInput 224 // The ARN for the KMS encryption key. When specifying kms_key_id, encrypted needs to be set to true. 225 KmsKeyId pulumi.StringPtrInput 226 // A file system [lifecycle policy](https://docs.aws.amazon.com/efs/latest/ug/API_LifecyclePolicy.html) object. See `lifecyclePolicy` block below for details. 227 LifecyclePolicies FileSystemLifecyclePolicyArrayInput 228 // The value of the file system's `Name` tag. 229 Name pulumi.StringPtrInput 230 // The current number of mount targets that the file system has. 231 NumberOfMountTargets pulumi.IntPtrInput 232 // The AWS account that created the file system. If the file system was createdby an IAM user, the parent account to which the user belongs is the owner. 233 OwnerId pulumi.StringPtrInput 234 // The file system performance mode. Can be either `"generalPurpose"` or `"maxIO"` (Default: `"generalPurpose"`). 235 PerformanceMode pulumi.StringPtrInput 236 // A file system [protection](https://docs.aws.amazon.com/efs/latest/ug/API_FileSystemProtectionDescription.html) object. See `protection` block below for details. 237 Protection FileSystemProtectionPtrInput 238 // The throughput, measured in MiB/s, that you want to provision for the file system. Only applicable with `throughputMode` set to `provisioned`. 239 ProvisionedThroughputInMibps pulumi.Float64PtrInput 240 // The latest known metered size (in bytes) of data stored in the file system, the value is not the exact size that the file system was at any point in time. See Size In Bytes. 241 SizeInBytes FileSystemSizeInByteArrayInput 242 // A map of tags to assign to the file system. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 243 Tags pulumi.StringMapInput 244 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 245 // 246 // Deprecated: Please use `tags` instead. 247 TagsAll pulumi.StringMapInput 248 // Throughput mode for the file system. Defaults to `bursting`. Valid values: `bursting`, `provisioned`, or `elastic`. When using `provisioned`, also set `provisionedThroughputInMibps`. 249 ThroughputMode pulumi.StringPtrInput 250 } 251 252 func (FileSystemState) ElementType() reflect.Type { 253 return reflect.TypeOf((*fileSystemState)(nil)).Elem() 254 } 255 256 type fileSystemArgs struct { 257 // the AWS Availability Zone in which to create the file system. Used to create a file system that uses One Zone storage classes. See [user guide](https://docs.aws.amazon.com/efs/latest/ug/availability-durability.html) for more information. 258 AvailabilityZoneName *string `pulumi:"availabilityZoneName"` 259 // A unique name (a maximum of 64 characters are allowed) 260 // used as reference when creating the Elastic File System to ensure idempotent file 261 // system creation. By default generated by this provider. See [Elastic File System] 262 // user guide for more information. 263 CreationToken *string `pulumi:"creationToken"` 264 // If true, the disk will be encrypted. 265 Encrypted *bool `pulumi:"encrypted"` 266 // The ARN for the KMS encryption key. When specifying kms_key_id, encrypted needs to be set to true. 267 KmsKeyId *string `pulumi:"kmsKeyId"` 268 // A file system [lifecycle policy](https://docs.aws.amazon.com/efs/latest/ug/API_LifecyclePolicy.html) object. See `lifecyclePolicy` block below for details. 269 LifecyclePolicies []FileSystemLifecyclePolicy `pulumi:"lifecyclePolicies"` 270 // The file system performance mode. Can be either `"generalPurpose"` or `"maxIO"` (Default: `"generalPurpose"`). 271 PerformanceMode *string `pulumi:"performanceMode"` 272 // A file system [protection](https://docs.aws.amazon.com/efs/latest/ug/API_FileSystemProtectionDescription.html) object. See `protection` block below for details. 273 Protection *FileSystemProtection `pulumi:"protection"` 274 // The throughput, measured in MiB/s, that you want to provision for the file system. Only applicable with `throughputMode` set to `provisioned`. 275 ProvisionedThroughputInMibps *float64 `pulumi:"provisionedThroughputInMibps"` 276 // A map of tags to assign to the file system. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 277 Tags map[string]string `pulumi:"tags"` 278 // Throughput mode for the file system. Defaults to `bursting`. Valid values: `bursting`, `provisioned`, or `elastic`. When using `provisioned`, also set `provisionedThroughputInMibps`. 279 ThroughputMode *string `pulumi:"throughputMode"` 280 } 281 282 // The set of arguments for constructing a FileSystem resource. 283 type FileSystemArgs struct { 284 // the AWS Availability Zone in which to create the file system. Used to create a file system that uses One Zone storage classes. See [user guide](https://docs.aws.amazon.com/efs/latest/ug/availability-durability.html) for more information. 285 AvailabilityZoneName pulumi.StringPtrInput 286 // A unique name (a maximum of 64 characters are allowed) 287 // used as reference when creating the Elastic File System to ensure idempotent file 288 // system creation. By default generated by this provider. See [Elastic File System] 289 // user guide for more information. 290 CreationToken pulumi.StringPtrInput 291 // If true, the disk will be encrypted. 292 Encrypted pulumi.BoolPtrInput 293 // The ARN for the KMS encryption key. When specifying kms_key_id, encrypted needs to be set to true. 294 KmsKeyId pulumi.StringPtrInput 295 // A file system [lifecycle policy](https://docs.aws.amazon.com/efs/latest/ug/API_LifecyclePolicy.html) object. See `lifecyclePolicy` block below for details. 296 LifecyclePolicies FileSystemLifecyclePolicyArrayInput 297 // The file system performance mode. Can be either `"generalPurpose"` or `"maxIO"` (Default: `"generalPurpose"`). 298 PerformanceMode pulumi.StringPtrInput 299 // A file system [protection](https://docs.aws.amazon.com/efs/latest/ug/API_FileSystemProtectionDescription.html) object. See `protection` block below for details. 300 Protection FileSystemProtectionPtrInput 301 // The throughput, measured in MiB/s, that you want to provision for the file system. Only applicable with `throughputMode` set to `provisioned`. 302 ProvisionedThroughputInMibps pulumi.Float64PtrInput 303 // A map of tags to assign to the file system. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 304 Tags pulumi.StringMapInput 305 // Throughput mode for the file system. Defaults to `bursting`. Valid values: `bursting`, `provisioned`, or `elastic`. When using `provisioned`, also set `provisionedThroughputInMibps`. 306 ThroughputMode pulumi.StringPtrInput 307 } 308 309 func (FileSystemArgs) ElementType() reflect.Type { 310 return reflect.TypeOf((*fileSystemArgs)(nil)).Elem() 311 } 312 313 type FileSystemInput interface { 314 pulumi.Input 315 316 ToFileSystemOutput() FileSystemOutput 317 ToFileSystemOutputWithContext(ctx context.Context) FileSystemOutput 318 } 319 320 func (*FileSystem) ElementType() reflect.Type { 321 return reflect.TypeOf((**FileSystem)(nil)).Elem() 322 } 323 324 func (i *FileSystem) ToFileSystemOutput() FileSystemOutput { 325 return i.ToFileSystemOutputWithContext(context.Background()) 326 } 327 328 func (i *FileSystem) ToFileSystemOutputWithContext(ctx context.Context) FileSystemOutput { 329 return pulumi.ToOutputWithContext(ctx, i).(FileSystemOutput) 330 } 331 332 // FileSystemArrayInput is an input type that accepts FileSystemArray and FileSystemArrayOutput values. 333 // You can construct a concrete instance of `FileSystemArrayInput` via: 334 // 335 // FileSystemArray{ FileSystemArgs{...} } 336 type FileSystemArrayInput interface { 337 pulumi.Input 338 339 ToFileSystemArrayOutput() FileSystemArrayOutput 340 ToFileSystemArrayOutputWithContext(context.Context) FileSystemArrayOutput 341 } 342 343 type FileSystemArray []FileSystemInput 344 345 func (FileSystemArray) ElementType() reflect.Type { 346 return reflect.TypeOf((*[]*FileSystem)(nil)).Elem() 347 } 348 349 func (i FileSystemArray) ToFileSystemArrayOutput() FileSystemArrayOutput { 350 return i.ToFileSystemArrayOutputWithContext(context.Background()) 351 } 352 353 func (i FileSystemArray) ToFileSystemArrayOutputWithContext(ctx context.Context) FileSystemArrayOutput { 354 return pulumi.ToOutputWithContext(ctx, i).(FileSystemArrayOutput) 355 } 356 357 // FileSystemMapInput is an input type that accepts FileSystemMap and FileSystemMapOutput values. 358 // You can construct a concrete instance of `FileSystemMapInput` via: 359 // 360 // FileSystemMap{ "key": FileSystemArgs{...} } 361 type FileSystemMapInput interface { 362 pulumi.Input 363 364 ToFileSystemMapOutput() FileSystemMapOutput 365 ToFileSystemMapOutputWithContext(context.Context) FileSystemMapOutput 366 } 367 368 type FileSystemMap map[string]FileSystemInput 369 370 func (FileSystemMap) ElementType() reflect.Type { 371 return reflect.TypeOf((*map[string]*FileSystem)(nil)).Elem() 372 } 373 374 func (i FileSystemMap) ToFileSystemMapOutput() FileSystemMapOutput { 375 return i.ToFileSystemMapOutputWithContext(context.Background()) 376 } 377 378 func (i FileSystemMap) ToFileSystemMapOutputWithContext(ctx context.Context) FileSystemMapOutput { 379 return pulumi.ToOutputWithContext(ctx, i).(FileSystemMapOutput) 380 } 381 382 type FileSystemOutput struct{ *pulumi.OutputState } 383 384 func (FileSystemOutput) ElementType() reflect.Type { 385 return reflect.TypeOf((**FileSystem)(nil)).Elem() 386 } 387 388 func (o FileSystemOutput) ToFileSystemOutput() FileSystemOutput { 389 return o 390 } 391 392 func (o FileSystemOutput) ToFileSystemOutputWithContext(ctx context.Context) FileSystemOutput { 393 return o 394 } 395 396 // Amazon Resource Name of the file system. 397 func (o FileSystemOutput) Arn() pulumi.StringOutput { 398 return o.ApplyT(func(v *FileSystem) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 399 } 400 401 // The identifier of the Availability Zone in which the file system's One Zone storage classes exist. 402 func (o FileSystemOutput) AvailabilityZoneId() pulumi.StringOutput { 403 return o.ApplyT(func(v *FileSystem) pulumi.StringOutput { return v.AvailabilityZoneId }).(pulumi.StringOutput) 404 } 405 406 // the AWS Availability Zone in which to create the file system. Used to create a file system that uses One Zone storage classes. See [user guide](https://docs.aws.amazon.com/efs/latest/ug/availability-durability.html) for more information. 407 func (o FileSystemOutput) AvailabilityZoneName() pulumi.StringOutput { 408 return o.ApplyT(func(v *FileSystem) pulumi.StringOutput { return v.AvailabilityZoneName }).(pulumi.StringOutput) 409 } 410 411 // A unique name (a maximum of 64 characters are allowed) 412 // used as reference when creating the Elastic File System to ensure idempotent file 413 // system creation. By default generated by this provider. See [Elastic File System] 414 // user guide for more information. 415 func (o FileSystemOutput) CreationToken() pulumi.StringOutput { 416 return o.ApplyT(func(v *FileSystem) pulumi.StringOutput { return v.CreationToken }).(pulumi.StringOutput) 417 } 418 419 // The DNS name for the filesystem per [documented convention](http://docs.aws.amazon.com/efs/latest/ug/mounting-fs-mount-cmd-dns-name.html). 420 func (o FileSystemOutput) DnsName() pulumi.StringOutput { 421 return o.ApplyT(func(v *FileSystem) pulumi.StringOutput { return v.DnsName }).(pulumi.StringOutput) 422 } 423 424 // If true, the disk will be encrypted. 425 func (o FileSystemOutput) Encrypted() pulumi.BoolOutput { 426 return o.ApplyT(func(v *FileSystem) pulumi.BoolOutput { return v.Encrypted }).(pulumi.BoolOutput) 427 } 428 429 // The ARN for the KMS encryption key. When specifying kms_key_id, encrypted needs to be set to true. 430 func (o FileSystemOutput) KmsKeyId() pulumi.StringOutput { 431 return o.ApplyT(func(v *FileSystem) pulumi.StringOutput { return v.KmsKeyId }).(pulumi.StringOutput) 432 } 433 434 // A file system [lifecycle policy](https://docs.aws.amazon.com/efs/latest/ug/API_LifecyclePolicy.html) object. See `lifecyclePolicy` block below for details. 435 func (o FileSystemOutput) LifecyclePolicies() FileSystemLifecyclePolicyArrayOutput { 436 return o.ApplyT(func(v *FileSystem) FileSystemLifecyclePolicyArrayOutput { return v.LifecyclePolicies }).(FileSystemLifecyclePolicyArrayOutput) 437 } 438 439 // The value of the file system's `Name` tag. 440 func (o FileSystemOutput) Name() pulumi.StringOutput { 441 return o.ApplyT(func(v *FileSystem) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 442 } 443 444 // The current number of mount targets that the file system has. 445 func (o FileSystemOutput) NumberOfMountTargets() pulumi.IntOutput { 446 return o.ApplyT(func(v *FileSystem) pulumi.IntOutput { return v.NumberOfMountTargets }).(pulumi.IntOutput) 447 } 448 449 // The AWS account that created the file system. If the file system was createdby an IAM user, the parent account to which the user belongs is the owner. 450 func (o FileSystemOutput) OwnerId() pulumi.StringOutput { 451 return o.ApplyT(func(v *FileSystem) pulumi.StringOutput { return v.OwnerId }).(pulumi.StringOutput) 452 } 453 454 // The file system performance mode. Can be either `"generalPurpose"` or `"maxIO"` (Default: `"generalPurpose"`). 455 func (o FileSystemOutput) PerformanceMode() pulumi.StringOutput { 456 return o.ApplyT(func(v *FileSystem) pulumi.StringOutput { return v.PerformanceMode }).(pulumi.StringOutput) 457 } 458 459 // A file system [protection](https://docs.aws.amazon.com/efs/latest/ug/API_FileSystemProtectionDescription.html) object. See `protection` block below for details. 460 func (o FileSystemOutput) Protection() FileSystemProtectionOutput { 461 return o.ApplyT(func(v *FileSystem) FileSystemProtectionOutput { return v.Protection }).(FileSystemProtectionOutput) 462 } 463 464 // The throughput, measured in MiB/s, that you want to provision for the file system. Only applicable with `throughputMode` set to `provisioned`. 465 func (o FileSystemOutput) ProvisionedThroughputInMibps() pulumi.Float64PtrOutput { 466 return o.ApplyT(func(v *FileSystem) pulumi.Float64PtrOutput { return v.ProvisionedThroughputInMibps }).(pulumi.Float64PtrOutput) 467 } 468 469 // The latest known metered size (in bytes) of data stored in the file system, the value is not the exact size that the file system was at any point in time. See Size In Bytes. 470 func (o FileSystemOutput) SizeInBytes() FileSystemSizeInByteArrayOutput { 471 return o.ApplyT(func(v *FileSystem) FileSystemSizeInByteArrayOutput { return v.SizeInBytes }).(FileSystemSizeInByteArrayOutput) 472 } 473 474 // A map of tags to assign to the file system. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 475 func (o FileSystemOutput) Tags() pulumi.StringMapOutput { 476 return o.ApplyT(func(v *FileSystem) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 477 } 478 479 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 480 // 481 // Deprecated: Please use `tags` instead. 482 func (o FileSystemOutput) TagsAll() pulumi.StringMapOutput { 483 return o.ApplyT(func(v *FileSystem) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 484 } 485 486 // Throughput mode for the file system. Defaults to `bursting`. Valid values: `bursting`, `provisioned`, or `elastic`. When using `provisioned`, also set `provisionedThroughputInMibps`. 487 func (o FileSystemOutput) ThroughputMode() pulumi.StringPtrOutput { 488 return o.ApplyT(func(v *FileSystem) pulumi.StringPtrOutput { return v.ThroughputMode }).(pulumi.StringPtrOutput) 489 } 490 491 type FileSystemArrayOutput struct{ *pulumi.OutputState } 492 493 func (FileSystemArrayOutput) ElementType() reflect.Type { 494 return reflect.TypeOf((*[]*FileSystem)(nil)).Elem() 495 } 496 497 func (o FileSystemArrayOutput) ToFileSystemArrayOutput() FileSystemArrayOutput { 498 return o 499 } 500 501 func (o FileSystemArrayOutput) ToFileSystemArrayOutputWithContext(ctx context.Context) FileSystemArrayOutput { 502 return o 503 } 504 505 func (o FileSystemArrayOutput) Index(i pulumi.IntInput) FileSystemOutput { 506 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *FileSystem { 507 return vs[0].([]*FileSystem)[vs[1].(int)] 508 }).(FileSystemOutput) 509 } 510 511 type FileSystemMapOutput struct{ *pulumi.OutputState } 512 513 func (FileSystemMapOutput) ElementType() reflect.Type { 514 return reflect.TypeOf((*map[string]*FileSystem)(nil)).Elem() 515 } 516 517 func (o FileSystemMapOutput) ToFileSystemMapOutput() FileSystemMapOutput { 518 return o 519 } 520 521 func (o FileSystemMapOutput) ToFileSystemMapOutputWithContext(ctx context.Context) FileSystemMapOutput { 522 return o 523 } 524 525 func (o FileSystemMapOutput) MapIndex(k pulumi.StringInput) FileSystemOutput { 526 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *FileSystem { 527 return vs[0].(map[string]*FileSystem)[vs[1].(string)] 528 }).(FileSystemOutput) 529 } 530 531 func init() { 532 pulumi.RegisterInputType(reflect.TypeOf((*FileSystemInput)(nil)).Elem(), &FileSystem{}) 533 pulumi.RegisterInputType(reflect.TypeOf((*FileSystemArrayInput)(nil)).Elem(), FileSystemArray{}) 534 pulumi.RegisterInputType(reflect.TypeOf((*FileSystemMapInput)(nil)).Elem(), FileSystemMap{}) 535 pulumi.RegisterOutputType(FileSystemOutput{}) 536 pulumi.RegisterOutputType(FileSystemArrayOutput{}) 537 pulumi.RegisterOutputType(FileSystemMapOutput{}) 538 }