pspulumiyaml.azurenative.management.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionManagementGetManagementGroupSubscription
{
    param (
        [parameter(mandatory=$False,HelpMessage='Subscription ID.)')]
        [string]
        $subscriptionId,
        [parameter(mandatory=$False,HelpMessage='Management Group ID.)')]
        [string]
        $groupId
    )

    process
    {
        $arguments = @{}
        $arguments["groupId"] = $groupId

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:management:getManagementGroupSubscription -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionManagementGetHierarchySetting
{
    param (
        [parameter(mandatory=$False,HelpMessage='Management Group ID.)')]
        [string]
        $groupId
    )

    process
    {
        $arguments = @{}
        $arguments["groupId"] = $groupId

        $functionObject = Invoke-PulumiFunction -Name azure-native:management:getHierarchySetting -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionManagementGetEntity
{
    param (
        [parameter(mandatory=$False,HelpMessage='Number of entities to skip over when retrieving results. Passing this in will override $skipToken.)')]
        [int]
        $skip,
        [parameter(mandatory=$False,HelpMessage='This parameter specifies the fields to include in the response. Can include any combination of Name,DisplayName,Type,ParentDisplayNameChain,ParentChain, e.g. ''$select=Name,DisplayName,Type,ParentDisplayNameChain,ParentNameChain''. When specified the $select parameter can override select in $skipToken.)')]
        [string]
        $select,
        [parameter(mandatory=$False,HelpMessage='Number of elements to return when retrieving results. Passing this in will override $skipToken.)')]
        [int]
        $top,
        [parameter(mandatory=$False,HelpMessage='The $search parameter is used in conjunction with the $filter parameter to return three different outputs depending on the parameter passed in.
With $search=AllowedParents the API will return the entity info of all groups that the requested entity will be able to reparent to as determined by the user''s permissions.
With $search=AllowedChildren the API will return the entity info of all entities that can be added as children of the requested entity.
With $search=ParentAndFirstLevelChildren the API will return the parent and first level of children that the user has either direct access to or indirect access via one of their descendants.
With $search=ParentOnly the API will return only the group if the user has access to at least one of the descendants of the group.
With $search=ChildrenOnly the API will return only the first level of children of the group entity info specified in $filter. The user must have direct access to the children entities or one of it''s descendants for it to show up in the results.)'
)]
        [string]
        $search,
        [parameter(mandatory=$False,HelpMessage='Page continuation token is only used if a previous operation returned a partial result.
If a previous response contains a nextLink element, the value of the nextLink element will include a token parameter that specifies a starting point to use for subsequent calls.
)'
)]
        [string]
        $skiptoken,
        [parameter(mandatory=$False,HelpMessage='A filter which allows the get entities call to focus on a particular group (i.e. "$filter=name eq ''groupName''"))')]
        [string]
        $groupName,
        [parameter(mandatory=$False,HelpMessage='The view parameter allows clients to filter the type of data that is returned by the getEntities call.)')]
        [string]
        $view,
        [parameter(mandatory=$False,HelpMessage='The filter parameter allows you to filter on the the name or display name fields. You can check for equality on the name field (e.g. name eq ''{entityName}'') and you can check for substrings on either the name or display name fields(e.g. contains(name, ''{substringToSearch}''), contains(displayName, ''{substringToSearch'')). Note that the ''{entityName}'' and ''{substringToSearch}'' fields are checked case insensitively.)')]
        [string]
        $filter
    )

    process
    {
        $arguments = @{}

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

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

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

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

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

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

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

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:management:getEntity -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionManagementGetManagementGroup
{
    param (
        [parameter(mandatory=$False,HelpMessage='The $expand=children query string parameter allows clients to request inclusion of children in the response payload. $expand=path includes the path from the root group to the current group.)')]
        [string]
        $expand,
        [parameter(mandatory=$False,HelpMessage='Management Group ID.)')]
        [string]
        $groupId,
        [parameter(mandatory=$False,HelpMessage='The $recurse=true query string parameter allows clients to request inclusion of entire hierarchy in the response payload. Note that $expand=children must be passed up if $recurse is set to true.)')]
        [bool]
        $recurse,
        [parameter(mandatory=$False,HelpMessage='A filter which allows the exclusion of subscriptions from results (i.e. ''$filter=children.childType ne Subscription''))')]
        [string]
        $filter
    )

    process
    {
        $arguments = @{}
        $arguments["groupId"] = $groupId

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

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

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:management:getManagementGroup -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
class CreateParentGroupInfo
{
    [string] $id
}
function New-AzureNativeTypeManagementCreateParentGroupInfo
{
    param (
        [parameter(mandatory=$False,HelpMessage='The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000)')]
        [string]
        $id
    )

    process
    {
        return $([CreateParentGroupInfo]$PSBoundParameters)
    }
}
class CreateManagementGroupDetails
{
    [CreateParentGroupInfo] $parent
}
function New-AzureNativeTypeManagementCreateManagementGroupDetails
{
    param (
        [parameter(mandatory=$False,HelpMessage='(Optional) The ID of the parent management group used during creation.)')]
        [CreateParentGroupInfo]
        $parent
    )

    process
    {
        return $([CreateManagementGroupDetails]$PSBoundParameters)
    }
}
function New-AzureNativeManagementManagementGroup
{
    [Alias('azure_native_management_managementgroup')]
    param (
        [parameter(mandatory=$False,HelpMessage='The friendly name of the management group. If no value is passed then this field will be set to the groupId.)')]
        [string]
        $displayName,
        [parameter(mandatory=$False,HelpMessage='Management Group ID.)')]
        [string]
        $groupId,
        [parameter(mandatory=$False,HelpMessage='The name of the management group. For example, 00000000-0000-0000-0000-000000000000)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='The details of a management group used during creation.)')]
        [CreateManagementGroupDetails]
        $details,
        [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:management:ManagementGroup")


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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeManagementHierarchySetting
{
    [Alias('azure_native_management_hierarchysetting')]
    param (
        [parameter(mandatory=$False,HelpMessage='Management Group ID.)')]
        [string]
        $groupId,
        [parameter(mandatory=$False,HelpMessage='Settings that sets the default Management Group under which new subscriptions get added in this tenant. For example, /providers/Microsoft.Management/managementGroups/defaultGroup)')]
        [string]
        $defaultManagementGroup,
        [parameter(mandatory=$False,HelpMessage='Indicates whether RBAC access is required upon group creation under the root Management Group. If set to true, user will require Microsoft.Management/managementGroups/write action on the root Management Group scope in order to create new Groups directly under the root. This will prevent new users from creating new Management Groups, unless they are given access.)')]
        [bool]
        $requireAuthorizationForGroupCreation,
        [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:management:HierarchySetting")

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
function New-AzureNativeManagementManagementGroupSubscription
{
    [Alias('azure_native_management_managementgroupsubscription')]
    param (
        [parameter(mandatory=$False,HelpMessage='Subscription ID.)')]
        [string]
        $subscriptionId,
        [parameter(mandatory=$False,HelpMessage='Management Group ID.)')]
        [string]
        $groupId,
        [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:management:ManagementGroupSubscription")

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

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

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