Purpose
Creates an endpoint. An endpoint allows a client to connect to Eclipse Amlen.
URI
Use the Eclipse Amlen REST API POST method with the
following Eclipse Amlen configuration URI:
http://<admin-endpoint-IP:Port>/ima/v1/configuration/
Object configuration data
Provide endpoint object configuration data in the payload of the POST method by using the following schema. Content-type is set to application/json:
{
"Endpoint": {
"<NameOfEndpoint>": {
"Description": "string",
"Port": integer,
"Interface": "string",
"Protocol": "string",
"ConnectionPolicies": "string",
"TopicPolicies": "string",
"QueuePolicies": "string",
"SubscriptionPolicies": "string",
"MaxMessageSize": "string",
"MessageHub": "string",
"SecurityProfile": "string",
"Enabled": true|false,
"MaxSendSize": integer,
"BatchMessages": true|false,
"EnableAbout": true|false
}
}
}
Where:
- NameOfEndpoint
- Required.
- Specifies the name of the endpoint.
- The name must not have leading or trailing spaces and cannot contain control characters, commas, double quotation marks, backslashes, or equal signs. The first character must not be a number or any of the following special characters:
! # $ % & ' ( ) * + - . / : ; < > ? @
- The maximum length of the name is 256 characters.
- After the endpoint is created, you cannot change this name.
- Description
- Optional.
- Specifies a description for the endpoint.
- If you do not want a description, omit
"Description":"description"
.
- Port
- Required if you are creating an endpoint.
- Specifies the port that clients connect to.
- The port number must be in the range 1 - 32767, 61001 - 65535.
- Interface
- Required if you are creating an endpoint.
- Specifies one, or all, of the available Eclipse Amlen IP addresses for the client to connect to.
- You can use the value
all
to specify all available IP addresses.
- If you are using Amazon Elastic Cloud Compute (Amazon EC2), ensure that the address that
you specify for the endpoint is an Amazon EC2 private IP address that is associated with
an Amazon EC2 public elastic IP address.
- Protocol
- Required if you are creating an endpoint.
- Specifies the protocols that the clients can use to connect to the endpoint.
- You can choose from JMS and MQTT protocols. If there are any protocol plug-ins installed on the Eclipse Amlen server, you can specify these as well.
- To specify more than one value, separate each value with a comma.
- To select all protocols, specify All.
- ConnectionPolicies
- Required if you are creating an endpoint.
- Specifies the connection policies to apply to this endpoint. The policies must exist. These policies must be specified in a comma-separated list.
- When Eclipse Amlen checks whether a client is authorized to connect, each connection policy is checked in the order that the policies are specified on the endpoint. The policies are checked until either authorization is granted, or all connection policies on the endpoint are checked. Therefore, the order of the comma-separated list is important.
You must specify at least one of the following 3 messaging policy types:
- TopicPolicies
- Specifies the topic policies to apply to this endpoint. The policies must exist. These policies must be specified in a comma-separated list.
- When Eclipse Amlen checks whether a client is authorized to perform topic messaging actions, each topic policy is checked in the order that the policies are specified on the endpoint. The policies are checked until either authorization is granted, or all topic policies on the endpoint are checked. Therefore, the order of the comma-separated list is important.
- SubscriptionPolicies
- Specifies the subscription policies to apply to this endpoint. The policies must exist. These policies must be specified in a comma-separated list.
- When Eclipse Amlen checks whether a client is authorized to perform subscription messaging actions, each subscription policy is checked in the order that the policies are specified on the endpoint. The policies are checked until either authorization is granted, or all subscription policies on the endpoint are checked. Therefore, the order of the comma-separated list is important.
- QueuePolicies
- Specifies the queue policies to apply to this endpoint. The policies must exist. These policies must be specified in a comma-separated list.
- When Eclipse Amlen checks whether a client is authorized to perform queue messaging actions, each queue policy is checked in the order that the policies are specified on the endpoint. The policies are checked until either authorization is granted, or all queue policies on the endpoint are checked. Therefore, the order of the comma-separated list is important.
- MaxMessageSize
- Optional.
- Specifies the maximum size, in bytes, KB or MB, that a message can be when sent to Eclipse Amlen through this endpoint.
- The value must be in the range 1 KB - 262144 KB.
- The value can include a KB or MB suffix. If no suffix is used, the value is in bytes, in which case the range is 1024 - 268435456.
- The default value is 1024 KB.
- MessageHub
- Required if you are creating an endpoint.
- Specifies the message hub that the endpoint belongs to. The message hub must exist.
- SecurityProfile
- Optional.
- Specifies the security profile to be applied to the endpoint. The security profile must exist.
- If you do not want to specify a security profile, omit
"SecurityProfile":"secProfile"
.
- Enabled: true|false
- Required if you are creating an endpoint.
- Specifies whether the endpoint is enabled (true) or disabled (false).
- MaxSendSize
- Optional.
- Specifies the maximum size, in bytes, that part of a message can be when it is sent.
- The value must be in the range 128 - 65536.
- You might want to use this option in environments where resource-constrained devices are used; set a low value for MaxSendSize, for example 256 bytes, and disable the batching of messages by setting BatchMessages to false.
- The default value is 16384 bytes.
- BatchMessages: true|false
- Optional.
- Specifies whether messages can be sent in batches (true) or must be sent singly (false). If BatchMessages is false and the size of the message is less than the value specified for MaxSendSize, the message is sent singly. If the size of the message is greater than the value specified for MaxSendSize, the message is sent in multiple fragments; if BatchMessages is false, fragments of different messages cannot be sent in a single send operation.
- You might want to set BatchMessages to false in environments where resource-constrained devices are used to ensure that single messages are sent; ensure that you also set a low value for MaxSendSize, for example 256 bytes.
- The default value is true.
- Enable About Eclipse Amlen panel
- Optional.
- Specifies whether the About Eclipse Amlen panel for this endpoint can be reached.
- The default value is false which means that the panel for this endpoint cannot be reached.
- In production environments, it is best practice to specify a value of false.
Usage NotesĀ®
- Capitalization and double quotation marks must be used as shown.
- Each endpoint must have at least one connection policy, and at least one messaging policy.
Related REST Administration APIs
Example
Creates an endpoint called "MyEndpoint" by using cURL:
curl -X POST \
-H 'Content-Type: application/json' \
-d '{
"Endpoint": {
"MyEndpoint": {
"Port": 16102,
"Enabled": false,
"Protocol": "All",
"Interface": "All",
"ConnectionPolicies": "MyConnectionPolicy",
"TopicPolicies": "MyTopicPolicy",
"MaxMessageSize": "4096KB",
"MessageHub": "MyHub",
"Description": "Unsecured endpoint for demonstration use only."
}
}
}
' \
http://127.0.0.1:9089/ima/v1/configuration/
An example response to the POST method:
{
"Version": "v1",
"Code": "CWLNA6011",
"Message": "The requested configuration change has completed successfully."
}