import { Command as $Command } from "@smithy/smithy-client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { CreateUserRequest, CreateUserResponse } from "../models/models_0"; import type { ServiceInputTypes, ServiceOutputTypes, TransferClientResolvedConfig } from "../TransferClient"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link CreateUserCommand}. */ export interface CreateUserCommandInput extends CreateUserRequest { } /** * @public * * The output of {@link CreateUserCommand}. */ export interface CreateUserCommandOutput extends CreateUserResponse, __MetadataBearer { } declare const CreateUserCommand_base: { new (input: CreateUserCommandInput): import("@smithy/smithy-client").CommandImpl; new (input: CreateUserCommandInput): import("@smithy/smithy-client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions; }; /** *

Creates a user and associates them with an existing file transfer protocol-enabled server. You can only create and associate users with servers that have the IdentityProviderType set to SERVICE_MANAGED. Using parameters for CreateUser, you can specify the user name, set the home directory, store the user's public key, and assign the user's Identity and Access Management (IAM) role. You can also optionally add a session policy, and assign metadata with tags that can be used to group and search for users.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { TransferClient, CreateUserCommand } from "@aws-sdk/client-transfer"; // ES Modules import * // const { TransferClient, CreateUserCommand } = require("@aws-sdk/client-transfer"); // CommonJS import * // import type { TransferClientConfig } from "@aws-sdk/client-transfer"; * const config = {}; // type is TransferClientConfig * const client = new TransferClient(config); * const input = { // CreateUserRequest * HomeDirectory: "STRING_VALUE", * HomeDirectoryType: "PATH" || "LOGICAL", * HomeDirectoryMappings: [ // HomeDirectoryMappings * { // HomeDirectoryMapEntry * Entry: "STRING_VALUE", // required * Target: "STRING_VALUE", // required * Type: "FILE" || "DIRECTORY", * }, * ], * Policy: "STRING_VALUE", * PosixProfile: { // PosixProfile * Uid: Number("long"), // required * Gid: Number("long"), // required * SecondaryGids: [ // SecondaryGids * Number("long"), * ], * }, * Role: "STRING_VALUE", // required * ServerId: "STRING_VALUE", // required * SshPublicKeyBody: "STRING_VALUE", * Tags: [ // Tags * { // Tag * Key: "STRING_VALUE", // required * Value: "STRING_VALUE", // required * }, * ], * UserName: "STRING_VALUE", // required * }; * const command = new CreateUserCommand(input); * const response = await client.send(command); * // { // CreateUserResponse * // ServerId: "STRING_VALUE", // required * // UserName: "STRING_VALUE", // required * // }; * * ``` * * @param CreateUserCommandInput - {@link CreateUserCommandInput} * @returns {@link CreateUserCommandOutput} * @see {@link CreateUserCommandInput} for command's `input` shape. * @see {@link CreateUserCommandOutput} for command's `response` shape. * @see {@link TransferClientResolvedConfig | config} for TransferClient's `config` shape. * * @throws {@link InternalServiceError} (server fault) *

This exception is thrown when an error occurs in the Transfer Family service.

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

This exception is thrown when the client submits a malformed request.

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

The requested resource does not exist, or exists in a region other than the one specified for the command.

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

This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer Family service.

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

The request has failed because the Amazon Web ServicesTransfer Family service is not available.

* * @throws {@link TransferServiceException} *

Base exception class for all service exceptions from Transfer service.

* * * @public */ export declare class CreateUserCommand extends CreateUserCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateUserRequest; output: CreateUserResponse; }; sdk: { input: CreateUserCommandInput; output: CreateUserCommandOutput; }; }; }