pspulumiyaml.azurenative.confluent.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionConfluentGetOrganization
{
    param (
        [parameter(mandatory=$False,HelpMessage='Resource group name)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Organization resource name)')]
        [string]
        $organizationName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:confluent:getOrganization -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
class OrganizationResourcePropertiesOfferDetail
{
    [string] $termUnit
    [string] $planName
    [string] $publisherId
    [string] $id
    [string] $planId
}
function New-AzureNativeTypeConfluentOrganizationResourcePropertiesOfferDetail
{
    param (
        [parameter(mandatory=$False,HelpMessage='Offer Plan Term unit)')]
        [string]
        $termUnit,
        [parameter(mandatory=$False,HelpMessage='Offer Plan Name)')]
        [string]
        $planName,
        [parameter(mandatory=$False,HelpMessage='Publisher Id)')]
        [string]
        $publisherId,
        [parameter(mandatory=$False,HelpMessage='Offer Id)')]
        [string]
        $id,
        [parameter(mandatory=$False,HelpMessage='Offer Plan Id)')]
        [string]
        $planId
    )

    process
    {
        return $([OrganizationResourcePropertiesOfferDetail]$PSBoundParameters)
    }
}
class OrganizationResourcePropertiesUserDetail
{
    [string] $lastName
    [string] $emailAddress
    [string] $firstName
}
function New-AzureNativeTypeConfluentOrganizationResourcePropertiesUserDetail
{
    param (
        [parameter(mandatory=$False,HelpMessage='Last name)')]
        [string]
        $lastName,
        [parameter(mandatory=$False,HelpMessage='Email address)')]
        [string]
        $emailAddress,
        [parameter(mandatory=$False,HelpMessage='First name)')]
        [string]
        $firstName
    )

    process
    {
        return $([OrganizationResourcePropertiesUserDetail]$PSBoundParameters)
    }
}
function New-AzureNativeConfluentOrganization
{
    [Alias('azure_native_confluent_organization')]
    param (
        [parameter(mandatory=$False,HelpMessage='Confluent offer detail)')]
        [OrganizationResourcePropertiesOfferDetail]
        $offerDetail,
        [parameter(mandatory=$False,HelpMessage='Subscriber detail)')]
        [OrganizationResourcePropertiesUserDetail]
        $userDetail,
        [parameter(mandatory=$False,HelpMessage='Organization resource name)')]
        [string]
        $organizationName,
        [parameter(mandatory=$False,HelpMessage='Resource group name)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Organization resource tags)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='Location of Organization 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:confluent:Organization")

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

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

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

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

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

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

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