PoshBot.AzDos.psm1

function AddVSTeam {
    [PoshBot.BotCommand(Aliases = ('AddTeam'),
                        Permissions = 'ManageTeam')]
    [CmdletBinding()]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, Position=1)]
    [Alias('TeamName')]
    [string]
    ${Name},

    [string]
    ${Description})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeam', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters | Select-Object -Property Name,Description,ProjectName

        New-PoshBotCardResponse -Type Normal -Title 'Teams' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Add-VSTeam
.ForwardHelpCategory Function
 
#>


}  



function AddVSTeamAccessControlEntry {
    [PoshBot.BotCommand(Aliases = ('AddTeamAccessControlEntry'),
                        Permissions = 'ManageTeam')]
    [CmdletBinding(DefaultParameterSetName='ByNamespace')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Parameter(ParameterSetName='ByNamespace', Mandatory=$true, ValueFromPipeline=$true)]
    [string]
    ${SecurityNamespace},

    [Parameter(ParameterSetName='ByNamespaceId', Mandatory=$true)]
    [ValidateScript({ 
         try {
             [System.Guid]::Parse($_) | Out-Null
             $true
         } catch {
             $false
         }
       })]
    [string]
    ${SecurityNamespaceId},

    [Parameter(ParameterSetName='ByNamespaceId', Mandatory=$true)]
    [Parameter(ParameterSetName='ByNamespace', Mandatory=$true)]
    [string]
    ${Token},

    [Parameter(ParameterSetName='ByNamespaceId', Mandatory=$true)]
    [Parameter(ParameterSetName='ByNamespace', Mandatory=$true)]
    [string]
    ${Descriptor},

    [Parameter(ParameterSetName='ByNamespaceId', Mandatory=$true)]
    [Parameter(ParameterSetName='ByNamespace', Mandatory=$true)]
    [ValidateRange(0, 2147483647)]
    [int]
    ${AllowMask},

    [Parameter(ParameterSetName='ByNamespaceId', Mandatory=$true)]
    [Parameter(ParameterSetName='ByNamespace', Mandatory=$true)]
    [ValidateRange(0, 2147483647)]
    [int]
    ${DenyMask})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamAccessControlEntry', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Team Access Control Entries' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Add-VSTeamAccessControlEntry
.ForwardHelpCategory Function
 
#>


}  



function AddVSTeamAzureRMServiceEndpoint {
    [PoshBot.BotCommand(Aliases = ('AddTeamAzureRMServiceEndpoint'),
                        Permissions = 'ManageEndpoint')]
    [CmdletBinding(DefaultParameterSetName='Automatic')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)]
    [Alias('displayName')]
    [string]
    ${subscriptionName},

    [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)]
    [string]
    ${subscriptionId},

    [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)]
    [string]
    ${subscriptionTenantId},

    [Parameter(ParameterSetName='Manual', Mandatory=$true, ValueFromPipelineByPropertyName=$true)]
    [string]
    ${servicePrincipalId},

    [Parameter(ParameterSetName='Manual', Mandatory=$true, ValueFromPipelineByPropertyName=$true)]
    [string]
    ${servicePrincipalKey},

    [string]
    ${endpointName})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamAzureRMServiceEndpoint', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Azurem RM Endpoints' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Add-VSTeamAzureRMServiceEndpoint
.ForwardHelpCategory Function
 
#>


}  



function AddVSTeamBuild {
    [PoshBot.BotCommand(Aliases = ('AddTeamBuild'),
                        Permissions = 'ManageBuild')]
    [CmdletBinding(DefaultParameterSetName='ByName')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(ParameterSetName='ByID', ValueFromPipelineByPropertyName=$true)]
    [int]
    ${BuildDefinitionId},

    [string]
    ${SourceBranch},

    [hashtable]
    ${BuildParameters})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamBuild', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Builds' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Add-VSTeamBuild
.ForwardHelpCategory Function
 
#>


}  



function AddVSTeamBuildDefinition {
    [PoshBot.BotCommand(Aliases = ('AddTeamBuildDefinition'),
                        Permissions = 'ManageBuild')]
    [CmdletBinding()]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)]
    [string]
    ${InFile})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamBuildDefinition', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Build Definitions' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Add-VSTeamBuildDefinition
.ForwardHelpCategory Function
 
#>


}  



function AddVSTeamBuildTag {
    [PoshBot.BotCommand(Aliases = ('AddTeamBuildTag'),
                        Permissions = 'ManageBuild')]
    [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Low')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)]
    [string[]]
    ${Tags},

    [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)]
    [Alias('BuildID')]
    [int[]]
    ${Id},

    [switch]
    ${Force})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamBuildTag', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Build Tags' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Add-VSTeamBuildTag
.ForwardHelpCategory Function
 
#>


}  



function AddVSTeamExtension {
    [PoshBot.BotCommand(Aliases = ('AddTeamExtension'),
                        Permissions = 'ManageExtension')]
    [CmdletBinding()]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Parameter(Mandatory=$true, Position=0)]
    [string]
    ${PublisherId},

    [Parameter(Mandatory=$true, Position=1)]
    [string]
    ${ExtensionId},

    [Parameter(Position=2)]
    [string]
    ${Version})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamExtension', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Extensions' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Add-VSTeamExtension
.ForwardHelpCategory Function
 
#>


}  



function AddVSTeamFeed {
    [PoshBot.BotCommand(Aliases = ('AddTeamFeed'),
                        Permissions = 'ManageArtifacts')]
    [CmdletBinding()]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Parameter(Mandatory=$true, Position=0)]
    [string]
    ${Name},

    [Parameter(Position=1)]
    [string]
    ${Description},

    [switch]
    ${EnableUpstreamSources},

    [switch]
    ${showDeletedPackageVersions})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamFeed', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Feeds' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Add-VSTeamFeed
.ForwardHelpCategory Function
 
#>


}  



function AddVSTeamGitRepository {
    [PoshBot.BotCommand(Aliases = ('AddTeamGitRepository'),
                        Permissions = 'ManageCode')]
    [CmdletBinding()]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, Position=0)]
    [string]
    ${Name})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamGitRepository', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Git Repositories' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Add-VSTeamGitRepository
.ForwardHelpCategory Function
 
#>


}  



