pspulumiyaml.azurenative.hanaonazure.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionHanaonazureGetSapMonitor
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the SAP monitor resource.)')]
        [string]
        $sapMonitorName,
        [parameter(mandatory=$False,HelpMessage='Name of the resource group.)')]
        [string]
        $resourceGroupName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:hanaonazure:getSapMonitor -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionHanaonazureGetProviderInstance
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the provider instance.)')]
        [string]
        $providerInstanceName,
        [parameter(mandatory=$False,HelpMessage='Name of the resource group.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Name of the SAP monitor resource.)')]
        [string]
        $sapMonitorName
    )

    process
    {
        $arguments = @{}
        $arguments["providerInstanceName"] = $providerInstanceName
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["sapMonitorName"] = $sapMonitorName

        $functionObject = Invoke-PulumiFunction -Name azure-native:hanaonazure:getProviderInstance -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionHanaonazureGetHanaInstance
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the resource group.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Name of the SAP HANA on Azure instance.)')]
        [string]
        $hanaInstanceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:hanaonazure:getHanaInstance -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
class IpAddress
{
    [string] $ipAddress
}
function New-AzureNativeTypeHanaonazureIpAddress
{
    param (
        [parameter(mandatory=$False,HelpMessage='Specifies the IP address of the network interface.)')]
        [string]
        $ipAddress
    )

    process
    {
        return $([IpAddress]$PSBoundParameters)
    }
}
class NetworkProfile
{
    [IpAddress[]] $networkInterfaces
}
function New-AzureNativeTypeHanaonazureNetworkProfile
{
    param (
        [parameter(mandatory=$False,HelpMessage='Specifies the network interfaces for the HANA instance.)')]
        $networkInterfaces
    )

    process
    {
        return $([NetworkProfile]$PSBoundParameters)
    }
}
class OSProfile
{
    [string] $sshPublicKey
    [string] $computerName
}
function New-AzureNativeTypeHanaonazureOSProfile
{
    param (
        [parameter(mandatory=$False,HelpMessage='Specifies the SSH public key used to access the operating system.)')]
        [string]
        $sshPublicKey,
        [parameter(mandatory=$False,HelpMessage='Specifies the host OS name of the HANA instance.)')]
        [string]
        $computerName
    )

    process
    {
        return $([OSProfile]$PSBoundParameters)
    }
}
class SAPSystemID
{
    [string] $username
    [string] $uid
    [string] $gid
    [string] $sid
}
function New-AzureNativeTypeHanaonazureSAPSystemID
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the HANA database user.)')]
        [string]
        $username,
        [parameter(mandatory=$False,HelpMessage='User ID of the HANA database user.)')]
        [string]
        $uid,
        [parameter(mandatory=$False,HelpMessage='Group ID of the HANA database user.)')]
        [string]
        $gid,
        [parameter(mandatory=$False,HelpMessage='SAP system ID as database identifier.)')]
        [string]
        $sid
    )

    process
    {
        return $([SAPSystemID]$PSBoundParameters)
    }
}
class Disk
{
    [int] $diskSizeGB
    [string] $name
}
function New-AzureNativeTypeHanaonazureDisk
{
    param (
        [parameter(mandatory=$False,HelpMessage='Specifies the size of an empty data disk in gigabytes.)')]
        [int]
        $diskSizeGB,
        [parameter(mandatory=$False,HelpMessage='The disk name.)')]
        [string]
        $name
    )

    process
    {
        return $([Disk]$PSBoundParameters)
    }
}
class StorageProfile
{
    [SAPSystemID[]] $hanaSids
    [Disk[]] $osDisks
}
function New-AzureNativeTypeHanaonazureStorageProfile
{
    param (
        [parameter(mandatory=$False,HelpMessage='Specifies information related to SAP system IDs for the hana instance.)')]
        $hanaSids,
        [parameter(mandatory=$False,HelpMessage='Specifies information about the operating system disk used by the hana instance.)')]
        $osDisks
    )

    process
    {
        return $([StorageProfile]$PSBoundParameters)
    }
}
function New-AzureNativeHanaonazureHanaInstance
{
    [Alias('azure_native_hanaonazure_hanainstance')]
    param (
        [parameter(mandatory=$False,HelpMessage='Specifies the network settings for the HANA instance.)')]
        [NetworkProfile]
        $networkProfile,
        [parameter(mandatory=$False,HelpMessage='Name of the SAP HANA on Azure instance.)')]
        [string]
        $hanaInstanceName,
        [parameter(mandatory=$False,HelpMessage='Resource tags)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='Specifies the operating system settings for the HANA instance.)')]
        [OSProfile]
        $osProfile,
        [parameter(mandatory=$False,HelpMessage='Resource location)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='Name of the resource group.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='ARM ID of another HanaInstance that will share a network with this HanaInstance)')]
        [string]
        $partnerNodeId,
        [parameter(mandatory=$False,HelpMessage='Specifies the storage settings for the HANA instance disks.)')]
        [StorageProfile]
        $storageProfile,
        [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:hanaonazure:HanaInstance")

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

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

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeHanaonazureSapMonitor
{
    [Alias('azure_native_hanaonazure_sapmonitor')]
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the resource group.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The value indicating whether to send analytics to Microsoft)')]
        [bool]
        $enableCustomerAnalytics,
        [parameter(mandatory=$False,HelpMessage='The shared key of the log analytics workspace that is used for monitoring)')]
        [string]
        $logAnalyticsWorkspaceSharedKey,
        [parameter(mandatory=$False,HelpMessage='The ARM ID of the Log Analytics Workspace that is used for monitoring)')]
        [string]
        $logAnalyticsWorkspaceArmId,
        [parameter(mandatory=$False,HelpMessage='The subnet which the SAP monitor will be deployed in)')]
        [string]
        $monitorSubnet,
        [parameter(mandatory=$False,HelpMessage='Name of the SAP monitor resource.)')]
        [string]
        $sapMonitorName,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='The workspace ID of the log analytics workspace to be used for monitoring)')]
        [string]
        $logAnalyticsWorkspaceId,
        [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
    )

    process
    {
        $resource = [pulumiresource]::new($pulumiid, "azure-native:hanaonazure:SapMonitor")

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

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

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

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeHanaonazureProviderInstance
{
    [Alias('azure_native_hanaonazure_providerinstance')]
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the resource group.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Name of the provider instance.)')]
        [string]
        $providerInstanceName,
        [parameter(mandatory=$False,HelpMessage='The type of provider instance.)')]
        [string]
        $type,
        [parameter(mandatory=$False,HelpMessage='A JSON string containing metadata of the provider instance.)')]
        [string]
        $metadata,
        [parameter(mandatory=$False,HelpMessage='A JSON string containing the properties of the provider instance.)')]
        [string]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Name of the SAP monitor resource.)')]
        [string]
        $sapMonitorName,
        [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:hanaonazure:ProviderInstance")

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

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

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

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

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

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