import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { CreateInstrumentationConfigurationRequest, CreateInstrumentationConfigurationResponse } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link CreateInstrumentationConfigurationCommand}. */ export interface CreateInstrumentationConfigurationCommandInput extends CreateInstrumentationConfigurationRequest { } /** * @public * * The output of {@link CreateInstrumentationConfigurationCommand}. */ export interface CreateInstrumentationConfigurationCommandOutput extends CreateInstrumentationConfigurationResponse, __MetadataBearer { } declare const CreateInstrumentationConfigurationCommand_base: { new (input: CreateInstrumentationConfigurationCommandInput): import("@smithy/core/client").CommandImpl; new (input: CreateInstrumentationConfigurationCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions; }; /** *

Creates a dynamic instrumentation configuration for a specific code or endpoint location within a service and environment. Configurations are immutable after creation.

For BREAKPOINT type configurations, they expire after 24 hours unless a shorter expiration is provided. For PROBE type configurations, they persist until explicitly deleted; an expiration cannot be set for PROBE configurations.

If a configuration already exists for the same service, environment, signal type, and location, this operation returns a conflict instead of overwriting it. Use attribute filters and capture settings to control where the instrumentation runs and which data is collected.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { ApplicationSignalsClient, CreateInstrumentationConfigurationCommand } from "@aws-sdk/client-application-signals"; // ES Modules import * // const { ApplicationSignalsClient, CreateInstrumentationConfigurationCommand } = require("@aws-sdk/client-application-signals"); // CommonJS import * // import type { ApplicationSignalsClientConfig } from "@aws-sdk/client-application-signals"; * const config = {}; // type is ApplicationSignalsClientConfig * const client = new ApplicationSignalsClient(config); * const input = { // CreateInstrumentationConfigurationRequest * InstrumentationType: "BREAKPOINT" || "PROBE", // required * Service: "STRING_VALUE", // required * Environment: "STRING_VALUE", // required * SignalType: "SNAPSHOT", // required * Location: { // Location Union: only one key present * CodeLocation: { // CodeLocation * Language: "Java" || "Python" || "Javascript", // required * CodeUnit: "STRING_VALUE", * ClassName: "STRING_VALUE", * MethodName: "STRING_VALUE", * FilePath: "STRING_VALUE", // required * LineNumber: Number("int"), * }, * }, * Description: "STRING_VALUE", * ExpiresAt: new Date("TIMESTAMP"), * AttributeFilters: [ // DynamicInstrumentationAttributeFilters * { // DynamicInstrumentationAttributeFilterGroup * "": "STRING_VALUE", * }, * ], * CaptureConfiguration: { // CaptureConfiguration Union: only one key present * CodeCapture: { // CodeCaptureConfiguration * CaptureArguments: [ // StringList * "STRING_VALUE", * ], * CaptureReturn: true || false, * CaptureStackTrace: true || false, * CaptureLocals: [ * "STRING_VALUE", * ], * CaptureLimits: { // CaptureLimitsConfig * MaxHits: Number("int"), * MaxStringLength: Number("int"), * MaxCollectionWidth: Number("int"), * MaxCollectionDepth: Number("int"), * MaxStackFrames: Number("int"), * MaxStackTraceSize: Number("int"), * MaxObjectDepth: Number("int"), * MaxFieldsPerObject: Number("int"), * }, * }, * }, * Tags: [ // TagList * { // Tag * Key: "STRING_VALUE", // required * Value: "STRING_VALUE", // required * }, * ], * }; * const command = new CreateInstrumentationConfigurationCommand(input); * const response = await client.send(command); * // { // CreateInstrumentationConfigurationResponse * // InstrumentationType: "BREAKPOINT" || "PROBE", // required * // Service: "STRING_VALUE", // required * // Environment: "STRING_VALUE", // required * // SignalType: "SNAPSHOT", // required * // Location: { // Location Union: only one key present * // CodeLocation: { // CodeLocation * // Language: "Java" || "Python" || "Javascript", // required * // CodeUnit: "STRING_VALUE", * // ClassName: "STRING_VALUE", * // MethodName: "STRING_VALUE", * // FilePath: "STRING_VALUE", // required * // LineNumber: Number("int"), * // }, * // }, * // LocationHash: "STRING_VALUE", // required * // Description: "STRING_VALUE", * // ExpiresAt: new Date("TIMESTAMP"), * // AttributeFilters: [ // DynamicInstrumentationAttributeFilters * // { // DynamicInstrumentationAttributeFilterGroup * // "": "STRING_VALUE", * // }, * // ], * // CaptureConfiguration: { // CaptureConfiguration Union: only one key present * // CodeCapture: { // CodeCaptureConfiguration * // CaptureArguments: [ // StringList * // "STRING_VALUE", * // ], * // CaptureReturn: true || false, * // CaptureStackTrace: true || false, * // CaptureLocals: [ * // "STRING_VALUE", * // ], * // CaptureLimits: { // CaptureLimitsConfig * // MaxHits: Number("int"), * // MaxStringLength: Number("int"), * // MaxCollectionWidth: Number("int"), * // MaxCollectionDepth: Number("int"), * // MaxStackFrames: Number("int"), * // MaxStackTraceSize: Number("int"), * // MaxObjectDepth: Number("int"), * // MaxFieldsPerObject: Number("int"), * // }, * // }, * // }, * // CreatedAt: new Date("TIMESTAMP"), // required * // ARN: "STRING_VALUE", // required * // }; * * ``` * * @param CreateInstrumentationConfigurationCommandInput - {@link CreateInstrumentationConfigurationCommandInput} * @returns {@link CreateInstrumentationConfigurationCommandOutput} * @see {@link CreateInstrumentationConfigurationCommandInput} for command's `input` shape. * @see {@link CreateInstrumentationConfigurationCommandOutput} for command's `response` shape. * @see {@link ApplicationSignalsClientResolvedConfig | config} for ApplicationSignalsClient's `config` shape. * * @throws {@link ConflictException} (client fault) *

This operation attempted to create a resource that already exists.

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

This request exceeds a service quota.

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

The request was throttled because of quota limits.

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

The resource is not valid.

* * @throws {@link ApplicationSignalsServiceException} *

Base exception class for all service exceptions from ApplicationSignals service.

* * * @public */ export declare class CreateInstrumentationConfigurationCommand extends CreateInstrumentationConfigurationCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateInstrumentationConfigurationRequest; output: CreateInstrumentationConfigurationResponse; }; sdk: { input: CreateInstrumentationConfigurationCommandInput; output: CreateInstrumentationConfigurationCommandOutput; }; }; }