function AddVSTeamGitRepositoryPermission {
    [PoshBot.BotCommand(Aliases = ('AddTeamGitRepositoryPermission'),
                        Permissions = 'ManageCode')]
    [CmdletBinding(DefaultParameterSetName='ByProjectAndUser')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Parameter(ParameterSetName='ByRepositoryNameAndDescriptor', Mandatory=$true)]
    [Parameter(ParameterSetName='ByRepositoryIdAndDescriptor', Mandatory=$true)]
    [Parameter(ParameterSetName='ByRepositoryNameAndUser', Mandatory=$true)]
    [Parameter(ParameterSetName='ByRepositoryNameAndGroup', Mandatory=$true)]
    [Parameter(ParameterSetName='ByRepositoryIdAndUser', Mandatory=$true)]
    [Parameter(ParameterSetName='ByRepositoryIdAndGroup', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndUser', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndGroup', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndDescriptor', Mandatory=$true)]
    [string]
    ${Project},

    [Parameter(ParameterSetName='ByRepositoryIdAndDescriptor', Mandatory=$true)]
    [Parameter(ParameterSetName='ByRepositoryIdAndUser', Mandatory=$true)]
    [Parameter(ParameterSetName='ByRepositoryIdAndGroup', Mandatory=$true)]
    [ValidateScript({ 
         try {
             [System.Guid]::Parse($_) | Out-Null
             $true
         } catch {
             $false
         }
       })]
    [string]
    ${RepositoryId},

    [Parameter(ParameterSetName='ByRepositoryNameAndDescriptor', Mandatory=$true)]
    [Parameter(ParameterSetName='ByRepositoryNameAndUser', Mandatory=$true)]
    [Parameter(ParameterSetName='ByRepositoryNameAndGroup', Mandatory=$true)]
    [string]
    ${RepositoryName},

    [Parameter(ParameterSetName='ByRepositoryNameAndDescriptor')]
    [Parameter(ParameterSetName='ByRepositoryIdAndDescriptor')]
    [Parameter(ParameterSetName='ByRepositoryNameAndUser')]
    [Parameter(ParameterSetName='ByRepositoryNameAndGroup')]
    [Parameter(ParameterSetName='ByRepositoryIdAndUser')]
    [Parameter(ParameterSetName='ByRepositoryIdAndGroup')]
    [string]
    ${BranchName},

    [Parameter(ParameterSetName='ByRepositoryNameAndDescriptor', Mandatory=$true)]
    [Parameter(ParameterSetName='ByRepositoryIdAndDescriptor', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndDescriptor', Mandatory=$true)]
    [string]
    ${Descriptor},

    [Parameter(ParameterSetName='ByRepositoryNameAndGroup', Mandatory=$true)]
    [Parameter(ParameterSetName='ByRepositoryIdAndGroup', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndGroup', Mandatory=$true)]
    [string]
    ${Group},

    [Parameter(ParameterSetName='ByRepositoryNameAndUser', Mandatory=$true)]
    [Parameter(ParameterSetName='ByRepositoryIdAndUser', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndUser', Mandatory=$true)]
    [string]
    ${User},

    [Parameter(ParameterSetName='ByRepositoryNameAndDescriptor', Mandatory=$true)]
    [Parameter(ParameterSetName='ByRepositoryIdAndDescriptor', Mandatory=$true)]
    [Parameter(ParameterSetName='ByRepositoryNameAndUser', Mandatory=$true)]
    [Parameter(ParameterSetName='ByRepositoryNameAndGroup', Mandatory=$true)]
    [Parameter(ParameterSetName='ByRepositoryIdAndUser', Mandatory=$true)]
    [Parameter(ParameterSetName='ByRepositoryIdAndGroup', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndUser', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndGroup', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndDescriptor', Mandatory=$true)]
    [string]
    ${Allow},

    [Parameter(ParameterSetName='ByRepositoryNameAndDescriptor', Mandatory=$true)]
    [Parameter(ParameterSetName='ByRepositoryIdAndDescriptor', Mandatory=$true)]
    [Parameter(ParameterSetName='ByRepositoryNameAndUser', Mandatory=$true)]
    [Parameter(ParameterSetName='ByRepositoryNameAndGroup', Mandatory=$true)]
    [Parameter(ParameterSetName='ByRepositoryIdAndUser', Mandatory=$true)]
    [Parameter(ParameterSetName='ByRepositoryIdAndGroup', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndUser', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndGroup', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndDescriptor', Mandatory=$true)]
    [string]
    ${Deny})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamGitRepositoryPermission', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Git Reporitory Permissions' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Add-VSTeamGitRepositoryPermission
.ForwardHelpCategory Function
 
#>


}  



function AddVSTeamKubernetesEndpoint {
    [PoshBot.BotCommand(Aliases = ('AddTeamKubernetesEndpoint'),
                        Permissions = 'ManageEndpoint')]
    [CmdletBinding()]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)]
    [string]
    ${endpointName},

    [Parameter(Mandatory=$true, Position=1, ValueFromPipelineByPropertyName=$true)]
    [string]
    ${kubeconfig},

    [Parameter(Mandatory=$true, Position=2, ValueFromPipelineByPropertyName=$true)]
    [string]
    ${kubernetesUrl},

    [Parameter(Mandatory=$true, Position=3, ValueFromPipelineByPropertyName=$true)]
    [string]
    ${clientCertificateData},

    [Parameter(Mandatory=$true, Position=4, ValueFromPipelineByPropertyName=$true)]
    [string]
    ${clientKeyData},

    [switch]
    ${acceptUntrustedCerts},

    [switch]
    ${generatePfx})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamKubernetesEndpoint', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Kubernetes Endpoints' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Add-VSTeamKubernetesEndpoint
.ForwardHelpCategory Function
 
#>


}  



function AddVSTeamNuGetEndpoint {
    [PoshBot.BotCommand(Aliases = ('AddTeamNuGetEndpoint'),
                        Permissions = 'ManageEndpoint')]
    [CmdletBinding(DefaultParameterSetName='SecureApiKey')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)]
    [string]
    ${EndpointName},

    [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)]
    [string]
    ${NuGetUrl},

    [Parameter(ParameterSetName='ClearToken', Mandatory=$true, HelpMessage='Personal Access Token')]
    [string]
    ${PersonalAccessToken},

    [Parameter(ParameterSetName='ClearApiKey', Mandatory=$true, HelpMessage='ApiKey')]
    [string]
    ${ApiKey},

    [Parameter(ParameterSetName='SecurePassword', Mandatory=$true, HelpMessage='Username')]
    [string]
    ${Username},

    [Parameter(ParameterSetName='SecureToken', Mandatory=$true, HelpMessage='Personal Access Token')]
    [securestring]
    ${SecurePersonalAccessToken},

    [Parameter(ParameterSetName='SecureApiKey', Mandatory=$true, HelpMessage='ApiKey')]
    [securestring]
    ${SecureApiKey},

    [Parameter(ParameterSetName='SecurePassword', Mandatory=$true, HelpMessage='Password')]
    [securestring]
    ${SecurePassword})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamNuGetEndpoint', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'NuGet Endpoints' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Add-VSTeamNuGetEndpoint
.ForwardHelpCategory Function
 
#>


}  



function AddVSTeamPolicy {
    [PoshBot.BotCommand(Aliases = ('AddTeamPolicy'),
                        Permissions = 'ManageCodePolicy')]
    [CmdletBinding()]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, Position=0)]
    [guid]
    ${type},

    [switch]
    ${enabled},

    [switch]
    ${blocking},

    [Parameter(Mandatory=$true, Position=1)]
    [hashtable]
    ${settings})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamPolicy', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Team Policies' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Add-VSTeamPolicy
.ForwardHelpCategory Function
 
#>


}  



function AddVSTeamProject {
    [PoshBot.BotCommand(Aliases = ('AddTeamProject'),
                        Permissions = 'ManageProject')]
    [CmdletBinding()]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Parameter(Mandatory=$true, Position=0)]
    [Alias('Name')]
    [string]
    ${ProjectName},

    [Parameter(Position=1)]
    [string]
    ${Description},

    [switch]
    ${TFVC})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamProject', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters | Select-Object -Property Name,Description

        New-PoshBotCardResponse -Type Normal -Title 'Projects' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Add-VSTeamProject
.ForwardHelpCategory Function
 
#>


}  



function AddVSTeamProjectPermission {
    [PoshBot.BotCommand(Aliases = ('AddTeamProjectPermission'),
                        Permissions = 'ManageProject')]
    [CmdletBinding(DefaultParameterSetName='ByProjectAndUser')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Parameter(ParameterSetName='ByProjectAndUser', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndGroup', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndDescriptor', Mandatory=$true)]
    [string]
    ${Project},

    [Parameter(ParameterSetName='ByProjectAndDescriptor', Mandatory=$true)]
    [string]
    ${Descriptor},

    [Parameter(ParameterSetName='ByProjectAndGroup', Mandatory=$true)]
    [string]
    ${Group},

    [Parameter(ParameterSetName='ByProjectAndUser', Mandatory=$true)]
    [string]
    ${User},

    [Parameter(ParameterSetName='ByProjectAndUser', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndGroup', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndDescriptor', Mandatory=$true)]
    [string]
    ${Allow},

    [Parameter(ParameterSetName='ByProjectAndUser', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndGroup', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndDescriptor', Mandatory=$true)]
    [string]
    ${Deny})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamProjectPermission', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Project Permissions' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Add-VSTeamProjectPermission
.ForwardHelpCategory Function
 
#>


}  



function AddVSTeamRelease {
    [PoshBot.BotCommand(Aliases = ('AddTeamRelease','QueueRelease'),
                        Permissions = 'QueueRelease')]
    [CmdletBinding(DefaultParameterSetName='ById', SupportsShouldProcess=$true, ConfirmImpact='Medium')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(ParameterSetName='ById', Mandatory=$true)]
    [int]
    ${DefinitionId},

    [string]
    ${Description},

    [Parameter(ParameterSetName='ById', Mandatory=$true)]
    [string]
    ${ArtifactAlias},

    [string]
    ${Name},

    [Parameter(ParameterSetName='ById', Mandatory=$true)]
    [string]
    ${BuildId},

    [string]
    ${SourceBranch},

    [switch]
    ${Force})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamRelease', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Releases' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Add-VSTeamRelease
.ForwardHelpCategory Function
 
#>


}  



function AddVSTeamReleaseDefinition {
    [PoshBot.BotCommand(Aliases = ('AddTeamReleaseDefinition'),
                        Permissions = 'ManageRelease')]
    [CmdletBinding()]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)]
    [string]
    ${inFile})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamReleaseDefinition', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Release Definitions' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Add-VSTeamReleaseDefinition
.ForwardHelpCategory Function
 
#>


}  



function AddVSTeamServiceEndpoint {
    [PoshBot.BotCommand(Aliases = ('AddTeamServiceEndpoint'),
                        Permissions = 'ManageEndpoint')]
    [CmdletBinding(DefaultParameterSetName='Secure')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)]
    [string]
    ${endpointName},

    [Parameter(Mandatory=$true, Position=1, ValueFromPipelineByPropertyName=$true)]
    [string]
    ${endpointType},

    [Parameter(Mandatory=$true, Position=2, ValueFromPipelineByPropertyName=$true)]
    [hashtable]
    ${object})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamServiceEndpoint', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Service Endpoints' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Add-VSTeamServiceEndpoint
.ForwardHelpCategory Function
 
#>


}  



