Class EnvironmentState.Builder

  • Enclosing class:
    EnvironmentState

    public static final class EnvironmentState.Builder
    extends java.lang.Object
    • Constructor Detail

      • Builder

        public Builder()
    • Method Detail

      • airflowConfigurationOptions

        public EnvironmentState.Builder airflowConfigurationOptions​(@Nullable
                                                                    com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> airflowConfigurationOptions)
        Parameters:
        airflowConfigurationOptions - Airflow override options. Check the [Official documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html#configuring-env-variables-reference) for all possible configuration options.
        Returns:
        builder
      • airflowConfigurationOptions

        public EnvironmentState.Builder airflowConfigurationOptions​(java.util.Map<java.lang.String,​java.lang.String> airflowConfigurationOptions)
        Parameters:
        airflowConfigurationOptions - Airflow override options. Check the [Official documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html#configuring-env-variables-reference) for all possible configuration options.
        Returns:
        builder
      • airflowVersion

        public EnvironmentState.Builder airflowVersion​(@Nullable
                                                       com.pulumi.core.Output<java.lang.String> airflowVersion)
        Parameters:
        airflowVersion - Airflow version of your environment, will be set by default to the latest version that MWAA supports.
        Returns:
        builder
      • airflowVersion

        public EnvironmentState.Builder airflowVersion​(java.lang.String airflowVersion)
        Parameters:
        airflowVersion - Airflow version of your environment, will be set by default to the latest version that MWAA supports.
        Returns:
        builder
      • arn

        public EnvironmentState.Builder arn​(@Nullable
                                            com.pulumi.core.Output<java.lang.String> arn)
        Parameters:
        arn - ARN of the MWAA Environment.
        Returns:
        builder
      • arn

        public EnvironmentState.Builder arn​(java.lang.String arn)
        Parameters:
        arn - ARN of the MWAA Environment.
        Returns:
        builder
      • createdAt

        public EnvironmentState.Builder createdAt​(@Nullable
                                                  com.pulumi.core.Output<java.lang.String> createdAt)
        Parameters:
        createdAt - Date and time the environment was last updated.
        Returns:
        builder
      • createdAt

        public EnvironmentState.Builder createdAt​(java.lang.String createdAt)
        Parameters:
        createdAt - Date and time the environment was last updated.
        Returns:
        builder
      • dagS3Path

        public EnvironmentState.Builder dagS3Path​(@Nullable
                                                  com.pulumi.core.Output<java.lang.String> dagS3Path)
        Parameters:
        dagS3Path - Relative path to the DAG folder on your Amazon S3 storage bucket. For example, dags. For more information, see [Importing DAGs on Amazon MWAA](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html).
        Returns:
        builder
      • dagS3Path

        public EnvironmentState.Builder dagS3Path​(java.lang.String dagS3Path)
        Parameters:
        dagS3Path - Relative path to the DAG folder on your Amazon S3 storage bucket. For example, dags. For more information, see [Importing DAGs on Amazon MWAA](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html).
        Returns:
        builder
      • databaseVpcEndpointService

        public EnvironmentState.Builder databaseVpcEndpointService​(@Nullable
                                                                   com.pulumi.core.Output<java.lang.String> databaseVpcEndpointService)
        Parameters:
        databaseVpcEndpointService - VPC endpoint for the environment's Amazon RDS database.
        Returns:
        builder
      • databaseVpcEndpointService

        public EnvironmentState.Builder databaseVpcEndpointService​(java.lang.String databaseVpcEndpointService)
        Parameters:
        databaseVpcEndpointService - VPC endpoint for the environment's Amazon RDS database.
        Returns:
        builder
      • endpointManagement

        public EnvironmentState.Builder endpointManagement​(@Nullable
                                                           com.pulumi.core.Output<java.lang.String> endpointManagement)
        Parameters:
        endpointManagement - Whether the VPC endpoints configured for the environment are created and managed by the customer or by AWS. If set to `SERVICE`, Amazon MWAA will create and manage the required VPC endpoints in your VPC. If set to `CUSTOMER`, you must create, and manage, the VPC endpoints for your VPC. Defaults to `SERVICE` if not set.
        Returns:
        builder
      • endpointManagement

        public EnvironmentState.Builder endpointManagement​(java.lang.String endpointManagement)
        Parameters:
        endpointManagement - Whether the VPC endpoints configured for the environment are created and managed by the customer or by AWS. If set to `SERVICE`, Amazon MWAA will create and manage the required VPC endpoints in your VPC. If set to `CUSTOMER`, you must create, and manage, the VPC endpoints for your VPC. Defaults to `SERVICE` if not set.
        Returns:
        builder
      • environmentClass

        public EnvironmentState.Builder environmentClass​(@Nullable
                                                         com.pulumi.core.Output<java.lang.String> environmentClass)
        Parameters:
        environmentClass - Environment class for the cluster. Possible options are `mw1.micro`, `mw1.small`, `mw1.medium`, `mw1.large`. Will be set by default to `mw1.small`. Please check the [AWS Pricing](https://aws.amazon.com/de/managed-workflows-for-apache-airflow/pricing/) for more information about the environment classes.
        Returns:
        builder
      • environmentClass

        public EnvironmentState.Builder environmentClass​(java.lang.String environmentClass)
        Parameters:
        environmentClass - Environment class for the cluster. Possible options are `mw1.micro`, `mw1.small`, `mw1.medium`, `mw1.large`. Will be set by default to `mw1.small`. Please check the [AWS Pricing](https://aws.amazon.com/de/managed-workflows-for-apache-airflow/pricing/) for more information about the environment classes.
        Returns:
        builder
      • executionRoleArn

        public EnvironmentState.Builder executionRoleArn​(@Nullable
                                                         com.pulumi.core.Output<java.lang.String> executionRoleArn)
        Parameters:
        executionRoleArn - ARN of the task execution role that the Amazon MWAA and its environment can assume. Check the [official AWS documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html) for the detailed role specification.
        Returns:
        builder
      • executionRoleArn

        public EnvironmentState.Builder executionRoleArn​(java.lang.String executionRoleArn)
        Parameters:
        executionRoleArn - ARN of the task execution role that the Amazon MWAA and its environment can assume. Check the [official AWS documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html) for the detailed role specification.
        Returns:
        builder
      • kmsKey

        public EnvironmentState.Builder kmsKey​(@Nullable
                                               com.pulumi.core.Output<java.lang.String> kmsKey)
        Parameters:
        kmsKey - ARN of your KMS key that you want to use for encryption. Will be set to the ARN of the managed KMS key `aws/airflow` by default. Please check the [Official Documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/custom-keys-certs.html) for more information.
        Returns:
        builder
      • kmsKey

        public EnvironmentState.Builder kmsKey​(java.lang.String kmsKey)
        Parameters:
        kmsKey - ARN of your KMS key that you want to use for encryption. Will be set to the ARN of the managed KMS key `aws/airflow` by default. Please check the [Official Documentation](https://docs.aws.amazon.com/mwaa/latest/userguide/custom-keys-certs.html) for more information.
        Returns:
        builder
      • lastUpdateds

        public EnvironmentState.Builder lastUpdateds​(@Nullable
                                                     com.pulumi.core.Output<java.util.List<EnvironmentLastUpdatedArgs>> lastUpdateds)
        Parameters:
        lastUpdateds - Information about the last update of the environment. See `lastUpdated` Block for details.
        Returns:
        builder
      • lastUpdateds

        public EnvironmentState.Builder lastUpdateds​(java.util.List<EnvironmentLastUpdatedArgs> lastUpdateds)
        Parameters:
        lastUpdateds - Information about the last update of the environment. See `lastUpdated` Block for details.
        Returns:
        builder
      • loggingConfiguration

        public EnvironmentState.Builder loggingConfiguration​(@Nullable
                                                             com.pulumi.core.Output<EnvironmentLoggingConfigurationArgs> loggingConfiguration)
        Parameters:
        loggingConfiguration - Apache Airflow logs you want to send to Amazon CloudWatch Logs. See `loggingConfiguration` Block for details.
        Returns:
        builder
      • loggingConfiguration

        public EnvironmentState.Builder loggingConfiguration​(EnvironmentLoggingConfigurationArgs loggingConfiguration)
        Parameters:
        loggingConfiguration - Apache Airflow logs you want to send to Amazon CloudWatch Logs. See `loggingConfiguration` Block for details.
        Returns:
        builder
      • maxWebservers

        public EnvironmentState.Builder maxWebservers​(@Nullable
                                                      com.pulumi.core.Output<java.lang.Integer> maxWebservers)
        Parameters:
        maxWebservers - Maximum number of web servers that you want to run in your environment. Value need to be between `2` and `5` if `environmentClass` is not `mw1.micro`, `1` otherwise.
        Returns:
        builder
      • maxWebservers

        public EnvironmentState.Builder maxWebservers​(java.lang.Integer maxWebservers)
        Parameters:
        maxWebservers - Maximum number of web servers that you want to run in your environment. Value need to be between `2` and `5` if `environmentClass` is not `mw1.micro`, `1` otherwise.
        Returns:
        builder
      • maxWorkers

        public EnvironmentState.Builder maxWorkers​(@Nullable
                                                   com.pulumi.core.Output<java.lang.Integer> maxWorkers)
        Parameters:
        maxWorkers - Maximum number of workers that can be automatically scaled up. Value need to be between `1` and `25`. Will be `10` by default.
        Returns:
        builder
      • maxWorkers

        public EnvironmentState.Builder maxWorkers​(java.lang.Integer maxWorkers)
        Parameters:
        maxWorkers - Maximum number of workers that can be automatically scaled up. Value need to be between `1` and `25`. Will be `10` by default.
        Returns:
        builder
      • minWebservers

        public EnvironmentState.Builder minWebservers​(@Nullable
                                                      com.pulumi.core.Output<java.lang.Integer> minWebservers)
        Parameters:
        minWebservers - Minimum number of web servers that you want to run in your environment. Value need to be between `2` and `5` if `environmentClass` is not `mw1.micro`, `1` otherwise.
        Returns:
        builder
      • minWebservers

        public EnvironmentState.Builder minWebservers​(java.lang.Integer minWebservers)
        Parameters:
        minWebservers - Minimum number of web servers that you want to run in your environment. Value need to be between `2` and `5` if `environmentClass` is not `mw1.micro`, `1` otherwise.
        Returns:
        builder
      • minWorkers

        public EnvironmentState.Builder minWorkers​(@Nullable
                                                   com.pulumi.core.Output<java.lang.Integer> minWorkers)
        Parameters:
        minWorkers - Minimum number of workers that you want to run in your environment. Will be `1` by default.
        Returns:
        builder
      • minWorkers

        public EnvironmentState.Builder minWorkers​(java.lang.Integer minWorkers)
        Parameters:
        minWorkers - Minimum number of workers that you want to run in your environment. Will be `1` by default.
        Returns:
        builder
      • name

        public EnvironmentState.Builder name​(@Nullable
                                             com.pulumi.core.Output<java.lang.String> name)
        Parameters:
        name - Name of the Apache Airflow Environment.
        Returns:
        builder
      • name

        public EnvironmentState.Builder name​(java.lang.String name)
        Parameters:
        name - Name of the Apache Airflow Environment.
        Returns:
        builder
      • networkConfiguration

        public EnvironmentState.Builder networkConfiguration​(@Nullable
                                                             com.pulumi.core.Output<EnvironmentNetworkConfigurationArgs> networkConfiguration)
        Parameters:
        networkConfiguration - Network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See `networkConfiguration` Block for details.
        Returns:
        builder
      • networkConfiguration

        public EnvironmentState.Builder networkConfiguration​(EnvironmentNetworkConfigurationArgs networkConfiguration)
        Parameters:
        networkConfiguration - Network configuration for your Apache Airflow Environment. This includes two private subnets as well as security groups for the Airflow environment. Each subnet requires internet connection, otherwise the deployment will fail. See `networkConfiguration` Block for details.
        Returns:
        builder
      • pluginsS3ObjectVersion

        public EnvironmentState.Builder pluginsS3ObjectVersion​(@Nullable
                                                               com.pulumi.core.Output<java.lang.String> pluginsS3ObjectVersion)
        Parameters:
        pluginsS3ObjectVersion - Version of the plugins.zip file you want to use.
        Returns:
        builder
      • pluginsS3ObjectVersion

        public EnvironmentState.Builder pluginsS3ObjectVersion​(java.lang.String pluginsS3ObjectVersion)
        Parameters:
        pluginsS3ObjectVersion - Version of the plugins.zip file you want to use.
        Returns:
        builder
      • pluginsS3Path

        public EnvironmentState.Builder pluginsS3Path​(@Nullable
                                                      com.pulumi.core.Output<java.lang.String> pluginsS3Path)
        Parameters:
        pluginsS3Path - Relative path to the plugins.zip file on your Amazon S3 storage bucket. For example, plugins.zip. If a relative path is provided in the request, then pluginsS3ObjectVersion is required. For more information, see [Importing DAGs on Amazon MWAA](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html).
        Returns:
        builder
      • pluginsS3Path

        public EnvironmentState.Builder pluginsS3Path​(java.lang.String pluginsS3Path)
        Parameters:
        pluginsS3Path - Relative path to the plugins.zip file on your Amazon S3 storage bucket. For example, plugins.zip. If a relative path is provided in the request, then pluginsS3ObjectVersion is required. For more information, see [Importing DAGs on Amazon MWAA](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html).
        Returns:
        builder
      • region

        public EnvironmentState.Builder region​(@Nullable
                                               com.pulumi.core.Output<java.lang.String> region)
        Parameters:
        region - Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
        Returns:
        builder
      • region

        public EnvironmentState.Builder region​(java.lang.String region)
        Parameters:
        region - Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
        Returns:
        builder
      • requirementsS3ObjectVersion

        public EnvironmentState.Builder requirementsS3ObjectVersion​(@Nullable
                                                                    com.pulumi.core.Output<java.lang.String> requirementsS3ObjectVersion)
        Parameters:
        requirementsS3ObjectVersion - Version of the requirements.txt file you want to use.
        Returns:
        builder
      • requirementsS3ObjectVersion

        public EnvironmentState.Builder requirementsS3ObjectVersion​(java.lang.String requirementsS3ObjectVersion)
        Parameters:
        requirementsS3ObjectVersion - Version of the requirements.txt file you want to use.
        Returns:
        builder
      • requirementsS3Path

        public EnvironmentState.Builder requirementsS3Path​(@Nullable
                                                           com.pulumi.core.Output<java.lang.String> requirementsS3Path)
        Parameters:
        requirementsS3Path - Relative path to the requirements.txt file on your Amazon S3 storage bucket. For example, requirements.txt. If a relative path is provided in the request, then requirementsS3ObjectVersion is required. For more information, see [Importing DAGs on Amazon MWAA](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html).
        Returns:
        builder
      • requirementsS3Path

        public EnvironmentState.Builder requirementsS3Path​(java.lang.String requirementsS3Path)
        Parameters:
        requirementsS3Path - Relative path to the requirements.txt file on your Amazon S3 storage bucket. For example, requirements.txt. If a relative path is provided in the request, then requirementsS3ObjectVersion is required. For more information, see [Importing DAGs on Amazon MWAA](https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html).
        Returns:
        builder
      • schedulers

        public EnvironmentState.Builder schedulers​(@Nullable
                                                   com.pulumi.core.Output<java.lang.Integer> schedulers)
        Parameters:
        schedulers - Number of schedulers that you want to run in your environment. v2.0.2 and above accepts `2` - `5`, default `2`. v1.10.12 accepts `1`.
        Returns:
        builder
      • schedulers

        public EnvironmentState.Builder schedulers​(java.lang.Integer schedulers)
        Parameters:
        schedulers - Number of schedulers that you want to run in your environment. v2.0.2 and above accepts `2` - `5`, default `2`. v1.10.12 accepts `1`.
        Returns:
        builder
      • serviceRoleArn

        public EnvironmentState.Builder serviceRoleArn​(@Nullable
                                                       com.pulumi.core.Output<java.lang.String> serviceRoleArn)
        Parameters:
        serviceRoleArn - Service Role ARN of the Amazon MWAA Environment.
        Returns:
        builder
      • serviceRoleArn

        public EnvironmentState.Builder serviceRoleArn​(java.lang.String serviceRoleArn)
        Parameters:
        serviceRoleArn - Service Role ARN of the Amazon MWAA Environment.
        Returns:
        builder
      • sourceBucketArn

        public EnvironmentState.Builder sourceBucketArn​(@Nullable
                                                        com.pulumi.core.Output<java.lang.String> sourceBucketArn)
        Parameters:
        sourceBucketArn - ARN of your Amazon S3 storage bucket. For example, arn:aws:s3:::airflow-mybucketname.
        Returns:
        builder
      • sourceBucketArn

        public EnvironmentState.Builder sourceBucketArn​(java.lang.String sourceBucketArn)
        Parameters:
        sourceBucketArn - ARN of your Amazon S3 storage bucket. For example, arn:aws:s3:::airflow-mybucketname.
        Returns:
        builder
      • startupScriptS3ObjectVersion

        public EnvironmentState.Builder startupScriptS3ObjectVersion​(@Nullable
                                                                     com.pulumi.core.Output<java.lang.String> startupScriptS3ObjectVersion)
        Parameters:
        startupScriptS3ObjectVersion - Version of the startup shell script you want to use. You must specify the version ID that Amazon S3 assigns to the file every time you update the script.
        Returns:
        builder
      • startupScriptS3ObjectVersion

        public EnvironmentState.Builder startupScriptS3ObjectVersion​(java.lang.String startupScriptS3ObjectVersion)
        Parameters:
        startupScriptS3ObjectVersion - Version of the startup shell script you want to use. You must specify the version ID that Amazon S3 assigns to the file every time you update the script.
        Returns:
        builder
      • startupScriptS3Path

        public EnvironmentState.Builder startupScriptS3Path​(@Nullable
                                                            com.pulumi.core.Output<java.lang.String> startupScriptS3Path)
        Parameters:
        startupScriptS3Path - Relative path to the script hosted in your bucket. The script runs as your environment starts before starting the Apache Airflow process. Use this script to install dependencies, modify configuration options, and set environment variables. See [Using a startup script](https://docs.aws.amazon.com/mwaa/latest/userguide/using-startup-script.html). Supported for environment versions 2.x and later.
        Returns:
        builder
      • startupScriptS3Path

        public EnvironmentState.Builder startupScriptS3Path​(java.lang.String startupScriptS3Path)
        Parameters:
        startupScriptS3Path - Relative path to the script hosted in your bucket. The script runs as your environment starts before starting the Apache Airflow process. Use this script to install dependencies, modify configuration options, and set environment variables. See [Using a startup script](https://docs.aws.amazon.com/mwaa/latest/userguide/using-startup-script.html). Supported for environment versions 2.x and later.
        Returns:
        builder
      • status

        public EnvironmentState.Builder status​(@Nullable
                                               com.pulumi.core.Output<java.lang.String> status)
        Parameters:
        status - Status of the last update.
        Returns:
        builder
      • status

        public EnvironmentState.Builder status​(java.lang.String status)
        Parameters:
        status - Status of the last update.
        Returns:
        builder
      • tags

        public EnvironmentState.Builder tags​(@Nullable
                                             com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tags)
        Parameters:
        tags - Map of resource tags to associate with the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
        Returns:
        builder
      • tags

        public EnvironmentState.Builder tags​(java.util.Map<java.lang.String,​java.lang.String> tags)
        Parameters:
        tags - Map of resource tags to associate with the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
        Returns:
        builder
      • tagsAll

        public EnvironmentState.Builder tagsAll​(@Nullable
                                                com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tagsAll)
        Parameters:
        tagsAll - Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
        Returns:
        builder
      • tagsAll

        public EnvironmentState.Builder tagsAll​(java.util.Map<java.lang.String,​java.lang.String> tagsAll)
        Parameters:
        tagsAll - Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
        Returns:
        builder
      • webserverAccessMode

        public EnvironmentState.Builder webserverAccessMode​(@Nullable
                                                            com.pulumi.core.Output<java.lang.String> webserverAccessMode)
        Parameters:
        webserverAccessMode - Whether the webserver should be accessible over the internet or via your specified VPC. Possible options: `PRIVATE_ONLY` (default), `PUBLIC_ONLY` and `PUBLIC_AND_PRIVATE`.
        Returns:
        builder
      • webserverAccessMode

        public EnvironmentState.Builder webserverAccessMode​(java.lang.String webserverAccessMode)
        Parameters:
        webserverAccessMode - Whether the webserver should be accessible over the internet or via your specified VPC. Possible options: `PRIVATE_ONLY` (default), `PUBLIC_ONLY` and `PUBLIC_AND_PRIVATE`.
        Returns:
        builder
      • webserverUrl

        public EnvironmentState.Builder webserverUrl​(@Nullable
                                                     com.pulumi.core.Output<java.lang.String> webserverUrl)
        Parameters:
        webserverUrl - Webserver URL of the MWAA Environment.
        Returns:
        builder
      • webserverUrl

        public EnvironmentState.Builder webserverUrl​(java.lang.String webserverUrl)
        Parameters:
        webserverUrl - Webserver URL of the MWAA Environment.
        Returns:
        builder
      • webserverVpcEndpointService

        public EnvironmentState.Builder webserverVpcEndpointService​(@Nullable
                                                                    com.pulumi.core.Output<java.lang.String> webserverVpcEndpointService)
        Parameters:
        webserverVpcEndpointService - VPC endpoint for the environment's web server.
        Returns:
        builder
      • webserverVpcEndpointService

        public EnvironmentState.Builder webserverVpcEndpointService​(java.lang.String webserverVpcEndpointService)
        Parameters:
        webserverVpcEndpointService - VPC endpoint for the environment's web server.
        Returns:
        builder
      • weeklyMaintenanceWindowStart

        public EnvironmentState.Builder weeklyMaintenanceWindowStart​(@Nullable
                                                                     com.pulumi.core.Output<java.lang.String> weeklyMaintenanceWindowStart)
        Parameters:
        weeklyMaintenanceWindowStart - Start date for the weekly maintenance window.
        Returns:
        builder
      • weeklyMaintenanceWindowStart

        public EnvironmentState.Builder weeklyMaintenanceWindowStart​(java.lang.String weeklyMaintenanceWindowStart)
        Parameters:
        weeklyMaintenanceWindowStart - Start date for the weekly maintenance window.
        Returns:
        builder
      • workerReplacementStrategy

        public EnvironmentState.Builder workerReplacementStrategy​(@Nullable
                                                                  com.pulumi.core.Output<java.lang.String> workerReplacementStrategy)
        Parameters:
        workerReplacementStrategy - Worker replacement strategy. Valid values: `FORCED`, `GRACEFUL`.
        Returns:
        builder
      • workerReplacementStrategy

        public EnvironmentState.Builder workerReplacementStrategy​(java.lang.String workerReplacementStrategy)
        Parameters:
        workerReplacementStrategy - Worker replacement strategy. Valid values: `FORCED`, `GRACEFUL`.
        Returns:
        builder