## 4.1.8.1.6.2  Modules
The modules section of the deployment descriptor lists the deployable parts contained in the MTA deployment archive.
The following elements are mandatory:
- name - must be unique within the MTA it identifies
- type - defines which deployment mechanism to be used for this module
Optional module attributes include:
- path - the file-system path relative to the root of the MTA directory. The content of the file is used to create or update the CF app or content, depending on the module target. The path is used only during MTA build. In an already built MTA archive (MTAR), path is ignored and only corresponding entry in MANIFEST.MF for the module is processed.
The path is applicable only when MTA is assembled based on deployment descriptor (mtad.yaml), and not on development descriptor (mta.yaml)
- description - non-translatable, free-text string; the string is not meant to be presented on application user interfaces (UI)
- properties - a structured set of name-value pairs; if a module, which requires the resource, represents a CF application, the resource properties are injected into the environment of the application
- parameters - reserved variables that affect the behavior of the MTA-aware tools, such as the deployer
- deployed-after - the attribute is used to specify the order in which modules should be processed. Its value is a list comprised of the names of other modules within the same MTA. When this attribute is assigned to a module, it indicates that the module should be processed after the listed modules have been processed.
##  Note
When using the deployed-after parameter in Blue-Green Deployment of Multitarget Applications [page 705], keep in mind that it cannot be used to alter the deployment order of the modules even though its name suggests otherwise. Instead, it can be used to specify the following:
- In the first phase of the blue-green deployment, the deployed-after attribute is used to determine the order in which all idle applications are created.
- In the final phase of the blue-green deployment, the deployed-after attribute is used to determine the order in which all idle applications are restarted.
- It does not affect the testing phase, where both the live and idle versions of the applications are running in parallel.
- requires - specifies the names of requires sections provided in resource that have been declared for the same MTA. Tools check if all required names are provided within the MTA.
- provides - specifies the names of provides sections, each containing configuration data; the data provided can be required by other modules in the same MTA
##  Tip
Modules can be deployed in parallel. See Parallel Module Deployment [page 720].
## MTA Module Types
Modify the following MTA module types by providing specific properties or parameters in the MTA deployment descriptor ( mtad.yaml ).
MTA Default Modules Types
| Module Type        | Default Parameter Values and Description   | Module Proper- ties   | Result                                                                           |
|--------------------|--------------------------------------------|-----------------------|----------------------------------------------------------------------------------|
| javascript.no dejs | No default parameter.                      | None                  | CF application with automatic buildpack detection                                |
| nodejs             | buildpack ( nodejs_buildpack )             | None                  | CF application with Node.js run- time                                            |
| custom             | No default parameter.                      | None                  | CF application with automatic buildpack detection                                |
| application        | No default parameter.                      | None                  | CF application with automatic buildpack detection                                |
| java               | buildpack ( sap_java_buildpack_jakarta )   | None                  | CF application with Automatic run- time detection by sap_java_buildpack_jaka rta |
| java.tomcat        | buildpack ( sap_java_buildpack_jakarta )   | None                  | CF application with Tomcat run- time of sap_java_buildpack_jaka rta              |
| Module Type             | Default Parameter Values and Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | Module Proper- ties   | Result                                                                           |
|-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------|----------------------------------------------------------------------------------|
| java.tomee              | buildpack ( sap_java_buildpack_jakarta )                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | None                  | CF application with Automatic run- time detection by sap_java_buildpack_jaka rta |
| com.sap.xs.hd i         | • no-route ( true ) Do not assign a route to the application. • memory ( 256MB ) • health-check-type - ( none ) • no-start (true) • cf-task • command (npm start) • memory (256MB) • name (deploy) • dependency-type ( hard ) In circular module-dependencies, de- ploy modules with dependency type 'hard' first                                                                                                                                                                                                                                                                                                                                                                                             | EXIT (1)              | CF application with HDI content activation                                       |
| com.sap.xs.hd i-dynamic | buildpack ( nodejs_buildpack )                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | None                  | CF application with Node.js run- time                                            |
| com.sap.porta l.content |  Note Before using this module type, update the content deployer applications to their latest version. • no-route ( true ). Defines if a route should be assigned to the application. • no-start - ( true ). Only the one-off tasks will be executed, that is, without triggering the start of the application. • memory ( 256M ). Defines the memory allocated to the application. • tasks ( name:deploy, memory:256M, command:npm start) For more information, see Tasks [page 674]. • dependency-type ( hard ). Defines if this module should be deployed first, if it takes part in circular module depend- ency cycles. If hard means that this module is deployed first. • buildpack(nodejs_buildpack) | None                  | CF application with SAP Fiori launchpad content                                  |
Module Proper-
| Module Type                   | Default Parameter Values and Description                                                                                                         | ties   | Result                                          |
|-------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------|--------|-------------------------------------------------|
| com.sap.porta l.site- content |  Note This module type is deprecated . You have to use com.sap.portal.content in- stead.                                                        | None   | CF application with SAP Fiori launchpad content |
| com.sap.appli cation.conten t | Required dependency parameters: • content-target(false) Specify that the resource would be used as a target for the module content de- ployment. | None   | Direct content deployment to backing services   |
Module Proper-
| Module Type                         | Default Parameter Values and Description                                                                                                                                                          | ties   | Result                                                                                               |
|-------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------|------------------------------------------------------------------------------------------------------|
| com.sap.html5 .application- content |  Note This module type is deprecated . Please use com.sap.html5.application.c ontent instead.                                                                                                    | None   | Deploys a content deployment ap- plication, and creates a task that performs the content deployment. |
|                                     |  Note Keep the dependency to @sap/ html5-app-deployer updated to the latest version. If you are using an older version, you might encounter some issues. • no-route ( true ). Defines if a route |        |                                                                                                      |
Module Proper-
| Module Type                         | Default Parameter Values and Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | ties     | Result                                    |
|-------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------|-------------------------------------------|
|                                     | • buildpack(nodejs_buildpack)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |          |                                           |
| com.sap.html5 .application. content |  Note Keep the dependency to @sap/ html5-app-deployer updated to the latest version. If you are using an older version, you might encounter some issues. • no-route ( true ). Defines if a route should be assigned to the application. • no-start - ( true ). Only the one-off tasks will be executed, that is, without triggering the start of the application. • memory ( 256M ). Defines the memory allocated to the application. • tasks ( name:deploy, memory:256M, command:npm start) For more information, see Tasks [page 674]. • dependency-type ( hard ). Defines if this module should be deployed first, if it takes part in circular module depend- ency cycles. If hard means that this | EXIT (1) | CF application with SAP HTML5 content     |
| staticfile                          | buildpack ( staticfile_buildpack )                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | None     | CF application with static file run- time |
| go                                  | buildpack ( go_buildpack )                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | None     | CF application with Go runtime            |
| python                              | buildpack ( python_buildpack )                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | None     | CF application with Python run- time      |
| php                                 | buildpack ( php_buildpack )                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | None     | CF application with PHP runtime           |
| binary                              | buildpack ( binary_buildpack )                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | None     | CF application with Binary runtime        |
To choose a binary\_buildpack , define it by using the following:
##  Sample Code
modules:
- name: my-binary-app
type: custom
parameters:
buildpack: binary\_buildpack
## Module-Specific Parameters
Module parameters have platform-specific semantics. To reference a parameter value, use the placeholder notation ${&lt;parameter&gt;} , for example, ${default-host} .
##  Tip
It is also possible to declare metadata for parameters and properties defined in the MTA deployment descriptor. The mapping is based on the parameter or property keys. For example, you can specify if a parameter is required ( optional: false ) or can be modified overwritable: true . See Metadata for Properties and Parameters [page 665].
The following parameters are supported:
##  Note
If you can't find a specific parameter from the native Cloud Foundry manifest here, refer to Prerequisites and Restrictions [page 601] to see which Cloud Foundry features are currently not supported.
MTA Development and Deployment Module Parameters
| Parameter     | Scope   | Read -Only (Sys- tem)   | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | Default Value   | Example                                                                                                    |
|---------------|---------|-------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|------------------------------------------------------------------------------------------------------------|
| app- features | Module  | Write                   | Allows enabling, disabling, and querying specific features for indi- vidual applications. These features typically control behaviors or ca- pabilities related to application ex- ecution. The parameter accepts a map as a value. All parameters in the map are passed directly to the CF API. This mechanism ensures that all future app features will be auto- matically supported throughMTA deployment. The parameter is especially use- ful when many services are bound to an application, and all creden- tials inside the VCAP_SERVICES environment variable exceed the maximum size of 130 KB (see Cloud Foundry environment vari- ables ). In this case, the appli- cation cannot be staged success- fully. To solve that issue, you can switch to the "file-based VCAP services" method by enabling the respective app feature, and adapt | n/a             | modules: - name: foo type: application parameters: app-features: file-based- vcap-services: true ssh: true |
| Parameter               | Scope   | Read -Only (Sys- tem)   | Description                                                                                                                                                                                                                                                                                                                                                                 | Default Value                                                | Example                                                                |
|-------------------------|---------|-------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------|------------------------------------------------------------------------|
| app-name                | Module  | Write                   | The name of the application in the Cloud Foundry environment to be deployed for this module, based on the module name                                                                                                                                                                                                                                                       | $ {default -app- name}                                       | node-hello-world com.sap.xs2.samples. xsjshelloworld.node- hello-world |
| apply- namespace        | Module  | Write                   | Applies namespace to the applica- tion name. When you set apply- namespace to the application name and do not specify apply- namespace for its route, the namespace is applied to both the application name and its route. If the namespace value is not pro- vided in the CLI options, it is not applied. For more information, see Fine-Grained Configuration [page 715]. |                                                              | modules: - name: java ... parameters: apply- namespace: true           |
| buildpack               | Module  | Write                   | The name or the URL of a custom buildpack required by the applica- tion                                                                                                                                                                                                                                                                                                     | Empty, or as specified in the deploy service con- figuration | buildpack: git:// github.acme.com/ xs2-java/ xs2javabuildpack          |
| buildpacks              | Module  | Write                   | An array of buildpacks. If a build- pack parameter already exists, it will be overwritten by the build- packs listed in the buildpacks pa- rameter, so that you have to in- clude it in the array.                                                                                                                                                                          | Empty, or as specified in the deploy service con- figuration | buildpacks: [java_buildpack, nodejs_buildpack, staticfile_buildpack ]  |
| command                 | Module  | Write                   | A custom command required to start the application                                                                                                                                                                                                                                                                                                                          | Empty, or as specified in the deploy service con- figuration | command: node index.js                                                 |
| create- service- broker | Module  | Write                   | Specifies whether [true|false] a service broker should be regis- tered for the application module                                                                                                                                                                                                                                                                           | false                                                        | create-service- broker: true                                           |
| default- app-name       | Module  | Yes                     | The name of the application in the Cloud Foundry environment to be deployed for this module, based on the module name                                                                                                                                                                                                                                                       | The module name with or without a namespace prefix           | node-hello-world com.sap.xs2.samples. xsjshelloworld.node- hello-world |
| Parameter          | Scope   | Read -Only (Sys- tem)   | Description                                                                                                                                                                                                               | Default Value                               | Example                         |
|--------------------|---------|-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------|---------------------------------|
| default- host      | Module  | Yes                     | The default host name, which is composed based on the module name to ensure uniqueness. Used with host-based routing to com- pose the default URI, see below. It follows the convention ${org}-$ {space}-<module_name> .  | Generated as described in the de- scription | trial-a007007-node- hello-world |
|                    |         |                         |  Tip Werecommend you explicitly use the routes parameter. See Routes [page 686].                                                                                                                                         |                                             |                                 |
|                    |         |                         |  Note Host names that do not com- ply with the Cloud Foundry naming limitations are auto- matically corrected: • Any characters that are                                                                                 |                                             |                                 |
|                    |         |                         |  Note When used in blue-green de- ployment the value is resolved depending on the phase. Dur- ing the testing phase the "idle" suffix will be appended to the host. If you want to use the live version only, refer to $ |                                             |                                 |
|                    |         |                         | {default-live-host} .                                                                                                                                                                                                     |                                             |                                 |
| default- instances | Module  | Yes                     | The number of application instan- ces that are started during the de- ployment                                                                                                                                            | 1                                           | default-instances: 1            |
| Parameter               | Scope   | Read -Only (Sys- tem)   | Description                                                                                                                                                                                                                                                                                      | Default Value                                      | Example                                                    |
|-------------------------|---------|-------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------|------------------------------------------------------------|
| default- live-app- name | Module  | Yes                     | Valid for blue-green deployment. Specify this parameter if you want the name of the Cloud Foundry application that is to be deployed with this module to be based on the name of the module. For standard deployment the parame- ter will be the same as default- app-name regardless the phase. | The module name with or without a namespace prefix | node-hello-world                                           |
| default- live- domain   | Module  | Yes                     | Valid for blue-green deployment. The value of this parameter is the default domain for the current or- ganization.                                                                                                                                                                               |                                                    |                                                            |
| default- live-host      | Module  | Yes                     | Valid for blue-green deployment. Specify this parameter if you want to use ${default-host} with- out the 'idle' suffix during the testing phase of the blue-green deployment.                                                                                                                    | Generated as described in the de- scription        | trial-a007007-node- hello-world                            |
| default- live-uri       | Module  | Yes                     | Valid for blue-green deployment. Specify this parameter if you want to use ${default-uri} with- out the 'idle' suffix during the testing phase of the blue-green deployment.                                                                                                                     | Generated as described in the de- scription        | trial-a007007-node- hello- world.cfapps.acme.on demand.com |
| default- live-url       | Module  | Yes                     | Valid for blue-green deployment. Specify this parameter if you want to use ${default-url} with- out the 'idle' suffix during the testing phase of the blue-green deployment.                                                                                                                     | Generated as described in the de- scription        | ${protocol}://$ {default-live-uri}                         |
| Parameter    | Scope   | Read -Only (Sys- tem)   | Description                                                                                                                                                                                                                                               | Default Value                                | Example                                                    |
|--------------|---------|-------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------|------------------------------------------------------------|
| default- uri | Module  | Yes                     | The default URI, composed as ${host}.${domain} (host- based routing). Note that $ {host} will be the same as ${default-host} , unless specified explicitly as a parame- ter. Similarly, ${domain} would be the same as ${default-                         | Generated as described in the de- scription. | trial-a007007-node- hello- world.cfapps.acme.on demand.com |
|              |         |                         |  Note When used in blue-green de- ployment the value is resolved depending on the phase. Dur- ing the testing phase the "idle" suffix will be appended to the host of the URI. If you want to use the live version only, refer to ${default-live-        |                                              |                                                            |
| default- url | Module  | Yes                     | The default URL, com- posed as ${protocol}://$ {default-uri} . Note that the ${default-uri} place- holder is resolved as ${host}.$ {domain} (host-based routing)                                                                                          | Generated as described in the de- scription. | ${protocol}://$ {default-uri}                              |
|              |         |                         |  Note When used in blue-green de- ployment the value is resolved depending on the phase. Dur- ing the testing phase the "idle" suffix will be appended to the host of the URL. If you want to use the live version only, refer to ${default-live- url} . |                                              |                                                            |
| Parameter        | Scope   | Read -Only (Sys-   | Description                                                                                                                                                                                                                                                                                                                                                                                                                          | Default Value                     | Example                                                                                                                                                          |
|------------------|---------|--------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| dependency -type | Module  | Write              | Deployment order of modules with circular dependencies                                                                                                                                                                                                                                                                                                                                                                               | soft                              | dependency-type: hard dependency-type:                                                                                                                           |
| disk-quota       | Module  | Write              | The disk space that will be availa- ble to the application. This param- eter requires a unit of measure- ment M, MB, G, or GBin upper or lower case.                                                                                                                                                                                                                                                                                 | 1, or as specified in module-type | disk-quota: 1G                                                                                                                                                   |
| docker           | Module  | Write              | Creates a module from a docker image. When using a docker im- age parameter, we do not need to specify the module in the MANIFEST.mf file. An image pa- rameter is a docker image from the Docker Hub or somewhere else. The username and the pass- word are optional, but if a Docker image from a private repository is uploaded, then they are manda- tory. When uploading a docker image, the content of a module is not needed. | n/a                               |  Sample Code modules: name: foo type: application parameters: docker: image: cloudfoundry/ test-app username: <optional username> password: <optional password> |
| domain           | Module  | Write              | The domain on which the applica- tion is available later                                                                                                                                                                                                                                                                                                                                                                             | $ {default -domain}               | domain: ${default- domain}.acme.com                                                                                                                              |
| domains          | Module  | Write              | The domains on which the appli- cation is available later. The result- ing application routes are the Car- tesian product of the domains and hosts. That is, a separate route for each host is constructed on each domain.                                                                                                                                                                                                           | domains: - $ {default }           | domains: - ${default- domain}.acme.com - test-${default- domain}.acme.com                                                                                        |
| default- domain  | Module  | Yes                | The value of this parameter is the default domain for the current or- ganization.                                                                                                                                                                                                                                                                                                                                                    |                                   |                                                                                                                                                                  |
| Parameter                           | Scope   | Read -Only (Sys- tem)   | Description                                                                                                                                                                                                                    | Default Value                                                                                           | Example                                                                                                        |
|-------------------------------------|---------|-------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------|
| enable-ssh                          | Module  | Write                   | Enables use of SSH within an ap- plication. Supported for the Diego container runtime environment only.                                                                                                                        | n/a                                                                                                     | "enable-ssh": true "enable-ssh": false                                                                         |
|                                     |         |                         |  Note This parameter is depre- cated. To enable SSH within an application, use the app-features parameter instead.                                                                                                            |                                                                                                         |                                                                                                                |
| enable- parallel- service- bindings | Module  | Write                   | Enables or disables the parallel binding or unbinding of services during deployment. If disabled, the services are bound and unbound sequentially in the order provided in the deployment descriptor.                          | true                                                                                                    |  Sample Code - name: <module name> type: <module type> parameters: enable- parallel- service- bindings: false |
| health- check- http- endpoint       | Module  | Write                   | If the health-check-type pa- rameter is set to http , the con- troller will do a GET request to this endpoint. The application will be considered as healthy if the re- sponse is 200 OK.                                      | If health- check- type is set to http , the default value is / , other- wise there is no default value. | health-check-type: http health-check-http- endpoint: /health                                                   |
| health- check- timeout              | Module  | Write                   | The application health check time- out in seconds                                                                                                                                                                              | n/a                                                                                                     | health-check- timeout:120                                                                                      |
| health- check- invocation -timeout  | Module  | Write                   | The time period in seconds, within which the application health check should be automatically started. If the health check does not start within the defined time period, it is omitted, and the deployment process continues. | n/a                                                                                                     | health-check- invocation- timeout:16                                                                           |
| Parameter          | Scope   | Read -Only (Sys- tem)   | Description                                                                                                                                                                                                          | Default Value       | Example                                                                                                |
|--------------------|---------|-------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------|--------------------------------------------------------------------------------------------------------|
| health- check-type | Module  | Write                   | The application health check type                                                                                                                                                                                    | port                | health-check-type: port health-check-type: http health-check-type: process                             |
| host               | Module  | Write                   | The hostname or subdomain where an application is available later. If you want to create a wildcard hostname, use an asterisk in quotes ("*").                                                                       | $ {default -host}   | host: ${space}-node- hello-world host: "*"                                                             |
| hosts              | Module  | Write                   | The hostnames or subdomain where an application is available later. If you want to create a wildcard hostname, use an asterisk in quotes ("*").                                                                      | hosts: - ${host}    | modules: - name: my-app type: application parameters: hosts: - ${space}- node-hello-world - "*"        |
| idle- domain       | Module  | Write                   | Valid for a blue-green deployment when a new application version is started on a temporary route. Specify this parameter if you want to use another domain for tempo- rary routes.                                   | $ {default -domain} | modules: - name: app type: nodejs parameters: idle-domain: "<some.domain>"                             |
| idle- domains      | Module  | Write                   | Valid for a blue-green deployment when a new application version is started on several temporary routes. Specify this parameter if you want to use other domains for tempo- rary routes by listing them in an array. | $ {default -domain} | modules: - name: app type: nodejs parameters: idle- domains: ["<some.domain>", "<some.other.domai n>"] |
Read
<!-- image -->
| Parameter    | Scope   | -Only (Sys- tem)   | Description                                                                                                                                                                                              | Default Value           | Example                                                                                                                                                                                     |
|--------------|---------|--------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| idle-host    | Module  | Write              | Valid for a blue-green deployment when a new application version is started on a temporary route. Specify this parameter if you want to use another host for a tempo- rary route.                        | $ {default -host}- idle | modules: - name: app type: nodejs parameters: idle- host: "<some- hostname>"                                                                                                                |
| idle-host    | Module  | Write              |  Note The new application will start on a route comprised of the specified host and the default domain.                                                                                                 | $ {default -host}- idle | modules: - name: app type: nodejs parameters: idle- host: "<some- hostname>"                                                                                                                |
| idle-hosts   | Module  | Write              | Valid for a blue-green deployment when a new application version is started on temporary routes. Specify this parameter if you want to use other hosts for temporary routes by listing them in an array. | $ {default -host}- idle | modules: - name: app type: nodejs parameters: idle- hosts: ["<some- hostname>", "<some-other- hostname>"]                                                                                   |
| idle-hosts   | Module  | Write              |  Note The new application will start on routes comprised of the specified hosts and default domain.                                                                                                     | $ {default -host}- idle | modules: - name: app type: nodejs parameters: idle- hosts: ["<some- hostname>", "<some-other- hostname>"]                                                                                   |
| idle- routes | Module  | Write              | Valid for a blue-green deployment when a new application version is started on temporary routes. Specify this parameter if you want to use other routes for the applica- tion.                           | $ {default -uri}- idle  | modules: - name: app parameters: idle-routes: - idle- route: "<your- first-idle- hostname.your.firs t.idle.domain>" - idle- route: "<your- second-idle- hostname.your.seco nd.idle.domain>" |
| Parameter      | Scope   | Read -Only (Sys- tem)   | Description                                                                                                                                                                                                                                                                                                                                                                                                                      | Default Value           | Example                                                                      |
|----------------|---------|-------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------|------------------------------------------------------------------------------|
| instances      | Module  | Write                   | The number of application instan- ces that will be started during the deployment                                                                                                                                                                                                                                                                                                                                                 | $ {default -instanc es} | instances: 2                                                                 |
| keep- existing | Module  | Write                   | Defines the application attributes which will be kept after the deploy- ment or blue-green deployment has finished. The supported attrib- utes which could be kept are ap- plication environment, application bindings and application routes. If not specified, the default val- ues are false, which indicates that each application attribute will be updated with the new values pre- sented in the deployment descrip- tor. | false                   |  Sample Code keep-existing: env: true service- bindings: true routes: false |
| Parameter              | Scope   | Read -Only (Sys- tem)   | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | Default Value                        | Example                                                                                                                                                                            |
|------------------------|---------|-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| keep- existing- routes | Module  | Write                   | When specified on module level, it indicates if the existing routes of the module's corresponding ap- plication should be kept even if they are not defined within the deployment and/or extension de- scriptors. When specified on global level, un- der the parameters section of the descriptor, it indicates if the existing routes of all applications within that MTAshould be kept.  Note • The module-level variant of the parameter has pri- ority over the global pa- rameter. • This parameter is typi- cally used when users want to keep the routes they have mapped man- ually by using the cf map-route command. Wediscourage this ap- proach, as manual opera- tions could lead to incon- sistent deployment re- sults and difficult trouble- shooting. Werecommend you to define all routes in the deployment and/ or extension descriptors, which allows for their au- tomatic management. | false                                |  Sample Code parameters: keep-existing- routes: true modules: - name: foo type: nodejs parameters: keep-existing- routes: false - name: bar type: nodejs - name: baz type: nodejs |
| memory                 | Module  | Write                   | The memory limit for all instances of an application. This parameter requires a unit of measurement M, MB, G, or GBin upper or lower case.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | 256M, or as specified in module-type | memory: 128M                                                                                                                                                                       |
| no-route               | Module  | Write                   | Configures the deployer to create or skip the creation of a route for the application described by the module                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | false                                | no-route: true                                                                                                                                                                     |
<!-- image -->
| Parameter   | Scope   | Read -Only (Sys- tem)   | Description                                                                     | Default Value                 | Example        |
|-------------|---------|-------------------------|---------------------------------------------------------------------------------|-------------------------------|----------------|
| no-start    | Module  | Write                   | Start/do not start the application during deployment.                           | Depends on the com- mand line | no-start: true |
|             |         |                         |  Tip This parameter setting over- rides the command-line op- tion --no-start . | option -- no-start            |                |
|             |         |                         | If you explicitly set the no-start                                              |                               |                |
|             |         |                         | to false for the module foo in                                                  |                               |                |
|             |         |                         | module foo is started on deploy-                                                |                               |                |
|             |         |                         | the command-line option --no-                                                   |                               |                |
|             |         |                         | start with the cf deploy command.                                               |                               |                |
| Parameter        | Scope      | Read -Only (Sys- tem)   | Description                                                                                           | Default Value   | Example                 | Example                 | Example                 | Example                 | Example                 |
|------------------|------------|-------------------------|-------------------------------------------------------------------------------------------------------|-----------------|-------------------------|-------------------------|-------------------------|-------------------------|-------------------------|
| restart- on-env- | Module     | Write                   | Specifies whether an application should be restarted if an environ- ment variable has been changed in |  Sa            |  Sample Code           |  Sample Code           |  Sample Code           |  Sample Code           |  Sample Code           |
| change           |            |                         |                                                                                                       | mple Code       | restart-on-env- change: | restart-on-env- change: | restart-on-env- change: | restart-on-env- change: | restart-on-env- change: |
|                  |            |                         | • vcap-application                                                                                    |                 | vcap- application:      | vcap- application:      | vcap- application:      | vcap- application:      | vcap- application:      |
|                  |            |                         |                                                                                                       | res             |                         |                         |                         |                         |                         |
|                  |            |                         | • vcap-services                                                                                       | tar             | false                   | false                   | false                   | false                   | false                   |
|                  |            |                         | •                                                                                                     | t-              | vcap-                   | vcap-                   | vcap-                   | vcap-                   | vcap-                   |
|                  |            |                         | user-provided                                                                                         | on-             | services: true          | services: true          | services: true          | services: true          | services: true          |
|                  |            |                         |                                                                                                       | env             | user-                   | user-                   | user-                   | user-                   | user-                   |
|                  |            |                         |  Note                                                                                                | -ch             |                         |                         |                         |                         |                         |
|                  |            |                         |                                                                                                       | ang             |                         |                         |                         |                         |                         |
|                  |            |                         |                                                                                                       |                 | provided: true          | provided: true          | provided: true          | provided: true          | provided: true          |
|                  | If you set |                         | these parameters                                                                                      | e:              |                         |                         |                         |                         |                         |
|                  |            |                         | to false , the changes in en-                                                                         |                 | vca                     | vca                     | vca                     | vca                     | vca                     |
|                  |            |                         | vironment are not consuma-                                                                            | p-              |                         |                         |                         |                         |                         |
|                  | ble by a   |                         | running instances of                                                                                  | app             |                         |                         |                         |                         |                         |
|                  |            |                         | the application. If your appli-                                                                       | lic             |                         |                         |                         |                         |                         |
|                  |            |                         | cation depends on the latest                                                                          | ati             | on:                     | on:                     | on:                     | on:                     | on:                     |
|                  |            |                         | environment, it might become                                                                          |                 |                         |                         |                         |                         |                         |
|                  |            |                         | outdated.                                                                                             | tru             |                         |                         |                         |                         |                         |
|                  |            |                         |                                                                                                       |                 | e                       | e                       | e                       | e                       | e                       |
|                  |            |                         |                                                                                                       |                 | vca                     | vca                     | vca                     | vca                     | vca                     |
|                  |            |                         |                                                                                                       | p- ser          |                         |                         |                         |                         |                         |
|                  |            |                         |                                                                                                       |                 | vic                     | vic                     | vic                     | vic                     | vic                     |
|                  |            |                         |                                                                                                       | es:             |                         |                         |                         |                         |                         |
|                  |            |                         |                                                                                                       | tru             |                         |                         |                         |                         |                         |
|                  |            |                         |                                                                                                       |                 | e                       | e                       | e                       | e                       | e                       |
|                  |            |                         |                                                                                                       | use r-          |                         |                         |                         |                         |                         |
|                  |            |                         |                                                                                                       | pro             |                         |                         |                         |                         |                         |
|                  |            |                         |                                                                                                       |                 | vid                     | vid                     | vid                     | vid                     | vid                     |
|                  |            |                         |                                                                                                       |                 | ed:                     | ed:                     | ed:                     | ed:                     | ed:                     |
|                  |            |                         |                                                                                                       |                 | e                       | e                       | e                       | e                       | e                       |
|                  |            |                         |                                                                                                       |                 | tru                     | tru                     | tru                     | tru                     | tru                     |
| Parameter                      | Scope   | Read -Only (Sys- tem)   | Description                                                                                                                                                                                 | Default Value    | Example                                                                                                                                                                                     |
|--------------------------------|---------|-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| routes                         | Module  | Write                   | A parameter that lists multiple HTTP routes. For more informa- tion, see Routes [page 686].                                                                                                 | $ {default -uri} |  Sample Code modules: - name: my-app type: application parameters: routes: - route: "*foo.my.custom .domain/path" - route: foo.my.custom.d omain/path - route: foo.${default- domain}/path |
| route-path                     | Module  | Write                   | The context 'route-path' which is part of the application default URI. Context path routing is routing based not only on domain names (host header) but also the path specified in the URL. | n/a              | route-path: /myapp                                                                                                                                                                          |
| service- broker- name          | Module  | Write                   | The name of the service broker in the Cloud Foundry environment to be created and registered for the specified application module                                                           | ${app- name}     | service-broker-name: jobscheduler service-broker-name: ${app-name}                                                                                                                          |
| service- broker- password      | Module  | Write                   | The password used for authentica- tion by the XS controller at the service broker when performing service-related requests. The pa- rameter is mandatory if create- service-broker: true .  |                  | service-broker- password: $ {generated-password}                                                                                                                                            |
| service- broker- space- scoped | Module  | Write                   | Makes the service plans of the broker visible only within the tar- geted space.                                                                                                             | false            | service-broker- space-scoped: true                                                                                                                                                          |
|                       |        | Read -Only (Sys-   |                                                                                                                                                                                                                           | Default Value   |                                                                                     |
|-----------------------|--------|--------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|-------------------------------------------------------------------------------------|
| service- broker-url   | Module | Write              | Specifies the value of the service broker universal resource locator (URL) to register; service requests are sent to this URL. The pa- rameter is mandatory if create- service-broker: true .                             |                 | service-broker-url: ${default-url}                                                  |
| service- broker- user | Module | Write              | The name of the user required for authentication by the XS control- ler at the service broker when per- forming service-related requests. The parameter is mandatory if create-service-broker: true .                     |                 | service-broker-user: ${generated-user}                                              |
| skip- deploy          | Module | Write              | Use this parameter to skip the de- ployment of a specified module even if it is present in the descrip- tor. If you add this parameter for an already deployed module, this module will be deleted in the next operation. | false           |  Sample Code modules: - name: foo type: application parameters: skip- deploy: true |
| stack                 | Module | Write              | Use this parameter to define which prebuilt root file system ( rootfs ) you want to use.                                                                                                                                  | n/a             |  Sample Code modules: - name: foo type: application parameters: stack: cflinuxfs3  |
| stage- timeout        | Module | Write              | Defines how long, in seconds, your application can take during staging before the MTAoperation times out. See Application-Specific Timeouts                                                                               | 1h              | modules: - name: java …………….. parameters: stage- timeout: 100                       |
| Parameter                | Scope   | Read -Only (Sys- tem)   | Description                                                                                                                                                                       | Default Value                                | Example                                                                       |
|--------------------------|---------|-------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------|-------------------------------------------------------------------------------|
| start- timeout           | Module  | Write                   | Defines how long, in seconds, your application can take to start be- fore the MTAoperation times out. See Application-Specific Timeouts [page 671].                               | 1h                                           | modules: - name: java …………….. parameters: start- timeout: 100                 |
| task- execution- timeout | Module  | Write                   | Defines how long, in seconds, your application can take to execute a task before the MTAoperation times out. See Application-Specific Timeouts [page 671].                        | 12h                                          | modules: - name: java …………….. parameters: task-execution- timeout: 100        |
| tasks                    | Module  | Write                   | Specify tasks, which are available for execution in the current drop- let of the application. Also pro- vide use of environment variables which are specified with the env scope. | n/a                                          | tasks: - name: task-1 command: some- script.sh env: env1: value1 env2: value2 |
| upload- timeout          | Module  | Write                   | Defines how long, in seconds, you can upload your application binary before the MTAoperation times out. See Application-Specific Timeouts [page 671] .                            | 1h                                           | modules: - name: java .......... parameters: upload- timeout: 100             |
| timestamp                | Module  | Yes                     | Current timestamp in milliseconds                                                                                                                                                 | Generated as described in the de- scription. |                                                                               |
## Module-Specific Properties
The following properties are supported:
MTA Development and Deployment Module Properties
<!-- image -->
| Property                 | Description                                                                                                                                                                                         | Default Value   | Example                                                                                          |
|--------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|--------------------------------------------------------------------------------------------------|
| MTA_WAIT_AFTER_APP_ STOP | Adds configurable delay in seconds, after stopping the application.  Note Reserved environment variable for subsequent MTAoperations, which is used in blue-green de- ployment and undeploy- ment. | n/a             |  Sample Code modules: - name: my-app type: application properties: MTA_WAIT_AFTER _APP_STOP: 30 |
## Shared Module Binaries
By default every module has its own binary that is uploaded and deployed in specific manner. It is possible for multiple MTA modules to reference a single deployable binary, for example, an application archive. This means that during deployment, the same application archive is executed separately in multiple applications or application instances, but with different parameters and properties. This results in multiple running applications based on the same source code, which have different configurations and setup. A development project can have one source folder, which is referenced by multiple module entries in the MTA deployment descriptor mtad.yaml , as illustrated in the following example:
<!-- image -->
```
type: java.tomee path: web/router.war requires: - name: backend properties: backend: ~{url}/content name: backend url: ~{url} - name: hello-backend type: java.tomee path: web/router.war provides: - name: backend properties: url: "${default-url}"
```
If deployment is based on an MTA archive, it is not necessary to duplicate the code to have two different deployable modules; the specification for the MTA-module entry in MANIFEST.MF is extended, instead. The following (incomplete) example of a MANIFEST.MF shows how to use a comma-separated list of module names to associate one set of deployment artifacts with all listed modules:
##  Code Syntax Multiple MTA Modules Listed in the MANIFEST.MF Deployment Manifest Name: web/router.war MTA-Module: hello-router,hello-backend Content-Type: application/zip
## Related Information
Managing Service Brokers
```
Parameters and Properties [page 653] Metadata for Properties and Parameters [page 665]
```