import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { UpdateTelemetryRuleInput, UpdateTelemetryRuleOutput } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link UpdateTelemetryRuleCommand}. */ export interface UpdateTelemetryRuleCommandInput extends UpdateTelemetryRuleInput { } /** * @public * * The output of {@link UpdateTelemetryRuleCommand}. */ export interface UpdateTelemetryRuleCommandOutput extends UpdateTelemetryRuleOutput, __MetadataBearer { } declare const UpdateTelemetryRuleCommand_base: { new (input: UpdateTelemetryRuleCommandInput): import("@smithy/core/client").CommandImpl; new (input: UpdateTelemetryRuleCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions; }; /** *

Updates an existing telemetry rule in your account. If multiple users attempt to modify the same telemetry rule simultaneously, a ConflictException is returned to provide specific error information for concurrent modification scenarios.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { ObservabilityAdminClient, UpdateTelemetryRuleCommand } from "@aws-sdk/client-observabilityadmin"; // ES Modules import * // const { ObservabilityAdminClient, UpdateTelemetryRuleCommand } = 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 = { // UpdateTelemetryRuleInput * RuleIdentifier: "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, * }, * }; * const command = new UpdateTelemetryRuleCommand(input); * const response = await client.send(command); * // { // UpdateTelemetryRuleOutput * // RuleArn: "STRING_VALUE", * // }; * * ``` * * @param UpdateTelemetryRuleCommandInput - {@link UpdateTelemetryRuleCommandInput} * @returns {@link UpdateTelemetryRuleCommandOutput} * @see {@link UpdateTelemetryRuleCommandInput} for command's `input` shape. * @see {@link UpdateTelemetryRuleCommandOutput} 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 ResourceNotFoundException} (client fault) *

The specified resource (such as a telemetry rule) could not be found.

* * @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 UpdateTelemetryRuleCommand extends UpdateTelemetryRuleCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: UpdateTelemetryRuleInput; output: UpdateTelemetryRuleOutput; }; sdk: { input: UpdateTelemetryRuleCommandInput; output: UpdateTelemetryRuleCommandOutput; }; }; }