pspulumiyaml.azurenative.digitaltwins.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionDigitaltwinsGetTimeSeriesDatabaseConnection
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the DigitalTwinsInstance.)')]
        [string]
        $resourceName,
        [parameter(mandatory=$False,HelpMessage='Name of time series database connection.)')]
        [string]
        $timeSeriesDatabaseConnectionName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the DigitalTwinsInstance.)')]
        [string]
        $resourceGroupName
    )

    process
    {
        $arguments = @{}
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["resourceName"] = $resourceName
        $arguments["timeSeriesDatabaseConnectionName"] = $timeSeriesDatabaseConnectionName

        $functionObject = Invoke-PulumiFunction -Name azure-native:digitaltwins:getTimeSeriesDatabaseConnection -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionDigitaltwinsGetDigitalTwinsEndpoint
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the DigitalTwinsInstance.)')]
        [string]
        $resourceName,
        [parameter(mandatory=$False,HelpMessage='Name of Endpoint Resource.)')]
        [string]
        $endpointName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the DigitalTwinsInstance.)')]
        [string]
        $resourceGroupName
    )

    process
    {
        $arguments = @{}
        $arguments["endpointName"] = $endpointName
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["resourceName"] = $resourceName

        $functionObject = Invoke-PulumiFunction -Name azure-native:digitaltwins:getDigitalTwinsEndpoint -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionDigitaltwinsGetPrivateEndpointConnection
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the DigitalTwinsInstance.)')]
        [string]
        $resourceName,
        [parameter(mandatory=$False,HelpMessage='The name of the private endpoint connection.)')]
        [string]
        $privateEndpointConnectionName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the DigitalTwinsInstance.)')]
        [string]
        $resourceGroupName
    )

    process
    {
        $arguments = @{}
        $arguments["privateEndpointConnectionName"] = $privateEndpointConnectionName
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["resourceName"] = $resourceName

        $functionObject = Invoke-PulumiFunction -Name azure-native:digitaltwins:getPrivateEndpointConnection -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionDigitaltwinsGetDigitalTwin
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the DigitalTwinsInstance.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the DigitalTwinsInstance.)')]
        [string]
        $resourceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:digitaltwins:getDigitalTwin -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
