diff --git a/cs/src/Contracts/TunnelServiceProperties.cs b/cs/src/Contracts/TunnelServiceProperties.cs index 25b4a60c..dfba0116 100644 --- a/cs/src/Contracts/TunnelServiceProperties.cs +++ b/cs/src/Contracts/TunnelServiceProperties.cs @@ -41,9 +41,18 @@ public class TunnelServiceProperties /// /// /// Used for authenticating AAD/MSA users, and service principals outside the AME tenant, - /// in the PPE and DEV service environments. + /// in the PPE service environments. /// - internal const string NonProdFirstPartyAppId = "54c45752-bacd-424a-b928-652f3eca2b18"; + internal const string PpeFirstPartyAppId = "54c45752-bacd-424a-b928-652f3eca2b18"; + + /// + /// First-party app ID: `DEV-VSTunnels` + /// + /// + /// Used for authenticating AAD/MSA users, and service principals outside the AME tenant, + /// in the DEV service environment + /// + internal const string DevFirstPartyAppId = "9c63851a-ba2b-40a5-94bd-890be43b9284"; /// /// Third-party app ID: `tunnels-prod-app-sp` @@ -116,7 +125,7 @@ private TunnelServiceProperties( /// public static TunnelServiceProperties Staging { get; } = new TunnelServiceProperties( $"https://{PpeDnsName}/", - NonProdFirstPartyAppId, + PpeFirstPartyAppId, PpeThirdPartyAppId, NonProdGitHubAppClientId); @@ -125,7 +134,7 @@ private TunnelServiceProperties( /// public static TunnelServiceProperties Development { get; } = new TunnelServiceProperties( $"https://{DevDnsName}/", - NonProdFirstPartyAppId, + DevFirstPartyAppId, DevThirdPartyAppId, NonProdGitHubAppClientId); diff --git a/go/tunnels/manager.go b/go/tunnels/manager.go index 4d1ae05f..0cfdc3b7 100644 --- a/go/tunnels/manager.go +++ b/go/tunnels/manager.go @@ -25,14 +25,14 @@ var ServiceProperties = TunnelServiceProperties{ var PpeServiceProperties = TunnelServiceProperties{ ServiceURI: fmt.Sprintf("https://%s/", ppeDnsName), - ServiceAppID: nonProdFirstPartyAppID, + ServiceAppID: ppeFirstPartyAppID, ServiceInternalAppID: ppeThirdPartyAppID, GitHubAppClientID: nonProdGitHubAppClientID, } var DevServiceProperties = TunnelServiceProperties{ ServiceURI: fmt.Sprintf("https://%s/", devDnsName), - ServiceAppID: nonProdFirstPartyAppID, + ServiceAppID: devFirstPartyAppID, ServiceInternalAppID: devThirdPartyAppID, GitHubAppClientID: nonProdGitHubAppClientID, } diff --git a/go/tunnels/tunnel_service_properties.go b/go/tunnels/tunnel_service_properties.go index 6eddbcf6..4429096b 100644 --- a/go/tunnels/tunnel_service_properties.go +++ b/go/tunnels/tunnel_service_properties.go @@ -47,8 +47,14 @@ var prodFirstPartyAppID = "46da2f7e-b5ef-422a-88d4-2a7f9de6a0b2" // First-party app ID: `Visual Studio Tunnel Service - Test` // // Used for authenticating AAD/MSA users, and service principals outside the AME tenant, -// in the PPE and DEV service environments. -var nonProdFirstPartyAppID = "54c45752-bacd-424a-b928-652f3eca2b18" +// in the PPE service environments. +var ppeFirstPartyAppID = "54c45752-bacd-424a-b928-652f3eca2b18" + +// First-party app ID: `DEV-VSTunnels` +// +// Used for authenticating AAD/MSA users, and service principals outside the AME tenant, +// in the DEV service environment +var devFirstPartyAppID = "9c63851a-ba2b-40a5-94bd-890be43b9284" // Third-party app ID: `tunnels-prod-app-sp` // diff --git a/go/tunnels/tunnels.go b/go/tunnels/tunnels.go index 0435a614..1fd4e93d 100644 --- a/go/tunnels/tunnels.go +++ b/go/tunnels/tunnels.go @@ -10,7 +10,7 @@ import ( "github.com/rodaine/table" ) -const PackageVersion = "0.1.8" +const PackageVersion = "0.1.9" func (tunnel *Tunnel) requestObject() (*Tunnel, error) { convertedTunnel := &Tunnel{ diff --git a/java/src/main/java/com/microsoft/tunnels/contracts/TunnelServiceProperties.java b/java/src/main/java/com/microsoft/tunnels/contracts/TunnelServiceProperties.java index dec22fc3..375e8cad 100644 --- a/java/src/main/java/com/microsoft/tunnels/contracts/TunnelServiceProperties.java +++ b/java/src/main/java/com/microsoft/tunnels/contracts/TunnelServiceProperties.java @@ -44,9 +44,17 @@ public class TunnelServiceProperties { * First-party app ID: `Visual Studio Tunnel Service - Test` * * Used for authenticating AAD/MSA users, and service principals outside the AME - * tenant, in the PPE and DEV service environments. + * tenant, in the PPE service environments. */ - static final String nonProdFirstPartyAppId = "54c45752-bacd-424a-b928-652f3eca2b18"; + static final String ppeFirstPartyAppId = "54c45752-bacd-424a-b928-652f3eca2b18"; + + /** + * First-party app ID: `DEV-VSTunnels` + * + * Used for authenticating AAD/MSA users, and service principals outside the AME + * tenant, in the DEV service environment + */ + static final String devFirstPartyAppId = "9c63851a-ba2b-40a5-94bd-890be43b9284"; /** * Third-party app ID: `tunnels-prod-app-sp` diff --git a/java/src/main/java/com/microsoft/tunnels/contracts/TunnelServicePropertiesStatics.java b/java/src/main/java/com/microsoft/tunnels/contracts/TunnelServicePropertiesStatics.java index 7366dc6f..1ce3c514 100644 --- a/java/src/main/java/com/microsoft/tunnels/contracts/TunnelServicePropertiesStatics.java +++ b/java/src/main/java/com/microsoft/tunnels/contracts/TunnelServicePropertiesStatics.java @@ -22,7 +22,7 @@ class TunnelServicePropertiesStatics { */ static final TunnelServiceProperties staging = new TunnelServiceProperties( "https://" + TunnelServiceProperties.ppeDnsName + "/", - TunnelServiceProperties.nonProdFirstPartyAppId, + TunnelServiceProperties.ppeFirstPartyAppId, TunnelServiceProperties.ppeThirdPartyAppId, TunnelServiceProperties.nonProdGitHubAppClientId); @@ -31,7 +31,7 @@ class TunnelServicePropertiesStatics { */ static final TunnelServiceProperties development = new TunnelServiceProperties( "https://" + TunnelServiceProperties.devDnsName + "/", - TunnelServiceProperties.nonProdFirstPartyAppId, + TunnelServiceProperties.devFirstPartyAppId, TunnelServiceProperties.devThirdPartyAppId, TunnelServiceProperties.nonProdGitHubAppClientId); diff --git a/rs/src/contracts/tunnel.rs b/rs/src/contracts/tunnel.rs index 3e71632f..16a78133 100644 --- a/rs/src/contracts/tunnel.rs +++ b/rs/src/contracts/tunnel.rs @@ -2,12 +2,12 @@ // Licensed under the MIT license. // Generated from ../../../cs/src/Contracts/Tunnel.cs +use chrono::{DateTime, Utc}; use crate::contracts::TunnelAccessControl; use crate::contracts::TunnelEndpoint; use crate::contracts::TunnelOptions; use crate::contracts::TunnelPort; use crate::contracts::TunnelStatus; -use chrono::{DateTime, Utc}; use serde::{Deserialize, Serialize}; use std::collections::HashMap; diff --git a/rs/src/contracts/tunnel_access_control_entry.rs b/rs/src/contracts/tunnel_access_control_entry.rs index fa7f985a..b36863a9 100644 --- a/rs/src/contracts/tunnel_access_control_entry.rs +++ b/rs/src/contracts/tunnel_access_control_entry.rs @@ -2,8 +2,8 @@ // Licensed under the MIT license. // Generated from ../../../cs/src/Contracts/TunnelAccessControlEntry.cs -use crate::contracts::TunnelAccessControlEntryType; use chrono::{DateTime, Utc}; +use crate::contracts::TunnelAccessControlEntryType; use serde::{Deserialize, Serialize}; // Data contract for an access control entry on a `Tunnel` or `TunnelPort`. diff --git a/rs/src/contracts/tunnel_constraints.rs b/rs/src/contracts/tunnel_constraints.rs index 142bc27f..fd4eb0e5 100644 --- a/rs/src/contracts/tunnel_constraints.rs +++ b/rs/src/contracts/tunnel_constraints.rs @@ -110,7 +110,7 @@ pub const TUNNEL_ALIAS_PATTERN: &str = r#"[0123456789bcdfghjklmnpqrstvwxz]{3,60} pub const TUNNEL_NAME_PATTERN: &str = r#"([a-z0-9][a-z0-9-]{1,58}[a-z0-9])|(^$)"#; // Regular expression that can match or validate tunnel or port labels. -pub const LABEL_PATTERN: &str = r"[\w-=]{1,50}"; +pub const LABEL_PATTERN: &str = r#"[\w-=]{1,50}"#; // Regular expression that can match or validate tunnel domains. // diff --git a/rs/src/contracts/tunnel_environments.rs b/rs/src/contracts/tunnel_environments.rs index 224f5119..cfd00c0f 100644 --- a/rs/src/contracts/tunnel_environments.rs +++ b/rs/src/contracts/tunnel_environments.rs @@ -24,7 +24,7 @@ pub fn env_staging() -> TunnelServiceProperties { pub fn env_development() -> TunnelServiceProperties { TunnelServiceProperties { service_uri: format!("https://{}", DEV_DNS_NAME), - service_app_id: NON_PROD_FIRST_PARTY_APP_ID.to_owned(), + service_app_id: DEV_FIRST_PARTY_APP_ID.to_owned(), service_internal_app_id: DEV_THIRD_PARTY_APP_ID.to_owned(), github_app_client_id: NON_PROD_GITHUB_APP_CLIENT_ID.to_owned(), } diff --git a/rs/src/contracts/tunnel_port.rs b/rs/src/contracts/tunnel_port.rs index 89611508..1fd3e41a 100644 --- a/rs/src/contracts/tunnel_port.rs +++ b/rs/src/contracts/tunnel_port.rs @@ -43,7 +43,7 @@ pub struct TunnelPort { // A client that connects to a tunnel (by ID or name) without specifying a port number // will connect to the default port for the tunnel, if a default is configured. Or if // the tunnel has only one port then the single port is the implicit default. - // + // // Selection of a default port for a connection also depends on matching the // connection to the port `TunnelPort.Protocol`, so it is possible to configure // separate defaults for distinct protocols like `TunnelProtocol.Http` and diff --git a/rs/src/contracts/tunnel_service_properties.rs b/rs/src/contracts/tunnel_service_properties.rs index 53486b37..6097876e 100644 --- a/rs/src/contracts/tunnel_service_properties.rs +++ b/rs/src/contracts/tunnel_service_properties.rs @@ -49,8 +49,14 @@ pub const PROD_FIRST_PARTY_APP_ID: &str = "46da2f7e-b5ef-422a-88d4-2a7f9de6a0b2" // First-party app ID: `Visual Studio Tunnel Service - Test` // // Used for authenticating AAD/MSA users, and service principals outside the AME tenant, -// in the PPE and DEV service environments. -pub const NON_PROD_FIRST_PARTY_APP_ID: &str = "54c45752-bacd-424a-b928-652f3eca2b18"; +// in the PPE service environments. +pub const PPE_FIRST_PARTY_APP_ID: &str = "54c45752-bacd-424a-b928-652f3eca2b18"; + +// First-party app ID: `DEV-VSTunnels` +// +// Used for authenticating AAD/MSA users, and service principals outside the AME tenant, +// in the DEV service environment +pub const DEV_FIRST_PARTY_APP_ID: &str = "9c63851a-ba2b-40a5-94bd-890be43b9284"; // Third-party app ID: `tunnels-prod-app-sp` // diff --git a/ts/src/connections/package.json b/ts/src/connections/package.json index ecf57b9c..9a2121ff 100644 --- a/ts/src/connections/package.json +++ b/ts/src/connections/package.json @@ -18,8 +18,8 @@ "buffer": "^5.2.1", "debug": "^4.1.1", "vscode-jsonrpc": "^4.0.0", - "@microsoft/dev-tunnels-contracts": ">1.1.24", - "@microsoft/dev-tunnels-management": ">1.1.24", + "@microsoft/dev-tunnels-contracts": ">1.1.26", + "@microsoft/dev-tunnels-management": ">1.1.26", "@microsoft/dev-tunnels-ssh": "^3.11.36", "@microsoft/dev-tunnels-ssh-tcp": "^3.11.36", "uuid": "^3.3.3", diff --git a/ts/src/contracts/tunnelServiceProperties.ts b/ts/src/contracts/tunnelServiceProperties.ts index 2248e428..c80a81e2 100644 --- a/ts/src/contracts/tunnelServiceProperties.ts +++ b/ts/src/contracts/tunnelServiceProperties.ts @@ -65,9 +65,17 @@ export const prodFirstPartyAppId = '46da2f7e-b5ef-422a-88d4-2a7f9de6a0b2'; * First-party app ID: `Visual Studio Tunnel Service - Test` * * Used for authenticating AAD/MSA users, and service principals outside the AME tenant, - * in the PPE and DEV service environments. + * in the PPE service environments. */ -export const nonProdFirstPartyAppId = '54c45752-bacd-424a-b928-652f3eca2b18'; +export const ppeFirstPartyAppId = '54c45752-bacd-424a-b928-652f3eca2b18'; + +/** + * First-party app ID: `DEV-VSTunnels` + * + * Used for authenticating AAD/MSA users, and service principals outside the AME tenant, + * in the DEV service environment + */ +export const devFirstPartyAppId = '9c63851a-ba2b-40a5-94bd-890be43b9284'; /** * Third-party app ID: `tunnels-prod-app-sp` diff --git a/ts/src/contracts/tunnelServicePropertiesStatics.ts b/ts/src/contracts/tunnelServicePropertiesStatics.ts index da15374d..2f715fcc 100644 --- a/ts/src/contracts/tunnelServicePropertiesStatics.ts +++ b/ts/src/contracts/tunnelServicePropertiesStatics.ts @@ -4,7 +4,8 @@ import { TunnelServiceProperties as ITunnelServiceProperties, prodFirstPartyAppId, - nonProdFirstPartyAppId, + ppeFirstPartyAppId, + devFirstPartyAppId, prodThirdPartyAppId, ppeThirdPartyAppId, devThirdPartyAppId, @@ -30,7 +31,7 @@ export const production = { */ export const staging = { serviceUri: `https://${ppeDnsName}/`, - serviceAppId: nonProdFirstPartyAppId, + serviceAppId: ppeFirstPartyAppId, serviceInternalAppId: ppeThirdPartyAppId, gitHubAppClientId: nonProdGitHubAppClientId, }; @@ -40,7 +41,7 @@ export const staging = { */ export const development = { serviceUri: `https://${devDnsName}/`, - serviceAppId: nonProdFirstPartyAppId, + serviceAppId: devFirstPartyAppId, serviceInternalAppId: devThirdPartyAppId, gitHubAppClientId: nonProdGitHubAppClientId, }; diff --git a/ts/src/management/package.json b/ts/src/management/package.json index 176ba5db..758d67b3 100644 --- a/ts/src/management/package.json +++ b/ts/src/management/package.json @@ -18,7 +18,7 @@ "buffer": "^5.2.1", "debug": "^4.1.1", "vscode-jsonrpc": "^4.0.0", - "@microsoft/dev-tunnels-contracts": ">1.1.24", + "@microsoft/dev-tunnels-contracts": ">1.1.26", "axios": "^1.6.6" } }