pspulumiyaml.azurenative.labservices.psm1
using module pspulumiyaml function Invoke-AzureNativeFunctionLabservicesListGlobalUserEnvironments { param ( [parameter(mandatory=$False,HelpMessage='The resource Id of the lab)')] [string] $labId, [parameter(mandatory=$False,HelpMessage='The name of the user.)')] [string] $userName ) process { $arguments = @{} $arguments["userName"] = $userName if($PSBoundParameters.Keys -icontains 'labId') { $arguments["labId"] = $labId } $functionObject = Invoke-PulumiFunction -Name azure-native:labservices:listGlobalUserEnvironments -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionLabservicesGetLabAccountRegionalAvailability { param ( [parameter(mandatory=$False,HelpMessage='The name of the lab Account.)')] [string] $labAccountName, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["labAccountName"] = $labAccountName $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:labservices:getLabAccountRegionalAvailability -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionLabservicesListGlobalUserLabs { param ( [parameter(mandatory=$False,HelpMessage='The name of the user.)')] [string] $userName ) process { $arguments = @{} $arguments["userName"] = $userName $functionObject = Invoke-PulumiFunction -Name azure-native:labservices:listGlobalUserLabs -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionLabservicesGetUser { param ( [parameter(mandatory=$False,HelpMessage='The name of the lab Account.)')] [string] $labAccountName, [parameter(mandatory=$False,HelpMessage='Specify the $expand query. Example: ''properties($select=email)'')')] [string] $expand, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The name of the user.)')] [string] $userName, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["labAccountName"] = $labAccountName $arguments["labName"] = $labName $arguments["resourceGroupName"] = $resourceGroupName $arguments["userName"] = $userName if($PSBoundParameters.Keys -icontains 'expand') { $arguments["expand"] = $expand } $functionObject = Invoke-PulumiFunction -Name azure-native:labservices:getUser -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionLabservicesGetGalleryImage { param ( [parameter(mandatory=$False,HelpMessage='The name of the gallery Image.)')] [string] $galleryImageName, [parameter(mandatory=$False,HelpMessage='Specify the $expand query. Example: ''properties($select=author)'')')] [string] $expand, [parameter(mandatory=$False,HelpMessage='The name of the lab Account.)')] [string] $labAccountName, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["galleryImageName"] = $galleryImageName $arguments["labAccountName"] = $labAccountName $arguments["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'expand') { $arguments["expand"] = $expand } $functionObject = Invoke-PulumiFunction -Name azure-native:labservices:getGalleryImage -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionLabservicesGetEnvironmentSetting { param ( [parameter(mandatory=$False,HelpMessage='The name of the environment Setting.)')] [string] $environmentSettingName, [parameter(mandatory=$False,HelpMessage='The name of the lab Account.)')] [string] $labAccountName, [parameter(mandatory=$False,HelpMessage='Specify the $expand query. Example: ''properties($select=publishingState)'')')] [string] $expand, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["environmentSettingName"] = $environmentSettingName $arguments["labAccountName"] = $labAccountName $arguments["labName"] = $labName $arguments["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'expand') { $arguments["expand"] = $expand } $functionObject = Invoke-PulumiFunction -Name azure-native:labservices:getEnvironmentSetting -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionLabservicesGetEnvironment { param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The name of the lab Account.)')] [string] $labAccountName, [parameter(mandatory=$False,HelpMessage='Specify the $expand query. Example: ''properties($expand=networkInterface)'')')] [string] $expand, [parameter(mandatory=$False,HelpMessage='The name of the environment Setting.)')] [string] $environmentSettingName, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The name of the environment.)')] [string] $environmentName ) process { $arguments = @{} $arguments["environmentName"] = $environmentName $arguments["environmentSettingName"] = $environmentSettingName $arguments["labAccountName"] = $labAccountName $arguments["labName"] = $labName $arguments["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'expand') { $arguments["expand"] = $expand } $functionObject = Invoke-PulumiFunction -Name azure-native:labservices:getEnvironment -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionLabservicesGetGlobalUserEnvironment { param ( [parameter(mandatory=$False,HelpMessage='The resourceId of the environment)')] [string] $environmentId, [parameter(mandatory=$False,HelpMessage='Specify the $expand query. Example: ''properties($expand=environment)'')')] [string] $expand, [parameter(mandatory=$False,HelpMessage='The name of the user.)')] [string] $userName ) process { $arguments = @{} $arguments["environmentId"] = $environmentId $arguments["userName"] = $userName if($PSBoundParameters.Keys -icontains 'expand') { $arguments["expand"] = $expand } $functionObject = Invoke-PulumiFunction -Name azure-native:labservices:getGlobalUserEnvironment -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionLabservicesGetGlobalUserOperationStatus { param ( [parameter(mandatory=$False,HelpMessage='The name of the user.)')] [string] $userName, [parameter(mandatory=$False,HelpMessage='The operation url of long running operation)')] [string] $operationUrl ) process { $arguments = @{} $arguments["operationUrl"] = $operationUrl $arguments["userName"] = $userName $functionObject = Invoke-PulumiFunction -Name azure-native:labservices:getGlobalUserOperationStatus -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionLabservicesGetSchedule { param ( [parameter(mandatory=$False,HelpMessage='The name of the schedule that uniquely identifies it within containing lab. Used in resource URIs.)')] [string] $scheduleName, [parameter(mandatory=$False,HelpMessage='The name of the lab that uniquely identifies it within containing lab account. Used in resource URIs.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["labName"] = $labName $arguments["resourceGroupName"] = $resourceGroupName $arguments["scheduleName"] = $scheduleName $functionObject = Invoke-PulumiFunction -Name azure-native:labservices:getSchedule -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionLabservicesGetGlobalUserPersonalPreferences { param ( [parameter(mandatory=$False,HelpMessage='Resource Id of the lab account)')] [string] $labAccountResourceId, [parameter(mandatory=$False,HelpMessage='Enum indicating if user is adding or removing a favorite lab)')] [string] [ValidateSet('Add', 'Remove')] $addRemove, [parameter(mandatory=$False,HelpMessage='The name of the user.)')] [string] $userName, [parameter(mandatory=$False,HelpMessage='Resource Id of the lab to add/remove from the favorites list)')] [string] $labResourceId ) process { $arguments = @{} $arguments["userName"] = $userName if($PSBoundParameters.Keys -icontains 'labAccountResourceId') { $arguments["labAccountResourceId"] = $labAccountResourceId } if($PSBoundParameters.Keys -icontains 'addRemove') { $arguments["addRemove"] = $addRemove } if($PSBoundParameters.Keys -icontains 'labResourceId') { $arguments["labResourceId"] = $labResourceId } $functionObject = Invoke-PulumiFunction -Name azure-native:labservices:getGlobalUserPersonalPreferences -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionLabservicesGetLabPlan { param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The name of the lab plan that uniquely identifies it within containing resource group. Used in resource URIs and in UI.)')] [string] $labPlanName ) process { $arguments = @{} $arguments["labPlanName"] = $labPlanName $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:labservices:getLabPlan -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionLabservicesGetGlobalUserOperationBatchStatus { param ( [parameter(mandatory=$False,HelpMessage='The operation url of long running operation)')] [string[]] $urls, [parameter(mandatory=$False,HelpMessage='The name of the user.)')] [string] $userName ) process { $arguments = @{} $arguments["urls"] = $urls $arguments["userName"] = $userName $functionObject = Invoke-PulumiFunction -Name azure-native:labservices:getGlobalUserOperationBatchStatus -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionLabservicesGetLab { param ( [parameter(mandatory=$False,HelpMessage='The name of the lab Account.)')] [string] $labAccountName, [parameter(mandatory=$False,HelpMessage='Specify the $expand query. Example: ''properties($select=maxUsersInLab)'')')] [string] $expand, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["labAccountName"] = $labAccountName $arguments["labName"] = $labName $arguments["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'expand') { $arguments["expand"] = $expand } $functionObject = Invoke-PulumiFunction -Name azure-native:labservices:getLab -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionLabservicesGetLabAccount { param ( [parameter(mandatory=$False,HelpMessage='The name of the lab Account.)')] [string] $labAccountName, [parameter(mandatory=$False,HelpMessage='Specify the $expand query. Example: ''properties($expand=sizeConfiguration)'')')] [string] $expand, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["labAccountName"] = $labAccountName $arguments["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'expand') { $arguments["expand"] = $expand } $functionObject = Invoke-PulumiFunction -Name azure-native:labservices:getLabAccount -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } class AutoShutdownProfile { [ArgumentCompletions('Enabled', 'Disabled')] [object] $shutdownOnDisconnect [ArgumentCompletions('None', 'UserAbsence', 'LowUsage')] [object] $shutdownOnIdle [string] $disconnectDelay [string] $noConnectDelay [string] $idleDelay [ArgumentCompletions('Enabled', 'Disabled')] [object] $shutdownWhenNotConnected } function New-AzureNativeTypeLabservicesAutoShutdownProfile { param ( [parameter(mandatory=$False,HelpMessage='Whether shutdown on disconnect is enabled)')] $shutdownOnDisconnect, [parameter(mandatory=$False,HelpMessage='Whether a VM will get shutdown when it has idled for a period of time.)')] $shutdownOnIdle, [parameter(mandatory=$False,HelpMessage='The amount of time a VM will stay running after a user disconnects if this behavior is enabled.)')] [string] $disconnectDelay, [parameter(mandatory=$False,HelpMessage='The amount of time a VM will stay running before it is shutdown if no connection is made and this behavior is enabled.)')] [string] $noConnectDelay, [parameter(mandatory=$False,HelpMessage='The amount of time a VM will idle before it is shutdown if this behavior is enabled.)')] [string] $idleDelay, [parameter(mandatory=$False,HelpMessage='Whether a VM will get shutdown when it hasn''t been connected to after a period of time.)')] $shutdownWhenNotConnected ) process { return $([AutoShutdownProfile]$PSBoundParameters) } } class ConnectionProfile { [ArgumentCompletions('Public', 'Private', 'None')] [object] $webSshAccess [ArgumentCompletions('Public', 'Private', 'None')] [object] $clientSshAccess [ArgumentCompletions('Public', 'Private', 'None')] [object] $clientRdpAccess [ArgumentCompletions('Public', 'Private', 'None')] [object] $webRdpAccess } function New-AzureNativeTypeLabservicesConnectionProfile { param ( [parameter(mandatory=$False,HelpMessage='The enabled access level for Web Access over SSH.)')] $webSshAccess, [parameter(mandatory=$False,HelpMessage='The enabled access level for Client Access over SSH.)')] $clientSshAccess, [parameter(mandatory=$False,HelpMessage='The enabled access level for Client Access over RDP.)')] $clientRdpAccess, [parameter(mandatory=$False,HelpMessage='The enabled access level for Web Access over RDP.)')] $webRdpAccess ) process { return $([ConnectionProfile]$PSBoundParameters) } } class SupportInfo { [string] $phone [string] $email [string] $instructions [string] $url } function New-AzureNativeTypeLabservicesSupportInfo { param ( [parameter(mandatory=$False,HelpMessage='Support contact phone number.)')] [string] $phone, [parameter(mandatory=$False,HelpMessage='Support contact email address.)')] [string] $email, [parameter(mandatory=$False,HelpMessage='Support instructions.)')] [string] $instructions, [parameter(mandatory=$False,HelpMessage='Support web address.)')] [string] $url ) process { return $([SupportInfo]$PSBoundParameters) } } class LabPlanNetworkProfile { [string] $subnetId } function New-AzureNativeTypeLabservicesLabPlanNetworkProfile { param ( [parameter(mandatory=$False,HelpMessage='The external subnet resource id)')] [string] $subnetId ) process { return $([LabPlanNetworkProfile]$PSBoundParameters) } } function New-AzureNativeLabservicesLabPlan { [Alias('azure_native_labservices_labplan')] param ( [parameter(mandatory=$False,HelpMessage='The allowed regions for the lab creator to use when creating labs using this lab plan.)')] [string[]] $allowedRegions, [parameter(mandatory=$False,HelpMessage='Resource tags.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The name of the lab plan that uniquely identifies it within containing resource group. Used in resource URIs and in UI.)')] [string] $labPlanName, [parameter(mandatory=$False,HelpMessage='Resource ID of the Shared Image Gallery attached to this lab plan. When saving a lab template virtual machine image it will be persisted in this gallery. Shared images from the gallery can be made available to use when creating new labs.)')] [string] $sharedGalleryId, [parameter(mandatory=$False,HelpMessage='The default lab shutdown profile. This can be changed on a lab resource and only provides a default profile.)')] [AutoShutdownProfile] $defaultAutoShutdownProfile, [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')] [string] $location, [parameter(mandatory=$False,HelpMessage='The default lab connection profile. This can be changed on a lab resource and only provides a default profile.)')] [ConnectionProfile] $defaultConnectionProfile, [parameter(mandatory=$False,HelpMessage='Support contact information and instructions for users of the lab plan. This information is displayed to lab owners and virtual machine users for all labs in the lab plan.)')] [SupportInfo] $supportInfo, [parameter(mandatory=$False,HelpMessage='Base Url of the lms instance this lab plan can link lab rosters against.)')] [string] $linkedLmsInstance, [parameter(mandatory=$False,HelpMessage='The lab plan network profile. To enforce lab network policies they must be defined here and cannot be changed when there are existing labs associated with this lab plan.)')] [LabPlanNetworkProfile] $defaultNetworkProfile, [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:labservices:LabPlan") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'allowedRegions') { $resource.properties["allowedRegions"] = $allowedRegions } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'labPlanName') { $resource.properties["labPlanName"] = $labPlanName } if($PSBoundParameters.Keys -icontains 'sharedGalleryId') { $resource.properties["sharedGalleryId"] = $sharedGalleryId } if($PSBoundParameters.Keys -icontains 'defaultAutoShutdownProfile') { $resource.properties["defaultAutoShutdownProfile"] = $defaultAutoShutdownProfile } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'defaultConnectionProfile') { $resource.properties["defaultConnectionProfile"] = $defaultConnectionProfile } if($PSBoundParameters.Keys -icontains 'supportInfo') { $resource.properties["supportInfo"] = $supportInfo } if($PSBoundParameters.Keys -icontains 'linkedLmsInstance') { $resource.properties["linkedLmsInstance"] = $linkedLmsInstance } if($PSBoundParameters.Keys -icontains 'defaultNetworkProfile') { $resource.properties["defaultNetworkProfile"] = $defaultNetworkProfile } $global:pulumiresources += $resource return $resource } } function New-AzureNativeLabservicesLab { [Alias('azure_native_labservices_lab')] param ( [parameter(mandatory=$False,HelpMessage='Maximum number of users allowed in the lab.)')] [int] $maxUsersInLab, [parameter(mandatory=$False,HelpMessage='The location of the resource.)')] [string] $location, [parameter(mandatory=$False,HelpMessage='Lab user access mode (open to all vs. restricted to those listed on the lab).)')] [string] [ValidateSet('Restricted', 'Open')] $userAccessMode, [parameter(mandatory=$False,HelpMessage='The provisioning status of the resource.)')] [string] $provisioningState, [parameter(mandatory=$False,HelpMessage='The tags of the resource.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='The unique immutable identifier of a resource (Guid).)')] [string] $uniqueIdentifier, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The name of the lab Account.)')] [string] $labAccountName, [parameter(mandatory=$False,HelpMessage='Maximum duration a user can use an environment for in the lab.)')] [string] $usageQuota, [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:labservices:Lab") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["labAccountName"] = $labAccountName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'maxUsersInLab') { $resource.properties["maxUsersInLab"] = $maxUsersInLab } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'userAccessMode') { $resource.properties["userAccessMode"] = $userAccessMode } if($PSBoundParameters.Keys -icontains 'provisioningState') { $resource.properties["provisioningState"] = $provisioningState } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'uniqueIdentifier') { $resource.properties["uniqueIdentifier"] = $uniqueIdentifier } if($PSBoundParameters.Keys -icontains 'labName') { $resource.properties["labName"] = $labName } if($PSBoundParameters.Keys -icontains 'usageQuota') { $resource.properties["usageQuota"] = $usageQuota } $global:pulumiresources += $resource return $resource } } class ResourceSet { [string] $resourceSettingId [string] $vmResourceId } function New-AzureNativeTypeLabservicesResourceSet { param ( [parameter(mandatory=$False,HelpMessage='resourceSettingId for the environment)')] [string] $resourceSettingId, [parameter(mandatory=$False,HelpMessage='VM resource Id for the environment)')] [string] $vmResourceId ) process { return $([ResourceSet]$PSBoundParameters) } } function New-AzureNativeLabservicesEnvironment { [Alias('azure_native_labservices_environment')] param ( [parameter(mandatory=$False,HelpMessage='The unique immutable identifier of a resource (Guid).)')] [string] $uniqueIdentifier, [parameter(mandatory=$False,HelpMessage='The location of the resource.)')] [string] $location, [parameter(mandatory=$False,HelpMessage='The set of a VM and the setting id it was created for)')] [ResourceSet] $resourceSets, [parameter(mandatory=$False,HelpMessage='The name of the environment Setting.)')] [string] $environmentSettingName, [parameter(mandatory=$False,HelpMessage='The provisioning status of the resource.)')] [string] $provisioningState, [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='The name of the environment.)')] [string] $environmentName, [parameter(mandatory=$False,HelpMessage='The name of the lab Account.)')] [string] $labAccountName, [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:labservices:Environment") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["environmentSettingName"] = $environmentSettingName $resource.properties["labAccountName"] = $labAccountName $resource.properties["labName"] = $labName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'uniqueIdentifier') { $resource.properties["uniqueIdentifier"] = $uniqueIdentifier } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'resourceSets') { $resource.properties["resourceSets"] = $resourceSets } if($PSBoundParameters.Keys -icontains 'provisioningState') { $resource.properties["provisioningState"] = $provisioningState } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'environmentName') { $resource.properties["environmentName"] = $environmentName } $global:pulumiresources += $resource return $resource } } function New-AzureNativeLabservicesGalleryImage { [Alias('azure_native_labservices_galleryimage')] param ( [parameter(mandatory=$False,HelpMessage='The unique immutable identifier of a resource (Guid).)')] [string] $uniqueIdentifier, [parameter(mandatory=$False,HelpMessage='The location of the resource.)')] [string] $location, [parameter(mandatory=$False,HelpMessage='The name of the gallery Image.)')] [string] $galleryImageName, [parameter(mandatory=$False,HelpMessage='Indicates whether this gallery image is enabled.)')] [bool] $isEnabled, [parameter(mandatory=$False,HelpMessage='The provisioning status of the resource.)')] [string] $provisioningState, [parameter(mandatory=$False,HelpMessage='The tags of the resource.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Indicates whether this gallery has been overridden for this lab account)')] [bool] $isOverride, [parameter(mandatory=$False,HelpMessage='The name of the lab Account.)')] [string] $labAccountName, [parameter(mandatory=$False,HelpMessage='Indicates if the plan has been authorized for programmatic deployment.)')] [bool] $isPlanAuthorized, [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:labservices:GalleryImage") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["labAccountName"] = $labAccountName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'uniqueIdentifier') { $resource.properties["uniqueIdentifier"] = $uniqueIdentifier } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'galleryImageName') { $resource.properties["galleryImageName"] = $galleryImageName } if($PSBoundParameters.Keys -icontains 'isEnabled') { $resource.properties["isEnabled"] = $isEnabled } if($PSBoundParameters.Keys -icontains 'provisioningState') { $resource.properties["provisioningState"] = $provisioningState } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'isOverride') { $resource.properties["isOverride"] = $isOverride } if($PSBoundParameters.Keys -icontains 'isPlanAuthorized') { $resource.properties["isPlanAuthorized"] = $isPlanAuthorized } $global:pulumiresources += $resource return $resource } } function New-AzureNativeLabservicesUser { [Alias('azure_native_labservices_user')] param ( [parameter(mandatory=$False,HelpMessage='The provisioning status of the resource.)')] [string] $provisioningState, [parameter(mandatory=$False,HelpMessage='The tags of the resource.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='The name of the lab Account.)')] [string] $labAccountName, [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.)')] [string] $userName, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The unique immutable identifier of a resource (Guid).)')] [string] $uniqueIdentifier, [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:labservices:User") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["labAccountName"] = $labAccountName $resource.properties["labName"] = $labName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'provisioningState') { $resource.properties["provisioningState"] = $provisioningState } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'userName') { $resource.properties["userName"] = $userName } if($PSBoundParameters.Keys -icontains 'uniqueIdentifier') { $resource.properties["uniqueIdentifier"] = $uniqueIdentifier } $global:pulumiresources += $resource return $resource } } class RecurrencePattern { [int] $interval [string] $expirationDate [ArgumentCompletions('Daily', 'Weekly')] [object] $frequency [ArgumentCompletions('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday')] [string] $weekDays } function New-AzureNativeTypeLabservicesRecurrencePattern { param ( [parameter(mandatory=$False,HelpMessage='The interval to invoke the schedule on. For example, interval = 2 and RecurrenceFrequency.Daily will run every 2 days. When no interval is supplied, an interval of 1 is used.)')] [int] $interval, [parameter(mandatory=$False,HelpMessage='When the recurrence will expire. This date is inclusive.)')] [string] $expirationDate, [parameter(mandatory=$False,HelpMessage='The frequency of the recurrence.)')] $frequency, [parameter(mandatory=$False,HelpMessage='The week days the schedule runs. Used for when the Frequency is set to Weekly.)')] $weekDays ) process { return $([RecurrencePattern]$PSBoundParameters) } } function New-AzureNativeLabservicesSchedule { [Alias('azure_native_labservices_schedule')] param ( [parameter(mandatory=$False,HelpMessage='The IANA timezone id for the schedule.)')] [string] $timeZoneId, [parameter(mandatory=$False,HelpMessage='When lab user virtual machines will be stopped. Timestamp offsets will be ignored and timeZoneId is used instead.)')] [string] $stopAt, [parameter(mandatory=$False,HelpMessage='When lab user virtual machines will be started. Timestamp offsets will be ignored and timeZoneId is used instead.)')] [string] $startAt, [parameter(mandatory=$False,HelpMessage='The name of the lab that uniquely identifies it within containing lab account. Used in resource URIs.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='Notes for this schedule.)')] [string] $notes, [parameter(mandatory=$False,HelpMessage='The name of the schedule that uniquely identifies it within containing lab. Used in resource URIs.)')] [string] $scheduleName, [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The recurrence pattern of the scheduled actions.)')] [RecurrencePattern] $recurrencePattern, [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:labservices: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 $resource.properties["stopAt"] = $stopAt $resource.properties["timeZoneId"] = $timeZoneId if($PSBoundParameters.Keys -icontains 'startAt') { $resource.properties["startAt"] = $startAt } if($PSBoundParameters.Keys -icontains 'notes') { $resource.properties["notes"] = $notes } if($PSBoundParameters.Keys -icontains 'scheduleName') { $resource.properties["scheduleName"] = $scheduleName } if($PSBoundParameters.Keys -icontains 'recurrencePattern') { $resource.properties["recurrencePattern"] = $recurrencePattern } $global:pulumiresources += $resource return $resource } } class ReferenceVm { [string] $userName [string] $password } function New-AzureNativeTypeLabservicesReferenceVm { param ( [parameter(mandatory=$False,HelpMessage='The username of the virtual machine)')] [string] $userName, [parameter(mandatory=$False,HelpMessage='The password of the virtual machine. This will be set to null in GET resource API)')] [string] $password ) process { return $([ReferenceVm]$PSBoundParameters) } } class ResourceSettings { [ReferenceVm] $referenceVm [ArgumentCompletions('Basic', 'Standard', 'Performance')] [string] $size [string] $galleryImageResourceId } function New-AzureNativeTypeLabservicesResourceSettings { param ( [parameter(mandatory=$False,HelpMessage='Details specific to Reference Vm)')] [ReferenceVm] $referenceVm, [parameter(mandatory=$False,HelpMessage='The size of the virtual machine)')] [string] [ValidateSet('Basic', 'Standard', 'Performance')] $size, [parameter(mandatory=$False,HelpMessage='The resource id of the gallery image used for creating the virtual machine)')] [string] $galleryImageResourceId ) process { return $([ResourceSettings]$PSBoundParameters) } } function New-AzureNativeLabservicesEnvironmentSetting { [Alias('azure_native_labservices_environmentsetting')] param ( [parameter(mandatory=$False,HelpMessage='Describes the user''s progress in configuring their environment setting)')] [string] [ValidateSet('NotApplicable', 'Completed')] $configurationState, [parameter(mandatory=$False,HelpMessage='The location of the resource.)')] [string] $location, [parameter(mandatory=$False,HelpMessage='The name of the lab Account.)')] [string] $labAccountName, [parameter(mandatory=$False,HelpMessage='Brief title describing the environment and its resource settings)')] [string] $title, [parameter(mandatory=$False,HelpMessage='The provisioning status of the resource.)')] [string] $provisioningState, [parameter(mandatory=$False,HelpMessage='The tags of the resource.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='The unique immutable identifier of a resource (Guid).)')] [string] $uniqueIdentifier, [parameter(mandatory=$False,HelpMessage='The resource specific settings)')] [ResourceSettings] $resourceSettings, [parameter(mandatory=$False,HelpMessage='The name of the lab.)')] [string] $labName, [parameter(mandatory=$False,HelpMessage='The name of the environment Setting.)')] [string] $environmentSettingName, [parameter(mandatory=$False,HelpMessage='Describes the environment and its resource settings)')] [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:labservices:EnvironmentSetting") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["labAccountName"] = $labAccountName $resource.properties["labName"] = $labName $resource.properties["resourceGroupName"] = $resourceGroupName $resource.properties["resourceSettings"] = $resourceSettings if($PSBoundParameters.Keys -icontains 'configurationState') { $resource.properties["configurationState"] = $configurationState } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'title') { $resource.properties["title"] = $title } if($PSBoundParameters.Keys -icontains 'provisioningState') { $resource.properties["provisioningState"] = $provisioningState } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'uniqueIdentifier') { $resource.properties["uniqueIdentifier"] = $uniqueIdentifier } if($PSBoundParameters.Keys -icontains 'environmentSettingName') { $resource.properties["environmentSettingName"] = $environmentSettingName } if($PSBoundParameters.Keys -icontains 'description') { $resource.properties["description"] = $description } $global:pulumiresources += $resource return $resource } } function New-AzureNativeLabservicesLabAccount { [Alias('azure_native_labservices_labaccount')] param ( [parameter(mandatory=$False,HelpMessage='The provisioning status of the resource.)')] [string] $provisioningState, [parameter(mandatory=$False,HelpMessage='The name of the lab Account.)')] [string] $labAccountName, [parameter(mandatory=$False,HelpMessage='Represents if region selection is enabled)')] [bool] $enabledRegionSelection, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The unique immutable identifier of a resource (Guid).)')] [string] $uniqueIdentifier, [parameter(mandatory=$False,HelpMessage='The tags of the resource.)')] [hashtable] $tags, [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:labservices:LabAccount") foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.dependson += $Dependency.Reference() } else { $resource.dependson += $Dependency } } $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'provisioningState') { $resource.properties["provisioningState"] = $provisioningState } if($PSBoundParameters.Keys -icontains 'labAccountName') { $resource.properties["labAccountName"] = $labAccountName } if($PSBoundParameters.Keys -icontains 'enabledRegionSelection') { $resource.properties["enabledRegionSelection"] = $enabledRegionSelection } if($PSBoundParameters.Keys -icontains 'uniqueIdentifier') { $resource.properties["uniqueIdentifier"] = $uniqueIdentifier } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } $global:pulumiresources += $resource return $resource } } |