pspulumiyaml.azurenative.automanage.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionAutomanageGetConfigurationProfileAssignment
{
    param (
        [parameter(mandatory=$False,HelpMessage='The configuration profile assignment name.)')]
        [string]
        $configurationProfileAssignmentName,
        [parameter(mandatory=$False,HelpMessage='The name of the virtual machine.)')]
        [string]
        $vmName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

    process
    {
        $arguments = @{}
        $arguments["configurationProfileAssignmentName"] = $configurationProfileAssignmentName
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["vmName"] = $vmName

        $functionObject = Invoke-PulumiFunction -Name azure-native:automanage:getConfigurationProfileAssignment -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionAutomanageGetAccount
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The Automanage account name.)')]
        [string]
        $accountName
    )

    process
    {
        $arguments = @{}
        $arguments["accountName"] = $accountName
        $arguments["resourceGroupName"] = $resourceGroupName

        $functionObject = Invoke-PulumiFunction -Name azure-native:automanage:getAccount -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionAutomanageGetConfigurationProfilePreference
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The configuration profile preference name.)')]
        [string]
        $configurationProfilePreferenceName
    )

    process
    {
        $arguments = @{}
        $arguments["configurationProfilePreferenceName"] = $configurationProfilePreferenceName
        $arguments["resourceGroupName"] = $resourceGroupName

        $functionObject = Invoke-PulumiFunction -Name azure-native:automanage:getConfigurationProfilePreference -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
class ConfigurationProfilePreferenceVmBackup
{
    [string] $schedulePolicy
    [string] $timeZone
    [int] $instantRpRetentionRangeInDays
    [string] $retentionPolicy
}
function New-AzureNativeTypeAutomanageConfigurationProfilePreferenceVmBackup
{
    param (
        [parameter(mandatory=$False,HelpMessage='Backup schedule specified as part of backup policy.)')]
        [string]
        $schedulePolicy,
        [parameter(mandatory=$False,HelpMessage='TimeZone optional input as string. For example: Pacific Standard Time)')]
        [string]
        $timeZone,
        [parameter(mandatory=$False,HelpMessage='Instant RP retention policy range in days)')]
        [int]
        $instantRpRetentionRangeInDays,
        [parameter(mandatory=$False,HelpMessage='Retention policy with the details on backup copy retention ranges.)')]
        [string]
        $retentionPolicy
    )

    process
    {
        return $([ConfigurationProfilePreferenceVmBackup]$PSBoundParameters)
    }
}
class ConfigurationProfilePreferenceAntiMalware
{
    [object] $exclusions
    [ArgumentCompletions('True', 'False')]
    [string] $enableRealTimeProtection
    [string] $scanTimeInMinutes
    [ArgumentCompletions('True', 'False')]
    [string] $runScheduledScan
    [string] $scanDay
    [ArgumentCompletions('Quick', 'Full')]
    [string] $scanType
}
function New-AzureNativeTypeAutomanageConfigurationProfilePreferenceAntiMalware
{
    param (
        [parameter(mandatory=$False,HelpMessage='Extensions, Paths and Processes that must be excluded from scan)')]
        $exclusions,
        [parameter(mandatory=$False,HelpMessage='Enables or disables Real Time Protection)')]
        [string]
        [ValidateSet('True', 'False')]
        $enableRealTimeProtection,
        [parameter(mandatory=$False,HelpMessage='Schedule scan settings time)')]
        [string]
        $scanTimeInMinutes,
        [parameter(mandatory=$False,HelpMessage='Enables or disables a periodic scan for antimalware)')]
        [string]
        [ValidateSet('True', 'False')]
        $runScheduledScan,
        [parameter(mandatory=$False,HelpMessage='Schedule scan settings day)')]
        [string]
        $scanDay,
        [parameter(mandatory=$False,HelpMessage='Type of scheduled scan)')]
        [string]
        [ValidateSet('Quick', 'Full')]
        $scanType
    )

    process
    {
        return $([ConfigurationProfilePreferenceAntiMalware]$PSBoundParameters)
    }
}
class ConfigurationProfilePreferenceProperties
{
    [ConfigurationProfilePreferenceVmBackup] $vmBackup
    [ConfigurationProfilePreferenceAntiMalware] $antiMalware
}
function New-AzureNativeTypeAutomanageConfigurationProfilePreferenceProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='The custom preferences for Azure VM Backup.)')]
        [ConfigurationProfilePreferenceVmBackup]
        $vmBackup,
        [parameter(mandatory=$False,HelpMessage='The custom preferences for Azure Antimalware.)')]
        [ConfigurationProfilePreferenceAntiMalware]
        $antiMalware
    )

    process
    {
        return $([ConfigurationProfilePreferenceProperties]$PSBoundParameters)
    }
}
function New-AzureNativeAutomanageConfigurationProfilePreference
{
    [Alias('azure_native_automanage_configurationprofilepreference')]
    param (
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='Properties of the configuration profile preference.)')]
        [ConfigurationProfilePreferenceProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='Name of the configuration profile preference.)')]
        [string]
        $configurationProfilePreferenceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [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:automanage:ConfigurationProfilePreference")

        foreach($Dependency in $DependsOn)
        {
            if($Dependency -is [pulumiresource])
            {
                $resource.dependson += $Dependency.Reference()
            } else
            {
                $resource.dependson += $Dependency
            }
        }
        $resource.properties["resourceGroupName"] = $resourceGroupName

        if($PSBoundParameters.Keys -icontains 'location')
        {
            $resource.properties["location"] = $location
        }

        if($PSBoundParameters.Keys -icontains 'properties')
        {
            $resource.properties["properties"] = $properties
        }

        if($PSBoundParameters.Keys -icontains 'tags')
        {
            $resource.properties["tags"] = $tags
        }

        if($PSBoundParameters.Keys -icontains 'configurationProfilePreferenceName')
        {
            $resource.properties["configurationProfilePreferenceName"] = $configurationProfilePreferenceName
        }

        $global:pulumiresources += $resource
        return $resource
    }
}
class AccountIdentity
{
    [ArgumentCompletions('SystemAssigned', 'None')]
    [object] $type
}
function New-AzureNativeTypeAutomanageAccountIdentity
{
    param (
        [parameter(mandatory=$False,HelpMessage='The type of identity used for the Automanage account. Currently, the only supported type is ''SystemAssigned'', which implicitly creates an identity.)')]
        $type
    )

    process
    {
        return $([AccountIdentity]$PSBoundParameters)
    }
}
function New-AzureNativeAutomanageAccount
{
    [Alias('azure_native_automanage_account')]
    param (
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='The identity of the Automanage account.)')]
        [AccountIdentity]
        $identity,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Name of the Automanage account.)')]
        [string]
        $accountName,
        [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:automanage:Account")

        foreach($Dependency in $DependsOn)
        {
            if($Dependency -is [pulumiresource])
            {
                $resource.dependson += $Dependency.Reference()
            } else
            {
                $resource.dependson += $Dependency
            }
        }
        $resource.properties["resourceGroupName"] = $resourceGroupName

        if($PSBoundParameters.Keys -icontains 'location')
        {
            $resource.properties["location"] = $location
        }

        if($PSBoundParameters.Keys -icontains 'tags')
        {
            $resource.properties["tags"] = $tags
        }

        if($PSBoundParameters.Keys -icontains 'identity')
        {
            $resource.properties["identity"] = $identity
        }

        if($PSBoundParameters.Keys -icontains 'accountName')
        {
            $resource.properties["accountName"] = $accountName
        }

        $global:pulumiresources += $resource
        return $resource
    }
}
class ConfigurationProfileAssignmentProperties
{
    [ArgumentCompletions('Azure virtual machine best practices – Dev/Test', 'Azure virtual machine best practices – Production')]
    [string] $configurationProfile
    [string] $accountId
    [string] $configurationProfilePreferenceId
    [string] $targetId
}
function New-AzureNativeTypeAutomanageConfigurationProfileAssignmentProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='A value indicating configuration profile.)')]
        [string]
        [ValidateSet('Azure virtual machine best practices – Dev/Test', 'Azure virtual machine best practices – Production')]
        $configurationProfile,
        [parameter(mandatory=$False,HelpMessage='The Automanage account ARM Resource URI)')]
        [string]
        $accountId,
        [parameter(mandatory=$False,HelpMessage='The configuration profile custom preferences ARM resource URI)')]
        [string]
        $configurationProfilePreferenceId,
        [parameter(mandatory=$False,HelpMessage='The target VM resource URI)')]
        [string]
        $targetId
    )

    process
    {
        return $([ConfigurationProfileAssignmentProperties]$PSBoundParameters)
    }
}
function New-AzureNativeAutomanageConfigurationProfileAssignment
{
    [Alias('azure_native_automanage_configurationprofileassignment')]
    param (
        [parameter(mandatory=$False,HelpMessage='Properties of the configuration profile assignment.)')]
        [ConfigurationProfileAssignmentProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Name of the configuration profile assignment. Only default is supported.)')]
        [string]
        $configurationProfileAssignmentName,
        [parameter(mandatory=$False,HelpMessage='The name of the virtual machine.)')]
        [string]
        $vmName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [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:automanage:ConfigurationProfileAssignment")

        foreach($Dependency in $DependsOn)
        {
            if($Dependency -is [pulumiresource])
            {
                $resource.dependson += $Dependency.Reference()
            } else
            {
                $resource.dependson += $Dependency
            }
        }
        $resource.properties["resourceGroupName"] = $resourceGroupName
        $resource.properties["vmName"] = $vmName

        if($PSBoundParameters.Keys -icontains 'properties')
        {
            $resource.properties["properties"] = $properties
        }

        if($PSBoundParameters.Keys -icontains 'configurationProfileAssignmentName')
        {
            $resource.properties["configurationProfileAssignmentName"] = $configurationProfileAssignmentName
        }

        $global:pulumiresources += $resource
        return $resource
    }
}