diff --git a/src/MachineLearningServices/MachineLearningServices.Autorest/custom/New-AzMLWorkspaceKubernetesObject.ps1 b/src/MachineLearningServices/MachineLearningServices.Autorest/custom/New-AzMLWorkspaceKubernetesObject.ps1 index eca130ef27b8..2297795b2da4 100644 --- a/src/MachineLearningServices/MachineLearningServices.Autorest/custom/New-AzMLWorkspaceKubernetesObject.ps1 +++ b/src/MachineLearningServices/MachineLearningServices.Autorest/custom/New-AzMLWorkspaceKubernetesObject.ps1 @@ -69,6 +69,9 @@ function New-AzMLWorkspaceKubernetesObject { [Parameter(HelpMessage="ServiceBus connection string.")] [string] $ServiceBusConnectionString, + [Parameter(HelpMessage="ServiceBus connection string in SecureString format.")] + [System.Security.SecureString] + $ServiceBusConnectionStringSecure, [Parameter(HelpMessage="VC name.")] [string] $VcName @@ -138,7 +141,10 @@ function New-AzMLWorkspaceKubernetesObject { if ($PSBoundParameters.ContainsKey('RelayConnectionString')) { $Object.RelayConnectionString = $RelayConnectionString } - if ($PSBoundParameters.ContainsKey('ServiceBusConnectionString')) { + if ($PSBoundParameters.ContainsKey('ServiceBusConnectionStringSecure')) { + $Object.ServiceBusConnectionStringSecure = $ServiceBusConnectionStringSecure + } + elseif ($PSBoundParameters.ContainsKey('ServiceBusConnectionString')) { $Object.ServiceBusConnectionString = $ServiceBusConnectionString } if ($PSBoundParameters.ContainsKey('VcName')) { diff --git a/src/MachineLearningServices/MachineLearningServices.Autorest/custom/csharp/Kubernetes.cs b/src/MachineLearningServices/MachineLearningServices.Autorest/custom/csharp/Kubernetes.cs new file mode 100644 index 000000000000..f488d3e940e2 --- /dev/null +++ b/src/MachineLearningServices/MachineLearningServices.Autorest/custom/csharp/Kubernetes.cs @@ -0,0 +1,8 @@ +namespace Microsoft.Azure.PowerShell.Cmdlets.MachineLearningServices.Models.Api20240401 +{ + using Microsoft.Azure.PowerShell.Cmdlets.MachineLearningServices.Models; + public partial class Kubernetes + { + public System.Security.SecureString ServiceBusConnectionStringSecure { get => (this.ServiceBusConnectionString.ToSecureString()); set => this.ServiceBusConnectionString = value.ConvertToString(); } + } +} \ No newline at end of file diff --git a/src/MachineLearningServices/MachineLearningServices.Autorest/custom/csharp/Utils.cs b/src/MachineLearningServices/MachineLearningServices.Autorest/custom/csharp/Utils.cs new file mode 100644 index 000000000000..c22a7cb68c00 --- /dev/null +++ b/src/MachineLearningServices/MachineLearningServices.Autorest/custom/csharp/Utils.cs @@ -0,0 +1,47 @@ +using System.Runtime.InteropServices; +using System.Security; +using System; + +namespace Microsoft.Azure.PowerShell.Cmdlets.MachineLearningServices.Models +{ + public static class Utils + { + public static System.Security.SecureString ToSecureString(this string input) + { + if (string.IsNullOrEmpty(input)) + return null; + + System.Security.SecureString secureString = new System.Security.SecureString(); + foreach (char c in input) + { + secureString.AppendChar(c); + } + secureString.MakeReadOnly(); + return secureString; + } + + public static string ConvertToString(this SecureString secureString) + { + if (secureString == null) + { + return null; + } + + IntPtr unmanagedString = IntPtr.Zero; + + try + { + unmanagedString = Marshal.SecureStringToGlobalAllocUnicode(secureString); + return Marshal.PtrToStringUni(unmanagedString); + } + finally + { + if (unmanagedString != IntPtr.Zero) + { + Marshal.ZeroFreeGlobalAllocUnicode(unmanagedString); + } + } + } + } + +} \ No newline at end of file diff --git a/src/MachineLearningServices/MachineLearningServices.Autorest/docs/New-AzMLWorkspaceKubernetesObject.md b/src/MachineLearningServices/MachineLearningServices.Autorest/docs/New-AzMLWorkspaceKubernetesObject.md index c8fb0c48e82b..d7f8341055d6 100644 --- a/src/MachineLearningServices/MachineLearningServices.Autorest/docs/New-AzMLWorkspaceKubernetesObject.md +++ b/src/MachineLearningServices/MachineLearningServices.Autorest/docs/New-AzMLWorkspaceKubernetesObject.md @@ -17,7 +17,8 @@ New-AzMLWorkspaceKubernetesObject [-DefaultInstanceType ] [-Description [-DisableLocalAuth ] [-ExtensionInstanceReleaseTrain ] [-ExtensionPrincipalId ] [-InstanceLimit ] [-InstanceNodeSelector ] [-InstanceRequest ] [-Namespace ] [-RelayConnectionString ] [-ResourceId ] - [-ServiceBusConnectionString ] [-VcName ] [] + [-ServiceBusConnectionString ] [-ServiceBusConnectionStringSecure ] [-VcName ] + [] ``` ## DESCRIPTION @@ -214,6 +215,21 @@ Accept pipeline input: False Accept wildcard characters: False ``` +### -ServiceBusConnectionStringSecure +ServiceBus connection string in SecureString format. + +```yaml +Type: System.Security.SecureString +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + ### -VcName VC name.