@microsoft/dev-tunnels-contracts 1.0.7316-gf98d631190

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.
Files changed (115) hide show
  1. package/README.md +2 -0
  2. package/clusterDetails.d.ts +20 -0
  3. package/clusterDetails.d.ts.map +1 -0
  4. package/clusterDetails.js +7 -0
  5. package/clusterDetails.js.map +1 -0
  6. package/index.d.ts +18 -0
  7. package/index.d.ts.map +1 -0
  8. package/index.js +22 -0
  9. package/index.js.map +1 -0
  10. package/localNetworkTunnelEndpoint.d.ts +21 -0
  11. package/localNetworkTunnelEndpoint.d.ts.map +1 -0
  12. package/localNetworkTunnelEndpoint.js +7 -0
  13. package/localNetworkTunnelEndpoint.js.map +1 -0
  14. package/package.json +15 -0
  15. package/problemDetails.d.ts +25 -0
  16. package/problemDetails.d.ts.map +1 -0
  17. package/problemDetails.js +7 -0
  18. package/problemDetails.js.map +1 -0
  19. package/rateStatus.d.ts +21 -0
  20. package/rateStatus.d.ts.map +1 -0
  21. package/rateStatus.js +7 -0
  22. package/rateStatus.js.map +1 -0
  23. package/resourceStatus.d.ts +18 -0
  24. package/resourceStatus.d.ts.map +1 -0
  25. package/resourceStatus.js +7 -0
  26. package/resourceStatus.js.map +1 -0
  27. package/serviceVersionDetails.d.ts +27 -0
  28. package/serviceVersionDetails.d.ts.map +1 -0
  29. package/serviceVersionDetails.js +7 -0
  30. package/serviceVersionDetails.js.map +1 -0
  31. package/tsbuildinfo.json +1 -0
  32. package/tunnel.d.ts +79 -0
  33. package/tunnel.d.ts.map +1 -0
  34. package/tunnel.js +7 -0
  35. package/tunnel.js.map +1 -0
  36. package/tunnelAccessControl.d.ts +28 -0
  37. package/tunnelAccessControl.d.ts.map +1 -0
  38. package/tunnelAccessControl.js +14 -0
  39. package/tunnelAccessControl.js.map +1 -0
  40. package/tunnelAccessControlEntry.d.ts +80 -0
  41. package/tunnelAccessControlEntry.d.ts.map +1 -0
  42. package/tunnelAccessControlEntry.js +40 -0
  43. package/tunnelAccessControlEntry.js.map +1 -0
  44. package/tunnelAccessControlEntryType.d.ts +46 -0
  45. package/tunnelAccessControlEntryType.d.ts.map +1 -0
  46. package/tunnelAccessControlEntryType.js +54 -0
  47. package/tunnelAccessControlEntryType.js.map +1 -0
  48. package/tunnelAccessControlStatics.d.ts +11 -0
  49. package/tunnelAccessControlStatics.d.ts.map +1 -0
  50. package/tunnelAccessControlStatics.js +47 -0
  51. package/tunnelAccessControlStatics.js.map +1 -0
  52. package/tunnelAccessScopes.d.ts +39 -0
  53. package/tunnelAccessScopes.d.ts.map +1 -0
  54. package/tunnelAccessScopes.js +47 -0
  55. package/tunnelAccessScopes.js.map +1 -0
  56. package/tunnelAccessSubject.d.ts +40 -0
  57. package/tunnelAccessSubject.d.ts.map +1 -0
  58. package/tunnelAccessSubject.js +7 -0
  59. package/tunnelAccessSubject.js.map +1 -0
  60. package/tunnelAuthenticationSchemes.d.ts +18 -0
  61. package/tunnelAuthenticationSchemes.d.ts.map +1 -0
  62. package/tunnelAuthenticationSchemes.js +26 -0
  63. package/tunnelAuthenticationSchemes.js.map +1 -0
  64. package/tunnelConnectionMode.d.ts +20 -0
  65. package/tunnelConnectionMode.d.ts.map +1 -0
  66. package/tunnelConnectionMode.js +28 -0
  67. package/tunnelConnectionMode.js.map +1 -0
  68. package/tunnelConstraints.d.ts +54 -0
  69. package/tunnelConstraints.d.ts.map +1 -0
  70. package/tunnelConstraints.js +62 -0
  71. package/tunnelConstraints.js.map +1 -0
  72. package/tunnelEndpoint.d.ts +73 -0
  73. package/tunnelEndpoint.d.ts.map +1 -0
  74. package/tunnelEndpoint.js +21 -0
  75. package/tunnelEndpoint.js.map +1 -0
  76. package/tunnelEndpointStatics.d.ts +20 -0
  77. package/tunnelEndpointStatics.d.ts.map +1 -0
  78. package/tunnelEndpointStatics.js +49 -0
  79. package/tunnelEndpointStatics.js.map +1 -0
  80. package/tunnelHeaderNames.d.ts +28 -0
  81. package/tunnelHeaderNames.d.ts.map +1 -0
  82. package/tunnelHeaderNames.js +36 -0
  83. package/tunnelHeaderNames.js.map +1 -0
  84. package/tunnelOptions.d.ts +12 -0
  85. package/tunnelOptions.d.ts.map +1 -0
  86. package/tunnelOptions.js +7 -0
  87. package/tunnelOptions.js.map +1 -0
  88. package/tunnelPort.d.ts +71 -0
  89. package/tunnelPort.d.ts.map +1 -0
  90. package/tunnelPort.js +7 -0
  91. package/tunnelPort.js.map +1 -0
  92. package/tunnelPortStatus.d.ts +40 -0
  93. package/tunnelPortStatus.d.ts.map +1 -0
  94. package/tunnelPortStatus.js +7 -0
  95. package/tunnelPortStatus.js.map +1 -0
  96. package/tunnelProtocol.d.ts +34 -0
  97. package/tunnelProtocol.d.ts.map +1 -0
  98. package/tunnelProtocol.js +42 -0
  99. package/tunnelProtocol.js.map +1 -0
  100. package/tunnelRelayTunnelEndpoint.d.ts +15 -0
  101. package/tunnelRelayTunnelEndpoint.d.ts.map +1 -0
  102. package/tunnelRelayTunnelEndpoint.js +7 -0
  103. package/tunnelRelayTunnelEndpoint.js.map +1 -0
  104. package/tunnelServiceProperties.d.ts +100 -0
  105. package/tunnelServiceProperties.d.ts.map +1 -0
  106. package/tunnelServiceProperties.js +78 -0
  107. package/tunnelServiceProperties.js.map +1 -0
  108. package/tunnelServicePropertiesStatics.d.ts +18 -0
  109. package/tunnelServicePropertiesStatics.d.ts.map +1 -0
  110. package/tunnelServicePropertiesStatics.js +56 -0
  111. package/tunnelServicePropertiesStatics.js.map +1 -0
  112. package/tunnelStatus.d.ts +67 -0
  113. package/tunnelStatus.d.ts.map +1 -0
  114. package/tunnelStatus.js +7 -0
  115. package/tunnelStatus.js.map +1 -0
