pspulumiyaml.azurenative.managednetwork.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionManagednetworkGetManagedNetwork
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the Managed Network.)')]
        [string]
        $managedNetworkName
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:managednetwork:getManagedNetwork -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionManagednetworkGetManagedNetworkGroup
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The name of the Managed Network.)')]
        [string]
        $managedNetworkName,
        [parameter(mandatory=$False,HelpMessage='The name of the Managed Network Group.)')]
        [string]
        $managedNetworkGroupName
    )

    process
    {
        $arguments = @{}
        $arguments["managedNetworkGroupName"] = $managedNetworkGroupName
        $arguments["managedNetworkName"] = $managedNetworkName
        $arguments["resourceGroupName"] = $resourceGroupName

        $functionObject = Invoke-PulumiFunction -Name azure-native:managednetwork:getManagedNetworkGroup -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionManagednetworkGetManagedNetworkPeeringPolicy
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the Managed Network Peering Policy.)')]
        [string]
        $managedNetworkPeeringPolicyName,
        [parameter(mandatory=$False,HelpMessage='The name of the Managed Network.)')]
        [string]
        $managedNetworkName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')]
        [string]
        $resourceGroupName
    )

    process
    {
        $arguments = @{}
        $arguments["managedNetworkName"] = $managedNetworkName
        $arguments["managedNetworkPeeringPolicyName"] = $managedNetworkPeeringPolicyName
        $arguments["resourceGroupName"] = $resourceGroupName

        $functionObject = Invoke-PulumiFunction -Name azure-native:managednetwork:getManagedNetworkPeeringPolicy -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionManagednetworkGetScopeAssignment
{
    param (
        [parameter(mandatory=$False,HelpMessage='The name of the scope assignment to get.)')]
        [string]
        $scopeAssignmentName,
        [parameter(mandatory=$False,HelpMessage='The base resource of the scope assignment.)')]
        [string]
        $scope
    )

    process
    {
        $arguments = @{}
        $arguments["scope"] = $scope
        $arguments["scopeAssignmentName"] = $scopeAssignmentName

        $functionObject = Invoke-PulumiFunction -Name azure-native:managednetwork:getScopeAssignment -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
class ResourceId
{
    [string] $id
}
function New-AzureNativeTypeManagednetworkResourceId
{
    param (
        [parameter(mandatory=$False,HelpMessage='Resource Id)')]
        [string]
        $id
    )

    process
    {
        return $([ResourceId]$PSBoundParameters)
    }
}
class Scope
{
    [ResourceId[]] $virtualNetworks
    [ResourceId[]] $subnets
    [ResourceId[]] $subscriptions
    [ResourceId[]] $managementGroups
}
function New-AzureNativeTypeManagednetworkScope
{
    param (
        [parameter(mandatory=$False,HelpMessage='The collection of virtual nets covered by the Managed Network)')]
        $virtualNetworks,
        [parameter(mandatory=$False,HelpMessage='The collection of subnets covered by the Managed Network)')]
        $subnets,
        [parameter(mandatory=$False,HelpMessage='The collection of subscriptions covered by the Managed Network)')]
        $subscriptions,
        [parameter(mandatory=$False,HelpMessage='The collection of management groups covered by the Managed Network)')]
        $managementGroups
    )

    process
    {
        return $([Scope]$PSBoundParameters)
    }
}
function New-AzureNativeManagednetworkManagedNetwork
{
    [Alias('azure_native_managednetwork_managednetwork')]
    param (
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='Resource tags)')]
        [hashtable]
        $tags,
        [parameter(mandatory=$False,HelpMessage='The collection of management groups, subscriptions, virtual networks, and subnets by the Managed Network. This is a read-only property that is reflective of all ScopeAssignments for this Managed Network)')]
        [Scope]
        $scope,
        [parameter(mandatory=$False,HelpMessage='The name of the Managed Network.)')]
        [string]
        $managedNetworkName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')]
        [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:managednetwork:ManagedNetwork")

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

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class ManagedNetworkPeeringPolicyProperties
{
    [ArgumentCompletions('HubAndSpokeTopology', 'MeshTopology')]
    [string] $type
    [ResourceId] $hub
    [ResourceId[]] $mesh
    [ResourceId[]] $spokes
}
function New-AzureNativeTypeManagednetworkManagedNetworkPeeringPolicyProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='Gets or sets the connectivity type of a network structure policy)')]
        [string]
        [ValidateSet('HubAndSpokeTopology', 'MeshTopology')]
        $type,
        [parameter(mandatory=$False,HelpMessage='Gets or sets the hub virtual network ID)')]
        [ResourceId]
        $hub,
        [parameter(mandatory=$False,HelpMessage='Gets or sets the mesh group IDs)')]
        $mesh,
        [parameter(mandatory=$False,HelpMessage='Gets or sets the spokes group IDs)')]
        $spokes
    )

    process
    {
        return $([ManagedNetworkPeeringPolicyProperties]$PSBoundParameters)
    }
}
function New-AzureNativeManagednetworkManagedNetworkPeeringPolicy
{
    [Alias('azure_native_managednetwork_managednetworkpeeringpolicy')]
    param (
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='The name of the Managed Network Peering Policy.)')]
        [string]
        $managedNetworkPeeringPolicyName,
        [parameter(mandatory=$False,HelpMessage='Gets or sets the properties of a Managed Network Policy)')]
        [ManagedNetworkPeeringPolicyProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='The name of the Managed Network.)')]
        [string]
        $managedNetworkName,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')]
        [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:managednetwork:ManagedNetworkPeeringPolicy")

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeManagednetworkScopeAssignment
{
    [Alias('azure_native_managednetwork_scopeassignment')]
    param (
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='The base resource of the scope assignment to create. The scope can be any REST resource instance. For example, use ''subscriptions/{subscription-id}'' for a subscription, ''subscriptions/{subscription-id}/resourceGroups/{resource-group-name}'' for a resource group, and ''subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}'' for a resource.)')]
        [string]
        $scope,
        [parameter(mandatory=$False,HelpMessage='The managed network ID with scope will be assigned to.)')]
        [string]
        $assignedManagedNetwork,
        [parameter(mandatory=$False,HelpMessage='The name of the scope assignment to create.)')]
        [string]
        $scopeAssignmentName,
        [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:managednetwork:ScopeAssignment")

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeManagednetworkManagedNetworkGroup
{
    [Alias('azure_native_managednetwork_managednetworkgroup')]
    param (
        [parameter(mandatory=$False,HelpMessage='The collection of subscriptions covered by the Managed Network)')]
        $subscriptions,
        [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')]
        [string]
        $resourceGroupName,
        [parameter(mandatory=$False,HelpMessage='The collection of subnets covered by the Managed Network)')]
        $subnets,
        [parameter(mandatory=$False,HelpMessage='The name of the Managed Network Group.)')]
        [string]
        $managedNetworkGroupName,
        [parameter(mandatory=$False,HelpMessage='The collection of management groups covered by the Managed Network)')]
        $managementGroups,
        [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')]
        [string]
        $location,
        [parameter(mandatory=$False,HelpMessage='The collection of virtual nets covered by the Managed Network)')]
        $virtualNetworks,
        [parameter(mandatory=$False,HelpMessage='The name of the Managed Network.)')]
        [string]
        $managedNetworkName,
        [parameter(mandatory=$False,HelpMessage='Responsibility role under which this Managed Network Group will be created)')]
        [string]
        [ValidateSet('Connectivity')]
        $kind,
        [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:managednetwork:ManagedNetworkGroup")

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

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

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

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

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

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

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

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

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