class ConnectionPropertiesPrivateLinkServiceConnectionState
{
    [string] $actionsRequired
    [string] $description
    [ArgumentCompletions('Pending', 'Approved', 'Rejected', 'Disconnected')]
    [string] $status
}
function New-AzureNativeTypeDigitaltwinsConnectionPropertiesPrivateLinkServiceConnectionState
{
    param (
        [parameter(mandatory=$False,HelpMessage='Actions required for a private endpoint connection.)')]
        [string]
        $actionsRequired,
        [parameter(mandatory=$False,HelpMessage='The description for the current state of a private endpoint connection.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='The status of a private endpoint connection.)')]
        [string]
        [ValidateSet('Pending', 'Approved', 'Rejected', 'Disconnected')]
        $status
    )

    process
    {
        return $([ConnectionPropertiesPrivateLinkServiceConnectionState]$PSBoundParameters)
    }
}
class PrivateEndpointConnectionProperties
{
    [string[]] $groupIds
    [ConnectionPropertiesPrivateLinkServiceConnectionState] $privateLinkServiceConnectionState
}
function New-AzureNativeTypeDigitaltwinsPrivateEndpointConnectionProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='The list of group ids for the private endpoint connection.)')]
        [string[]]
        $groupIds,
        [parameter(mandatory=$False,HelpMessage=')')]
        [ConnectionPropertiesPrivateLinkServiceConnectionState]
        $privateLinkServiceConnectionState
    )

    process
    {
        return $([PrivateEndpointConnectionProperties]$PSBoundParameters)
    }
}
function New-AzureNativeDigitaltwinsPrivateEndpointConnection
{
    [Alias('azure_native_digitaltwins_privateendpointconnection')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the DigitalTwinsInstance.)')]
        [string]
        $resourceName,
        [parameter(mandatory=$False,HelpMessage=')')]
        [PrivateEndpointConnectionProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='The name of the private endpoint connection.)')]
        [string]
        $privateEndpointConnectionName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the DigitalTwinsInstance.)')]
        [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:digitaltwins:PrivateEndpointConnection")

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class DigitalTwinsIdentity
{
    [ArgumentCompletions('None', 'SystemAssigned')]
    [string] $type
}
function New-AzureNativeTypeDigitaltwinsDigitalTwinsIdentity
{
    param (
        [parameter(mandatory=$False,HelpMessage='The type of Managed Identity used by the DigitalTwinsInstance. Only SystemAssigned is supported.)')]
        [string]
        [ValidateSet('None', 'SystemAssigned')]
        $type
    )

    process
    {
        return $([DigitalTwinsIdentity]$PSBoundParameters)
    }
}
function New-AzureNativeDigitaltwinsDigitalTwin
{
    [Alias('azure_native_digitaltwins_digitaltwin')]
    param (
        [parameter(mandatory=$False,HelpMessage='The resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='The managed identity for the DigitalTwinsInstance.)')]
        [DigitalTwinsIdentity]
        $identity,
        [parameter(mandatory=$False,HelpMessage='The name of the DigitalTwinsInstance.)')]
        [string]
        $resourceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the DigitalTwinsInstance.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Public network access for the DigitalTwinsInstance.)')]
        [string]
        [ValidateSet('Enabled', 'Disabled')]
        $publicNetworkAccess,
        [parameter(mandatory=$False,HelpMessage=')')]
        $privateEndpointConnections,
        [parameter(mandatory=$False,HelpMessage='The resource location.)')]
        [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:digitaltwins:DigitalTwin")

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

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class AzureDataExplorerConnectionProperties
{
    [string] $eventHubConsumerGroup
    [string] $adxDatabaseName
    [string] $eventHubEntityPath
    [string] $adxResourceId
    [string] $connectionType
    [string] $eventHubEndpointUri
    [string] $adxEndpointUri
    [string] $adxTableName
    [string] $eventHubNamespaceResourceId
}
function New-AzureNativeTypeDigitaltwinsAzureDataExplorerConnectionProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='The EventHub consumer group to use when ADX reads from EventHub. Defaults to $Default.)')]
        [string]
        $eventHubConsumerGroup,
        [parameter(mandatory=$False,HelpMessage='The name of the Azure Data Explorer database.)')]
        [string]
        $adxDatabaseName,
        [parameter(mandatory=$False,HelpMessage='The EventHub name in the EventHub namespace for identity-based authentication.)')]
        [string]
        $eventHubEntityPath,
        [parameter(mandatory=$False,HelpMessage='The resource ID of the Azure Data Explorer cluster.)')]
        [string]
        $adxResourceId,
        [parameter(mandatory=$False,HelpMessage='The type of time series connection resource.
Expected value is ''AzureDataExplorer''.)'
)]
        [string]
        $connectionType,
        [parameter(mandatory=$False,HelpMessage='The URL of the EventHub namespace for identity-based authentication. It must include the protocol sb://)')]
        [string]
        $eventHubEndpointUri,
        [parameter(mandatory=$False,HelpMessage='The URI of the Azure Data Explorer endpoint.)')]
        [string]
        $adxEndpointUri,
        [parameter(mandatory=$False,HelpMessage='The name of the Azure Data Explorer table.)')]
        [string]
        $adxTableName,
        [parameter(mandatory=$False,HelpMessage='The resource ID of the EventHub namespace.)')]
        [string]
        $eventHubNamespaceResourceId
    )

    process
    {
        return $([AzureDataExplorerConnectionProperties]$PSBoundParameters)
    }
}
function New-AzureNativeDigitaltwinsTimeSeriesDatabaseConnection
{
    [Alias('azure_native_digitaltwins_timeseriesdatabaseconnection')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the DigitalTwinsInstance.)')]
        [string]
        $resourceName,
        [parameter(mandatory=$False,HelpMessage='Properties of a specific time series database connection.)')]
        [AzureDataExplorerConnectionProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Name of time series database connection.)')]
        [string]
        $timeSeriesDatabaseConnectionName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the DigitalTwinsInstance.)')]
        [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:digitaltwins:TimeSeriesDatabaseConnection")

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class ServiceBus
{
    [string] $endpointUri
    [string] $entityPath
    [ArgumentCompletions('KeyBased', 'IdentityBased')]
    [string] $authenticationType
    [string] $primaryConnectionString
    [string] $deadLetterSecret
    [string] $secondaryConnectionString
    [string] $endpointType
    [string] $deadLetterUri
}
function New-AzureNativeTypeDigitaltwinsServiceBus
{
    param (
        [parameter(mandatory=$False,HelpMessage='The URL of the ServiceBus namespace for identity-based authentication. It must include the protocol sb://)')]
        [string]
        $endpointUri,
        [parameter(mandatory=$False,HelpMessage='The ServiceBus Topic name for identity-based authentication)')]
        [string]
        $entityPath,
        [parameter(mandatory=$False,HelpMessage='Specifies the authentication type being used for connecting to the endpoint.)')]
        [string]
        [ValidateSet('KeyBased', 'IdentityBased')]
        $authenticationType,
        [parameter(mandatory=$False,HelpMessage='PrimaryConnectionString of the endpoint for key-based authentication. Will be obfuscated during read.)')]
        [string]
        $primaryConnectionString,
        [parameter(mandatory=$False,HelpMessage='Dead letter storage secret for key-based authentication. Will be obfuscated during read.)')]
        [string]
        $deadLetterSecret,
        [parameter(mandatory=$False,HelpMessage='SecondaryConnectionString of the endpoint for key-based authentication. Will be obfuscated during read.)')]
        [string]
        $secondaryConnectionString,
        [parameter(mandatory=$False,HelpMessage='The type of Digital Twins endpoint
Expected value is ''ServiceBus''.)'
)]
        [string]
        $endpointType,
        [parameter(mandatory=$False,HelpMessage='Dead letter storage URL for identity-based authentication.)')]
        [string]
        $deadLetterUri
    )

    process
    {
        return $([ServiceBus]$PSBoundParameters)
    }
}
function New-AzureNativeDigitaltwinsDigitalTwinsEndpoint
{
    [Alias('azure_native_digitaltwins_digitaltwinsendpoint')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the DigitalTwinsInstance.)')]
        [string]
        $resourceName,
        [parameter(mandatory=$False,HelpMessage='DigitalTwinsInstance endpoint resource properties.)')]
        [ServiceBus]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Name of Endpoint Resource.)')]
        [string]
        $endpointName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the DigitalTwinsInstance.)')]
        [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:digitaltwins:DigitalTwinsEndpoint")

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

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

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