DevOpsFlex.Automation.PowerShell-Help.xml

<?xml version="1.0" encoding="utf-8" ?>
<helpItems xmlns="http://msh" schema="maml">
 
  <!-- ******************************** -->
  <!-- * New-AzurePrincipalWithCert * -->
  <!-- ******************************** -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10"
                   xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10"
                   xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>New-AzurePrincipalWithCert</command:name>
      <command:verb>New</command:verb>
      <command:noun>AzurePrincipalWithCert</command:noun>
      <maml:description><maml:para>Creates an Azure Service Principal that uses an x509 certificate to authenticate against the Azure AD.</maml:para></maml:description>
    </command:details>
 
    <maml:description>
      <maml:para>Creates an Azure Service Principal that uses an x509 certificate to authenticate against the Azure AD.</maml:para>
      <maml:para>In detail the script will:</maml:para>
      <maml:list>
        <maml:listItem><maml:para>Generate a self-signed x509 certificate in the local/my store that is executing the script.</maml:para></maml:listItem>
        <maml:listItem><maml:para>Export the certificate into a specific folder.</maml:para></maml:listItem>
        <maml:listItem><maml:para>Create the Azure AD Application, specifying the certificate as it's User Assertion method.</maml:para></maml:listItem>
        <maml:listItem><maml:para>Create the Azure Service Principal for the AD Application we just created.</maml:para></maml:listItem>
        <maml:listItem><maml:para>Upload the Cert as an encoded 64bit string into keyvault.</maml:para></maml:listItem>
        <maml:listItem><maml:para>Upload the Cert password into the specific passwords keyvault.</maml:para></maml:listItem>
        <maml:listItem><maml:para>Populate the system keyvault with all the relevant configuration fields so that the system can find and use the service principal.</maml:para></maml:listItem>
      </maml:list>
    </maml:description>
 
    <command:syntax><maml:para>New-AzurePrincipalWithCert</maml:para></command:syntax>
 
    <command:parameters>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
        <maml:name>SystemName</maml:name>
        <maml:description><maml:para>The name of the system that we are creating the service principal for.</maml:para></maml:description>
        <command:parameterValue required="true">String</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
 
      <command:parameter required="true" globbing="false" pipelineInput="false" position="1">
        <maml:name>PrincipalPurpose</maml:name>
        <maml:description><maml:para>The purpose of the principal to be created. Can only be 'Configuration' or 'Authentication'.</maml:para></maml:description>
        <command:parameterValue required="true">Configuration|Authentication</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
 
      <command:parameter required="true" globbing="false" pipelineInput="false" position="2">
        <maml:name>EnvironmentName</maml:name>
        <maml:description><maml:para>The name of the environment that the service principal is going to be used on.</maml:para></maml:description>
        <command:parameterValue required="true">String</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
 
      <command:parameter required="true" globbing="false" pipelineInput="false" position="3">
        <maml:name>CertFolderPath</maml:name>
        <maml:description><maml:para>The folder path where we want to export the PFX certificate file to (for reference purpose only, since it will be uploaded to keyvault).</maml:para></maml:description>
        <command:parameterValue required="true">String</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
 
      <command:parameter required="true" globbing="false" pipelineInput="false" position="4">
        <maml:name>CertPassword</maml:name>
        <maml:description><maml:para>The password for the x509 certificate that we are creating.</maml:para></maml:description>
        <command:parameterValue required="true">String</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
 
      <command:parameter required="false" globbing="false" pipelineInput="false" position="5">
        <maml:name>VaultSubscriptionId</maml:name>
        <maml:description><maml:para>The GUID identifier of the Azure subscription where the keyvaults are deployed to.</maml:para></maml:description>
        <command:parameterValue required="true">Guid</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
 
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>PrincipalName</maml:name>
        <maml:description>
          <maml:para>The optional principal name to prepend to all the generated naming conventions.</maml:para>
          <maml:para>This is mostly to allow people from differentiating principals for the same system/purpose/environment when they need to issue multiple.</maml:para>
        </maml:description>
        <command:parameterValue required="true">String</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
    </command:parameters>
 
    <command:inputTypes>
      <!-- Add input type information here -->
    </command:inputTypes>
    <command:returnValues>
      <!-- Add return value information here -->
    </command:returnValues>
    <maml:alertSet>
      <!-- Add Note information here -->
    </maml:alertSet>
    <command:examples>
      <!-- Add cmdlet examples here -->
    </command:examples>
    <maml:relatedLinks>
      <!-- Add links to related content here -->
    </maml:relatedLinks>
  </command:command>
 
 
  <!-- *********************************** -->
  <!-- * Remove-AzurePrincipalWithCert * -->
  <!-- *********************************** -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10"
                   xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10"
                   xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Remove-AzurePrincipalWithCert</command:name>
      <command:verb>Remove</command:verb>
      <command:noun>AzurePrincipalWithCert</command:noun>
      <maml:description>
        <maml:para>Removes an Azure Service Principal that uses an x509 certificate to authenticate against the Azure AD.</maml:para>
      </maml:description>
    </command:details>
 
    <maml:description>
      <maml:para>Removes an Azure Service Principal that uses an x509 certificate to authenticate against the Azure AD.</maml:para>
      <maml:para>In detail the script will:</maml:para>
      <maml:list>
        <maml:listItem><maml:para>Remove the encoded 64bit Cert string from keyvault.</maml:para></maml:listItem>
        <maml:listItem><maml:para>Remove all the relevant configuration fields from the system keyvault.</maml:para></maml:listItem>
        <maml:listItem><maml:para>Remove the Cert password from the specific passwords keyvault.</maml:para></maml:listItem>
        <maml:listItem><maml:para>Remove the Azure Service Principal for the AD Application.</maml:para></maml:listItem>
        <maml:listItem><maml:para>Remove the Azure AD Application.</maml:para></maml:listItem>
      </maml:list>
    </maml:description>
 
    <command:syntax>
      <maml:para>Remove-AzurePrincipalWithCert</maml:para>
    </command:syntax>
 
    <command:parameters>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="0">
        <maml:name>ADApplicationId</maml:name>
        <maml:description>
          <maml:para>The ID GUID for the AD Application that we want removed.</maml:para>
        </maml:description>
        <command:parameterValue required="true">Guid</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
 
      <command:parameter required="false" globbing="false" pipelineInput="true" position="1">
        <maml:name>ADApplication</maml:name>
        <maml:description>
          <maml:para>The AD Application that we want removed.</maml:para>
        </maml:description>
        <command:parameterValue required="true">PSADApplication</command:parameterValue>
        <dev:type>Microsoft.Azure.Commands.Resources.Models.ActiveDirectory.PSADApplication</dev:type>
      </command:parameter>
 
      <command:parameter required="false" globbing="false" pipelineInput="false" position="2">
        <maml:name>VaultSubscriptionId</maml:name>
        <maml:description>
          <maml:para>The GUID identifier of the Azure subscription where the keyvaults are deployed to.</maml:para>
        </maml:description>
        <command:parameterValue required="true">Guid</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
    </command:parameters>
 
    <command:inputTypes>
      <!-- Add input type information here -->
    </command:inputTypes>
    <command:returnValues>
      <!-- Add return value information here -->
    </command:returnValues>
    <maml:alertSet>
      <!-- Add Note information here -->
    </maml:alertSet>
    <command:examples>
      <!-- Add cmdlet examples here -->
    </command:examples>
    <maml:relatedLinks>
      <!-- Add links to related content here -->
    </maml:relatedLinks>
  </command:command>
 
 
  <!-- ********************************** -->
  <!-- * New-AzurePrincipalWithSecret * -->
  <!-- ********************************** -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10"
                   xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10"
                   xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>New-AzurePrincipalWithSecret</command:name>
      <command:verb>New</command:verb>
      <command:noun>AzurePrincipalWithSecret</command:noun>
      <maml:description>
        <maml:para>Creates an Azure Service Principal that uses a password to authenticate against the Azure AD.</maml:para>
      </maml:description>
    </command:details>
 
    <maml:description>
      <maml:para>Creates an Azure Service Principal that uses a password to authenticate against the Azure AD.</maml:para>
      <maml:para>In detail the script will:</maml:para>
      <maml:list>
        <maml:listItem><maml:para>Create the Azure AD Application, specifying the password as it's User Assertion method.</maml:para></maml:listItem>
        <maml:listItem><maml:para>Create the Azure Service Principal for the AD Application we just created.</maml:para></maml:listItem>
        <maml:listItem><maml:para>Populate the system keyvault with all the relevant configuration fields so that the system can find and use the service principal, including the password.</maml:para></maml:listItem>
      </maml:list>
    </maml:description>
 
    <command:syntax>
      <maml:para>New-AzurePrincipalWithSecret</maml:para>
    </command:syntax>
 
    <command:parameters>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
        <maml:name>SystemName</maml:name>
        <maml:description>
          <maml:para>The name of the system that we are creating the service principal for.</maml:para>
        </maml:description>
        <command:parameterValue required="true">String</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
 
      <command:parameter required="true" globbing="false" pipelineInput="false" position="1">
        <maml:name>PrincipalPurpose</maml:name>
        <maml:description>
          <maml:para>The purpose of the principal to be created. Can only be 'Configuration' or 'Authentication'.</maml:para>
        </maml:description>
        <command:parameterValue required="true">Configuration|Authentication</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
 
      <command:parameter required="true" globbing="false" pipelineInput="false" position="2">
        <maml:name>EnvironmentName</maml:name>
        <maml:description>
          <maml:para>The name of the environment that the service principal is going to be used on.</maml:para>
        </maml:description>
        <command:parameterValue required="true">String</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
 
      <command:parameter required="true" globbing="false" pipelineInput="false" position="4">
        <maml:name>PrincipalPassword</maml:name>
        <maml:description>
          <maml:para>The password for the principal that we are creating.</maml:para>
        </maml:description>
        <command:parameterValue required="true">String</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
 
      <command:parameter required="false" globbing="false" pipelineInput="false" position="5">
        <maml:name>VaultSubscriptionId</maml:name>
        <maml:description>
          <maml:para>The GUID identifier of the Azure subscription where the keyvaults are deployed to.</maml:para>
        </maml:description>
        <command:parameterValue required="true">Guid</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
 
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>PrincipalName</maml:name>
        <maml:description>
          <maml:para>The optional principal name to prepend to all the generated naming conventions.</maml:para>
          <maml:para>This is mostly to allow people from differentiating principals for the same system/purpose/environment when they need to issue multiple.</maml:para>
        </maml:description>
        <command:parameterValue required="true">String</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
    </command:parameters>
 
    <command:inputTypes>
      <!-- Add input type information here -->
    </command:inputTypes>
    <command:returnValues>
      <!-- Add return value information here -->
    </command:returnValues>
    <maml:alertSet>
      <!-- Add Note information here -->
    </maml:alertSet>
    <command:examples>
      <!-- Add cmdlet examples here -->
    </command:examples>
    <maml:relatedLinks>
      <!-- Add links to related content here -->
    </maml:relatedLinks>
  </command:command>
 
 
  <!-- ************************************* -->
  <!-- * Remove-AzurePrincipalWithSecret * -->
  <!-- ************************************* -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10"
                   xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10"
                   xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Remove-AzurePrincipalWithSecret</command:name>
      <command:verb>Remove</command:verb>
      <command:noun>AzurePrincipalWithSecret</command:noun>
      <maml:description>
        <maml:para>Removes an Azure Service Principal that uses a password to authenticate against the Azure AD.</maml:para>
      </maml:description>
    </command:details>
 
    <maml:description>
      <maml:para>Removes an Azure Service Principal that uses a password to authenticate against the Azure AD.</maml:para>
      <maml:para>In detail the script will:</maml:para>
      <maml:list>
        <maml:listItem><maml:para>Remove all the relevant configuration fields from the system keyvault.</maml:para></maml:listItem>
        <maml:listItem><maml:para>Remove the Azure Service Principal for the AD Application.</maml:para></maml:listItem>
        <maml:listItem><maml:para>Remove the Azure AD Application.</maml:para></maml:listItem>
      </maml:list>
    </maml:description>
 
    <command:syntax>
      <maml:para>Remove-AzurePrincipalWithSecret</maml:para>
    </command:syntax>
 
    <command:parameters>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="0">
        <maml:name>ADApplicationId</maml:name>
        <maml:description>
          <maml:para>The ID GUID for the AD Application that we want removed.</maml:para>
        </maml:description>
        <command:parameterValue required="true">Guid</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
 
      <command:parameter required="false" globbing="false" pipelineInput="true" position="1">
        <maml:name>ADApplication</maml:name>
        <maml:description>
          <maml:para>The AD Application that we want removed.</maml:para>
        </maml:description>
        <command:parameterValue required="true">PSADApplication</command:parameterValue>
        <dev:type>Microsoft.Azure.Commands.Resources.Models.ActiveDirectory.PSADApplication</dev:type>
      </command:parameter>
 
      <command:parameter required="false" globbing="false" pipelineInput="false" position="2">
        <maml:name>VaultSubscriptionId</maml:name>
        <maml:description>
          <maml:para>The GUID identifier of the Azure subscription where the keyvaults are deployed to.</maml:para>
        </maml:description>
        <command:parameterValue required="true">Guid</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
    </command:parameters>
 
    <command:inputTypes>
      <!-- Add input type information here -->
    </command:inputTypes>
    <command:returnValues>
      <!-- Add return value information here -->
    </command:returnValues>
    <maml:alertSet>
      <!-- Add Note information here -->
    </maml:alertSet>
    <command:examples>
      <!-- Add cmdlet examples here -->
    </command:examples>
    <maml:relatedLinks>
      <!-- Add links to related content here -->
    </maml:relatedLinks>
  </command:command>
 
 
  <!-- *************************** -->
  <!-- * Set-AzureVMOSDiskSize * -->
  <!-- *************************** -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10"
                   xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10"
                   xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Set-AzureVMOSDiskSize</command:name>
      <command:verb>Set</command:verb>
      <command:noun>AzureVMOSDiskSize</command:noun>
      <maml:description>
        <maml:para>Resizes the operating system VHD on an ASM Azure VM.</maml:para>
      </maml:description>
    </command:details>
 
    <maml:description>
      <maml:para>Resizes the operating system VHD on an Azure VM.</maml:para>
      <maml:para>It contains a guard against shrinking the disk, although it will ultimately allow it if the user wants to.</maml:para>
      <maml:para>This meets requirements where a disk was sized up by error and can be safely shrunk back if the partition wasn't increased.</maml:para>
    </maml:description>
 
    <command:syntax>
      <maml:para>Set-AzureVMOSDiskSize</maml:para>
    </command:syntax>
 
    <command:parameters>
      <command:parameter required="true" globbing="false" pipelineInput="true" position="named">
        <maml:name>VM</maml:name>
        <maml:description>
          <maml:para>The Azure VM object that we want to resize the OS disk on.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ServiceOperationContext</command:parameterValue>
        <dev:type>Microsoft.WindowsAzure.Commands.ServiceManagement.Model.ServiceOperationContext</dev:type>
      </command:parameter>
 
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
        <maml:name>SizeInGb</maml:name>
        <maml:description>
          <maml:para>The new OS disk size in Gb that we want to resize to.</maml:para>
          <maml:para>This can be a smaller value then the current size for use cases where one actually wants to shrink the disk.</maml:para>
        </maml:description>
        <command:parameterValue required="true">Int</command:parameterValue>
        <dev:type>Int32</dev:type>
      </command:parameter>
    </command:parameters>
 
    <command:inputTypes>
      <!-- Add input type information here -->
    </command:inputTypes>
    <command:returnValues>
      <!-- Add return value information here -->
    </command:returnValues>
    <maml:alertSet>
      <!-- Add Note information here-->
    </maml:alertSet>
    <command:examples>
      <!-- Add cmdlet examples here -->
    </command:examples>
    <maml:relatedLinks>
      <!-- Add links to related content here -->
    </maml:relatedLinks>
  </command:command>
 
 
  <!-- *************************** -->
  <!-- * Get-MyUserObjectId * -->
  <!-- *************************** -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10"
                   xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10"
                   xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-MyUserObjectId</command:name>
      <command:verb>Get</command:verb>
      <command:noun>MyUserObjectId</command:noun>
      <maml:description>
        <maml:para>Gets the current user (from Get-AzureRmContext) AD object ID.</maml:para>
      </maml:description>
    </command:details>
 
    <maml:description>
      <maml:para>Gets the current user (from Get-AzureRmContext) AD object ID.</maml:para>
      <maml:para>This ObjectId is the baseline for any function that adds AAD principals or users to anything in Azure, making this a very handy method to have nearby.</maml:para>
    </maml:description>
 
    <command:syntax>
      <maml:para>Get-MyUserObjectId</maml:para>
    </command:syntax>
 
    <command:parameters>
      <!-- This method contains no parameters -->
    </command:parameters>
 
    <command:inputTypes>
      <!-- Add input type information here -->
    </command:inputTypes>
    <command:returnValues>
      <!-- Add return value information here -->
    </command:returnValues>
    <maml:alertSet>
      <!-- Add Note information here -->
    </maml:alertSet>
    <command:examples>
      <!-- Add cmdlet examples here -->
    </command:examples>
    <maml:relatedLinks>
      <!-- Add links to related content here -->
    </maml:relatedLinks>
  </command:command>
 
 
  <!-- *************************** -->
  <!-- * Add-MeToKeyvault * -->
  <!-- *************************** -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10"
                   xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10"
                   xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Add-MeToKeyvault</command:name>
      <command:verb>Add</command:verb>
      <command:noun>MeToKeyvault</command:noun>
      <maml:description>
        <maml:para>Adds the current user (from Get-AzureRmContext) to a specific keyvault with all permissions on both secrets and keys.</maml:para>
      </maml:description>
    </command:details>
 
    <maml:description>
      <maml:para>Adds the current user (from Get-AzureRmContext) to a specific keyvault with all permissions on both secrets and keys.</maml:para>
      <maml:para>Subscription co-admins won't have default permissions in keyvaults, only the person that created them will have default permissions.</maml:para>
      <maml:para>So it is handy to have a simple way to adding yourself with all permissions to a specific keyvault!</maml:para>
    </maml:description>
 
    <command:syntax>
      <maml:para>Add-MeToKeyvault</maml:para>
    </command:syntax>
 
    <command:parameters>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="0">
        <maml:name>KeyvaultName</maml:name>
        <maml:description>
          <maml:para>The name of the keyvault that you want to add yourself to.</maml:para>
        </maml:description>
        <command:parameterValue required="true">String</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
    </command:parameters>
 
    <command:inputTypes>
      <!-- Add input type information here -->
    </command:inputTypes>
    <command:returnValues>
      <!-- Add return value information here -->
    </command:returnValues>
    <maml:alertSet>
      <!-- Add Note information here -->
    </maml:alertSet>
    <command:examples>
      <!-- Add cmdlet examples here -->
    </command:examples>
    <maml:relatedLinks>
      <!-- Add links to related content here -->
    </maml:relatedLinks>
  </command:command>
 
 
  <!-- *********************************************** -->
  <!-- * Register-AzureServiceBusInKeyVault * -->
  <!-- *********************************************** -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10"
                   xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10"
                   xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Register-AzureServiceBusInKeyVault</command:name>
      <command:verb>Register</command:verb>
      <command:noun>AzureServiceBusInKeyVault</command:noun>
      <maml:description>
        <maml:para>Adds Azure service bus connection strings as secrets to keyvault.</maml:para>
      </maml:description>
    </command:details>
 
    <maml:description>
      <maml:para>Scans service bus namespaces for authorization rules and sets the keyvault secret to the connection string.</maml:para>
      <maml:para>Currently supports:</maml:para>
      <maml:list>
        <maml:listItem>
          <maml:para>ARM</maml:para>
        </maml:listItem>
      </maml:list>
    </maml:description>
 
    <command:syntax>
      <maml:para>Register-AzureServiceBusInKeyVault</maml:para>
    </command:syntax>
 
    <command:parameters>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
        <maml:name>KeyVaultName</maml:name>
        <maml:description>
          <maml:para>Specifies the key vault to set the secrets in.</maml:para>
        </maml:description>
        <command:parameterValue required="true">String</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
    </command:parameters>
 
    <command:parameters>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
        <maml:name>Environment</maml:name>
        <maml:description>
          <maml:para>Specifies the environment to limit the service bus namespace on.</maml:para>
        </maml:description>
        <command:parameterValue required="true">String</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
    </command:parameters>
 
    <command:parameters>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="2">
        <maml:name>Regex</maml:name>
        <maml:description>
          <maml:para>Specifies the regex to limit the service bus namespace on.</maml:para>
        </maml:description>
        <command:parameterValue required="true">String</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
    </command:parameters>
 
    <command:inputTypes>
      <!-- Add input type information here -->
    </command:inputTypes>
    <command:returnValues>
      <!-- Add return value information here -->
    </command:returnValues>
    <maml:alertSet>
      <!-- Add Note information here -->
    </maml:alertSet>
    <command:examples>
      <!-- Add cmdlet examples here -->
    </command:examples>
    <maml:relatedLinks>
      <!-- Add links to related content here -->
    </maml:relatedLinks>
  </command:command>
 
  <!-- *********************************************** -->
  <!-- * Register-AzureSqlDatabaseInKeyVault * -->
  <!-- *********************************************** -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10"
                   xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10"
                   xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Register-AzureSqlDatabaseInKeyVault</command:name>
      <command:verb>Register</command:verb>
      <command:noun>AzureSqlDatabaseInKeyVault</command:noun>
      <maml:description>
        <maml:para>Adds Azure sql database connection strings as secrets to keyvault.</maml:para>
      </maml:description>
    </command:details>
 
    <maml:description>
      <maml:para>Scans sql database instances based on the search criteria and sets the key vault secrets to the connection strings.</maml:para>
      <maml:para>Currently supports:</maml:para>
      <maml:list>
        <maml:listItem>
          <maml:para>ARM</maml:para>
        </maml:listItem>
      </maml:list>
    </maml:description>
 
    <command:syntax>
      <maml:para>Register-AzureSqlDatabaseInKeyVault</maml:para>
    </command:syntax>
 
    <command:parameters>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
        <maml:name>KeyVaultName</maml:name>
        <maml:description>
          <maml:para>Specifies the key vault to set the secrets in.</maml:para>
        </maml:description>
        <command:parameterValue required="true">String</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
    </command:parameters>
 
    <command:parameters>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
        <maml:name>ResourceGroup</maml:name>
        <maml:description>
          <maml:para>Specifies the resource group the azure sql server is in.</maml:para>
        </maml:description>
        <command:parameterValue required="true">String</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
    </command:parameters>
 
    <command:parameters>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="2">
        <maml:name>Environment</maml:name>
        <maml:description>
          <maml:para>Specifies the environment to limit the sql database name on.</maml:para>
        </maml:description>
        <command:parameterValue required="true">String</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
    </command:parameters>
 
    <command:parameters>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="3">
        <maml:name>Regex</maml:name>
        <maml:description>
          <maml:para>Specifies the regex to limit the sql database name on.</maml:para>
        </maml:description>
        <command:parameterValue required="true">String</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
    </command:parameters>
 
    <command:parameters>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="4">
        <maml:name>SqlSaPassword</maml:name>
        <maml:description>
          <maml:para>SQL Administrator password to use.</maml:para>
        </maml:description>
        <command:parameterValue required="true">String</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
    </command:parameters>
 
    <command:parameters>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="5">
        <maml:name>ConfigurationKeyVaultName</maml:name>
        <maml:description>
          <maml:para>Key vault name to get existing sql username and password secrets from.</maml:para>
        </maml:description>
        <command:parameterValue required="true">String</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
    </command:parameters>
 
    <command:inputTypes>
      <!-- Add input type information here -->
    </command:inputTypes>
    <command:returnValues>
      <!-- Add return value information here -->
    </command:returnValues>
    <maml:alertSet>
      <!-- Add Note information here -->
    </maml:alertSet>
    <command:examples>
      <!-- Add cmdlet examples here -->
    </command:examples>
    <maml:relatedLinks>
      <!-- Add links to related content here -->
    </maml:relatedLinks>
  </command:command>
 
  <!-- *********************************************** -->
  <!-- * Register-AzureCosmosDBInKeyVault * -->
  <!-- *********************************************** -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10"
                   xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10"
                   xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Register-AzureCosmosDBInKeyVault</command:name>
      <command:verb>Register</command:verb>
      <command:noun>AzureCosmosDBInKeyVault</command:noun>
      <maml:description>
        <maml:para>Adds Azure cosmos db primary keys as secrets to keyvault.</maml:para>
      </maml:description>
    </command:details>
 
    <maml:description>
      <maml:para>Scans cosmos db account instances based on the search criteria and sets the key vault secrets to the primary keys.</maml:para>
      <maml:para>Currently supports:</maml:para>
      <maml:list>
        <maml:listItem>
          <maml:para>ARM</maml:para>
        </maml:listItem>
      </maml:list>
    </maml:description>
 
    <command:syntax>
      <maml:para>Register-AzureCosmosDBInKeyVault</maml:para>
    </command:syntax>
 
    <command:parameters>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
        <maml:name>KeyVaultName</maml:name>
        <maml:description>
          <maml:para>Specifies the key vault to set the secrets in.</maml:para>
        </maml:description>
        <command:parameterValue required="true">String</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
    </command:parameters>
 
    <command:parameters>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="1">
        <maml:name>ResourceGroup</maml:name>
        <maml:description>
          <maml:para>Specifies the resource group the azure cosmos db account is in.</maml:para>
        </maml:description>
        <command:parameterValue required="true">String</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
    </command:parameters>
 
    <command:parameters>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="2">
        <maml:name>Environment</maml:name>
        <maml:description>
          <maml:para>Specifies the environment to limit the cosmos db account name on.</maml:para>
        </maml:description>
        <command:parameterValue required="true">String</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
    </command:parameters>
 
    <command:parameters>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="3">
        <maml:name>Regex</maml:name>
        <maml:description>
          <maml:para>Specifies the regex to limit the cosmos db account name on.</maml:para>
        </maml:description>
        <command:parameterValue required="true">String</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
    </command:parameters>
 
    <command:inputTypes>
      <!-- Add input type information here -->
    </command:inputTypes>
    <command:returnValues>
      <!-- Add return value information here -->
    </command:returnValues>
    <maml:alertSet>
      <!-- Add Note information here -->
    </maml:alertSet>
    <command:examples>
      <!-- Add cmdlet examples here -->
    </command:examples>
    <maml:relatedLinks>
      <!-- Add links to related content here -->
    </maml:relatedLinks>
  </command:command>
 
 
  <!-- *********************************************** -->
  <!-- * Register-AzureRedisCacheInKeyVault * -->
  <!-- *********************************************** -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10"
                   xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10"
                   xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Register-AzureRedisCacheInKeyVault</command:name>
      <command:verb>Register</command:verb>
      <command:noun>AzureRedisCacheInKeyVault</command:noun>
      <maml:description>
        <maml:para>Adds Azure redis cache primary keys as secrets to keyvault.</maml:para>
      </maml:description>
    </command:details>
 
    <maml:description>
      <maml:para>Scans redis cache instances based on the search criteria and sets the key vault secrets to the primary keys.</maml:para>
      <maml:para>Currently supports:</maml:para>
      <maml:list>
        <maml:listItem>
          <maml:para>ARM</maml:para>
        </maml:listItem>
      </maml:list>
    </maml:description>
 
    <command:syntax>
      <maml:para>Register-AzureRedisCacheInKeyVault</maml:para>
    </command:syntax>
 
    <command:parameters>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
        <maml:name>KeyVaultName</maml:name>
        <maml:description>
          <maml:para>Specifies the key vault to set the secrets in.</maml:para>
        </maml:description>
        <command:parameterValue required="true">String</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
    </command:parameters>
 
    <command:parameters>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
        <maml:name>ResourceGroup</maml:name>
        <maml:description>
          <maml:para>Specifies the resource group the azure redis cache is in.</maml:para>
        </maml:description>
        <command:parameterValue required="true">String</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
    </command:parameters>
 
    <command:parameters>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="2">
        <maml:name>Environment</maml:name>
        <maml:description>
          <maml:para>Specifies the environment to limit the azure redis cache name on.</maml:para>
        </maml:description>
        <command:parameterValue required="true">String</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
    </command:parameters>
 
    <command:parameters>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="3">
        <maml:name>Regex</maml:name>
        <maml:description>
          <maml:para>Specifies the regex to limit the azure redis cache name on.</maml:para>
        </maml:description>
        <command:parameterValue required="true">String</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
    </command:parameters>
 
    <command:inputTypes>
      <!-- Add input type information here -->
    </command:inputTypes>
    <command:returnValues>
      <!-- Add return value information here -->
    </command:returnValues>
    <maml:alertSet>
      <!-- Add Note information here -->
    </maml:alertSet>
    <command:examples>
      <!-- Add cmdlet examples here -->
    </command:examples>
    <maml:relatedLinks>
      <!-- Add links to related content here -->
    </maml:relatedLinks>
  </command:command>
 
  <!-- *********************************************** -->
  <!-- * New-AutoRestProject * -->
  <!-- *********************************************** -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10"
                   xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10"
                   xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>New-AutoRestProject</command:name>
      <command:verb>New</command:verb>
      <command:noun>AutoRestProject</command:noun>
      <maml:description>
        <maml:para>generates, builds and packs c# client side code for given JSON Swagger URL</maml:para>
      </maml:description>
    </command:details>
 
    <maml:description>
      <maml:para>generate, build and pack nuget package for given JSON Swagger input</maml:para>
      <maml:para>Currently supports:</maml:para>
      <maml:list>
        <maml:listItem>
          <maml:para>win10-x64</maml:para>
        </maml:listItem>
      </maml:list>
    </maml:description>
 
    <command:syntax>
      <maml:para>New-AutoRestProject</maml:para>
    </command:syntax>
 
    <command:parameters>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="1">
        <maml:name>DefUrl</maml:name>
        <maml:description>
          <maml:para>URL for the Swagger definition JSON file</maml:para>
        </maml:description>
        <command:parameterValue required="true">String</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
    </command:parameters>
 
    <command:parameters>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="2">
        <maml:name>Namespace</maml:name>
        <maml:description>
          <maml:para>Namespace to put generated code into</maml:para>
        </maml:description>
        <command:parameterValue required="true">String</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
    </command:parameters>
 
    <command:parameters>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="3">
        <maml:name>OutputFolder</maml:name>
        <maml:description>
          <maml:para>Output folder</maml:para>
        </maml:description>
        <command:parameterValue required="true">String</command:parameterValue>
        <dev:type>String</dev:type>
      </command:parameter>
    </command:parameters>
 
    
    <command:inputTypes>
      <!-- Add input type information here -->
    </command:inputTypes>
    <command:returnValues>
      <!-- Add return value information here -->
    </command:returnValues>
    <maml:alertSet>
      <!-- Add Note information here -->
    </maml:alertSet>
    <command:examples>
      <!-- Add cmdlet examples here -->
    </command:examples>
    <maml:relatedLinks>
      <!-- Add links to related content here -->
    </maml:relatedLinks>
  </command:command>
 
</helpItems>