Create a Groundplex

POST /snaplex

Overview

This API creates a Groundplex.

Prerequisites

  • Environment (Org) admin permissions

Request

   POST https://{controlplane_path}/api/1/rest/public/snaplex

Path Parameters

Key Description
controlplane_path Required. The path to the SnapLogic control plane.

Example: cdn.elastic.snaplogic.com

For other control planes, substitute the subdomain name for elastic. For example:
  • cdn.uat.snaplogic.com
  • cdn.emea.snaplogic.com

Query Parameters

None.

Request Header

Specify Basic for authorization and application/json for content type.


Authorization: Basic {your_encoded_security_credentials}
Content-Type: application/json
          

Request Body

Required fields

   {
    "container_path":"/SL/shared",
    "container_type":"regular",
    "label":"Testplex",
    "environment":"TestEnviroment",
    "min_jcc":1,
  }                  

Notification settings

Note: The images displayed below are from Classic Manager and added for reference to check the Snaplex settings details.
   {                
    "notification":{
    "recipients":"[email protected]",
    "slack_recipients":{
    "user":"[email protected]",
    "channel":"test"  
    }
   }
  }
Create Snaplex dialog - Classic Manager Create Snaplex page - Admin Manager

Create Snaplex



Dynamic settings

   {  
     "dynamic_settings":{
     "log":{
     "level":"debug",
     "max_file_size":"500 MB",
     "main_backup_count":40,
     "error_backup_count":5,
     "access_backup_count":5
      
     }
    }
   }                
Dynamic settings - Classic IIP Dynamic settings - Admin manager

Dynamic settings



Node settings

    "node_settings":{
   "published":{
      "heap":{"max_size":"auto"},
      "jetty_host":"127.0.0.1",
      "jetty_port":8090,
      "cc_secure_port":null,
      "http":{
         "proxyHost":"",
         "proxyPort":null,
         "proxyUser":"",
         "nonProxyHosts":[],
         "proxyPassword":""
      },
      "https":{
         "proxyHost":"",
         "proxyPort":null,
         "proxyUser":"",
         "nonProxyHosts":[],
         "proxyPassword":""
      },
      "nodes":[
         {"server-type":"jcc", "hostname":"122.11.11"},
         {"server-type":"feed_master", "hostname":"127.111.1"}
      ]
   },
   "extra":[{'key': 'hello', 'value': 'world'}]
   }
  }
}
Node settings - Classic Manager Node settings - Admin Manager

Update Manager



Key Type Description
container_path string The path to the Snaplex.
label string The name of the Snaplex.
environment string The environment of the Snaplex.
min_jcc string The minimum number of JCC nodes in the Snaplex.
pkg_version string The SnapLogic package version that is installed in the Snaplex.
notification string A comma-separated list of email addresses to send notifications to.
reserved_slots string The percentage of slots to reserve for interactively executed pipelines.
max_slots string The maximum number of slots available on the nodes in the Snaplex.
max_mem string The maximum percentage of memory that can be in use on the nodes in the Snaplex before they will be considered overloaded.
node_settings array The settings for the nodes in the Snaplex.
restart_max_waiting_time integer The maximum waiting time for JCC restart if a pipeline is running.
feed_master_load_balancer string The URL to the FeedMaster nodes which serves as the load balancer. (Ultra Load Balancer in the UI)
jcc_load_balancer string The URL to the JCC node which serves as the load balancer.
dynamic_settings string Settings that can be changed on the JCC without requiring a restart.
duplicate_check Boolean

If true, throws an exception if a Snaplex with the same name already exists at the destination path.

If false, overwrites any existing Sanplexwith the same name at the destination path.

Default: true

Important: The parameters container_path, container_type, label, and environment are required/non-optional.

The parameters container_type, cluster_details, plexfs_min_free, plexfs_retention_time, queue_size, Org can have default value which is not visible in the UI or accessible by public API.

Response

Response Body

     {
      "response_map": 
      {
        "snode_id": "660d9dcabee896d1fb6ebafb"
      },
      "http_status_code": 201
    }