Skip to content

update_domain_configuration async

update_domain_configuration(
    domain_configuration_name: ReservedDomainConfigurationName,
    *,
    config_overrides: Optional[AsyncIoTClientConfig] = None,
    authorizer_config: Optional[AuthorizerConfig] = None,
    domain_configuration_status: Optional[DomainConfigurationStatus] = None,
    remove_authorizer_config: Optional[RemoveAuthorizerConfig] = None,
    tls_config: Optional[TlsConfig] = None,
    server_certificate_config: Optional[ServerCertificateConfig] = None,
    authentication_type: Optional[AuthenticationType] = None,
    application_protocol: Optional[ApplicationProtocol] = None,
    client_certificate_config: Optional[ClientCertificateConfig] = None,
) -> UpdateDomainConfigurationResponse

Updates values stored in the domain configuration. Domain configurations for default endpoints can't be updated.

Requires permission to access the UpdateDomainConfiguration action.

Parameters:

  • domain_configuration_name (ReservedDomainConfigurationName) –

    The name of the domain configuration to be updated.

  • authorizer_config (Optional[AuthorizerConfig], default: None ) –

    An object that specifies the authorization service for a domain.

  • domain_configuration_status (Optional[DomainConfigurationStatus], default: None ) –

    The status to which the domain configuration should be updated.

  • remove_authorizer_config (Optional[RemoveAuthorizerConfig], default: None ) –

    Removes the authorization configuration from a domain.

  • tls_config (Optional[TlsConfig], default: None ) –

    An object that specifies the TLS configuration for a domain.

  • server_certificate_config (Optional[ServerCertificateConfig], default: None ) –

    The server certificate configuration.

  • authentication_type (Optional[AuthenticationType], default: None ) –

    An enumerated string that specifies the authentication type.

    • CUSTOM_AUTH_X509 - Use custom authentication and authorization with additional details from the X.509 client certificate.

    • AWS_X509 - Use X.509 client certificates without custom authentication and authorization. For more information, see X.509 client certificates.

    • DEFAULT - Use a combination of port and Application Layer Protocol Negotiation (ALPN) to specify authentication type. For more information, see Device communication protocols.

  • application_protocol (Optional[ApplicationProtocol], default: None ) –

    An enumerated string that specifies the application-layer protocol.

    • SECURE_MQTT - MQTT over TLS.

    • MQTT_WSS - MQTT over WebSocket.

    • HTTPS - HTTP over TLS.

    • DEFAULT - Use a combination of port and Application Layer Protocol Negotiation (ALPN) to specify application_layer protocol. For more information, see Device communication protocols.

  • client_certificate_config (Optional[ClientCertificateConfig], default: None ) –

    An object that specifies the client certificate configuration for a domain.

Raises:

