Model/ChangeSiteValidationParameter.ps1

#
# Cloud Governance Api
# Contact: support@avepoint.com
#

<#
ChangeSiteValidationParameter<PSCustomObject>
#>


function New-ChangeSiteValidationParameter {
    [CmdletBinding()]
    Param (
        [Parameter(ValueFromPipelineByPropertyName = $true)]
        [String]
        ${SiteUrl},
        [Parameter(ValueFromPipelineByPropertyName = $true)]
        [String]
        ${Office365TenantId},
        [Parameter(ValueFromPipelineByPropertyName = $true)]
        [String]
        ${ScopeActivityId},
        [Parameter(ValueFromPipelineByPropertyName = $true)]
        [String]
        ${ClassificationActivityId},
        [Parameter(ValueFromPipelineByPropertyName = $true)]
        [String]
        ${SensitivityLabelActivityId},
        [Parameter(ValueFromPipelineByPropertyName = $true)]
        [String]
        ${StorageActivityId},
        [Parameter(ValueFromPipelineByPropertyName = $true)]
        [String]
        ${TitleActivityId},
        [Parameter(ValueFromPipelineByPropertyName = $true)]
        [String]
        ${HubSiteActivityId},
        [Parameter(ValueFromPipelineByPropertyName = $true)]
        [String]
        ${SharingActivityId},
        [Parameter(ValueFromPipelineByPropertyName = $true)]
        [String]
        ${DescriptionActivityId},
        [Parameter(ValueFromPipelineByPropertyName = $true)]
        [String]
        ${LocaleActivityId},
        [Parameter(ValueFromPipelineByPropertyName = $true)]
        [String]
        ${TimeZoneActivityId}
    )

    Process {
        'Creating PSCustomObject: Cloud.Governance.Client => ChangeSiteValidationParameter' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        
        $PSO = [PSCustomObject]@{
            "SiteUrl" = ${SiteUrl}
            "Office365TenantId" = ${Office365TenantId}
            "ScopeActivityId" = ${ScopeActivityId}
            "ClassificationActivityId" = ${ClassificationActivityId}
            "SensitivityLabelActivityId" = ${SensitivityLabelActivityId}
            "StorageActivityId" = ${StorageActivityId}
            "TitleActivityId" = ${TitleActivityId}
            "HubSiteActivityId" = ${HubSiteActivityId}
            "SharingActivityId" = ${SharingActivityId}
            "DescriptionActivityId" = ${DescriptionActivityId}
            "LocaleActivityId" = ${LocaleActivityId}
            "TimeZoneActivityId" = ${TimeZoneActivityId}
        }

        return $PSO
    }
}

<#
ChangeSiteValidationParameter<PSCustomObject>
#>

