import { Command as $Command } from "@smithy/core/client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { DataZoneClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DataZoneClient"; import type { GetFormTypeInput, GetFormTypeOutput } from "../models/models_1"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link GetFormTypeCommand}. */ export interface GetFormTypeCommandInput extends GetFormTypeInput { } /** * @public * * The output of {@link GetFormTypeCommand}. */ export interface GetFormTypeCommandOutput extends GetFormTypeOutput, __MetadataBearer { } declare const GetFormTypeCommand_base: { new (input: GetFormTypeCommandInput): import("@smithy/core/client").CommandImpl; new (input: GetFormTypeCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): { [x: string]: unknown; }; }; /** *

Gets a metadata form type in Amazon DataZone.

Form types define the structure and validation rules for collecting metadata about assets in Amazon DataZone. They act as templates that ensure consistent metadata capture across similar types of assets, while allowing for customization to meet specific organizational needs. Form types can include required fields, validation rules, and dependencies, helping maintain high-quality metadata that makes data assets more discoverable and usable.

One use case for this API is to determine whether a form field is indexed for search.

A searchable field will be annotated with @amazon.datazone#searchable. By default, searchable fields are indexed for semantic search, where related query terms will match the attribute value even if they are not stemmed or keyword matches. If a field is indexed technical identifier search, it will be annotated with @amazon.datazone#searchable(modes:["TECHNICAL"]). If a field is indexed for lexical search (supports stemmed and prefix matches but not semantic matches), it will be annotated with @amazon.datazone#searchable(modes:["LEXICAL"]).

A field storing glossary term IDs (which is filterable) will be annotated with @amazon.datazone#glossaryterm("$\{glossaryId\}").

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { DataZoneClient, GetFormTypeCommand } from "@aws-sdk/client-datazone"; // ES Modules import * // const { DataZoneClient, GetFormTypeCommand } = require("@aws-sdk/client-datazone"); // CommonJS import * // import type { DataZoneClientConfig } from "@aws-sdk/client-datazone"; * const config = {}; // type is DataZoneClientConfig * const client = new DataZoneClient(config); * const input = { // GetFormTypeInput * domainIdentifier: "STRING_VALUE", // required * formTypeIdentifier: "STRING_VALUE", // required * revision: "STRING_VALUE", * }; * const command = new GetFormTypeCommand(input); * const response = await client.send(command); * // { // GetFormTypeOutput * // domainId: "STRING_VALUE", // required * // name: "STRING_VALUE", // required * // revision: "STRING_VALUE", // required * // model: { // Model Union: only one key present * // smithy: "STRING_VALUE", * // }, * // owningProjectId: "STRING_VALUE", * // originDomainId: "STRING_VALUE", * // originProjectId: "STRING_VALUE", * // status: "ENABLED" || "DISABLED", * // createdAt: new Date("TIMESTAMP"), * // createdBy: "STRING_VALUE", * // description: "STRING_VALUE", * // imports: [ // ImportList * // { // Import * // name: "STRING_VALUE", // required * // revision: "STRING_VALUE", // required * // }, * // ], * // }; * * ``` * * @param GetFormTypeCommandInput - {@link GetFormTypeCommandInput} * @returns {@link GetFormTypeCommandOutput} * @see {@link GetFormTypeCommandInput} for command's `input` shape. * @see {@link GetFormTypeCommandOutput} for command's `response` shape. * @see {@link DataZoneClientResolvedConfig | config} for DataZoneClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) *

You do not have sufficient access to perform this action.

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

The request has failed because of an unknown error, exception or failure.

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

The specified resource cannot be found.

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

The request was denied due to request throttling.

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

The input fails to satisfy the constraints specified by the Amazon Web Services service.

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

You do not have permission to perform this action.

* * @throws {@link DataZoneServiceException} *

Base exception class for all service exceptions from DataZone service.

* * * @public */ export declare class GetFormTypeCommand extends GetFormTypeCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: GetFormTypeInput; output: GetFormTypeOutput; }; sdk: { input: GetFormTypeCommandInput; output: GetFormTypeCommandOutput; }; }; }