import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { CreateTelemetryRuleInput, CreateTelemetryRuleOutput } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link CreateTelemetryRuleCommand}. */ export interface CreateTelemetryRuleCommandInput extends CreateTelemetryRuleInput { } /** * @public * * The output of {@link CreateTelemetryRuleCommand}. */ export interface CreateTelemetryRuleCommandOutput extends CreateTelemetryRuleOutput, __MetadataBearer { } declare const CreateTelemetryRuleCommand_base: { new (input: CreateTelemetryRuleCommandInput): import("@smithy/core/client").CommandImpl; new (input: CreateTelemetryRuleCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions; }; /** *

Creates a telemetry rule that defines how telemetry should be configured for Amazon Web Services resources in your account. The rule specifies which resources should have telemetry enabled and how that telemetry data should be collected based on resource type, telemetry type, and selection criteria.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { ObservabilityAdminClient, CreateTelemetryRuleCommand } from "@aws-sdk/client-observabilityadmin"; // ES Modules import * // const { ObservabilityAdminClient, CreateTelemetryRuleCommand } = require("@aws-sdk/client-observabilityadmin"); // CommonJS import * // import type { ObservabilityAdminClientConfig } from "@aws-sdk/client-observabilityadmin"; * const config = {}; // type is ObservabilityAdminClientConfig * const client = new ObservabilityAdminClient(config); * const input = { // CreateTelemetryRuleInput * RuleName: "STRING_VALUE", // required * Rule: { // TelemetryRule * ResourceType: "AWS::EC2::Instance" || "AWS::EC2::VPC" || "AWS::Lambda::Function" || "AWS::CloudTrail" || "AWS::EKS::Cluster" || "AWS::WAFv2::WebACL" || "AWS::ElasticLoadBalancingV2::LoadBalancer" || "AWS::Route53Resolver::ResolverEndpoint" || "AWS::BedrockAgentCore::Runtime" || "AWS::BedrockAgentCore::Browser" || "AWS::BedrockAgentCore::CodeInterpreter" || "AWS::BedrockAgentCore::Gateway" || "AWS::BedrockAgentCore::Memory" || "AWS::BedrockAgentCore::WorkloadIdentity" || "AWS::SecurityHub::Hub" || "AWS::CloudFront::Distribution" || "AWS::SecurityHub::HubV2" || "AWS::CloudWatch::OTelEnrichment" || "AWS::MSK::Cluster" || "AWS::S3::Bucket" || "AWS::Bedrock::KnowledgeBase", * TelemetryType: "Logs" || "Metrics" || "Traces", // required * TelemetrySourceTypes: [ // TelemetrySourceTypes * "VPC_FLOW_LOGS" || "ROUTE53_RESOLVER_QUERY_LOGS" || "EKS_AUDIT_LOGS" || "EKS_AUTHENTICATOR_LOGS" || "EKS_CONTROLLER_MANAGER_LOGS" || "EKS_SCHEDULER_LOGS" || "EKS_API_LOGS", * ], * DestinationConfiguration: { // TelemetryDestinationConfiguration * DestinationType: "cloud-watch-logs", * DestinationPattern: "STRING_VALUE", * RetentionInDays: Number("int"), * VPCFlowLogParameters: { // VPCFlowLogParameters * LogFormat: "STRING_VALUE", * TrafficType: "STRING_VALUE", * MaxAggregationInterval: Number("int"), * }, * CloudtrailParameters: { // CloudtrailParameters * AdvancedEventSelectors: [ // AdvancedEventSelectors // required * { // AdvancedEventSelector * Name: "STRING_VALUE", * FieldSelectors: [ // FieldSelectors // required * { // AdvancedFieldSelector * Field: "STRING_VALUE", // required * Equals: [ // StringList * "STRING_VALUE", * ], * StartsWith: [ * "STRING_VALUE", * ], * EndsWith: [ * "STRING_VALUE", * ], * NotEquals: [ * "STRING_VALUE", * ], * NotStartsWith: [ * "STRING_VALUE", * ], * NotEndsWith: "", * }, * ], * }, * ], * }, * ELBLoadBalancerLoggingParameters: { // ELBLoadBalancerLoggingParameters * OutputFormat: "plain" || "json", * FieldDelimiter: "STRING_VALUE", * }, * WAFLoggingParameters: { // WAFLoggingParameters * RedactedFields: [ // RedactedFields * { // FieldToMatch * SingleHeader: { // SingleHeader * Name: "STRING_VALUE", * }, * UriPath: "STRING_VALUE", * QueryString: "STRING_VALUE", * Method: "STRING_VALUE", * }, * ], * LoggingFilter: { // LoggingFilter * Filters: [ // Filters * { // Filter * Behavior: "KEEP" || "DROP", * Requirement: "MEETS_ALL" || "MEETS_ANY", * Conditions: [ // Conditions * { // Condition * ActionCondition: { // ActionCondition * Action: "ALLOW" || "BLOCK" || "COUNT" || "CAPTCHA" || "CHALLENGE" || "EXCLUDED_AS_COUNT", * }, * LabelNameCondition: { // LabelNameCondition * LabelName: "STRING_VALUE", * }, * }, * ], * }, * ], * DefaultBehavior: "KEEP" || "DROP", * }, * LogType: "WAF_LOGS", * }, * LogDeliveryParameters: { // LogDeliveryParameters * LogTypes: [ // LogTypes * "APPLICATION_LOGS" || "USAGE_LOGS" || "SECURITY_FINDING_LOGS" || "ACCESS_LOGS" || "CONNECTION_LOGS" || "S3_SERVER_ACCESS_LOGS" || "ALB_ACCESS_LOGS" || "ALB_CONNECTION_LOGS" || "ALB_HEALTH_CHECK_LOGS", * ], * }, * MskMonitoringParameters: { // MskMonitoringParameters * EnhancedMonitoring: "DEFAULT" || "PER_BROKER" || "PER_TOPIC_PER_BROKER" || "PER_TOPIC_PER_PARTITION", * }, * KmsKeyArn: "STRING_VALUE", * }, * Scope: "STRING_VALUE", * SelectionCriteria: "STRING_VALUE", * AllowFieldUpdates: true || false, * Regions: [ // Regions * "STRING_VALUE", * ], * AllRegions: true || false, * }, * Tags: { // TagMapInput * "": "STRING_VALUE", * }, * }; * const command = new CreateTelemetryRuleCommand(input); * const response = await client.send(command); * // { // CreateTelemetryRuleOutput * // RuleArn: "STRING_VALUE", * // }; * * ``` * * @param CreateTelemetryRuleCommandInput - {@link CreateTelemetryRuleCommandInput} * @returns {@link CreateTelemetryRuleCommandOutput} * @see {@link CreateTelemetryRuleCommandInput} for command's `input` shape. * @see {@link CreateTelemetryRuleCommandOutput} for command's `response` shape. * @see {@link ObservabilityAdminClientResolvedConfig | config} for ObservabilityAdminClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) *

Indicates you don't have permissions to perform the requested operation. The user or role that is making the request must have at least one IAM permissions policy attached that grants the required permissions. For more information, see Access management for Amazon Web Services resources in the IAM user guide.

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

The requested operation conflicts with the current state of the specified resource or with another request.

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

Indicates the request has failed to process because of an unknown server error, exception, or failure.

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

The requested operation would exceed the allowed quota for the specified resource type.

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

The request throughput limit was exceeded.

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

Indicates input validation failed. Check your request parameters and retry the request.

* * @throws {@link ObservabilityAdminServiceException} *

Base exception class for all service exceptions from ObservabilityAdmin service.

* * * @public */ export declare class CreateTelemetryRuleCommand extends CreateTelemetryRuleCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateTelemetryRuleInput; output: CreateTelemetryRuleOutput; }; sdk: { input: CreateTelemetryRuleCommandInput; output: CreateTelemetryRuleCommandOutput; }; }; }