Skip to content

validate_configuration_settings async

validate_configuration_settings(
    application_name: ApplicationName,
    option_settings: ConfigurationOptionSettingsList,
    *,
    config_overrides: Optional[AsyncElasticBeanstalkClientConfig] = None,
    template_name: Optional[ConfigurationTemplateName] = None,
    environment_name: Optional[EnvironmentName] = None,
) -> ConfigurationSettingsValidationMessages

Takes a set of configuration settings and either a configuration template or environment, and determines whether those values are valid.

This action returns a list of messages indicating any errors or warnings associated with the selection of option values.

Parameters:

  • application_name (ApplicationName) –

    The name of the application that the configuration template or environment belongs to.

  • template_name (Optional[ConfigurationTemplateName], default: None ) –

    The name of the configuration template to validate the settings against.

    Condition: You cannot specify both this and an environment name.

  • environment_name (Optional[EnvironmentName], default: None ) –

    The name of the environment to validate the settings against.

    Condition: You cannot specify both this and a configuration template name.

  • option_settings (ConfigurationOptionSettingsList) –

    A list of the options and desired values to evaluate.

Raises:

Examples:

To validate configuration settings The following operation validates a CloudWatch custom metrics config document:

>>> await client.validate_configuration_settings(application_name='my-app', environment_name='my-env', option_settings=[{'Namespace': 'aws:elasticbeanstalk:healthreporting:system', 'OptionName': 'ConfigDocument', 'Value': '{"CloudWatchMetrics": {"Environment": {"ApplicationLatencyP99.9": null,"InstancesSevere": 60,"ApplicationLatencyP90": 60,"ApplicationLatencyP99": null,"ApplicationLatencyP95": 60,"InstancesUnknown": 60,"ApplicationLatencyP85": 60,"InstancesInfo": null,"ApplicationRequests2xx": null,"InstancesDegraded": null,"InstancesWarning": 60,"ApplicationLatencyP50": 60,"ApplicationRequestsTotal": null,"InstancesNoData": null,"InstancesPending": 60,"ApplicationLatencyP10": null,"ApplicationRequests5xx": null,"ApplicationLatencyP75": null,"InstancesOk": 60,"ApplicationRequests3xx": null,"ApplicationRequests4xx": null},"Instance": {"ApplicationLatencyP99.9": null,"ApplicationLatencyP90": 60,"ApplicationLatencyP99": null,"ApplicationLatencyP95": null,"ApplicationLatencyP85": null,"CPUUser": 60,"ApplicationRequests2xx": null,"CPUIdle": null,"ApplicationLatencyP50": null,"ApplicationRequestsTotal": 60,"RootFilesystemUtil": null,"LoadAverage1min": null,"CPUIrq": null,"CPUNice": 60,"CPUIowait": 60,"ApplicationLatencyP10": null,"LoadAverage5min": null,"ApplicationRequests5xx": null,"ApplicationLatencyP75": 60,"CPUSystem": 60,"ApplicationRequests3xx": 60,"ApplicationRequests4xx": null,"InstanceHealth": null,"CPUSoftirq": 60}},"Version": 1}'}])
Source code in docs_src/capo_elastic_beanstalk/_services/async_elastic_beanstalk.py
async def validate_configuration_settings(
    self,
    application_name: "capo_elastic_beanstalk.types.application_name.ApplicationName",
    option_settings: "capo_elastic_beanstalk.types.configuration_option_settings_list.ConfigurationOptionSettingsList",
    *,
    config_overrides: Optional[AsyncElasticBeanstalkClientConfig] = None,
    template_name: Optional[
        "capo_elastic_beanstalk.types.configuration_template_name.ConfigurationTemplateName"
    ] = None,
    environment_name: Optional[
        "capo_elastic_beanstalk.types.environment_name.EnvironmentName"
    ] = None,
) -> "capo_elastic_beanstalk.types.configuration_settings_validation_messages.ConfigurationSettingsValidationMessages":
    """<p>Takes a set of configuration settings and either a configuration template or environment, and determines whether those values are valid.</p> <p>This action returns a list of messages indicating any errors or warnings associated with the selection of option values.</p>

    Args:
        application_name: <p>The name of the application that the configuration template or environment belongs to.</p>
        template_name: <p>The name of the configuration template to validate the settings against.</p> <p>Condition: You cannot specify both this and an environment name.</p>
        environment_name: <p>The name of the environment to validate the settings against.</p> <p>Condition: You cannot specify both this and a configuration template name.</p>
        option_settings: <p>A list of the options and desired values to evaluate.</p>

    Raises:
        capo_elastic_beanstalk.errors.insufficient_privileges_exception.InsufficientPrivilegesException: <p>The specified account does not have sufficient privileges for one or more Amazon Web Services services.</p>
        capo_elastic_beanstalk.errors.too_many_buckets_exception.TooManyBucketsException: <p>The specified account has reached its limit of Amazon S3 buckets.</p>
        capo_elastic_beanstalk.errors.UnknownServiceError: The service returned an error code this client does not model.

    Examples:
        To validate configuration settings
        The following operation validates a CloudWatch custom metrics config document:

        >>> await client.validate_configuration_settings(application_name='my-app', environment_name='my-env', option_settings=[{'Namespace': 'aws:elasticbeanstalk:healthreporting:system', 'OptionName': 'ConfigDocument', 'Value': '{"CloudWatchMetrics": {"Environment": {"ApplicationLatencyP99.9": null,"InstancesSevere": 60,"ApplicationLatencyP90": 60,"ApplicationLatencyP99": null,"ApplicationLatencyP95": 60,"InstancesUnknown": 60,"ApplicationLatencyP85": 60,"InstancesInfo": null,"ApplicationRequests2xx": null,"InstancesDegraded": null,"InstancesWarning": 60,"ApplicationLatencyP50": 60,"ApplicationRequestsTotal": null,"InstancesNoData": null,"InstancesPending": 60,"ApplicationLatencyP10": null,"ApplicationRequests5xx": null,"ApplicationLatencyP75": null,"InstancesOk": 60,"ApplicationRequests3xx": null,"ApplicationRequests4xx": null},"Instance": {"ApplicationLatencyP99.9": null,"ApplicationLatencyP90": 60,"ApplicationLatencyP99": null,"ApplicationLatencyP95": null,"ApplicationLatencyP85": null,"CPUUser": 60,"ApplicationRequests2xx": null,"CPUIdle": null,"ApplicationLatencyP50": null,"ApplicationRequestsTotal": 60,"RootFilesystemUtil": null,"LoadAverage1min": null,"CPUIrq": null,"CPUNice": 60,"CPUIowait": 60,"ApplicationLatencyP10": null,"LoadAverage5min": null,"ApplicationRequests5xx": null,"ApplicationLatencyP75": 60,"CPUSystem": 60,"ApplicationRequests3xx": 60,"ApplicationRequests4xx": null,"InstanceHealth": null,"CPUSoftirq": 60}},"Version": 1}'}])
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_elastic_beanstalk.types.validate_configuration_settings_message.ValidateConfigurationSettingsMessage]",
    ) -> AsyncOperationResponse[
        "capo_elastic_beanstalk.types.configuration_settings_validation_messages.ConfigurationSettingsValidationMessages"
    ]:
        import capo_elastic_beanstalk._operations.aws_elastic_beanstalk_service.validate_configuration_settings

        (
            output,
            http_response,
        ) = await capo_elastic_beanstalk._operations.aws_elastic_beanstalk_service.validate_configuration_settings.async_validate_configuration_settings(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("ValidateConfigurationSettings")
    )
    input_: capo_elastic_beanstalk.types.validate_configuration_settings_message.ValidateConfigurationSettingsMessage = {
        "application_name": application_name,
        "option_settings": option_settings,
    }
    if template_name is not None:
        input_["template_name"] = template_name
    if environment_name is not None:
        input_["environment_name"] = environment_name

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