eb config
Description
Manages the active configuration settings and saved configurations of your environment. You can use this command to upload, download, or list the saved configurations of your environment. You can also use it to download, display, or update its active configuration settings.
If the root directory contains a platform.yaml file specifying a custom platform, this command also changes the builder
      configuration settings. This is done based on the values that are set in platform.yaml.
Note
eb config doesn't show environment properties. To set environment properties that you can read from within your application, use eb setenv instead.
Syntax
The following are parts of the syntax that's used for the eb config command to work with the active configuration settings of your environment. For specific examples, see the Examples section later in this topic.
- 
        
eb config – Displays the active configuration settings of your environment in a text editor that you configured as the EDITOR environment variable. When you save changes to the file and close the editor, the environment is updated with the option settings that you saved in the file.
Note
If you didn't configure an EDITOR environment variable, EB CLI displays your option settings in your default editor for YAML files.
 - 
        
eb config
environment-name– Displays and updates the configuration for the named environment. The configuration is either displayed in a text editor that you configured or your default editor YAML files. - 
        
eb config save – Saves the active configuration settings for the current environment to
.elasticbeanstalk/saved_configs/with the filename[configuration-name].cfg.yml. By default, the EB CLI saves the configuration settings with aconfiguration-namebased on the environment name. You can specify a different configuration name by including the--cfgoption with your desired configuration name when you run the command.You can tag your saved configuration using the
--tagsoption. - 
        
eb config
--display– Writes an environment's active configuration settings to stdout instead of a file. By default this displays the configuration settings to the terminal. - 
        
eb config
--update– Updates the active configuration settings for the current environment with the information that's specified inconfiguration_string|file_pathconfiguration_stringor inside the file identified byfile_path. 
Note
The --display and --update options provide flexibility for reading and revising an environment's configuration settings
        programmatically.
The following describes the syntax for using the eb config command to work with saved configurations. For examples, see the Examples section later in this topic.
- 
        
eb config get
config-name– Downloads the named saved configuration from Amazon S3. - 
        
eb config delete
config-name– Deletes the named saved configuration from Amazon S3. Also deletes it locally, if you already downloaded it. - 
        
eb config list – Lists the saved configurations that you have in Amazon S3.
 - 
        
eb config put
filename– Uploads the named saved configuration to an Amazon S3 bucket. Thefilenamemust have the file extension.cfg.yml. To specify the file name without a path, you can save the file to the.elasticbeanstalkfolder or to the.elasticbeanstalk/saved_configs/folder before you run the command. Alternatively, you can specify thefilenameby providing the full path. 
Options
| 
               Name  | 
            
               Description  | 
          
|---|---|
| 
               
  | 
            
               The name to use for a saved configuration. This option works with eb config save only.  | 
          
| 
               
 or 
  | 
            
               Displays the configuration settings for the current environment (writes to stdout). Use with the  This option only works if you use the eb config command without any of the other subcommands.  | 
          
| 
               
 or 
  | 
            
               Specifies display format. Valid values are JSON or YAML. Defaults to YAML. This option works with the   | 
          
| 
               
  | 
            
               Tags to add to your saved configuration. When specifying tags in the list, specify them as key=value pairs and separate each one with a comma. For more information, see Tagging saved configurations. This option works with eb config save only.  | 
          
| 
               
  | 
            
               The number of minutes before the command times out.  | 
          
| 
               
 or 
  | 
            
               Updates the active configuration settings for the current environment. This option only works if you use the eb config command without any of the other subcommands. The  To specify a file name, the input string must follow the format
                     The configuration information must meet the following conditions. At least one of the sections, OptionSettings or OptionsToRemove, is required. Use OptionSettings to add or change options. Use OptionsToRemove to remove options from a namespace. For specific examples, see the Examples section later in this topic. YAML Format 
 JSON Format 
  | 
          
Output
If the eb config or eb config environment-name command is run successfully with no
      subcommands or options added, the command displays your current option settings in the text editor that you configured as the EDITOR environment variable.
      If you didn't configure an EDITOR environment variable, EB CLI displays your option settings in your default editor for YAML files.
When you save changes to the file and close the editor, the environment is updated with the option settings that you saved in the file. The following output is displayed to confirm the configuration update.
$ eb config myApp-dev
    Printing Status:
    2021-05-19 18:09:45    INFO    Environment update is starting.
    2021-05-19 18:09:55    INFO    Updating environment myApp-dev's configuration settings.
    2021-05-19 18:11:20    INFO    Successfully deployed new configuration to environment.
    If the command runs successfully with the --display option, it displays the configuration settings for the current environment (writes to
        stdout).
