pspulumiyaml.azurenative.servicefabricmesh.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionServicefabricmeshGetApplication
{
    param (
        [parameter(mandatory=$False,HelpMessage='Azure resource group name)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The identity of the application.)')]
        [string]
        $applicationResourceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:servicefabricmesh:getApplication -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionServicefabricmeshGetGateway
{
    param (
        [parameter(mandatory=$False,HelpMessage='Azure resource group name)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The identity of the gateway.)')]
        [string]
        $gatewayResourceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:servicefabricmesh:getGateway -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionServicefabricmeshListSecretValue
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the secret resource.)')]
        [string]
        $secretResourceName,
        [parameter(mandatory=$False,HelpMessage='The name of the secret resource value which is typically the version identifier for the value.)')]
        [string]
        $secretValueResourceName,
        [parameter(mandatory=$False,HelpMessage='Azure resource group name)')]
        [string]
        $resourceGroupName
    )

    process
    {
        $arguments = @{}
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["secretResourceName"] = $secretResourceName
        $arguments["secretValueResourceName"] = $secretValueResourceName

        $functionObject = Invoke-PulumiFunction -Name azure-native:servicefabricmesh:listSecretValue -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionServicefabricmeshGetNetwork
{
    param (
        [parameter(mandatory=$False,HelpMessage='Azure resource group name)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The identity of the network.)')]
        [string]
        $networkResourceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:servicefabricmesh:getNetwork -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionServicefabricmeshGetVolume
{
    param (
        [parameter(mandatory=$False,HelpMessage='Azure resource group name)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The identity of the volume.)')]
        [string]
        $volumeResourceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:servicefabricmesh:getVolume -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionServicefabricmeshGetSecretValue
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the secret resource.)')]
        [string]
        $secretResourceName,
        [parameter(mandatory=$False,HelpMessage='The name of the secret resource value which is typically the version identifier for the value.)')]
        [string]
        $secretValueResourceName,
        [parameter(mandatory=$False,HelpMessage='Azure resource group name)')]
        [string]
        $resourceGroupName
    )

    process
    {
        $arguments = @{}
        $arguments["resourceGroupName"] = $resourceGroupName
        $arguments["secretResourceName"] = $secretResourceName
        $arguments["secretValueResourceName"] = $secretValueResourceName

        $functionObject = Invoke-PulumiFunction -Name azure-native:servicefabricmesh:getSecretValue -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionServicefabricmeshGetSecret
{
    param (
        [parameter(mandatory=$False,HelpMessage='Azure resource group name)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the secret resource.)')]
        [string]
        $secretResourceName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:servicefabricmesh:getSecret -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
class AzureInternalMonitoringPipelineSinkDescription
{
    [string] $name
    [string] $kind
    [object] $fluentdConfigUrl
    [string] $accountName
    [string] $autoKeyConfigUrl
    [string] $namespace
    [string] $description
    [string] $maConfigUrl
}
function New-AzureNativeTypeServicefabricmeshAzureInternalMonitoringPipelineSinkDescription
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the sink. This value is referenced by DiagnosticsReferenceDescription)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='The kind of DiagnosticsSink.
Expected value is ''AzureInternalMonitoringPipeline''.)'
)]
        [string]
        $kind,
        [parameter(mandatory=$False,HelpMessage='Azure Internal monitoring agent fluentd configuration.)')]
        $fluentdConfigUrl,
        [parameter(mandatory=$False,HelpMessage='Azure Internal monitoring pipeline account.)')]
        [string]
        $accountName,
        [parameter(mandatory=$False,HelpMessage='Azure Internal monitoring pipeline autokey associated with the certificate.)')]
        [string]
        $autoKeyConfigUrl,
        [parameter(mandatory=$False,HelpMessage='Azure Internal monitoring pipeline account namespace.)')]
        [string]
        $namespace,
        [parameter(mandatory=$False,HelpMessage='A description of the sink.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='Azure Internal monitoring agent configuration.)')]
        [string]
        $maConfigUrl
    )

    process
    {
        return $([AzureInternalMonitoringPipelineSinkDescription]$PSBoundParameters)
    }
}
class DiagnosticsDescription
{
    [AzureInternalMonitoringPipelineSinkDescription[]] $sinks
    [string[]] $defaultSinkRefs
    [bool] $enabled
}
function New-AzureNativeTypeServicefabricmeshDiagnosticsDescription
{
    param (
        [parameter(mandatory=$False,HelpMessage='List of supported sinks that can be referenced.)')]
        $sinks,
        [parameter(mandatory=$False,HelpMessage='The sinks to be used if diagnostics is enabled. Sink choices can be overridden at the service and code package level.)')]
        [string[]]
        $defaultSinkRefs,
        [parameter(mandatory=$False,HelpMessage='Status of whether or not sinks are enabled.)')]
        [bool]
        $enabled
    )

    process
    {
        return $([DiagnosticsDescription]$PSBoundParameters)
    }
}
function New-AzureNativeServicefabricmeshApplication
{
    [Alias('azure_native_servicefabricmesh_application')]
    param (
        [parameter(mandatory=$False,HelpMessage='Describes the diagnostics definition and usage for an application resource.)')]
        [DiagnosticsDescription]
        $diagnostics,
        [parameter(mandatory=$False,HelpMessage='Azure resource group name)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='User readable description of the application.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='Internal - used by Visual Studio to setup the debugging session on the local development environment.)')]
        [string]
        $debugParams,
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='The identity of the application.)')]
        [string]
        $applicationResourceName,
        [parameter(mandatory=$False,HelpMessage='Describes the services in the application. This property is used to create or modify services of the application. On get only the name of the service is returned. The service description can be obtained by querying for the service resource.)')]
        $services,
        [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:servicefabricmesh:Application")

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

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

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeServicefabricmeshSecretValue
{
    [Alias('azure_native_servicefabricmesh_secretvalue')]
    param (
        [parameter(mandatory=$False,HelpMessage='The actual value of the secret.)')]
        [string]
        $value,
        [parameter(mandatory=$False,HelpMessage='The name of the secret resource.)')]
        [string]
        $secretResourceName,
        [parameter(mandatory=$False,HelpMessage='Azure resource group name)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='The name of the secret resource value which is typically the version identifier for the value.)')]
        [string]
        $secretValueResourceName,
        [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:servicefabricmesh:SecretValue")

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class EndpointRef
{
    [string] $name
}
function New-AzureNativeTypeServicefabricmeshEndpointRef
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the endpoint.)')]
        [string]
        $name
    )

    process
    {
        return $([EndpointRef]$PSBoundParameters)
    }
}
class NetworkRef
{
    [string] $name
    [EndpointRef[]] $endpointRefs
}
function New-AzureNativeTypeServicefabricmeshNetworkRef
{
    param (
        [parameter(mandatory=$False,HelpMessage='Name of the network)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='A list of endpoints that are exposed on this network.)')]
        $endpointRefs
    )

    process
    {
        return $([NetworkRef]$PSBoundParameters)
    }
}
function New-AzureNativeServicefabricmeshGateway
{
    [Alias('azure_native_servicefabricmesh_gateway')]
    param (
        [parameter(mandatory=$False,HelpMessage='Azure resource group name)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Network that the Application is using.)')]
        [NetworkRef]
        $destinationNetwork,
        [parameter(mandatory=$False,HelpMessage='Network the gateway should listen on for requests.)')]
        [NetworkRef]
        $sourceNetwork,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='Configuration for tcp connectivity for this gateway.)')]
        $tcp,
        [parameter(mandatory=$False,HelpMessage='The identity of the gateway.)')]
        [string]
        $gatewayResourceName,
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='User readable description of the gateway.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='Configuration for http connectivity for this gateway.)')]
        $http,
        [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:servicefabricmesh:Gateway")

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

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

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class SecretResourceProperties
{
    [string] $description
    [string] $contentType
    [string] $kind
}
function New-AzureNativeTypeServicefabricmeshSecretResourceProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='User readable description of the secret.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='The type of the content stored in the secret value. The value of this property is opaque to Service Fabric. Once set, the value of this property cannot be changed.)')]
        [string]
        $contentType,
        [parameter(mandatory=$False,HelpMessage='Describes the kind of secret.
Expected value is ''SecretResourceProperties''.)'
)]
        [string]
        $kind
    )

    process
    {
        return $([SecretResourceProperties]$PSBoundParameters)
    }
}
function New-AzureNativeServicefabricmeshSecret
{
    [Alias('azure_native_servicefabricmesh_secret')]
    param (
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='Describes the properties of a secret resource.)')]
        [SecretResourceProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='The name of the secret resource.)')]
        [string]
        $secretResourceName,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='Azure resource group name)')]
        [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:servicefabricmesh:Secret")

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class NetworkResourceProperties
{
    [string] $kind
    [string] $description
}
function New-AzureNativeTypeServicefabricmeshNetworkResourceProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='The type of a Service Fabric container network.
Expected value is ''NetworkResourceProperties''.)'
)]
        [string]
        $kind,
        [parameter(mandatory=$False,HelpMessage='User readable description of the network.)')]
        [string]
        $description
    )

    process
    {
        return $([NetworkResourceProperties]$PSBoundParameters)
    }
}
function New-AzureNativeServicefabricmeshNetwork
{
    [Alias('azure_native_servicefabricmesh_network')]
    param (
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='Describes properties of a network resource.)')]
        [NetworkResourceProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='The identity of the network.)')]
        [string]
        $networkResourceName,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='Azure resource group name)')]
        [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:servicefabricmesh:Network")

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class VolumeProviderParametersAzureFile
{
    [string] $accountKey
    [string] $shareName
    [string] $accountName
}
function New-AzureNativeTypeServicefabricmeshVolumeProviderParametersAzureFile
{
    param (
        [parameter(mandatory=$False,HelpMessage='Access key of the Azure storage account for the File Share.)')]
        [string]
        $accountKey,
        [parameter(mandatory=$False,HelpMessage='Name of the Azure Files file share that provides storage for the volume.)')]
        [string]
        $shareName,
        [parameter(mandatory=$False,HelpMessage='Name of the Azure storage account for the File Share.)')]
        [string]
        $accountName
    )

    process
    {
        return $([VolumeProviderParametersAzureFile]$PSBoundParameters)
    }
}
function New-AzureNativeServicefabricmeshVolume
{
    [Alias('azure_native_servicefabricmesh_volume')]
    param (
        [parameter(mandatory=$False,HelpMessage='User readable description of the volume.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='The identity of the volume.)')]
        [string]
        $volumeResourceName,
        [parameter(mandatory=$False,HelpMessage='This type describes a volume provided by an Azure Files file share.)')]
        [VolumeProviderParametersAzureFile]
        $azureFileParameters,
        [parameter(mandatory=$False,HelpMessage='Azure resource group name)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='Resource tags.)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='Provider of the volume.)')]
        [string]
        [ValidateSet('SFAzureFile')]
        $provider,
        [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:servicefabricmesh:Volume")

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

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

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

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

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

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

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