ARM REST Services icon

ARM REST Services

(1 review)

The Runtime Manager API allows you to use REST calls to communicate and interact with Mule runtimes that reside in servers, server groups, or clusters. This API also lets you interact with the applications that are deployed to these targets.

This API provides an alternative to the user interface for carrying out the actions described in the following documents:

Note: This API doesn't let you manage applications that are deployed to CloudHub. For that, see CloudHub API.

Domain Model

This is the domain model for managing an application deployed on-premises.

Server

An instance of the Mule Runtime (or the Gateway Runtime) that is registered on the Runtime Manager console. A server has the following attributes:

  • id (integer): Unique identifier among all the registered servers in the Runtime Manager. IDs are unique among all the customers of the Anypoint Platform.
  • timeCreated (Time Stamp): The time when the server was registered into the Runtime Manager console. (In UTC)
  • timeUpdated (Time Stamp): The time when the server was modified using the Runtime Manager console. (In UTC)
  • name (string): The label you define to identify the server in the console. This value is not necessarily unique.
  • serverType (enum): The type of the runtime running on the server. Usually it's MULE, but could also be Gateway when dealing with older versions. [MULE, Gateway]
  • clusterIp(string, optional): If the server is part of a unicast cluster, then this field holds the IP address used to communicate with that server.
  • muleVersion (string): The Mule runtime version running on the server.
  • gatewayVersion (string, optional): The Gateway runtime version of the server (only valid if the serverType field is Gateway )
  • agentVersion (string): Runtime Manager uses the Mule Agent to communicate with the servers. This field refers to the Mule Agent version being used.
  • status (enum): The last reported status of the server.
    • CREATED: The server was registered to the Runtime Manager console, but never connected.
    • RUNNING: The server is up and running, and accepting requests from the Runtime Manager.
    • CONNECTED: The server is connected to the Runtime Manager, but is not ready to operate.
    • DISCONNECTED: The server was once connected, but now is disconnected.
  • timeLastMessageReceived (Time Stamp): Last time when the Runtime Manager console received an update from the server.

Server Group

A set of servers that act as a single deployment target, in which instances of the applications are completely isolated from each other. A server group does not work as an atomic group of servers, but as a single unit of work.

  • id (integer): Unique identifier among all the registered servers in the Runtime Manager. This ID is unique among all customers of the Anypoint Platform.
  • timeCreated (Time Stamp): The time when the server group was created. (In UTC)
  • timeUpdated (Time Stamp): Is the time when the Runtime Manager last modified the server group. (In UTC)
  • name (string): Is the label you define to identify the server group in the console. This value is not necessarily unique.
  • status (enum):
    • CREATED: The server group was created.
    • RUNNING: All the servers in the server group are running.
    • CONNECTED: All the servers in the server group are connected.
    • DISCONNECTED: All the servers in the server group are disconnected.
    • PARTIAL: Not all the servers in the same server group are in the same state.
    • EMPTY: The server group does not have a server.
  • servers (array): The list of IDs of the servers that make up the server group.

Cluster

A set of servers that act as a single deployment target, in which instances of the application are aware of one another and share common information and synchronize statuses.

  • id (integer): Unique identifier among all the registered servers in the Runtime Manager. The ID is unique among all the customers of the Anypoint Platform.
  • timeCreated (Time Stamp): The time when the Server Group was created. (In UTC)
  • timeUpdated (Time Stamp): The time when the Runtime Manager last modified the Server Group. (In UTC)
  • name (string): The label you define to identify the cluster. This value is not necessarily unique.
  • isMulticastEnabled (boolean): Determines if the communication protocol between the servers in the cluster is multicast or not.
  • status(enum):
    • CREATED: The cluster was created.
    • RUNNING: All the servers of the cluster are running.
    • DISCONNECTED: All the servers of the cluster are disconnected.
  • servers (array): The list of servers in the cluster.

Artifact

The representation of the .zip file that contains the Mule application to be deployed in a runtime instance.

  • id (integer): Unique identifier for the artifact.
  • name: Artifact name, which matches the application name.
  • type (enum): [APPLICATION, DOMAIN] (Only APPLICATION is supported in this API version).

Server Artifact

