pspulumiyaml.azurenative.signalrservice.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionSignalrserviceGetSignalRCustomDomain
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Custom domain name.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='The name of the resource.)')]
        [string]
        $resourceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:signalrservice:getSignalRCustomDomain -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSignalrserviceGetSignalR
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the SignalR resource.)')]
        [string]
        $resourceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:signalrservice:getSignalR -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSignalrserviceGetSignalRCustomCertificate
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource.)')]
        [string]
        $resourceName,
        [parameter(mandatory=$False,HelpMessage='Custom certificate name)')]
        [string]
        $certificateName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:signalrservice:getSignalRCustomCertificate -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSignalrserviceGetSignalRSharedPrivateLinkResource
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource.)')]
        [string]
        $resourceName,
        [parameter(mandatory=$False,HelpMessage='The name of the shared private link resource)')]
        [string]
        $sharedPrivateLinkResourceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:signalrservice:getSignalRSharedPrivateLinkResource -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSignalrserviceListSignalRKeys
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the SignalR resource.)')]
        [string]
        $resourceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:signalrservice:listSignalRKeys -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionSignalrserviceGetSignalRPrivateEndpointConnection
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the private endpoint connection associated with the SignalR resource.)')]
        [string]
        $privateEndpointConnectionName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the SignalR resource.)')]
        [string]
        $resourceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:signalrservice:getSignalRPrivateEndpointConnection -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function New-AzureNativeSignalrserviceSignalRCustomCertificate
{
    [Alias('azure_native_signalrservice_signalrcustomcertificate')]
    param (
        [parameter(mandatory=$False,HelpMessage='Certificate secret name.)')]
        [string]
        $keyVaultSecretName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource.)')]
        [string]
        $resourceName,
        [parameter(mandatory=$False,HelpMessage='Certificate secret version.)')]
        [string]
        $keyVaultSecretVersion,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Base uri of the KeyVault that stores certificate.)')]
        [string]
        $keyVaultBaseUri,
        [parameter(mandatory=$False,HelpMessage='Custom certificate name)')]
        [string]
        $certificateName,
        [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:signalrservice:SignalRCustomCertificate")

        $resource.properties["keyVaultBaseUri"] = $keyVaultBaseUri
        $resource.properties["keyVaultSecretName"] = $keyVaultSecretName
        $resource.properties["resourceGroupName"] = $resourceGroupName
        $resource.properties["resourceName"] = $resourceName

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class PrivateEndpointACL
{
    [string] $name
    [string[]] $allow
    [string[]] $deny
}
function New-AzureNativeTypeSignalrservicePrivateEndpointACL
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the private endpoint connection)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.)')]
        $allow,
        [parameter(mandatory=$False,HelpMessage='Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.)')]
        $deny
    )

    process
    {
        return $([PrivateEndpointACL]$PSBoundParameters)
    }
}
class NetworkACL
{
    [string[]] $deny
    [string[]] $allow
}
function New-AzureNativeTypeSignalrserviceNetworkACL
{
    param (
        [parameter(mandatory=$False,HelpMessage='Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.)')]
        $deny,
        [parameter(mandatory=$False,HelpMessage='Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.)')]
        $allow
    )

    process
    {
        return $([NetworkACL]$PSBoundParameters)
    }
}
class SignalRNetworkACLs
{
    [PrivateEndpointACL[]] $privateEndpoints
    [NetworkACL] $publicNetwork
    [ValidateSet('Allow', 'Deny')]
    [string] $defaultAction
}
function New-AzureNativeTypeSignalrserviceSignalRNetworkACLs
{
    param (
        [parameter(mandatory=$False,HelpMessage='ACLs for requests from private endpoints)')]
        $privateEndpoints,
        [parameter(mandatory=$False,HelpMessage='ACL for requests from public network)')]
        [NetworkACL]
        $publicNetwork,
        [parameter(mandatory=$False,HelpMessage='Default action when no other rule matches)')]
        [string]
        [ValidateSet('Allow', 'Deny')]
        $defaultAction
    )

    process
    {
        return $([SignalRNetworkACLs]$PSBoundParameters)
    }
}
class UpstreamTemplate
{
    [string] $hubPattern
    [string] $urlTemplate
    [string] $eventPattern
    [string] $categoryPattern
}
function New-AzureNativeTypeSignalrserviceUpstreamTemplate
{
    param (
        [parameter(mandatory=$False,HelpMessage='Gets or sets the matching pattern for hub names. If not set, it matches any hub.
There are 3 kind of patterns supported:
    1. "*", it to matches any hub name
    2. Combine multiple hubs with ",", for example "hub1,hub2", it matches "hub1" and "hub2"
    3. The single hub name, for example, "hub1", it matches "hub1")'
)]
        [string]
        $hubPattern,
        [parameter(mandatory=$False,HelpMessage='Gets or sets the Upstream URL template. You can use 3 predefined parameters {hub}, {category} {event} inside the template, the value of the Upstream URL is dynamically calculated when the client request comes in.
For example, if the urlTemplate is `http://example.com/{hub}/api/{event}`, with a client request from hub `chat` connects, it will first POST to this URL: `http://example.com/chat/api/connect`.)'
)]
        [string]
        $urlTemplate,
        [parameter(mandatory=$False,HelpMessage='Gets or sets the matching pattern for event names. If not set, it matches any event.
There are 3 kind of patterns supported:
    1. "*", it to matches any event name
    2. Combine multiple events with ",", for example "connect,disconnect", it matches event "connect" and "disconnect"
    3. The single event name, for example, "connect", it matches "connect")'
)]
        [string]
        $eventPattern,
        [parameter(mandatory=$False,HelpMessage='Gets or sets the matching pattern for category names. If not set, it matches any category.
There are 3 kind of patterns supported:
    1. "*", it to matches any category name
    2. Combine multiple categories with ",", for example "connections,messages", it matches category "connections" and "messages"
    3. The single category name, for example, "connections", it matches the category "connections")'
)]
        [string]
        $categoryPattern
    )

    process
    {
        return $([UpstreamTemplate]$PSBoundParameters)
    }
}
class ServerlessUpstreamSettings
{
    [UpstreamTemplate[]] $templates
}
function New-AzureNativeTypeSignalrserviceServerlessUpstreamSettings
{
    param (
        [parameter(mandatory=$False,HelpMessage='Gets or sets the list of Upstream URL templates. Order matters, and the first matching template takes effects.)')]
        $templates
    )

    process
    {
        return $([ServerlessUpstreamSettings]$PSBoundParameters)
    }
}
class ResourceSku
{
    [int] $capacity
    [string] $name
    [ValidateSet('Free', 'Basic', 'Standard', 'Premium')]
    [string] $tier
}
function New-AzureNativeTypeSignalrserviceResourceSku
{
    param (
        [parameter(mandatory=$False,HelpMessage='Optional, integer. The unit count of SignalR resource. 1 by default.

If present, following values are allowed:
    Free: 1
    Standard: 1,2,5,10,20,50,100)'
)]
        [int]
        $capacity,
        [parameter(mandatory=$False,HelpMessage='The name of the SKU. Required.

Allowed values: Standard_S1, Free_F1)'
)]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='Optional tier of this particular SKU. ''Standard'' or ''Free''.

