pspulumiyaml.azurenative.networkfunction.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionNetworkfunctionGetAzureTrafficCollector
{
    param (
        [parameter(mandatory=$False,HelpMessage='Azure Traffic Collector name)')]
        [string]
        $azureTrafficCollectorName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:networkfunction:getAzureTrafficCollector -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionNetworkfunctionGetCollectorPolicy
{
    param (
        [parameter(mandatory=$False,HelpMessage='Collector Policy Name)')]
        [string]
        $collectorPolicyName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Azure Traffic Collector name)')]
        [string]
        $azureTrafficCollectorName
    )

    process
    {
        $arguments = @{}
        $arguments["azureTrafficCollectorName"] = $azureTrafficCollectorName
        $arguments["collectorPolicyName"] = $collectorPolicyName
        $arguments["resourceGroupName"] = $resourceGroupName

        $functionObject = Invoke-PulumiFunction -Name azure-native:networkfunction:getCollectorPolicy -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function New-AzureNativeNetworkfunctionAzureTrafficCollector
{
    [Alias('azure_native_networkfunction_azuretrafficcollector')]
    param (
        [parameter(mandatory=$False,HelpMessage='Collector Policies for Azure Traffic Collector.)')]
        $collectorPolicies,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='Azure Traffic Collector name)')]
        [string]
        $azureTrafficCollectorName,
        [parameter(mandatory=$False,HelpMessage='Resource location.)')]
        [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:networkfunction:AzureTrafficCollector")

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class IngestionSourcesPropertiesFormat
{
    [ValidateSet('Resource')]
    [string] $sourceType
    [ValidateSet('Resource')]
    [string] $resourceId
}
function New-AzureNativeTypeNetworkfunctionIngestionSourcesPropertiesFormat
{
    param (
        [parameter(mandatory=$False,HelpMessage='Ingestion source type.)')]
        [string]
        [ValidateSet('Resource')]
        $sourceType,
        [parameter(mandatory=$False,HelpMessage='Resource ID.)')]
        [string]
        $resourceId
    )

    process
    {
        return $([IngestionSourcesPropertiesFormat]$PSBoundParameters)
    }
}
class IngestionPolicyPropertiesFormat
{
    [IngestionSourcesPropertiesFormat[]] $ingestionSources
    [ValidateSet('IPFIX')]
    [string] $ingestionType
}
function New-AzureNativeTypeNetworkfunctionIngestionPolicyPropertiesFormat
{
    param (
        [parameter(mandatory=$False,HelpMessage='Ingestion Sources.)')]
        $ingestionSources,
        [parameter(mandatory=$False,HelpMessage='The ingestion type.)')]
        [string]
        [ValidateSet('IPFIX')]
        $ingestionType
    )

    process
    {
        return $([IngestionPolicyPropertiesFormat]$PSBoundParameters)
    }
}
function New-AzureNativeNetworkfunctionCollectorPolicy
{
    [Alias('azure_native_networkfunction_collectorpolicy')]
    param (
        [parameter(mandatory=$False,HelpMessage='Collector Policy Name)')]
        [string]
        $collectorPolicyName,
        [parameter(mandatory=$False,HelpMessage='Emission policies.)')]
        $emissionPolicies,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Azure Traffic Collector name)')]
        [string]
        $azureTrafficCollectorName,
        [parameter(mandatory=$False,HelpMessage='Ingestion policies.)')]
        [IngestionPolicyPropertiesFormat]
        $ingestionPolicy,
        [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:networkfunction:CollectorPolicy")

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

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

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

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

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