If the command runs successfully with the get parameter, the command displays the location of the local copy that you downloaded.
If the command runs successfully with the save parameter, the command displays the location of the saved file.
Examples
This section describes how to change the text editor that you use to view and edit your option settings file.
For Linux and UNIX, the following example changes the editor to vim:
$ export EDITOR=vim
    For Linux and UNIX, the following example changes the editor to whatever is installed at /usr/bin/kate.
$ export EDITOR=/usr/bin/kate
    For Windows, the following example changes the editor to Notepad++.
> set EDITOR="C:\Program Files\Notepad++\Notepad++.exe
    
    This section provides examples for the eb config command when it's run with subcommands.
The following example deletes the saved configuration named app-tmp.
$ eb config delete app-tmp
    The following example downloads the saved configuration with the name app-tmp from your Amazon S3 bucket.
$ eb config get app-tmp
    The following example lists the names of saved configurations that are stored in your Amazon S3 bucket.
$ eb config list
    The following example uploads the local copy of the saved configuration named app-tmp to your Amazon S3 bucket.
$ eb config put app-tmp
    The following example saves configuration settings from the current running environment. If you don't provide a name to use for the saved
      configuration, then Elastic Beanstalk names the configuration file according to the environment name. For example, an environment named tmp-dev would be called
        tmp-dev.cfg.yml. Elastic Beanstalk saves the file to the /.elasticbeanstalk/saved_configs/ folder.
$ eb config save
    In the following example, the --cfg option is used to save the configuration settings from the environment tmp-dev to a file called
        v1-app-tmp.cfg.yml. Elastic Beanstalk saves the file to the folder /.elasticbeanstalk/saved_configs/. If you don't specify
      an environment name, Elastic Beanstalk saves configuration settings from the current running environment.
$ eb config save tmp-dev --cfg v1-app-tmp
    
    This section provides examples for the eb config command when it's run without subcommands.
The following command displays the option settings of your current environment in a text editor.
$ eb config
    The following command displays the option settings for the my-env environment in a text editor.
$ eb config my-env
    The following example displays the options settings for your current environment. It outputs in the YAML format because no specific format was
      specified with the --format option.
$ eb config --display
    The following example updates the options settings for your current environment with the specifications in the file named
        example.txt. The file is in either the YAML or JSON format. The EB CLI automatically detects the file format.
- 
        
The Minsize option is set to 1 for the namespace
aws:autoscaling:asg. - 
        
The batch size for the namespace
aws:elasticbeanstalk:commandis set to 30%. - 
        
It removes the option setting of IdleTimeout: None from the namespace
AWSEBV2LoadBalancer.aws:elbv2:loadbalancer. 
$ eb config --update "file://example.txt"
    Example  - filename: example.txt - YAML format
OptionSettings: 'aws:elasticbeanstalk:command': BatchSize: '30' BatchSizeType: Percentage 'aws:autoscaling:asg': MinSize: '1' OptionsToRemove: 'AWSEBV2LoadBalancer.aws:elbv2:loadbalancer': IdleTimeout
Example  - filename: example.txt - JSON format
{ "OptionSettings": { "aws:elasticbeanstalk:command": { "BatchSize": "30", "BatchSizeType": "Percentage" }, "aws:autoscaling:asg": { "MinSize": "1" } }, "OptionsToRemove": { "AWSEBV2LoadBalancer.aws:elbv2:loadbalancer": { "IdleTimeout" } } }
The following examples update the options settings for your current environment. The command sets the Minsize option to 1 for
        theaws:autoscaling:asg namespace.
Note
These examples are specific to Windows PowerShell. They escape literal occurrences of the double-quote (") character by preceding it
        with a slash (\) character. Different operating systems and command-line environments might have different escape sequences. For this
        reason, we recommend using the file option that's shown in the previous examples. Specifying the configuration options in a file doesn't require
        escaping characters and is consistent across different operating systems.
The following example is in JSON format. The EB CLI detects if the format is in JSON or YAML.
PS C:\Users\myUser\EB_apps\myApp-env>eb config --update '{\"OptionSettings\":{\"aws:autoscaling:asg\":{\"MaxSize\":\"1\"}}}'
    The following example is in YAML format. To enter the YAML string in the correct format, the command includes spacing and end-of-line returns that are required in a YAML file.
End each line with the "enter" or "return" key.
Start the second line with two spaces, and start the third line with four spaces.
PS C:\Users\myUser\EB_apps\myApp-env>eb config --update 'OptionSettings:
>>  aws:autoscaling:asg:
>>    MinSize: \"1\"'