FileCacheArgs

data class FileCacheArgs(val copyTagsToDataRepositoryAssociations: Output<Boolean>? = null, val dataRepositoryAssociations: Output<List<FileCacheDataRepositoryAssociationArgs>>? = null, val fileCacheType: Output<String>? = null, val fileCacheTypeVersion: Output<String>? = null, val kmsKeyId: Output<String>? = null, val lustreConfigurations: Output<List<FileCacheLustreConfigurationArgs>>? = null, val securityGroupIds: Output<List<String>>? = null, val storageCapacity: Output<Int>? = null, val subnetIds: Output<List<String>>? = null, val tags: Output<Map<String, String>>? = null) : ConvertibleToJava<FileCacheArgs>

Resource for managing an Amazon File Cache cache. See the Create File Cache for more information.

Example Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.fsx.FileCache;
import com.pulumi.aws.fsx.FileCacheArgs;
import com.pulumi.aws.fsx.inputs.FileCacheDataRepositoryAssociationArgs;
import com.pulumi.aws.fsx.inputs.FileCacheLustreConfigurationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new FileCache("example", FileCacheArgs.builder()
.dataRepositoryAssociations(FileCacheDataRepositoryAssociationArgs.builder()
.dataRepositoryPath("nfs://filer.domain.com")
.dataRepositorySubdirectories(
"test",
"test2")
.fileCachePath("/ns1")
.nfs(FileCacheDataRepositoryAssociationNfArgs.builder()
.dnsIps(
"192.168.0.1",
"192.168.0.2")
.version("NFS3")
.build())
.build())
.fileCacheType("LUSTRE")
.fileCacheTypeVersion("2.12")
.lustreConfigurations(FileCacheLustreConfigurationArgs.builder()
.deploymentType("CACHE_1")
.metadataConfigurations(FileCacheLustreConfigurationMetadataConfigurationArgs.builder()
.storageCapacity(2400)
.build())
.perUnitStorageThroughput(1000)
.weeklyMaintenanceStartTime("2:05:00")
.build())
.subnetIds(aws_subnet.test1().id())
.storageCapacity(1200)
.build());
}
}

Import

Amazon File Cache cache can be imported using the resource id.

$ pulumi import aws:fsx/fileCache:FileCache example fc-8012925589

Constructors

Link copied to clipboard
constructor(copyTagsToDataRepositoryAssociations: Output<Boolean>? = null, dataRepositoryAssociations: Output<List<FileCacheDataRepositoryAssociationArgs>>? = null, fileCacheType: Output<String>? = null, fileCacheTypeVersion: Output<String>? = null, kmsKeyId: Output<String>? = null, lustreConfigurations: Output<List<FileCacheLustreConfigurationArgs>>? = null, securityGroupIds: Output<List<String>>? = null, storageCapacity: Output<Int>? = null, subnetIds: Output<List<String>>? = null, tags: Output<Map<String, String>>? = null)

Properties

Link copied to clipboard

A boolean flag indicating whether tags for the cache should be copied to data repository associations. This value defaults to false.

Link copied to clipboard

See the data_repository_association configuration block. Max of 8. A list of up to 8 configurations for data repository associations (DRAs) to be created during the cache creation. The DRAs link the cache to either an Amazon S3 data repository or a Network File System (NFS) data repository that supports the NFSv3 protocol. The DRA configurations must meet the following requirements: 1) All configurations on the list must be of the same data repository type, either all S3 or all NFS. A cache can't link to different data repository types at the same time. 2) An NFS DRA must link to an NFS file system that supports the NFSv3 protocol. DRA automatic import and automatic export is not supported.

Link copied to clipboard
val fileCacheType: Output<String>? = null

The type of cache that you're creating. The only supported value is LUSTRE.

Link copied to clipboard
val fileCacheTypeVersion: Output<String>? = null

The version for the type of cache that you're creating. The only supported value is 2.12.

Link copied to clipboard
val kmsKeyId: Output<String>? = null

Specifies the ID of the AWS Key Management Service (AWS KMS) key to use for encrypting data on an Amazon File Cache. If a KmsKeyId isn't specified, the Amazon FSx-managed AWS KMS key for your account is used.

Link copied to clipboard

See the lustre_configuration block. Required when file_cache_type is LUSTRE.

Link copied to clipboard
val securityGroupIds: Output<List<String>>? = null

A list of IDs specifying the security groups to apply to all network interfaces created for Amazon File Cache access.

Link copied to clipboard
val storageCapacity: Output<Int>? = null

The storage capacity of the cache in gibibytes (GiB). Valid values are 1200 GiB, 2400 GiB, and increments of 2400 GiB.

Link copied to clipboard
val subnetIds: Output<List<String>>? = null

A list of subnet IDs that the cache will be accessible from. You can specify only one subnet ID. The following arguments are optional:

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

A map of tags to assign to the file cache. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Functions

Link copied to clipboard
open override fun toJava(): FileCacheArgs