function AddVSTeamServiceFabricEndpoint {
    [PoshBot.BotCommand(Aliases = ('AddTeamServiceFabricEndpoint'),
                        Permissions = 'ManageEndpoint')]
    [CmdletBinding(DefaultParameterSetName='Certificate')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)]
    [Alias('displayName')]
    [string]
    ${endpointName},

    [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)]
    [string]
    ${url},

    [Parameter(ParameterSetName='Certificate', Mandatory=$true, ValueFromPipelineByPropertyName=$true)]
    [string]
    ${certificate},

    [Parameter(ParameterSetName='Certificate', Mandatory=$true, ValueFromPipelineByPropertyName=$true)]
    [securestring]
    ${certificatePassword},

    [Parameter(ParameterSetName='AzureAd', Mandatory=$true, ValueFromPipelineByPropertyName=$true)]
    [Parameter(ParameterSetName='Certificate', Mandatory=$true, ValueFromPipelineByPropertyName=$true)]
    [string]
    ${serverCertThumbprint},

    [Parameter(ParameterSetName='AzureAd', Mandatory=$true, ValueFromPipelineByPropertyName=$true)]
    [string]
    ${username},

    [Parameter(ParameterSetName='AzureAd', Mandatory=$true, ValueFromPipelineByPropertyName=$true)]
    [securestring]
    ${password},

    [Parameter(ParameterSetName='None', ValueFromPipelineByPropertyName=$true)]
    [string]
    ${clusterSpn},

    [Parameter(ParameterSetName='None', ValueFromPipelineByPropertyName=$true)]
    [bool]
    ${useWindowsSecurity})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamServiceFabricEndpoint', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Service Fabric Endpoints' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Add-VSTeamServiceFabricEndpoint
.ForwardHelpCategory Function
 
#>


}  



function AddVSTeamSonarQubeEndpoint {
    [PoshBot.BotCommand(Aliases = ('AddTeamSonarQubeEndpoint'),
                        Permissions = 'ManageEndpoint')]
    [CmdletBinding(DefaultParameterSetName='Secure')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)]
    [string]
    ${endpointName},

    [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)]
    [string]
    ${sonarqubeUrl},

    [Parameter(ParameterSetName='Plain', Mandatory=$true, Position=2, HelpMessage='Personal Access Token')]
    [string]
    ${personalAccessToken},

    [Parameter(ParameterSetName='Secure', Mandatory=$true, HelpMessage='Personal Access Token')]
    [securestring]
    ${securePersonalAccessToken})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamSonarQubeEndpoint', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'SonarQube Endpoints' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Add-VSTeamSonarQubeEndpoint
.ForwardHelpCategory Function
 
#>


}  



function AddVSTeamUserEntitlement {
    [PoshBot.BotCommand(Aliases = ('AddTeamUserEntitlement'),
                        Permissions = 'ManageUsers')]
    [CmdletBinding()]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, Position=0)]
    [Alias('UserEmail')]
    [string]
    ${Email},

    [Parameter(Position=1)]
    [ValidateSet('Advanced','EarlyAdopter','Express','None','Professional','StakeHolder')]
    [string]
    ${License},

    [Parameter(Position=2)]
    [ValidateSet('Custom','ProjectAdministrator','ProjectContributor','ProjectReader','ProjectStakeholder')]
    [string]
    ${Group})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamUserEntitlement', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'User Entitlements' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Add-VSTeamUserEntitlement
.ForwardHelpCategory Function
 
#>


}  



function AddVSTeamVariableGroup {
    [PoshBot.BotCommand(Aliases = ('AddTeamVariableGroup'),
                        Permissions = 'ManageVariableGroup')]
    [CmdletBinding()]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)]
    [string]
    ${Name},

    [Parameter(Mandatory=$true, Position=1, ValueFromPipelineByPropertyName=$true)]
    [string]
    ${Description},

    [Parameter(Mandatory=$true, Position=2, ValueFromPipelineByPropertyName=$true)]
    [hashtable]
    ${Variables})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamVariableGroup', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Variable Groups' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Add-VSTeamVariableGroup
.ForwardHelpCategory Function
 
#>


}  



function AddVSTeamWorkItem {
    [PoshBot.BotCommand(Aliases = ('AddTeamWorkItem'))]
    [CmdletBinding()]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, Position=0)]
    [string]
    ${Title},

    [Parameter(Position=1)]
    [string]
    ${Description},

    [Parameter(Position=2)]
    [string]
    ${IterationPath},

    [Parameter(Position=3)]
    [string]
    ${AssignedTo},

    [Parameter(Position=4)]
    [int]
    ${ParentId})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamWorkItem', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Work Items' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Add-VSTeamWorkItem
.ForwardHelpCategory Function
 
#>


}  



