pspulumiyaml.azurenative.recommendationsservice.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionRecommendationsserviceGetAccount
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the RecommendationsService Account resource.)')]
        [string]
        $accountName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:recommendationsservice:getAccount -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionRecommendationsserviceGetModeling
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the Modeling resource.)')]
        [string]
        $modelingName,
        [parameter(mandatory=$False,HelpMessage='The name of the RecommendationsService Account resource.)')]
        [string]
        $accountName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:recommendationsservice:getModeling -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionRecommendationsserviceGetServiceEndpoint
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the RecommendationsService Account resource.)')]
        [string]
        $accountName,
        [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 ServiceEndpoint resource.)')]
        [string]
        $serviceEndpointName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:recommendationsservice:getServiceEndpoint -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
class ServiceEndpointResourceProperties
{
    [int] $preAllocatedCapacity
}
function New-AzureNativeTypeRecommendationsserviceServiceEndpointResourceProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='ServiceEndpoint pre-allocated capacity controls the maximum requests-per-second allowed for that endpoint. Only applicable when Account configuration is Capacity.)')]
        [int]
        $preAllocatedCapacity
    )

    process
    {
        return $([ServiceEndpointResourceProperties]$PSBoundParameters)
    }
}
function New-AzureNativeRecommendationsserviceServiceEndpoint
{
    [Alias('azure_native_recommendationsservice_serviceendpoint')]
    param (
        [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 ServiceEndpoint resource.)')]
        [string]
        $serviceEndpointName,
        [parameter(mandatory=$False,HelpMessage='ServiceEndpoint resource properties.)')]
        [ServiceEndpointResourceProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='The name of the RecommendationsService Account resource.)')]
        [string]
        $accountName,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:recommendationsservice:ServiceEndpoint")

        $resource.properties["accountName"] = $accountName
        $resource.properties["resourceGroupName"] = $resourceGroupName

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class ModelingInputData
{
    [ValidateSet('Basic', 'Standard', 'Premium')]
    [string] $connectionString
}
function New-AzureNativeTypeRecommendationsserviceModelingInputData
{
    param (
        [parameter(mandatory=$False,HelpMessage='Connection string to raw input data.)')]
        [string]
        $connectionString
    )

    process
    {
        return $([ModelingInputData]$PSBoundParameters)
    }
}
class ModelingResourceProperties
{
    [ValidateSet('Basic', 'Standard', 'Premium')]
    [string] $features
    [ValidateSet('Basic', 'Standard', 'Premium')]
    [ModelingInputData] $inputData
    [ValidateSet('Low', 'Medium', 'High')]
    [string] $frequency
    [ValidateSet('Small', 'Medium', 'Large')]
    [string] $size
}
function New-AzureNativeTypeRecommendationsserviceModelingResourceProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='Modeling features controls the set of supported scenarios\models being computed. This can only be set at Modeling creation.)')]
        [string]
        [ValidateSet('Basic', 'Standard', 'Premium')]
        $features,
        [parameter(mandatory=$False,HelpMessage='The configuration to raw CDM data to be used as Modeling resource input.)')]
        [ModelingInputData]
        $inputData,
        [parameter(mandatory=$False,HelpMessage='Modeling frequency controls the modeling compute frequency.)')]
        [string]
        [ValidateSet('Low', 'Medium', 'High')]
        $frequency,
        [parameter(mandatory=$False,HelpMessage='Modeling size controls the maximum supported input data size.)')]
        [string]
        [ValidateSet('Small', 'Medium', 'Large')]
        $size
    )

    process
    {
        return $([ModelingResourceProperties]$PSBoundParameters)
    }
}
function New-AzureNativeRecommendationsserviceModeling
{
    [Alias('azure_native_recommendationsservice_modeling')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='Modeling resource properties.)')]
        [ModelingResourceProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='The name of the Modeling resource.)')]
        [string]
        $modelingName,
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='The name of the RecommendationsService Account resource.)')]
        [string]
        $accountName,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:recommendationsservice:Modeling")

        $resource.properties["accountName"] = $accountName
        $resource.properties["resourceGroupName"] = $resourceGroupName

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class CorsRule
{
    [int] $maxAgeInSeconds
    [string[]] $allowedOrigins
    [string[]] $allowedMethods
    [string[]] $allowedHeaders
    [string[]] $exposedHeaders
}
function New-AzureNativeTypeRecommendationsserviceCorsRule
{
    param (
        [parameter(mandatory=$False,HelpMessage='The number of seconds that the client/browser should cache a preflight response.)')]
        [int]
        $maxAgeInSeconds,
        [parameter(mandatory=$False,HelpMessage='The origin domains that are permitted to make a request against the service via CORS.)')]
        [string[]]
        $allowedOrigins,
        [parameter(mandatory=$False,HelpMessage='The methods (HTTP request verbs) that the origin domain may use for a CORS request.)')]
        [string[]]
        $allowedMethods,
        [parameter(mandatory=$False,HelpMessage='The request headers that the origin domain may specify on the CORS request.)')]
        [string[]]
        $allowedHeaders,
        [parameter(mandatory=$False,HelpMessage='The response headers to expose to CORS clients.)')]
        [string[]]
        $exposedHeaders
    )

    process
    {
        return $([CorsRule]$PSBoundParameters)
    }
}
class EndpointAuthentication
{
    [ValidateSet('Free', 'Capacity')]
    [string] $aadTenantID
    [ValidateSet('Application', 'User')]
    [string] $principalType
    [ValidateSet('Application', 'User')]
    [string] $principalID
}
function New-AzureNativeTypeRecommendationsserviceEndpointAuthentication
{
    param (
        [parameter(mandatory=$False,HelpMessage='AAD tenant ID.)')]
        [string]
        $aadTenantID,
        [parameter(mandatory=$False,HelpMessage='AAD principal type.)')]
        [string]
        [ValidateSet('Application', 'User')]
        $principalType,
        [parameter(mandatory=$False,HelpMessage='AAD principal ID.)')]
        [string]
        $principalID
    )

    process
    {
        return $([EndpointAuthentication]$PSBoundParameters)
    }
}
class AccountResourceProperties
{
    [CorsRule[]] $cors
    [ValidateSet('Free', 'Capacity')]
    [string] $configuration
    [ValidateSet('Free', 'Capacity')]
    [EndpointAuthentication[]] $endpointAuthentications
    [ValidateSet('Free', 'Capacity')]
    [string] $reportsConnectionString
}
function New-AzureNativeTypeRecommendationsserviceAccountResourceProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='The list of CORS details.)')]
        $cors,
        [parameter(mandatory=$False,HelpMessage='Account configuration. This can only be set at RecommendationsService Account creation.)')]
        [string]
        [ValidateSet('Free', 'Capacity')]
        $configuration,
        [parameter(mandatory=$False,HelpMessage='The list of service endpoints authentication details.)')]
        $endpointAuthentications,
        [parameter(mandatory=$False,HelpMessage='Connection string to write Accounts reports to.)')]
        [string]
        $reportsConnectionString
    )

    process
    {
        return $([AccountResourceProperties]$PSBoundParameters)
    }
}
function New-AzureNativeRecommendationsserviceAccount
{
    [Alias('azure_native_recommendationsservice_account')]
    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 RecommendationsService Account resource.)')]
        [string]
        $accountName,
        [parameter(mandatory=$False,HelpMessage='Account resource properties.)')]
        [AccountResourceProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [string]
        $location,
        [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')]
        [string]
        $pulumiid
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:recommendationsservice:Account")

        $resource.properties["resourceGroupName"] = $resourceGroupName

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

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

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

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

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