The representation of an application deployed in a runtime instance.

  • id (integer): Identifier of the application in a particular server.
  • timeCreated (Time Stamp): When the application was added to a particular server. (In UTC)
  • timeUpdated (Time Stamp): When the application was last modified in a particular server. (In UTC)
  • applicationId (integer): The application ID associated with the server Artifact.
  • serverId (integer): The server ID associated with the server artifact.
  • lastReportedStatus (enum): The last status the Runtime Manager received from the server artifact - this matches with the Mule application phases.
    • DEPLOYING: The artifact was accepted by the Runtime Manager and is being opened.
    • INITIALISING: The Mule application context is initializing.
    • INITIALISED: The Mule application context is initialized.
    • STARTING: The Mule application context is starting.
    • STARTED: The Mule application context has started.
    • STOPPING: The Mule application context is stopping.
    • STOPPED: The Mule application context has stopped.
    • DISPOSING: The Mule application context is being disposed.
    • DISPOSED: The Mule application context has been disposed.
    • DEPLOYMENTFAILED: The deployment of the artifact failed. The Runtime Manager removes it eventually.
    • UNDEPLOYING: The artifact is being undeployed.
    • UNDEPLOYED: The artifact no longer exists in the server.
  • desiredStatus (enum): The status that the Runtime Manager tries to apply to the artifact in that server (implies an action):
    • STARTED: If the artifact is currently UNDEPLOYED, then it can be considered that deployment is scheduled for that artifact and eventually will be performed.
    • UNDEPLOYED: If the artifact is DEPLOYED or in the deployment process, then an Undeployment is scheduled so that eventually the artifact will be removed from the server.
    • UPDATED: A Redeployment will be tried.
  • message(string, optional): If there was an error, it shows the Mule message for that error.
  • discovered (boolean): If that server artifact was manually dropped inside the server and not by Hybrid console.

Application

A Mule app/proxy that is deployed into a runtime in a server, server group, or cluster. An application is a conceptual vision of an application as a unit of work. Alternatively an artifact server is a physical vision of an application, whether or not the application is deployed or on a server.

  • id (integer): Identifier of an application.
  • timeCreated (Time Stamp): When the application was created (In UTC)
  • timeUpdated (Time Stamp): When the application was last modified . (In UTC)
  • target: It is a Server or a Server Group object.
  • desiredStatus (enum): The status that the Runtime tries to apply to the application (implies an action):
    • STARTED: If the application is UNDEPLOYED, then it can be considered that deployment is scheduled for that artifact and eventually will be performed.
    • UNDEPLOYED: If the application is STARTED or in the deployment process, then an Undeployment is scheduled so eventually the artifacts of that app will be removed from their servers.
    • UPDATED: A Redeployment will be attempted.
  • astReportedStatus (enum): The status that the Runtime Manager tries to apply to the artifact in that sever (implies an action)
  • When the application is deployed to a Single Server:
    • STARTING: Server artifact is in { DEPLOYING, STARTING, INITIALISING, INITIALISED }.
    • STARTED: Server artifact is STARTED.
    • DEPLOYMENTFAILED: Server artifact has status DEPLOYMENTFAILED.
    • UNDEPLOYING: Server artifact is in phase { UNDEPLOYING }.
    • UNDEPLOYED: Server artifact has status UNDEPLOYED.
  • When an application is deployed to a server group or cluster:
    • STARTING: At least ONE server artifact is in { DEPLOYING, STARTING, INITIALISING, INTIALISED }.
    • STARTED: All of the server artifacts on the running servers are STARTED and the app is ready to be used.
    • PARTIALLYSTARTED: At least one of the Server artifacts is STARTED and one is in deployment failed.
    • DEPLOYMENTFAILED: ALL of the server artifacts are DEPLOYMENTFAILED.
    • UNDEPLOYING: At least ONE server artifact is in { UNDEPLOYING, STOPPING, STOPPED, DISPOSING, DISPOSED}.
    • UNDEPLOYED: ALL server artifacts ARE UNDEPLOYED or DEPLOYMENTFAILED.

If two app statuses match these rules, UNDEPLOYING has priority over PARTIALLYSTARTED, and PARTIALLYSTARTED has priority over DEPLOYING.

Configuration Service

A core service of the Runtime Manager. It takes care of applying configurations on a particular target. The configuration can be applied to a particular component in a Mule Runtime.

  • Component:
    • Id - The ID of the component.
    • Name - The name of the component.
  • Enabled: Determines if the component is enabled [true, false].
  • Configuration: This is the value stored in the runtime. If the Mule Runtime is connected to the Runtime Manager, then the configuration is applied. Otherwise the configuration in the Running Server might not match with the configuration expressed in this response.
  • FullyInstalled: Determines if it was installed in all the servers of the target [true, false].
  • FullyConfigured: Determines it was configured in all the servers of the target [true, false].

Reviews