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 { CreateSubscriptionRequestInput, CreateSubscriptionRequestOutput } from "../models/models_1"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link CreateSubscriptionRequestCommand}. */ export interface CreateSubscriptionRequestCommandInput extends CreateSubscriptionRequestInput { } /** * @public * * The output of {@link CreateSubscriptionRequestCommand}. */ export interface CreateSubscriptionRequestCommandOutput extends CreateSubscriptionRequestOutput, __MetadataBearer { } declare const CreateSubscriptionRequestCommand_base: { new (input: CreateSubscriptionRequestCommandInput): import("@smithy/core/client").CommandImpl; new (input: CreateSubscriptionRequestCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): { [x: string]: unknown; }; }; /** *

Creates a subscription request in Amazon DataZone.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { DataZoneClient, CreateSubscriptionRequestCommand } from "@aws-sdk/client-datazone"; // ES Modules import * // const { DataZoneClient, CreateSubscriptionRequestCommand } = 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 = { // CreateSubscriptionRequestInput * domainIdentifier: "STRING_VALUE", // required * subscribedPrincipals: [ // SubscribedPrincipalInputs // required * { // SubscribedPrincipalInput Union: only one key present * project: { // SubscribedProjectInput * identifier: "STRING_VALUE", * }, * user: { // SubscribedUserInput * identifier: "STRING_VALUE", * }, * group: { // SubscribedGroupInput * identifier: "STRING_VALUE", * }, * iam: { // SubscribedIamPrincipalInput * identifier: "STRING_VALUE", * }, * }, * ], * subscribedListings: [ // SubscribedListingInputs // required * { // SubscribedListingInput * identifier: "STRING_VALUE", // required * }, * ], * requestReason: "STRING_VALUE", // required * clientToken: "STRING_VALUE", * metadataForms: [ // MetadataFormInputs * { // FormInput * formName: "STRING_VALUE", // required * typeIdentifier: "STRING_VALUE", * typeRevision: "STRING_VALUE", * content: "STRING_VALUE", * }, * ], * assetPermissions: [ // AssetPermissions * { // AssetPermission * assetId: "STRING_VALUE", // required * permissions: { // Permissions Union: only one key present * s3: [ // S3Permissions * "READ" || "WRITE", * ], * }, * }, * ], * assetScopes: [ // AcceptedAssetScopes * { // AcceptedAssetScope * assetId: "STRING_VALUE", // required * filterIds: [ // FilterIds // required * "STRING_VALUE", * ], * }, * ], * }; * const command = new CreateSubscriptionRequestCommand(input); * const response = await client.send(command); * // { // CreateSubscriptionRequestOutput * // id: "STRING_VALUE", // required * // createdBy: "STRING_VALUE", // required * // updatedBy: "STRING_VALUE", * // domainId: "STRING_VALUE", // required * // status: "PENDING" || "ACCEPTED" || "REJECTED", // required * // createdAt: new Date("TIMESTAMP"), // required * // updatedAt: new Date("TIMESTAMP"), // required * // requestReason: "STRING_VALUE", // required * // subscribedPrincipals: [ // SubscribedPrincipals // required * // { // SubscribedPrincipal Union: only one key present * // project: { // SubscribedProject * // id: "STRING_VALUE", * // name: "STRING_VALUE", * // }, * // user: { // SubscribedUser * // id: "STRING_VALUE", * // details: { // UserProfileDetails Union: only one key present * // iam: { // IamUserProfileDetails * // arn: "STRING_VALUE", * // principalId: "STRING_VALUE", * // sessionName: "STRING_VALUE", * // groupProfileId: "STRING_VALUE", * // }, * // sso: { // SsoUserProfileDetails * // username: "STRING_VALUE", * // firstName: "STRING_VALUE", * // lastName: "STRING_VALUE", * // }, * // }, * // }, * // group: { // SubscribedGroup * // id: "STRING_VALUE", * // name: "STRING_VALUE", * // }, * // iam: { // SubscribedIamPrincipal * // principalArn: "STRING_VALUE", * // }, * // }, * // ], * // subscribedListings: [ // SubscribedListings // required * // { // SubscribedListing * // id: "STRING_VALUE", // required * // revision: "STRING_VALUE", * // name: "STRING_VALUE", // required * // description: "STRING_VALUE", // required * // item: { // SubscribedListingItem Union: only one key present * // assetListing: { // SubscribedAssetListing * // entityId: "STRING_VALUE", * // entityRevision: "STRING_VALUE", * // entityType: "STRING_VALUE", * // forms: "STRING_VALUE", * // glossaryTerms: [ // DetailedGlossaryTerms * // { // DetailedGlossaryTerm * // name: "STRING_VALUE", * // shortDescription: "STRING_VALUE", * // }, * // ], * // assetScope: { // AssetScope * // assetId: "STRING_VALUE", // required * // filterIds: [ // FilterIds // required * // "STRING_VALUE", * // ], * // status: "STRING_VALUE", // required * // errorMessage: "STRING_VALUE", * // }, * // permissions: { // Permissions Union: only one key present * // s3: [ // S3Permissions * // "READ" || "WRITE", * // ], * // }, * // }, * // productListing: { // SubscribedProductListing * // entityId: "STRING_VALUE", * // entityRevision: "STRING_VALUE", * // glossaryTerms: [ * // { * // name: "STRING_VALUE", * // shortDescription: "STRING_VALUE", * // }, * // ], * // name: "STRING_VALUE", * // description: "STRING_VALUE", * // assetListings: [ // AssetInDataProductListingItems * // { // AssetInDataProductListingItem * // entityId: "STRING_VALUE", * // entityRevision: "STRING_VALUE", * // entityType: "STRING_VALUE", * // }, * // ], * // }, * // }, * // ownerProjectId: "STRING_VALUE", // required * // ownerProjectName: "STRING_VALUE", * // }, * // ], * // reviewerId: "STRING_VALUE", * // decisionComment: "STRING_VALUE", * // existingSubscriptionId: "STRING_VALUE", * // metadataForms: [ // MetadataForms * // { // FormOutput * // formName: "STRING_VALUE", // required * // typeName: "STRING_VALUE", * // typeRevision: "STRING_VALUE", * // content: "STRING_VALUE", * // }, * // ], * // }; * * ``` * * @param CreateSubscriptionRequestCommandInput - {@link CreateSubscriptionRequestCommandInput} * @returns {@link CreateSubscriptionRequestCommandOutput} * @see {@link CreateSubscriptionRequestCommandInput} for command's `input` shape. * @see {@link CreateSubscriptionRequestCommandOutput} 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 CreateSubscriptionRequestCommand extends CreateSubscriptionRequestCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateSubscriptionRequestInput; output: CreateSubscriptionRequestOutput; }; sdk: { input: CreateSubscriptionRequestCommandInput; output: CreateSubscriptionRequestCommandOutput; }; }; }