@@ -0,0 +1,73 @@
1
+ import { TunnelConnectionMode } from './tunnelConnectionMode';
2
+ /**
3
+ * Base class for tunnel connection parameters.
4
+ *
5
+ * A tunnel endpoint specifies how and where hosts and clients can connect to a tunnel.
6
+ * There is a subclass for each connection mode, each having different connection
7
+ * parameters. A tunnel may have multiple endpoints for one host (or multiple hosts), and
8
+ * clients can select their preferred endpoint(s) from those depending on network
9
+ * environment or client capabilities.
10
+ */
11
+ export interface TunnelEndpoint {
12
+ /**
13
+ * Gets or sets the connection mode of the endpoint.
14
+ *
15
+ * This property is required when creating or updating an endpoint. The subclass type
16
+ * is also an indication of the connection mode, but this property is necessary to
17
+ * determine the subclass type when deserializing.
18
+ */
19
+ connectionMode: TunnelConnectionMode;
20
+ /**
21
+ * Gets or sets the ID of the host that is listening on this endpoint.
22
+ *
23
+ * This property is required when creating or updating an endpoint. If the host
24
+ * supports multiple connection modes, the host's ID is the same for all the endpoints
25
+ * it supports. However different hosts may simultaneously accept connections at
26
+ * different endpoints for the same tunnel, if enabled in tunnel options.
27
+ */
28
+ hostId: string;
29
+ /**
30
+ * Gets or sets an array of public keys, which can be used by clients to authenticate
31
+ * the host.
32
+ */
33
+ hostPublicKeys?: string[];
34
+ /**
35
+ * Gets or sets a string used to format URIs where a web client can connect to ports
36
+ * of the tunnel. The string includes a {@link TunnelEndpoint.portToken} that must be
37
+ * replaced with the actual port number.
38
+ */
39
+ portUriFormat?: string;
40
+ /**
41
+ * Gets or sets the URI where a web client can connect to the default port of the
42
+ * tunnel.
43
+ */
44
+ tunnelUri?: string;
45
+ /**
46
+ * Gets or sets a string used to format ssh command where ssh client can connect to
47
+ * shared ssh port of the tunnel. The string includes a {@link
48
+ * TunnelEndpoint.portToken} that must be replaced with the actual port number.
49
+ */
50
+ portSshCommandFormat?: string;
51
+ /**
52
+ * Gets or sets the Ssh command where the Ssh client can connect to the default ssh
53
+ * port of the tunnel.
54
+ */
55
+ tunnelSshCommand?: string;
56
+ /**
57
+ * Gets or sets the Ssh gateway public key which should be added to the
58
+ * authorized_keys file so that tunnel service can connect to the shared ssh server.
59
+ */
60
+ sshGatewayPublicKey?: string;
61
+ }
62
+ /**
63
+ * Token included in {@link TunnelEndpoint.portUriFormat} and {@link
64
+ * TunnelEndpoint.portSshCommandFormat} that is to be replaced by a specified port number.
65
+ */
66
+ export declare const portToken = "{port}";
67
+ import { getPortUri, getPortSshCommand } from './tunnelEndpointStatics';
68
+ export declare const TunnelEndpoint: {
69
+ portToken: string;
70
+ getPortUri: typeof getPortUri;
71
+ getPortSshCommand: typeof getPortSshCommand;
72
+ };
73
+ //# sourceMappingURL=tunnelEndpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunnelEndpoint.d.ts","sourceRoot":"","sources":["../../../src/contracts/tunnelEndpoint.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC3B;;;;;;OAMG;IACH,cAAc,EAAE,oBAAoB,CAAC;IAErC;;;;;;;OAOG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;GAGG;AACH,eAAO,MAAM,SAAS,WAAW,CAAC;AAIlC,OAAO,EACH,UAAU,EACV,iBAAiB,EACpB,MAAM,yBAAyB,CAAC;AAEjC,eAAO,MAAM,cAAc;;;;CAI1B,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT license.
4
+ // Generated from ../../../cs/src/Contracts/TunnelEndpoint.cs
5
+ /* eslint-disable */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.TunnelEndpoint = exports.portToken = void 0;
8
+ /**
9
+ * Token included in {@link TunnelEndpoint.portUriFormat} and {@link
10
+ * TunnelEndpoint.portSshCommandFormat} that is to be replaced by a specified port number.
11
+ */
12
+ exports.portToken = '{port}';
13
+ // Import static members from a non-generated file,
14
+ // and re-export them as an object with the same name as the interface.
15
+ const tunnelEndpointStatics_1 = require("./tunnelEndpointStatics");
16
+ exports.TunnelEndpoint = {
17
+ portToken: exports.portToken,
18
+ getPortUri: tunnelEndpointStatics_1.getPortUri,
19
+ getPortSshCommand: tunnelEndpointStatics_1.getPortSshCommand,
20
+ };
21
+ //# sourceMappingURL=tunnelEndpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunnelEndpoint.js","sourceRoot":"","sources":["../../../src/contracts/tunnelEndpoint.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;AAClC,6DAA6D;AAC7D,oBAAoB;;;AAwEpB;;;GAGG;AACU,QAAA,SAAS,GAAG,QAAQ,CAAC;AAElC,mDAAmD;AACnD,uEAAuE;AACvE,mEAGiC;AAEpB,QAAA,cAAc,GAAG;IAC1B,SAAS,EAAT,iBAAS;IACT,UAAU,EAAV,kCAAU;IACV,iBAAiB,EAAjB,yCAAiB;CACpB,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { TunnelEndpoint as ITunnelEndpoint } from './tunnelEndpoint';
2
+ /**
3
+ * Gets a URI where a web client can connect to a tunnel port.
4
+ *
5
+ * Requests to the URI may result in HTTP 307 redirections, so the client may need to
6
+ * follow the redirection in order to connect to the port.
7
+ *
8
+ * If the port is not currently shared via the tunnel, or if a host is not currently
9
+ * connected to the tunnel, then requests to the port URI may result in a 502 Bad Gateway
10
+ * response.
11
+ *
12
+ * @param endpoint The tunnel endpoint containing connection information.
13
+ * @param portNumber The port number to connect to; the port is assumed to be
14
+ * separately shared by a tunnel host.
15
+ * @returns URI for the requested port, or `undefined` if the endpoint does not support
16
+ * web client connections.
17
+ */
18
+ export declare function getPortUri(endpoint: ITunnelEndpoint, portNumber?: number): string | undefined;
19
+ export declare function getPortSshCommand(endpoint: ITunnelEndpoint, portNumber?: number): string | undefined;
20
+ //# sourceMappingURL=tunnelEndpointStatics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunnelEndpointStatics.d.ts","sourceRoot":"","sources":["../../../src/contracts/tunnelEndpointStatics.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,IAAI,eAAe,EAAa,MAAM,kBAAkB,CAAC;AAEhF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,eAAe,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAc7F;AAED,wBAAgB,iBAAiB,CAC7B,QAAQ,EAAE,eAAe,EACzB,UAAU,CAAC,EAAE,MAAM,GACpB,MAAM,GAAG,SAAS,CAcpB"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT license.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.getPortSshCommand = exports.getPortUri = void 0;
6
+ const tunnelEndpoint_1 = require("./tunnelEndpoint");
7
+ /**
8
+ * Gets a URI where a web client can connect to a tunnel port.
9
+ *
10
+ * Requests to the URI may result in HTTP 307 redirections, so the client may need to
11
+ * follow the redirection in order to connect to the port.
12
+ *
13
+ * If the port is not currently shared via the tunnel, or if a host is not currently
14
+ * connected to the tunnel, then requests to the port URI may result in a 502 Bad Gateway
15
+ * response.
16
+ *
17
+ * @param endpoint The tunnel endpoint containing connection information.
18
+ * @param portNumber The port number to connect to; the port is assumed to be
19
+ * separately shared by a tunnel host.
20
+ * @returns URI for the requested port, or `undefined` if the endpoint does not support
21
+ * web client connections.
22
+ */
23
+ function getPortUri(endpoint, portNumber) {
24
+ if (!endpoint) {
25
+ throw new TypeError('A tunnel endpoint is required.');
26
+ }
27
+ if (typeof portNumber !== 'number' && !endpoint.tunnelUri) {
28
+ return endpoint.tunnelUri;
29
+ }
30
+ if (typeof portNumber !== 'number' || !endpoint.portUriFormat) {
31
+ return undefined;
32
+ }
33
+ return endpoint.portUriFormat.replace(tunnelEndpoint_1.portToken, portNumber.toString());
34
+ }
35
+ exports.getPortUri = getPortUri;
36
+ function getPortSshCommand(endpoint, portNumber) {
37
+ if (!endpoint) {
38
+ throw new TypeError('A tunnel endpoint is required.');
39
+ }
40
+ if (typeof portNumber !== 'number' && !endpoint.tunnelSshCommand) {
41
+ return endpoint.tunnelSshCommand;
42
+ }
43
+ if (typeof portNumber !== 'number' || !endpoint.portSshCommandFormat) {
44
+ return undefined;
45
+ }
46
+ return endpoint.portSshCommandFormat.replace(tunnelEndpoint_1.portToken, portNumber.toString());
47
+ }
48
+ exports.getPortSshCommand = getPortSshCommand;
49
+ //# sourceMappingURL=tunnelEndpointStatics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunnelEndpointStatics.js","sourceRoot":"","sources":["../../../src/contracts/tunnelEndpointStatics.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,qDAAgF;AAEhF;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,UAAU,CAAC,QAAyB,EAAE,UAAmB;IACrE,IAAI,CAAC,QAAQ,EAAE;QACX,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;KACzD;IAED,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;QACvD,OAAO,QAAQ,CAAC,SAAS,CAAC;KAC7B;IAED,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;QAC3D,OAAO,SAAS,CAAC;KACpB;IAED,OAAO,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,0BAAS,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC5E,CAAC;AAdD,gCAcC;AAED,SAAgB,iBAAiB,CAC7B,QAAyB,EACzB,UAAmB;IAEnB,IAAI,CAAC,QAAQ,EAAE;QACX,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;KACzD;IAED,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE;QAC9D,OAAO,QAAQ,CAAC,gBAAgB,CAAC;KACpC;IAED,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE;QAClE,OAAO,SAAS,CAAC;KACpB;IAED,OAAO,QAAQ,CAAC,oBAAoB,CAAC,OAAO,CAAC,0BAAS,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;AACnF,CAAC;AAjBD,8CAiBC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Header names for http requests that Tunnel Service can handle
3
+ */
4
+ export declare enum TunnelHeaderNames {
5
+ /**
6
+ * Additional authorization header that can be passed to tunnel web forwarding to
7
+ * authenticate and authorize the client. The format of the value is the same as
8
+ * Authorization header that is sent to the Tunnel service by the tunnel SDK.
9
+ * Supported schemes: "tunnel" with the tunnel access JWT good for 'Connect' scope.
10
+ */
11
+ XTunnelAuthorization = "X-Tunnel-Authorization",
12
+ /**
13
+ * Request ID header that nginx ingress controller adds to all requests if it's not
14
+ * there.
15
+ */
16
+ XRequestID = "X-Request-ID",
17
+ /**
18
+ * Github Ssh public key which can be used to validate if it belongs to tunnel's
19
+ * owner.
20
+ */
21
+ XGithubSshKey = "X-Github-Ssh-Key",
22
+ /**
23
+ * Header that will skip the antiphishing page when connection to a tunnel through web
24
+ * forwarding.
25
+ */
26
+ XTunnelSkipPhishing = "X-Tunnel-Skip-Phishing-Page"
27
+ }
28
+ //# sourceMappingURL=tunnelHeaderNames.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunnelHeaderNames.d.ts","sourceRoot":"","sources":["../../../src/contracts/tunnelHeaderNames.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,oBAAY,iBAAiB;IACzB;;;;;OAKG;IACH,oBAAoB,2BAA2B;IAE/C;;;OAGG;IACH,UAAU,iBAAiB;IAE3B;;;OAGG;IACH,aAAa,qBAAqB;IAElC;;;OAGG;IACH,mBAAmB,gCAAgC;CACtD"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT license.
4
+ // Generated from ../../../cs/src/Contracts/TunnelHeaderNames.cs
5
+ /* eslint-disable */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.TunnelHeaderNames = void 0;
8
+ /**
9
+ * Header names for http requests that Tunnel Service can handle
10
+ */
11
+ var TunnelHeaderNames;
12
+ (function (TunnelHeaderNames) {
13
+ /**
14
+ * Additional authorization header that can be passed to tunnel web forwarding to
15
+ * authenticate and authorize the client. The format of the value is the same as
16
+ * Authorization header that is sent to the Tunnel service by the tunnel SDK.
17
+ * Supported schemes: "tunnel" with the tunnel access JWT good for 'Connect' scope.
18
+ */
19
+ TunnelHeaderNames["XTunnelAuthorization"] = "X-Tunnel-Authorization";
20
+ /**
21
+ * Request ID header that nginx ingress controller adds to all requests if it's not
22
+ * there.
23
+ */
24
+ TunnelHeaderNames["XRequestID"] = "X-Request-ID";
25
+ /**
26
+ * Github Ssh public key which can be used to validate if it belongs to tunnel's
27
+ * owner.
28
+ */
29
+ TunnelHeaderNames["XGithubSshKey"] = "X-Github-Ssh-Key";
30
+ /**
31
+ * Header that will skip the antiphishing page when connection to a tunnel through web
32
+ * forwarding.
33
+ */
34
+ TunnelHeaderNames["XTunnelSkipPhishing"] = "X-Tunnel-Skip-Phishing-Page";
35
+ })(TunnelHeaderNames = exports.TunnelHeaderNames || (exports.TunnelHeaderNames = {}));
36
+ //# sourceMappingURL=tunnelHeaderNames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunnelHeaderNames.js","sourceRoot":"","sources":["../../../src/contracts/tunnelHeaderNames.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;AAClC,gEAAgE;AAChE,oBAAoB;;;AAEpB;;GAEG;AACH,IAAY,iBA0BX;AA1BD,WAAY,iBAAiB;IACzB;;;;;OAKG;IACH,oEAA+C,CAAA;IAE/C;;;OAGG;IACH,gDAA2B,CAAA;IAE3B;;;OAGG;IACH,uDAAkC,CAAA;IAElC;;;OAGG;IACH,wEAAmD,CAAA;AACvD,CAAC,EA1BW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QA0B5B"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Data contract for {@link Tunnel} or {@link TunnelPort} options.
3
+ */
4
+ export interface TunnelOptions {
5
+ /**
6
+ * Gets or sets a value indicating whether web-forwarding of this tunnel can run on
7
+ * any cluster (region) without redirecting to the home cluster. This is only
8
+ * applicable if the tunnel has a name and web-forwarding uses it.
9
+ */
10
+ isGloballyAvailable?: boolean;
11
+ }
12
+ //# sourceMappingURL=tunnelOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunnelOptions.d.ts","sourceRoot":"","sources":["../../../src/contracts/tunnelOptions.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT license.
4
+ // Generated from ../../../cs/src/Contracts/TunnelOptions.cs
5
+ /* eslint-disable */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=tunnelOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunnelOptions.js","sourceRoot":"","sources":["../../../src/contracts/tunnelOptions.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;AAClC,4DAA4D;AAC5D,oBAAoB"}
@@ -0,0 +1,71 @@
1
+ import { TunnelAccessControl } from './tunnelAccessControl';
2
+ import { TunnelOptions } from './tunnelOptions';
3
+ import { TunnelPortStatus } from './tunnelPortStatus';
4
+ /**
5
+ * Data contract for tunnel port objects managed through the tunnel service REST API.
6
+ */
7
+ export interface TunnelPort {
8
+ /**
9
+ * Gets or sets the ID of the cluster the tunnel was created in.
10
+ */
11
+ clusterId?: string;
12
+ /**
13
+ * Gets or sets the generated ID of the tunnel, unique within the cluster.
14
+ */
15
+ tunnelId?: string;
16
+ /**
17
+ * Gets or sets the IP port number of the tunnel port.
18
+ */
19
+ portNumber: number;
20
+ /**
21
+ * Gets or sets the optional short name of the port.
22
+ *
23
+ * The name must be unique among named ports of the same tunnel.
24
+ */
25
+ name?: string;
26
+ /**
27
+ * Gets or sets the optional description of the port.
28
+ */
29
+ description?: string;
30
+ /**
31
+ * Gets or sets the tags of the port.
32
+ */
33
+ tags?: string[];
34
+ /**
35
+ * Gets or sets the protocol of the tunnel port.
36
+ *
37
+ * Should be one of the string constants from {@link TunnelProtocol}.
38
+ */
39
+ protocol?: string;
40
+ /**
41
+ * Gets or sets a dictionary mapping from scopes to tunnel access tokens.
42
+ *
43
+ * Unlike the tokens in {@link Tunnel.accessTokens}, these tokens are restricted to
44
+ * the individual port.
45
+ */
46
+ accessTokens?: {
47
+ [scope: string]: string;
48
+ };
49
+ /**
50
+ * Gets or sets access control settings for the tunnel port.
51
+ *
52
+ * See {@link TunnelAccessControl} documentation for details about the access control
53
+ * model.
54
+ */
55
+ accessControl?: TunnelAccessControl;
56
+ /**
57
+ * Gets or sets options for the tunnel port.
58
+ */
59
+ options?: TunnelOptions;
60
+ /**
61
+ * Gets or sets current connection status of the tunnel port.
62
+ */
63
+ status?: TunnelPortStatus;
64
+ /**
65
+ * Gets or sets the username for the ssh service user is trying to forward.
66
+ *
67
+ * Should be provided if the {@link TunnelProtocol} is Ssh.
68
+ */
69
+ sshUser?: string;
70
+ }
71
+ //# sourceMappingURL=tunnelPort.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunnelPort.d.ts","sourceRoot":"","sources":["../../../src/contracts/tunnelPort.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,YAAY,CAAC,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAE3C;;;;;OAKG;IACH,aAAa,CAAC,EAAE,mBAAmB,CAAC;IAEpC;;OAEG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB;;OAEG;IACH,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAE1B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB"}
package/tunnelPort.js ADDED
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT license.
4
+ // Generated from ../../../cs/src/Contracts/TunnelPort.cs
5
+ /* eslint-disable */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=tunnelPort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunnelPort.js","sourceRoot":"","sources":["../../../src/contracts/tunnelPort.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;AAClC,yDAAyD;AACzD,oBAAoB"}
@@ -0,0 +1,40 @@
1
+ import { RateStatus } from './rateStatus';
2
+ import { ResourceStatus } from './resourceStatus';
3
+ /**
4
+ * Data contract for {@link TunnelPort} status.
5
+ */
6
+ export interface TunnelPortStatus {
7
+ /**
8
+ * Gets or sets the current value and limit for the number of clients connected to the
9
+ * port.
10
+ *
11
+ * This client connection count does not include non-port-specific connections such as
12
+ * SDK and SSH clients. See {@link TunnelStatus.clientConnectionCount} for status of
13
+ * those connections. This count also does not include HTTP client connections,
14
+ * unless they are upgraded to websockets. HTTP connections are counted per-request
15
+ * rather than per-connection: see {@link TunnelPortStatus.httpRequestRate}.
16
+ */
17
+ clientConnectionCount?: number | ResourceStatus;
18
+ /**
19
+ * Gets or sets the UTC date time when a client was last connected to the port, or
20
+ * null if a client has never connected.
21
+ */
22
+ lastClientConnectionTime?: Date;
23
+ /**
24
+ * Gets or sets the current value and limit for the rate of client connections to the
25
+ * tunnel port.
26
+ *
27
+ * This client connection rate does not count non-port-specific connections such as
28
+ * SDK and SSH clients. See {@link TunnelStatus.clientConnectionRate} for those
29
+ * connection types. This also does not include HTTP connections, unless they are
30
+ * upgraded to websockets. HTTP connections are counted per-request rather than
31
+ * per-connection: see {@link TunnelPortStatus.httpRequestRate}.
32
+ */
33
+ clientConnectionRate?: RateStatus;
34
+ /**
35
+ * Gets or sets the current value and limit for the rate of HTTP requests to the
36
+ * tunnel port.
37
+ */
38
+ httpRequestRate?: RateStatus;
39
+ }
40
+ //# sourceMappingURL=tunnelPortStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunnelPortStatus.d.ts","sourceRoot":"","sources":["../../../src/contracts/tunnelPortStatus.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;;;;;;;;OASG;IACH,qBAAqB,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IAEhD;;;OAGG;IACH,wBAAwB,CAAC,EAAE,IAAI,CAAC;IAEhC;;;;;;;;;OASG;IACH,oBAAoB,CAAC,EAAE,UAAU,CAAC;IAElC;;;OAGG;IACH,eAAe,CAAC,EAAE,UAAU,CAAC;CAChC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT license.
4
+ // Generated from ../../../cs/src/Contracts/TunnelPortStatus.cs
5
+ /* eslint-disable */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=tunnelPortStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunnelPortStatus.js","sourceRoot":"","sources":["../../../src/contracts/tunnelPortStatus.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;AAClC,+DAA+D;AAC/D,oBAAoB"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Defines possible values for the protocol of a {@link TunnelPort}.
3
+ */
4
+ export declare enum TunnelProtocol {
5
+ /**
6
+ * The protocol is automatically detected. (TODO: Define detection semantics.)
7
+ */
8
+ Auto = "auto",
9
+ /**
10
+ * Unknown TCP protocol.
11
+ */
12
+ Tcp = "tcp",
13
+ /**
14
+ * Unknown UDP protocol.
15
+ */
16
+ Udp = "udp",
17
+ /**
18
+ * SSH protocol.
19
+ */
20
+ Ssh = "ssh",
21
+ /**
22
+ * Remote desktop protocol.
23
+ */
24
+ Rdp = "rdp",
25
+ /**
26
+ * HTTP protocol.
27
+ */
28
+ Http = "http",
29
+ /**
30
+ * HTTPS protocol.
31
+ */
32
+ Https = "https"
33
+ }
34
+ //# sourceMappingURL=tunnelProtocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunnelProtocol.d.ts","sourceRoot":"","sources":["../../../src/contracts/tunnelProtocol.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,oBAAY,cAAc;IACtB;;OAEG;IACH,IAAI,SAAS;IAEb;;OAEG;IACH,GAAG,QAAQ;IAEX;;OAEG;IACH,GAAG,QAAQ;IAEX;;OAEG;IACH,GAAG,QAAQ;IAEX;;OAEG;IACH,GAAG,QAAQ;IAEX;;OAEG;IACH,IAAI,SAAS;IAEb;;OAEG;IACH,KAAK,UAAU;CAClB"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT license.
4
+ // Generated from ../../../cs/src/Contracts/TunnelProtocol.cs
5
+ /* eslint-disable */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.TunnelProtocol = void 0;
8
+ /**
9
+ * Defines possible values for the protocol of a {@link TunnelPort}.
10
+ */
11
+ var TunnelProtocol;
12
+ (function (TunnelProtocol) {
13
+ /**
14
+ * The protocol is automatically detected. (TODO: Define detection semantics.)
15
+ */
16
+ TunnelProtocol["Auto"] = "auto";
17
+ /**
18
+ * Unknown TCP protocol.
19
+ */
20
+ TunnelProtocol["Tcp"] = "tcp";
21
+ /**
22
+ * Unknown UDP protocol.
23
+ */
24
+ TunnelProtocol["Udp"] = "udp";
25
+ /**
26
+ * SSH protocol.
27
+ */
28
+ TunnelProtocol["Ssh"] = "ssh";
29
+ /**
30
+ * Remote desktop protocol.
31
+ */
32
+ TunnelProtocol["Rdp"] = "rdp";
33
+ /**
34
+ * HTTP protocol.
35
+ */
36
+ TunnelProtocol["Http"] = "http";
37
+ /**
38
+ * HTTPS protocol.
39
+ */
40
+ TunnelProtocol["Https"] = "https";
41
+ })(TunnelProtocol = exports.TunnelProtocol || (exports.TunnelProtocol = {}));
42
+ //# sourceMappingURL=tunnelProtocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunnelProtocol.js","sourceRoot":"","sources":["../../../src/contracts/tunnelProtocol.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;AAClC,6DAA6D;AAC7D,oBAAoB;;;AAEpB;;GAEG;AACH,IAAY,cAmCX;AAnCD,WAAY,cAAc;IACtB;;OAEG;IACH,+BAAa,CAAA;IAEb;;OAEG;IACH,6BAAW,CAAA;IAEX;;OAEG;IACH,6BAAW,CAAA;IAEX;;OAEG;IACH,6BAAW,CAAA;IAEX;;OAEG;IACH,6BAAW,CAAA;IAEX;;OAEG;IACH,+BAAa,CAAA;IAEb;;OAEG;IACH,iCAAe,CAAA;AACnB,CAAC,EAnCW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAmCzB"}
@@ -0,0 +1,15 @@
1
+ import { TunnelEndpoint } from './tunnelEndpoint';
2
+ /**
3
+ * Parameters for connecting to a tunnel via the tunnel service's built-in relay function.
4
+ */
5
+ export interface TunnelRelayTunnelEndpoint extends TunnelEndpoint {
6
+ /**
7
+ * Gets or sets the host URI.
8
+ */
9
+ hostRelayUri?: string;
10
+ /**
11
+ * Gets or sets the client URI.
12
+ */
13
+ clientRelayUri?: string;
14
+ }
15
+ //# sourceMappingURL=tunnelRelayTunnelEndpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunnelRelayTunnelEndpoint.d.ts","sourceRoot":"","sources":["../../../src/contracts/tunnelRelayTunnelEndpoint.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,cAAc;IAC7D;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT license.
4
+ // Generated from ../../../cs/src/Contracts/TunnelRelayTunnelEndpoint.cs
5
+ /* eslint-disable */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=tunnelRelayTunnelEndpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunnelRelayTunnelEndpoint.js","sourceRoot":"","sources":["../../../src/contracts/tunnelRelayTunnelEndpoint.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;AAClC,wEAAwE;AACxE,oBAAoB"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Provides environment-dependent properties about the service.
3
+ */
4
+ export interface TunnelServiceProperties {
5
+ /**
6
+ * Gets the base URI of the service.
7
+ */
8
+ serviceUri: string;
9
+ /**
10
+ * Gets the public AAD AppId for the service.
11
+ *
12
+ * Clients specify this AppId as the audience property when authenticating to the
13
+ * service.
14
+ */
15
+ serviceAppId: string;
16
+ /**
17
+ * Gets the internal AAD AppId for the service.
18
+ *
19
+ * Other internal services specify this AppId as the audience property when
20
+ * authenticating to the tunnel service. Production services must be in the AME tenant
21
+ * to use this appid.
22
+ */
23
+ serviceInternalAppId: string;
24
+ /**
25
+ * Gets the client ID for the service's GitHub app.
26
+ *
27
+ * Clients apps that authenticate tunnel users with GitHub specify this as the client
28
+ * ID when requesting a user token.
29
+ */
30
+ gitHubAppClientId: string;
31
+ }
32
+ /**
33
+ * Global DNS name of the production tunnel service.
34
+ */
35
+ export declare const prodDnsName = "global.rel.tunnels.api.visualstudio.com";
36
+ /**
37
+ * Global DNS name of the pre-production tunnel service.
38
+ */
39
+ export declare const ppeDnsName = "global.rel.tunnels.ppe.api.visualstudio.com";
40
+ /**
41
+ * Global DNS name of the development tunnel service.
42
+ */
43
+ export declare const devDnsName = "global.ci.tunnels.dev.api.visualstudio.com";
44
+ /**
45
+ * First-party app ID: `Visual Studio Tunnel Service`
46
+ *
47
+ * Used for authenticating AAD/MSA users, and service principals outside the AME tenant,
48
+ * in the PROD service environment.
49
+ */
50
+ export declare const prodFirstPartyAppId = "46da2f7e-b5ef-422a-88d4-2a7f9de6a0b2";
51
+ /**
52
+ * First-party app ID: `Visual Studio Tunnel Service - Test`
53
+ *
54
+ * Used for authenticating AAD/MSA users, and service principals outside the AME tenant,
55
+ * in the PPE and DEV service environments.
56
+ */
57
+ export declare const nonProdFirstPartyAppId = "54c45752-bacd-424a-b928-652f3eca2b18";
58
+ /**
59
+ * Third-party app ID: `tunnels-prod-app-sp`
60
+ *
61
+ * Used for authenticating internal AAD service principals in the AME tenant, in the PROD
62
+ * service environment.
63
+ */
64
+ export declare const prodThirdPartyAppId = "ce65d243-a913-4cae-a7dd-cb52e9f77647";
65
+ /**
66
+ * Third-party app ID: `tunnels-ppe-app-sp`
67
+ *
68
+ * Used for authenticating internal AAD service principals in the AME tenant, in the PPE
69
+ * service environment.
70
+ */
71
+ export declare const ppeThirdPartyAppId = "544167a6-f431-4518-aac6-2fd50071928e";
72
+ /**
73
+ * Third-party app ID: `tunnels-dev-app-sp`
74
+ *
75
+ * Used for authenticating internal AAD service principals in the corp tenant (not AME!),
76
+ * in the DEV service environment.
77
+ */
78
+ export declare const devThirdPartyAppId = "a118c979-0249-44bb-8f95-eb0457127aeb";
79
+ /**
80
+ * GitHub App Client ID for 'Visual Studio Tunnel Service'
81
+ *
82
+ * Used by client apps that authenticate tunnel users with GitHub, in the PROD service
83
+ * environment.
84
+ */
85
+ export declare const prodGitHubAppClientId = "Iv1.e7b89e013f801f03";
86
+ /**
87
+ * GitHub App Client ID for 'Visual Studio Tunnel Service - Test'
88
+ *
89
+ * Used by client apps that authenticate tunnel users with GitHub, in the PPE and DEV
90
+ * service environments.
91
+ */
92
+ export declare const nonProdGitHubAppClientId = "Iv1.b231c327f1eaa229";
93
+ import { environment } from './tunnelServicePropertiesStatics';
94
+ export declare const TunnelServiceProperties: {
95
+ production: TunnelServiceProperties;
96
+ staging: TunnelServiceProperties;
97
+ development: TunnelServiceProperties;
98
+ environment: typeof environment;
99
+ };
100
+ //# sourceMappingURL=tunnelServiceProperties.d.ts.map