github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/fsx/lustreFileSystem.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 fsx 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 a FSx Lustre File System. See the [FSx Lustre Guide](https://docs.aws.amazon.com/fsx/latest/LustreGuide/what-is.html) for more information. 16 // 17 // > **NOTE:** `autoImportPolicy`, `exportPath`, `importPath` and `importedFileChunkSize` are not supported with the `PERSISTENT_2` deployment type. Use `fsx.DataRepositoryAssociation` instead. 18 // 19 // ## Example Usage 20 // 21 // <!--Start PulumiCodeChooser --> 22 // ```go 23 // package main 24 // 25 // import ( 26 // 27 // "fmt" 28 // 29 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fsx" 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 := fsx.NewLustreFileSystem(ctx, "example", &fsx.LustreFileSystemArgs{ 37 // ImportPath: pulumi.String(fmt.Sprintf("s3://%v", exampleAwsS3Bucket.Bucket)), 38 // StorageCapacity: pulumi.Int(1200), 39 // SubnetIds: pulumi.Any(exampleAwsSubnet.Id), 40 // }) 41 // if err != nil { 42 // return err 43 // } 44 // return nil 45 // }) 46 // } 47 // 48 // ``` 49 // <!--End PulumiCodeChooser --> 50 // 51 // ## Import 52 // 53 // Using `pulumi import`, import FSx File Systems using the `id`. For example: 54 // 55 // ```sh 56 // $ pulumi import aws:fsx/lustreFileSystem:LustreFileSystem example fs-543ab12b1ca672f33 57 // ``` 58 // Certain resource arguments, like `security_group_ids`, do not have a FSx API method for reading the information after creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example: 59 type LustreFileSystem struct { 60 pulumi.CustomResourceState 61 62 // Amazon Resource Name of the file system. 63 Arn pulumi.StringOutput `pulumi:"arn"` 64 // How Amazon FSx keeps your file and directory listings up to date as you add or modify objects in your linked S3 bucket. see [Auto Import Data Repo](https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html) for more details. Only supported on `PERSISTENT_1` deployment types. 65 AutoImportPolicy pulumi.StringOutput `pulumi:"autoImportPolicy"` 66 // The number of days to retain automatic backups. Setting this to 0 disables automatic backups. You can retain automatic backups for a maximum of 90 days. only valid for `PERSISTENT_1` and `PERSISTENT_2` deployment_type. 67 AutomaticBackupRetentionDays pulumi.IntOutput `pulumi:"automaticBackupRetentionDays"` 68 // The ID of the source backup to create the filesystem from. 69 BackupId pulumi.StringPtrOutput `pulumi:"backupId"` 70 // A boolean flag indicating whether tags for the file system should be copied to backups. Applicable for `PERSISTENT_1` and `PERSISTENT_2` deployment_type. The default value is false. 71 CopyTagsToBackups pulumi.BoolPtrOutput `pulumi:"copyTagsToBackups"` 72 // A recurring daily time, in the format HH:MM. HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute of the hour. For example, 05:00 specifies 5 AM daily. only valid for `PERSISTENT_1` and `PERSISTENT_2` deployment_type. Requires `automaticBackupRetentionDays` to be set. 73 DailyAutomaticBackupStartTime pulumi.StringOutput `pulumi:"dailyAutomaticBackupStartTime"` 74 // Sets the data compression configuration for the file system. Valid values are `LZ4` and `NONE`. Default value is `NONE`. Unsetting this value reverts the compression type back to `NONE`. 75 DataCompressionType pulumi.StringPtrOutput `pulumi:"dataCompressionType"` 76 // The filesystem deployment type. One of: `SCRATCH_1`, `SCRATCH_2`, `PERSISTENT_1`, `PERSISTENT_2`. 77 DeploymentType pulumi.StringPtrOutput `pulumi:"deploymentType"` 78 // DNS name for the file system, e.g., `fs-12345678.fsx.us-west-2.amazonaws.com` 79 DnsName pulumi.StringOutput `pulumi:"dnsName"` 80 // The type of drive cache used by `PERSISTENT_1` filesystems that are provisioned with `HDD` storage_type. Required for `HDD` storage_type, set to either `READ` or `NONE`. 81 DriveCacheType pulumi.StringPtrOutput `pulumi:"driveCacheType"` 82 // S3 URI (with optional prefix) where the root of your Amazon FSx file system is exported. Can only be specified with `importPath` argument and the path must use the same Amazon S3 bucket as specified in `importPath`. Set equal to `importPath` to overwrite files on export. Defaults to `s3://{IMPORT BUCKET}/FSxLustre{CREATION TIMESTAMP}`. Only supported on `PERSISTENT_1` deployment types. 83 ExportPath pulumi.StringOutput `pulumi:"exportPath"` 84 // Sets the Lustre version for the file system that you're creating. Valid values are 2.10 for `SCRATCH_1`, `SCRATCH_2` and `PERSISTENT_1` deployment types. Valid values for 2.12 include all deployment types. 85 FileSystemTypeVersion pulumi.StringOutput `pulumi:"fileSystemTypeVersion"` 86 // S3 URI (with optional prefix) that you're using as the data repository for your FSx for Lustre file system. For example, `s3://example-bucket/optional-prefix/`. Only supported on `PERSISTENT_1` deployment types. 87 ImportPath pulumi.StringPtrOutput `pulumi:"importPath"` 88 // For files imported from a data repository, this value determines the stripe count and maximum amount of data per file (in MiB) stored on a single physical disk. Can only be specified with `importPath` argument. Defaults to `1024`. Minimum of `1` and maximum of `512000`. Only supported on `PERSISTENT_1` deployment types. 89 ImportedFileChunkSize pulumi.IntOutput `pulumi:"importedFileChunkSize"` 90 // ARN for the KMS Key to encrypt the file system at rest, applicable for `PERSISTENT_1` and `PERSISTENT_2` deployment_type. Defaults to an AWS managed KMS Key. 91 KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"` 92 // The Lustre logging configuration used when creating an Amazon FSx for Lustre file system. When logging is enabled, Lustre logs error and warning events for data repositories associated with your file system to Amazon CloudWatch Logs. 93 LogConfiguration LustreFileSystemLogConfigurationOutput `pulumi:"logConfiguration"` 94 // The value to be used when mounting the filesystem. 95 MountName pulumi.StringOutput `pulumi:"mountName"` 96 // Set of Elastic Network Interface identifiers from which the file system is accessible. As explained in the [documentation](https://docs.aws.amazon.com/fsx/latest/LustreGuide/mounting-on-premises.html), the first network interface returned is the primary network interface. 97 NetworkInterfaceIds pulumi.StringArrayOutput `pulumi:"networkInterfaceIds"` 98 // AWS account identifier that created the file system. 99 OwnerId pulumi.StringOutput `pulumi:"ownerId"` 100 // Describes the amount of read and write throughput for each 1 tebibyte of storage, in MB/s/TiB, required for the `PERSISTENT_1` and `PERSISTENT_2` deployment_type. Valid values for `PERSISTENT_1` deploymentType and `SSD` storageType are 50, 100, 200. Valid values for `PERSISTENT_1` deploymentType and `HDD` storageType are 12, 40. Valid values for `PERSISTENT_2` deploymentType and ` SSD ` storageType are 125, 250, 500, 1000. 101 PerUnitStorageThroughput pulumi.IntPtrOutput `pulumi:"perUnitStorageThroughput"` 102 // The Lustre root squash configuration used when creating an Amazon FSx for Lustre file system. When enabled, root squash restricts root-level access from clients that try to access your file system as a root user. 103 RootSquashConfiguration LustreFileSystemRootSquashConfigurationPtrOutput `pulumi:"rootSquashConfiguration"` 104 // A list of IDs for the security groups that apply to the specified network interfaces created for file system access. These security groups will apply to all network interfaces. 105 SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"` 106 // The storage capacity (GiB) of the file system. Minimum of `1200`. See more details at [Allowed values for Fsx storage capacity](https://docs.aws.amazon.com/fsx/latest/APIReference/API_CreateFileSystem.html#FSx-CreateFileSystem-request-StorageCapacity). Update is allowed only for `SCRATCH_2`, `PERSISTENT_1` and `PERSISTENT_2` deployment types, See more details at [Fsx Storage Capacity Update](https://docs.aws.amazon.com/fsx/latest/APIReference/API_UpdateFileSystem.html#FSx-UpdateFileSystem-request-StorageCapacity). Required when not creating filesystem for a backup. 107 StorageCapacity pulumi.IntPtrOutput `pulumi:"storageCapacity"` 108 // The filesystem storage type. Either `SSD` or `HDD`, defaults to `SSD`. `HDD` is only supported on `PERSISTENT_1` deployment types. 109 StorageType pulumi.StringPtrOutput `pulumi:"storageType"` 110 // A list of IDs for the subnets that the file system will be accessible from. File systems currently support only one subnet. The file server is also launched in that subnet's Availability Zone. 111 SubnetIds pulumi.StringOutput `pulumi:"subnetIds"` 112 // 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. 113 Tags pulumi.StringMapOutput `pulumi:"tags"` 114 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 115 // 116 // Deprecated: Please use `tags` instead. 117 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 118 // Identifier of the Virtual Private Cloud for the file system. 119 VpcId pulumi.StringOutput `pulumi:"vpcId"` 120 // The preferred start time (in `d:HH:MM` format) to perform weekly maintenance, in the UTC time zone. 121 WeeklyMaintenanceStartTime pulumi.StringOutput `pulumi:"weeklyMaintenanceStartTime"` 122 } 123 124 // NewLustreFileSystem registers a new resource with the given unique name, arguments, and options. 125 func NewLustreFileSystem(ctx *pulumi.Context, 126 name string, args *LustreFileSystemArgs, opts ...pulumi.ResourceOption) (*LustreFileSystem, error) { 127 if args == nil { 128 return nil, errors.New("missing one or more required arguments") 129 } 130 131 if args.SubnetIds == nil { 132 return nil, errors.New("invalid value for required argument 'SubnetIds'") 133 } 134 opts = internal.PkgResourceDefaultOpts(opts) 135 var resource LustreFileSystem 136 err := ctx.RegisterResource("aws:fsx/lustreFileSystem:LustreFileSystem", name, args, &resource, opts...) 137 if err != nil { 138 return nil, err 139 } 140 return &resource, nil 141 } 142 143 // GetLustreFileSystem gets an existing LustreFileSystem resource's state with the given name, ID, and optional 144 // state properties that are used to uniquely qualify the lookup (nil if not required). 145 func GetLustreFileSystem(ctx *pulumi.Context, 146 name string, id pulumi.IDInput, state *LustreFileSystemState, opts ...pulumi.ResourceOption) (*LustreFileSystem, error) { 147 var resource LustreFileSystem 148 err := ctx.ReadResource("aws:fsx/lustreFileSystem:LustreFileSystem", name, id, state, &resource, opts...) 149 if err != nil { 150 return nil, err 151 } 152 return &resource, nil 153 } 154 155 // Input properties used for looking up and filtering LustreFileSystem resources. 156 type lustreFileSystemState struct { 157 // Amazon Resource Name of the file system. 158 Arn *string `pulumi:"arn"` 159 // How Amazon FSx keeps your file and directory listings up to date as you add or modify objects in your linked S3 bucket. see [Auto Import Data Repo](https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html) for more details. Only supported on `PERSISTENT_1` deployment types. 160 AutoImportPolicy *string `pulumi:"autoImportPolicy"` 161 // The number of days to retain automatic backups. Setting this to 0 disables automatic backups. You can retain automatic backups for a maximum of 90 days. only valid for `PERSISTENT_1` and `PERSISTENT_2` deployment_type. 162 AutomaticBackupRetentionDays *int `pulumi:"automaticBackupRetentionDays"` 163 // The ID of the source backup to create the filesystem from. 164 BackupId *string `pulumi:"backupId"` 165 // A boolean flag indicating whether tags for the file system should be copied to backups. Applicable for `PERSISTENT_1` and `PERSISTENT_2` deployment_type. The default value is false. 166 CopyTagsToBackups *bool `pulumi:"copyTagsToBackups"` 167 // A recurring daily time, in the format HH:MM. HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute of the hour. For example, 05:00 specifies 5 AM daily. only valid for `PERSISTENT_1` and `PERSISTENT_2` deployment_type. Requires `automaticBackupRetentionDays` to be set. 168 DailyAutomaticBackupStartTime *string `pulumi:"dailyAutomaticBackupStartTime"` 169 // Sets the data compression configuration for the file system. Valid values are `LZ4` and `NONE`. Default value is `NONE`. Unsetting this value reverts the compression type back to `NONE`. 170 DataCompressionType *string `pulumi:"dataCompressionType"` 171 // The filesystem deployment type. One of: `SCRATCH_1`, `SCRATCH_2`, `PERSISTENT_1`, `PERSISTENT_2`. 172 DeploymentType *string `pulumi:"deploymentType"` 173 // DNS name for the file system, e.g., `fs-12345678.fsx.us-west-2.amazonaws.com` 174 DnsName *string `pulumi:"dnsName"` 175 // The type of drive cache used by `PERSISTENT_1` filesystems that are provisioned with `HDD` storage_type. Required for `HDD` storage_type, set to either `READ` or `NONE`. 176 DriveCacheType *string `pulumi:"driveCacheType"` 177 // S3 URI (with optional prefix) where the root of your Amazon FSx file system is exported. Can only be specified with `importPath` argument and the path must use the same Amazon S3 bucket as specified in `importPath`. Set equal to `importPath` to overwrite files on export. Defaults to `s3://{IMPORT BUCKET}/FSxLustre{CREATION TIMESTAMP}`. Only supported on `PERSISTENT_1` deployment types. 178 ExportPath *string `pulumi:"exportPath"` 179 // Sets the Lustre version for the file system that you're creating. Valid values are 2.10 for `SCRATCH_1`, `SCRATCH_2` and `PERSISTENT_1` deployment types. Valid values for 2.12 include all deployment types. 180 FileSystemTypeVersion *string `pulumi:"fileSystemTypeVersion"` 181 // S3 URI (with optional prefix) that you're using as the data repository for your FSx for Lustre file system. For example, `s3://example-bucket/optional-prefix/`. Only supported on `PERSISTENT_1` deployment types. 182 ImportPath *string `pulumi:"importPath"` 183 // For files imported from a data repository, this value determines the stripe count and maximum amount of data per file (in MiB) stored on a single physical disk. Can only be specified with `importPath` argument. Defaults to `1024`. Minimum of `1` and maximum of `512000`. Only supported on `PERSISTENT_1` deployment types. 184 ImportedFileChunkSize *int `pulumi:"importedFileChunkSize"` 185 // ARN for the KMS Key to encrypt the file system at rest, applicable for `PERSISTENT_1` and `PERSISTENT_2` deployment_type. Defaults to an AWS managed KMS Key. 186 KmsKeyId *string `pulumi:"kmsKeyId"` 187 // The Lustre logging configuration used when creating an Amazon FSx for Lustre file system. When logging is enabled, Lustre logs error and warning events for data repositories associated with your file system to Amazon CloudWatch Logs. 188 LogConfiguration *LustreFileSystemLogConfiguration `pulumi:"logConfiguration"` 189 // The value to be used when mounting the filesystem. 190 MountName *string `pulumi:"mountName"` 191 // Set of Elastic Network Interface identifiers from which the file system is accessible. As explained in the [documentation](https://docs.aws.amazon.com/fsx/latest/LustreGuide/mounting-on-premises.html), the first network interface returned is the primary network interface. 192 NetworkInterfaceIds []string `pulumi:"networkInterfaceIds"` 193 // AWS account identifier that created the file system. 194 OwnerId *string `pulumi:"ownerId"` 195 // Describes the amount of read and write throughput for each 1 tebibyte of storage, in MB/s/TiB, required for the `PERSISTENT_1` and `PERSISTENT_2` deployment_type. Valid values for `PERSISTENT_1` deploymentType and `SSD` storageType are 50, 100, 200. Valid values for `PERSISTENT_1` deploymentType and `HDD` storageType are 12, 40. Valid values for `PERSISTENT_2` deploymentType and ` SSD ` storageType are 125, 250, 500, 1000. 196 PerUnitStorageThroughput *int `pulumi:"perUnitStorageThroughput"` 197 // The Lustre root squash configuration used when creating an Amazon FSx for Lustre file system. When enabled, root squash restricts root-level access from clients that try to access your file system as a root user. 198 RootSquashConfiguration *LustreFileSystemRootSquashConfiguration `pulumi:"rootSquashConfiguration"` 199 // A list of IDs for the security groups that apply to the specified network interfaces created for file system access. These security groups will apply to all network interfaces. 200 SecurityGroupIds []string `pulumi:"securityGroupIds"` 201 // The storage capacity (GiB) of the file system. Minimum of `1200`. See more details at [Allowed values for Fsx storage capacity](https://docs.aws.amazon.com/fsx/latest/APIReference/API_CreateFileSystem.html#FSx-CreateFileSystem-request-StorageCapacity). Update is allowed only for `SCRATCH_2`, `PERSISTENT_1` and `PERSISTENT_2` deployment types, See more details at [Fsx Storage Capacity Update](https://docs.aws.amazon.com/fsx/latest/APIReference/API_UpdateFileSystem.html#FSx-UpdateFileSystem-request-StorageCapacity). Required when not creating filesystem for a backup. 202 StorageCapacity *int `pulumi:"storageCapacity"` 203 // The filesystem storage type. Either `SSD` or `HDD`, defaults to `SSD`. `HDD` is only supported on `PERSISTENT_1` deployment types. 204 StorageType *string `pulumi:"storageType"` 205 // A list of IDs for the subnets that the file system will be accessible from. File systems currently support only one subnet. The file server is also launched in that subnet's Availability Zone. 206 SubnetIds *string `pulumi:"subnetIds"` 207 // 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. 208 Tags map[string]string `pulumi:"tags"` 209 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 210 // 211 // Deprecated: Please use `tags` instead. 212 TagsAll map[string]string `pulumi:"tagsAll"` 213 // Identifier of the Virtual Private Cloud for the file system. 214 VpcId *string `pulumi:"vpcId"` 215 // The preferred start time (in `d:HH:MM` format) to perform weekly maintenance, in the UTC time zone. 216 WeeklyMaintenanceStartTime *string `pulumi:"weeklyMaintenanceStartTime"` 217 } 218 219 type LustreFileSystemState struct { 220 // Amazon Resource Name of the file system. 221 Arn pulumi.StringPtrInput 222 // How Amazon FSx keeps your file and directory listings up to date as you add or modify objects in your linked S3 bucket. see [Auto Import Data Repo](https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html) for more details. Only supported on `PERSISTENT_1` deployment types. 223 AutoImportPolicy pulumi.StringPtrInput 224 // The number of days to retain automatic backups. Setting this to 0 disables automatic backups. You can retain automatic backups for a maximum of 90 days. only valid for `PERSISTENT_1` and `PERSISTENT_2` deployment_type. 225 AutomaticBackupRetentionDays pulumi.IntPtrInput 226 // The ID of the source backup to create the filesystem from. 227 BackupId pulumi.StringPtrInput 228 // A boolean flag indicating whether tags for the file system should be copied to backups. Applicable for `PERSISTENT_1` and `PERSISTENT_2` deployment_type. The default value is false. 229 CopyTagsToBackups pulumi.BoolPtrInput 230 // A recurring daily time, in the format HH:MM. HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute of the hour. For example, 05:00 specifies 5 AM daily. only valid for `PERSISTENT_1` and `PERSISTENT_2` deployment_type. Requires `automaticBackupRetentionDays` to be set. 231 DailyAutomaticBackupStartTime pulumi.StringPtrInput 232 // Sets the data compression configuration for the file system. Valid values are `LZ4` and `NONE`. Default value is `NONE`. Unsetting this value reverts the compression type back to `NONE`. 233 DataCompressionType pulumi.StringPtrInput 234 // The filesystem deployment type. One of: `SCRATCH_1`, `SCRATCH_2`, `PERSISTENT_1`, `PERSISTENT_2`. 235 DeploymentType pulumi.StringPtrInput 236 // DNS name for the file system, e.g., `fs-12345678.fsx.us-west-2.amazonaws.com` 237 DnsName pulumi.StringPtrInput 238 // The type of drive cache used by `PERSISTENT_1` filesystems that are provisioned with `HDD` storage_type. Required for `HDD` storage_type, set to either `READ` or `NONE`. 239 DriveCacheType pulumi.StringPtrInput 240 // S3 URI (with optional prefix) where the root of your Amazon FSx file system is exported. Can only be specified with `importPath` argument and the path must use the same Amazon S3 bucket as specified in `importPath`. Set equal to `importPath` to overwrite files on export. Defaults to `s3://{IMPORT BUCKET}/FSxLustre{CREATION TIMESTAMP}`. Only supported on `PERSISTENT_1` deployment types. 241 ExportPath pulumi.StringPtrInput 242 // Sets the Lustre version for the file system that you're creating. Valid values are 2.10 for `SCRATCH_1`, `SCRATCH_2` and `PERSISTENT_1` deployment types. Valid values for 2.12 include all deployment types. 243 FileSystemTypeVersion pulumi.StringPtrInput 244 // S3 URI (with optional prefix) that you're using as the data repository for your FSx for Lustre file system. For example, `s3://example-bucket/optional-prefix/`. Only supported on `PERSISTENT_1` deployment types. 245 ImportPath pulumi.StringPtrInput 246 // For files imported from a data repository, this value determines the stripe count and maximum amount of data per file (in MiB) stored on a single physical disk. Can only be specified with `importPath` argument. Defaults to `1024`. Minimum of `1` and maximum of `512000`. Only supported on `PERSISTENT_1` deployment types. 247 ImportedFileChunkSize pulumi.IntPtrInput 248 // ARN for the KMS Key to encrypt the file system at rest, applicable for `PERSISTENT_1` and `PERSISTENT_2` deployment_type. Defaults to an AWS managed KMS Key. 249 KmsKeyId pulumi.StringPtrInput 250 // The Lustre logging configuration used when creating an Amazon FSx for Lustre file system. When logging is enabled, Lustre logs error and warning events for data repositories associated with your file system to Amazon CloudWatch Logs. 251 LogConfiguration LustreFileSystemLogConfigurationPtrInput 252 // The value to be used when mounting the filesystem. 253 MountName pulumi.StringPtrInput 254 // Set of Elastic Network Interface identifiers from which the file system is accessible. As explained in the [documentation](https://docs.aws.amazon.com/fsx/latest/LustreGuide/mounting-on-premises.html), the first network interface returned is the primary network interface. 255 NetworkInterfaceIds pulumi.StringArrayInput 256 // AWS account identifier that created the file system. 257 OwnerId pulumi.StringPtrInput 258 // Describes the amount of read and write throughput for each 1 tebibyte of storage, in MB/s/TiB, required for the `PERSISTENT_1` and `PERSISTENT_2` deployment_type. Valid values for `PERSISTENT_1` deploymentType and `SSD` storageType are 50, 100, 200. Valid values for `PERSISTENT_1` deploymentType and `HDD` storageType are 12, 40. Valid values for `PERSISTENT_2` deploymentType and ` SSD ` storageType are 125, 250, 500, 1000. 259 PerUnitStorageThroughput pulumi.IntPtrInput 260 // The Lustre root squash configuration used when creating an Amazon FSx for Lustre file system. When enabled, root squash restricts root-level access from clients that try to access your file system as a root user. 261 RootSquashConfiguration LustreFileSystemRootSquashConfigurationPtrInput 262 // A list of IDs for the security groups that apply to the specified network interfaces created for file system access. These security groups will apply to all network interfaces. 263 SecurityGroupIds pulumi.StringArrayInput 264 // The storage capacity (GiB) of the file system. Minimum of `1200`. See more details at [Allowed values for Fsx storage capacity](https://docs.aws.amazon.com/fsx/latest/APIReference/API_CreateFileSystem.html#FSx-CreateFileSystem-request-StorageCapacity). Update is allowed only for `SCRATCH_2`, `PERSISTENT_1` and `PERSISTENT_2` deployment types, See more details at [Fsx Storage Capacity Update](https://docs.aws.amazon.com/fsx/latest/APIReference/API_UpdateFileSystem.html#FSx-UpdateFileSystem-request-StorageCapacity). Required when not creating filesystem for a backup. 265 StorageCapacity pulumi.IntPtrInput 266 // The filesystem storage type. Either `SSD` or `HDD`, defaults to `SSD`. `HDD` is only supported on `PERSISTENT_1` deployment types. 267 StorageType pulumi.StringPtrInput 268 // A list of IDs for the subnets that the file system will be accessible from. File systems currently support only one subnet. The file server is also launched in that subnet's Availability Zone. 269 SubnetIds pulumi.StringPtrInput 270 // 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. 271 Tags pulumi.StringMapInput 272 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 273 // 274 // Deprecated: Please use `tags` instead. 275 TagsAll pulumi.StringMapInput 276 // Identifier of the Virtual Private Cloud for the file system. 277 VpcId pulumi.StringPtrInput 278 // The preferred start time (in `d:HH:MM` format) to perform weekly maintenance, in the UTC time zone. 279 WeeklyMaintenanceStartTime pulumi.StringPtrInput 280 } 281 282 func (LustreFileSystemState) ElementType() reflect.Type { 283 return reflect.TypeOf((*lustreFileSystemState)(nil)).Elem() 284 } 285 286 type lustreFileSystemArgs struct { 287 // How Amazon FSx keeps your file and directory listings up to date as you add or modify objects in your linked S3 bucket. see [Auto Import Data Repo](https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html) for more details. Only supported on `PERSISTENT_1` deployment types. 288 AutoImportPolicy *string `pulumi:"autoImportPolicy"` 289 // The number of days to retain automatic backups. Setting this to 0 disables automatic backups. You can retain automatic backups for a maximum of 90 days. only valid for `PERSISTENT_1` and `PERSISTENT_2` deployment_type. 290 AutomaticBackupRetentionDays *int `pulumi:"automaticBackupRetentionDays"` 291 // The ID of the source backup to create the filesystem from. 292 BackupId *string `pulumi:"backupId"` 293 // A boolean flag indicating whether tags for the file system should be copied to backups. Applicable for `PERSISTENT_1` and `PERSISTENT_2` deployment_type. The default value is false. 294 CopyTagsToBackups *bool `pulumi:"copyTagsToBackups"` 295 // A recurring daily time, in the format HH:MM. HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute of the hour. For example, 05:00 specifies 5 AM daily. only valid for `PERSISTENT_1` and `PERSISTENT_2` deployment_type. Requires `automaticBackupRetentionDays` to be set. 296 DailyAutomaticBackupStartTime *string `pulumi:"dailyAutomaticBackupStartTime"` 297 // Sets the data compression configuration for the file system. Valid values are `LZ4` and `NONE`. Default value is `NONE`. Unsetting this value reverts the compression type back to `NONE`. 298 DataCompressionType *string `pulumi:"dataCompressionType"` 299 // The filesystem deployment type. One of: `SCRATCH_1`, `SCRATCH_2`, `PERSISTENT_1`, `PERSISTENT_2`. 300 DeploymentType *string `pulumi:"deploymentType"` 301 // The type of drive cache used by `PERSISTENT_1` filesystems that are provisioned with `HDD` storage_type. Required for `HDD` storage_type, set to either `READ` or `NONE`. 302 DriveCacheType *string `pulumi:"driveCacheType"` 303 // S3 URI (with optional prefix) where the root of your Amazon FSx file system is exported. Can only be specified with `importPath` argument and the path must use the same Amazon S3 bucket as specified in `importPath`. Set equal to `importPath` to overwrite files on export. Defaults to `s3://{IMPORT BUCKET}/FSxLustre{CREATION TIMESTAMP}`. Only supported on `PERSISTENT_1` deployment types. 304 ExportPath *string `pulumi:"exportPath"` 305 // Sets the Lustre version for the file system that you're creating. Valid values are 2.10 for `SCRATCH_1`, `SCRATCH_2` and `PERSISTENT_1` deployment types. Valid values for 2.12 include all deployment types. 306 FileSystemTypeVersion *string `pulumi:"fileSystemTypeVersion"` 307 // S3 URI (with optional prefix) that you're using as the data repository for your FSx for Lustre file system. For example, `s3://example-bucket/optional-prefix/`. Only supported on `PERSISTENT_1` deployment types. 308 ImportPath *string `pulumi:"importPath"` 309 // For files imported from a data repository, this value determines the stripe count and maximum amount of data per file (in MiB) stored on a single physical disk. Can only be specified with `importPath` argument. Defaults to `1024`. Minimum of `1` and maximum of `512000`. Only supported on `PERSISTENT_1` deployment types. 310 ImportedFileChunkSize *int `pulumi:"importedFileChunkSize"` 311 // ARN for the KMS Key to encrypt the file system at rest, applicable for `PERSISTENT_1` and `PERSISTENT_2` deployment_type. Defaults to an AWS managed KMS Key. 312 KmsKeyId *string `pulumi:"kmsKeyId"` 313 // The Lustre logging configuration used when creating an Amazon FSx for Lustre file system. When logging is enabled, Lustre logs error and warning events for data repositories associated with your file system to Amazon CloudWatch Logs. 314 LogConfiguration *LustreFileSystemLogConfiguration `pulumi:"logConfiguration"` 315 // Describes the amount of read and write throughput for each 1 tebibyte of storage, in MB/s/TiB, required for the `PERSISTENT_1` and `PERSISTENT_2` deployment_type. Valid values for `PERSISTENT_1` deploymentType and `SSD` storageType are 50, 100, 200. Valid values for `PERSISTENT_1` deploymentType and `HDD` storageType are 12, 40. Valid values for `PERSISTENT_2` deploymentType and ` SSD ` storageType are 125, 250, 500, 1000. 316 PerUnitStorageThroughput *int `pulumi:"perUnitStorageThroughput"` 317 // The Lustre root squash configuration used when creating an Amazon FSx for Lustre file system. When enabled, root squash restricts root-level access from clients that try to access your file system as a root user. 318 RootSquashConfiguration *LustreFileSystemRootSquashConfiguration `pulumi:"rootSquashConfiguration"` 319 // A list of IDs for the security groups that apply to the specified network interfaces created for file system access. These security groups will apply to all network interfaces. 320 SecurityGroupIds []string `pulumi:"securityGroupIds"` 321 // The storage capacity (GiB) of the file system. Minimum of `1200`. See more details at [Allowed values for Fsx storage capacity](https://docs.aws.amazon.com/fsx/latest/APIReference/API_CreateFileSystem.html#FSx-CreateFileSystem-request-StorageCapacity). Update is allowed only for `SCRATCH_2`, `PERSISTENT_1` and `PERSISTENT_2` deployment types, See more details at [Fsx Storage Capacity Update](https://docs.aws.amazon.com/fsx/latest/APIReference/API_UpdateFileSystem.html#FSx-UpdateFileSystem-request-StorageCapacity). Required when not creating filesystem for a backup. 322 StorageCapacity *int `pulumi:"storageCapacity"` 323 // The filesystem storage type. Either `SSD` or `HDD`, defaults to `SSD`. `HDD` is only supported on `PERSISTENT_1` deployment types. 324 StorageType *string `pulumi:"storageType"` 325 // A list of IDs for the subnets that the file system will be accessible from. File systems currently support only one subnet. The file server is also launched in that subnet's Availability Zone. 326 SubnetIds string `pulumi:"subnetIds"` 327 // 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. 328 Tags map[string]string `pulumi:"tags"` 329 // The preferred start time (in `d:HH:MM` format) to perform weekly maintenance, in the UTC time zone. 330 WeeklyMaintenanceStartTime *string `pulumi:"weeklyMaintenanceStartTime"` 331 } 332 333 // The set of arguments for constructing a LustreFileSystem resource. 334 type LustreFileSystemArgs struct { 335 // How Amazon FSx keeps your file and directory listings up to date as you add or modify objects in your linked S3 bucket. see [Auto Import Data Repo](https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html) for more details. Only supported on `PERSISTENT_1` deployment types. 336 AutoImportPolicy pulumi.StringPtrInput 337 // The number of days to retain automatic backups. Setting this to 0 disables automatic backups. You can retain automatic backups for a maximum of 90 days. only valid for `PERSISTENT_1` and `PERSISTENT_2` deployment_type. 338 AutomaticBackupRetentionDays pulumi.IntPtrInput 339 // The ID of the source backup to create the filesystem from. 340 BackupId pulumi.StringPtrInput 341 // A boolean flag indicating whether tags for the file system should be copied to backups. Applicable for `PERSISTENT_1` and `PERSISTENT_2` deployment_type. The default value is false. 342 CopyTagsToBackups pulumi.BoolPtrInput 343 // A recurring daily time, in the format HH:MM. HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute of the hour. For example, 05:00 specifies 5 AM daily. only valid for `PERSISTENT_1` and `PERSISTENT_2` deployment_type. Requires `automaticBackupRetentionDays` to be set. 344 DailyAutomaticBackupStartTime pulumi.StringPtrInput 345 // Sets the data compression configuration for the file system. Valid values are `LZ4` and `NONE`. Default value is `NONE`. Unsetting this value reverts the compression type back to `NONE`. 346 DataCompressionType pulumi.StringPtrInput 347 // The filesystem deployment type. One of: `SCRATCH_1`, `SCRATCH_2`, `PERSISTENT_1`, `PERSISTENT_2`. 348 DeploymentType pulumi.StringPtrInput 349 // The type of drive cache used by `PERSISTENT_1` filesystems that are provisioned with `HDD` storage_type. Required for `HDD` storage_type, set to either `READ` or `NONE`. 350 DriveCacheType pulumi.StringPtrInput 351 // S3 URI (with optional prefix) where the root of your Amazon FSx file system is exported. Can only be specified with `importPath` argument and the path must use the same Amazon S3 bucket as specified in `importPath`. Set equal to `importPath` to overwrite files on export. Defaults to `s3://{IMPORT BUCKET}/FSxLustre{CREATION TIMESTAMP}`. Only supported on `PERSISTENT_1` deployment types. 352 ExportPath pulumi.StringPtrInput 353 // Sets the Lustre version for the file system that you're creating. Valid values are 2.10 for `SCRATCH_1`, `SCRATCH_2` and `PERSISTENT_1` deployment types. Valid values for 2.12 include all deployment types. 354 FileSystemTypeVersion pulumi.StringPtrInput 355 // S3 URI (with optional prefix) that you're using as the data repository for your FSx for Lustre file system. For example, `s3://example-bucket/optional-prefix/`. Only supported on `PERSISTENT_1` deployment types. 356 ImportPath pulumi.StringPtrInput 357 // For files imported from a data repository, this value determines the stripe count and maximum amount of data per file (in MiB) stored on a single physical disk. Can only be specified with `importPath` argument. Defaults to `1024`. Minimum of `1` and maximum of `512000`. Only supported on `PERSISTENT_1` deployment types. 358 ImportedFileChunkSize pulumi.IntPtrInput 359 // ARN for the KMS Key to encrypt the file system at rest, applicable for `PERSISTENT_1` and `PERSISTENT_2` deployment_type. Defaults to an AWS managed KMS Key. 360 KmsKeyId pulumi.StringPtrInput 361 // The Lustre logging configuration used when creating an Amazon FSx for Lustre file system. When logging is enabled, Lustre logs error and warning events for data repositories associated with your file system to Amazon CloudWatch Logs. 362 LogConfiguration LustreFileSystemLogConfigurationPtrInput 363 // Describes the amount of read and write throughput for each 1 tebibyte of storage, in MB/s/TiB, required for the `PERSISTENT_1` and `PERSISTENT_2` deployment_type. Valid values for `PERSISTENT_1` deploymentType and `SSD` storageType are 50, 100, 200. Valid values for `PERSISTENT_1` deploymentType and `HDD` storageType are 12, 40. Valid values for `PERSISTENT_2` deploymentType and ` SSD ` storageType are 125, 250, 500, 1000. 364 PerUnitStorageThroughput pulumi.IntPtrInput 365 // The Lustre root squash configuration used when creating an Amazon FSx for Lustre file system. When enabled, root squash restricts root-level access from clients that try to access your file system as a root user. 366 RootSquashConfiguration LustreFileSystemRootSquashConfigurationPtrInput 367 // A list of IDs for the security groups that apply to the specified network interfaces created for file system access. These security groups will apply to all network interfaces. 368 SecurityGroupIds pulumi.StringArrayInput 369 // The storage capacity (GiB) of the file system. Minimum of `1200`. See more details at [Allowed values for Fsx storage capacity](https://docs.aws.amazon.com/fsx/latest/APIReference/API_CreateFileSystem.html#FSx-CreateFileSystem-request-StorageCapacity). Update is allowed only for `SCRATCH_2`, `PERSISTENT_1` and `PERSISTENT_2` deployment types, See more details at [Fsx Storage Capacity Update](https://docs.aws.amazon.com/fsx/latest/APIReference/API_UpdateFileSystem.html#FSx-UpdateFileSystem-request-StorageCapacity). Required when not creating filesystem for a backup. 370 StorageCapacity pulumi.IntPtrInput 371 // The filesystem storage type. Either `SSD` or `HDD`, defaults to `SSD`. `HDD` is only supported on `PERSISTENT_1` deployment types. 372 StorageType pulumi.StringPtrInput 373 // A list of IDs for the subnets that the file system will be accessible from. File systems currently support only one subnet. The file server is also launched in that subnet's Availability Zone. 374 SubnetIds pulumi.StringInput 375 // 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. 376 Tags pulumi.StringMapInput 377 // The preferred start time (in `d:HH:MM` format) to perform weekly maintenance, in the UTC time zone. 378 WeeklyMaintenanceStartTime pulumi.StringPtrInput 379 } 380 381 func (LustreFileSystemArgs) ElementType() reflect.Type { 382 return reflect.TypeOf((*lustreFileSystemArgs)(nil)).Elem() 383 } 384 385 type LustreFileSystemInput interface { 386 pulumi.Input 387 388 ToLustreFileSystemOutput() LustreFileSystemOutput 389 ToLustreFileSystemOutputWithContext(ctx context.Context) LustreFileSystemOutput 390 } 391 392 func (*LustreFileSystem) ElementType() reflect.Type { 393 return reflect.TypeOf((**LustreFileSystem)(nil)).Elem() 394 } 395 396 func (i *LustreFileSystem) ToLustreFileSystemOutput() LustreFileSystemOutput { 397 return i.ToLustreFileSystemOutputWithContext(context.Background()) 398 } 399 400 func (i *LustreFileSystem) ToLustreFileSystemOutputWithContext(ctx context.Context) LustreFileSystemOutput { 401 return pulumi.ToOutputWithContext(ctx, i).(LustreFileSystemOutput) 402 } 403 404 // LustreFileSystemArrayInput is an input type that accepts LustreFileSystemArray and LustreFileSystemArrayOutput values. 405 // You can construct a concrete instance of `LustreFileSystemArrayInput` via: 406 // 407 // LustreFileSystemArray{ LustreFileSystemArgs{...} } 408 type LustreFileSystemArrayInput interface { 409 pulumi.Input 410 411 ToLustreFileSystemArrayOutput() LustreFileSystemArrayOutput 412 ToLustreFileSystemArrayOutputWithContext(context.Context) LustreFileSystemArrayOutput 413 } 414 415 type LustreFileSystemArray []LustreFileSystemInput 416 417 func (LustreFileSystemArray) ElementType() reflect.Type { 418 return reflect.TypeOf((*[]*LustreFileSystem)(nil)).Elem() 419 } 420 421 func (i LustreFileSystemArray) ToLustreFileSystemArrayOutput() LustreFileSystemArrayOutput { 422 return i.ToLustreFileSystemArrayOutputWithContext(context.Background()) 423 } 424 425 func (i LustreFileSystemArray) ToLustreFileSystemArrayOutputWithContext(ctx context.Context) LustreFileSystemArrayOutput { 426 return pulumi.ToOutputWithContext(ctx, i).(LustreFileSystemArrayOutput) 427 } 428 429 // LustreFileSystemMapInput is an input type that accepts LustreFileSystemMap and LustreFileSystemMapOutput values. 430 // You can construct a concrete instance of `LustreFileSystemMapInput` via: 431 // 432 // LustreFileSystemMap{ "key": LustreFileSystemArgs{...} } 433 type LustreFileSystemMapInput interface { 434 pulumi.Input 435 436 ToLustreFileSystemMapOutput() LustreFileSystemMapOutput 437 ToLustreFileSystemMapOutputWithContext(context.Context) LustreFileSystemMapOutput 438 } 439 440 type LustreFileSystemMap map[string]LustreFileSystemInput 441 442 func (LustreFileSystemMap) ElementType() reflect.Type { 443 return reflect.TypeOf((*map[string]*LustreFileSystem)(nil)).Elem() 444 } 445 446 func (i LustreFileSystemMap) ToLustreFileSystemMapOutput() LustreFileSystemMapOutput { 447 return i.ToLustreFileSystemMapOutputWithContext(context.Background()) 448 } 449 450 func (i LustreFileSystemMap) ToLustreFileSystemMapOutputWithContext(ctx context.Context) LustreFileSystemMapOutput { 451 return pulumi.ToOutputWithContext(ctx, i).(LustreFileSystemMapOutput) 452 } 453 454 type LustreFileSystemOutput struct{ *pulumi.OutputState } 455 456 func (LustreFileSystemOutput) ElementType() reflect.Type { 457 return reflect.TypeOf((**LustreFileSystem)(nil)).Elem() 458 } 459 460 func (o LustreFileSystemOutput) ToLustreFileSystemOutput() LustreFileSystemOutput { 461 return o 462 } 463 464 func (o LustreFileSystemOutput) ToLustreFileSystemOutputWithContext(ctx context.Context) LustreFileSystemOutput { 465 return o 466 } 467 468 // Amazon Resource Name of the file system. 469 func (o LustreFileSystemOutput) Arn() pulumi.StringOutput { 470 return o.ApplyT(func(v *LustreFileSystem) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 471 } 472 473 // How Amazon FSx keeps your file and directory listings up to date as you add or modify objects in your linked S3 bucket. see [Auto Import Data Repo](https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html) for more details. Only supported on `PERSISTENT_1` deployment types. 474 func (o LustreFileSystemOutput) AutoImportPolicy() pulumi.StringOutput { 475 return o.ApplyT(func(v *LustreFileSystem) pulumi.StringOutput { return v.AutoImportPolicy }).(pulumi.StringOutput) 476 } 477 478 // The number of days to retain automatic backups. Setting this to 0 disables automatic backups. You can retain automatic backups for a maximum of 90 days. only valid for `PERSISTENT_1` and `PERSISTENT_2` deployment_type. 479 func (o LustreFileSystemOutput) AutomaticBackupRetentionDays() pulumi.IntOutput { 480 return o.ApplyT(func(v *LustreFileSystem) pulumi.IntOutput { return v.AutomaticBackupRetentionDays }).(pulumi.IntOutput) 481 } 482 483 // The ID of the source backup to create the filesystem from. 484 func (o LustreFileSystemOutput) BackupId() pulumi.StringPtrOutput { 485 return o.ApplyT(func(v *LustreFileSystem) pulumi.StringPtrOutput { return v.BackupId }).(pulumi.StringPtrOutput) 486 } 487 488 // A boolean flag indicating whether tags for the file system should be copied to backups. Applicable for `PERSISTENT_1` and `PERSISTENT_2` deployment_type. The default value is false. 489 func (o LustreFileSystemOutput) CopyTagsToBackups() pulumi.BoolPtrOutput { 490 return o.ApplyT(func(v *LustreFileSystem) pulumi.BoolPtrOutput { return v.CopyTagsToBackups }).(pulumi.BoolPtrOutput) 491 } 492 493 // A recurring daily time, in the format HH:MM. HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute of the hour. For example, 05:00 specifies 5 AM daily. only valid for `PERSISTENT_1` and `PERSISTENT_2` deployment_type. Requires `automaticBackupRetentionDays` to be set. 494 func (o LustreFileSystemOutput) DailyAutomaticBackupStartTime() pulumi.StringOutput { 495 return o.ApplyT(func(v *LustreFileSystem) pulumi.StringOutput { return v.DailyAutomaticBackupStartTime }).(pulumi.StringOutput) 496 } 497 498 // Sets the data compression configuration for the file system. Valid values are `LZ4` and `NONE`. Default value is `NONE`. Unsetting this value reverts the compression type back to `NONE`. 499 func (o LustreFileSystemOutput) DataCompressionType() pulumi.StringPtrOutput { 500 return o.ApplyT(func(v *LustreFileSystem) pulumi.StringPtrOutput { return v.DataCompressionType }).(pulumi.StringPtrOutput) 501 } 502 503 // The filesystem deployment type. One of: `SCRATCH_1`, `SCRATCH_2`, `PERSISTENT_1`, `PERSISTENT_2`. 504 func (o LustreFileSystemOutput) DeploymentType() pulumi.StringPtrOutput { 505 return o.ApplyT(func(v *LustreFileSystem) pulumi.StringPtrOutput { return v.DeploymentType }).(pulumi.StringPtrOutput) 506 } 507 508 // DNS name for the file system, e.g., `fs-12345678.fsx.us-west-2.amazonaws.com` 509 func (o LustreFileSystemOutput) DnsName() pulumi.StringOutput { 510 return o.ApplyT(func(v *LustreFileSystem) pulumi.StringOutput { return v.DnsName }).(pulumi.StringOutput) 511 } 512 513 // The type of drive cache used by `PERSISTENT_1` filesystems that are provisioned with `HDD` storage_type. Required for `HDD` storage_type, set to either `READ` or `NONE`. 514 func (o LustreFileSystemOutput) DriveCacheType() pulumi.StringPtrOutput { 515 return o.ApplyT(func(v *LustreFileSystem) pulumi.StringPtrOutput { return v.DriveCacheType }).(pulumi.StringPtrOutput) 516 } 517 518 // S3 URI (with optional prefix) where the root of your Amazon FSx file system is exported. Can only be specified with `importPath` argument and the path must use the same Amazon S3 bucket as specified in `importPath`. Set equal to `importPath` to overwrite files on export. Defaults to `s3://{IMPORT BUCKET}/FSxLustre{CREATION TIMESTAMP}`. Only supported on `PERSISTENT_1` deployment types. 519 func (o LustreFileSystemOutput) ExportPath() pulumi.StringOutput { 520 return o.ApplyT(func(v *LustreFileSystem) pulumi.StringOutput { return v.ExportPath }).(pulumi.StringOutput) 521 } 522 523 // Sets the Lustre version for the file system that you're creating. Valid values are 2.10 for `SCRATCH_1`, `SCRATCH_2` and `PERSISTENT_1` deployment types. Valid values for 2.12 include all deployment types. 524 func (o LustreFileSystemOutput) FileSystemTypeVersion() pulumi.StringOutput { 525 return o.ApplyT(func(v *LustreFileSystem) pulumi.StringOutput { return v.FileSystemTypeVersion }).(pulumi.StringOutput) 526 } 527 528 // S3 URI (with optional prefix) that you're using as the data repository for your FSx for Lustre file system. For example, `s3://example-bucket/optional-prefix/`. Only supported on `PERSISTENT_1` deployment types. 529 func (o LustreFileSystemOutput) ImportPath() pulumi.StringPtrOutput { 530 return o.ApplyT(func(v *LustreFileSystem) pulumi.StringPtrOutput { return v.ImportPath }).(pulumi.StringPtrOutput) 531 } 532 533 // For files imported from a data repository, this value determines the stripe count and maximum amount of data per file (in MiB) stored on a single physical disk. Can only be specified with `importPath` argument. Defaults to `1024`. Minimum of `1` and maximum of `512000`. Only supported on `PERSISTENT_1` deployment types. 534 func (o LustreFileSystemOutput) ImportedFileChunkSize() pulumi.IntOutput { 535 return o.ApplyT(func(v *LustreFileSystem) pulumi.IntOutput { return v.ImportedFileChunkSize }).(pulumi.IntOutput) 536 } 537 538 // ARN for the KMS Key to encrypt the file system at rest, applicable for `PERSISTENT_1` and `PERSISTENT_2` deployment_type. Defaults to an AWS managed KMS Key. 539 func (o LustreFileSystemOutput) KmsKeyId() pulumi.StringOutput { 540 return o.ApplyT(func(v *LustreFileSystem) pulumi.StringOutput { return v.KmsKeyId }).(pulumi.StringOutput) 541 } 542 543 // The Lustre logging configuration used when creating an Amazon FSx for Lustre file system. When logging is enabled, Lustre logs error and warning events for data repositories associated with your file system to Amazon CloudWatch Logs. 544 func (o LustreFileSystemOutput) LogConfiguration() LustreFileSystemLogConfigurationOutput { 545 return o.ApplyT(func(v *LustreFileSystem) LustreFileSystemLogConfigurationOutput { return v.LogConfiguration }).(LustreFileSystemLogConfigurationOutput) 546 } 547 548 // The value to be used when mounting the filesystem. 549 func (o LustreFileSystemOutput) MountName() pulumi.StringOutput { 550 return o.ApplyT(func(v *LustreFileSystem) pulumi.StringOutput { return v.MountName }).(pulumi.StringOutput) 551 } 552 553 // Set of Elastic Network Interface identifiers from which the file system is accessible. As explained in the [documentation](https://docs.aws.amazon.com/fsx/latest/LustreGuide/mounting-on-premises.html), the first network interface returned is the primary network interface. 554 func (o LustreFileSystemOutput) NetworkInterfaceIds() pulumi.StringArrayOutput { 555 return o.ApplyT(func(v *LustreFileSystem) pulumi.StringArrayOutput { return v.NetworkInterfaceIds }).(pulumi.StringArrayOutput) 556 } 557 558 // AWS account identifier that created the file system. 559 func (o LustreFileSystemOutput) OwnerId() pulumi.StringOutput { 560 return o.ApplyT(func(v *LustreFileSystem) pulumi.StringOutput { return v.OwnerId }).(pulumi.StringOutput) 561 } 562 563 // Describes the amount of read and write throughput for each 1 tebibyte of storage, in MB/s/TiB, required for the `PERSISTENT_1` and `PERSISTENT_2` deployment_type. Valid values for `PERSISTENT_1` deploymentType and `SSD` storageType are 50, 100, 200. Valid values for `PERSISTENT_1` deploymentType and `HDD` storageType are 12, 40. Valid values for `PERSISTENT_2` deploymentType and ` SSD ` storageType are 125, 250, 500, 1000. 564 func (o LustreFileSystemOutput) PerUnitStorageThroughput() pulumi.IntPtrOutput { 565 return o.ApplyT(func(v *LustreFileSystem) pulumi.IntPtrOutput { return v.PerUnitStorageThroughput }).(pulumi.IntPtrOutput) 566 } 567 568 // The Lustre root squash configuration used when creating an Amazon FSx for Lustre file system. When enabled, root squash restricts root-level access from clients that try to access your file system as a root user. 569 func (o LustreFileSystemOutput) RootSquashConfiguration() LustreFileSystemRootSquashConfigurationPtrOutput { 570 return o.ApplyT(func(v *LustreFileSystem) LustreFileSystemRootSquashConfigurationPtrOutput { 571 return v.RootSquashConfiguration 572 }).(LustreFileSystemRootSquashConfigurationPtrOutput) 573 } 574 575 // A list of IDs for the security groups that apply to the specified network interfaces created for file system access. These security groups will apply to all network interfaces. 576 func (o LustreFileSystemOutput) SecurityGroupIds() pulumi.StringArrayOutput { 577 return o.ApplyT(func(v *LustreFileSystem) pulumi.StringArrayOutput { return v.SecurityGroupIds }).(pulumi.StringArrayOutput) 578 } 579 580 // The storage capacity (GiB) of the file system. Minimum of `1200`. See more details at [Allowed values for Fsx storage capacity](https://docs.aws.amazon.com/fsx/latest/APIReference/API_CreateFileSystem.html#FSx-CreateFileSystem-request-StorageCapacity). Update is allowed only for `SCRATCH_2`, `PERSISTENT_1` and `PERSISTENT_2` deployment types, See more details at [Fsx Storage Capacity Update](https://docs.aws.amazon.com/fsx/latest/APIReference/API_UpdateFileSystem.html#FSx-UpdateFileSystem-request-StorageCapacity). Required when not creating filesystem for a backup. 581 func (o LustreFileSystemOutput) StorageCapacity() pulumi.IntPtrOutput { 582 return o.ApplyT(func(v *LustreFileSystem) pulumi.IntPtrOutput { return v.StorageCapacity }).(pulumi.IntPtrOutput) 583 } 584 585 // The filesystem storage type. Either `SSD` or `HDD`, defaults to `SSD`. `HDD` is only supported on `PERSISTENT_1` deployment types. 586 func (o LustreFileSystemOutput) StorageType() pulumi.StringPtrOutput { 587 return o.ApplyT(func(v *LustreFileSystem) pulumi.StringPtrOutput { return v.StorageType }).(pulumi.StringPtrOutput) 588 } 589 590 // A list of IDs for the subnets that the file system will be accessible from. File systems currently support only one subnet. The file server is also launched in that subnet's Availability Zone. 591 func (o LustreFileSystemOutput) SubnetIds() pulumi.StringOutput { 592 return o.ApplyT(func(v *LustreFileSystem) pulumi.StringOutput { return v.SubnetIds }).(pulumi.StringOutput) 593 } 594 595 // 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. 596 func (o LustreFileSystemOutput) Tags() pulumi.StringMapOutput { 597 return o.ApplyT(func(v *LustreFileSystem) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 598 } 599 600 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 601 // 602 // Deprecated: Please use `tags` instead. 603 func (o LustreFileSystemOutput) TagsAll() pulumi.StringMapOutput { 604 return o.ApplyT(func(v *LustreFileSystem) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 605 } 606 607 // Identifier of the Virtual Private Cloud for the file system. 608 func (o LustreFileSystemOutput) VpcId() pulumi.StringOutput { 609 return o.ApplyT(func(v *LustreFileSystem) pulumi.StringOutput { return v.VpcId }).(pulumi.StringOutput) 610 } 611 612 // The preferred start time (in `d:HH:MM` format) to perform weekly maintenance, in the UTC time zone. 613 func (o LustreFileSystemOutput) WeeklyMaintenanceStartTime() pulumi.StringOutput { 614 return o.ApplyT(func(v *LustreFileSystem) pulumi.StringOutput { return v.WeeklyMaintenanceStartTime }).(pulumi.StringOutput) 615 } 616 617 type LustreFileSystemArrayOutput struct{ *pulumi.OutputState } 618 619 func (LustreFileSystemArrayOutput) ElementType() reflect.Type { 620 return reflect.TypeOf((*[]*LustreFileSystem)(nil)).Elem() 621 } 622 623 func (o LustreFileSystemArrayOutput) ToLustreFileSystemArrayOutput() LustreFileSystemArrayOutput { 624 return o 625 } 626 627 func (o LustreFileSystemArrayOutput) ToLustreFileSystemArrayOutputWithContext(ctx context.Context) LustreFileSystemArrayOutput { 628 return o 629 } 630 631 func (o LustreFileSystemArrayOutput) Index(i pulumi.IntInput) LustreFileSystemOutput { 632 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *LustreFileSystem { 633 return vs[0].([]*LustreFileSystem)[vs[1].(int)] 634 }).(LustreFileSystemOutput) 635 } 636 637 type LustreFileSystemMapOutput struct{ *pulumi.OutputState } 638 639 func (LustreFileSystemMapOutput) ElementType() reflect.Type { 640 return reflect.TypeOf((*map[string]*LustreFileSystem)(nil)).Elem() 641 } 642 643 func (o LustreFileSystemMapOutput) ToLustreFileSystemMapOutput() LustreFileSystemMapOutput { 644 return o 645 } 646 647 func (o LustreFileSystemMapOutput) ToLustreFileSystemMapOutputWithContext(ctx context.Context) LustreFileSystemMapOutput { 648 return o 649 } 650 651 func (o LustreFileSystemMapOutput) MapIndex(k pulumi.StringInput) LustreFileSystemOutput { 652 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *LustreFileSystem { 653 return vs[0].(map[string]*LustreFileSystem)[vs[1].(string)] 654 }).(LustreFileSystemOutput) 655 } 656 657 func init() { 658 pulumi.RegisterInputType(reflect.TypeOf((*LustreFileSystemInput)(nil)).Elem(), &LustreFileSystem{}) 659 pulumi.RegisterInputType(reflect.TypeOf((*LustreFileSystemArrayInput)(nil)).Elem(), LustreFileSystemArray{}) 660 pulumi.RegisterInputType(reflect.TypeOf((*LustreFileSystemMapInput)(nil)).Elem(), LustreFileSystemMap{}) 661 pulumi.RegisterOutputType(LustreFileSystemOutput{}) 662 pulumi.RegisterOutputType(LustreFileSystemArrayOutput{}) 663 pulumi.RegisterOutputType(LustreFileSystemMapOutput{}) 664 }