Steps

edit
  1. To add snapshot repository configurations, specify the snapshot values:

        "settings": {
          "snapshot" : {
               "enabled" : true,
               "interval" : "24",
               "pending_interval" : "24",
               "repository" : {
                  "default" : {},
                  "reference" : {
                     "repository_name" : "my_repository_name"
                  },
                  "static" : {
                     "repository_type" : "S3",
                     "settings" : {}
                  }
               },
               "repository_name" : "my_repository_name",
               "retention" : {
                  "max_age" : "24",
                  "snapshots" : 0
               },
                "wait_time_after_snapshotting" : "10"
             }
          }
       },
  2. To add cluster monitoring, specify the targetClusterId that you want to monitor:

        "settings": {
           "monitoring": {
              "targetClusterId": "4e8c2d90e94b4a1a9a9b2c83145a8df1"
           }
        },
  3. To add bundles to the deployment template, specify the user_bundles values:

    "plan" : {
        ... ,
        "elasticsearch": {
            "user_bundles" : [
              {
                  "elasticsearch_version" : "6.5.4",
                  "name" : "uber_plugin",
                  "url" : "uber_plugin_v1.zip"
              }
            ]
        }
    }
  4. To add specific Elasticsearch plugins, specify the user_plugins values:

    "plan" : {
        ... ,
        "elasticsearch": {
            "user_plugins" : [
              {
                  "elasticsearch_version" : "6.5.4",
                  "name" : "repository-azure",
                  "url" : "https://artifacts.elastic.co/downloads/elasticsearch-plugins/repository-azure/repository-azure-6.6.0.zip"
              }
            ]
        }
    }
  5. Apply the updated deployment configuration with a PUT request:

    curl -k -X PUT -H "Authorization: ApiKey $ECE_API_KEY" https://$COORDINATOR_HOST:12443/api/v1/deployments/$DEPLOYMENT_ID -H 'content-type: application/json' -d '{
        "prune_orphans" : false,
        "resources":{
           "elasticsearch": [{
              "region": "ece-region",
              "ref_id": "main-elasticsearch",
              "plan":{
                  "cluster_topology": [{
                      "node_type": {
                          "master": true,
                          "data": true,
                          "ingest": true
                      },
                      "instance_configuration_id": "data.default",
                      "zone_count": 3,
                      "size": {
                          "resource": "memory",
                          "value": 4096
                      }
                  }],
                  "elasticsearch":{
                      "version": "7.5.1",
                      "user_plugins" : [],
                      "user_bundles" : [],
                        ...
                  },
                  "deployment_template":{
                      "id": "default"
                  }
              },
              "settings":{
                  ...  // Add your Settings here
              }
          }]
       }
    }'
    DEPLOYMENT_ID
    The deployment ID for My First Deployment