pspulumiyaml.azurenative.managedservices.psm1

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

    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 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
    )

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

        $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
    }
}
class Authorization
{
    [string[]] $delegatedRoleDefinitionIds
    [string] $principalIdDisplayName
    [string] $principalId
    [string] $roleDefinitionId
}
function New-AzureNativeTypeManagedservicesAuthorization
{
    param (
        [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,
        [parameter(mandatory=$False,HelpMessage='Display name of the principal Id.)')]
        [string]
        $principalIdDisplayName,
        [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='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
    )

    process
    {
        return $([Authorization]$PSBoundParameters)
    }
}
class RegistrationDefinitionProperties
{
    [string] $description
    [string] $managedByTenantId
    [string] $registrationDefinitionName
    [Authorization[]] $authorizations
}
function New-AzureNativeTypeManagedservicesRegistrationDefinitionProperties
{
    param (
        [parameter(mandatory=$False,HelpMessage='Description of the registration definition.)')]
        [string]
        $description,
        [parameter(mandatory=$False,HelpMessage='Id of the managedBy tenant.)')]
        [string]
        $managedByTenantId,
        [parameter(mandatory=$False,HelpMessage='Name of the registration definition.)')]
        [string]
        $registrationDefinitionName,
        [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
    )

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

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

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

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

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

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

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