@itentialopensource/adapter-nautobot_v2 1.0.7 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CALLS.md +12 -0
- package/CHANGELOG.md +8 -0
- package/adapter.js +230 -0
- package/entities/Extras/action.json +40 -0
- package/entities/Extras/schema.json +2 -0
- package/package.json +1 -1
- package/pronghorn.json +128 -0
- package/report/adapterInfo.json +8 -8
- package/report/auto-adapter-openapi.json +2 -2
- package/test/integration/adapterTestIntegration.js +50 -0
- package/test/unit/adapterTestUnit.js +92 -0
package/CALLS.md
CHANGED
|
@@ -3911,6 +3911,12 @@ Specific adapter calls are built based on the API of the Nautobot_v2. The Adapte
|
|
|
3911
3911
|
<td style="padding:15px">{base_path}/{version}/extras/jobs/{pathv1}/run/?{query}</td>
|
|
3912
3912
|
<td style="padding:15px">Yes</td>
|
|
3913
3913
|
</tr>
|
|
3914
|
+
<tr>
|
|
3915
|
+
<td style="padding:15px">postExtrasJobsNameRunJson(format = 'csv', name, body, iapMetadata, callback)</td>
|
|
3916
|
+
<td style="padding:15px">extras_jobs_run_create_by_name</td>
|
|
3917
|
+
<td style="padding:15px">{base_path}/{version}/extras/jobs/{pathv1}/run/?{query}</td>
|
|
3918
|
+
<td style="padding:15px">Yes</td>
|
|
3919
|
+
</tr>
|
|
3914
3920
|
<tr>
|
|
3915
3921
|
<td style="padding:15px">getExtrasJobsNameVariables(name, query, iapMetadata, callback)</td>
|
|
3916
3922
|
<td style="padding:15px">extras_jobs_variables_list_by_name</td>
|
|
@@ -3959,6 +3965,12 @@ Specific adapter calls are built based on the API of the Nautobot_v2. The Adapte
|
|
|
3959
3965
|
<td style="padding:15px">{base_path}/{version}/extras/jobs/{pathv1}/run/?{query}</td>
|
|
3960
3966
|
<td style="padding:15px">Yes</td>
|
|
3961
3967
|
</tr>
|
|
3968
|
+
<tr>
|
|
3969
|
+
<td style="padding:15px">postExtrasJobsIdRunJson(format = 'csv', id, body, iapMetadata, callback)</td>
|
|
3970
|
+
<td style="padding:15px">extras_jobs_run_create</td>
|
|
3971
|
+
<td style="padding:15px">{base_path}/{version}/extras/jobs/{pathv1}/run/?{query}</td>
|
|
3972
|
+
<td style="padding:15px">Yes</td>
|
|
3973
|
+
</tr>
|
|
3962
3974
|
<tr>
|
|
3963
3975
|
<td style="padding:15px">getExtrasJobsIdVariables(id, query, iapMetadata, callback)</td>
|
|
3964
3976
|
<td style="padding:15px">extras_jobs_variables_list</td>
|
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
|
|
2
|
+
## 1.1.0 [07-22-2026]
|
|
3
|
+
|
|
4
|
+
* Add calls for new datatype on 2 run calls that were using urlencode and now use json
|
|
5
|
+
|
|
6
|
+
See merge request itentialopensource/adapters/adapter-nautobot_v2!45
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
2
10
|
## 1.0.7 [07-22-2026]
|
|
3
11
|
|
|
4
12
|
* Changes made at 2026.07.22_08:43AM
|
package/adapter.js
CHANGED
|
@@ -66618,6 +66618,121 @@ class NautobotV2 extends AdapterBaseCl {
|
|
|
66618
66618
|
}
|
|
66619
66619
|
}
|
|
66620
66620
|
|
|
66621
|
+
/**
|
|
66622
|
+
* @function postExtrasJobsNameRunJson
|
|
66623
|
+
* @pronghornType method
|
|
66624
|
+
* @name postExtrasJobsNameRunJson
|
|
66625
|
+
* @summary extras_jobs_run_create_by_name
|
|
66626
|
+
*
|
|
66627
|
+
* @param {string} [format] - format param
|
|
66628
|
+
* @param {string} name - name param
|
|
66629
|
+
* @param {string} [scheduleName] - scheduleName param
|
|
66630
|
+
* @param {string} [scheduleStartTime] - scheduleStartTime param
|
|
66631
|
+
* @param {string} [scheduleInterval] - scheduleInterval param
|
|
66632
|
+
* @param {string} [scheduleCrontab] - scheduleCrontab param
|
|
66633
|
+
* @param {string} [taskQueue] - taskQueue param
|
|
66634
|
+
* @param {object} iapMetadata - IAP Metadata object contains additional info needed for the request: payload, uriPathVars, uriQuery, uriOptions, addlHeaders, authData, callProperties, etc.
|
|
66635
|
+
* @param {getCallback} callback - a callback function to return the result
|
|
66636
|
+
* @return {object} results - An object containing the response of the action
|
|
66637
|
+
*
|
|
66638
|
+
* @route {POST} /postExtrasJobsNameRunJson
|
|
66639
|
+
* @roles admin
|
|
66640
|
+
* @task true
|
|
66641
|
+
*/
|
|
66642
|
+
/* YOU CAN CHANGE THE PARAMETERS YOU TAKE IN HERE AND IN THE pronghorn.json FILE */
|
|
66643
|
+
postExtrasJobsNameRunJson(format = 'csv', name, body, iapMetadata, callback) {
|
|
66644
|
+
const meth = 'adapter-postExtrasJobsNameRunJson';
|
|
66645
|
+
const origin = `${this.id}-${meth}`;
|
|
66646
|
+
log.trace(origin);
|
|
66647
|
+
|
|
66648
|
+
if (this.suspended && this.suspendMode === 'error') {
|
|
66649
|
+
const errorObj = this.requestHandlerInst.formatErrorObject(this.id, meth, 'AD.600', [], null, null, null);
|
|
66650
|
+
log.error(`${origin}: ${errorObj.IAPerror.displayString}`);
|
|
66651
|
+
return callback(null, errorObj);
|
|
66652
|
+
}
|
|
66653
|
+
|
|
66654
|
+
/* HERE IS WHERE YOU VALIDATE DATA */
|
|
66655
|
+
if (name === undefined || name === null || name === '') {
|
|
66656
|
+
const errorObj = this.requestHandlerInst.formatErrorObject(this.id, meth, 'Missing Data', ['name'], null, null, null);
|
|
66657
|
+
log.error(`${origin}: ${errorObj.IAPerror.displayString}`);
|
|
66658
|
+
return callback(null, errorObj);
|
|
66659
|
+
}
|
|
66660
|
+
|
|
66661
|
+
if (body === undefined || body === null || body === '') {
|
|
66662
|
+
const errorObj = this.requestHandlerInst.formatErrorObject(this.id, meth, 'Missing Data', ['body'], null, null, null);
|
|
66663
|
+
log.error(`${origin}: ${errorObj.IAPerror.displayString}`);
|
|
66664
|
+
return callback(null, errorObj);
|
|
66665
|
+
}
|
|
66666
|
+
|
|
66667
|
+
/* HERE IS WHERE YOU SET THE DATA TO PASS INTO REQUEST */
|
|
66668
|
+
const queryParamsAvailable = { format };
|
|
66669
|
+
const queryParams = {};
|
|
66670
|
+
const pathVars = [name];
|
|
66671
|
+
const bodyVars = body;
|
|
66672
|
+
|
|
66673
|
+
// loop in template. long callback arg name to avoid identifier conflicts
|
|
66674
|
+
Object.keys(queryParamsAvailable).forEach((thisKeyInQueryParamsAvailable) => {
|
|
66675
|
+
if (queryParamsAvailable[thisKeyInQueryParamsAvailable] !== undefined && queryParamsAvailable[thisKeyInQueryParamsAvailable] !== null
|
|
66676
|
+
&& queryParamsAvailable[thisKeyInQueryParamsAvailable] !== '') {
|
|
66677
|
+
queryParams[thisKeyInQueryParamsAvailable] = queryParamsAvailable[thisKeyInQueryParamsAvailable];
|
|
66678
|
+
}
|
|
66679
|
+
});
|
|
66680
|
+
|
|
66681
|
+
// set up the request object - payload, uriPathVars, uriQuery, uriOptions, addlHeaders, authData, callProperties, filter, priority, event
|
|
66682
|
+
// see adapter code documentation for more information on the request object's fields
|
|
66683
|
+
const reqObj = {
|
|
66684
|
+
payload: bodyVars,
|
|
66685
|
+
uriPathVars: pathVars,
|
|
66686
|
+
uriQuery: queryParams
|
|
66687
|
+
};
|
|
66688
|
+
|
|
66689
|
+
const reqFields = ['payload', 'uriPathVars', 'uriQuery', 'uriOptions', 'addlHeaders', 'authData', 'callProperties', 'filter', 'priority', 'event'];
|
|
66690
|
+
|
|
66691
|
+
// Merge and add new iapMetadata fields in reqObj
|
|
66692
|
+
if (iapMetadata && typeof iapMetadata === 'object') {
|
|
66693
|
+
Object.keys(iapMetadata).forEach((iapField) => {
|
|
66694
|
+
if (reqFields.includes(iapField) && iapMetadata[iapField]) {
|
|
66695
|
+
if (typeof reqObj[iapField] === 'object' && typeof iapMetadata[iapField] === 'object') {
|
|
66696
|
+
reqObj[iapField] = { ...reqObj[iapField], ...iapMetadata[iapField] }; // Merge objects
|
|
66697
|
+
} else if (Array.isArray(reqObj[iapField]) && Array.isArray(iapMetadata[iapField])) {
|
|
66698
|
+
reqObj[iapField] = reqObj[iapField].concat(iapMetadata[iapField]); // Merge arrays
|
|
66699
|
+
} else {
|
|
66700
|
+
// Otherwise, add new iapMetadata fields to reqObj
|
|
66701
|
+
reqObj[iapField] = iapMetadata[iapField];
|
|
66702
|
+
}
|
|
66703
|
+
}
|
|
66704
|
+
});
|
|
66705
|
+
// Add iapMetadata to reqObj for further work
|
|
66706
|
+
reqObj.iapMetadata = iapMetadata;
|
|
66707
|
+
}
|
|
66708
|
+
|
|
66709
|
+
try {
|
|
66710
|
+
// Make the call -
|
|
66711
|
+
// identifyRequest(entity, action, requestObj, returnDataFlag, callback)
|
|
66712
|
+
return this.requestHandlerInst.identifyRequest('Extras', 'postExtrasJobsNameRunJson', reqObj, true, (irReturnData, irReturnError) => {
|
|
66713
|
+
// if we received an error or their is no response on the results
|
|
66714
|
+
// return an error
|
|
66715
|
+
if (irReturnError) {
|
|
66716
|
+
/* HERE IS WHERE YOU CAN ALTER THE ERROR MESSAGE */
|
|
66717
|
+
return callback(null, irReturnError);
|
|
66718
|
+
}
|
|
66719
|
+
if (!Object.hasOwnProperty.call(irReturnData, 'response')) {
|
|
66720
|
+
const errorObj = this.requestHandlerInst.formatErrorObject(this.id, meth, 'Invalid Response', ['postExtrasJobsNameRunJson'], null, null, null);
|
|
66721
|
+
log.error(`${origin}: ${errorObj.IAPerror.displayString}`);
|
|
66722
|
+
return callback(null, errorObj);
|
|
66723
|
+
}
|
|
66724
|
+
|
|
66725
|
+
/* HERE IS WHERE YOU CAN ALTER THE RETURN DATA */
|
|
66726
|
+
// return the response
|
|
66727
|
+
return callback(irReturnData, null);
|
|
66728
|
+
});
|
|
66729
|
+
} catch (ex) {
|
|
66730
|
+
const errorObj = this.requestHandlerInst.formatErrorObject(this.id, meth, 'Caught Exception', null, null, null, ex);
|
|
66731
|
+
log.error(`${origin}: ${errorObj.IAPerror.displayString}`);
|
|
66732
|
+
return callback(null, errorObj);
|
|
66733
|
+
}
|
|
66734
|
+
}
|
|
66735
|
+
|
|
66621
66736
|
/**
|
|
66622
66737
|
* @function getExtrasJobsNameVariables
|
|
66623
66738
|
* @pronghornType method
|
|
@@ -67486,6 +67601,121 @@ class NautobotV2 extends AdapterBaseCl {
|
|
|
67486
67601
|
}
|
|
67487
67602
|
}
|
|
67488
67603
|
|
|
67604
|
+
/**
|
|
67605
|
+
* @function postExtrasJobsIdRunJson
|
|
67606
|
+
* @pronghornType method
|
|
67607
|
+
* @name postExtrasJobsIdRunJson
|
|
67608
|
+
* @summary extras_jobs_run_create
|
|
67609
|
+
*
|
|
67610
|
+
* @param {string} [format] - format param
|
|
67611
|
+
* @param {string} id - Unique object identifier, either a UUID primary key or a composite key.
|
|
67612
|
+
* @param {string} [scheduleName] - scheduleName param
|
|
67613
|
+
* @param {string} [scheduleStartTime] - scheduleStartTime param
|
|
67614
|
+
* @param {string} [scheduleInterval] - scheduleInterval param
|
|
67615
|
+
* @param {string} [scheduleCrontab] - scheduleCrontab param
|
|
67616
|
+
* @param {string} [taskQueue] - taskQueue param
|
|
67617
|
+
* @param {object} iapMetadata - IAP Metadata object contains additional info needed for the request: payload, uriPathVars, uriQuery, uriOptions, addlHeaders, authData, callProperties, etc.
|
|
67618
|
+
* @param {getCallback} callback - a callback function to return the result
|
|
67619
|
+
* @return {object} results - An object containing the response of the action
|
|
67620
|
+
*
|
|
67621
|
+
* @route {POST} /postExtrasJobsIdRunJson
|
|
67622
|
+
* @roles admin
|
|
67623
|
+
* @task true
|
|
67624
|
+
*/
|
|
67625
|
+
/* YOU CAN CHANGE THE PARAMETERS YOU TAKE IN HERE AND IN THE pronghorn.json FILE */
|
|
67626
|
+
postExtrasJobsIdRunJson(format = 'csv', id, body, iapMetadata, callback) {
|
|
67627
|
+
const meth = 'adapter-postExtrasJobsIdRunJson';
|
|
67628
|
+
const origin = `${this.id}-${meth}`;
|
|
67629
|
+
log.trace(origin);
|
|
67630
|
+
|
|
67631
|
+
if (this.suspended && this.suspendMode === 'error') {
|
|
67632
|
+
const errorObj = this.requestHandlerInst.formatErrorObject(this.id, meth, 'AD.600', [], null, null, null);
|
|
67633
|
+
log.error(`${origin}: ${errorObj.IAPerror.displayString}`);
|
|
67634
|
+
return callback(null, errorObj);
|
|
67635
|
+
}
|
|
67636
|
+
|
|
67637
|
+
/* HERE IS WHERE YOU VALIDATE DATA */
|
|
67638
|
+
if (id === undefined || id === null || id === '') {
|
|
67639
|
+
const errorObj = this.requestHandlerInst.formatErrorObject(this.id, meth, 'Missing Data', ['id'], null, null, null);
|
|
67640
|
+
log.error(`${origin}: ${errorObj.IAPerror.displayString}`);
|
|
67641
|
+
return callback(null, errorObj);
|
|
67642
|
+
}
|
|
67643
|
+
|
|
67644
|
+
if (body === undefined || body === null || body === '') {
|
|
67645
|
+
const errorObj = this.requestHandlerInst.formatErrorObject(this.id, meth, 'Missing Data', ['body'], null, null, null);
|
|
67646
|
+
log.error(`${origin}: ${errorObj.IAPerror.displayString}`);
|
|
67647
|
+
return callback(null, errorObj);
|
|
67648
|
+
}
|
|
67649
|
+
|
|
67650
|
+
/* HERE IS WHERE YOU SET THE DATA TO PASS INTO REQUEST */
|
|
67651
|
+
const queryParamsAvailable = { format };
|
|
67652
|
+
const queryParams = {};
|
|
67653
|
+
const pathVars = [id];
|
|
67654
|
+
const bodyVars = body;
|
|
67655
|
+
|
|
67656
|
+
// loop in template. long callback arg name to avoid identifier conflicts
|
|
67657
|
+
Object.keys(queryParamsAvailable).forEach((thisKeyInQueryParamsAvailable) => {
|
|
67658
|
+
if (queryParamsAvailable[thisKeyInQueryParamsAvailable] !== undefined && queryParamsAvailable[thisKeyInQueryParamsAvailable] !== null
|
|
67659
|
+
&& queryParamsAvailable[thisKeyInQueryParamsAvailable] !== '') {
|
|
67660
|
+
queryParams[thisKeyInQueryParamsAvailable] = queryParamsAvailable[thisKeyInQueryParamsAvailable];
|
|
67661
|
+
}
|
|
67662
|
+
});
|
|
67663
|
+
|
|
67664
|
+
// set up the request object - payload, uriPathVars, uriQuery, uriOptions, addlHeaders, authData, callProperties, filter, priority, event
|
|
67665
|
+
// see adapter code documentation for more information on the request object's fields
|
|
67666
|
+
const reqObj = {
|
|
67667
|
+
payload: bodyVars,
|
|
67668
|
+
uriPathVars: pathVars,
|
|
67669
|
+
uriQuery: queryParams
|
|
67670
|
+
};
|
|
67671
|
+
|
|
67672
|
+
const reqFields = ['payload', 'uriPathVars', 'uriQuery', 'uriOptions', 'addlHeaders', 'authData', 'callProperties', 'filter', 'priority', 'event'];
|
|
67673
|
+
|
|
67674
|
+
// Merge and add new iapMetadata fields in reqObj
|
|
67675
|
+
if (iapMetadata && typeof iapMetadata === 'object') {
|
|
67676
|
+
Object.keys(iapMetadata).forEach((iapField) => {
|
|
67677
|
+
if (reqFields.includes(iapField) && iapMetadata[iapField]) {
|
|
67678
|
+
if (typeof reqObj[iapField] === 'object' && typeof iapMetadata[iapField] === 'object') {
|
|
67679
|
+
reqObj[iapField] = { ...reqObj[iapField], ...iapMetadata[iapField] }; // Merge objects
|
|
67680
|
+
} else if (Array.isArray(reqObj[iapField]) && Array.isArray(iapMetadata[iapField])) {
|
|
67681
|
+
reqObj[iapField] = reqObj[iapField].concat(iapMetadata[iapField]); // Merge arrays
|
|
67682
|
+
} else {
|
|
67683
|
+
// Otherwise, add new iapMetadata fields to reqObj
|
|
67684
|
+
reqObj[iapField] = iapMetadata[iapField];
|
|
67685
|
+
}
|
|
67686
|
+
}
|
|
67687
|
+
});
|
|
67688
|
+
// Add iapMetadata to reqObj for further work
|
|
67689
|
+
reqObj.iapMetadata = iapMetadata;
|
|
67690
|
+
}
|
|
67691
|
+
|
|
67692
|
+
try {
|
|
67693
|
+
// Make the call -
|
|
67694
|
+
// identifyRequest(entity, action, requestObj, returnDataFlag, callback)
|
|
67695
|
+
return this.requestHandlerInst.identifyRequest('Extras', 'postExtrasJobsIdRunJson', reqObj, true, (irReturnData, irReturnError) => {
|
|
67696
|
+
// if we received an error or their is no response on the results
|
|
67697
|
+
// return an error
|
|
67698
|
+
if (irReturnError) {
|
|
67699
|
+
/* HERE IS WHERE YOU CAN ALTER THE ERROR MESSAGE */
|
|
67700
|
+
return callback(null, irReturnError);
|
|
67701
|
+
}
|
|
67702
|
+
if (!Object.hasOwnProperty.call(irReturnData, 'response')) {
|
|
67703
|
+
const errorObj = this.requestHandlerInst.formatErrorObject(this.id, meth, 'Invalid Response', ['postExtrasJobsIdRunJson'], null, null, null);
|
|
67704
|
+
log.error(`${origin}: ${errorObj.IAPerror.displayString}`);
|
|
67705
|
+
return callback(null, errorObj);
|
|
67706
|
+
}
|
|
67707
|
+
|
|
67708
|
+
/* HERE IS WHERE YOU CAN ALTER THE RETURN DATA */
|
|
67709
|
+
// return the response
|
|
67710
|
+
return callback(irReturnData, null);
|
|
67711
|
+
});
|
|
67712
|
+
} catch (ex) {
|
|
67713
|
+
const errorObj = this.requestHandlerInst.formatErrorObject(this.id, meth, 'Caught Exception', null, null, null, ex);
|
|
67714
|
+
log.error(`${origin}: ${errorObj.IAPerror.displayString}`);
|
|
67715
|
+
return callback(null, errorObj);
|
|
67716
|
+
}
|
|
67717
|
+
}
|
|
67718
|
+
|
|
67489
67719
|
/**
|
|
67490
67720
|
* @function getExtrasJobsIdVariables
|
|
67491
67721
|
* @pronghornType method
|
|
@@ -3756,6 +3756,26 @@
|
|
|
3756
3756
|
}
|
|
3757
3757
|
]
|
|
3758
3758
|
},
|
|
3759
|
+
{
|
|
3760
|
+
"name": "postExtrasJobsNameRunJson",
|
|
3761
|
+
"protocol": "REST",
|
|
3762
|
+
"method": "POST",
|
|
3763
|
+
"entitypath": "{base_path}/{version}/extras/jobs/{pathv1}/run/?{query}",
|
|
3764
|
+
"requestSchema": "schema.json",
|
|
3765
|
+
"responseSchema": "schema.json",
|
|
3766
|
+
"timeout": 0,
|
|
3767
|
+
"sendEmpty": false,
|
|
3768
|
+
"requestDatatype": "JSON",
|
|
3769
|
+
"responseDatatype": "JSON",
|
|
3770
|
+
"headers": {},
|
|
3771
|
+
"responseObjects": [
|
|
3772
|
+
{
|
|
3773
|
+
"type": "default",
|
|
3774
|
+
"key": "",
|
|
3775
|
+
"mockFile": ""
|
|
3776
|
+
}
|
|
3777
|
+
]
|
|
3778
|
+
},
|
|
3759
3779
|
{
|
|
3760
3780
|
"name": "getExtrasJobsNameVariables",
|
|
3761
3781
|
"protocol": "REST",
|
|
@@ -3919,6 +3939,26 @@
|
|
|
3919
3939
|
}
|
|
3920
3940
|
]
|
|
3921
3941
|
},
|
|
3942
|
+
{
|
|
3943
|
+
"name": "postExtrasJobsIdRunJson",
|
|
3944
|
+
"protocol": "REST",
|
|
3945
|
+
"method": "POST",
|
|
3946
|
+
"entitypath": "{base_path}/{version}/extras/jobs/{pathv1}/run/?{query}",
|
|
3947
|
+
"requestSchema": "schema.json",
|
|
3948
|
+
"responseSchema": "schema.json",
|
|
3949
|
+
"timeout": 0,
|
|
3950
|
+
"sendEmpty": false,
|
|
3951
|
+
"requestDatatype": "JSON",
|
|
3952
|
+
"responseDatatype": "JSON",
|
|
3953
|
+
"headers": {},
|
|
3954
|
+
"responseObjects": [
|
|
3955
|
+
{
|
|
3956
|
+
"type": "default",
|
|
3957
|
+
"key": "",
|
|
3958
|
+
"mockFile": ""
|
|
3959
|
+
}
|
|
3960
|
+
]
|
|
3961
|
+
},
|
|
3922
3962
|
{
|
|
3923
3963
|
"name": "getExtrasJobsIdVariables",
|
|
3924
3964
|
"protocol": "REST",
|
|
@@ -195,6 +195,7 @@
|
|
|
195
195
|
"getExtrasJobsNameNotes",
|
|
196
196
|
"postExtrasJobsNameNotes",
|
|
197
197
|
"postExtrasJobsNameRun",
|
|
198
|
+
"postExtrasJobsNameRunJson",
|
|
198
199
|
"getExtrasJobsNameVariables",
|
|
199
200
|
"getExtrasJobsId",
|
|
200
201
|
"putExtrasJobsId",
|
|
@@ -203,6 +204,7 @@
|
|
|
203
204
|
"getExtrasJobsIdNotes",
|
|
204
205
|
"postExtrasJobsIdNotes",
|
|
205
206
|
"postExtrasJobsIdRun",
|
|
207
|
+
"postExtrasJobsIdRunJson",
|
|
206
208
|
"getExtrasJobsIdVariables",
|
|
207
209
|
"getExtrasNotes",
|
|
208
210
|
"postExtrasNotes",
|
package/package.json
CHANGED
package/pronghorn.json
CHANGED
|
@@ -35245,6 +35245,70 @@
|
|
|
35245
35245
|
},
|
|
35246
35246
|
"task": true
|
|
35247
35247
|
},
|
|
35248
|
+
{
|
|
35249
|
+
"name": "postExtrasJobsNameRunJson",
|
|
35250
|
+
"summary": "extras_jobs_run_create_by_name",
|
|
35251
|
+
"description": "Run the specified Job.",
|
|
35252
|
+
"input": [
|
|
35253
|
+
{
|
|
35254
|
+
"name": "format",
|
|
35255
|
+
"type": "string",
|
|
35256
|
+
"info": ": Must be one of [csv, json]",
|
|
35257
|
+
"required": false,
|
|
35258
|
+
"schema": {
|
|
35259
|
+
"title": "format",
|
|
35260
|
+
"type": "string"
|
|
35261
|
+
}
|
|
35262
|
+
},
|
|
35263
|
+
{
|
|
35264
|
+
"name": "name",
|
|
35265
|
+
"type": "string",
|
|
35266
|
+
"info": ": string",
|
|
35267
|
+
"required": true,
|
|
35268
|
+
"schema": {
|
|
35269
|
+
"title": "name",
|
|
35270
|
+
"type": "string"
|
|
35271
|
+
}
|
|
35272
|
+
},
|
|
35273
|
+
{
|
|
35274
|
+
"name": "body",
|
|
35275
|
+
"type": "object",
|
|
35276
|
+
"info": ": object",
|
|
35277
|
+
"required": true,
|
|
35278
|
+
"schema": {
|
|
35279
|
+
"title": "body",
|
|
35280
|
+
"type": "object"
|
|
35281
|
+
}
|
|
35282
|
+
},
|
|
35283
|
+
{
|
|
35284
|
+
"name": "iapMetadata",
|
|
35285
|
+
"type": "object",
|
|
35286
|
+
"info": "Itential Platform Metadata object contains additional info needed for the request: payload, uriPathVars, uriQuery, uriOptions, addlHeaders, authData, callProperties, etc.",
|
|
35287
|
+
"required": false,
|
|
35288
|
+
"schema": {
|
|
35289
|
+
"title": "iapMetadata",
|
|
35290
|
+
"type": "object"
|
|
35291
|
+
}
|
|
35292
|
+
}
|
|
35293
|
+
],
|
|
35294
|
+
"output": {
|
|
35295
|
+
"name": "result",
|
|
35296
|
+
"type": "object",
|
|
35297
|
+
"description": "A JSON Object containing status, code and the result",
|
|
35298
|
+
"schema": {
|
|
35299
|
+
"title": "result",
|
|
35300
|
+
"type": "object"
|
|
35301
|
+
}
|
|
35302
|
+
},
|
|
35303
|
+
"roles": [
|
|
35304
|
+
"admin"
|
|
35305
|
+
],
|
|
35306
|
+
"route": {
|
|
35307
|
+
"verb": "POST",
|
|
35308
|
+
"path": "/postExtrasJobsNameRunJson"
|
|
35309
|
+
},
|
|
35310
|
+
"task": true
|
|
35311
|
+
},
|
|
35248
35312
|
{
|
|
35249
35313
|
"name": "getExtrasJobsNameVariables",
|
|
35250
35314
|
"summary": "extras_jobs_variables_list_by_name",
|
|
@@ -35717,6 +35781,70 @@
|
|
|
35717
35781
|
},
|
|
35718
35782
|
"task": true
|
|
35719
35783
|
},
|
|
35784
|
+
{
|
|
35785
|
+
"name": "postExtrasJobsIdRunJson",
|
|
35786
|
+
"summary": "extras_jobs_run_create",
|
|
35787
|
+
"description": "Run the specified Job.",
|
|
35788
|
+
"input": [
|
|
35789
|
+
{
|
|
35790
|
+
"name": "format",
|
|
35791
|
+
"type": "string",
|
|
35792
|
+
"info": ": Must be one of [csv, json]",
|
|
35793
|
+
"required": false,
|
|
35794
|
+
"schema": {
|
|
35795
|
+
"title": "format",
|
|
35796
|
+
"type": "string"
|
|
35797
|
+
}
|
|
35798
|
+
},
|
|
35799
|
+
{
|
|
35800
|
+
"name": "id",
|
|
35801
|
+
"type": "string",
|
|
35802
|
+
"info": "Unique object identifier, either a UUID primary key or a composite key.: string",
|
|
35803
|
+
"required": true,
|
|
35804
|
+
"schema": {
|
|
35805
|
+
"title": "id",
|
|
35806
|
+
"type": "string"
|
|
35807
|
+
}
|
|
35808
|
+
},
|
|
35809
|
+
{
|
|
35810
|
+
"name": "body",
|
|
35811
|
+
"type": "object",
|
|
35812
|
+
"info": ": object",
|
|
35813
|
+
"required": true,
|
|
35814
|
+
"schema": {
|
|
35815
|
+
"title": "body",
|
|
35816
|
+
"type": "object"
|
|
35817
|
+
}
|
|
35818
|
+
},
|
|
35819
|
+
{
|
|
35820
|
+
"name": "iapMetadata",
|
|
35821
|
+
"type": "object",
|
|
35822
|
+
"info": "Itential Platform Metadata object contains additional info needed for the request: payload, uriPathVars, uriQuery, uriOptions, addlHeaders, authData, callProperties, etc.",
|
|
35823
|
+
"required": false,
|
|
35824
|
+
"schema": {
|
|
35825
|
+
"title": "iapMetadata",
|
|
35826
|
+
"type": "object"
|
|
35827
|
+
}
|
|
35828
|
+
}
|
|
35829
|
+
],
|
|
35830
|
+
"output": {
|
|
35831
|
+
"name": "result",
|
|
35832
|
+
"type": "object",
|
|
35833
|
+
"description": "A JSON Object containing status, code and the result",
|
|
35834
|
+
"schema": {
|
|
35835
|
+
"title": "result",
|
|
35836
|
+
"type": "object"
|
|
35837
|
+
}
|
|
35838
|
+
},
|
|
35839
|
+
"roles": [
|
|
35840
|
+
"admin"
|
|
35841
|
+
],
|
|
35842
|
+
"route": {
|
|
35843
|
+
"verb": "POST",
|
|
35844
|
+
"path": "/postExtrasJobsIdRunJson"
|
|
35845
|
+
},
|
|
35846
|
+
"task": true
|
|
35847
|
+
},
|
|
35720
35848
|
{
|
|
35721
35849
|
"name": "getExtrasJobsIdVariables",
|
|
35722
35850
|
"summary": "extras_jobs_variables_list",
|
package/report/adapterInfo.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.
|
|
3
|
-
"configLines":
|
|
4
|
-
"scriptLines":
|
|
5
|
-
"codeLines":
|
|
6
|
-
"testLines":
|
|
7
|
-
"testCases":
|
|
8
|
-
"totalCodeLines":
|
|
9
|
-
"wfTasks":
|
|
2
|
+
"version": "1.0.7",
|
|
3
|
+
"configLines": 146677,
|
|
4
|
+
"scriptLines": 2523,
|
|
5
|
+
"codeLines": 186782,
|
|
6
|
+
"testLines": 97972,
|
|
7
|
+
"testCases": 5301,
|
|
8
|
+
"totalCodeLines": 287277,
|
|
9
|
+
"wfTasks": 1752
|
|
10
10
|
}
|
|
@@ -28116,7 +28116,7 @@
|
|
|
28116
28116
|
"Extras"
|
|
28117
28117
|
],
|
|
28118
28118
|
"operationId": "postExtrasJobsNameRun",
|
|
28119
|
-
"description": "The parameters and request body are for method: postExtrasJobsNameRun. Same endpoint also used in methods:",
|
|
28119
|
+
"description": "The parameters and request body are for method: postExtrasJobsNameRun. Same endpoint also used in methods:<br> postExtrasJobsNameRunJson (format : string,name : string,body : object,iapMetadata : object)",
|
|
28120
28120
|
"responses": {
|
|
28121
28121
|
"200": {
|
|
28122
28122
|
"description": "Successful operation",
|
|
@@ -28516,7 +28516,7 @@
|
|
|
28516
28516
|
"Extras"
|
|
28517
28517
|
],
|
|
28518
28518
|
"operationId": "postExtrasJobsIdRun",
|
|
28519
|
-
"description": "The parameters and request body are for method: postExtrasJobsIdRun. Same endpoint also used in methods:",
|
|
28519
|
+
"description": "The parameters and request body are for method: postExtrasJobsIdRun. Same endpoint also used in methods:<br> postExtrasJobsIdRunJson (format : string,id : string,body : object,iapMetadata : object)",
|
|
28520
28520
|
"responses": {
|
|
28521
28521
|
"200": {
|
|
28522
28522
|
"description": "Successful operation",
|
|
@@ -10554,6 +10554,31 @@ describe('[integration] Nautobot_v2 Adapter Test', () => {
|
|
|
10554
10554
|
}).timeout(attemptTimeout);
|
|
10555
10555
|
});
|
|
10556
10556
|
|
|
10557
|
+
describe('#postExtrasJobsIdRunJson - errors', () => {
|
|
10558
|
+
it('should work if integrated but since no mockdata should error when run standalone', (done) => {
|
|
10559
|
+
try {
|
|
10560
|
+
a.postExtrasJobsIdRunJson(null, extrasId, postExtrasJobsIdRunBodyParam, null, (data, error) => {
|
|
10561
|
+
try {
|
|
10562
|
+
if (stub) {
|
|
10563
|
+
const displayE = 'Error 400 received on request';
|
|
10564
|
+
runErrorAsserts(data, error, 'AD.500', 'Test-nautobot_v2-connectorRest-handleEndResponse', displayE);
|
|
10565
|
+
} else {
|
|
10566
|
+
runCommonAsserts(data, error);
|
|
10567
|
+
}
|
|
10568
|
+
saveMockData('Extras', 'postExtrasJobsIdRunJson', 'default', data);
|
|
10569
|
+
done();
|
|
10570
|
+
} catch (err) {
|
|
10571
|
+
log.error(`Test Failure: ${err}`);
|
|
10572
|
+
done(err);
|
|
10573
|
+
}
|
|
10574
|
+
});
|
|
10575
|
+
} catch (error) {
|
|
10576
|
+
log.error(`Adapter Exception: ${error}`);
|
|
10577
|
+
done(error);
|
|
10578
|
+
}
|
|
10579
|
+
}).timeout(attemptTimeout);
|
|
10580
|
+
});
|
|
10581
|
+
|
|
10557
10582
|
const extrasName = 'fakedata';
|
|
10558
10583
|
const extrasPostExtrasJobsNameNotesBodyParam = {};
|
|
10559
10584
|
describe('#postExtrasJobsNameNotes - errors', () => {
|
|
@@ -10607,6 +10632,31 @@ describe('[integration] Nautobot_v2 Adapter Test', () => {
|
|
|
10607
10632
|
}).timeout(attemptTimeout);
|
|
10608
10633
|
});
|
|
10609
10634
|
|
|
10635
|
+
describe('#postExtrasJobsNameRunJson - errors', () => {
|
|
10636
|
+
it('should work if integrated but since no mockdata should error when run standalone', (done) => {
|
|
10637
|
+
try {
|
|
10638
|
+
a.postExtrasJobsNameRunJson(null, extrasName, postExtrasJobsNameRunBodyParam, null, (data, error) => {
|
|
10639
|
+
try {
|
|
10640
|
+
if (stub) {
|
|
10641
|
+
const displayE = 'Error 400 received on request';
|
|
10642
|
+
runErrorAsserts(data, error, 'AD.500', 'Test-nautobot_v2-connectorRest-handleEndResponse', displayE);
|
|
10643
|
+
} else {
|
|
10644
|
+
runCommonAsserts(data, error);
|
|
10645
|
+
}
|
|
10646
|
+
saveMockData('Extras', 'postExtrasJobsNameRunJson', 'default', data);
|
|
10647
|
+
done();
|
|
10648
|
+
} catch (err) {
|
|
10649
|
+
log.error(`Test Failure: ${err}`);
|
|
10650
|
+
done(err);
|
|
10651
|
+
}
|
|
10652
|
+
});
|
|
10653
|
+
} catch (error) {
|
|
10654
|
+
log.error(`Adapter Exception: ${error}`);
|
|
10655
|
+
done(error);
|
|
10656
|
+
}
|
|
10657
|
+
}).timeout(attemptTimeout);
|
|
10658
|
+
});
|
|
10659
|
+
|
|
10610
10660
|
const extrasPostExtrasNotesBodyParam = {};
|
|
10611
10661
|
describe('#postExtrasNotes - errors', () => {
|
|
10612
10662
|
it('should work if integrated but since no mockdata should error when run standalone', (done) => {
|
|
@@ -19226,6 +19226,52 @@ describe('[unit] Nautobot_v2 Adapter Test', () => {
|
|
|
19226
19226
|
}).timeout(attemptTimeout);
|
|
19227
19227
|
});
|
|
19228
19228
|
|
|
19229
|
+
describe('#postExtrasJobsNameRunJson - errors', () => {
|
|
19230
|
+
it('should have a postExtrasJobsNameRunJson function', (done) => {
|
|
19231
|
+
try {
|
|
19232
|
+
assert.equal(true, typeof a.postExtrasJobsNameRunJson === 'function');
|
|
19233
|
+
done();
|
|
19234
|
+
} catch (error) {
|
|
19235
|
+
log.error(`Test Failure: ${error}`);
|
|
19236
|
+
done(error);
|
|
19237
|
+
}
|
|
19238
|
+
}).timeout(attemptTimeout);
|
|
19239
|
+
it('should error if - missing name', (done) => {
|
|
19240
|
+
try {
|
|
19241
|
+
a.postExtrasJobsNameRunJson('fakeparam', null, null, null, (data, error) => {
|
|
19242
|
+
try {
|
|
19243
|
+
const displayE = 'name is required';
|
|
19244
|
+
runErrorAsserts(data, error, 'AD.300', 'Test-nautobot_v2-adapter-postExtrasJobsNameRunJson', displayE);
|
|
19245
|
+
done();
|
|
19246
|
+
} catch (err) {
|
|
19247
|
+
log.error(`Test Failure: ${err}`);
|
|
19248
|
+
done(err);
|
|
19249
|
+
}
|
|
19250
|
+
});
|
|
19251
|
+
} catch (error) {
|
|
19252
|
+
log.error(`Adapter Exception: ${error}`);
|
|
19253
|
+
done(error);
|
|
19254
|
+
}
|
|
19255
|
+
}).timeout(attemptTimeout);
|
|
19256
|
+
it('should error if - missing body', (done) => {
|
|
19257
|
+
try {
|
|
19258
|
+
a.postExtrasJobsNameRunJson('fakeparam', 'fakeparam', null, null, (data, error) => {
|
|
19259
|
+
try {
|
|
19260
|
+
const displayE = 'body is required';
|
|
19261
|
+
runErrorAsserts(data, error, 'AD.300', 'Test-nautobot_v2-adapter-postExtrasJobsNameRunJson', displayE);
|
|
19262
|
+
done();
|
|
19263
|
+
} catch (err) {
|
|
19264
|
+
log.error(`Test Failure: ${err}`);
|
|
19265
|
+
done(err);
|
|
19266
|
+
}
|
|
19267
|
+
});
|
|
19268
|
+
} catch (error) {
|
|
19269
|
+
log.error(`Adapter Exception: ${error}`);
|
|
19270
|
+
done(error);
|
|
19271
|
+
}
|
|
19272
|
+
}).timeout(attemptTimeout);
|
|
19273
|
+
});
|
|
19274
|
+
|
|
19229
19275
|
describe('#getExtrasJobsNameVariables - errors', () => {
|
|
19230
19276
|
it('should have a getExtrasJobsNameVariables function', (done) => {
|
|
19231
19277
|
try {
|
|
@@ -19509,6 +19555,52 @@ describe('[unit] Nautobot_v2 Adapter Test', () => {
|
|
|
19509
19555
|
}).timeout(attemptTimeout);
|
|
19510
19556
|
});
|
|
19511
19557
|
|
|
19558
|
+
describe('#postExtrasJobsIdRunJson - errors', () => {
|
|
19559
|
+
it('should have a postExtrasJobsIdRunJson function', (done) => {
|
|
19560
|
+
try {
|
|
19561
|
+
assert.equal(true, typeof a.postExtrasJobsIdRunJson === 'function');
|
|
19562
|
+
done();
|
|
19563
|
+
} catch (error) {
|
|
19564
|
+
log.error(`Test Failure: ${error}`);
|
|
19565
|
+
done(error);
|
|
19566
|
+
}
|
|
19567
|
+
}).timeout(attemptTimeout);
|
|
19568
|
+
it('should error if - missing id', (done) => {
|
|
19569
|
+
try {
|
|
19570
|
+
a.postExtrasJobsIdRunJson('fakeparam', null, null, null, (data, error) => {
|
|
19571
|
+
try {
|
|
19572
|
+
const displayE = 'id is required';
|
|
19573
|
+
runErrorAsserts(data, error, 'AD.300', 'Test-nautobot_v2-adapter-postExtrasJobsIdRunJson', displayE);
|
|
19574
|
+
done();
|
|
19575
|
+
} catch (err) {
|
|
19576
|
+
log.error(`Test Failure: ${err}`);
|
|
19577
|
+
done(err);
|
|
19578
|
+
}
|
|
19579
|
+
});
|
|
19580
|
+
} catch (error) {
|
|
19581
|
+
log.error(`Adapter Exception: ${error}`);
|
|
19582
|
+
done(error);
|
|
19583
|
+
}
|
|
19584
|
+
}).timeout(attemptTimeout);
|
|
19585
|
+
it('should error if - missing body', (done) => {
|
|
19586
|
+
try {
|
|
19587
|
+
a.postExtrasJobsIdRunJson('fakeparam', 'fakeparam', null, null, (data, error) => {
|
|
19588
|
+
try {
|
|
19589
|
+
const displayE = 'body is required';
|
|
19590
|
+
runErrorAsserts(data, error, 'AD.300', 'Test-nautobot_v2-adapter-postExtrasJobsIdRunJson', displayE);
|
|
19591
|
+
done();
|
|
19592
|
+
} catch (err) {
|
|
19593
|
+
log.error(`Test Failure: ${err}`);
|
|
19594
|
+
done(err);
|
|
19595
|
+
}
|
|
19596
|
+
});
|
|
19597
|
+
} catch (error) {
|
|
19598
|
+
log.error(`Adapter Exception: ${error}`);
|
|
19599
|
+
done(error);
|
|
19600
|
+
}
|
|
19601
|
+
}).timeout(attemptTimeout);
|
|
19602
|
+
});
|
|
19603
|
+
|
|
19512
19604
|
describe('#getExtrasJobsIdVariables - errors', () => {
|
|
19513
19605
|
it('should have a getExtrasJobsIdVariables function', (done) => {
|
|
19514
19606
|
try {
|