SAP Sailing Analytics Webservices API Version 1.0

URL: /sailinglandscape/api/landscape/createapplicationreplicaset

Description:

Creates an application replica set with an auto-scaling group and corresponding launch template, load balancer rules and corresponding target groups, hooking up to the region's default MongoDB replica set and RabbitMQ and replicating the security service and shared sailing data from the security-service.sapsailing.com server by default.


Webservice Type: POST
Output format: json
Mandatory query parameters:
regionId, region where to set up the replica set, e.g., eu-west-1
replicaSetName, name of the replica set; used as the hostname to which the domain name is appended, as well as for the database and RabbitMQ exchange name
dedicatedInstanceType, instance type to use in the hyperscaler for a dedicated non-shared master node and for the auto-scaling replicas, e.g., C5_4_XLARGE; see here
keyName, the name of the SSH key to use; must identify an existing SSH key by that name in the region specified and will be used to log on to existing and new instances using a root ssh connection.
privateKeyEncryptionPassphrase, the pass phrase to decrypt the private key for the key specified by the keyName parameter
Optional form parameters:
sharedMasterInstance defaults to false; if set to true, the instance launched for the master process will be named "SL Multi-Server" and will be tagged with sailing-analytics-server:___multi___ which makes it eligible for automated deployment of other Sailing Analytics processes, such as unmanaged replicas. Otherwise, the master instance will be named and tagged after the replica set's name.
sharedInstanceType, instance type to use in the hyperscaler for a new shared master instance (if sharedMasterInstance was set to true) as well as for a new instance that needs to be launched for a shared first replica in case minimumAutoScalingGroupSize is set to 0; e.g., I3_2_XLARGE; see here. If you'd like to configure your master to run on an instance intended to be shared with other replica sets you may want to size your shared instance type with much swap space (e.g., i3.2xlarge) whereas your auto scaling group-managed replicas will not be shared and hence may get along with smaller instance types.
.
dynamicLoadBalancerMappingionId, boolean value (false or true; defaulting to false); if true, the rules will be entered into the region's default dynamic load balancer without a specific DNS mapping. In this case the domain must not be specified or must be "sapsailing.com", and the region must be the default region (eu-west-1), or an error status will result.
releaseName, the release name, such as build-202108091125; if not provided, the latest master build is used by default.
masterReplicationBearerToken, the bearer token the new replica set's master will use to replicate the security service and shared sailing data from the central security-service.sapsailing.com server; defaults to the bearer token of the user authenticated for this request. Note that this requires the server processing this request to share the security information from security-service.sapsailing.com, too.
replicaReplicationBearerToken, the bearer token the new replica set's replicas will use to replicate their master server; defaults to the bearer token of the user authenticated for this request. Note that this requires the server processing this request to share the security information from security-service.sapsailing.com, too.
domainName, the domain name to use for the DNS entry that points to the load balancer holding the rules for the new replica set. Defaults to sapsailing.com. If dynamic load balancing is used, this parameter must either not be provided or must use the default domain sapsailing.com.
memoryInMegabytes, can be used to specify the absolute amount of heap size used for the Java VM running the applications, both, on master and replicas; if not specified, memoryTotalSizeFactor may be used (see below); if that isn't used either, heap size is computed based on the amount of memory available on the instance, not considering any swap space available.
memoryTotalSizeFactor, can be used if memoryInMegabytes is not used; it roughly specifies how many processes are intended to be run on the host; e.g., if 4 is specified, approximately 1/4 of the physical memory available (not considering swap space) is assigned as the process's heap space. If neither memoryInMegabytes nor memoryTotalSizeFactor are specified then the amount of memory is calculated automatically based on the amount of physical memory available on the host.
minimumAutoScalingGroupSize, defines how many replicas the auto-scaling group shall minimally keep running, even if the auto-scaling rules things that less may be enough. Defaults to 1. If 0, an "unmanaged" replica will be launched on a shared instance for availability reasons. The shared instance is picked such that it has the HTTP port required for the new replica set free and that it runs in an availability zone different from where the master process was just deployed. If required, a new instance will be launched for this purpose. Other than for the auto-scaling group-managed replica instances the instance for an unmanaged replica is assumed to be for sharing, and hence it's instance type is set to be the same as for the instance hosting the master process. This way, if the master instance type is selected such that it works well for being shared then so will the instance that needs to be launched for an unmanaged replica.
maximumAutoScalingGroupSize, defines how many replicas the auto-scaling group shall create at most. Defaults to 30.
Request method: POST
Example: curl -X POST -d 'regionId=eu-west-2' -d 'replicaSetName=mynewevent' -d 'masterInstanceType=C5_4_XLARGE' -d 'keyName=Horst' --data-urlencode 'privateKeyEncryptionPassphrase=HorstsSuperSecretPassword' --data-urlencode 'masterReplicationBearerToken=DE7x+W/dwFKRAxFbJkC/IMafEnJ8kTQF+MUHNVhEwsD4=' --data-urlencode 'replicaReplicationBearerToken=CHxGpF0nr78Z4m/f28/MgiYhdRB3xoDCYd+rLc37rTt=' -H 'Authorization: Bearer RwGK+DV38LKjeuDu+Bx87/3blLJHD7Ff+NCLeud9nRQ=' "https://sapsailing.com/sailinglandscape/api/landscape/createapplicationreplicaset"
produces output:
            {
              "name": "mynewevent",
              "version": "build-202112151552"
            }
        
Back to Web Service Overview