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 { CreateDataProductInput, CreateDataProductOutput } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link CreateDataProductCommand}. */ export interface CreateDataProductCommandInput extends CreateDataProductInput { } /** * @public * * The output of {@link CreateDataProductCommand}. */ export interface CreateDataProductCommandOutput extends CreateDataProductOutput, __MetadataBearer { } declare const CreateDataProductCommand_base: { new (input: CreateDataProductCommandInput): import("@smithy/core/client").CommandImpl; new (input: CreateDataProductCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): { [x: string]: unknown; }; }; /** *

Creates a data product.

A data product is a comprehensive package that combines data assets with their associated metadata, documentation, and access controls. It's designed to serve specific business needs or use cases, making it easier for users to find and consume data appropriately. Data products include important information about data quality, freshness, and usage guidelines, effectively bridging the gap between data producers and consumers while ensuring proper governance.

Prerequisites:

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { DataZoneClient, CreateDataProductCommand } from "@aws-sdk/client-datazone"; // ES Modules import * // const { DataZoneClient, CreateDataProductCommand } = 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 = { // CreateDataProductInput * domainIdentifier: "STRING_VALUE", // required * name: "STRING_VALUE", // required * owningProjectIdentifier: "STRING_VALUE", // required * description: "STRING_VALUE", * glossaryTerms: [ // GlossaryTerms * "STRING_VALUE", * ], * formsInput: [ // FormInputList * { // FormInput * formName: "STRING_VALUE", // required * typeIdentifier: "STRING_VALUE", * typeRevision: "STRING_VALUE", * content: "STRING_VALUE", * }, * ], * items: [ // DataProductItems * { // DataProductItem * itemType: "ASSET", // required * identifier: "STRING_VALUE", // required * revision: "STRING_VALUE", * glossaryTerms: [ // ItemGlossaryTerms * "STRING_VALUE", * ], * }, * ], * clientToken: "STRING_VALUE", * }; * const command = new CreateDataProductCommand(input); * const response = await client.send(command); * // { // CreateDataProductOutput * // domainId: "STRING_VALUE", // required * // id: "STRING_VALUE", // required * // revision: "STRING_VALUE", // required * // owningProjectId: "STRING_VALUE", // required * // name: "STRING_VALUE", // required * // status: "CREATED" || "CREATING" || "CREATE_FAILED", // required * // description: "STRING_VALUE", * // glossaryTerms: [ // GlossaryTerms * // "STRING_VALUE", * // ], * // items: [ // DataProductItems * // { // DataProductItem * // itemType: "ASSET", // required * // identifier: "STRING_VALUE", // required * // revision: "STRING_VALUE", * // glossaryTerms: [ // ItemGlossaryTerms * // "STRING_VALUE", * // ], * // }, * // ], * // formsOutput: [ // FormOutputList * // { // FormOutput * // formName: "STRING_VALUE", // required * // typeName: "STRING_VALUE", * // typeRevision: "STRING_VALUE", * // content: "STRING_VALUE", * // }, * // ], * // createdAt: new Date("TIMESTAMP"), * // createdBy: "STRING_VALUE", * // firstRevisionCreatedAt: new Date("TIMESTAMP"), * // firstRevisionCreatedBy: "STRING_VALUE", * // }; * * ``` * * @param CreateDataProductCommandInput - {@link CreateDataProductCommandInput} * @returns {@link CreateDataProductCommandOutput} * @see {@link CreateDataProductCommandInput} for command's `input` shape. * @see {@link CreateDataProductCommandOutput} 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 ConflictException} (client fault) *

There is a conflict while performing 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 ServiceQuotaExceededException} (client fault) *

The request has exceeded the specified service quota.

* * @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 CreateDataProductCommand extends CreateDataProductCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateDataProductInput; output: CreateDataProductOutput; }; sdk: { input: CreateDataProductCommandInput; output: CreateDataProductCommandOutput; }; }; }