pspulumiyaml.azurenative.deviceupdate.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionDeviceupdateGetPrivateEndpointConnection
{
    param (
        [parameter(mandatory=$False,HelpMessage='The resource group name.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the private endpoint connection associated with the Azure resource)')]
        [string]
        $privateEndpointConnectionName,
        [parameter(mandatory=$False,HelpMessage='Account name.)')]
        [string]
        $accountName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:deviceupdate:getPrivateEndpointConnection -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionDeviceupdateGetPrivateEndpointConnectionProxy
{
    param (
        [parameter(mandatory=$False,HelpMessage='The resource group name.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The ID of the private endpoint connection proxy object.)')]
        [string]
        $privateEndpointConnectionProxyId,
        [parameter(mandatory=$False,HelpMessage='Account name.)')]
        [string]
        $accountName
    )

    process
    {
        $arguments = @{}
        $arguments["accountName"] = $accountName
        $arguments["privateEndpointConnectionProxyId"] = $privateEndpointConnectionProxyId
        $arguments["resourceGroupName"] = $resourceGroupName

        $functionObject = Invoke-PulumiFunction -Name azure-native:deviceupdate:getPrivateEndpointConnectionProxy -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionDeviceupdateGetAccount
{
    param (
        [parameter(mandatory=$False,HelpMessage='The resource group name.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Account name.)')]
        [string]
        $accountName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:deviceupdate:getAccount -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionDeviceupdateGetInstance
{
    param (
        [parameter(mandatory=$False,HelpMessage='Instance name.)')]
        [string]
        $instanceName,
        [parameter(mandatory=$False,HelpMessage='The resource group name.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Account name.)')]
        [string]
        $accountName
    )

    process
    {
        $arguments = @{}
        $arguments["accountName"] = $accountName
        $arguments["instanceName"] = $instanceName
        $arguments["resourceGroupName"] = $resourceGroupName

        $functionObject = Invoke-PulumiFunction -Name azure-native:deviceupdate:getInstance -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
class DiagnosticStorageProperties
{
    [ArgumentCompletions('KeyBased')]
    [string] $authenticationType
    [string] $connectionString
    [string] $resourceId
}
function New-AzureNativeTypeDeviceupdateDiagnosticStorageProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='Authentication Type)')]
        [string]
        [ValidateSet('KeyBased')]
        $authenticationType,
        [parameter(mandatory=$False,HelpMessage='ConnectionString of the diagnostic storage account)')]
        [string]
        $connectionString,
        [parameter(mandatory=$False,HelpMessage='ResourceId of the diagnostic storage account)')]
        [string]
        $resourceId
    )

    process
    {
        return $([DiagnosticStorageProperties]$PSBoundParameters)
    }
}
function New-AzureNativeDeviceupdateInstance
{
    [Alias('azure_native_deviceupdate_instance')]
    param (
        [parameter(mandatory=$False,HelpMessage='The resource group name.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='Account name.)')]
        [string]
        $accountName,
        [parameter(mandatory=$False,HelpMessage='Customer-initiated diagnostic log collection storage properties)')]
        [DiagnosticStorageProperties]
        $diagnosticStorageProperties,
        [parameter(mandatory=$False,HelpMessage='Instance name.)')]
        [string]
        $instanceName,
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='Enables or Disables the diagnostic logs collection)')]
        [bool]
        $enableDiagnostics,
        [parameter(mandatory=$False,HelpMessage='List of IoT Hubs associated with the account.)')]
        $iotHubs,
        [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:deviceupdate:Instance")

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

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class PrivateLinkServiceConnection
{
    [string[]] $groupIds
    [string] $requestMessage
    [string] $name
}
function New-AzureNativeTypeDeviceupdatePrivateLinkServiceConnection
{
    param (
        [parameter(mandatory=$False,HelpMessage='List of group IDs.)')]
        [string[]]
        $groupIds,
        [parameter(mandatory=$False,HelpMessage='Request message.)')]
        [string]
        $requestMessage,
        [parameter(mandatory=$False,HelpMessage='Private link service connection name.)')]
        [string]
        $name
    )

    process
    {
        return $([PrivateLinkServiceConnection]$PSBoundParameters)
    }
}
class GroupConnectivityInformation
{
    [string] $privateLinkServiceArmRegion
    [string] $redirectMapId
    [string[]] $customerVisibleFqdns
}
function New-AzureNativeTypeDeviceupdateGroupConnectivityInformation
{
    param (
        [parameter(mandatory=$False,HelpMessage='PrivateLinkService ARM region.)')]
        [string]
        $privateLinkServiceArmRegion,
        [parameter(mandatory=$False,HelpMessage='Redirect map ID.)')]
        [string]
        $redirectMapId,
        [parameter(mandatory=$False,HelpMessage='List of customer visible FQDNs.)')]
        [string[]]
        $customerVisibleFqdns
    )

    process
    {
        return $([GroupConnectivityInformation]$PSBoundParameters)
    }
}
class PrivateLinkServiceConnectionState
{
    [string] $actionsRequired
    [string] $description
    [ArgumentCompletions('Pending', 'Approved', 'Rejected')]
    [string] $status
}
function New-AzureNativeTypeDeviceupdatePrivateLinkServiceConnectionState
{
    param (
        [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='The reason for approval/rejection of the connection.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.)')]
        [string]
        [ValidateSet('Pending', 'Approved', 'Rejected')]
        $status
    )

    process
    {
        return $([PrivateLinkServiceConnectionState]$PSBoundParameters)
    }
}
class PrivateLinkServiceProxy
{
    [GroupConnectivityInformation[]] $groupConnectivityInformation
    [PrivateLinkServiceConnectionState] $remotePrivateLinkServiceConnectionState
    [string] $id
}
function New-AzureNativeTypeDeviceupdatePrivateLinkServiceProxy
{
    param (
        [parameter(mandatory=$False,HelpMessage='Group connectivity information.)')]
        $groupConnectivityInformation,
        [parameter(mandatory=$False,HelpMessage='Remote private link service connection state)')]
        [PrivateLinkServiceConnectionState]
        $remotePrivateLinkServiceConnectionState,
        [parameter(mandatory=$False,HelpMessage='NRP resource ID.)')]
        [string]
        $id
    )

    process
    {
        return $([PrivateLinkServiceProxy]$PSBoundParameters)
    }
}
class RemotePrivateEndpoint
{
    [string] $id
    [PrivateLinkServiceConnection[]] $privateLinkServiceConnections
    [string] $immutableSubscriptionId
    [string] $vnetTrafficTag
    [PrivateLinkServiceProxy[]] $privateLinkServiceProxies
    [string] $location
    [string] $immutableResourceId
    [PrivateLinkServiceConnection[]] $manualPrivateLinkServiceConnections
}
function New-AzureNativeTypeDeviceupdateRemotePrivateEndpoint
{
    param (
        [parameter(mandatory=$False,HelpMessage='Remote endpoint resource ID.)')]
        [string]
        $id,
        [parameter(mandatory=$False,HelpMessage='List of automatically approved private link service connections.)')]
        $privateLinkServiceConnections,
        [parameter(mandatory=$False,HelpMessage='Original subscription ID needed by Microsoft.Network.)')]
        [string]
        $immutableSubscriptionId,
        [parameter(mandatory=$False,HelpMessage='Virtual network traffic tag.)')]
        [string]
        $vnetTrafficTag,
        [parameter(mandatory=$False,HelpMessage='List of private link service proxies.)')]
        $privateLinkServiceProxies,
        [parameter(mandatory=$False,HelpMessage='ARM location of the remote private endpoint.)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='Original resource ID needed by Microsoft.Network.)')]
        [string]
        $immutableResourceId,
        [parameter(mandatory=$False,HelpMessage='List of private link service connections that need manual approval.)')]
        $manualPrivateLinkServiceConnections
    )

    process
    {
        return $([RemotePrivateEndpoint]$PSBoundParameters)
    }
}
function New-AzureNativeDeviceupdatePrivateEndpointConnectionProxy
{
    [Alias('azure_native_deviceupdate_privateendpointconnectionproxy')]
    param (
        [parameter(mandatory=$False,HelpMessage='Operation status.)')]
        [string]
        $status,
        [parameter(mandatory=$False,HelpMessage='The resource group name.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The ID of the private endpoint connection proxy object.)')]
        [string]
        $privateEndpointConnectionProxyId,
        [parameter(mandatory=$False,HelpMessage='Remote private endpoint details.)')]
        [RemotePrivateEndpoint]
        $remotePrivateEndpoint,
        [parameter(mandatory=$False,HelpMessage='Account name.)')]
        [string]
        $accountName,
        [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:deviceupdate:PrivateEndpointConnectionProxy")

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class ManagedServiceIdentity
{
    [ArgumentCompletions('None', 'SystemAssigned', 'UserAssigned', 'SystemAssigned,UserAssigned')]
    [string] $type
    [object] $userAssignedIdentities
}
function New-AzureNativeTypeDeviceupdateManagedServiceIdentity
{
    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-AzureNativeDeviceupdateAccount
{
    [Alias('azure_native_deviceupdate_account')]
    param (
        [parameter(mandatory=$False,HelpMessage='Account name.)')]
        [string]
        $accountName,
        [parameter(mandatory=$False,HelpMessage='The type of identity used for the resource.)')]
        [ManagedServiceIdentity]
        $identity,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='The resource group name.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Whether or not public network access is allowed for the account.)')]
        [string]
        [ValidateSet('Enabled', 'Disabled')]
        $publicNetworkAccess,
        [parameter(mandatory=$False,HelpMessage='List of private endpoint connections associated with the account.)')]
        $privateEndpointConnections,
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [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:deviceupdate:Account")

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

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

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

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

        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
    }
}
function New-AzureNativeDeviceupdatePrivateEndpointConnection
{
    [Alias('azure_native_deviceupdate_privateendpointconnection')]
    param (
        [parameter(mandatory=$False,HelpMessage='The resource group name.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='A collection of information about the state of the connection between service consumer and provider.)')]
        [PrivateLinkServiceConnectionState]
        $privateLinkServiceConnectionState,
        [parameter(mandatory=$False,HelpMessage='Array of group IDs.)')]
        [string[]]
        $groupIds,
        [parameter(mandatory=$False,HelpMessage='The name of the private endpoint connection associated with the Azure resource)')]
        [string]
        $privateEndpointConnectionName,
        [parameter(mandatory=$False,HelpMessage='Account name.)')]
        [string]
        $accountName,
        [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:deviceupdate:PrivateEndpointConnection")

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

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

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

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