Source code in docs_src/capo_iot/_services/async_io_t.py
async def update_domain_configuration(
    self,
    domain_configuration_name: "capo_iot.types.reserved_domain_configuration_name.ReservedDomainConfigurationName",
    *,
    config_overrides: Optional[AsyncIoTClientConfig] = None,
    authorizer_config: Optional[
        "capo_iot.types.authorizer_config.AuthorizerConfig"
    ] = None,
    domain_configuration_status: Optional[
        "capo_iot.types.domain_configuration_status.DomainConfigurationStatus"
    ] = None,
    remove_authorizer_config: Optional[
        "capo_iot.types.remove_authorizer_config.RemoveAuthorizerConfig"
    ] = None,
    tls_config: Optional["capo_iot.types.tls_config.TlsConfig"] = None,
    server_certificate_config: Optional[
        "capo_iot.types.server_certificate_config.ServerCertificateConfig"
    ] = None,
    authentication_type: Optional[
        "capo_iot.types.authentication_type.AuthenticationType"
    ] = None,
    application_protocol: Optional[
        "capo_iot.types.application_protocol.ApplicationProtocol"
    ] = None,
    client_certificate_config: Optional[
        "capo_iot.types.client_certificate_config.ClientCertificateConfig"
    ] = None,
) -> "capo_iot.types.update_domain_configuration_response.UpdateDomainConfigurationResponse":
    """<p>Updates values stored in the domain configuration. Domain configurations for default endpoints can't be updated.</p> <p>Requires permission to access the <a href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions">UpdateDomainConfiguration</a> action.</p>

    Args:
        domain_configuration_name: <p>The name of the domain configuration to be updated.</p>
        authorizer_config: <p>An object that specifies the authorization service for a domain.</p>
        domain_configuration_status: <p>The status to which the domain configuration should be updated.</p>
        remove_authorizer_config: <p>Removes the authorization configuration from a domain.</p>
        tls_config: <p>An object that specifies the TLS configuration for a domain.</p>
        server_certificate_config: <p>The server certificate configuration.</p>
        authentication_type: <p>An enumerated string that specifies the authentication type.</p> <ul> <li> <p> <code>CUSTOM_AUTH_X509</code> - Use custom authentication and authorization with additional details from the X.509 client certificate.</p> </li> </ul> <ul> <li> <p> <code>CUSTOM_AUTH</code> - Use custom authentication and authorization. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/custom-authentication.html">Custom authentication and authorization</a>.</p> </li> </ul> <ul> <li> <p> <code>AWS_X509</code> - Use X.509 client certificates without custom authentication and authorization. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/x509-client-certs.html">X.509 client certificates</a>.</p> </li> </ul> <ul> <li> <p> <code>AWS_SIGV4</code> - Use Amazon Web Services Signature Version 4. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/custom-authentication.html">IAM users, groups, and roles</a>.</p> </li> </ul> <ul> <li> <p> <code>DEFAULT </code> - Use a combination of port and Application Layer Protocol Negotiation (ALPN) to specify authentication type. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/protocols.html">Device communication protocols</a>.</p> </li> </ul>
        application_protocol: <p>An enumerated string that specifies the application-layer protocol.</p> <ul> <li> <p> <code>SECURE_MQTT</code> - MQTT over TLS.</p> </li> </ul> <ul> <li> <p> <code>MQTT_WSS</code> - MQTT over WebSocket.</p> </li> </ul> <ul> <li> <p> <code>HTTPS</code> - HTTP over TLS.</p> </li> </ul> <ul> <li> <p> <code>DEFAULT</code> - Use a combination of port and Application Layer Protocol Negotiation (ALPN) to specify application_layer protocol. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/protocols.html">Device communication protocols</a>.</p> </li> </ul>
        client_certificate_config: <p>An object that specifies the client certificate configuration for a domain.</p>

    Raises:
        capo_iot.errors.certificate_validation_exception.CertificateValidationException: <p>The certificate is invalid.</p>
        capo_iot.errors.internal_failure_exception.InternalFailureException: <p>An unexpected error has occurred.</p>
        capo_iot.errors.invalid_request_exception.InvalidRequestException: <p>The request is not valid.</p>
        capo_iot.errors.resource_not_found_exception.ResourceNotFoundException: <p>The specified resource does not exist.</p>
        capo_iot.errors.service_unavailable_exception.ServiceUnavailableException: <p>The service is temporarily unavailable.</p>
        capo_iot.errors.throttling_exception.ThrottlingException: <p>The rate exceeds the limit.</p>
        capo_iot.errors.unauthorized_exception.UnauthorizedException: <p>You are not authorized to perform this operation.</p>
        capo_iot.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_iot.types.update_domain_configuration_request.UpdateDomainConfigurationRequest]",
    ) -> AsyncOperationResponse[
        "capo_iot.types.update_domain_configuration_response.UpdateDomainConfigurationResponse"
    ]:
        import capo_iot._operations.aws_iot_service.update_domain_configuration

        (
            output,
            http_response,
        ) = await capo_iot._operations.aws_iot_service.update_domain_configuration.async_update_domain_configuration(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateDomainConfiguration")
    )
    input_: capo_iot.types.update_domain_configuration_request.UpdateDomainConfigurationRequest = {
        "domain_configuration_name": domain_configuration_name
    }
    if authorizer_config is not None:
        input_["authorizer_config"] = authorizer_config
    if domain_configuration_status is not None:
        input_["domain_configuration_status"] = domain_configuration_status
    if remove_authorizer_config is not None:
        input_["remove_authorizer_config"] = remove_authorizer_config
    if tls_config is not None:
        input_["tls_config"] = tls_config
    if server_certificate_config is not None:
        input_["server_certificate_config"] = server_certificate_config
    if authentication_type is not None:
        input_["authentication_type"] = authentication_type
    if application_protocol is not None:
        input_["application_protocol"] = application_protocol
    if client_certificate_config is not None:
        input_["client_certificate_config"] = client_certificate_config

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