pspulumiyaml.azurenative.devtestlab.psm1
using module pspulumiyaml function Invoke-AzureNativeFunctionDevtestlabListLabVhds { param ( [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["name"] = $name $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:devtestlab:listLabVhds -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDevtestlabGetUser { param ( [parameter(mandatory=$False,HelpMessage='Specify the $expand query. Example: ''properties($select=identity)'')')] [string] $expand, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The name of the user profile.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["labName"] = $labName $arguments["name"] = $name $arguments["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'expand') { $arguments["expand"] = $expand } $functionObject = Invoke-PulumiFunction -Name azure-native:devtestlab:getUser -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDevtestlabGetVirtualMachine { param ( [parameter(mandatory=$False,HelpMessage='Specify the $expand query. Example: ''properties($expand=artifacts,computeVm,networkInterface,applicableSchedule)'')')] [string] $expand, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The name of the virtual machine.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["labName"] = $labName $arguments["name"] = $name $arguments["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'expand') { $arguments["expand"] = $expand } $functionObject = Invoke-PulumiFunction -Name azure-native:devtestlab:getVirtualMachine -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDevtestlabListVirtualMachineApplicableSchedules { param ( [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The name of the virtual machine.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["labName"] = $labName $arguments["name"] = $name $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:devtestlab:listVirtualMachineApplicableSchedules -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDevtestlabGetSecret { param ( [parameter(mandatory=$False,HelpMessage='The name of the user profile.)')] [string] $userName, [parameter(mandatory=$False,HelpMessage='Specify the $expand query. Example: ''properties($select=value)'')')] [string] $expand, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The name of the secret.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["labName"] = $labName $arguments["name"] = $name $arguments["resourceGroupName"] = $resourceGroupName $arguments["userName"] = $userName if($PSBoundParameters.Keys -icontains 'expand') { $arguments["expand"] = $expand } $functionObject = Invoke-PulumiFunction -Name azure-native:devtestlab:getSecret -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDevtestlabGetServiceRunner { param ( [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The name of the service runner.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["labName"] = $labName $arguments["name"] = $name $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:devtestlab:getServiceRunner -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDevtestlabGetVirtualMachineSchedule { param ( [parameter(mandatory=$False,HelpMessage='The name of the virtual machine.)')] [string] $virtualMachineName, [parameter(mandatory=$False,HelpMessage='Specify the $expand query. Example: ''properties($select=status)'')')] [string] $expand, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The name of the schedule.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["labName"] = $labName $arguments["name"] = $name $arguments["resourceGroupName"] = $resourceGroupName $arguments["virtualMachineName"] = $virtualMachineName if($PSBoundParameters.Keys -icontains 'expand') { $arguments["expand"] = $expand } $functionObject = Invoke-PulumiFunction -Name azure-native:devtestlab:getVirtualMachineSchedule -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDevtestlabGetEnvironment { param ( [parameter(mandatory=$False,HelpMessage='The name of the user profile.)')] [string] $userName, [parameter(mandatory=$False,HelpMessage='Specify the $expand query. Example: ''properties($select=deploymentProperties)'')')] [string] $expand, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The name of the environment.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["labName"] = $labName $arguments["name"] = $name $arguments["resourceGroupName"] = $resourceGroupName $arguments["userName"] = $userName if($PSBoundParameters.Keys -icontains 'expand') { $arguments["expand"] = $expand } $functionObject = Invoke-PulumiFunction -Name azure-native:devtestlab:getEnvironment -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDevtestlabGetLab { param ( [parameter(mandatory=$False,HelpMessage='Specify the $expand query. Example: ''properties($select=defaultStorageAccount)'')')] [string] $expand, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["name"] = $name $arguments["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'expand') { $arguments["expand"] = $expand } $functionObject = Invoke-PulumiFunction -Name azure-native:devtestlab:getLab -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDevtestlabGetVirtualMachineRdpFileContents { param ( [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The name of the virtual machine.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["labName"] = $labName $arguments["name"] = $name $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:devtestlab:getVirtualMachineRdpFileContents -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDevtestlabGetServiceFabric { param ( [parameter(mandatory=$False,HelpMessage='The name of the user profile.)')] [string] $userName, [parameter(mandatory=$False,HelpMessage='Specify the $expand query. Example: ''properties($expand=applicableSchedule)'')')] [string] $expand, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The name of the service fabric.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["labName"] = $labName $arguments["name"] = $name $arguments["resourceGroupName"] = $resourceGroupName $arguments["userName"] = $userName if($PSBoundParameters.Keys -icontains 'expand') { $arguments["expand"] = $expand } $functionObject = Invoke-PulumiFunction -Name azure-native:devtestlab:getServiceFabric -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDevtestlabGetGlobalSchedule { param ( [parameter(mandatory=$False,HelpMessage='Specify the $expand query. Example: ''properties($select=status)'')')] [string] $expand, [parameter(mandatory=$False,HelpMessage='The name of the schedule.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["name"] = $name $arguments["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'expand') { $arguments["expand"] = $expand } $functionObject = Invoke-PulumiFunction -Name azure-native:devtestlab:getGlobalSchedule -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDevtestlabListServiceFabricApplicableSchedules { param ( [parameter(mandatory=$False,HelpMessage='The name of the user profile.)')] [string] $userName, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The name of the service fabric.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["labName"] = $labName $arguments["name"] = $name $arguments["resourceGroupName"] = $resourceGroupName $arguments["userName"] = $userName $functionObject = Invoke-PulumiFunction -Name azure-native:devtestlab:listServiceFabricApplicableSchedules -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDevtestlabListScheduleApplicable { param ( [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The name of the schedule.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["labName"] = $labName $arguments["name"] = $name $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:devtestlab:listScheduleApplicable -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDevtestlabGetFormula { param ( [parameter(mandatory=$False,HelpMessage='Specify the $expand query. Example: ''properties($select=description)'')')] [string] $expand, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The name of the formula.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["labName"] = $labName $arguments["name"] = $name $arguments["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'expand') { $arguments["expand"] = $expand } $functionObject = Invoke-PulumiFunction -Name azure-native:devtestlab:getFormula -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDevtestlabGetNotificationChannel { param ( [parameter(mandatory=$False,HelpMessage='Specify the $expand query. Example: ''properties($select=webHookUrl)'')')] [string] $expand, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The name of the notification channel.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["labName"] = $labName $arguments["name"] = $name $arguments["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'expand') { $arguments["expand"] = $expand } $functionObject = Invoke-PulumiFunction -Name azure-native:devtestlab:getNotificationChannel -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDevtestlabGetArtifactSource { param ( [parameter(mandatory=$False,HelpMessage='Specify the $expand query. Example: ''properties($select=displayName)'')')] [string] $expand, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The name of the artifact source.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["labName"] = $labName $arguments["name"] = $name $arguments["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'expand') { $arguments["expand"] = $expand } $functionObject = Invoke-PulumiFunction -Name azure-native:devtestlab:getArtifactSource -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDevtestlabGetCustomImage { param ( [parameter(mandatory=$False,HelpMessage='Specify the $expand query. Example: ''properties($select=vm)'')')] [string] $expand, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The name of the custom image.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["labName"] = $labName $arguments["name"] = $name $arguments["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'expand') { $arguments["expand"] = $expand } $functionObject = Invoke-PulumiFunction -Name azure-native:devtestlab:getCustomImage -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDevtestlabGetPolicy { param ( [parameter(mandatory=$False,HelpMessage='The name of the policy set.)')] [string] $policySetName, [parameter(mandatory=$False,HelpMessage='Specify the $expand query. Example: ''properties($select=description)'')')] [string] $expand, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The name of the policy.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["labName"] = $labName $arguments["name"] = $name $arguments["policySetName"] = $policySetName $arguments["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'expand') { $arguments["expand"] = $expand } $functionObject = Invoke-PulumiFunction -Name azure-native:devtestlab:getPolicy -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDevtestlabGetSchedule { param ( [parameter(mandatory=$False,HelpMessage='Specify the $expand query. Example: ''properties($select=status)'')')] [string] $expand, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The name of the schedule.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["labName"] = $labName $arguments["name"] = $name $arguments["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'expand') { $arguments["expand"] = $expand } $functionObject = Invoke-PulumiFunction -Name azure-native:devtestlab:getSchedule -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDevtestlabGetDisk { param ( [parameter(mandatory=$False,HelpMessage='The name of the user profile.)')] [string] $userName, [parameter(mandatory=$False,HelpMessage='Specify the $expand query. Example: ''properties($select=diskType)'')')] [string] $expand, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The name of the disk.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["labName"] = $labName $arguments["name"] = $name $arguments["resourceGroupName"] = $resourceGroupName $arguments["userName"] = $userName if($PSBoundParameters.Keys -icontains 'expand') { $arguments["expand"] = $expand } $functionObject = Invoke-PulumiFunction -Name azure-native:devtestlab:getDisk -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDevtestlabGetServiceFabricSchedule { param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The name of the service fabric.)')] [string] $serviceFabricName, [parameter(mandatory=$False,HelpMessage='Specify the $expand query. Example: ''properties($select=status)'')')] [string] $expand, [parameter(mandatory=$False,HelpMessage='The name of the user profile.)')] [string] $userName, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The name of the schedule.)')] [string] $name ) process { $arguments = @{} $arguments["labName"] = $labName $arguments["name"] = $name $arguments["resourceGroupName"] = $resourceGroupName $arguments["serviceFabricName"] = $serviceFabricName $arguments["userName"] = $userName if($PSBoundParameters.Keys -icontains 'expand') { $arguments["expand"] = $expand } $functionObject = Invoke-PulumiFunction -Name azure-native:devtestlab:getServiceFabricSchedule -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDevtestlabGetVirtualNetwork { param ( [parameter(mandatory=$False,HelpMessage='Specify the $expand query. Example: ''properties($expand=externalSubnets)'')')] [string] $expand, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The name of the virtual network.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["labName"] = $labName $arguments["name"] = $name $arguments["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'expand') { $arguments["expand"] = $expand } $functionObject = Invoke-PulumiFunction -Name azure-native:devtestlab:getVirtualNetwork -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } class IdentityProperties { [ArgumentCompletions('None', 'SystemAssigned', 'UserAssigned', 'SystemAssigned,UserAssigned')] [string] $type [string] $principalId [string] $tenantId [string] $clientSecretUrl } function New-AzureNativeTypeDevtestlabIdentityProperties { param ( [parameter(mandatory=$False,HelpMessage='Managed identity.)')] [string] [ValidateSet('None', 'SystemAssigned', 'UserAssigned', 'SystemAssigned,UserAssigned')] $type, [parameter(mandatory=$False,HelpMessage='The principal id of resource identity.)')] [string] $principalId, [parameter(mandatory=$False,HelpMessage='The tenant identifier of resource.)')] [string] $tenantId, [parameter(mandatory=$False,HelpMessage='The client secret URL of the identity.)')] [string] $clientSecretUrl ) process { return $([IdentityProperties]$PSBoundParameters) } } function New-AzureNativeDevtestlabServiceRunner { [Alias('azure_native_devtestlab_servicerunner')] param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The identity of the resource.)')] [IdentityProperties] $identity, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The tags of the resource.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='The name of the service runner.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The location of the resource.)')] [string] $location, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:devtestlab:ServiceRunner") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["labName"] = $labName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'identity') { $resource.properties["identity"] = $identity } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'name') { $resource.properties["name"] = $name } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } $global:pulumiresources += $resource return $resource } } class ArtifactParameterProperties { [string] $name [string] $value } function New-AzureNativeTypeDevtestlabArtifactParameterProperties { param ( [parameter(mandatory=$False,HelpMessage='The name of the artifact parameter.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The value of the artifact parameter.)')] [string] $value ) process { return $([ArtifactParameterProperties]$PSBoundParameters) } } class ArtifactInstallProperties { [string] $artifactId [string] $installTime [string] $deploymentStatusMessage [string] $vmExtensionStatusMessage [ArtifactParameterProperties[]] $parameters [string] $status [string] $artifactTitle } function New-AzureNativeTypeDevtestlabArtifactInstallProperties { param ( [parameter(mandatory=$False,HelpMessage='The artifact''s identifier.)')] [string] $artifactId, [parameter(mandatory=$False,HelpMessage='The time that the artifact starts to install on the virtual machine.)')] [string] $installTime, [parameter(mandatory=$False,HelpMessage='The status message from the deployment.)')] [string] $deploymentStatusMessage, [parameter(mandatory=$False,HelpMessage='The status message from the virtual machine extension.)')] [string] $vmExtensionStatusMessage, [parameter(mandatory=$False,HelpMessage='The parameters of the artifact.)')] $parameters, [parameter(mandatory=$False,HelpMessage='The status of the artifact.)')] [string] $status, [parameter(mandatory=$False,HelpMessage='The artifact''s title.)')] [string] $artifactTitle ) process { return $([ArtifactInstallProperties]$PSBoundParameters) } } class BulkCreationParameters { [int] $instanceCount } function New-AzureNativeTypeDevtestlabBulkCreationParameters { param ( [parameter(mandatory=$False,HelpMessage='The number of virtual machine instances to create.)')] [int] $instanceCount ) process { return $([BulkCreationParameters]$PSBoundParameters) } } class AttachNewDataDiskOptions { [int] $diskSizeGiB [ArgumentCompletions('Standard', 'Premium', 'StandardSSD')] [string] $diskType [string] $diskName } function New-AzureNativeTypeDevtestlabAttachNewDataDiskOptions { param ( [parameter(mandatory=$False,HelpMessage='Size of the disk to be attached in Gibibytes.)')] [int] $diskSizeGiB, [parameter(mandatory=$False,HelpMessage='The storage type for the disk (i.e. Standard, Premium).)')] [string] [ValidateSet('Standard', 'Premium', 'StandardSSD')] $diskType, [parameter(mandatory=$False,HelpMessage='The name of the disk to be attached.)')] [string] $diskName ) process { return $([AttachNewDataDiskOptions]$PSBoundParameters) } } class DataDiskProperties { [AttachNewDataDiskOptions] $attachNewDataDiskOptions [ArgumentCompletions('None', 'ReadOnly', 'ReadWrite')] [string] $hostCaching [string] $existingLabDiskId } function New-AzureNativeTypeDevtestlabDataDiskProperties { param ( [parameter(mandatory=$False,HelpMessage='Specifies options to attach a new disk to the virtual machine.)')] [AttachNewDataDiskOptions] $attachNewDataDiskOptions, [parameter(mandatory=$False,HelpMessage='Caching option for a data disk (i.e. None, ReadOnly, ReadWrite).)')] [string] [ValidateSet('None', 'ReadOnly', 'ReadWrite')] $hostCaching, [parameter(mandatory=$False,HelpMessage='Specifies the existing lab disk id to attach to virtual machine.)')] [string] $existingLabDiskId ) process { return $([DataDiskProperties]$PSBoundParameters) } } class GalleryImageReference { [string] $version [string] $publisher [string] $offer [string] $osType [string] $sku } function New-AzureNativeTypeDevtestlabGalleryImageReference { param ( [parameter(mandatory=$False,HelpMessage='The version of the gallery image.)')] [string] $version, [parameter(mandatory=$False,HelpMessage='The publisher of the gallery image.)')] [string] $publisher, [parameter(mandatory=$False,HelpMessage='The offer of the gallery image.)')] [string] $offer, [parameter(mandatory=$False,HelpMessage='The OS type of the gallery image.)')] [string] $osType, [parameter(mandatory=$False,HelpMessage='The SKU of the gallery image.)')] [string] $sku ) process { return $([GalleryImageReference]$PSBoundParameters) } } class InboundNatRule { [int] $backendPort [ArgumentCompletions('Tcp', 'Udp')] [string] $transportProtocol [int] $frontendPort } function New-AzureNativeTypeDevtestlabInboundNatRule { param ( [parameter(mandatory=$False,HelpMessage='The port to which the external traffic will be redirected.)')] [int] $backendPort, [parameter(mandatory=$False,HelpMessage='The transport protocol for the endpoint.)')] [string] [ValidateSet('Tcp', 'Udp')] $transportProtocol, [parameter(mandatory=$False,HelpMessage='The external endpoint port of the inbound connection. Possible values range between 1 and 65535, inclusive. If unspecified, a value will be allocated automatically.)')] [int] $frontendPort ) process { return $([InboundNatRule]$PSBoundParameters) } } class SharedPublicIpAddressConfiguration { [InboundNatRule[]] $inboundNatRules } function New-AzureNativeTypeDevtestlabSharedPublicIpAddressConfiguration { param ( [parameter(mandatory=$False,HelpMessage='The incoming NAT rules)')] $inboundNatRules ) process { return $([SharedPublicIpAddressConfiguration]$PSBoundParameters) } } class NetworkInterfaceProperties { [string] $sshAuthority [string] $publicIpAddress [string] $dnsName [string] $privateIpAddress [string] $subnetId [string] $virtualNetworkId [SharedPublicIpAddressConfiguration] $sharedPublicIpAddressConfiguration [string] $rdpAuthority [string] $publicIpAddressId } function New-AzureNativeTypeDevtestlabNetworkInterfaceProperties { param ( [parameter(mandatory=$False,HelpMessage='The SshAuthority property is a server DNS host name or IP address followed by the service port number for SSH.)')] [string] $sshAuthority, [parameter(mandatory=$False,HelpMessage='The public IP address.)')] [string] $publicIpAddress, [parameter(mandatory=$False,HelpMessage='The DNS name.)')] [string] $dnsName, [parameter(mandatory=$False,HelpMessage='The private IP address.)')] [string] $privateIpAddress, [parameter(mandatory=$False,HelpMessage='The resource ID of the sub net.)')] [string] $subnetId, [parameter(mandatory=$False,HelpMessage='The resource ID of the virtual network.)')] [string] $virtualNetworkId, [parameter(mandatory=$False,HelpMessage='The configuration for sharing a public IP address across multiple virtual machines.)')] [SharedPublicIpAddressConfiguration] $sharedPublicIpAddressConfiguration, [parameter(mandatory=$False,HelpMessage='The RdpAuthority property is a server DNS host name or IP address followed by the service port number for RDP (Remote Desktop Protocol).)')] [string] $rdpAuthority, [parameter(mandatory=$False,HelpMessage='The resource ID of the public IP address.)')] [string] $publicIpAddressId ) process { return $([NetworkInterfaceProperties]$PSBoundParameters) } } class HourDetails { [int] $minute } function New-AzureNativeTypeDevtestlabHourDetails { param ( [parameter(mandatory=$False,HelpMessage='Minutes of the hour the schedule will run.)')] [int] $minute ) process { return $([HourDetails]$PSBoundParameters) } } class WeekDetails { [string[]] $weekdays [string] $time } function New-AzureNativeTypeDevtestlabWeekDetails { param ( [parameter(mandatory=$False,HelpMessage='The days of the week for which the schedule is set (e.g. Sunday, Monday, Tuesday, etc.).)')] [string[]] $weekdays, [parameter(mandatory=$False,HelpMessage='The time of the day the schedule will occur.)')] [string] $time ) process { return $([WeekDetails]$PSBoundParameters) } } class NotificationSettings { [string] $emailRecipient [string] $webhookUrl [ArgumentCompletions('Enabled', 'Disabled')] [string] $status [int] $timeInMinutes [string] $notificationLocale } function New-AzureNativeTypeDevtestlabNotificationSettings { param ( [parameter(mandatory=$False,HelpMessage='The email recipient to send notifications to (can be a list of semi-colon separated email addresses).)')] [string] $emailRecipient, [parameter(mandatory=$False,HelpMessage='The webhook URL to which the notification will be sent.)')] [string] $webhookUrl, [parameter(mandatory=$False,HelpMessage='If notifications are enabled for this schedule (i.e. Enabled, Disabled).)')] [string] [ValidateSet('Enabled', 'Disabled')] $status, [parameter(mandatory=$False,HelpMessage='Time in minutes before event at which notification will be sent.)')] [int] $timeInMinutes, [parameter(mandatory=$False,HelpMessage='The locale to use when sending a notification (fallback for unsupported languages is EN).)')] [string] $notificationLocale ) process { return $([NotificationSettings]$PSBoundParameters) } } class DayDetails { [string] $time } function New-AzureNativeTypeDevtestlabDayDetails { param ( [parameter(mandatory=$False,HelpMessage='The time of day the schedule will occur.)')] [string] $time ) process { return $([DayDetails]$PSBoundParameters) } } class ScheduleCreationParameter { [HourDetails] $hourlyRecurrence [WeekDetails] $weeklyRecurrence [string] $name [string] $timeZoneId [NotificationSettings] $notificationSettings [object] $tags [DayDetails] $dailyRecurrence [string] $targetResourceId [ArgumentCompletions('Enabled', 'Disabled')] [string] $status [string] $taskType } function New-AzureNativeTypeDevtestlabScheduleCreationParameter { param ( [parameter(mandatory=$False,HelpMessage='If the schedule will occur multiple times a day, specify the hourly recurrence.)')] [HourDetails] $hourlyRecurrence, [parameter(mandatory=$False,HelpMessage='If the schedule will occur only some days of the week, specify the weekly recurrence.)')] [WeekDetails] $weeklyRecurrence, [parameter(mandatory=$False,HelpMessage='The name of the virtual machine or environment)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The time zone ID (e.g. Pacific Standard time).)')] [string] $timeZoneId, [parameter(mandatory=$False,HelpMessage='Notification settings.)')] [NotificationSettings] $notificationSettings, [parameter(mandatory=$False,HelpMessage='The tags of the resource.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='If the schedule will occur once each day of the week, specify the daily recurrence.)')] [DayDetails] $dailyRecurrence, [parameter(mandatory=$False,HelpMessage='The resource ID to which the schedule belongs)')] [string] $targetResourceId, [parameter(mandatory=$False,HelpMessage='The status of the schedule (i.e. Enabled, Disabled))')] [string] [ValidateSet('Enabled', 'Disabled')] $status, [parameter(mandatory=$False,HelpMessage='The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart).)')] [string] $taskType ) process { return $([ScheduleCreationParameter]$PSBoundParameters) } } class LabVirtualMachineCreationParameter { [string] $customImageId [bool] $allowClaim [ArtifactInstallProperties[]] $artifacts [string] $location [string] $expirationDate [BulkCreationParameters] $bulkCreationParameters [string] $password [string] $name [DataDiskProperties[]] $dataDiskParameters [string] $ownerObjectId [string] $ownerUserPrincipalName [GalleryImageReference] $galleryImageReference [NetworkInterfaceProperties] $networkInterface [string] $environmentId [string] $userName [string] $storageType [string] $size [string] $labSubnetName [string] $createdDate [string] $planId [ScheduleCreationParameter[]] $scheduleParameters [bool] $isAuthenticationWithSshKey [object] $tags [string] $labVirtualNetworkId [string] $sshKey [bool] $disallowPublicIpAddress [string] $notes } function New-AzureNativeTypeDevtestlabLabVirtualMachineCreationParameter { param ( [parameter(mandatory=$False,HelpMessage='The custom image identifier of the virtual machine.)')] [string] $customImageId, [parameter(mandatory=$False,HelpMessage='Indicates whether another user can take ownership of the virtual machine)')] [bool] $allowClaim, [parameter(mandatory=$False,HelpMessage='The artifacts to be installed on the virtual machine.)')] $artifacts, [parameter(mandatory=$False,HelpMessage='The location of the new virtual machine or environment)')] [string] $location, [parameter(mandatory=$False,HelpMessage='The expiration date for VM.)')] [string] $expirationDate, [parameter(mandatory=$False,HelpMessage='The number of virtual machine instances to create.)')] [BulkCreationParameters] $bulkCreationParameters, [parameter(mandatory=$False,HelpMessage='The password of the virtual machine administrator.)')] [string] $password, [parameter(mandatory=$False,HelpMessage='The name of the virtual machine or environment)')] [string] $name, [parameter(mandatory=$False,HelpMessage='New or existing data disks to attach to the virtual machine after creation)')] $dataDiskParameters, [parameter(mandatory=$False,HelpMessage='The object identifier of the owner of the virtual machine.)')] [string] $ownerObjectId, [parameter(mandatory=$False,HelpMessage='The user principal name of the virtual machine owner.)')] [string] $ownerUserPrincipalName, [parameter(mandatory=$False,HelpMessage='The Microsoft Azure Marketplace image reference of the virtual machine.)')] [GalleryImageReference] $galleryImageReference, [parameter(mandatory=$False,HelpMessage='The network interface properties.)')] [NetworkInterfaceProperties] $networkInterface, [parameter(mandatory=$False,HelpMessage='The resource ID of the environment that contains this virtual machine, if any.)')] [string] $environmentId, [parameter(mandatory=$False,HelpMessage='The user name of the virtual machine.)')] [string] $userName, [parameter(mandatory=$False,HelpMessage='Storage type to use for virtual machine (i.e. Standard, Premium).)')] [string] $storageType, [parameter(mandatory=$False,HelpMessage='The size of the virtual machine.)')] [string] $size, [parameter(mandatory=$False,HelpMessage='The lab subnet name of the virtual machine.)')] [string] $labSubnetName, [parameter(mandatory=$False,HelpMessage='The creation date of the virtual machine.)')] [string] $createdDate, [parameter(mandatory=$False,HelpMessage='The id of the plan associated with the virtual machine image)')] [string] $planId, [parameter(mandatory=$False,HelpMessage='Virtual Machine schedules to be created)')] $scheduleParameters, [parameter(mandatory=$False,HelpMessage='Indicates whether this virtual machine uses an SSH key for authentication.)')] [bool] $isAuthenticationWithSshKey, [parameter(mandatory=$False,HelpMessage='The tags of the resource.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='The lab virtual network identifier of the virtual machine.)')] [string] $labVirtualNetworkId, [parameter(mandatory=$False,HelpMessage='The SSH key of the virtual machine administrator.)')] [string] $sshKey, [parameter(mandatory=$False,HelpMessage='Indicates whether the virtual machine is to be created without a public IP address.)')] [bool] $disallowPublicIpAddress, [parameter(mandatory=$False,HelpMessage='The notes of the virtual machine.)')] [string] $notes ) process { return $([LabVirtualMachineCreationParameter]$PSBoundParameters) } } class FormulaPropertiesFromVm { [string] $labVmId } function New-AzureNativeTypeDevtestlabFormulaPropertiesFromVm { param ( [parameter(mandatory=$False,HelpMessage='The identifier of the VM from which a formula is to be created.)')] [string] $labVmId ) process { return $([FormulaPropertiesFromVm]$PSBoundParameters) } } function New-AzureNativeDevtestlabFormula { [Alias('azure_native_devtestlab_formula')] param ( [parameter(mandatory=$False,HelpMessage='The content of the formula.)')] [LabVirtualMachineCreationParameter] $formulaContent, [parameter(mandatory=$False,HelpMessage='Information about a VM from which a formula is to be created.)')] [FormulaPropertiesFromVm] $vm, [parameter(mandatory=$False,HelpMessage='The location of the resource.)')] [string] $location, [parameter(mandatory=$False,HelpMessage='The OS type of the formula.)')] [string] $osType, [parameter(mandatory=$False,HelpMessage='The tags of the resource.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='The name of the formula.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The description of the formula.)')] [string] $description, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:devtestlab:Formula") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["labName"] = $labName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'formulaContent') { $resource.properties["formulaContent"] = $formulaContent } if($PSBoundParameters.Keys -icontains 'vm') { $resource.properties["vm"] = $vm } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'osType') { $resource.properties["osType"] = $osType } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'name') { $resource.properties["name"] = $name } if($PSBoundParameters.Keys -icontains 'description') { $resource.properties["description"] = $description } $global:pulumiresources += $resource return $resource } } function New-AzureNativeDevtestlabArtifactSource { [Alias('azure_native_devtestlab_artifactsource')] param ( [parameter(mandatory=$False,HelpMessage='The artifact source''s display name.)')] [string] $displayName, [parameter(mandatory=$False,HelpMessage='The folder containing artifacts.)')] [string] $folderPath, [parameter(mandatory=$False,HelpMessage='The name of the artifact source.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The tags of the resource.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='The artifact source''s URI.)')] [string] $uri, [parameter(mandatory=$False,HelpMessage='The security token to authenticate to the artifact source.)')] [string] $securityToken, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The artifact source''s branch reference.)')] [string] $branchRef, [parameter(mandatory=$False,HelpMessage='The location of the resource.)')] [string] $location, [parameter(mandatory=$False,HelpMessage='Indicates if the artifact source is enabled (values: Enabled, Disabled).)')] [string] [ValidateSet('Enabled', 'Disabled')] $status, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The folder containing Azure Resource Manager templates.)')] [string] $armTemplateFolderPath, [parameter(mandatory=$False,HelpMessage='The artifact source''s type.)')] [string] [ValidateSet('VsoGit', 'GitHub', 'StorageAccount')] $sourceType, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:devtestlab:ArtifactSource") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["labName"] = $labName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'displayName') { $resource.properties["displayName"] = $displayName } if($PSBoundParameters.Keys -icontains 'folderPath') { $resource.properties["folderPath"] = $folderPath } if($PSBoundParameters.Keys -icontains 'name') { $resource.properties["name"] = $name } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'uri') { $resource.properties["uri"] = $uri } if($PSBoundParameters.Keys -icontains 'securityToken') { $resource.properties["securityToken"] = $securityToken } if($PSBoundParameters.Keys -icontains 'branchRef') { $resource.properties["branchRef"] = $branchRef } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'status') { $resource.properties["status"] = $status } if($PSBoundParameters.Keys -icontains 'armTemplateFolderPath') { $resource.properties["armTemplateFolderPath"] = $armTemplateFolderPath } if($PSBoundParameters.Keys -icontains 'sourceType') { $resource.properties["sourceType"] = $sourceType } $global:pulumiresources += $resource return $resource } } function New-AzureNativeDevtestlabPolicy { [Alias('azure_native_devtestlab_policy')] param ( [parameter(mandatory=$False,HelpMessage='The evaluator type of the policy (i.e. AllowedValuesPolicy, MaxValuePolicy).)')] [string] [ValidateSet('AllowedValuesPolicy', 'MaxValuePolicy')] $evaluatorType, [parameter(mandatory=$False,HelpMessage='The fact name of the policy (e.g. LabVmCount, LabVmSize, MaxVmsAllowedPerLab, etc.)')] [string] [ValidateSet('UserOwnedLabVmCount', 'UserOwnedLabPremiumVmCount', 'LabVmCount', 'LabPremiumVmCount', 'LabVmSize', 'GalleryImage', 'UserOwnedLabVmCountInSubnet', 'LabTargetCost', 'EnvironmentTemplate', 'ScheduleEditPermission')] $factName, [parameter(mandatory=$False,HelpMessage='The status of the policy.)')] [string] [ValidateSet('Enabled', 'Disabled')] $status, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The tags of the resource.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='The location of the resource.)')] [string] $location, [parameter(mandatory=$False,HelpMessage='The threshold of the policy (i.e. a number for MaxValuePolicy, and a JSON array of values for AllowedValuesPolicy).)')] [string] $threshold, [parameter(mandatory=$False,HelpMessage='The name of the policy.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The description of the policy.)')] [string] $description, [parameter(mandatory=$False,HelpMessage='The name of the policy set.)')] [string] $policySetName, [parameter(mandatory=$False,HelpMessage='The fact data of the policy.)')] [string] $factData, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:devtestlab:Policy") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["labName"] = $labName $resource.properties["policySetName"] = $policySetName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'evaluatorType') { $resource.properties["evaluatorType"] = $evaluatorType } if($PSBoundParameters.Keys -icontains 'factName') { $resource.properties["factName"] = $factName } if($PSBoundParameters.Keys -icontains 'status') { $resource.properties["status"] = $status } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'threshold') { $resource.properties["threshold"] = $threshold } if($PSBoundParameters.Keys -icontains 'name') { $resource.properties["name"] = $name } if($PSBoundParameters.Keys -icontains 'description') { $resource.properties["description"] = $description } if($PSBoundParameters.Keys -icontains 'factData') { $resource.properties["factData"] = $factData } $global:pulumiresources += $resource return $resource } } function New-AzureNativeDevtestlabVirtualMachineSchedule { [Alias('azure_native_devtestlab_virtualmachineschedule')] param ( [parameter(mandatory=$False,HelpMessage='The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart).)')] [string] $taskType, [parameter(mandatory=$False,HelpMessage='The time zone ID (e.g. Pacific Standard time).)')] [string] $timeZoneId, [parameter(mandatory=$False,HelpMessage='The name of the schedule.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The tags of the resource.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='Notification settings.)')] [NotificationSettings] $notificationSettings, [parameter(mandatory=$False,HelpMessage='The status of the schedule (i.e. Enabled, Disabled))')] [string] [ValidateSet('Enabled', 'Disabled')] $status, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The resource ID to which the schedule belongs)')] [string] $targetResourceId, [parameter(mandatory=$False,HelpMessage='The location of the resource.)')] [string] $location, [parameter(mandatory=$False,HelpMessage='If the schedule will occur multiple times a day, specify the hourly recurrence.)')] [HourDetails] $hourlyRecurrence, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The name of the virtual machine.)')] [string] $virtualMachineName, [parameter(mandatory=$False,HelpMessage='If the schedule will occur only some days of the week, specify the weekly recurrence.)')] [WeekDetails] $weeklyRecurrence, [parameter(mandatory=$False,HelpMessage='If the schedule will occur once each day of the week, specify the daily recurrence.)')] [DayDetails] $dailyRecurrence, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:devtestlab:VirtualMachineSchedule") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["labName"] = $labName $resource.properties["resourceGroupName"] = $resourceGroupName $resource.properties["virtualMachineName"] = $virtualMachineName if($PSBoundParameters.Keys -icontains 'taskType') { $resource.properties["taskType"] = $taskType } if($PSBoundParameters.Keys -icontains 'timeZoneId') { $resource.properties["timeZoneId"] = $timeZoneId } if($PSBoundParameters.Keys -icontains 'name') { $resource.properties["name"] = $name } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'notificationSettings') { $resource.properties["notificationSettings"] = $notificationSettings } if($PSBoundParameters.Keys -icontains 'status') { $resource.properties["status"] = $status } if($PSBoundParameters.Keys -icontains 'targetResourceId') { $resource.properties["targetResourceId"] = $targetResourceId } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'hourlyRecurrence') { $resource.properties["hourlyRecurrence"] = $hourlyRecurrence } if($PSBoundParameters.Keys -icontains 'weeklyRecurrence') { $resource.properties["weeklyRecurrence"] = $weeklyRecurrence } if($PSBoundParameters.Keys -icontains 'dailyRecurrence') { $resource.properties["dailyRecurrence"] = $dailyRecurrence } $global:pulumiresources += $resource return $resource } } function New-AzureNativeDevtestlabGlobalSchedule { [Alias('azure_native_devtestlab_globalschedule')] param ( [parameter(mandatory=$False,HelpMessage='If the schedule will occur multiple times a day, specify the hourly recurrence.)')] [HourDetails] $hourlyRecurrence, [parameter(mandatory=$False,HelpMessage='If the schedule will occur only some days of the week, specify the weekly recurrence.)')] [WeekDetails] $weeklyRecurrence, [parameter(mandatory=$False,HelpMessage='The name of the schedule.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The time zone ID (e.g. Pacific Standard time).)')] [string] $timeZoneId, [parameter(mandatory=$False,HelpMessage='Notification settings.)')] [NotificationSettings] $notificationSettings, [parameter(mandatory=$False,HelpMessage='The tags of the resource.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='If the schedule will occur once each day of the week, specify the daily recurrence.)')] [DayDetails] $dailyRecurrence, [parameter(mandatory=$False,HelpMessage='The location of the resource.)')] [string] $location, [parameter(mandatory=$False,HelpMessage='The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart).)')] [string] $taskType, [parameter(mandatory=$False,HelpMessage='The resource ID to which the schedule belongs)')] [string] $targetResourceId, [parameter(mandatory=$False,HelpMessage='The status of the schedule (i.e. Enabled, Disabled))')] [string] [ValidateSet('Enabled', 'Disabled')] $status, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:devtestlab:GlobalSchedule") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'hourlyRecurrence') { $resource.properties["hourlyRecurrence"] = $hourlyRecurrence } if($PSBoundParameters.Keys -icontains 'weeklyRecurrence') { $resource.properties["weeklyRecurrence"] = $weeklyRecurrence } if($PSBoundParameters.Keys -icontains 'name') { $resource.properties["name"] = $name } if($PSBoundParameters.Keys -icontains 'timeZoneId') { $resource.properties["timeZoneId"] = $timeZoneId } if($PSBoundParameters.Keys -icontains 'notificationSettings') { $resource.properties["notificationSettings"] = $notificationSettings } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'dailyRecurrence') { $resource.properties["dailyRecurrence"] = $dailyRecurrence } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'taskType') { $resource.properties["taskType"] = $taskType } if($PSBoundParameters.Keys -icontains 'targetResourceId') { $resource.properties["targetResourceId"] = $targetResourceId } if($PSBoundParameters.Keys -icontains 'status') { $resource.properties["status"] = $status } $global:pulumiresources += $resource return $resource } } class LabSupportProperties { [ArgumentCompletions('Enabled', 'Disabled')] [string] $enabled [string] $markdown } function New-AzureNativeTypeDevtestlabLabSupportProperties { param ( [parameter(mandatory=$False,HelpMessage='Is the lab support banner active/enabled at this time?)')] [string] [ValidateSet('Enabled', 'Disabled')] $enabled, [parameter(mandatory=$False,HelpMessage='The markdown text (if any) that this lab displays in the UI. If left empty/null, nothing will be shown.)')] [string] $markdown ) process { return $([LabSupportProperties]$PSBoundParameters) } } class LabAnnouncementProperties { [string] $markdown [string] $expirationDate [ArgumentCompletions('Enabled', 'Disabled')] [string] $enabled [string] $title [bool] $expired } function New-AzureNativeTypeDevtestlabLabAnnouncementProperties { param ( [parameter(mandatory=$False,HelpMessage='The markdown text (if any) that this lab displays in the UI. If left empty/null, nothing will be shown.)')] [string] $markdown, [parameter(mandatory=$False,HelpMessage='The time at which the announcement expires (null for never))')] [string] $expirationDate, [parameter(mandatory=$False,HelpMessage='Is the lab announcement active/enabled at this time?)')] [string] [ValidateSet('Enabled', 'Disabled')] $enabled, [parameter(mandatory=$False,HelpMessage='The plain text title for the lab announcement)')] [string] $title, [parameter(mandatory=$False,HelpMessage='Has this announcement expired?)')] [bool] $expired ) process { return $([LabAnnouncementProperties]$PSBoundParameters) } } function New-AzureNativeDevtestlabLab { [Alias('azure_native_devtestlab_lab')] param ( [parameter(mandatory=$False,HelpMessage='The properties of any lab support message associated with this lab)')] [LabSupportProperties] $support, [parameter(mandatory=$False,HelpMessage='The setting to enable usage of premium data disks. When its value is ''Enabled'', creation of standard or premium data disks is allowed. When its value is ''Disabled'', only creation of standard data disks is allowed.)')] [string] [ValidateSet('Disabled', 'Enabled')] $premiumDataDisks, [parameter(mandatory=$False,HelpMessage='Extended properties of the lab used for experimental features)')] [hashtable] $extendedProperties, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The ordered list of artifact resource IDs that should be applied on all Linux VM creations by default, prior to the artifacts specified by the user.)')] [string[]] $mandatoryArtifactsResourceIdsLinux, [parameter(mandatory=$False,HelpMessage='The tags of the resource.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='The location of the resource.)')] [string] $location, [parameter(mandatory=$False,HelpMessage='The ordered list of artifact resource IDs that should be applied on all Windows VM creations by default, prior to the artifacts specified by the user.)')] [string[]] $mandatoryArtifactsResourceIdsWindows, [parameter(mandatory=$False,HelpMessage='Type of storage used by the lab. It can be either Premium or Standard. Default is Premium.)')] [string] [ValidateSet('Standard', 'Premium', 'StandardSSD')] $labStorageType, [parameter(mandatory=$False,HelpMessage='The access rights to be granted to the user when provisioning an environment)')] [string] [ValidateSet('Reader', 'Contributor')] $environmentPermission, [parameter(mandatory=$False,HelpMessage='The properties of any lab announcement associated with this lab)')] [LabAnnouncementProperties] $announcement, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:devtestlab:Lab") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'support') { $resource.properties["support"] = $support } if($PSBoundParameters.Keys -icontains 'premiumDataDisks') { $resource.properties["premiumDataDisks"] = $premiumDataDisks } if($PSBoundParameters.Keys -icontains 'extendedProperties') { $resource.properties["extendedProperties"] = $extendedProperties } if($PSBoundParameters.Keys -icontains 'name') { $resource.properties["name"] = $name } if($PSBoundParameters.Keys -icontains 'mandatoryArtifactsResourceIdsLinux') { $resource.properties["mandatoryArtifactsResourceIdsLinux"] = $mandatoryArtifactsResourceIdsLinux } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'mandatoryArtifactsResourceIdsWindows') { $resource.properties["mandatoryArtifactsResourceIdsWindows"] = $mandatoryArtifactsResourceIdsWindows } if($PSBoundParameters.Keys -icontains 'labStorageType') { $resource.properties["labStorageType"] = $labStorageType } if($PSBoundParameters.Keys -icontains 'environmentPermission') { $resource.properties["environmentPermission"] = $environmentPermission } if($PSBoundParameters.Keys -icontains 'announcement') { $resource.properties["announcement"] = $announcement } $global:pulumiresources += $resource return $resource } } function New-AzureNativeDevtestlabNotificationChannel { [Alias('azure_native_devtestlab_notificationchannel')] param ( [parameter(mandatory=$False,HelpMessage='The webhook URL to send notifications to.)')] [string] $webHookUrl, [parameter(mandatory=$False,HelpMessage='The location of the resource.)')] [string] $location, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The email recipient to send notifications to (can be a list of semi-colon separated email addresses).)')] [string] $emailRecipient, [parameter(mandatory=$False,HelpMessage='The tags of the resource.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='The name of the notification channel.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The list of event for which this notification is enabled.)')] $events, [parameter(mandatory=$False,HelpMessage='Description of notification.)')] [string] $description, [parameter(mandatory=$False,HelpMessage='The locale to use when sending a notification (fallback for unsupported languages is EN).)')] [string] $notificationLocale, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:devtestlab:NotificationChannel") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["labName"] = $labName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'webHookUrl') { $resource.properties["webHookUrl"] = $webHookUrl } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'emailRecipient') { $resource.properties["emailRecipient"] = $emailRecipient } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'name') { $resource.properties["name"] = $name } if($PSBoundParameters.Keys -icontains 'events') { $resource.properties["events"] = $events } if($PSBoundParameters.Keys -icontains 'description') { $resource.properties["description"] = $description } if($PSBoundParameters.Keys -icontains 'notificationLocale') { $resource.properties["notificationLocale"] = $notificationLocale } $global:pulumiresources += $resource return $resource } } function New-AzureNativeDevtestlabVirtualMachine { [Alias('azure_native_devtestlab_virtualmachine')] param ( [parameter(mandatory=$False,HelpMessage='The artifacts to be installed on the virtual machine.)')] $artifacts, [parameter(mandatory=$False,HelpMessage='The notes of the virtual machine.)')] [string] $notes, [parameter(mandatory=$False,HelpMessage='Virtual Machine schedules to be created)')] $scheduleParameters, [parameter(mandatory=$False,HelpMessage='Indicates whether the virtual machine is to be created without a public IP address.)')] [bool] $disallowPublicIpAddress, [parameter(mandatory=$False,HelpMessage='The location of the resource.)')] [string] $location, [parameter(mandatory=$False,HelpMessage='The password of the virtual machine administrator.)')] [string] $password, [parameter(mandatory=$False,HelpMessage='Storage type to use for virtual machine (i.e. Standard, Premium).)')] [string] $storageType, [parameter(mandatory=$False,HelpMessage='The custom image identifier of the virtual machine.)')] [string] $customImageId, [parameter(mandatory=$False,HelpMessage='New or existing data disks to attach to the virtual machine after creation)')] $dataDiskParameters, [parameter(mandatory=$False,HelpMessage='The creation date of the virtual machine.)')] [string] $createdDate, [parameter(mandatory=$False,HelpMessage='The resource ID of the environment that contains this virtual machine, if any.)')] [string] $environmentId, [parameter(mandatory=$False,HelpMessage='The id of the plan associated with the virtual machine image)')] [string] $planId, [parameter(mandatory=$False,HelpMessage='The tags of the resource.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='Indicates whether another user can take ownership of the virtual machine)')] [bool] $allowClaim, [parameter(mandatory=$False,HelpMessage='The expiration date for VM.)')] [string] $expirationDate, [parameter(mandatory=$False,HelpMessage='The SSH key of the virtual machine administrator.)')] [string] $sshKey, [parameter(mandatory=$False,HelpMessage='The network interface properties.)')] [NetworkInterfaceProperties] $networkInterface, [parameter(mandatory=$False,HelpMessage='The user principal name of the virtual machine owner.)')] [string] $ownerUserPrincipalName, [parameter(mandatory=$False,HelpMessage='The lab virtual network identifier of the virtual machine.)')] [string] $labVirtualNetworkId, [parameter(mandatory=$False,HelpMessage='The object identifier of the owner of the virtual machine.)')] [string] $ownerObjectId, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The name of the virtual machine.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The lab subnet name of the virtual machine.)')] [string] $labSubnetName, [parameter(mandatory=$False,HelpMessage='Indicates whether this virtual machine uses an SSH key for authentication.)')] [bool] $isAuthenticationWithSshKey, [parameter(mandatory=$False,HelpMessage='The user name of the virtual machine.)')] [string] $userName, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The size of the virtual machine.)')] [string] $size, [parameter(mandatory=$False,HelpMessage='The Microsoft Azure Marketplace image reference of the virtual machine.)')] [GalleryImageReference] $galleryImageReference, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:devtestlab:VirtualMachine") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["labName"] = $labName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'artifacts') { $resource.properties["artifacts"] = $artifacts } if($PSBoundParameters.Keys -icontains 'notes') { $resource.properties["notes"] = $notes } if($PSBoundParameters.Keys -icontains 'scheduleParameters') { $resource.properties["scheduleParameters"] = $scheduleParameters } if($PSBoundParameters.Keys -icontains 'disallowPublicIpAddress') { $resource.properties["disallowPublicIpAddress"] = $disallowPublicIpAddress } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'password') { $resource.properties["password"] = $password } if($PSBoundParameters.Keys -icontains 'storageType') { $resource.properties["storageType"] = $storageType } if($PSBoundParameters.Keys -icontains 'customImageId') { $resource.properties["customImageId"] = $customImageId } if($PSBoundParameters.Keys -icontains 'dataDiskParameters') { $resource.properties["dataDiskParameters"] = $dataDiskParameters } if($PSBoundParameters.Keys -icontains 'createdDate') { $resource.properties["createdDate"] = $createdDate } if($PSBoundParameters.Keys -icontains 'environmentId') { $resource.properties["environmentId"] = $environmentId } if($PSBoundParameters.Keys -icontains 'planId') { $resource.properties["planId"] = $planId } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'allowClaim') { $resource.properties["allowClaim"] = $allowClaim } if($PSBoundParameters.Keys -icontains 'expirationDate') { $resource.properties["expirationDate"] = $expirationDate } if($PSBoundParameters.Keys -icontains 'sshKey') { $resource.properties["sshKey"] = $sshKey } if($PSBoundParameters.Keys -icontains 'networkInterface') { $resource.properties["networkInterface"] = $networkInterface } if($PSBoundParameters.Keys -icontains 'ownerUserPrincipalName') { $resource.properties["ownerUserPrincipalName"] = $ownerUserPrincipalName } if($PSBoundParameters.Keys -icontains 'labVirtualNetworkId') { $resource.properties["labVirtualNetworkId"] = $labVirtualNetworkId } if($PSBoundParameters.Keys -icontains 'ownerObjectId') { $resource.properties["ownerObjectId"] = $ownerObjectId } if($PSBoundParameters.Keys -icontains 'name') { $resource.properties["name"] = $name } if($PSBoundParameters.Keys -icontains 'labSubnetName') { $resource.properties["labSubnetName"] = $labSubnetName } if($PSBoundParameters.Keys -icontains 'isAuthenticationWithSshKey') { $resource.properties["isAuthenticationWithSshKey"] = $isAuthenticationWithSshKey } if($PSBoundParameters.Keys -icontains 'userName') { $resource.properties["userName"] = $userName } if($PSBoundParameters.Keys -icontains 'size') { $resource.properties["size"] = $size } if($PSBoundParameters.Keys -icontains 'galleryImageReference') { $resource.properties["galleryImageReference"] = $galleryImageReference } $global:pulumiresources += $resource return $resource } } function New-AzureNativeDevtestlabSchedule { [Alias('azure_native_devtestlab_schedule')] param ( [parameter(mandatory=$False,HelpMessage='The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart).)')] [string] $taskType, [parameter(mandatory=$False,HelpMessage='The time zone ID (e.g. Pacific Standard time).)')] [string] $timeZoneId, [parameter(mandatory=$False,HelpMessage='The name of the schedule.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The tags of the resource.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='Notification settings.)')] [NotificationSettings] $notificationSettings, [parameter(mandatory=$False,HelpMessage='The status of the schedule (i.e. Enabled, Disabled))')] [string] [ValidateSet('Enabled', 'Disabled')] $status, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The resource ID to which the schedule belongs)')] [string] $targetResourceId, [parameter(mandatory=$False,HelpMessage='The location of the resource.)')] [string] $location, [parameter(mandatory=$False,HelpMessage='If the schedule will occur multiple times a day, specify the hourly recurrence.)')] [HourDetails] $hourlyRecurrence, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='If the schedule will occur only some days of the week, specify the weekly recurrence.)')] [WeekDetails] $weeklyRecurrence, [parameter(mandatory=$False,HelpMessage='If the schedule will occur once each day of the week, specify the daily recurrence.)')] [DayDetails] $dailyRecurrence, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:devtestlab:Schedule") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["labName"] = $labName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'taskType') { $resource.properties["taskType"] = $taskType } if($PSBoundParameters.Keys -icontains 'timeZoneId') { $resource.properties["timeZoneId"] = $timeZoneId } if($PSBoundParameters.Keys -icontains 'name') { $resource.properties["name"] = $name } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'notificationSettings') { $resource.properties["notificationSettings"] = $notificationSettings } if($PSBoundParameters.Keys -icontains 'status') { $resource.properties["status"] = $status } if($PSBoundParameters.Keys -icontains 'targetResourceId') { $resource.properties["targetResourceId"] = $targetResourceId } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'hourlyRecurrence') { $resource.properties["hourlyRecurrence"] = $hourlyRecurrence } if($PSBoundParameters.Keys -icontains 'weeklyRecurrence') { $resource.properties["weeklyRecurrence"] = $weeklyRecurrence } if($PSBoundParameters.Keys -icontains 'dailyRecurrence') { $resource.properties["dailyRecurrence"] = $dailyRecurrence } $global:pulumiresources += $resource return $resource } } function New-AzureNativeDevtestlabDisk { [Alias('azure_native_devtestlab_disk')] param ( [parameter(mandatory=$False,HelpMessage='When backed by a blob, the storage account where the blob is.)')] [string] $storageAccountId, [parameter(mandatory=$False,HelpMessage='The size of the disk in Gibibytes.)')] [int] $diskSizeGiB, [parameter(mandatory=$False,HelpMessage='The name of the disk.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The tags of the resource.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='When backed by managed disk, this is the ID of the compute disk resource.)')] [string] $managedDiskId, [parameter(mandatory=$False,HelpMessage='The location of the resource.)')] [string] $location, [parameter(mandatory=$False,HelpMessage='When backed by a blob, the URI of underlying blob.)')] [string] $diskUri, [parameter(mandatory=$False,HelpMessage='The name of the user profile.)')] [string] $userName, [parameter(mandatory=$False,HelpMessage='When backed by a blob, the name of the VHD blob without extension.)')] [string] $diskBlobName, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The storage type for the disk (i.e. Standard, Premium).)')] [string] [ValidateSet('Standard', 'Premium', 'StandardSSD')] $diskType, [parameter(mandatory=$False,HelpMessage='The resource ID of the VM to which this disk is leased.)')] [string] $leasedByLabVmId, [parameter(mandatory=$False,HelpMessage='The host caching policy of the disk (i.e. None, ReadOnly, ReadWrite).)')] [string] $hostCaching, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:devtestlab:Disk") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["labName"] = $labName $resource.properties["resourceGroupName"] = $resourceGroupName $resource.properties["userName"] = $userName if($PSBoundParameters.Keys -icontains 'storageAccountId') { $resource.properties["storageAccountId"] = $storageAccountId } if($PSBoundParameters.Keys -icontains 'diskSizeGiB') { $resource.properties["diskSizeGiB"] = $diskSizeGiB } if($PSBoundParameters.Keys -icontains 'name') { $resource.properties["name"] = $name } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'managedDiskId') { $resource.properties["managedDiskId"] = $managedDiskId } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'diskUri') { $resource.properties["diskUri"] = $diskUri } if($PSBoundParameters.Keys -icontains 'diskBlobName') { $resource.properties["diskBlobName"] = $diskBlobName } if($PSBoundParameters.Keys -icontains 'diskType') { $resource.properties["diskType"] = $diskType } if($PSBoundParameters.Keys -icontains 'leasedByLabVmId') { $resource.properties["leasedByLabVmId"] = $leasedByLabVmId } if($PSBoundParameters.Keys -icontains 'hostCaching') { $resource.properties["hostCaching"] = $hostCaching } $global:pulumiresources += $resource return $resource } } function New-AzureNativeDevtestlabServiceFabricSchedule { [Alias('azure_native_devtestlab_servicefabricschedule')] param ( [parameter(mandatory=$False,HelpMessage='The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart).)')] [string] $taskType, [parameter(mandatory=$False,HelpMessage='The time zone ID (e.g. Pacific Standard time).)')] [string] $timeZoneId, [parameter(mandatory=$False,HelpMessage='The name of the schedule.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The tags of the resource.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='If the schedule will occur only some days of the week, specify the weekly recurrence.)')] [WeekDetails] $weeklyRecurrence, [parameter(mandatory=$False,HelpMessage='Notification settings.)')] [NotificationSettings] $notificationSettings, [parameter(mandatory=$False,HelpMessage='The status of the schedule (i.e. Enabled, Disabled))')] [string] [ValidateSet('Enabled', 'Disabled')] $status, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The resource ID to which the schedule belongs)')] [string] $targetResourceId, [parameter(mandatory=$False,HelpMessage='The location of the resource.)')] [string] $location, [parameter(mandatory=$False,HelpMessage='The name of the user profile.)')] [string] $userName, [parameter(mandatory=$False,HelpMessage='If the schedule will occur multiple times a day, specify the hourly recurrence.)')] [HourDetails] $hourlyRecurrence, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The name of the service fabric.)')] [string] $serviceFabricName, [parameter(mandatory=$False,HelpMessage='If the schedule will occur once each day of the week, specify the daily recurrence.)')] [DayDetails] $dailyRecurrence, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:devtestlab:ServiceFabricSchedule") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["labName"] = $labName $resource.properties["resourceGroupName"] = $resourceGroupName $resource.properties["serviceFabricName"] = $serviceFabricName $resource.properties["userName"] = $userName if($PSBoundParameters.Keys -icontains 'taskType') { $resource.properties["taskType"] = $taskType } if($PSBoundParameters.Keys -icontains 'timeZoneId') { $resource.properties["timeZoneId"] = $timeZoneId } if($PSBoundParameters.Keys -icontains 'name') { $resource.properties["name"] = $name } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'weeklyRecurrence') { $resource.properties["weeklyRecurrence"] = $weeklyRecurrence } if($PSBoundParameters.Keys -icontains 'notificationSettings') { $resource.properties["notificationSettings"] = $notificationSettings } if($PSBoundParameters.Keys -icontains 'status') { $resource.properties["status"] = $status } if($PSBoundParameters.Keys -icontains 'targetResourceId') { $resource.properties["targetResourceId"] = $targetResourceId } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'hourlyRecurrence') { $resource.properties["hourlyRecurrence"] = $hourlyRecurrence } if($PSBoundParameters.Keys -icontains 'dailyRecurrence') { $resource.properties["dailyRecurrence"] = $dailyRecurrence } $global:pulumiresources += $resource return $resource } } function New-AzureNativeDevtestlabServiceFabric { [Alias('azure_native_devtestlab_servicefabric')] param ( [parameter(mandatory=$False,HelpMessage='The backing service fabric resource''s id)')] [string] $externalServiceFabricId, [parameter(mandatory=$False,HelpMessage='The name of the service fabric.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The tags of the resource.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='The resource id of the environment under which the service fabric resource is present)')] [string] $environmentId, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The location of the resource.)')] [string] $location, [parameter(mandatory=$False,HelpMessage='The name of the user profile.)')] [string] $userName, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:devtestlab:ServiceFabric") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["labName"] = $labName $resource.properties["resourceGroupName"] = $resourceGroupName $resource.properties["userName"] = $userName if($PSBoundParameters.Keys -icontains 'externalServiceFabricId') { $resource.properties["externalServiceFabricId"] = $externalServiceFabricId } if($PSBoundParameters.Keys -icontains 'name') { $resource.properties["name"] = $name } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'environmentId') { $resource.properties["environmentId"] = $environmentId } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } $global:pulumiresources += $resource return $resource } } class ArmTemplateParameterProperties { [string] $name [string] $value } function New-AzureNativeTypeDevtestlabArmTemplateParameterProperties { param ( [parameter(mandatory=$False,HelpMessage='The name of the template parameter.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The value of the template parameter.)')] [string] $value ) process { return $([ArmTemplateParameterProperties]$PSBoundParameters) } } class EnvironmentDeploymentProperties { [string] $armTemplateId [ArmTemplateParameterProperties[]] $parameters } function New-AzureNativeTypeDevtestlabEnvironmentDeploymentProperties { param ( [parameter(mandatory=$False,HelpMessage='The Azure Resource Manager template''s identifier.)')] [string] $armTemplateId, [parameter(mandatory=$False,HelpMessage='The parameters of the Azure Resource Manager template.)')] $parameters ) process { return $([EnvironmentDeploymentProperties]$PSBoundParameters) } } function New-AzureNativeDevtestlabEnvironment { [Alias('azure_native_devtestlab_environment')] param ( [parameter(mandatory=$False,HelpMessage='The name of the environment.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The tags of the resource.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='The display name of the Azure Resource Manager template that produced the environment.)')] [string] $armTemplateDisplayName, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The location of the resource.)')] [string] $location, [parameter(mandatory=$False,HelpMessage='The name of the user profile.)')] [string] $userName, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The deployment properties of the environment.)')] [EnvironmentDeploymentProperties] $deploymentProperties, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:devtestlab:Environment") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["labName"] = $labName $resource.properties["resourceGroupName"] = $resourceGroupName $resource.properties["userName"] = $userName if($PSBoundParameters.Keys -icontains 'name') { $resource.properties["name"] = $name } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'armTemplateDisplayName') { $resource.properties["armTemplateDisplayName"] = $armTemplateDisplayName } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'deploymentProperties') { $resource.properties["deploymentProperties"] = $deploymentProperties } $global:pulumiresources += $resource return $resource } } function New-AzureNativeDevtestlabVirtualNetwork { [Alias('azure_native_devtestlab_virtualnetwork')] param ( [parameter(mandatory=$False,HelpMessage='The location of the resource.)')] [string] $location, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The Microsoft.Network resource identifier of the virtual network.)')] [string] $externalProviderResourceId, [parameter(mandatory=$False,HelpMessage='The tags of the resource.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='The subnet overrides of the virtual network.)')] $subnetOverrides, [parameter(mandatory=$False,HelpMessage='The name of the virtual network.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The allowed subnets of the virtual network.)')] $allowedSubnets, [parameter(mandatory=$False,HelpMessage='The description of the virtual network.)')] [string] $description, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:devtestlab:VirtualNetwork") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["labName"] = $labName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'externalProviderResourceId') { $resource.properties["externalProviderResourceId"] = $externalProviderResourceId } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'subnetOverrides') { $resource.properties["subnetOverrides"] = $subnetOverrides } if($PSBoundParameters.Keys -icontains 'name') { $resource.properties["name"] = $name } if($PSBoundParameters.Keys -icontains 'allowedSubnets') { $resource.properties["allowedSubnets"] = $allowedSubnets } if($PSBoundParameters.Keys -icontains 'description') { $resource.properties["description"] = $description } $global:pulumiresources += $resource return $resource } } class WindowsOsInfo { [ArgumentCompletions('NonSysprepped', 'SysprepRequested', 'SysprepApplied')] [string] $windowsOsState } function New-AzureNativeTypeDevtestlabWindowsOsInfo { param ( [parameter(mandatory=$False,HelpMessage='The state of the Windows OS (i.e. NonSysprepped, SysprepRequested, SysprepApplied).)')] [string] [ValidateSet('NonSysprepped', 'SysprepRequested', 'SysprepApplied')] $windowsOsState ) process { return $([WindowsOsInfo]$PSBoundParameters) } } class LinuxOsInfo { [ArgumentCompletions('NonDeprovisioned', 'DeprovisionRequested', 'DeprovisionApplied')] [string] $linuxOsState } function New-AzureNativeTypeDevtestlabLinuxOsInfo { param ( [parameter(mandatory=$False,HelpMessage='The state of the Linux OS (i.e. NonDeprovisioned, DeprovisionRequested, DeprovisionApplied).)')] [string] [ValidateSet('NonDeprovisioned', 'DeprovisionRequested', 'DeprovisionApplied')] $linuxOsState ) process { return $([LinuxOsInfo]$PSBoundParameters) } } class CustomImagePropertiesFromVm { [WindowsOsInfo] $windowsOsInfo [string] $sourceVmId [LinuxOsInfo] $linuxOsInfo } function New-AzureNativeTypeDevtestlabCustomImagePropertiesFromVm { param ( [parameter(mandatory=$False,HelpMessage='The Windows OS information of the VM.)')] [WindowsOsInfo] $windowsOsInfo, [parameter(mandatory=$False,HelpMessage='The source vm identifier.)')] [string] $sourceVmId, [parameter(mandatory=$False,HelpMessage='The Linux OS information of the VM.)')] [LinuxOsInfo] $linuxOsInfo ) process { return $([CustomImagePropertiesFromVm]$PSBoundParameters) } } class CustomImagePropertiesCustom { [string] $imageName [ArgumentCompletions('Windows', 'Linux', 'None')] [string] $osType [bool] $sysPrep } function New-AzureNativeTypeDevtestlabCustomImagePropertiesCustom { param ( [parameter(mandatory=$False,HelpMessage='The image name.)')] [string] $imageName, [parameter(mandatory=$False,HelpMessage='The OS type of the custom image (i.e. Windows, Linux))')] [string] [ValidateSet('Windows', 'Linux', 'None')] $osType, [parameter(mandatory=$False,HelpMessage='Indicates whether sysprep has been run on the VHD.)')] [bool] $sysPrep ) process { return $([CustomImagePropertiesCustom]$PSBoundParameters) } } class CustomImagePropertiesFromPlan { [string] $publisher [string] $offer [string] $id } function New-AzureNativeTypeDevtestlabCustomImagePropertiesFromPlan { param ( [parameter(mandatory=$False,HelpMessage='The publisher for the plan from the marketplace image the custom image is derived from)')] [string] $publisher, [parameter(mandatory=$False,HelpMessage='The offer for the plan from the marketplace image the custom image is derived from)')] [string] $offer, [parameter(mandatory=$False,HelpMessage='The id of the plan, equivalent to name of the plan)')] [string] $id ) process { return $([CustomImagePropertiesFromPlan]$PSBoundParameters) } } function New-AzureNativeDevtestlabCustomImage { [Alias('azure_native_devtestlab_customimage')] param ( [parameter(mandatory=$False,HelpMessage='The Managed Image Id backing the custom image.)')] [string] $managedImageId, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The description of the custom image.)')] [string] $description, [parameter(mandatory=$False,HelpMessage='The tags of the resource.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='The Managed Snapshot Id backing the custom image.)')] [string] $managedSnapshotId, [parameter(mandatory=$False,HelpMessage='The virtual machine from which the image is to be created.)')] [CustomImagePropertiesFromVm] $vm, [parameter(mandatory=$False,HelpMessage='Whether or not the custom images underlying offer/plan has been enabled for programmatic deployment)')] [bool] $isPlanAuthorized, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The VHD from which the image is to be created.)')] [CustomImagePropertiesCustom] $vhd, [parameter(mandatory=$False,HelpMessage='The author of the custom image.)')] [string] $author, [parameter(mandatory=$False,HelpMessage='The location of the resource.)')] [string] $location, [parameter(mandatory=$False,HelpMessage='Storage information about the data disks present in the custom image)')] $dataDiskStorageInfo, [parameter(mandatory=$False,HelpMessage='Storage information about the plan related to this custom image)')] [CustomImagePropertiesFromPlan] $customImagePlan, [parameter(mandatory=$False,HelpMessage='The name of the custom image.)')] [string] $name, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:devtestlab:CustomImage") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["labName"] = $labName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'managedImageId') { $resource.properties["managedImageId"] = $managedImageId } if($PSBoundParameters.Keys -icontains 'description') { $resource.properties["description"] = $description } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'managedSnapshotId') { $resource.properties["managedSnapshotId"] = $managedSnapshotId } if($PSBoundParameters.Keys -icontains 'vm') { $resource.properties["vm"] = $vm } if($PSBoundParameters.Keys -icontains 'isPlanAuthorized') { $resource.properties["isPlanAuthorized"] = $isPlanAuthorized } if($PSBoundParameters.Keys -icontains 'vhd') { $resource.properties["vhd"] = $vhd } if($PSBoundParameters.Keys -icontains 'author') { $resource.properties["author"] = $author } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'dataDiskStorageInfo') { $resource.properties["dataDiskStorageInfo"] = $dataDiskStorageInfo } if($PSBoundParameters.Keys -icontains 'customImagePlan') { $resource.properties["customImagePlan"] = $customImagePlan } if($PSBoundParameters.Keys -icontains 'name') { $resource.properties["name"] = $name } $global:pulumiresources += $resource return $resource } } function New-AzureNativeDevtestlabSecret { [Alias('azure_native_devtestlab_secret')] param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The value of the secret for secret creation.)')] [string] $value, [parameter(mandatory=$False,HelpMessage='The name of the user profile.)')] [string] $userName, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The tags of the resource.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='The name of the secret.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The location of the resource.)')] [string] $location, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:devtestlab:Secret") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["labName"] = $labName $resource.properties["resourceGroupName"] = $resourceGroupName $resource.properties["userName"] = $userName if($PSBoundParameters.Keys -icontains 'value') { $resource.properties["value"] = $value } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'name') { $resource.properties["name"] = $name } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } $global:pulumiresources += $resource return $resource } } class UserIdentity { [string] $appId [string] $principalId [string] $objectId [string] $principalName [string] $tenantId } function New-AzureNativeTypeDevtestlabUserIdentity { param ( [parameter(mandatory=$False,HelpMessage='Set to the app Id of the client JWT making the request.)')] [string] $appId, [parameter(mandatory=$False,HelpMessage='Set to the principal Id of the client JWT making the request. Service principal will not have the principal Id.)')] [string] $principalId, [parameter(mandatory=$False,HelpMessage='Set to the object Id of the client JWT making the request. Not all users have object Id. For CSP (reseller) scenarios for example, object Id is not available.)')] [string] $objectId, [parameter(mandatory=$False,HelpMessage='Set to the principal name / UPN of the client JWT making the request.)')] [string] $principalName, [parameter(mandatory=$False,HelpMessage='Set to the tenant ID of the client JWT making the request.)')] [string] $tenantId ) process { return $([UserIdentity]$PSBoundParameters) } } class UserSecretStore { [string] $keyVaultId [string] $keyVaultUri } function New-AzureNativeTypeDevtestlabUserSecretStore { param ( [parameter(mandatory=$False,HelpMessage='The ID of the user''s Key vault.)')] [string] $keyVaultId, [parameter(mandatory=$False,HelpMessage='The URI of the user''s Key vault.)')] [string] $keyVaultUri ) process { return $([UserSecretStore]$PSBoundParameters) } } function New-AzureNativeDevtestlabUser { [Alias('azure_native_devtestlab_user')] param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The identity of the user.)')] [UserIdentity] $identity, [parameter(mandatory=$False,HelpMessage='The secret store of the user.)')] [UserSecretStore] $secretStore, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The tags of the resource.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='The name of the user profile.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The location of the resource.)')] [string] $location, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(mandatory,HelpMessage='Pass in the resources you make to make this resource dependant on')] [object] $DependsOn ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:devtestlab:User") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["labName"] = $labName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'identity') { $resource.properties["identity"] = $identity } if($PSBoundParameters.Keys -icontains 'secretStore') { $resource.properties["secretStore"] = $secretStore } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'name') { $resource.properties["name"] = $name } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } $global:pulumiresources += $resource return $resource } } |