function ConvertFrom-JsonToChangeSiteValidationParameter {
    Param(
        [AllowEmptyString()]
        [string]$Json
    )

    Process {
        'Converting JSON to PSCustomObject: Cloud.Governance.Client => ChangeSiteValidationParameter' | Write-Debug
        $PSBoundParameters | Out-DebugParameter | Write-Debug

        $JsonParameters = ConvertFrom-Json -InputObject $Json

        # check if Json contains properties not defined in ChangeSiteValidationParameter
        $AllProperties = $("SiteUrl", "Office365TenantId", "ScopeActivityId", "ClassificationActivityId", "SensitivityLabelActivityId", "StorageActivityId", "TitleActivityId", "HubSiteActivityId", "SharingActivityId", "DescriptionActivityId", "LocaleActivityId", "TimeZoneActivityId")
        foreach ($name in $JsonParameters.PsObject.Properties.Name) {
            if (!($AllProperties.Contains($name))) {
                throw "Error! JSON key '$name' not found in the properties: $($AllProperties)"
            }
        }

        if (!([bool]($JsonParameters.PSobject.Properties.name -match "SiteUrl"))) { #optional property not found
            $SiteUrl = $null
        } else {
            $SiteUrl = $JsonParameters.PSobject.Properties["SiteUrl"].value
        }

        if (!([bool]($JsonParameters.PSobject.Properties.name -match "Office365TenantId"))) { #optional property not found
            $Office365TenantId = $null
        } else {
            $Office365TenantId = $JsonParameters.PSobject.Properties["Office365TenantId"].value
        }

        if (!([bool]($JsonParameters.PSobject.Properties.name -match "ScopeActivityId"))) { #optional property not found
            $ScopeActivityId = $null
        } else {
            $ScopeActivityId = $JsonParameters.PSobject.Properties["ScopeActivityId"].value
        }

        if (!([bool]($JsonParameters.PSobject.Properties.name -match "ClassificationActivityId"))) { #optional property not found
            $ClassificationActivityId = $null
        } else {
            $ClassificationActivityId = $JsonParameters.PSobject.Properties["ClassificationActivityId"].value
        }

        if (!([bool]($JsonParameters.PSobject.Properties.name -match "SensitivityLabelActivityId"))) { #optional property not found
            $SensitivityLabelActivityId = $null
        } else {
            $SensitivityLabelActivityId = $JsonParameters.PSobject.Properties["SensitivityLabelActivityId"].value
        }

        if (!([bool]($JsonParameters.PSobject.Properties.name -match "StorageActivityId"))) { #optional property not found
            $StorageActivityId = $null
        } else {
            $StorageActivityId = $JsonParameters.PSobject.Properties["StorageActivityId"].value
        }

        if (!([bool]($JsonParameters.PSobject.Properties.name -match "TitleActivityId"))) { #optional property not found
            $TitleActivityId = $null
        } else {
            $TitleActivityId = $JsonParameters.PSobject.Properties["TitleActivityId"].value
        }

        if (!([bool]($JsonParameters.PSobject.Properties.name -match "HubSiteActivityId"))) { #optional property not found
            $HubSiteActivityId = $null
        } else {
            $HubSiteActivityId = $JsonParameters.PSobject.Properties["HubSiteActivityId"].value
        }

        if (!([bool]($JsonParameters.PSobject.Properties.name -match "SharingActivityId"))) { #optional property not found
            $SharingActivityId = $null
        } else {
            $SharingActivityId = $JsonParameters.PSobject.Properties["SharingActivityId"].value
        }

        if (!([bool]($JsonParameters.PSobject.Properties.name -match "DescriptionActivityId"))) { #optional property not found
            $DescriptionActivityId = $null
        } else {
            $DescriptionActivityId = $JsonParameters.PSobject.Properties["DescriptionActivityId"].value
        }

        if (!([bool]($JsonParameters.PSobject.Properties.name -match "LocaleActivityId"))) { #optional property not found
            $LocaleActivityId = $null
        } else {
            $LocaleActivityId = $JsonParameters.PSobject.Properties["LocaleActivityId"].value
        }

        if (!([bool]($JsonParameters.PSobject.Properties.name -match "TimeZoneActivityId"))) { #optional property not found
            $TimeZoneActivityId = $null
        } else {
            $TimeZoneActivityId = $JsonParameters.PSobject.Properties["TimeZoneActivityId"].value
        }

        $PSO = [PSCustomObject]@{
            "SiteUrl" = ${SiteUrl}
            "Office365TenantId" = ${Office365TenantId}
            "ScopeActivityId" = ${ScopeActivityId}
            "ClassificationActivityId" = ${ClassificationActivityId}
            "SensitivityLabelActivityId" = ${SensitivityLabelActivityId}
            "StorageActivityId" = ${StorageActivityId}
            "TitleActivityId" = ${TitleActivityId}
            "HubSiteActivityId" = ${HubSiteActivityId}
            "SharingActivityId" = ${SharingActivityId}
            "DescriptionActivityId" = ${DescriptionActivityId}
            "LocaleActivityId" = ${LocaleActivityId}
            "TimeZoneActivityId" = ${TimeZoneActivityId}
        }

        return $PSO
    }

}