function AddVSTeamWorkItemAreaPermission {
    [PoshBot.BotCommand(Aliases = ('AddTeamWorkItemAreaPermission'),
                        Permissions = 'ManageWorkItem')]
    [CmdletBinding(DefaultParameterSetName='ByProjectAndAreaIdAndUser')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Parameter(ParameterSetName='ByProjectAndAreaPathAndGroup', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndAreaPathAndUser', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndAreaPathAndDescriptor', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndAreaIdAndUser', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndAreaIdAndGroup', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndAreaIdAndDescriptor', Mandatory=$true)]
    [string]
    ${Project},

    [Parameter(ParameterSetName='ByProjectAndAreaIdAndUser', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndAreaIdAndGroup', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndAreaIdAndDescriptor', Mandatory=$true)]
    [int]
    ${AreaID},

    [Parameter(ParameterSetName='ByProjectAndAreaPathAndGroup', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndAreaPathAndUser', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndAreaPathAndDescriptor', Mandatory=$true)]
    [string]
    ${AreaPath},

    [Parameter(ParameterSetName='ByProjectAndAreaPathAndDescriptor', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndAreaIdAndDescriptor', Mandatory=$true)]
    [string]
    ${Descriptor},

    [Parameter(ParameterSetName='ByProjectAndAreaPathAndGroup', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndAreaIdAndGroup', Mandatory=$true)]
    [string]
    ${Group},

    [Parameter(ParameterSetName='ByProjectAndAreaIdAndUser', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndAreaPathAndUser', Mandatory=$true)]
    [string]
    ${User},

    [Parameter(ParameterSetName='ByProjectAndAreaPathAndGroup', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndAreaPathAndUser', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndAreaPathAndDescriptor', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndAreaIdAndUser', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndAreaIdAndGroup', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndAreaIdAndDescriptor', Mandatory=$true)]
    [string]
    ${Allow},

    [Parameter(ParameterSetName='ByProjectAndAreaPathAndGroup', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndAreaPathAndUser', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndAreaPathAndDescriptor', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndAreaIdAndUser', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndAreaIdAndGroup', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndAreaIdAndDescriptor', Mandatory=$true)]
    [string]
    ${Deny})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamWorkItemAreaPermission', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Area Permissions' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Add-VSTeamWorkItemAreaPermission
.ForwardHelpCategory Function
 
#>


}  



function AddVSTeamWorkItemIterationPermission {
    [PoshBot.BotCommand(Aliases = ('AddTeamWorkItemIterationPermission'),
                        Permissions = 'ManageWorkItem')]
    [CmdletBinding(DefaultParameterSetName='ByProjectAndIterationIdAndUser')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Parameter(ParameterSetName='ByProjectAndIterationPathAndGroup', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndIterationPathAndUser', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndIterationPathAndDescriptor', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndIterationIdAndUser', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndIterationIdAndGroup', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndIterationIdAndDescriptor', Mandatory=$true)]
    [string]
    ${Project},

    [Parameter(ParameterSetName='ByProjectAndIterationIdAndUser', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndIterationIdAndGroup', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndIterationIdAndDescriptor', Mandatory=$true)]
    [int]
    ${IterationID},

    [Parameter(ParameterSetName='ByProjectAndIterationPathAndGroup', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndIterationPathAndUser', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndIterationPathAndDescriptor', Mandatory=$true)]
    [string]
    ${IterationPath},

    [Parameter(ParameterSetName='ByProjectAndIterationPathAndDescriptor', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndIterationIdAndDescriptor', Mandatory=$true)]
    [string]
    ${Descriptor},

    [Parameter(ParameterSetName='ByProjectAndIterationPathAndGroup', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndIterationIdAndGroup', Mandatory=$true)]
    [string]
    ${Group},

    [Parameter(ParameterSetName='ByProjectAndIterationIdAndUser', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndIterationPathAndUser', Mandatory=$true)]
    [string]
    ${User},

    [Parameter(ParameterSetName='ByProjectAndIterationPathAndGroup', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndIterationPathAndUser', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndIterationPathAndDescriptor', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndIterationIdAndUser', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndIterationIdAndGroup', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndIterationIdAndDescriptor', Mandatory=$true)]
    [string]
    ${Allow},

    [Parameter(ParameterSetName='ByProjectAndIterationPathAndGroup', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndIterationPathAndUser', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndIterationPathAndDescriptor', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndIterationIdAndUser', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndIterationIdAndGroup', Mandatory=$true)]
    [Parameter(ParameterSetName='ByProjectAndIterationIdAndDescriptor', Mandatory=$true)]
    [string]
    ${Deny})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Add-VSTeamWorkItemIterationPermission', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Iteration Permissions' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Add-VSTeamWorkItemIterationPermission
.ForwardHelpCategory Function
 
#>


}  



function DisableVSTeamAgent {
    [PoshBot.BotCommand(Aliases = ('DisableTeamAgent'),
                        Permissions = 'ManageAgent')]
    [CmdletBinding()]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)]
    [int]
    ${PoolId},

    [Parameter(Mandatory=$true, Position=1, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)]
    [Alias('AgentID')]
    [int[]]
    ${Id})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Disable-VSTeamAgent', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Agents' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Disable-VSTeamAgent
.ForwardHelpCategory Function
 
#>


}  



function EnableVSTeamAgent {
    [PoshBot.BotCommand(Aliases = ('EnableTeamAgent'),
                        Permissions = 'ManageAgent')]
    [CmdletBinding()]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)]
    [int]
    ${PoolId},

    [Parameter(Mandatory=$true, Position=1, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)]
    [Alias('AgentID')]
    [int[]]
    ${Id})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Enable-VSTeamAgent', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Agents' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Enable-VSTeamAgent
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeam {
    [PoshBot.BotCommand(Aliases = ('GetTeam'))]
    [CmdletBinding(DefaultParameterSetName='List')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(ParameterSetName='List')]
    [int]
    ${Top},

    [Parameter(ParameterSetName='List')]
    [int]
    ${Skip},

    [Parameter(ParameterSetName='ByID')]
    [Alias('TeamId')]
    [string[]]
    ${Id},

    [Parameter(ParameterSetName='ByName')]
    [Alias('TeamName')]
    [string[]]
    ${Name})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeam', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters | Select-Object -Property Name,Description,ProjectName

        New-PoshBotCardResponse -Type Normal -Title 'Teams' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeam
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamAccessControlList {
    [PoshBot.BotCommand(Aliases = ('GetTeamAccessControlList'),
                        Permissions = 'ManageTeam')]
    [CmdletBinding(DefaultParameterSetName='ByNamespace')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Parameter(ParameterSetName='ByNamespace', Mandatory=$true, ValueFromPipeline=$true)]
    [string]
    ${SecurityNamespace},

    [Parameter(ParameterSetName='ByNamespaceId', Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)]
    [Alias('ID')]
    [ValidateScript({ 
         try {
             [System.Guid]::Parse($_) | Out-Null
             $true
         } catch {
             $false
         }
       })]
    [string]
    ${SecurityNamespaceId},

    [Parameter(ParameterSetName='ByNamespaceId')]
    [Parameter(ParameterSetName='ByNamespace')]
    [string]
    ${Token},

    [Parameter(ParameterSetName='ByNamespaceId')]
    [Parameter(ParameterSetName='ByNamespace')]
    [string[]]
    ${Descriptors},

    [Parameter(ParameterSetName='ByNamespaceId')]
    [Parameter(ParameterSetName='ByNamespace')]
    [switch]
    ${IncludeExtendedInfo},

    [Parameter(ParameterSetName='ByNamespaceId')]
    [Parameter(ParameterSetName='ByNamespace')]
    [switch]
    ${Recurse})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamAccessControlList', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Team Access Control Lists' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamAccessControlList
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamAgent {
    [PoshBot.BotCommand(Aliases = ('GetTeamAgent'))]
    [CmdletBinding(DefaultParameterSetName='List')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)]
    [int]
    ${PoolId},

    [Parameter(ParameterSetName='ByID', Mandatory=$true, Position=1, ValueFromPipelineByPropertyName=$true)]
    [Alias('AgentID')]
    [int]
    ${Id})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamAgent', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Agents' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamAgent
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamApproval {
    [PoshBot.BotCommand(Aliases = ('GetTeamApproval'))]
    [CmdletBinding()]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Position=0)]
    [ValidateSet('Approved','ReAssigned','Rejected','Canceled','Pending','Rejected','Skipped','Undefined')]
    [string]
    ${StatusFilter},

    [Parameter(Position=1)]
    [Alias('ReleaseIdFilter')]
    [int[]]
    ${ReleaseIdsFilter},

    [Parameter(Position=2)]
    [string]
    ${AssignedToFilter})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamApproval', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Approvals' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamApproval
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamBuild {
    [PoshBot.BotCommand(Aliases = ('GetTeamBuild'))]
    [CmdletBinding(DefaultParameterSetName='List')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(ParameterSetName='List')]
    [int]
    ${Top},

    [Parameter(ParameterSetName='List')]
    [ValidateSet('succeeded','partiallySucceeded','failed','canceled')]
    [string]
    ${ResultFilter},

    [Parameter(ParameterSetName='List')]
    [ValidateSet('manual','individualCI','batchedCI','schedule','userCreated','validateShelveset','checkInShelveset','triggered','all')]
    [string]
    ${ReasonFilter},

    [Parameter(ParameterSetName='List')]
    [ValidateSet('inProgress','completed','cancelling','postponed','notStarted','all')]
    [string]
    ${StatusFilter},

    [Parameter(ParameterSetName='List')]
    [int[]]
    ${Queues},

    [Parameter(ParameterSetName='List')]
    [int[]]
    ${Definitions},

    [Parameter(ParameterSetName='List')]
    [string]
    ${BuildNumber},

    [Parameter(ParameterSetName='List')]
    [ValidateSet('build','xaml')]
    [string]
    ${Type},

    [Parameter(ParameterSetName='List')]
    [int]
    ${MaxBuildsPerDefinition},

    [Parameter(ParameterSetName='List')]
    [string[]]
    ${Properties},

    [Parameter(ParameterSetName='ByID', ValueFromPipeline=$true)]
    [Alias('BuildID')]
    [int[]]
    ${Id})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamBuild', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Builds' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamBuild
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamBuildArtifact {
    [PoshBot.BotCommand(Aliases = ('GetTeamBuildArtifact'))]
    [CmdletBinding()]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)]
    [Alias('BuildID')]
    [int]
    ${Id})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamBuildArtifact', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Build Artifacts' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamBuildArtifact
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamBuildDefinition {
    [PoshBot.BotCommand(Aliases = ('GetTeamBuildDefinition'))]
    [CmdletBinding(DefaultParameterSetName='List')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(ParameterSetName='List')]
    [string]
    ${Filter},

    [Parameter(ParameterSetName='List')]
    [ValidateSet('build','xaml','All')]
    [string]
    ${Type},

    [Parameter(ParameterSetName='ByID', Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)]
    [Parameter(ParameterSetName='ByIdJson', Mandatory=$true, Position=0)]
    [Parameter(ParameterSetName='ByIdRaw', Mandatory=$true, Position=0)]
    [Alias('BuildDefinitionID')]
    [int[]]
    ${Id},

    [Parameter(ParameterSetName='ByID')]
    [Parameter(ParameterSetName='ByIdJson')]
    [Parameter(ParameterSetName='ByIdRaw')]
    [int]
    ${Revision},

    [Parameter(ParameterSetName='ByIdJson', Mandatory=$true)]
    [switch]
    ${JSON},

    [Parameter(ParameterSetName='ByIdRaw', Mandatory=$true)]
    [switch]
    ${raw})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamBuildDefinition', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Build Definitions' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamBuildDefinition
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamBuildLog {
    [PoshBot.BotCommand(Aliases = ('GetTeamBuildLog'))]
    [CmdletBinding(DefaultParameterSetName='ByID')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(ParameterSetName='ByID', Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)]
    [Alias('BuildID')]
    [int[]]
    ${Id},

    [int]
    ${Index})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamBuildLog', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Build Logs' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamBuildLog
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamBuildTag {
    [PoshBot.BotCommand(Aliases = ('GetTeamBuildTag'))]
    [CmdletBinding()]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)]
    [Alias('BuildID')]
    [int]
    ${Id})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamBuildTag', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Build Tags' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamBuildTag
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamClassificationNode {
    [PoshBot.BotCommand(Aliases = ('GetTeamClassificationNode'))]
    [CmdletBinding(DefaultParameterSetName='ByIds')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(ParameterSetName='ByPath', Mandatory=$true)]
    [ValidateSet('areas','iterations')]
    [string]
    ${StructureGroup},

    [Parameter(ParameterSetName='ByPath')]
    [string]
    ${Path},

    [Parameter(ParameterSetName='ByIds')]
    [int[]]
    ${Ids},

    [Parameter(ParameterSetName='ByIds')]
    [Parameter(ParameterSetName='ByPath')]
    [int]
    ${Depth})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamClassificationNode', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Team Classification Nodes' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamClassificationNode
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamCloudSubscription {
    [PoshBot.BotCommand(Aliases = ('GetTeamCloudSubscription'))]
    [CmdletBinding()]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile
    )

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamCloudSubscription', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Cloud Subscriptions' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamCloudSubscription
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamDescriptor {
    [PoshBot.BotCommand(Aliases = ('GetTeamDescriptor'))]
    [CmdletBinding(DefaultParameterSetName='ByStorageKey')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Parameter(ParameterSetName='ByStorageKey', Mandatory=$true)]
    [string]
    ${StorageKey})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamDescriptor', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Team Descriptor' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamDescriptor
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamExtension {
    [PoshBot.BotCommand(Aliases = ('GetTeamExtension'))]
    [CmdletBinding()]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Parameter(ParameterSetName='List')]
    [switch]
    ${IncludeInstallationIssues},

    [Parameter(ParameterSetName='List')]
    [switch]
    ${IncludeDisabledExtensions},

    [Parameter(ParameterSetName='List')]
    [switch]
    ${IncludeErrors},

    [Parameter(ParameterSetName='GetById', Mandatory=$true)]
    [string]
    ${PublisherId},

    [Parameter(ParameterSetName='GetById', Mandatory=$true)]
    [string]
    ${ExtensionId})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamExtension', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Extensions' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamExtension
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamFeed {
    [PoshBot.BotCommand(Aliases = ('GetTeamFeed'))]
    [CmdletBinding(DefaultParameterSetName='List')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Parameter(ParameterSetName='ByID', Position=0)]
    [Alias('FeedId')]
    [string[]]
    ${Id})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamFeed', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Feeds' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamFeed
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamGitRef {
    [PoshBot.BotCommand(Aliases = ('GetTeamGitRef'))]
    [CmdletBinding()]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)]
    [Alias('Id')]
    [guid]
    ${RepositoryID})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamGitRef', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Git Refs' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamGitRef
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamGitRepository {
    [PoshBot.BotCommand(Aliases = ('GetTeamGitRepository'))]
    [CmdletBinding(DefaultParameterSetName='ByID')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(ParameterSetName='ByID', ValueFromPipeline=$true)]
    [Alias('RepositoryID')]
    [guid[]]
    ${Id},

    [Parameter(ParameterSetName='ByName', ValueFromPipeline=$true)]
    [string[]]
    ${Name})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamGitRepository', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Git Repositories' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamGitRepository
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamGroup {
    [PoshBot.BotCommand(Aliases = ('GetTeamGroup'))]
    [CmdletBinding(DefaultParameterSetName='List')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(ParameterSetName='ListByProjectName')]
    [Parameter(ParameterSetName='List')]
    [ValidateSet('vssgp','aadgp')]
    [string[]]
    ${SubjectTypes},

    [Parameter(ParameterSetName='List')]
    [string]
    ${ScopeDescriptor},

    [Parameter(ParameterSetName='ByGroupDescriptor', Mandatory=$true)]
    [Alias('GroupDescriptor')]
    [string]
    ${Descriptor})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamGroup', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Groups' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamGroup
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamJobRequest {
    [PoshBot.BotCommand(Aliases = ('GetTeamJobRequest'))]
    [CmdletBinding()]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)]
    [int]
    ${PoolId},

    [Parameter(Mandatory=$true, Position=1, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)]
    [Alias('ID')]
    [int]
    ${AgentID},

    [int]
    ${completedRequestCount})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamJobRequest', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Job Requests' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamJobRequest
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamMember {
    [PoshBot.BotCommand(Aliases = ('GetTeamMember'))]
    [CmdletBinding()]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Position=0)]
    [int]
    ${Top},

    [Parameter(Position=1)]
    [int]
    ${Skip},

    [Parameter(Mandatory=$true, Position=2, ValueFromPipelineByPropertyName=$true)]
    [Alias('Id','Name')]
    [string]
    ${TeamId})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamMember', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Team Members' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamMember
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamPolicy {
    [PoshBot.BotCommand(Aliases = ('GetTeamPolicy'))]
    [CmdletBinding()]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Position=0, ValueFromPipeline=$true)]
    [int[]]
    ${Id})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamPolicy', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Policies' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamPolicy
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamPolicyType {
    [PoshBot.BotCommand(Aliases = ('GetTeamPolicyType'))]
    [CmdletBinding()]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Position=0, ValueFromPipeline=$true)]
    [guid[]]
    ${Id})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamPolicyType', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Policy Types' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamPolicyType
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamPool {
    [PoshBot.BotCommand(Aliases = ('GetTeamPool'))]
    [CmdletBinding(DefaultParameterSetName='List')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Parameter(ParameterSetName='ByID', Mandatory=$true, Position=1, ValueFromPipelineByPropertyName=$true)]
    [Alias('PoolID')]
    [int]
    ${Id})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamPool', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Pools' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamPool
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamProcess {
    [PoshBot.BotCommand(Aliases = ('GetTeamProcess'))]
    [CmdletBinding(DefaultParameterSetName='List')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Parameter(ParameterSetName='List')]
    [int]
    ${Top},

    [Parameter(ParameterSetName='List')]
    [int]
    ${Skip},

    [Parameter(ParameterSetName='ByID')]
    [Alias('ProcessTemplateID')]
    [string]
    ${Id})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamProcess', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Processes' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamProcess
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamProject {
    [PoshBot.BotCommand(Aliases = ('GetTeamProject'))]
    [CmdletBinding(DefaultParameterSetName='List')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(ParameterSetName='List')]
    [ValidateSet('WellFormed','CreatePending','Deleting','New','All')]
    [string]
    ${StateFilter},

    [Parameter(ParameterSetName='List')]
    [int]
    ${Top},

    [Parameter(ParameterSetName='List')]
    [int]
    ${Skip},

    [Parameter(ParameterSetName='ByID')]
    [Alias('ProjectID')]
    [string]
    ${Id},

    [switch]
    ${IncludeCapabilities})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamProject', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters | Select-Object -Property Name,Description

        New-PoshBotCardResponse -Type Normal -Title 'Projects' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamProject
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamPullRequest {
    [PoshBot.BotCommand(Aliases = ('GetTeamPullRequest'))]
    [CmdletBinding()]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Position=0)]
    [Alias('PullRequestId')]
    [string]
    ${Id})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamPullRequest', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Pull Requets' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamPullRequest
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamQueue {
    [PoshBot.BotCommand(Aliases = ('GetTeamQueue'))]
    [CmdletBinding(DefaultParameterSetName='List')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(ParameterSetName='List')]
    [string]
    ${queueName},

    [Parameter(ParameterSetName='List')]
    [ValidateSet('None','Manage','Use')]
    [string]
    ${actionFilter},

    [Parameter(ParameterSetName='ByID')]
    [Alias('QueueID')]
    [string]
    ${id})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamQueue', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Queues' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamQueue
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamRelease {
    [PoshBot.BotCommand(Aliases = ('GetTeamRelease'))]
    [CmdletBinding(DefaultParameterSetName='List')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [ValidateSet('environments','artifacts','approvals','none')]
    [string]
    ${expand},

    [Parameter(ParameterSetName='List')]
    [ValidateSet('Draft','Active','Abandoned')]
    [string]
    ${statusFilter},

    [Parameter(ParameterSetName='List')]
    [int]
    ${definitionId},

    [Parameter(ParameterSetName='List')]
    [int]
    ${top},

    [Parameter(ParameterSetName='List')]
    [string]
    ${createdBy},

    [Parameter(ParameterSetName='List')]
    [datetime]
    ${minCreatedTime},

    [Parameter(ParameterSetName='List')]
    [datetime]
    ${maxCreatedTime},

    [Parameter(ParameterSetName='List')]
    [ValidateSet('ascending','descending')]
    [string]
    ${queryOrder},

    [Parameter(ParameterSetName='List')]
    [string]
    ${continuationToken},

    [Parameter(ParameterSetName='ByID', Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)]
    [Parameter(ParameterSetName='ByIdJson', Mandatory=$true, Position=0)]
    [Parameter(ParameterSetName='ByIdRaw', Mandatory=$true, Position=0)]
    [Alias('ReleaseID')]
    [int[]]
    ${id},

    [Parameter(ParameterSetName='ByIdJson', Mandatory=$true)]
    [switch]
    ${JSON},

    [Parameter(ParameterSetName='ByIdRaw', Mandatory=$true)]
    [switch]
    ${raw})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamRelease', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Releases' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamRelease
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamReleaseDefinition {
    [PoshBot.BotCommand(Aliases = ('GetTeamReleaseDefinition'))]
    [CmdletBinding(DefaultParameterSetName='List')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(ParameterSetName='List')]
    [ValidateSet('environments','artifacts','none')]
    [string]
    ${Expand},

    [Parameter(ParameterSetName='ByID', ValueFromPipelineByPropertyName=$true)]
    [Alias('ReleaseDefinitionID')]
    [int[]]
    ${Id})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamReleaseDefinition', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Release Definitions' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamReleaseDefinition
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamResourceArea {
    [PoshBot.BotCommand(Aliases = ('GetTeamResourceArea'))]
    [CmdletBinding()]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile
    )

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamResourceArea', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Resource Areas' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamResourceArea
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamSecurityNamespace {
    [PoshBot.BotCommand(Aliases = ('GetTeamSecurityNamespace'),
                        Permissions = 'ManageTeam')]
    [CmdletBinding(DefaultParameterSetName='List')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Parameter(ParameterSetName='ByNamespaceName', Mandatory=$true)]
    [string]
    ${Name},

    [Parameter(ParameterSetName='ByNamespaceId', Mandatory=$true)]
    [ValidateScript({ 
         try {
             [System.Guid]::Parse($_) | Out-Null
             $true
         } catch {
             $false
         }
       })]
    [string]
    ${Id},

    [Parameter(ParameterSetName='List')]
    [switch]
    ${LocalOnly})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamSecurityNamespace', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Security Namespaces' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamSecurityNamespace
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamServiceEndpoint {
    [PoshBot.BotCommand(Aliases = ('GetTeamServiceEndpoint'))]
    [CmdletBinding(DefaultParameterSetName='List')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(ParameterSetName='ByID', Mandatory=$true, ValueFromPipelineByPropertyName=$true)]
    [string]
    ${id})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamServiceEndpoint', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Service Endpoints' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamServiceEndpoint
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamServiceEndpointType {
    [PoshBot.BotCommand(Aliases = ('GetTeamServiceEndpointType'))]
    [CmdletBinding()]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Parameter(ParameterSetName='ByType')]
    [string]
    ${Type},

    [Parameter(ParameterSetName='ByType')]
    [string]
    ${Scheme})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamServiceEndpointType', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Service Endpoint Types' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamServiceEndpointType
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamTfvcBranch {
    [PoshBot.BotCommand(Aliases = ('GetTeamTfvcBranch'))]
    [CmdletBinding()]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)]
    [string[]]
    ${Path},

    [switch]
    ${IncludeChildren},

    [switch]
    ${IncludeParent},

    [switch]
    ${IncludeDeleted})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamTfvcBranch', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'TFVC Branches' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamTfvcBranch
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamTfvcRootBranch {
    [PoshBot.BotCommand(Aliases = ('GetTeamTfvcRootBranch'))]
    [CmdletBinding()]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [switch]
    ${IncludeChildren},

    [switch]
    ${IncludeDeleted})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamTfvcRootBranch', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'TFVC Root Branches' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamTfvcRootBranch
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamUser {
    [PoshBot.BotCommand(Aliases = ('GetTeamUser'))]
    [CmdletBinding(DefaultParameterSetName='List')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Parameter(ParameterSetName='List')]
    [ValidateSet('msa','aad','svc','imp','vss')]
    [string[]]
    ${SubjectTypes},

    [Parameter(ParameterSetName='ByUserDescriptor', Mandatory=$true)]
    [Alias('UserDescriptor')]
    [string]
    ${Descriptor})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamUser', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Users' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamUser
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamUserEntitlement {
    [PoshBot.BotCommand(Aliases = ('GetTeamUserEntitlement'))]
    [CmdletBinding(DefaultParameterSetName='List')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Parameter(ParameterSetName='List')]
    [int]
    ${Top},

    [Parameter(ParameterSetName='List')]
    [int]
    ${Skip},

    [Parameter(ParameterSetName='List')]
    [ValidateSet('Projects','Extensions','Grouprules')]
    [string[]]
    ${Select},

    [Parameter(ParameterSetName='ByID')]
    [Alias('UserId')]
    [string[]]
    ${Id})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamUserEntitlement', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'user Entitlements' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamUserEntitlement
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamVariableGroup {
    [PoshBot.BotCommand(Aliases = ('GetTeamVariableGroup'))]
    [CmdletBinding(DefaultParameterSetName='List')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(ParameterSetName='ByID', Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)]
    [string]
    ${Id})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamVariableGroup', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Variable Groups' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamVariableGroup
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamWorkItem {
    [PoshBot.BotCommand(Aliases = ('GetTeamWorkItem'))]
    [CmdletBinding(DefaultParameterSetName='ByID')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Parameter(ParameterSetName='ByID', Mandatory=$true, Position=0, ValueFromPipeline=$true)]
    [int]
    ${Id},

    [Parameter(ParameterSetName='List', Mandatory=$true, Position=0, ValueFromPipeline=$true)]
    [int[]]
    ${Ids},

    [Parameter(ParameterSetName='List')]
    [ValidateSet('Fail','Omit')]
    [string]
    ${ErrorPolicy},

    [ValidateSet('None','Relations','Fields','Links','All')]
    [string]
    ${Expand},

    [string[]]
    ${Fields})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamWorkItem', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Work Items' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamWorkItem
