import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { CreateFileCacheRequest, CreateFileCacheResponse } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link CreateFileCacheCommand}. */ export interface CreateFileCacheCommandInput extends CreateFileCacheRequest { } /** * @public * * The output of {@link CreateFileCacheCommand}. */ export interface CreateFileCacheCommandOutput extends CreateFileCacheResponse, __MetadataBearer { } declare const CreateFileCacheCommand_base: { new (input: CreateFileCacheCommandInput): import("@smithy/core/client").CommandImpl; new (input: CreateFileCacheCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions; }; /** *

Creates a new Amazon File Cache resource.

*

You can use this operation with a client request token in the request that * Amazon File Cache uses to ensure idempotent creation. * If a cache with the specified client request token exists and the parameters * match, CreateFileCache returns the description of the existing * cache. If a cache with the specified client request token exists and the * parameters don't match, this call returns IncompatibleParameterError. * If a file cache with the specified client request token doesn't exist, * CreateFileCache does the following:

* * *

The CreateFileCache call returns while the cache's lifecycle * state is still CREATING. You can check the cache creation status * by calling the DescribeFileCaches operation, which returns the cache state * along with other information.

*
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { FSxClient, CreateFileCacheCommand } from "@aws-sdk/client-fsx"; // ES Modules import * // const { FSxClient, CreateFileCacheCommand } = require("@aws-sdk/client-fsx"); // CommonJS import * // import type { FSxClientConfig } from "@aws-sdk/client-fsx"; * const config = {}; // type is FSxClientConfig * const client = new FSxClient(config); * const input = { // CreateFileCacheRequest * ClientRequestToken: "STRING_VALUE", * FileCacheType: "LUSTRE", // required * FileCacheTypeVersion: "STRING_VALUE", // required * StorageCapacity: Number("int"), // required * SubnetIds: [ // SubnetIds // required * "STRING_VALUE", * ], * SecurityGroupIds: [ // SecurityGroupIds * "STRING_VALUE", * ], * Tags: [ // Tags * { // Tag * Key: "STRING_VALUE", // required * Value: "STRING_VALUE", // required * }, * ], * CopyTagsToDataRepositoryAssociations: true || false, * KmsKeyId: "STRING_VALUE", * LustreConfiguration: { // CreateFileCacheLustreConfiguration * PerUnitStorageThroughput: Number("int"), // required * DeploymentType: "CACHE_1", // required * WeeklyMaintenanceStartTime: "STRING_VALUE", * MetadataConfiguration: { // FileCacheLustreMetadataConfiguration * StorageCapacity: Number("int"), // required * }, * }, * DataRepositoryAssociations: [ // CreateFileCacheDataRepositoryAssociations * { // FileCacheDataRepositoryAssociation * FileCachePath: "STRING_VALUE", // required * DataRepositoryPath: "STRING_VALUE", // required * DataRepositorySubdirectories: [ // SubDirectoriesPaths * "STRING_VALUE", * ], * NFS: { // FileCacheNFSConfiguration * Version: "NFS3", // required * DnsIps: [ // RepositoryDnsIps * "STRING_VALUE", * ], * }, * }, * ], * }; * const command = new CreateFileCacheCommand(input); * const response = await client.send(command); * // { // CreateFileCacheResponse * // FileCache: { // FileCacheCreating * // OwnerId: "STRING_VALUE", * // CreationTime: new Date("TIMESTAMP"), * // FileCacheId: "STRING_VALUE", * // FileCacheType: "LUSTRE", * // FileCacheTypeVersion: "STRING_VALUE", * // Lifecycle: "AVAILABLE" || "CREATING" || "DELETING" || "UPDATING" || "FAILED", * // FailureDetails: { // FileCacheFailureDetails * // Message: "STRING_VALUE", * // }, * // StorageCapacity: Number("int"), * // VpcId: "STRING_VALUE", * // SubnetIds: [ // SubnetIds * // "STRING_VALUE", * // ], * // NetworkInterfaceIds: [ // NetworkInterfaceIds * // "STRING_VALUE", * // ], * // DNSName: "STRING_VALUE", * // KmsKeyId: "STRING_VALUE", * // ResourceARN: "STRING_VALUE", * // Tags: [ // Tags * // { // Tag * // Key: "STRING_VALUE", // required * // Value: "STRING_VALUE", // required * // }, * // ], * // CopyTagsToDataRepositoryAssociations: true || false, * // LustreConfiguration: { // FileCacheLustreConfiguration * // PerUnitStorageThroughput: Number("int"), * // DeploymentType: "CACHE_1", * // MountName: "STRING_VALUE", * // WeeklyMaintenanceStartTime: "STRING_VALUE", * // MetadataConfiguration: { // FileCacheLustreMetadataConfiguration * // StorageCapacity: Number("int"), // required * // }, * // LogConfiguration: { // LustreLogConfiguration * // Level: "DISABLED" || "WARN_ONLY" || "ERROR_ONLY" || "WARN_ERROR", // required * // Destination: "STRING_VALUE", * // }, * // }, * // DataRepositoryAssociationIds: [ // DataRepositoryAssociationIds * // "STRING_VALUE", * // ], * // }, * // }; * * ``` * * @param CreateFileCacheCommandInput - {@link CreateFileCacheCommandInput} * @returns {@link CreateFileCacheCommandOutput} * @see {@link CreateFileCacheCommandInput} for command's `input` shape. * @see {@link CreateFileCacheCommandOutput} for command's `response` shape. * @see {@link FSxClientResolvedConfig | config} for FSxClient's `config` shape. * * @throws {@link BadRequest} (client fault) *

A generic error indicating a failure with a client request.

* * @throws {@link IncompatibleParameterError} (client fault) *

The error returned when a second request is received with the same client request * token but different parameters settings. A client request token should always uniquely * identify a single request.

* * @throws {@link InternalServerError} (server fault) *

A generic error indicating a server-side failure.

* * @throws {@link InvalidNetworkSettings} (client fault) *

One or more network settings specified in the request are invalid.

* * @throws {@link InvalidPerUnitStorageThroughput} (client fault) *

An invalid value for PerUnitStorageThroughput was provided. Please create your file system again, using a valid value.

* * @throws {@link MissingFileCacheConfiguration} (client fault) *

A cache configuration is required for this operation.

* * @throws {@link ServiceLimitExceeded} (client fault) *

An error indicating that a particular service limit was exceeded. You can increase * some service limits by contacting Amazon Web Services Support.

* * @throws {@link FSxServiceException} *

Base exception class for all service exceptions from FSx service.

* * * @public */ export declare class CreateFileCacheCommand extends CreateFileCacheCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateFileCacheRequest; output: CreateFileCacheResponse; }; sdk: { input: CreateFileCacheCommandInput; output: CreateFileCacheCommandOutput; }; }; }