pspulumiyaml.azurenative.videoindexer.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionVideoindexerGetAccount
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the Azure Video Analyzer for Media account.)')]
        [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:videoindexer:getAccount -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
class MediaServicesForPutRequest
{
    [string] $resourceId
    [string] $userAssignedIdentity
}
function New-AzureNativeTypeVideoindexerMediaServicesForPutRequest
{
    param (
        [parameter(mandatory=$False,HelpMessage='The media services resource id)')]
        [string]
        $resourceId,
        [parameter(mandatory=$False,HelpMessage='The user assigned identity to be used to grant permissions)')]
        [string]
        $userAssignedIdentity
    )

    process
    {
        return $([MediaServicesForPutRequest]$PSBoundParameters)
    }
}
class ManagedServiceIdentity
{
    [ValidateSet('None', 'SystemAssigned', 'UserAssigned', 'SystemAssigned,UserAssigned')]
    [string] $type
    [ValidateSet('None', 'SystemAssigned', 'UserAssigned', 'SystemAssigned,UserAssigned')]
    [object] $userAssignedIdentities
}
function New-AzureNativeTypeVideoindexerManagedServiceIdentity
{
    param (
        [parameter(mandatory=$False,HelpMessage='Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).)')]
        [string]
        [ValidateSet('None', 'SystemAssigned', 'UserAssigned', 'SystemAssigned,UserAssigned')]
        $type,
        [parameter(mandatory=$False,HelpMessage='The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: ''/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests.)')]
        [object]
        $userAssignedIdentities
    )

    process
    {
        return $([ManagedServiceIdentity]$PSBoundParameters)
    }
}
function New-AzureNativeVideoindexerAccount
{
    [Alias('azure_native_videoindexer_account')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The media services details)')]
        [MediaServicesForPutRequest]
        $mediaServices,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='Managed service identity (system assigned and/or user assigned identities))')]
        [ManagedServiceIdentity]
        $identity,
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='The account''s data-plane ID)')]
        [string]
        $accountId,
        [parameter(mandatory=$False,HelpMessage='The name of the Azure Video Analyzer for Media account.)')]
        [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:videoindexer:Account")

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

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

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

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

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

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

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

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