`Basic` is deprecated, use `Standard` instead.)'
)]
        [string]
        [ValidateSet('Free', 'Basic', 'Standard', 'Premium')]
        $tier
    )

    process
    {
        return $([ResourceSku]$PSBoundParameters)
    }
}
class SignalRCorsSettings
{
    [string[]] $allowedOrigins
}
function New-AzureNativeTypeSignalrserviceSignalRCorsSettings
{
    param (
        [parameter(mandatory=$False,HelpMessage='Gets or sets the list of origins that should be allowed to make cross-origin calls (for example: http://example.com:12345). Use "*" to allow all. If omitted, allow all by default.)')]
        [string[]]
        $allowedOrigins
    )

    process
    {
        return $([SignalRCorsSettings]$PSBoundParameters)
    }
}
function New-AzureNativeSignalrserviceSignalR
{
    [Alias('azure_native_signalrservice_signalr')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Network ACLs)')]
        [SignalRNetworkACLs]
        $networkACLs,
        [parameter(mandatory=$False,HelpMessage='The name of the SignalR resource.)')]
        [string]
        $resourceName,
        [parameter(mandatory=$False,HelpMessage='Upstream settings when the Azure SignalR is in server-less mode.)')]
        [ServerlessUpstreamSettings]
        $upstream,
        [parameter(mandatory=$False,HelpMessage='The kind of the service - e.g. "SignalR", or "RawWebSockets" for "Microsoft.SignalRService/SignalR")')]
        [string]
        [ValidateSet('SignalR', 'RawWebSockets')]
        $kind,
        [parameter(mandatory=$False,HelpMessage='The billing information of the resource.(e.g. Free, Standard))')]
        [ResourceSku]
        $sku,
        [parameter(mandatory=$False,HelpMessage='Cross-Origin Resource Sharing (CORS) settings.)')]
        [SignalRCorsSettings]
        $cors,
        [parameter(mandatory=$False,HelpMessage='Tags of the service which is a list of key value pairs that describe the resource.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='List of SignalR featureFlags. e.g. ServiceMode.

FeatureFlags that are not included in the parameters for the update operation will not be modified.
And the response will only include featureFlags that are explicitly set.
When a featureFlag is not explicitly set, SignalR service will use its globally default value.
But keep in mind, the default value doesn''t mean "false". It varies in terms of different FeatureFlags.)'
)]
        $features,
        [parameter(mandatory=$False,HelpMessage='The GEO location of the SignalR service. e.g. West US | East US | North Central US | South Central US.)')]
        [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:signalrservice:SignalR")

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

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

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

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

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class PrivateEndpoint
{
    [string] $id
}
function New-AzureNativeTypeSignalrservicePrivateEndpoint
{
    param (
        [parameter(mandatory=$False,HelpMessage='Full qualified Id of the private endpoint)')]
        [string]
        $id
    )

    process
    {
        return $([PrivateEndpoint]$PSBoundParameters)
    }
}
class PrivateLinkServiceConnectionState
{
    [string] $description
    [string] $actionsRequired
    [ValidateSet('Pending', 'Approved', 'Rejected', 'Disconnected')]
    [string] $status
}
function New-AzureNativeTypeSignalrservicePrivateLinkServiceConnectionState
{
    param (
        [parameter(mandatory=$False,HelpMessage='The reason for approval/rejection of the connection.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='A message indicating if changes on the service provider require any updates on the consumer.)')]
        [string]
        $actionsRequired,
        [parameter(mandatory=$False,HelpMessage='Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.)')]
        [string]
        [ValidateSet('Pending', 'Approved', 'Rejected', 'Disconnected')]
        $status
    )

    process
    {
        return $([PrivateLinkServiceConnectionState]$PSBoundParameters)
    }
}
function New-AzureNativeSignalrserviceSignalRPrivateEndpointConnection
{
    [Alias('azure_native_signalrservice_signalrprivateendpointconnection')]
    param (
        [parameter(mandatory=$False,HelpMessage='Private endpoint associated with the private endpoint connection)')]
        [PrivateEndpoint]
        $privateEndpoint,
        [parameter(mandatory=$False,HelpMessage='The name of the private endpoint connection associated with the SignalR resource.)')]
        [string]
        $privateEndpointConnectionName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Connection state)')]
        [PrivateLinkServiceConnectionState]
        $privateLinkServiceConnectionState,
        [parameter(mandatory=$False,HelpMessage='The name of the SignalR resource.)')]
        [string]
        $resourceName,
        [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:signalrservice:SignalRPrivateEndpointConnection")

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeSignalrserviceSignalRSharedPrivateLinkResource
{
    [Alias('azure_native_signalrservice_signalrsharedprivatelinkresource')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource.)')]
        [string]
        $resourceName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The group id from the provider of resource the shared private link resource is for)')]
        [string]
        $groupId,
        [parameter(mandatory=$False,HelpMessage='The request message for requesting approval of the shared private link resource)')]
        [string]
        $requestMessage,
        [parameter(mandatory=$False,HelpMessage='The name of the shared private link resource)')]
        [string]
        $sharedPrivateLinkResourceName,
        [parameter(mandatory=$False,HelpMessage='The resource id of the resource the shared private link resource is for)')]
        [string]
        $privateLinkResourceId,
        [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:signalrservice:SignalRSharedPrivateLinkResource")

        $resource.properties["groupId"] = $groupId
        $resource.properties["privateLinkResourceId"] = $privateLinkResourceId
        $resource.properties["resourceGroupName"] = $resourceGroupName
        $resource.properties["resourceName"] = $resourceName

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class ResourceReference
{
    [string] $id
}
function New-AzureNativeTypeSignalrserviceResourceReference
{
    param (
        [parameter(mandatory=$False,HelpMessage='Resource ID.)')]
        [string]
        $id
    )

    process
    {
        return $([ResourceReference]$PSBoundParameters)
    }
}
function New-AzureNativeSignalrserviceSignalRCustomDomain
{
    [Alias('azure_native_signalrservice_signalrcustomdomain')]
    param (
        [parameter(mandatory=$False,HelpMessage='Reference to a resource.)')]
        [ResourceReference]
        $customCertificate,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Custom domain name.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='The custom domain name.)')]
        [string]
        $domainName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource.)')]
        [string]
        $resourceName,
        [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:signalrservice:SignalRCustomDomain")

        $resource.properties["customCertificate"] = $customCertificate
        $resource.properties["domainName"] = $domainName
        $resource.properties["resourceGroupName"] = $resourceGroupName
        $resource.properties["resourceName"] = $resourceName

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

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