Public/New-Application.ps1
# Code generated from specification version 1.0.0: DO NOT EDIT Function New-Application { <# .SYNOPSIS New application .EXAMPLE PS> New-Application -Name myapp -Type HOSTED -Key "myapp-key" -ContextPath "myapp" Create new hosted application #> [cmdletbinding(SupportsShouldProcess = $true, PositionalBinding=$true, HelpUri='', ConfirmImpact = 'High')] [Alias()] [OutputType([object])] Param( # data [Parameter()] [hashtable] $Data, # Name of application (required) [Parameter(Mandatory = $true)] [string] $Name, # Shared secret of application (required) [Parameter(Mandatory = $true)] [string] $Key, # Type of application. Possible values are EXTERNAL, HOSTED, MICROSERVICE (required) [Parameter(Mandatory = $true)] [ValidateSet('EXTERNAL','HOSTED','MICROSERVICE')] [string] $Type, # Access level for other tenants. Possible values are : MARKET, PRIVATE (default) [Parameter()] [ValidateSet('MARKET','PRIVATE')] [string] $Availability, # contextPath of the hosted application. Required when application type is HOSTED [Parameter()] [string] $ContextPath, # URL to application base directory hosted on an external server. Required when application type is HOSTED [Parameter()] [string] $ResourcesUrl, # authorization username to access resourcesUrl [Parameter()] [string] $ResourcesUsername, # authorization password to access resourcesUrl [Parameter()] [string] $ResourcesPassword, # URL to the external application. Required when application type is EXTERNAL [Parameter()] [string] $ExternalUrl, # Include raw response including pagination information [Parameter()] [switch] $Raw, # Outputfile [Parameter()] [string] $OutputFile, # NoProxy [Parameter()] [switch] $NoProxy, # Session path [Parameter()] [string] $Session, # Don't prompt for confirmation [Parameter()] [switch] $Force ) Begin { $Parameters = @{} if ($PSBoundParameters.ContainsKey("Data")) { $Parameters["data"] = ConvertTo-JsonArgument $Data } if ($PSBoundParameters.ContainsKey("Name")) { $Parameters["name"] = $Name } if ($PSBoundParameters.ContainsKey("Key")) { $Parameters["key"] = $Key } if ($PSBoundParameters.ContainsKey("Type")) { $Parameters["type"] = $Type } if ($PSBoundParameters.ContainsKey("Availability")) { $Parameters["availability"] = $Availability } if ($PSBoundParameters.ContainsKey("ContextPath")) { $Parameters["contextPath"] = $ContextPath } if ($PSBoundParameters.ContainsKey("ResourcesUrl")) { $Parameters["resourcesUrl"] = $ResourcesUrl } if ($PSBoundParameters.ContainsKey("ResourcesUsername")) { $Parameters["resourcesUsername"] = $ResourcesUsername } if ($PSBoundParameters.ContainsKey("ResourcesPassword")) { $Parameters["resourcesPassword"] = $ResourcesPassword } if ($PSBoundParameters.ContainsKey("ExternalUrl")) { $Parameters["externalUrl"] = $ExternalUrl } if ($PSBoundParameters.ContainsKey("OutputFile")) { $Parameters["outputFile"] = $OutputFile } if ($PSBoundParameters.ContainsKey("NoProxy")) { $Parameters["noProxy"] = $NoProxy } if ($PSBoundParameters.ContainsKey("Session")) { $Parameters["session"] = $Session } } Process { foreach ($item in @("")) { if (!$Force -and !$WhatIfPreference -and !$PSCmdlet.ShouldProcess( (PSc8y\Get-C8ySessionProperty -Name "tenant"), (Format-ConfirmationMessage -Name $PSCmdlet.MyInvocation.InvocationName -InputObject $item) )) { continue } Invoke-Command ` -Noun "applications" ` -Verb "create" ` -Parameters $Parameters ` -Type "application/vnd.com.nsn.cumulocity.application+json" ` -ItemType "" ` -ResultProperty "" ` -Raw:$Raw ` -IncludeAll:$IncludeAll } } End {} } |