.ForwardHelpCategory Function
 
#>


}  



function GetVSTeamWorkItemType {
    [PoshBot.BotCommand(Aliases = ('GetTeamWorkItemType'))]
    [CmdletBinding(DefaultParameterSetName='List')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName}
)

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-VSTeamWorkItemType', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Work Item Types' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Get-VSTeamWorkItemType
.ForwardHelpCategory Function
 
#>


}  



function RemoveVSTeam {
    [PoshBot.BotCommand(Aliases = ('RemoveTeam'),
                        Permissions = 'ManageTeam')]
    [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)]
    [Alias('Name','TeamId','TeamName')]
    [string]
    ${Id},

    [switch]
    ${Force})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Remove-VSTeam', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Teams' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Remove-VSTeam
.ForwardHelpCategory Function
 
#>


}  



function RemoveVSTeamAccessControlList {
    [PoshBot.BotCommand(Aliases = ('RemoveTeamAccessControlList'),
                        Permissions = 'ManageTeam')]
    [CmdletBinding(DefaultParameterSetName='ByNamespace', SupportsShouldProcess=$true, ConfirmImpact='High')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Parameter(ParameterSetName='ByNamespace', Mandatory=$true, ValueFromPipeline=$true)]
    [string]
    ${SecurityNamespace},

    [Parameter(ParameterSetName='ByNamespaceId', Mandatory=$true)]
    [ValidateScript({ 
         try {
             [System.Guid]::Parse($_) | Out-Null
             $true
         } catch {
             $false
         }
       })]
    [string]
    ${SecurityNamespaceId},

    [Parameter(ParameterSetName='ByNamespaceId', Mandatory=$true)]
    [Parameter(ParameterSetName='ByNamespace', Mandatory=$true)]
    [string[]]
    ${Tokens},

    [Parameter(ParameterSetName='ByNamespaceId')]
    [Parameter(ParameterSetName='ByNamespace')]
    [switch]
    ${Recurse},

    [switch]
    ${Force})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Remove-VSTeamAccessControlList', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Access Control Lists' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Remove-VSTeamAccessControlList
