diff --git a/cs/src/Management/TunnelManagementClient.cs b/cs/src/Management/TunnelManagementClient.cs index 42bf6786..5b30eec6 100644 --- a/cs/src/Management/TunnelManagementClient.cs +++ b/cs/src/Management/TunnelManagementClient.cs @@ -933,7 +933,7 @@ public async Task CreateTunnelAsync( tunnel, ManageAccessTokenScope, path: null, - query: GetApiQuery(), + query: GetApiQuery() + "&forceCreate=true", options, ConvertTunnelForRequest(tunnel), cancellation, @@ -973,7 +973,7 @@ public async Task UpdateTunnelAsync( tunnel, ManageAccessTokenScope, path: null, - query: GetApiQuery(), + query: GetApiQuery() + "&forceUpdate=true", options, ConvertTunnelForRequest(tunnel), cancellation); @@ -1117,7 +1117,7 @@ public async Task CreateTunnelPortAsync( tunnel, ManagePortsAccessTokenScopes, path, - query: GetApiQuery(), + query: GetApiQuery() + "&forceCreate=true", options, ConvertTunnelPortForRequest(tunnel, tunnelPort), cancellation))!; @@ -1159,7 +1159,7 @@ public async Task UpdateTunnelPortAsync( tunnel, ManagePortsAccessTokenScopes, path, - query: GetApiQuery(), + query: GetApiQuery() + "&forceUpdate=true", options, ConvertTunnelPortForRequest(tunnel, tunnelPort), cancellation))!; diff --git a/go/tunnels/manager.go b/go/tunnels/manager.go index c90c8db4..56ac21a3 100644 --- a/go/tunnels/manager.go +++ b/go/tunnels/manager.go @@ -183,7 +183,7 @@ func (m *Manager) CreateTunnel(ctx context.Context, tunnel *Tunnel, options *Tun if tunnel.TunnelID == "" { tunnel.TunnelID = generateTunnelId() } - url, err := m.buildTunnelSpecificUri(tunnel, "", options, "", true) + url, err := m.buildTunnelSpecificUri(tunnel, "", options, "forceCreate=true", true) if err != nil { return nil, fmt.Errorf("error creating request url: %w", err) } @@ -221,7 +221,7 @@ func (m *Manager) UpdateTunnel(ctx context.Context, tunnel *Tunnel, updateFields return nil, fmt.Errorf("tunnel must be provided") } - url, err := m.buildTunnelSpecificUri(tunnel, "", options, "", false) + url, err := m.buildTunnelSpecificUri(tunnel, "", options, "forceUpdate=true", false) if err != nil { return nil, fmt.Errorf("error creating request url: %w", err) } @@ -384,7 +384,7 @@ func (m *Manager) CreateTunnelPort( ctx context.Context, tunnel *Tunnel, port *TunnelPort, options *TunnelRequestOptions, ) (tp *TunnelPort, err error) { path := fmt.Sprintf("%s/%d", portsApiSubPath, port.PortNumber) - url, err := m.buildTunnelSpecificUri(tunnel, path, options, "", false) + url, err := m.buildTunnelSpecificUri(tunnel, path, options, "forceCreate=true", false) if err != nil { return nil, fmt.Errorf("error creating tunnel url: %w", err) } @@ -427,7 +427,7 @@ func (m *Manager) UpdateTunnelPort( return nil, fmt.Errorf("cluster ids do not match") } path := fmt.Sprintf("%s/%d", portsApiSubPath, port.PortNumber) - url, err := m.buildTunnelSpecificUri(tunnel, path, options, "", false) + url, err := m.buildTunnelSpecificUri(tunnel, path, options, "forceUpdate=true", false) if err != nil { return nil, fmt.Errorf("error creating tunnel url: %w", err) } diff --git a/go/tunnels/tunnels.go b/go/tunnels/tunnels.go index 359c378f..37324421 100644 --- a/go/tunnels/tunnels.go +++ b/go/tunnels/tunnels.go @@ -10,7 +10,7 @@ import ( "github.com/rodaine/table" ) -const PackageVersion = "0.1.1" +const PackageVersion = "0.1.2" func (tunnel *Tunnel) requestObject() (*Tunnel, error) { convertedTunnel := &Tunnel{ diff --git a/java/src/main/java/com/microsoft/tunnels/management/TunnelManagementClient.java b/java/src/main/java/com/microsoft/tunnels/management/TunnelManagementClient.java index 98b5e237..0fe71f50 100644 --- a/java/src/main/java/com/microsoft/tunnels/management/TunnelManagementClient.java +++ b/java/src/main/java/com/microsoft/tunnels/management/TunnelManagementClient.java @@ -378,7 +378,7 @@ public CompletableFuture createTunnelAsync(Tunnel tunnel, TunnelRequestO if (generatedId) { tunnel.tunnelId = IdGeneration.generateTunnelId(); } - var uri = buildUri(tunnel, options, true); + var uri = buildUri(tunnel, options, null, "forceCreate=true", true); final Type responseType = new TypeToken() { }.getType(); for (int i = 0; i <= 3; i++){ @@ -444,7 +444,7 @@ private Tunnel convertTunnelForRequest(Tunnel tunnel) { @Override public CompletableFuture updateTunnelAsync(Tunnel tunnel, TunnelRequestOptions options) { - var uri = buildUri(tunnel, options, true); + var uri = buildUri(tunnel, options, null, "forceUpdate=true", true); final Type responseType = new TypeToken() { }.getType(); return requestAsync( @@ -607,7 +607,9 @@ public CompletableFuture createTunnelPortAsync( var uri = buildUri( tunnel, options, - path); + path, + "forceCreate=true", + false); final Type responseType = new TypeToken() { }.getType(); CompletableFuture result = requestAsync( @@ -689,7 +691,9 @@ public CompletableFuture updateTunnelPortAsync( var uri = buildUri( tunnel, options, - path); + path, + "forceUpdate=true", + false); final Type responseType = new TypeToken() { }.getType(); diff --git a/ts/src/management/tunnelManagementHttpClient.ts b/ts/src/management/tunnelManagementHttpClient.ts index b2f9cc00..3df256cd 100644 --- a/ts/src/management/tunnelManagementHttpClient.ts +++ b/ts/src/management/tunnelManagementHttpClient.ts @@ -258,7 +258,7 @@ export class TunnelManagementHttpClient implements TunnelManagementClient { tunnel, manageAccessTokenScope, undefined, - undefined, + "forceCreate=true", options, this.convertTunnelForRequest(tunnel), undefined, @@ -283,9 +283,11 @@ export class TunnelManagementHttpClient implements TunnelManagementClient { tunnel, manageAccessTokenScope, undefined, - undefined, + "forceCreate=true", options, this.convertTunnelForRequest(tunnel), + undefined, + true, ))!; preserveAccessTokens(tunnel, result2); parseTunnelDates(result2); @@ -298,7 +300,7 @@ export class TunnelManagementHttpClient implements TunnelManagementClient { tunnel, manageAccessTokenScope, undefined, - undefined, + "forceUpdate=true", options, this.convertTunnelForRequest(tunnel), ))!; @@ -439,7 +441,7 @@ export class TunnelManagementHttpClient implements TunnelManagementClient { tunnel, managePortsAccessTokenScopes, path, - undefined, + "forceCreate=true", options, tunnelPort, ))!; @@ -473,7 +475,7 @@ export class TunnelManagementHttpClient implements TunnelManagementClient { tunnel, managePortsAccessTokenScopes, path, - undefined, + "forceUpdate=true", options, tunnelPort, ))!;