import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Resource for managing an Amazon File Cache cache. * See the [Create File Cache](https://docs.aws.amazon.com/fsx/latest/APIReference/API_CreateFileCache.html) for more information. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.fsx.FileCache("example", { * dataRepositoryAssociations: [{ * nfs: [{ * dnsIps: [ * "192.168.0.1", * "192.168.0.2", * ], * version: "NFS3", * }], * dataRepositoryPath: "nfs://filer.domain.com", * dataRepositorySubdirectories: [ * "test", * "test2", * ], * fileCachePath: "/ns1", * }], * lustreConfigurations: [{ * metadataConfigurations: [{ * storageCapacity: 2400, * }], * deploymentType: "CACHE_1", * perUnitStorageThroughput: 1000, * weeklyMaintenanceStartTime: "2:05:00", * }], * fileCacheType: "LUSTRE", * fileCacheTypeVersion: "2.12", * subnetIds: [test1.id], * storageCapacity: 1200, * }); * ``` * * ## Import * * Using `pulumi import`, import Amazon File Cache cache using the resource `id`. For example: * * ```sh * $ pulumi import aws:fsx/fileCache:FileCache example fc-8012925589 * ``` */ export declare class FileCache extends pulumi.CustomResource { /** * Get an existing FileCache resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: FileCacheState, opts?: pulumi.CustomResourceOptions): FileCache; /** * Returns true if the given object is an instance of FileCache. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is FileCache; /** * ARN of the cache. */ readonly arn: pulumi.Output; /** * Whether to copy tags for the cache to data repository associations. Defaults to `false`. */ readonly copyTagsToDataRepositoryAssociations: pulumi.Output; /** * IDs of data repository associations that are associated with the cache. */ readonly dataRepositoryAssociationIds: pulumi.Output; /** * Configurations for up to 8 data repository associations (DRAs) to create during cache creation. All configurations must be of the same data repository type, either all S3 or all NFS. Maximum of 8. See `dataRepositoryAssociation` Block below. */ readonly dataRepositoryAssociations: pulumi.Output; /** * DNS name for the cache. */ readonly dnsName: pulumi.Output; /** * System-generated, unique ID of the cache. */ readonly fileCacheId: pulumi.Output; /** * Type of cache to create. The only supported value is `LUSTRE`. */ readonly fileCacheType: pulumi.Output; /** * Version for the type of cache to create. The only supported value is `2.12`. */ readonly fileCacheTypeVersion: pulumi.Output; /** * ID of the KMS key to use for encrypting data on the cache. Defaults to the Amazon FSx-managed KMS key for your account. */ readonly kmsKeyId: pulumi.Output; /** * Configuration for the Lustre cache. Required when `fileCacheType` is `LUSTRE`. See `lustreConfiguration` Block below. */ readonly lustreConfigurations: pulumi.Output; /** * IDs of the network interfaces. */ readonly networkInterfaceIds: pulumi.Output; /** * AWS account that created the cache. */ readonly ownerId: pulumi.Output; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ readonly region: pulumi.Output; /** * IDs of the security groups to apply to all network interfaces created for cache access. */ readonly securityGroupIds: pulumi.Output; /** * Storage capacity of the cache in gibibytes (GiB). Valid values are `1200` GiB, `2400` GiB, and increments of `2400` GiB. */ readonly storageCapacity: pulumi.Output; /** * Subnet IDs that the cache is accessible from. You can specify only one subnet ID. */ readonly subnetIds: pulumi.Output; /** * Map of tags to assign to the file cache. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ readonly tags: pulumi.Output<{ [key: string]: string; } | undefined>; readonly tagsAll: pulumi.Output<{ [key: string]: string; }>; /** * ID of your VPC. */ readonly vpcId: pulumi.Output; /** * Create a FileCache resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: FileCacheArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering FileCache resources. */ export interface FileCacheState { /** * ARN of the cache. */ arn?: pulumi.Input; /** * Whether to copy tags for the cache to data repository associations. Defaults to `false`. */ copyTagsToDataRepositoryAssociations?: pulumi.Input; /** * IDs of data repository associations that are associated with the cache. */ dataRepositoryAssociationIds?: pulumi.Input[] | undefined>; /** * Configurations for up to 8 data repository associations (DRAs) to create during cache creation. All configurations must be of the same data repository type, either all S3 or all NFS. Maximum of 8. See `dataRepositoryAssociation` Block below. */ dataRepositoryAssociations?: pulumi.Input[] | undefined>; /** * DNS name for the cache. */ dnsName?: pulumi.Input; /** * System-generated, unique ID of the cache. */ fileCacheId?: pulumi.Input; /** * Type of cache to create. The only supported value is `LUSTRE`. */ fileCacheType?: pulumi.Input; /** * Version for the type of cache to create. The only supported value is `2.12`. */ fileCacheTypeVersion?: pulumi.Input; /** * ID of the KMS key to use for encrypting data on the cache. Defaults to the Amazon FSx-managed KMS key for your account. */ kmsKeyId?: pulumi.Input; /** * Configuration for the Lustre cache. Required when `fileCacheType` is `LUSTRE`. See `lustreConfiguration` Block below. */ lustreConfigurations?: pulumi.Input[] | undefined>; /** * IDs of the network interfaces. */ networkInterfaceIds?: pulumi.Input[] | undefined>; /** * AWS account that created the cache. */ ownerId?: pulumi.Input; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: pulumi.Input; /** * IDs of the security groups to apply to all network interfaces created for cache access. */ securityGroupIds?: pulumi.Input[] | undefined>; /** * Storage capacity of the cache in gibibytes (GiB). Valid values are `1200` GiB, `2400` GiB, and increments of `2400` GiB. */ storageCapacity?: pulumi.Input; /** * Subnet IDs that the cache is accessible from. You can specify only one subnet ID. */ subnetIds?: pulumi.Input[] | undefined>; /** * Map of tags to assign to the file cache. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; tagsAll?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * ID of your VPC. */ vpcId?: pulumi.Input; } /** * The set of arguments for constructing a FileCache resource. */ export interface FileCacheArgs { /** * Whether to copy tags for the cache to data repository associations. Defaults to `false`. */ copyTagsToDataRepositoryAssociations?: pulumi.Input; /** * Configurations for up to 8 data repository associations (DRAs) to create during cache creation. All configurations must be of the same data repository type, either all S3 or all NFS. Maximum of 8. See `dataRepositoryAssociation` Block below. */ dataRepositoryAssociations?: pulumi.Input[] | undefined>; /** * Type of cache to create. The only supported value is `LUSTRE`. */ fileCacheType: pulumi.Input; /** * Version for the type of cache to create. The only supported value is `2.12`. */ fileCacheTypeVersion: pulumi.Input; /** * ID of the KMS key to use for encrypting data on the cache. Defaults to the Amazon FSx-managed KMS key for your account. */ kmsKeyId?: pulumi.Input; /** * Configuration for the Lustre cache. Required when `fileCacheType` is `LUSTRE`. See `lustreConfiguration` Block below. */ lustreConfigurations?: pulumi.Input[] | undefined>; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: pulumi.Input; /** * IDs of the security groups to apply to all network interfaces created for cache access. */ securityGroupIds?: pulumi.Input[] | undefined>; /** * Storage capacity of the cache in gibibytes (GiB). Valid values are `1200` GiB, `2400` GiB, and increments of `2400` GiB. */ storageCapacity: pulumi.Input; /** * Subnet IDs that the cache is accessible from. You can specify only one subnet ID. */ subnetIds: pulumi.Input[]>; /** * Map of tags to assign to the file cache. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } //# sourceMappingURL=fileCache.d.ts.map