.ForwardHelpCategory Function
 
#>


}  



function RemoveVSTeamAgent {
    [PoshBot.BotCommand(Aliases = ('RemoveTeamAgent'),
                        Permissions = 'ManageAgent')]
    [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)]
    [int]
    ${PoolId},

    [Parameter(Mandatory=$true, Position=1, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)]
    [Alias('AgentID')]
    [int[]]
    ${Id},

    [switch]
    ${Force})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Remove-VSTeamAgent', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Agents' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Remove-VSTeamAgent
.ForwardHelpCategory Function
 
#>


}  



function RemoveVSTeamBuild {
    [PoshBot.BotCommand(Aliases = ('RemoveTeamBuild'),
                        Permissions = 'ManageBuild')]
    [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)]
    [Alias('BuildID')]
    [int[]]
    ${Id},

    [switch]
    ${Force})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Remove-VSTeamBuild', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Builds' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Remove-VSTeamBuild
.ForwardHelpCategory Function
 
#>


}  



function RemoveVSTeamBuildDefinition {
    [PoshBot.BotCommand(Aliases = ('RemoveTeamBuildDefinition'),
                        Permissions = 'ManageBuild')]
    [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)]
    [int[]]
    ${Id},

    [switch]
    ${Force})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Remove-VSTeamBuildDefinition', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Build Definitions' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Remove-VSTeamBuildDefinition
.ForwardHelpCategory Function
 
#>


}  



function RemoveVSTeamBuildTag {
    [PoshBot.BotCommand(Aliases = ('RemoveTeamBuildTag'),
                        Permissions = 'ManageBuild')]
    [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Low')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)]
    [string[]]
    ${Tags},

    [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)]
    [Alias('BuildID')]
    [int[]]
    ${Id},

    [switch]
    ${Force})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Remove-VSTeamBuildTag', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Build Tags' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Remove-VSTeamBuildTag
.ForwardHelpCategory Function
 
#>


}  



