pspulumiyaml.azurenative.managedservices.psm1

using module pspulumiyaml
function Invoke-AzureNativeFunctionManagedservicesGetRegistrationAssignment
{
    param (
        [parameter(mandatory=$False,HelpMessage='Scope of the resource.)')]
        [string]
        $scope,
        [parameter(mandatory=$False,HelpMessage='Guid of the registration assignment.)')]
        [string]
        $registrationAssignmentId,
        [parameter(mandatory=$False,HelpMessage='Tells whether to return registration definition details also along with registration assignment details.)')]
        [bool]
        $expandRegistrationDefinition
    )

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

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:managedservices:getRegistrationAssignment -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
function Invoke-AzureNativeFunctionManagedservicesGetRegistrationDefinition
{
    param (
        [parameter(mandatory=$False,HelpMessage='Guid of the registration definition.)')]
        [string]
        $registrationDefinitionId,
        [parameter(mandatory=$False,HelpMessage='Scope of the resource.)')]
        [string]
        $scope
    )

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

        $functionObject = Invoke-PulumiFunction -Name azure-native:managedservices:getRegistrationDefinition -variableName $([guid]::NewGuid().Guid) -Arguments $arguments
        return $functionObject
    }
}
class Authorization
{
    [string] $roleDefinitionId
    [string] $principalId
    [string] $principalIdDisplayName
    [string[]] $delegatedRoleDefinitionIds
}
function New-AzureNativeTypeManagedservicesAuthorization
{
    param (
        [parameter(mandatory=$False,HelpMessage='The role definition identifier. This role will define all the permissions that the security group/service principal/user must have on the projected subscription. This role cannot be an owner role.)')]
        [string]
        $roleDefinitionId,
        [parameter(mandatory=$False,HelpMessage='Principal Id of the security group/service principal/user that would be assigned permissions to the projected subscription)')]
        [string]
        $principalId,
        [parameter(mandatory=$False,HelpMessage='Display name of the principal Id.)')]
        [string]
        $principalIdDisplayName,
        [parameter(mandatory=$False,HelpMessage='The delegatedRoleDefinitionIds field is required when the roleDefinitionId refers to the User Access Administrator Role. It is the list of role definition ids which define all the permissions that the user in the authorization can assign to other security groups/service principals/users.)')]
        [string[]]
        $delegatedRoleDefinitionIds
    )

    process
    {
        return $([Authorization]$PSBoundParameters)
    }
}
class RegistrationDefinitionProperties
{
    [string] $managedByTenantId
    [string] $description
    [Authorization[]] $authorizations
    [string] $registrationDefinitionName
}
function New-AzureNativeTypeManagedservicesRegistrationDefinitionProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='Id of the managedBy tenant.)')]
        [string]
        $managedByTenantId,
        [parameter(mandatory=$False,HelpMessage='Description of the registration definition.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='Authorization tuple containing principal id of the user/security group or service principal and id of the build-in role.)')]
        $authorizations,
        [parameter(mandatory=$False,HelpMessage='Name of the registration definition.)')]
        [string]
        $registrationDefinitionName
    )

    process
    {
        return $([RegistrationDefinitionProperties]$PSBoundParameters)
    }
}
class Plan
{
    [string] $version
    [string] $publisher
    [string] $name
    [string] $product
}
function New-AzureNativeTypeManagedservicesPlan
{
    param (
        [parameter(mandatory=$False,HelpMessage='The plan''s version.)')]
        [string]
        $version,
        [parameter(mandatory=$False,HelpMessage='The publisher ID.)')]
        [string]
        $publisher,
        [parameter(mandatory=$False,HelpMessage='The plan name.)')]
        [string]
        $name,
        [parameter(mandatory=$False,HelpMessage='The product code.)')]
        [string]
        $product
    )

    process
    {
        return $([Plan]$PSBoundParameters)
    }
}
function New-AzureNativeManagedservicesRegistrationDefinition
{
    [Alias('azure_native_managedservices_registrationdefinition')]
    param (
        [parameter(mandatory=$False,HelpMessage='Properties of a registration definition.)')]
        [RegistrationDefinitionProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Scope of the resource.)')]
        [string]
        $scope,
        [parameter(mandatory=$False,HelpMessage='Plan details for the managed services.)')]
        [Plan]
        $plan,
        [parameter(mandatory=$False,HelpMessage='Guid of the registration definition.)')]
        [string]
        $registrationDefinitionId,
        [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:managedservices:RegistrationDefinition")

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

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

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

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

        $global:pulumiresources += $resource
        return $resource
    }
}
class RegistrationAssignmentProperties
{
    [string] $registrationDefinitionId
}
function New-AzureNativeTypeManagedservicesRegistrationAssignmentProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='Fully qualified path of the registration definition.)')]
        [string]
        $registrationDefinitionId
    )

    process
    {
        return $([RegistrationAssignmentProperties]$PSBoundParameters)
    }
}
function New-AzureNativeManagedservicesRegistrationAssignment
{
    [Alias('azure_native_managedservices_registrationassignment')]
    param (
        [parameter(mandatory=$False,HelpMessage='Properties of a registration assignment.)')]
        [RegistrationAssignmentProperties]
        $properties,
        [parameter(mandatory=$False,HelpMessage='Scope of the resource.)')]
        [string]
        $scope,
        [parameter(mandatory=$False,HelpMessage='Guid of the registration assignment.)')]
        [string]
        $registrationAssignmentId,
        [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:managedservices:RegistrationAssignment")

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

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

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

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