@itentialopensource/adapter-alkira 0.3.0 → 0.4.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 +488 -460
- package/CHANGELOG.md +16 -0
- package/README.md +10 -6
- package/adapterBase.js +103 -0
- package/metadata.json +25 -53
- package/package.json +4 -4
- package/propertiesSchema.json +74 -1
- package/refs?service=git-upload-pack +0 -0
- package/report/adapter-openapi.json +50699 -0
- package/report/adapter-openapi.yaml +40216 -0
- package/report/adapterInfo.json +5 -5
- package/report/updateReport1694473004973.json +120 -0
- package/report/updateReport1698420400445.json +120 -0
- package/sampleProperties.json +12 -0
- package/test/unit/adapterBaseTestUnit.js +6 -6
- package/test/unit/adapterTestUnit.js +9 -3
- package/utils/methodDocumentor.js +71 -23
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,20 @@
|
|
|
1
1
|
|
|
2
|
+
## 0.4.0 [11-06-2023]
|
|
3
|
+
|
|
4
|
+
* More migration changes
|
|
5
|
+
|
|
6
|
+
See merge request itentialopensource/adapters/cloud/adapter-alkira!8
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 0.3.1 [09-12-2023]
|
|
11
|
+
|
|
12
|
+
* more migration & metadata changes
|
|
13
|
+
|
|
14
|
+
See merge request itentialopensource/adapters/cloud/adapter-alkira!7
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
2
18
|
## 0.3.0 [08-16-2023]
|
|
3
19
|
|
|
4
20
|
* Minor/2023 migration
|
package/README.md
CHANGED
|
@@ -14,6 +14,7 @@ Some of the page links in this document and links to other GitLab files do not w
|
|
|
14
14
|
- [Testing](#testing)
|
|
15
15
|
- [Configuration](./PROPERTIES.md)
|
|
16
16
|
- [Using this Adapter](./CALLS.md)
|
|
17
|
+
- [Authentication](./AUTH.md)
|
|
17
18
|
- [Additional Information](#additional-information)
|
|
18
19
|
- [Enhancements](./ENHANCE.md)
|
|
19
20
|
- [Contributing](./CONTRIBUTING.md)
|
|
@@ -47,17 +48,20 @@ These instructions will help you get a copy of the project on your local machine
|
|
|
47
48
|
|
|
48
49
|
### Helpful Background Information
|
|
49
50
|
|
|
50
|
-
There is
|
|
51
|
+
There is <a href="https://docs.itential.com/opensource/docs/adapters" target="_blank">Adapter documentation available on the Itential Documentation Site</a>. This documentation includes information and examples that are helpful for:
|
|
51
52
|
|
|
52
53
|
```text
|
|
53
54
|
Authentication
|
|
54
|
-
|
|
55
|
+
IAP Service Instance Configuration
|
|
55
56
|
Code Files
|
|
56
|
-
Action
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
Endpoint Configuration (Action & Schema)
|
|
58
|
+
Mock Data
|
|
59
|
+
Adapter Generic Methods
|
|
60
|
+
Headers
|
|
61
|
+
Security
|
|
59
62
|
Linting and Testing
|
|
60
|
-
|
|
63
|
+
Build an Adapter
|
|
64
|
+
Troubleshooting an Adapter
|
|
61
65
|
```
|
|
62
66
|
|
|
63
67
|
Others will be added over time.
|
package/adapterBase.js
CHANGED
|
@@ -1027,6 +1027,24 @@ class AdapterBase extends EventEmitterCl {
|
|
|
1027
1027
|
return this.requestHandlerInst.hasEntities(entityType, entityList, callback);
|
|
1028
1028
|
}
|
|
1029
1029
|
|
|
1030
|
+
/**
|
|
1031
|
+
* @summary Determines if this adapter supports any in a list of entities
|
|
1032
|
+
*
|
|
1033
|
+
* @function hasEntitiesAuth
|
|
1034
|
+
* @param {String} entityType - the entity type to check for
|
|
1035
|
+
* @param {Array} entityList - the list of entities we are looking for
|
|
1036
|
+
* @param {Object} callOptions - Additional options used to make request, including auth headers, AWS service, or datatypes
|
|
1037
|
+
*
|
|
1038
|
+
* @param {Callback} callback - A map where the entity is the key and the
|
|
1039
|
+
* value is true or false
|
|
1040
|
+
*/
|
|
1041
|
+
hasEntitiesAuth(entityType, entityList, callOptions, callback) {
|
|
1042
|
+
const origin = `${this.id}-adapterBase-hasEntitiesAuth`;
|
|
1043
|
+
log.trace(origin);
|
|
1044
|
+
|
|
1045
|
+
return this.requestHandlerInst.hasEntitiesAuth(entityType, entityList, callOptions, callback);
|
|
1046
|
+
}
|
|
1047
|
+
|
|
1030
1048
|
/**
|
|
1031
1049
|
* @summary Get Appliance that match the deviceName
|
|
1032
1050
|
*
|
|
@@ -1043,6 +1061,23 @@ class AdapterBase extends EventEmitterCl {
|
|
|
1043
1061
|
return this.requestHandlerInst.getDevice(deviceName, callback);
|
|
1044
1062
|
}
|
|
1045
1063
|
|
|
1064
|
+
/**
|
|
1065
|
+
* @summary Get Appliance that match the deviceName
|
|
1066
|
+
*
|
|
1067
|
+
* @function getDeviceAuth
|
|
1068
|
+
* @param {String} deviceName - the deviceName to find (required)
|
|
1069
|
+
* @param {Object} callOptions - Additional options used to make request, including auth headers, AWS service, or datatypes
|
|
1070
|
+
*
|
|
1071
|
+
* @param {getCallback} callback - a callback function to return the result
|
|
1072
|
+
* (appliance) or the error
|
|
1073
|
+
*/
|
|
1074
|
+
getDeviceAuth(deviceName, callOptions, callback) {
|
|
1075
|
+
const origin = `${this.id}-adapterBase-getDeviceAuth`;
|
|
1076
|
+
log.trace(origin);
|
|
1077
|
+
|
|
1078
|
+
return this.requestHandlerInst.getDeviceAuth(deviceName, callOptions, callback);
|
|
1079
|
+
}
|
|
1080
|
+
|
|
1046
1081
|
/**
|
|
1047
1082
|
* @summary Get Appliances that match the filter
|
|
1048
1083
|
*
|
|
@@ -1059,6 +1094,23 @@ class AdapterBase extends EventEmitterCl {
|
|
|
1059
1094
|
return this.requestHandlerInst.getDevicesFiltered(options, callback);
|
|
1060
1095
|
}
|
|
1061
1096
|
|
|
1097
|
+
/**
|
|
1098
|
+
* @summary Get Appliances that match the filter
|
|
1099
|
+
*
|
|
1100
|
+
* @function getDevicesFilteredAuth
|
|
1101
|
+
* @param {Object} options - the data to use to filter the appliances (optional)
|
|
1102
|
+
* @param {Object} callOptions - Additional options used to make request, including auth headers, AWS service, or datatypes
|
|
1103
|
+
*
|
|
1104
|
+
* @param {getCallback} callback - a callback function to return the result
|
|
1105
|
+
* (appliances) or the error
|
|
1106
|
+
*/
|
|
1107
|
+
getDevicesFilteredAuth(options, callOptions, callback) {
|
|
1108
|
+
const origin = `${this.id}-adapterBase-getDevicesFilteredAuth`;
|
|
1109
|
+
log.trace(origin);
|
|
1110
|
+
|
|
1111
|
+
return this.requestHandlerInst.getDevicesFilteredAuth(options, callOptions, callback);
|
|
1112
|
+
}
|
|
1113
|
+
|
|
1062
1114
|
/**
|
|
1063
1115
|
* @summary Gets the status for the provided appliance
|
|
1064
1116
|
*
|
|
@@ -1075,6 +1127,23 @@ class AdapterBase extends EventEmitterCl {
|
|
|
1075
1127
|
return this.requestHandlerInst.isAlive(deviceName, callback);
|
|
1076
1128
|
}
|
|
1077
1129
|
|
|
1130
|
+
/**
|
|
1131
|
+
* @summary Gets the status for the provided appliance
|
|
1132
|
+
*
|
|
1133
|
+
* @function isAliveAuth
|
|
1134
|
+
* @param {String} deviceName - the deviceName of the appliance. (required)
|
|
1135
|
+
* @param {Object} callOptions - Additional options used to make request, including auth headers, AWS service, or datatypes
|
|
1136
|
+
*
|
|
1137
|
+
* @param {configCallback} callback - callback function to return the result
|
|
1138
|
+
* (appliance isAliveAuth) or the error
|
|
1139
|
+
*/
|
|
1140
|
+
isAliveAuth(deviceName, callOptions, callback) {
|
|
1141
|
+
const origin = `${this.id}-adapterBase-isAliveAuth`;
|
|
1142
|
+
log.trace(origin);
|
|
1143
|
+
|
|
1144
|
+
return this.requestHandlerInst.isAliveAuth(deviceName, callOptions, callback);
|
|
1145
|
+
}
|
|
1146
|
+
|
|
1078
1147
|
/**
|
|
1079
1148
|
* @summary Gets a config for the provided Appliance
|
|
1080
1149
|
*
|
|
@@ -1092,6 +1161,24 @@ class AdapterBase extends EventEmitterCl {
|
|
|
1092
1161
|
return this.requestHandlerInst.getConfig(deviceName, format, callback);
|
|
1093
1162
|
}
|
|
1094
1163
|
|
|
1164
|
+
/**
|
|
1165
|
+
* @summary Gets a config for the provided Appliance
|
|
1166
|
+
*
|
|
1167
|
+
* @function getConfigAuth
|
|
1168
|
+
* @param {String} deviceName - the deviceName of the appliance. (required)
|
|
1169
|
+
* @param {String} format - the desired format of the config. (optional)
|
|
1170
|
+
* @param {Object} callOptions - Additional options used to make request, including auth headers, AWS service, or datatypes
|
|
1171
|
+
*
|
|
1172
|
+
* @param {configCallback} callback - callback function to return the result
|
|
1173
|
+
* (appliance config) or the error
|
|
1174
|
+
*/
|
|
1175
|
+
getConfigAuth(deviceName, format, callOptions, callback) {
|
|
1176
|
+
const origin = `${this.id}-adapterBase-getConfigAuth`;
|
|
1177
|
+
log.trace(origin);
|
|
1178
|
+
|
|
1179
|
+
return this.requestHandlerInst.getConfigAuth(deviceName, format, callOptions, callback);
|
|
1180
|
+
}
|
|
1181
|
+
|
|
1095
1182
|
/**
|
|
1096
1183
|
* @summary Gets the device count from the system
|
|
1097
1184
|
*
|
|
@@ -1107,6 +1194,22 @@ class AdapterBase extends EventEmitterCl {
|
|
|
1107
1194
|
return this.requestHandlerInst.iapGetDeviceCount(callback);
|
|
1108
1195
|
}
|
|
1109
1196
|
|
|
1197
|
+
/**
|
|
1198
|
+
* @summary Gets the device count from the system
|
|
1199
|
+
*
|
|
1200
|
+
* @function iapGetDeviceCountAuth
|
|
1201
|
+
* @param {Object} callOptions - Additional options used to make request, including auth headers, AWS service, or datatypes
|
|
1202
|
+
*
|
|
1203
|
+
* @param {getCallback} callback - callback function to return the result
|
|
1204
|
+
* (count) or the error
|
|
1205
|
+
*/
|
|
1206
|
+
iapGetDeviceCountAuth(callOptions, callback) {
|
|
1207
|
+
const origin = `${this.id}-adapterBase-iapGetDeviceCountAuth`;
|
|
1208
|
+
log.trace(origin);
|
|
1209
|
+
|
|
1210
|
+
return this.requestHandlerInst.iapGetDeviceCountAuth(callOptions, callback);
|
|
1211
|
+
}
|
|
1212
|
+
|
|
1110
1213
|
/* ********************************************** */
|
|
1111
1214
|
/* */
|
|
1112
1215
|
/* EXPOSES GENERIC HANDLER */
|
package/metadata.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "adapter-alkira",
|
|
3
|
+
"webName": "Adapter for Integration to Alkira Cloud Management",
|
|
3
4
|
"vendor": "Alkira",
|
|
4
5
|
"product": "Cloud Management",
|
|
5
6
|
"osVersion": [],
|
|
@@ -12,13 +13,19 @@
|
|
|
12
13
|
"2022.1.x",
|
|
13
14
|
"2023.1.x"
|
|
14
15
|
],
|
|
15
|
-
"method": "REST
|
|
16
|
+
"method": "REST",
|
|
16
17
|
"type": "Adapter",
|
|
17
|
-
"example": "",
|
|
18
18
|
"domains": [
|
|
19
19
|
"Cloud"
|
|
20
20
|
],
|
|
21
|
-
"tags": [
|
|
21
|
+
"tags": [
|
|
22
|
+
"Cloud Networking"
|
|
23
|
+
],
|
|
24
|
+
"useCases": [
|
|
25
|
+
"Add or remove Virtual Networks",
|
|
26
|
+
"Management of Cloud Network Assignments",
|
|
27
|
+
"Create, update, manage or remove Hybrid Cloud Connections"
|
|
28
|
+
],
|
|
22
29
|
"deprecated": {
|
|
23
30
|
"isDeprecated": false
|
|
24
31
|
},
|
|
@@ -28,6 +35,11 @@
|
|
|
28
35
|
"npmLink": "https://www.npmjs.com/package/@itentialopensource/adapter-alkira",
|
|
29
36
|
"repoLink": "https://gitlab.com/itentialopensource/adapters/cloud/adapter-alkira",
|
|
30
37
|
"docLink": "https://docs.itential.com/opensource/docs/alkira",
|
|
38
|
+
"demoLinks": [
|
|
39
|
+
"https://www.itential.com/resource/demo/itential-alkira-simplify-automate-to-optimize-multi-cloud-networks/",
|
|
40
|
+
"https://www.itential.com/blog/company/news-events/itential-alkira-integrate-to-simplify-automate-multi-cloud-networking/",
|
|
41
|
+
"https://www.itential.com/search/?_sf_s=alkira"
|
|
42
|
+
],
|
|
31
43
|
"faqLink": "https://docs.itential.com/opensource/docs/troubleshooting-an-adapter",
|
|
32
44
|
"contributeLink": "https://gitlab.com/itentialopensource/adapters/contributing-guide",
|
|
33
45
|
"issueLink": "https://itential.atlassian.net/servicedesk/customer/portals",
|
|
@@ -36,66 +48,26 @@
|
|
|
36
48
|
"productLink": "https://www.alkira.com/",
|
|
37
49
|
"apiLinks": []
|
|
38
50
|
},
|
|
51
|
+
"assets": [],
|
|
39
52
|
"relatedItems": {
|
|
40
53
|
"adapters": [],
|
|
41
54
|
"integrations": [],
|
|
42
55
|
"ecosystemApplications": [],
|
|
43
|
-
"
|
|
56
|
+
"workflowProjects": [
|
|
44
57
|
{
|
|
45
58
|
"name": "Alkira - Cloud Network as a Service",
|
|
46
|
-
"
|
|
59
|
+
"webName": "Alkira - Cloud Network as a Service",
|
|
60
|
+
"overview": "Project for use cases around Alkira Cloud Network as a Service using REST protocol.",
|
|
61
|
+
"isDependency": false,
|
|
47
62
|
"versions": [
|
|
48
|
-
"^1.0.
|
|
63
|
+
"^1.0.2"
|
|
49
64
|
],
|
|
50
65
|
"repoLink": "https://gitlab.com/itentialopensource/pre-built-automations/alkira-cloud-network-as-a-service",
|
|
51
|
-
"docLink": "
|
|
52
|
-
"webLink": "
|
|
66
|
+
"docLink": "",
|
|
67
|
+
"webLink": ""
|
|
53
68
|
}
|
|
54
69
|
],
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
{
|
|
58
|
-
"name": "Create AWS VPC Connector - Alkira",
|
|
59
|
-
"overview": "Creates AWS VPC connector over Alkira Cloud Network as a Service.",
|
|
60
|
-
"webLink": "",
|
|
61
|
-
"exampleInput": "{\n \"adapterId\": \"alkira\",\n \"vpcId\": \"vpc-05cbeb1e27dbba348\",\n \"credentialId\": \"48ebf9a7-1af8-45a4-9569-7adcc100e130\",\n \"vpcOwnerId\": \"462676810652\",\n \"connectorName\": \"ConnectorTest1\",\n \"cxp\": \"US-EAST-1\",\n \"customerRegion\": \"us-west-1\",\n \"customerName\": \"Customer\",\n \"size\": \"SMALL\",\n \"group\": \"PROD-AWS\",\n \"segmentName\": \"CORP\",\n \"tenantNetworkId\": 170,\n \"enabled\": true,\n \"directInterVPCCommunicationEnabled\": false\n}",
|
|
62
|
-
"exampleOutput": "{\n \"createdAWSVPCConnectorResult\": {\n \"icode\": \"AD.201\",\n \"response\": {\n \"id\": 11374,\n \"name\": \"ConnectorTest2\",\n \"cxp\": \"US-EAST\",\n \"segments\": [\n \"CORP\"\n ],\n \"vpcId\": \"vpc-0af55e16b6e371902\",\n \"vpcOwnerId\": \"462676810652\",\n \"customerName\": \"Customer\",\n \"customerRegion\": \"us-east-1\",\n \"credentialId\": \"48ebf9a7-1af8-45a4-9569-7adcc100e130\",\n \"group\": \"PROD-AWS\",\n \"groupId\": 16766,\n \"implicitGroupId\": 23386,\n \"billingTags\": [],\n \"size\": \"SMALL\",\n \"vpcRouting\": {\n \"exportToCXPOptions\": {\n \"userInputPrefixes\": [\n {\n \"id\": null,\n \"value\": \"10.0.0.0/24\",\n \"type\": \"CIDR\"\n }\n ],\n \"routeExportMode\": \"USER_INPUT_PREFIXES\",\n \"selectedCidrPrefixes\": [\n \"10.0.0.0/24\"\n ],\n \"selectedSubnetPrefixes\": [],\n \"selectedSubnetIds\": []\n },\n \"importFromCXPOptions\": {\n \"routeTables\": [\n {\n \"id\": \"rtb-0d4d1c975c3f30312\",\n \"prefixListIds\": [],\n \"routeImportMode\": \"ADVERTISE_DEFAULT_ROUTE\"\n }\n ]\n }\n },\n \"enabled\": true,\n \"primary\": true,\n \"directInterVPCCommunicationEnabled\": false,\n \"configStatus\": {\n \"configValid\": true,\n \"messages\": []\n }\n }\n }\n}"
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
"name": "Create Azure VNet Connector - Alkira",
|
|
66
|
-
"overview": "Creates Azure VNet connector over Alkira Cloud Network as a Service.",
|
|
67
|
-
"webLink": "",
|
|
68
|
-
"exampleInput": "{\n \"adapterId\": \"alkira\",\n \"segmentName\": \"CORP\",\n \"credentialId\": \"a39a474b-34f4-41b3-b684-95fd6024b2a9\",\n \"connectorName\": \"TestAzure2\",\n \"cxp\": \"US-EAST\",\n \"customerRegion\": \"westus\",\n \"size\": \"SMALL\",\n \"vnetId\": \"/subscriptions/34211a125-c6e3-2015-bc4e-84dbb14128f9/resourceGroups/itential-poc-resourcegroup/providers/Microsoft.Network/virtualNetworks/itential-poc-vnet1\",\n \"resourceGroupName\": \"itential-poc-resourcegroup\",\n \"subscriptionId\": \"34211a125-c6e3-2015-bc4e-84dbb14128f9\",\n \"group\": \"PROD_AZURE\",\n \"tenantNetworkId\": 170,\n \"enabled\": true\n}",
|
|
69
|
-
"exampleOutput": "{\n \"createdAzureVNETConnectorResult\": {\n \"icode\": \"AD.201\",\n \"response\": {\n \"id\": 11378,\n \"gatewaySubnetPrefix\": \"10.12.1.0/27\",\n \"name\": \"TestAzure2\",\n \"group\": \"PROD_AZURE\",\n \"groupId\": 17663,\n \"implicitGroupId\": 23390,\n \"vnetId\": \"/subscriptions/34211a125-c6e3-2015-bc4e-84dbb14128f9/resourceGroups/itential-poc-resourcegroup/providers/Microsoft.Network/virtualNetworks/itential-poc-vnet1\",\n \"cxp\": \"US-EAST\",\n \"customerRegion\": \"westus\",\n \"credentialId\": \"a39a474b-34f4-41b3-b684-95fd6024b2a9\",\n \"resourceGroupName\": \"itential-poc-resourcegroup\",\n \"enabled\": true,\n \"primary\": true,\n \"deploymentMode\": \"VGW\",\n \"connectionMode\": \"VNET_GATEWAY\",\n \"segments\": [\n \"CORP\"\n ],\n \"billingTags\": [],\n \"size\": \"SMALL\",\n \"vnetRouting\": {\n \"exportToCXPOptions\": {\n \"userInputPrefixes\": null\n },\n \"importFromCXPOptions\": {\n \"prefixListIds\": [],\n \"routeImportMode\": \"ADVERTISE_DEFAULT_ROUTE\",\n \"cidrs\": null,\n \"subnets\": null\n },\n \"serviceRoutes\": {\n \"cidrs\": null,\n \"subnets\": null\n }\n },\n \"subscriptionId\": \"34211a125-c6e3-2015-bc4e-84dbb14128f9\",\n \"configStatus\": {\n \"configValid\": true,\n \"messages\": []\n },\n \"vgwdeployment\": true\n }\n }\n}"
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
"name": "Create Internet Connector - Alkira",
|
|
73
|
-
"overview": "Creates Internet connector over Alkira Cloud Network as a Service.",
|
|
74
|
-
"webLink": "",
|
|
75
|
-
"exampleInput": "{\n \"adapterId\": \"alkira\",\n \"tenantNetworkId\": 170,\n \"cxp\": \"US-EAST\",\n \"connectorName\": \"TestConnectorName2\",\n \"segment\": \"CORP\",\n \"description\": \"Internet Connector\",\n \"group\": \"inet-zone\",\n \"algorithm\": \"HASHING\",\n \"keys\": \"DEFAULT\"\n}",
|
|
76
|
-
"exampleOutput": "{\n \"createdInternetConnectorResult\": {\n \"icode\": \"AD.201\",\n \"response\": {\n \"id\": 11375,\n \"name\": \"TestConnectorName2\",\n \"description\": \"Internet Connector\",\n \"group\": \"inet-zone\",\n \"groupId\": 20501,\n \"implicitGroupId\": 23387,\n \"cxp\": \"US-EAST\",\n \"segments\": [\n \"CORP\"\n ],\n \"billingTags\": [],\n \"size\": \"SMALL\",\n \"trafficDistribution\": {\n \"algorithm\": \"HASHING\",\n \"algorithmAttributes\": {\n \"keys\": \"DEFAULT\"\n }\n },\n \"numOfPublicIPs\": 2,\n \"enabled\": true\n }\n }\n}"
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
"name": "Create IPSec Connector - Alkira",
|
|
80
|
-
"overview": "Creates IPSec connector over Alkira Cloud Network as a Service.",
|
|
81
|
-
"webLink": "",
|
|
82
|
-
"exampleInput": "{\n \"adapterId\": \"alkira\",\n \"cxp\": \"US-EAST\",\n \"connectorName\": \"TestConnectorName\",\n \"siteName\": \"TestConnectorName-1\",\n \"customerGwIp\": \"10.20.30.40\",\n \"presharedKeys\": [\"abc\",\"xyz\"],\n \"size\": \"SMALL\",\n \"segmentName\": \"CORP\",\n \"segmentId\": 2878,\n \"tenantNetworkId\": 170\n}",
|
|
83
|
-
"exampleOutput": "{\n \"createdIPSecConnectorResult\": {\n \"icode\": \"AD.201\",\n \"response\": {\n \"id\": 11377,\n \"name\": \"TestConnectorName1\",\n \"segments\": [\n \"CORP\"\n ],\n \"segmentOptions\": {\n \"CORP\": {\n \"segmentId\": 2878,\n \"disableInternetExit\": true,\n \"advertiseOnPremRoutes\": false\n }\n },\n \"cxp\": \"US-EAST\",\n \"group\": \"OnPrem\",\n \"groupId\": 20028,\n \"implicitGroupId\": 23389,\n \"size\": \"SMALL\",\n \"sites\": [\n {\n \"id\": 3131,\n \"name\": \"TestConnectorName-1\",\n \"connectorId\": 11377,\n \"gatewayIpType\": \"STATIC\",\n \"gatewayNo\": 0,\n \"customerGwIp\": \"10.20.30.40\",\n \"presharedKeys\": [\n \"abc\",\n \"xyz\"\n ],\n \"state\": \"PENDING\",\n \"billingTags\": [],\n \"enableTunnelRedundancy\": true,\n \"haMode\": \"ACTIVE\",\n \"remoteAuthValueKey\": \"STATIC--\"\n }\n ],\n \"state\": \"PENDING\",\n \"type\": \"IP_SEC\",\n \"vpnMode\": \"ROUTE_BASED\",\n \"routingOptions\": {\n \"staticRouting\": null,\n \"dynamicRouting\": {\n \"customerGwAsn\": \"65000\",\n \"bgpAuthKeyAlkira\": null,\n \"availability\": \"IPSEC_INTERFACE_PING\"\n }\n },\n \"enabled\": true,\n \"primary\": true,\n \"secondaryCXPs\": []\n }\n }\n}"
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
"name": "Get ID for Segment - Alkira",
|
|
87
|
-
"overview": "Get ID for segment in Alkira Cloud Network as a Service.",
|
|
88
|
-
"webLink": "",
|
|
89
|
-
"exampleInput": "{\n \"adapterId\": \"alkira\",\n \"segmentName\": \"CORP\",\n \"tenantNetworkId\": 170\n}",
|
|
90
|
-
"exampleOutput": "2878"
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
"name": "Provision Palo Alto Firewall - Alkira",
|
|
94
|
-
"overview": "Provisions Palo Alto Firewall over Alkira Cloud Network as a Service.",
|
|
95
|
-
"webLink": "",
|
|
96
|
-
"exampleInput": "{\n \"adapterId\": \"alkira\",\n \"tenantNetworkId\": 170,\n \"username\": \"username\",\n \"password\": \"password\",\n \"name\": \"Firewall500\",\n \"cxp\": \"US-EAST\",\n \"version\": \"9.1.3\",\n \"segmentId\": 2878,\n \"segmentName\": \"CORP\",\n \"registrationPinValue\": \"2abfbad825a4233b8d1e243a07925a2c\",\n \"registrationPinId\": \"a52685ac-1fb8-4a90-b891-18cf9b461237\",\n \"expires\": \"Wed Aug 09 2023\",\n \"panoramaEnabled\": false,\n \"size\": \"SMALL\",\n \"licenseType\": \"PAY_AS_YOU_GO\",\n \"bundle\": \"VM_SERIES_BUNDLE_1\",\n \"maxInstanceCount\": 1,\n \"minInstanceCount\": 1,\n \"tunnelProtocol\": \"IPSEC\",\n \"globalProtectEnabled\": false,\n \"onPremZone\": [\"OnPrem\"],\n \"prodAwsZone\": [\"PROD-AWS\"],\n \"prodAzureZone\": [\"PROD_AZURE\"],\n \"inetZone\": [\"INET-Connector\"]\n}",
|
|
97
|
-
"exampleOutput": "{\n \"panFW\": {\n \"icode\": \"AD.201\",\n \"response\": {\n \"id\": 1527,\n \"name\": \"Firewall500\",\n \"cxp\": \"US-EAST\",\n \"segments\": [\n 2878\n ],\n \"panoramaEnabled\": false,\n \"managementSegment\": 2878,\n \"maxInstanceCount\": 1,\n \"minInstanceCount\": 1,\n \"licenseType\": \"PAY_AS_YOU_GO\",\n \"version\": \"9.1.3\",\n \"credentialId\": \"40a6186d-e691-4a81-8e1f-f4a43416af12\",\n \"instances\": [\n {\n \"id\": 1934,\n \"uniqueId\": \"c3d08fd9-2add-466b-af9c-c1cdabeb56aa\",\n \"name\": \"Firewall500\",\n \"credentialId\": \"96af7b91-426e-4c0e-b427-6cfa3402c846\",\n \"dormant\": false,\n \"hostName\": \"Firewall500\",\n \"masterKeyEnabled\": false,\n \"internalName\": \"svci-pan-afae0629-23fa-4f0a-85e7-432f6cc4\"\n }\n ],\n \"size\": \"SMALL\",\n \"segmentOptions\": {\n \"CORP\": {\n \"segmentId\": 2878,\n \"zonesToGroups\": {\n \"on-prem-zone\": [\n \"OnPrem\"\n ],\n \"ALKIRA_MGMT_ZONE\": [],\n \"prod-aws-zone\": [\n \"PROD-AWS\"\n ],\n \"prod-azure-zone\": [\n \"PROD_AZURE\"\n ],\n \"inet-zone\": [\n \"INET-Connector\"\n ]\n }\n }\n },\n \"billingTags\": [],\n \"tunnelProtocol\": \"IPSEC\",\n \"panWarmBootEnabled\": false,\n \"bundle\": \"VM_SERIES_BUNDLE_1\",\n \"globalProtectEnabled\": false,\n \"masterKeyEnabled\": false,\n \"registrationCredentialId\": \"a52685ac-1fb8-4a90-b891-18cf9b461237\",\n \"internalName\": \"svc-pan-14af6dba-bd57-4351-a322-fc13d784\",\n \"panSubLicenseType\": \"MODEL_BASED\"\n }\n }\n}"
|
|
98
|
-
}
|
|
99
|
-
]
|
|
70
|
+
"transformationProjects": [],
|
|
71
|
+
"exampleProjects": []
|
|
100
72
|
}
|
|
101
73
|
}
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@itentialopensource/adapter-alkira",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "This adapter integrates with system described as: alkiraApi.",
|
|
5
5
|
"main": "adapter.js",
|
|
6
6
|
"systemName": "Alkira",
|
|
7
7
|
"wizardVersion": "2.44.7",
|
|
8
|
-
"engineVersion": "1.67.
|
|
8
|
+
"engineVersion": "1.67.10",
|
|
9
9
|
"adapterType": "http",
|
|
10
10
|
"scripts": {
|
|
11
11
|
"artifactize": "npm i && node utils/packModificationScript.js",
|
|
@@ -54,12 +54,12 @@
|
|
|
54
54
|
"author": "Itential",
|
|
55
55
|
"homepage": "https://gitlab.com/itentialopensource/adapters/cloud/adapter-alkira#readme",
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"@itentialopensource/adapter-utils": "^5.
|
|
57
|
+
"@itentialopensource/adapter-utils": "^5.3.0",
|
|
58
|
+
"acorn": "^8.10.0",
|
|
58
59
|
"ajv": "^8.12.0",
|
|
59
60
|
"axios": "^1.4.0",
|
|
60
61
|
"commander": "^11.0.0",
|
|
61
62
|
"dns-lookup-promise": "^1.0.4",
|
|
62
|
-
"esprima": "^4.0.1",
|
|
63
63
|
"fs-extra": "^11.1.1",
|
|
64
64
|
"json-query": "^2.2.2",
|
|
65
65
|
"mocha": "^10.2.0",
|
package/propertiesSchema.json
CHANGED
|
@@ -109,6 +109,14 @@
|
|
|
109
109
|
},
|
|
110
110
|
"cache": {
|
|
111
111
|
"$ref": "#/definitions/cache"
|
|
112
|
+
},
|
|
113
|
+
"service": {
|
|
114
|
+
"type": "string",
|
|
115
|
+
"description": "Service we are integrating with -- used with AWS Authentication",
|
|
116
|
+
"examples": [
|
|
117
|
+
"ec2",
|
|
118
|
+
"route53"
|
|
119
|
+
]
|
|
112
120
|
}
|
|
113
121
|
},
|
|
114
122
|
"required": [
|
|
@@ -131,7 +139,8 @@
|
|
|
131
139
|
"jwt_token",
|
|
132
140
|
"request_token",
|
|
133
141
|
"no_authentication",
|
|
134
|
-
"multi_step_authentication"
|
|
142
|
+
"multi_step_authentication",
|
|
143
|
+
"aws_authentication"
|
|
135
144
|
]
|
|
136
145
|
},
|
|
137
146
|
"username": {
|
|
@@ -1063,6 +1072,38 @@
|
|
|
1063
1072
|
"description": "The method of the call to getDevicesFiltered",
|
|
1064
1073
|
"default": "GET"
|
|
1065
1074
|
},
|
|
1075
|
+
"pagination": {
|
|
1076
|
+
"type": "object",
|
|
1077
|
+
"description": "todo",
|
|
1078
|
+
"properties": {
|
|
1079
|
+
"offsetVar": {
|
|
1080
|
+
"type": "string",
|
|
1081
|
+
"description": "Name of variable that defines how to go to next set of results"
|
|
1082
|
+
},
|
|
1083
|
+
"limitVar": {
|
|
1084
|
+
"type": "string",
|
|
1085
|
+
"description": "Name of variable that defines the max results returned in a request"
|
|
1086
|
+
},
|
|
1087
|
+
"incrementBy": {
|
|
1088
|
+
"type": "string",
|
|
1089
|
+
"enum": [
|
|
1090
|
+
"limit",
|
|
1091
|
+
"page"
|
|
1092
|
+
],
|
|
1093
|
+
"description": "How to incremenet offset. Default limit",
|
|
1094
|
+
"default": "limit"
|
|
1095
|
+
},
|
|
1096
|
+
"requestLocation": {
|
|
1097
|
+
"type": "string",
|
|
1098
|
+
"enum": [
|
|
1099
|
+
"query",
|
|
1100
|
+
"body"
|
|
1101
|
+
],
|
|
1102
|
+
"description": "Where in request the pagination data goes",
|
|
1103
|
+
"default": "query"
|
|
1104
|
+
}
|
|
1105
|
+
}
|
|
1106
|
+
},
|
|
1066
1107
|
"query": {
|
|
1067
1108
|
"type": "object",
|
|
1068
1109
|
"description": "The json object with query parameters of the call to getDevicesFiltered",
|
|
@@ -1487,6 +1528,38 @@
|
|
|
1487
1528
|
"description": "The method of the call to getDevice",
|
|
1488
1529
|
"default": "GET"
|
|
1489
1530
|
},
|
|
1531
|
+
"pagination": {
|
|
1532
|
+
"type": "object",
|
|
1533
|
+
"description": "todo",
|
|
1534
|
+
"properties": {
|
|
1535
|
+
"offsetVar": {
|
|
1536
|
+
"type": "string",
|
|
1537
|
+
"description": "Name of variable that defines how to go to next set of results"
|
|
1538
|
+
},
|
|
1539
|
+
"limitVar": {
|
|
1540
|
+
"type": "string",
|
|
1541
|
+
"description": "Name of variable that defines the max results returned in a request"
|
|
1542
|
+
},
|
|
1543
|
+
"incrementBy": {
|
|
1544
|
+
"type": "string",
|
|
1545
|
+
"enum": [
|
|
1546
|
+
"limit",
|
|
1547
|
+
"page"
|
|
1548
|
+
],
|
|
1549
|
+
"description": "How to incremenet offset. Default limit",
|
|
1550
|
+
"default": "limit"
|
|
1551
|
+
},
|
|
1552
|
+
"requestLocation": {
|
|
1553
|
+
"type": "string",
|
|
1554
|
+
"enum": [
|
|
1555
|
+
"query",
|
|
1556
|
+
"body"
|
|
1557
|
+
],
|
|
1558
|
+
"description": "Where in request the pagination data goes",
|
|
1559
|
+
"default": "query"
|
|
1560
|
+
}
|
|
1561
|
+
}
|
|
1562
|
+
},
|
|
1490
1563
|
"query": {
|
|
1491
1564
|
"type": "object",
|
|
1492
1565
|
"description": "The json object with query parameters of the call to getDevice",
|
|
Binary file
|