function RemoveVSTeamExtension {
    [PoshBot.BotCommand(Aliases = ('RemoveTeamExtension'),
                        Permissions = 'ManageExtension')]
    [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Parameter(Mandatory=$true, Position=0)]
    [string]
    ${PublisherId},

    [Parameter(Mandatory=$true, Position=1)]
    [string]
    ${ExtensionId},

    [switch]
    ${Force})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Remove-VSTeamExtension', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Extensions' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Remove-VSTeamExtension
.ForwardHelpCategory Function
 
#>


}  



function RemoveVSTeamFeed {
    [PoshBot.BotCommand(Aliases = ('RemoveTeamFeed'),
                        Permissions = 'ManageArtifacts')]
    [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Parameter(ParameterSetName='ByID', Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)]
    [Alias('FeedId')]
    [string[]]
    ${Id},

    [switch]
    ${Force})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Remove-VSTeamFeed', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Feeds' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Remove-VSTeamFeed
.ForwardHelpCategory Function
 
#>


}  



function RemoveVSTeamGitRepository {
    [PoshBot.BotCommand(Aliases = ('RemoveTeamGitRepository'),
                        Permissions = 'ManageCode')]
    [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)]
    [guid[]]
    ${Id},

    [switch]
    ${Force})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Remove-VSTeamGitRepository', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Git Repositories' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Remove-VSTeamGitRepository
.ForwardHelpCategory Function
 
#>


}  



function RemoveVSTeamPolicy {
    [PoshBot.BotCommand(Aliases = ('RemoveTeamPolicy'),
                        Permissions = 'ManageCodePolicy')]
    [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)]
    [int[]]
    ${Id},

    [switch]
    ${Force})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Remove-VSTeamPolicy', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Policies' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Remove-VSTeamPolicy
.ForwardHelpCategory Function
 
#>


}  



function RemoveVSTeamProject {
    [PoshBot.BotCommand(Aliases = ('RemoveTeamProject'),
                        Permissions = 'ManageProject')]
    [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,

    [Alias('Project')]
    [string]
    ${ProjectName},
    
    [switch]
    ${Force})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Remove-VSTeamProject', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Projects' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Remove-VSTeamProject
.ForwardHelpCategory Function
 
#>


}  



function RemoveVSTeamRelease {
    [PoshBot.BotCommand(Aliases = ('RemoveTeamRelease'),
                        Permissions = 'ManageRelease')]
    [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)]
    [int[]]
    ${Id},

    [switch]
    ${Force})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Remove-VSTeamRelease', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Releases' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Remove-VSTeamRelease
.ForwardHelpCategory Function
 
#>


}  



function RemoveVSTeamReleaseDefinition {
    [PoshBot.BotCommand(Aliases = ('RemoveTeamReleaseDefinition'),
                        Permissions = 'ManageRelease')]
    [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)]
    [int[]]
    ${Id},

    [switch]
    ${Force})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Remove-VSTeamReleaseDefinition', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Release Definitions' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Remove-VSTeamReleaseDefinition
.ForwardHelpCategory Function
 
#>


}  



function RemoveVSTeamServiceEndpoint {
    [PoshBot.BotCommand(Aliases = ('RemoveTeamServiceEndpoint'),
                        Permissions = 'ManageEndpoint')]
    [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)]
    [string[]]
    ${id},

    [switch]
    ${Force})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Remove-VSTeamServiceEndpoint', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Service Endpoints' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Remove-VSTeamServiceEndpoint
.ForwardHelpCategory Function
 
#>


}  



function RemoveVSTeamUserEntitlement {
    [PoshBot.BotCommand(Aliases = ('RemoveTeamUserEntitlement'),
                        Permissions = 'ManageUsers')]
    [CmdletBinding(DefaultParameterSetName='ById', SupportsShouldProcess=$true, ConfirmImpact='High')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Parameter(ParameterSetName='ById', Mandatory=$true, ValueFromPipelineByPropertyName=$true)]
    [Alias('UserId')]
    [string]
    ${Id},

    [Parameter(ParameterSetName='ByEmail', Mandatory=$true, ValueFromPipelineByPropertyName=$true)]
    [Alias('UserEmail')]
    [string]
    ${Email},

    [switch]
    ${Force})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Remove-VSTeamUserEntitlement', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title Projects -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Remove-VSTeamUserEntitlement
.ForwardHelpCategory Function
 
#>


}  



function RemoveVSTeamVariableGroup {
    [PoshBot.BotCommand(Aliases = ('RemoveTeamVariableGroup'),
                        Permissions = 'ManageVariableGroup')]
    [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)]
    [string[]]
    ${id},

    [switch]
    ${Force})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Remove-VSTeamVariableGroup', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Variable Groups' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Remove-VSTeamVariableGroup
.ForwardHelpCategory Function
 
#>


}  



function SetVSTeamApproval {
    [PoshBot.BotCommand(Aliases = ('SetTeamApproval'))]
    [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)]
    [int[]]
    ${Id},

    [Parameter(Mandatory=$true, Position=1)]
    [ValidateSet('Approved','Rejected','Pending','ReAssigned')]
    [string]
    ${Status},

    [Parameter(Position=2)]
    [string]
    ${Approver},

    [Parameter(Position=3)]
    [string]
    ${Comment},

    [switch]
    ${Force})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Set-VSTeamApproval', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Approvals' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Set-VSTeamApproval
.ForwardHelpCategory Function
 
#>


}  



function SetVSTeamEnvironmentStatus {
    [PoshBot.BotCommand(Aliases = ('SetTeamEnvironmentStatus'),
                        Permissions = 'ManageRelease')]
    [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)]
    [Alias('Id')]
    [int[]]
    ${EnvironmentId},

    [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)]
    [int]
    ${ReleaseId},

    [Parameter(Mandatory=$true, Position=0)]
    [Alias('EnvironmentStatus')]
    [ValidateSet('canceled','inProgress','notStarted','partiallySucceeded','queued','rejected','scheduled','succeeded','undefined')]
    [string]
    ${Status},

    [string]
    ${Comment},

    [datetime]
    ${ScheduledDeploymentTime},

    [switch]
    ${Force})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Set-VSTeamEnvironmentStatus', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Environment Status' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Set-VSTeamEnvironmentStatus
.ForwardHelpCategory Function
 
#>


}  



function SetVSTeamReleaseStatus {
    [PoshBot.BotCommand(Aliases = ('SetTeamReleaseStatus'),
                        Permissions = 'ManageRelease')]
    [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)]
    [int[]]
    ${Id},

    [Parameter(Position=1)]
    [ValidateSet('Active','Abandoned')]
    [string]
    ${Status},

    [switch]
    ${Force})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Set-VSTeamReleaseStatus', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Release Status' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Set-VSTeamReleaseStatus
.ForwardHelpCategory Function
 
#>


}  



function UpdateVSTeam {
    [PoshBot.BotCommand(Aliases = ('UpdateTeam'),
                        Permissions = 'ManageTeam')]
    [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)]
    [Alias('TeamName','TeamId','TeamToUpdate','Id')]
    [string]
    ${Name},

    [Parameter(Position=1)]
    [string]
    ${NewTeamName},

    [Parameter(Position=2)]
    [string]
    ${Description},

    [switch]
    ${Force})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Update-VSTeam', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters | Select-Object -Property Name,Description,ProjectName

        New-PoshBotCardResponse -Type Normal -Title 'Teams' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Update-VSTeam
.ForwardHelpCategory Function
 
#>


}  



function UpdateVSTeamBuild {
    [PoshBot.BotCommand(Aliases = ('UpdateTeamBuild'),
                        Permissions = 'ManageBuild')]
    [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)]
    [Alias('BuildID')]
    [int]
    ${Id},

    [Parameter(Position=1, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)]
    [bool]
    ${KeepForever},

    [Parameter(Position=2, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)]
    [string]
    ${BuildNumber},

    [switch]
    ${Force})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Update-VSTeamBuild', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Builds' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Update-VSTeamBuild
.ForwardHelpCategory Function
 
#>


}  



function UpdateVSTeamBuildDefinition {
    [PoshBot.BotCommand(Aliases = ('UpdateTeamBuildDefinition'),
                        Permissions = 'ManageBuild')]
    [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)]
    [int]
    ${Id},

    [Parameter(Mandatory=$true, Position=1, ValueFromPipelineByPropertyName=$true)]
    [string]
    ${InFile},

    [switch]
    ${Force})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Update-VSTeamBuildDefinition', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Build Definitions' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Update-VSTeamBuildDefinition
.ForwardHelpCategory Function
 
#>


}  



function UpdateVSTeamExtension {
    [PoshBot.BotCommand(Aliases = ('UpdateTeamExtension'),
                        Permissions = 'ManageExtension')]
    [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Parameter(Mandatory=$true, Position=0)]
    [string]
    ${PublisherId},

    [Parameter(Mandatory=$true, Position=1)]
    [string]
    ${ExtensionId},

    [Parameter(Mandatory=$true, Position=2)]
    [ValidateSet('none','disabled')]
    [string]
    ${ExtensionState},

    [switch]
    ${Force})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Update-VSTeamExtension', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Extensions' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Update-VSTeamExtension
