pspulumiyaml.azurenative.storagesync.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionStoragesyncGetServerEndpoint
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of Server Endpoint object.)')]
        [string]
        $serverEndpointName,
        [parameter(mandatory=$False,HelpMessage='Name of Storage Sync Service resource.)')]
        [string]
        $storageSyncServiceName,
        [parameter(mandatory=$False,HelpMessage='Name of Sync Group resource.)')]
        [string]
        $syncGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

    process
    {
        $arguments = @{}
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["serverEndpointName"] = $serverEndpointName
        $arguments["storageSyncServiceName"] = $storageSyncServiceName
        $arguments["syncGroupName"] = $syncGroupName

        $functionObject = Invoke-PulumiFunction -Name azure-native:storagesync:getServerEndpoint -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionStoragesyncGetCloudEndpoint
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of Storage Sync Service resource.)')]
        [string]
        $storageSyncServiceName,
        [parameter(mandatory=$False,HelpMessage='Name of Cloud Endpoint object.)')]
        [string]
        $cloudEndpointName,
        [parameter(mandatory=$False,HelpMessage='Name of Sync Group resource.)')]
        [string]
        $syncGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

    process
    {
        $arguments = @{}
        $arguments["cloudEndpointName"] = $cloudEndpointName
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["storageSyncServiceName"] = $storageSyncServiceName
        $arguments["syncGroupName"] = $syncGroupName

        $functionObject = Invoke-PulumiFunction -Name azure-native:storagesync:getCloudEndpoint -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionStoragesyncGetPrivateEndpointConnection
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the storage sync service name within the specified resource group.)')]
        [string]
        $storageSyncServiceName,
        [parameter(mandatory=$False,HelpMessage='The name of the private endpoint connection associated with the Azure resource)')]
        [string]
        $privateEndpointConnectionName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:storagesync:getPrivateEndpointConnection -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionStoragesyncGetStorageSyncService
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Name of Storage Sync Service resource.)')]
        [string]
        $storageSyncServiceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:storagesync:getStorageSyncService -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionStoragesyncGetSyncGroup
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of Storage Sync Service resource.)')]
        [string]
        $storageSyncServiceName,
        [parameter(mandatory=$False,HelpMessage='Name of Sync Group resource.)')]
        [string]
        $syncGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

    process
    {
        $arguments = @{}
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["storageSyncServiceName"] = $storageSyncServiceName
        $arguments["syncGroupName"] = $syncGroupName

        $functionObject = Invoke-PulumiFunction -Name azure-native:storagesync:getSyncGroup -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionStoragesyncGetRegisteredServer
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of Storage Sync Service resource.)')]
        [string]
        $storageSyncServiceName,
        [parameter(mandatory=$False,HelpMessage='GUID identifying the on-premises server.)')]
        [string]
        $serverId,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName
    )

    process
    {
        $arguments = @{}
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["serverId"] = $serverId
        $arguments["storageSyncServiceName"] = $storageSyncServiceName

        $functionObject = Invoke-PulumiFunction -Name azure-native:storagesync:getRegisteredServer -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function New-AzureNativeStoragesyncStorageSyncService
{
    [Alias('azure_native_storagesync_storagesyncservice')]
    param (
        [parameter(mandatory=$False,HelpMessage='Incoming Traffic Policy)')]
        [string]
        [ValidateSet('AllowAllTraffic', 'AllowVirtualNetworksOnly')]
        $incomingTrafficPolicy,
        [parameter(mandatory=$False,HelpMessage='Name of Storage Sync Service resource.)')]
        [string]
        $storageSyncServiceName,
        [parameter(mandatory=$False,HelpMessage='Required. Gets or sets the location of the resource. This will be one of the supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.). The geo region of a resource cannot be changed once it is created, but if an identical geo region is specified on update, the request will succeed.)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='Gets or sets a list of key value pairs that describe the resource. These tags can be used for viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key with a length no greater than 128 characters and a value with a length no greater than 256 characters.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [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:storagesync:StorageSyncService")

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeStoragesyncCloudEndpoint
{
    [Alias('azure_native_storagesync_cloudendpoint')]
    param (
        [parameter(mandatory=$False,HelpMessage='Name of Cloud Endpoint object.)')]
        [string]
        $cloudEndpointName,
        [parameter(mandatory=$False,HelpMessage='Friendly Name)')]
        [string]
        $friendlyName,
        [parameter(mandatory=$False,HelpMessage='Storage Account Resource Id)')]
        [string]
        $storageAccountResourceId,
        [parameter(mandatory=$False,HelpMessage='Azure file share name)')]
        [string]
        $azureFileShareName,
        [parameter(mandatory=$False,HelpMessage='Name of Storage Sync Service resource.)')]
        [string]
        $storageSyncServiceName,
        [parameter(mandatory=$False,HelpMessage='Name of Sync Group resource.)')]
        [string]
        $syncGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Storage Account Tenant Id)')]
        [string]
        $storageAccountTenantId,
        [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:storagesync:CloudEndpoint")

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeStoragesyncSyncGroup
{
    [Alias('azure_native_storagesync_syncgroup')]
    param (
        [parameter(mandatory=$False,HelpMessage='Name of Storage Sync Service resource.)')]
        [string]
        $storageSyncServiceName,
        [parameter(mandatory=$False,HelpMessage='Name of Sync Group resource.)')]
        [string]
        $syncGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [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:storagesync:SyncGroup")

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeStoragesyncRegisteredServer
{
    [Alias('azure_native_storagesync_registeredserver')]
    param (
        [parameter(mandatory=$False,HelpMessage='Registered Server last heart beat)')]
        [string]
        $lastHeartBeat,
        [parameter(mandatory=$False,HelpMessage='Registered Server serverId)')]
        [string]
        $serverId,
        [parameter(mandatory=$False,HelpMessage='Registered Server OS Version)')]
        [string]
        $serverOSVersion,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Friendly Name)')]
        [string]
        $friendlyName,
        [parameter(mandatory=$False,HelpMessage='Registered Server serverRole)')]
        [string]
        $serverRole,
        [parameter(mandatory=$False,HelpMessage='Registered Server Certificate)')]
        [string]
        $serverCertificate,
        [parameter(mandatory=$False,HelpMessage='Registered Server Agent Version)')]
        [string]
        $agentVersion,
        [parameter(mandatory=$False,HelpMessage='Name of Storage Sync Service resource.)')]
        [string]
        $storageSyncServiceName,
        [parameter(mandatory=$False,HelpMessage='Registered Server clusterId)')]
        [string]
        $clusterId,
        [parameter(mandatory=$False,HelpMessage='Registered Server clusterName)')]
        [string]
        $clusterName,
        [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:storagesync:RegisteredServer")

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

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

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

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

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeStoragesyncServerEndpoint
{
    [Alias('azure_native_storagesync_serverendpoint')]
    param (
        [parameter(mandatory=$False,HelpMessage='Name of Sync Group resource.)')]
        [string]
        $syncGroupName,
        [parameter(mandatory=$False,HelpMessage='Policy for how namespace and files are recalled during FastDr.)')]
        [string]
        [ValidateSet('NamespaceOnly', 'NamespaceThenModifiedFiles', 'AvoidTieredFiles')]
        $initialDownloadPolicy,
        [parameter(mandatory=$False,HelpMessage='Server Resource Id.)')]
        [string]
        $serverResourceId,
        [parameter(mandatory=$False,HelpMessage='Friendly Name)')]
        [string]
        $friendlyName,
        [parameter(mandatory=$False,HelpMessage='Offline data transfer)')]
        [string]
        [ValidateSet('on', 'off')]
        $offlineDataTransfer,
        [parameter(mandatory=$False,HelpMessage='Name of Server Endpoint object.)')]
        [string]
        $serverEndpointName,
        [parameter(mandatory=$False,HelpMessage='Cloud Tiering.)')]
        [string]
        [ValidateSet('on', 'off')]
        $cloudTiering,
        [parameter(mandatory=$False,HelpMessage='Policy for enabling follow-the-sun business models: link local cache to cloud behavior to pre-populate before local access.)')]
        [string]
        [ValidateSet('DownloadNewAndModifiedFiles', 'UpdateLocallyCachedFiles')]
        $localCacheMode,
        [parameter(mandatory=$False,HelpMessage='Name of Storage Sync Service resource.)')]
        [string]
        $storageSyncServiceName,
        [parameter(mandatory=$False,HelpMessage='Server Local path.)')]
        [string]
        $serverLocalPath,
        [parameter(mandatory=$False,HelpMessage='Offline data transfer share name)')]
        [string]
        $offlineDataTransferShareName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Tier files older than days.)')]
        [int]
        $tierFilesOlderThanDays,
        [parameter(mandatory=$False,HelpMessage='Level of free space to be maintained by Cloud Tiering if it is enabled.)')]
        [int]
        $volumeFreeSpacePercent,
        [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:storagesync:ServerEndpoint")

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

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

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

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

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

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

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class PrivateLinkServiceConnectionState
{
    [string] $actionsRequired
    [string] $description
    [ArgumentCompletions('Pending', 'Approved', 'Rejected')]
    [string] $status
}
function New-AzureNativeTypeStoragesyncPrivateLinkServiceConnectionState
{
    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)
    }
}
function New-AzureNativeStoragesyncPrivateEndpointConnection
{
    [Alias('azure_native_storagesync_privateendpointconnection')]
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the storage sync service name within the specified resource group.)')]
        [string]
        $storageSyncServiceName,
        [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='The name of the private endpoint connection associated with the Azure resource)')]
        [string]
        $privateEndpointConnectionName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group. The name is case insensitive.)')]
        [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:storagesync:PrivateEndpointConnection")

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

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

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