diff --git a/docs/dist/documentation.md b/docs/dist/documentation.md
index 82eedc210..8869a8e2e 100644
--- a/docs/dist/documentation.md
+++ b/docs/dist/documentation.md
@@ -186,11 +186,32 @@ Provides default functionality that can be overwritten by child metadata type cl
@@ -425,7 +446,7 @@ Deploys all metadata located in the 'deploy' directory to the specified business
### Deployer.\_deployBU(cred, bu, properties, [typeArr], [keyArr], [fromRetrieve]) ⇒ Promise.<TYPE.MultiMetadataTypeMap>
-helper for [deploy](deploy)
+helper for [deploy](#Deployer.deploy)
**Kind**: static method of [Deployer](#Deployer)
**Returns**: Promise.<TYPE.MultiMetadataTypeMap> - ensure that BUs are worked on sequentially
@@ -496,8 +517,7 @@ main class
* [.buildDefinitionBulk(listName, type, name)](#Mcdev.buildDefinitionBulk) ⇒ Promise.<void>
* [.getFilesToCommit(businessUnit, selectedType, keyArr)](#Mcdev.getFilesToCommit) ⇒ Promise.<Array.<string>>
* [.execute(businessUnit, [selectedType], [keys])](#Mcdev.execute) ⇒ Promise.<boolean>
- * [._executeBU(cred, bu, [type], keyArr)](#Mcdev._executeBU) ⇒ Promise.<boolean>
- * [._retrieveKeysWithLike(selectedType, buObject)](#Mcdev._retrieveKeysWithLike) ⇒ Array.<string>
+ * [.pause(businessUnit, [selectedType], [keys])](#Mcdev.pause) ⇒ Promise.<boolean>
@@ -753,7 +773,7 @@ Build a specific metadata file based on a template using a list of bu-market com
### Mcdev.execute(businessUnit, [selectedType], [keys]) ⇒ Promise.<boolean>
-Start an item (query)
+Start/execute an item
**Kind**: static method of [Mcdev](#Mcdev)
**Returns**: Promise.<boolean> - true if all started successfully, false if not
@@ -764,33 +784,19 @@ Start an item (query)
| [selectedType] | TYPE.SupportedMetadataTypes | limit to given metadata types |
| [keys] | Array.<string> | customerkey of the metadata |
-
+
-### Mcdev.\_executeBU(cred, bu, [type], keyArr) ⇒ Promise.<boolean>
-helper for [execute](#Mcdev.execute)
+### Mcdev.pause(businessUnit, [selectedType], [keys]) ⇒ Promise.<boolean>
+pause an item
**Kind**: static method of [Mcdev](#Mcdev)
-**Returns**: Promise.<boolean> - true if all items were executed, false otherwise
-
-| Param | Type | Description |
-| --- | --- | --- |
-| cred | string | name of Credential |
-| bu | string | name of BU |
-| [type] | TYPE.SupportedMetadataTypes | limit execution to given metadata type |
-| keyArr | Array.<string> | customerkey of the metadata |
-
-
-
-### Mcdev.\_retrieveKeysWithLike(selectedType, buObject) ⇒ Array.<string>
-helper for [_executeBU](#Mcdev._executeBU)
-
-**Kind**: static method of [Mcdev](#Mcdev)
-**Returns**: Array.<string> - keyArr
+**Returns**: Promise.<boolean> - true if all started successfully, false if not
| Param | Type | Description |
| --- | --- | --- |
-| selectedType | TYPE.SupportedMetadataTypes | limit execution to given metadata type |
-| buObject | TYPE.BuObject | properties for auth |
+| businessUnit | string | name of BU |
+| [selectedType] | TYPE.SupportedMetadataTypes | limit to given metadata types |
+| [keys] | Array.<string> | customerkey of the metadata |
@@ -944,7 +950,7 @@ This method retrieves these and saves them alongside the metadata json
### Asset.\_readExtendedFileFromFS(metadata, subType, deployDir, [pathOnly]) ⇒ Promise.<string>
-helper for [preDeployTasks](preDeployTasks)
+helper for [preDeployTasks](#Asset.preDeployTasks)
Some metadata types store their actual content as a separate file, e.g. images
This method reads these from the local FS stores them in the metadata object allowing to deploy it
@@ -1090,7 +1096,7 @@ Asset-specific script that retrieves the folder ID from cache and updates the gi
### Asset.\_mergeCode(metadata, deployDir, subType, [templateName], [fileListOnly]) ⇒ Promise.<Array.<TYPE.CodeExtract>>
-helper for [preDeployTasks](preDeployTasks) that loads extracted code content back into JSON
+helper for [preDeployTasks](#Asset.preDeployTasks) that loads extracted code content back into JSON
**Kind**: static method of [Asset](#Asset)
**Returns**: Promise.<Array.<TYPE.CodeExtract>> - fileList for templating (disregarded during deployment)
@@ -1106,7 +1112,7 @@ helper for [preDeployTasks](preDeployTasks) that loads extracted code content ba
### Asset.\_mergeCode\_slots(prefix, metadataSlots, readDirArr, subtypeExtension, subDirArr, fileList, customerKey, [templateName], [fileListOnly]) ⇒ Promise.<void>
-helper for [preDeployTasks](preDeployTasks) that loads extracted code content back into JSON
+helper for [preDeployTasks](#Asset.preDeployTasks) that loads extracted code content back into JSON
**Kind**: static method of [Asset](#Asset)
**Returns**: Promise.<void> - -
@@ -1126,7 +1132,7 @@ helper for [preDeployTasks](preDeployTasks) that loads extracted code content ba
### Asset.\_extractCode(metadata) ⇒ TYPE.CodeExtractItem
-helper for [postRetrieveTasks](postRetrieveTasks) that finds code content in JSON and extracts it
+helper for [postRetrieveTasks](#Asset.postRetrieveTasks) that finds code content in JSON and extracts it
to allow saving that separately and formatted
**Kind**: static method of [Asset](#Asset)
@@ -1250,6 +1256,8 @@ Automation MetadataType
* [.retrieveForCache()](#Automation.retrieveForCache) ⇒ Promise.<TYPE.AutomationMapObj>
* [.retrieveAsTemplate(templateDir, name, templateVariables)](#Automation.retrieveAsTemplate) ⇒ Promise.<TYPE.AutomationItemObj>
* [.postRetrieveTasks(metadata)](#Automation.postRetrieveTasks) ⇒ TYPE.AutomationItem \| void
+ * [.execute(keyArr)](#Automation.execute) ⇒ Promise.<boolean>
+ * [.pause(keyArr)](#Automation.pause) ⇒ Promise.<boolean>
* [.deploy(metadata, targetBU, retrieveDir)](#Automation.deploy) ⇒ Promise.<TYPE.AutomationMap>
* [.create(metadata)](#Automation.create) ⇒ Promise
* [.update(metadata, metadataBefore)](#Automation.update) ⇒ Promise
@@ -1320,6 +1328,30 @@ manages post retrieve steps
| --- | --- | --- |
| metadata | TYPE.AutomationItem | a single automation |
+
+
+### Automation.execute(keyArr) ⇒ Promise.<boolean>
+a function to start query execution via API
+
+**Kind**: static method of [Automation](#Automation)
+**Returns**: Promise.<boolean> - Returns true if all items were executed successfully, otherwise false
+
+| Param | Type | Description |
+| --- | --- | --- |
+| keyArr | Array.<string> | customerkey of the metadata |
+
+
+
+### Automation.pause(keyArr) ⇒ Promise.<boolean>
+a function to start query execution via API
+
+**Kind**: static method of [Automation](#Automation)
+**Returns**: Promise.<boolean> - Returns true if all items were executed successfully, otherwise false
+
+| Param | Type | Description |
+| --- | --- | --- |
+| keyArr | Array.<string> | customerkey of the metadata |
+
### Automation.deploy(metadata, targetBU, retrieveDir) ⇒ Promise.<TYPE.AutomationMap>
@@ -3025,7 +3057,7 @@ Helper for writing Metadata to disk, used for Retrieve and deploy
### Journey.\_postRetrieveTasksBulk(metadataMap)
-helper for Journey's [saveResults](saveResults). Gets executed after retreive of metadata type and
+helper for Journey's [saveResults](#Journey.saveResults). Gets executed after retreive of metadata type and
**Kind**: static method of [Journey](#Journey)
@@ -3183,6 +3215,7 @@ Provides default functionality that can be overwritten by child metadata type cl
* [.update(metadata, [metadataBefore])](#MetadataType.update) ⇒ void
* [.refresh()](#MetadataType.refresh) ⇒ void
* [.execute()](#MetadataType.execute) ⇒ void
+ * [.pause()](#MetadataType.pause) ⇒ void
* [.hasChanged(cachedVersion, metadata, [fieldName])](#MetadataType.hasChanged) ⇒ boolean
* [.hasChangedGeneric(cachedVersion, metadata, [fieldName], [silent])](#MetadataType.hasChangedGeneric) ⇒ boolean
* [.upsert(metadataMap, deployDir)](#MetadataType.upsert) ⇒ Promise.<TYPE.MetadataTypeMap>
@@ -3294,7 +3327,7 @@ Gets executed after deployment of metadata type
### MetadataType.postCreateTasks(metadataEntry, apiResponse) ⇒ void
-helper for [createREST](createREST)
+helper for [createREST](#MetadataType.createREST)
**Kind**: static method of [MetadataType](#MetadataType)
@@ -3306,7 +3339,7 @@ helper for [createREST](createREST)
### MetadataType.postUpdateTasks(metadataEntry, apiResponse) ⇒ void
-helper for [updateREST](updateREST)
+helper for [updateREST](#MetadataType.updateREST)
**Kind**: static method of [MetadataType](#MetadataType)
@@ -3318,7 +3351,7 @@ helper for [updateREST](updateREST)
### MetadataType.postDeployTasks\_legacyApi(metadataEntry, apiResponse) ⇒ Promise.<void>
-helper for [createREST](createREST) when legacy API endpoints as these do not return the created item but only their new id
+helper for [createREST](#MetadataType.createREST) when legacy API endpoints as these do not return the created item but only their new id
**Kind**: static method of [MetadataType](#MetadataType)
**Returns**: Promise.<void> - -
@@ -3499,6 +3532,12 @@ Abstract refresh method that needs to be implemented in child metadata type
### MetadataType.execute() ⇒ void
Abstract execute method that needs to be implemented in child metadata type
+**Kind**: static method of [MetadataType](#MetadataType)
+
+
+### MetadataType.pause() ⇒ void
+Abstract pause method that needs to be implemented in child metadata type
+
**Kind**: static method of [MetadataType](#MetadataType)
@@ -3626,7 +3665,7 @@ Updates a single metadata entry via fuel-soap (generic lib not wrapper)
### MetadataType.getSOAPErrorMsg(ex) ⇒ string
-helper for [_handleSOAPErrors](_handleSOAPErrors)
+helper for [_handleSOAPErrors](#MetadataType._handleSOAPErrors)
**Kind**: static method of [MetadataType](#MetadataType)
**Returns**: string - error message
@@ -3681,7 +3720,7 @@ Used to execute a query/automation etc.
### MetadataType.runDocumentOnRetrieve([singleRetrieve], metadataMap) ⇒ Promise.<void>
-helper for [retrieveREST](retrieveREST) and [retrieveSOAP](retrieveSOAP)
+helper for [retrieveREST](#MetadataType.retrieveREST) and [retrieveSOAP](#MetadataType.retrieveSOAP)
**Kind**: static method of [MetadataType](#MetadataType)
**Returns**: Promise.<void> - -
@@ -3811,7 +3850,7 @@ Helper for writing Metadata to disk, used for Retrieve and deploy
### MetadataType.applyTemplateValues(code, templateVariables) ⇒ string
-helper for [buildDefinitionForNested](buildDefinitionForNested)
+helper for [buildDefinitionForNested](#MetadataType.buildDefinitionForNested)
searches extracted file for template variable names and applies the market values
**Kind**: static method of [MetadataType](#MetadataType)
@@ -3825,7 +3864,7 @@ searches extracted file for template variable names and applies the market value
### MetadataType.applyTemplateNames(code, templateVariables) ⇒ string
-helper for [buildTemplateForNested](buildTemplateForNested)
+helper for [buildTemplateForNested](#MetadataType.buildTemplateForNested)
searches extracted file for template variable values and applies the market variable names
**Kind**: static method of [MetadataType](#MetadataType)
@@ -3839,7 +3878,7 @@ searches extracted file for template variable values and applies the market vari
### MetadataType.buildDefinitionForNested(templateDir, targetDir, metadata, variables, templateName) ⇒ Promise.<Array.<Array.<string>>>
-helper for [buildDefinition](buildDefinition)
+helper for [buildDefinition](#MetadataType.buildDefinition)
handles extracted code if any are found for complex types (e.g script, asset, query)
**Kind**: static method of [MetadataType](#MetadataType)
@@ -3856,7 +3895,7 @@ handles extracted code if any are found for complex types (e.g script, asset, qu
### MetadataType.buildTemplateForNested(templateDir, targetDir, metadata, templateVariables, templateName) ⇒ Promise.<Array.<Array.<string>>>
-helper for [buildTemplate](buildTemplate)
+helper for [buildTemplate](#MetadataType.buildTemplate)
handles extracted code if any are found for complex types
**Kind**: static method of [MetadataType](#MetadataType)
@@ -4196,7 +4235,7 @@ manages post retrieve steps
### MobileKeyword.prepExtractedCode(metadataScript) ⇒ Object
-helper for [parseMetadata](parseMetadata) and [_buildForNested](_buildForNested)
+helper for [postRetrieveTasks](#MobileKeyword.postRetrieveTasks) and [_buildForNested](#MobileKeyword._buildForNested)
**Kind**: static method of [MobileKeyword](#MobileKeyword)
**Returns**: Object - returns found extension and file content
@@ -4246,7 +4285,7 @@ scripts are saved as 1 json and 1 ssjs file. both files need to be run through t
### MobileKeyword.\_buildForNested(templateDir, targetDir, metadata, templateVariables, templateName, mode) ⇒ Promise.<Array.<Array.<string>>>
-helper for [buildTemplateForNested](buildTemplateForNested) / [buildDefinitionForNested](buildDefinitionForNested)
+helper for [buildTemplateForNested](#MobileKeyword.buildTemplateForNested) / [buildDefinitionForNested](#MobileKeyword.buildDefinitionForNested)
handles extracted code if any are found for complex types
**Kind**: static method of [MobileKeyword](#MobileKeyword)
@@ -4277,7 +4316,7 @@ prepares an event definition for deployment
### MobileKeyword.postCreateTasks(metadataEntry, apiResponse) ⇒ void
-helper for [createREST](createREST)
+helper for [createREST](#MetadataType.createREST)
**Kind**: static method of [MobileKeyword](#MobileKeyword)
@@ -4289,7 +4328,7 @@ helper for [createREST](createREST)
### MobileKeyword.postUpdateTasks(metadataEntry, apiResponse) ⇒ void
-helper for [updateREST](updateREST)
+helper for [updateREST](#MetadataType.updateREST)
**Kind**: static method of [MobileKeyword](#MobileKeyword)
@@ -4301,7 +4340,7 @@ helper for [updateREST](updateREST)
### MobileKeyword.\_mergeCode(metadata, deployDir, [templateName]) ⇒ Promise.<string>
-helper for [preDeployTasks](preDeployTasks) that loads extracted code content back into JSON
+helper for [preDeployTasks](#MobileKeyword.preDeployTasks) that loads extracted code content back into JSON
**Kind**: static method of [MobileKeyword](#MobileKeyword)
**Returns**: Promise.<string> - content for metadata.script
@@ -4429,7 +4468,7 @@ Creates a single item
### MobileMessage.\_mergeCode(metadata, deployDir, [templateName]) ⇒ Promise.<string>
-helper for [preDeployTasks](preDeployTasks) that loads extracted code content back into JSON
+helper for [preDeployTasks](#MobileMessage.preDeployTasks) that loads extracted code content back into JSON
**Kind**: static method of [MobileMessage](#MobileMessage)
**Returns**: Promise.<string> - code
@@ -4443,7 +4482,7 @@ helper for [preDeployTasks](preDeployTasks) that loads extracted code content ba
### MobileMessage.prepExtractedCode(code) ⇒ Object
-helper for [parseMetadata](parseMetadata) and [_buildForNested](_buildForNested)
+helper for [postRetrieveTasks](#MobileMessage.postRetrieveTasks) and [_buildForNested](#MobileMessage._buildForNested)
**Kind**: static method of [MobileMessage](#MobileMessage)
**Returns**: Object - returns found extension and file content
@@ -4493,7 +4532,7 @@ prepares an event definition for deployment
### MobileMessage.postCreateTasks(metadataEntry, apiResponse) ⇒ void
-helper for [createREST](createREST)
+helper for [createREST](#MetadataType.createREST)
**Kind**: static method of [MobileMessage](#MobileMessage)
@@ -4505,7 +4544,7 @@ helper for [createREST](createREST)
### MobileMessage.postUpdateTasks(metadataEntry, apiResponse) ⇒ void
-helper for [updateREST](updateREST)
+helper for [updateREST](#MetadataType.updateREST)
**Kind**: static method of [MobileMessage](#MobileMessage)
@@ -4555,7 +4594,7 @@ scripts are saved as 1 json and 1 ssjs file. both files need to be run through t
### MobileMessage.\_buildForNested(templateDir, targetDir, metadata, templateVariables, templateName, mode) ⇒ Promise.<Array.<Array.<string>>>
-helper for [buildTemplateForNested](buildTemplateForNested) / [buildDefinitionForNested](buildDefinitionForNested)
+helper for [buildTemplateForNested](#MobileMessage.buildTemplateForNested) / [buildDefinitionForNested](#MobileMessage.buildDefinitionForNested)
handles extracted code if any are found for complex types
**Kind**: static method of [MobileMessage](#MobileMessage)
@@ -4709,7 +4748,7 @@ prepares a Query for deployment
### Query.applyTemplateValues(code, templateVariables) ⇒ string
-helper for [buildDefinitionForNested](buildDefinitionForNested)
+helper for [buildDefinitionForNested](#Query.buildDefinitionForNested)
searches extracted SQL file for template variables and applies the market values
**Kind**: static method of [Query](#Query)
@@ -5010,7 +5049,7 @@ Creates a single Script
### Script.\_mergeCode(metadata, deployDir, [templateName]) ⇒ Promise.<string>
-helper for [preDeployTasks](preDeployTasks) that loads extracted code content back into JSON
+helper for [preDeployTasks](#Script.preDeployTasks) that loads extracted code content back into JSON
**Kind**: static method of [Script](#Script)
**Returns**: Promise.<string> - content for metadata.script
@@ -5075,7 +5114,7 @@ scripts are saved as 1 json and 1 ssjs file. both files need to be run through t
### Script.\_buildForNested(templateDir, targetDir, metadata, templateVariables, templateName, mode) ⇒ Promise.<Array.<Array.<string>>>
-helper for [buildTemplateForNested](buildTemplateForNested) / [buildDefinitionForNested](buildDefinitionForNested)
+helper for [buildTemplateForNested](#Script.buildTemplateForNested) / [buildDefinitionForNested](#Script.buildDefinitionForNested)
handles extracted code if any are found for complex types
**Kind**: static method of [Script](#Script)
@@ -5105,7 +5144,7 @@ Splits the script metadata into two parts and parses in a standard manner
### Script.prepExtractedCode(metadataScript, metadataName) ⇒ Object
-helper for [parseMetadata](parseMetadata) and [_buildForNested](_buildForNested)
+helper for [parseMetadata](#Script.parseMetadata) and [_buildForNested](#Script._buildForNested)
**Kind**: static method of [Script](#Script)
**Returns**: Object - returns found extension and file content
@@ -5389,7 +5428,7 @@ prepares for deployment
### TransactionalSMS.\_mergeCode(metadata, deployDir, [templateName]) ⇒ Promise.<string>
-helper for [preDeployTasks](preDeployTasks) that loads extracted code content back into JSON
+helper for [preDeployTasks](#TransactionalSMS.preDeployTasks) that loads extracted code content back into JSON
**Kind**: static method of [TransactionalSMS](#TransactionalSMS)
**Returns**: Promise.<string> - content for metadata.script
@@ -5415,7 +5454,7 @@ manages post retrieve steps
### TransactionalSMS.prepExtractedCode(metadataScript) ⇒ Object
-helper for [parseMetadata](parseMetadata) and [_buildForNested](_buildForNested)
+helper for [postRetrieveTasks](#TransactionalSMS.postRetrieveTasks) and [_buildForNested](#TransactionalSMS._buildForNested)
**Kind**: static method of [TransactionalSMS](#TransactionalSMS)
**Returns**: Object - returns found extension and file content
@@ -5427,7 +5466,7 @@ helper for [parseMetadata](parseMetadata) and [_buildForNested](_buildForNested)
### TransactionalSMS.buildDefinitionForNested(templateDir, targetDir, metadata, templateVariables, templateName) ⇒ Promise.<Array.<Array.<string>>>
-helper for [buildDefinition](#MetadataType.buildDefinition)
+helper for [TransactionalMessage.buildDefinition](TransactionalMessage.buildDefinition)
handles extracted code if any are found for complex types
**Kind**: static method of [TransactionalSMS](#TransactionalSMS)
@@ -5444,7 +5483,7 @@ handles extracted code if any are found for complex types
### TransactionalSMS.buildTemplateForNested(templateDir, targetDir, metadata, templateVariables, templateName) ⇒ Promise.<Array.<Array.<string>>>
-helper for [buildTemplate](#MetadataType.buildTemplate)
+helper for [TransactionalMessage.buildTemplate](TransactionalMessage.buildTemplate)
handles extracted code if any are found for complex types
**Kind**: static method of [TransactionalSMS](#TransactionalSMS)
@@ -5465,7 +5504,7 @@ scripts are saved as 1 json and 1 ssjs file. both files need to be run through t
### TransactionalSMS.\_buildForNested(templateDir, targetDir, metadata, templateVariables, templateName, mode) ⇒ Promise.<Array.<Array.<string>>>
-helper for [buildTemplateForNested](buildTemplateForNested) / [buildDefinitionForNested](buildDefinitionForNested)
+helper for [buildTemplateForNested](#TransactionalSMS.buildTemplateForNested) / [buildDefinitionForNested](#TransactionalSMS.buildDefinitionForNested)
handles extracted code if any are found for complex types
**Kind**: static method of [TransactionalSMS](#TransactionalSMS)
@@ -5616,7 +5655,7 @@ TSD-specific refresh method that finds active TSDs and refreshes them
### TriggeredSend.getKeysForValidTSDs(metadata) ⇒ Promise.<Array.<string>>
-helper for [refresh](refresh) that extracts the keys from the TSD item map and eli
+helper for [refresh](#TriggeredSend.refresh) that extracts the keys from the TSD item map and eli
**Kind**: static method of [TriggeredSend](#TriggeredSend)
**Returns**: Promise.<Array.<string>> - keyArr
@@ -5628,7 +5667,7 @@ helper for [refresh](refresh) that extracts the keys from the TSD item map and e
### TriggeredSend.findRefreshableItems([assetLoaded]) ⇒ Promise.<TYPE.MetadataTypeMapObj>
-helper for [refresh](refresh) that finds active TSDs on the server and filters it by the same rules that [retrieve](retrieve) is using to avoid refreshing TSDs with broken dependencies
+helper for [refresh](#TriggeredSend.refresh) that finds active TSDs on the server and filters it by the same rules that [retrieve](#TriggeredSend.retrieve) is using to avoid refreshing TSDs with broken dependencies
**Kind**: static method of [TriggeredSend](#TriggeredSend)
**Returns**: Promise.<TYPE.MetadataTypeMapObj> - Promise of TSD item map
@@ -5640,7 +5679,7 @@ helper for [refresh](refresh) that finds active TSDs on the server and filters i
### TriggeredSend.\_refreshItem(key, checkKey) ⇒ Promise.<boolean>
-helper for [refresh](refresh) that pauses, publishes and starts a triggered send
+helper for [refresh](#TriggeredSend.refresh) that pauses, publishes and starts a triggered send
**Kind**: static method of [TriggeredSend](#TriggeredSend)
**Returns**: Promise.<boolean> - true if refresh was successful
@@ -5860,7 +5899,7 @@ Retrieve metadata of specified types into local file system and Retriever.metada
### retriever.\_getTypeDependencies(metadataTypes) ⇒ Array.<TYPE.SupportedMetadataTypes>
-helper for [retrieve](retrieve) to get all dependencies of the given types
+helper for [Retriever.retrieve](Retriever.retrieve) to get all dependencies of the given types
**Kind**: instance method of [Retriever](#Retriever)
**Returns**: Array.<TYPE.SupportedMetadataTypes> - unique list dependent metadata types
@@ -8220,6 +8259,98 @@ helper to convert CSVs into an array. if only one value was given, it's also ret
| --- | --- | --- |
| csv | string | potentially comma-separated value or null |
+
+
+## Mcdev.(methodName, businessUnit, [selectedType], [keys]) ⇒ Promise.<boolean>
+run a method across BUs
+
+**Kind**: global function
+**Returns**: Promise.<boolean> - true if all started successfully, false if not
+
+| Param | Type | Description |
+| --- | --- | --- |
+| methodName | 'execute' \| 'pause' | what to run |
+| businessUnit | string | name of BU |
+| [selectedType] | TYPE.SupportedMetadataTypes | limit to given metadata types |
+| [keys] | Array.<string> | customerkey of the metadata |
+
+
+
+## Mcdev.(methodName, cred, bu, [type], keyArr) ⇒ Promise.<boolean>
+helper for [Mcdev.#runMethod](Mcdev.#runMethod)
+
+**Kind**: global function
+**Returns**: Promise.<boolean> - true if all items were executed, false otherwise
+
+| Param | Type | Description |
+| --- | --- | --- |
+| methodName | 'execute' \| 'pause' | what to run |
+| cred | string | name of Credential |
+| bu | string | name of BU |
+| [type] | TYPE.SupportedMetadataTypes | limit execution to given metadata type |
+| keyArr | Array.<string> | customerkey of the metadata |
+
+
+
+## Mcdev.(selectedType, buObject) ⇒ Array.<string>
+helper for [Mcdev.#runOnBU](Mcdev.#runOnBU)
+
+**Kind**: global function
+**Returns**: Array.<string> - keyArr
+
+| Param | Type | Description |
+| --- | --- | --- |
+| selectedType | TYPE.SupportedMetadataTypes | limit execution to given metadata type |
+| buObject | TYPE.BuObject | properties for auth |
+
+
+
+## Automation.(metadata) ⇒ boolean
+helper for [postRetrieveTasks](#Automation.postRetrieveTasks) and [execute](#Automation.execute)
+
+**Kind**: global function
+**Returns**: boolean - true if the automation schedule is valid
+
+| Param | Type | Description |
+| --- | --- | --- |
+| metadata | TYPE.AutomationItem | a single automation |
+
+
+
+## Automation.(metadataMap, key) ⇒ Promise.<object>
+helper for [execute](#Automation.execute)
+
+**Kind**: global function
+**Returns**: Promise.<object> - Returns the result of the API call
+
+| Param | Type | Description |
+| --- | --- | --- |
+| metadataMap | TYPE.AutomationMap | map of metadata |
+| key | string | key of the metadata |
+
+
+
+## Automation.(metadata) ⇒ Promise.<object>
+helper for [pause](#Automation.pause)
+
+**Kind**: global function
+**Returns**: Promise.<object> - schedule reponse
+
+| Param | Type | Description |
+| --- | --- | --- |
+| metadata | TYPE.AutomationItem | automation metadata |
+
+
+
+## Automation.(metadata)
+helper for [preDeployTasks](#Automation.preDeployTasks) and [execute](#Automation.execute)
+
+**Kind**: global function
+
+| Param | Type | Description |
+| --- | --- | --- |
+| metadata | TYPE.AutomationItem | metadata mapped by their keyField |
+
## Automation.(metadataMap, key) ⇒ Promise.<void>
@@ -8235,10 +8366,11 @@ helper for [postDeployTasks](#Automation.postDeployTasks)
-## Automation.(metadataMap, originalMetadataMap, key)
-helper for [postDeployTasks](postDeployTasks)
+## Automation.(metadataMap, originalMetadataMap, key) ⇒ Promise.<object>
+helper for [postDeployTasks](#Automation.postDeployTasks)
**Kind**: global function
+**Returns**: Promise.<object> - -
| Param | Type | Description |
| --- | --- | --- |
diff --git a/lib/Deployer.js b/lib/Deployer.js
index 28fd496e8..8df75ff6d 100644
--- a/lib/Deployer.js
+++ b/lib/Deployer.js
@@ -180,7 +180,7 @@ class Deployer {
return buMultiMetadataTypeMap;
}
/**
- * helper for {@link deploy}
+ * helper for {@link Deployer.deploy}
*
* @param {string} cred name of Credential
* @param {string} bu name of BU
diff --git a/lib/Retriever.js b/lib/Retriever.js
index 86ecf781e..f32acd2e3 100644
--- a/lib/Retriever.js
+++ b/lib/Retriever.js
@@ -189,7 +189,7 @@ class Retriever {
}
/**
- * helper for {@link retrieve} to get all dependencies of the given types
+ * helper for {@link Retriever.retrieve} to get all dependencies of the given types
*
* @param {TYPE.SupportedMetadataTypes[]} metadataTypes list of metadata types to retrieve; can include subtypes!
* @returns {TYPE.SupportedMetadataTypes[]} unique list dependent metadata types
diff --git a/lib/cli.js b/lib/cli.js
index 7a7e5ea89..36476badb 100644
--- a/lib/cli.js
+++ b/lib/cli.js
@@ -438,6 +438,37 @@ yargs
Mcdev.execute(argv.BU, argv.TYPE, csvToArray(argv.KEY));
},
})
+ .command({
+ command: 'pause [KEY]',
+ aliases: ['p', 'stop'],
+ desc: 'pauses the entity (automation etc.)',
+ builder: (yargs) => {
+ yargs
+ .positional('BU', {
+ type: 'string',
+ describe: 'the business unit where to start an item',
+ })
+ .positional('TYPE', {
+ type: 'string',
+ describe: 'metadata type',
+ })
+ .positional('KEY', {
+ type: 'string',
+ describe: 'key(s) of the metadata component(s)',
+ })
+ .option('like', {
+ type: 'string',
+ group: 'Options for pause:',
+ describe:
+ 'filter metadata components (can include % as wildcard or _ for a single character)',
+ });
+ },
+ handler: (argv) => {
+ Mcdev.setOptions(argv);
+ // ! do not allow multiple types to be passed in here via csvToArray
+ Mcdev.pause(argv.BU, argv.TYPE, csvToArray(argv.KEY));
+ },
+ })
.command({
command: 'upgrade',
aliases: ['up'],
diff --git a/lib/index.js b/lib/index.js
index 5928a854e..775364b0a 100644
--- a/lib/index.js
+++ b/lib/index.js
@@ -175,20 +175,20 @@ class Mcdev {
}
if (businessUnit === '*') {
- Util.logger.info('\n :: Retrieving all BUs for all credentials');
+ Util.logger.info(':: Retrieving all BUs for all credentials');
let counter_credTotal = 0;
for (const cred in properties.credentials) {
- Util.logger.info(`\n :: Retrieving all BUs for ${cred}`);
+ Util.logger.info(`:: Retrieving all BUs for ${cred}`);
let counter_credBu = 0;
for (const bu in properties.credentials[cred].businessUnits) {
- await this._retrieveBU(cred, bu, selectedTypesArr, keys);
+ await this.#retrieveBU(cred, bu, selectedTypesArr, keys);
counter_credBu++;
Util.startLogger(true);
}
counter_credTotal += counter_credBu;
- Util.logger.info(`\n :: ${counter_credBu} BUs for ${cred}\n`);
+ Util.logger.info(`:: ${counter_credBu} BUs for ${cred}\n`);
}
- Util.logger.info(`\n :: ${counter_credTotal} BUs in total\n`);
+ Util.logger.info(`:: ${counter_credTotal} BUs in total\n`);
} else {
let [cred, bu] = businessUnit ? businessUnit.split('/') : [null, null];
// to allow all-BU via user selection we need to run this here already
@@ -212,17 +212,17 @@ class Mcdev {
}
if (bu === '*' && properties.credentials && properties.credentials[cred]) {
- Util.logger.info(`\n :: Retrieving all BUs for ${cred}`);
+ Util.logger.info(`:: Retrieving all BUs for ${cred}`);
let counter_credBu = 0;
for (const bu in properties.credentials[cred].businessUnits) {
- await this._retrieveBU(cred, bu, selectedTypesArr, keys);
+ await this.#retrieveBU(cred, bu, selectedTypesArr, keys);
counter_credBu++;
Util.startLogger(true);
}
- Util.logger.info(`\n :: ${counter_credBu} BUs for ${cred}\n`);
+ Util.logger.info(`:: ${counter_credBu} BUs for ${cred}\n`);
} else {
// retrieve a single BU; return
- const retrieveChangelog = await this._retrieveBU(
+ const retrieveChangelog = await this.#retrieveBU(
cred,
bu,
selectedTypesArr,
@@ -247,7 +247,7 @@ class Mcdev {
* @param {boolean} [changelogOnly] skip saving, only create json in memory
* @returns {Promise.