.ForwardHelpCategory Function
 
#>


}  



function UpdateVSTeamPolicy {
    [PoshBot.BotCommand(Aliases = ('UpdateTeamPolicy'),
                        Permissions = 'ManageCodePolicy')]
    [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, Position=0)]
    [int]
    ${id},

    [Parameter(Position=1)]
    [guid]
    ${type},

    [switch]
    ${enabled},

    [switch]
    ${blocking},

    [Parameter(Mandatory=$true, Position=2)]
    [hashtable]
    ${settings},

    [switch]
    ${Force})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Update-VSTeamPolicy', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Policies' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Update-VSTeamPolicy
.ForwardHelpCategory Function
 
#>


}  

function UpdateVSTeamProject {
    [PoshBot.BotCommand(Aliases = ('UpdateTeamProject'),
                        Permissions = 'ManageProject')]
    [CmdletBinding(DefaultParameterSetName='ByName', SupportsShouldProcess=$true, ConfirmImpact='High')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,

    [Alias('Project')]
    [string]
    ${ProjectName},
    
    [string]
    ${NewName},

    [string]
    ${NewDescription},

    [switch]
    ${Force},

    [Parameter(ParameterSetName='ByID', ValueFromPipelineByPropertyName=$true)]
    [string]
    ${Id})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Update-VSTeamProject', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters | Select-Object -Property Name,Description

        New-PoshBotCardResponse -Type Normal -Title 'Projects' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Update-VSTeamProject
.ForwardHelpCategory Function
 
#>


}  



function UpdateVSTeamRelease {
    [PoshBot.BotCommand(Aliases = ('UpdateTeamRelease'),
                        Permissions = 'ManageRelease')]
    [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)]
    [int]
    ${Id},

    [Parameter(Mandatory=$true, Position=1)]
    [psobject]
    ${Release},

    [switch]
    ${Force})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Update-VSTeamRelease', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Releases' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Update-VSTeamRelease
.ForwardHelpCategory Function
 
#>


}  



function UpdateVSTeamServiceEndpoint {
    [PoshBot.BotCommand(Aliases = ('UpdateTeamServiceEndpoint'),
                        Permissions = 'ManageEndpoint')]
    [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)]
    [string]
    ${id},

    [Parameter(Mandatory=$true, Position=1, ValueFromPipelineByPropertyName=$true)]
    [hashtable]
    ${object},

    [switch]
    ${Force})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Update-VSTeamServiceEndpoint', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Service Endpoints' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Update-VSTeamServiceEndpoint
.ForwardHelpCategory Function
 
#>


}  



function UpdateVSTeamUserEntitlement {
    [PoshBot.BotCommand(Aliases = ('UpdateTeamUserEntitlement'),
                        Permissions = 'ManageUsers')]
    [CmdletBinding(DefaultParameterSetName='ByEmail', SupportsShouldProcess=$true, ConfirmImpact='High')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Parameter(ParameterSetName='ById', Mandatory=$true, ValueFromPipelineByPropertyName=$true)]
    [Alias('UserId')]
    [string]
    ${Id},

    [Parameter(ParameterSetName='ByEmail', Mandatory=$true, ValueFromPipelineByPropertyName=$true)]
    [Alias('UserEmail')]
    [string]
    ${Email},

    [Parameter(Mandatory=$true)]
    [ValidateSet('Advanced','EarlyAdopter','Express','None','Professional','StakeHolder')]
    [string]
    ${License},

    [switch]
    ${Force})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Update-VSTeamUserEntitlement', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'User Entitlements' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Update-VSTeamUserEntitlement
.ForwardHelpCategory Function
 
#>


}  



function UpdateVSTeamVariableGroup {
    [PoshBot.BotCommand(Aliases = ('UpdateTeamVariableGroup'),
                        Permissions = 'ManageVariableGroup')]
    [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Alias('Project')]
    [string]
    ${ProjectName},

    [Parameter(Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)]
    [string]
    ${Id},

    [Parameter(Mandatory=$true, Position=1, ValueFromPipelineByPropertyName=$true)]
    [string]
    ${Name},

    [Parameter(Mandatory=$true, Position=2, ValueFromPipelineByPropertyName=$true)]
    [string]
    ${Description},

    [Parameter(Mandatory=$true, Position=3, ValueFromPipelineByPropertyName=$true)]
    [hashtable]
    ${Variables},

    [switch]
    ${Force})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Update-VSTeamVariableGroup', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Variable Groups' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Update-VSTeamVariableGroup
.ForwardHelpCategory Function
 
#>


}  



function UpdateVSTeamWorkItem {
    [PoshBot.BotCommand(Aliases = ('UpdateTeamWorkItem'))]
    [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')]
param(
    [PoshBot.FromConfig('VSTeamProfile')]
    [parameter(Mandatory)]
    [string]$VSTeamProfile,
    
    [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)]
    [int]
    ${Id},

    [string]
    ${Title},

    [string]
    ${Description},

    [string]
    ${IterationPath},

    [string]
    ${AssignedTo},

    [switch]
    ${Force})

    process {
        Set-VSTeamAccount -Profile $VSTeamProfile
        $PSBoundParameters.Remove('VSTeamProfile')
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Update-VSTeamWorkItem', [System.Management.Automation.CommandTypes]::Function)
        $output = & $wrappedCmd @PSBoundParameters 

        New-PoshBotCardResponse -Type Normal -Title 'Work Items' -Text ($output | Format-List * | Out-String)
    }
<#
 
.ForwardHelpTargetName Update-VSTeamWorkItem
.ForwardHelpCategory Function
 
#>


}  



Export-ModuleMember -Function AddVSTeam,AddVSTeamAccessControlEntry,AddVSTeamAzureRMServiceEndpoint,AddVSTeamBuild,AddVSTeamBuildDefinition,AddVSTeamBuildTag,AddVSTeamExtension,AddVSTeamFeed,AddVSTeamGitRepository,AddVSTeamGitRepositoryPermission,AddVSTeamKubernetesEndpoint,AddVSTeamNuGetEndpoint,AddVSTeamPolicy,AddVSTeamProject,AddVSTeamProjectPermission,AddVSTeamRelease,AddVSTeamReleaseDefinition,AddVSTeamServiceEndpoint,AddVSTeamServiceFabricEndpoint,AddVSTeamSonarQubeEndpoint,AddVSTeamUserEntitlement,AddVSTeamVariableGroup,AddVSTeamWorkItem,AddVSTeamWorkItemAreaPermission,AddVSTeamWorkItemIterationPermission,DisableVSTeamAgent,EnableVSTeamAgent,GetVSTeam,GetVSTeamAccessControlList,GetVSTeamAgent,GetVSTeamApproval,GetVSTeamBuild,GetVSTeamBuildArtifact,GetVSTeamBuildDefinition,GetVSTeamBuildLog,GetVSTeamBuildTag,GetVSTeamClassificationNode,GetVSTeamCloudSubscription,GetVSTeamDescriptor,GetVSTeamExtension,GetVSTeamFeed,GetVSTeamGitRef,GetVSTeamGitRepository,GetVSTeamGroup,GetVSTeamJobRequest,GetVSTeamMember,GetVSTeamPolicy,GetVSTeamPolicyType,GetVSTeamPool,GetVSTeamProcess,GetVSTeamProject,GetVSTeamPullRequest,GetVSTeamQueue,GetVSTeamRelease,GetVSTeamReleaseDefinition,GetVSTeamResourceArea,GetVSTeamSecurityNamespace,GetVSTeamServiceEndpoint,GetVSTeamServiceEndpointType,GetVSTeamTfvcBranch,GetVSTeamTfvcRootBranch,GetVSTeamUser,GetVSTeamUserEntitlement,GetVSTeamVariableGroup,GetVSTeamWorkItem,GetVSTeamWorkItemType,RemoveVSTeam,RemoveVSTeamAccessControlList,RemoveVSTeamAgent,RemoveVSTeamBuild,RemoveVSTeamBuildDefinition,RemoveVSTeamBuildTag,RemoveVSTeamExtension,RemoveVSTeamFeed,RemoveVSTeamGitRepository,RemoveVSTeamPolicy,RemoveVSTeamProject,RemoveVSTeamRelease,RemoveVSTeamReleaseDefinition,RemoveVSTeamServiceEndpoint,RemoveVSTeamUserEntitlement,RemoveVSTeamVariableGroup,SetVSTeamApproval,SetVSTeamEnvironmentStatus,SetVSTeamReleaseStatus,UpdateVSTeam,UpdateVSTeamBuild,UpdateVSTeamBuildDefinition,UpdateVSTeamExtension,UpdateVSTeamPolicy,UpdateVSTeamProject,UpdateVSTeamRelease,UpdateVSTeamServiceEndpoint,UpdateVSTeamUserEntitlement,UpdateVSTeamVariableGroup,UpdateVSTeamWorkItem