Skip to content

create_telemetry_rule async

create_telemetry_rule(
    rule_name: RuleName,
    rule: TelemetryRule,
    *,
    config_overrides: Optional[AsyncObservabilityAdminClientConfig] = None,
    tags: Optional[TagMapInput] = None,
) -> CreateTelemetryRuleOutput

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.

Parameters:

  • rule_name (RuleName) –

    A unique name for the telemetry rule being created.

  • rule (TelemetryRule) –

    The configuration details for the telemetry rule, including the resource type, telemetry type, destination configuration, and selection criteria for which resources the rule applies to.

  • tags (Optional[TagMapInput], default: None ) –

    The key-value pairs to associate with the telemetry rule resource for categorization and management purposes.

Raises:

Source code in docs_src/capo_observabilityadmin/_services/async_observability_admin.py
async def create_telemetry_rule(
    self,
    rule_name: "capo_observabilityadmin.types.rule_name.RuleName",
    rule: "capo_observabilityadmin.types.telemetry_rule.TelemetryRule",
    *,
    config_overrides: Optional[AsyncObservabilityAdminClientConfig] = None,
    tags: Optional[
        "capo_observabilityadmin.types.tag_map_input.TagMapInput"
    ] = None,
) -> "capo_observabilityadmin.types.create_telemetry_rule_output.CreateTelemetryRuleOutput":
    """<p> 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. </p>

    Args:
        rule_name: <p> A unique name for the telemetry rule being created. </p>
        rule: <p> The configuration details for the telemetry rule, including the resource type, telemetry type, destination configuration, and selection criteria for which resources the rule applies to. </p>
        tags: <p> The key-value pairs to associate with the telemetry rule resource for categorization and management purposes. </p>

    Raises:
        capo_observabilityadmin.errors.access_denied_exception.AccessDeniedException: <p> 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 <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html">Access management for Amazon Web Services resources</a> in the IAM user guide. </p>
        capo_observabilityadmin.errors.conflict_exception.ConflictException: <p> The requested operation conflicts with the current state of the specified resource or with another request. </p>
        capo_observabilityadmin.errors.internal_server_exception.InternalServerException: <p> Indicates the request has failed to process because of an unknown server error, exception, or failure. </p>
        capo_observabilityadmin.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p> The requested operation would exceed the allowed quota for the specified resource type. </p>
        capo_observabilityadmin.errors.too_many_requests_exception.TooManyRequestsException: <p> The request throughput limit was exceeded. </p>
        capo_observabilityadmin.errors.validation_exception.ValidationException: <p> Indicates input validation failed. Check your request parameters and retry the request. </p>
        capo_observabilityadmin.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_observabilityadmin.types.create_telemetry_rule_input.CreateTelemetryRuleInput]",
    ) -> AsyncOperationResponse[
        "capo_observabilityadmin.types.create_telemetry_rule_output.CreateTelemetryRuleOutput"
    ]:
        import capo_observabilityadmin._operations.observability_admin.create_telemetry_rule

        (
            output,
            http_response,
        ) = await capo_observabilityadmin._operations.observability_admin.create_telemetry_rule.async_create_telemetry_rule(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateTelemetryRule")
    )
    input_: capo_observabilityadmin.types.create_telemetry_rule_input.CreateTelemetryRuleInput = {
        "rule_name": rule_name,
        "rule": rule,
    }
    if tags is not None:
        input_["tags"] = tags

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output