Model/NamespaceManagementSupervisorServicesClusterSupervisorServicesSetSpec.ps1

#
# NamespaceManagement Paths
# The vcenter namespace_management package provides services for managing Namespaces.
# Contact: powercli@vmware.com
# Generated by OpenAPI Generator: https://openapi-generator.tech
#

<#
.DESCRIPTION
 
The ClusterSupervisorServices.SetSpec structure provides a specification required to set a new configuration on a Supervisor Service in a vSphere Supervisor. This structure is applied in entirety, replacing the current specification fully.
 
.PARAMETER Version
Identifier of the Supervisor Service version which contains the service definition. This Supervisor Service version must be in the ACTIVATED state. When clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: com.vmware.vcenter.namespace_management.supervisor_services.Version. When operations return a value of this structure as a result, the field will be an identifier for the resource type: com.vmware.vcenter.namespace_management.supervisor_services.Version.
.PARAMETER ServiceConfig
A generic key-value map for additional configuration parameters required during service upgrade. As an example, a third party operator might reference a private registry using parameters such as ""registryName"" for the registry name, ""registryUsername"" and ""registryPassword"" for the registry credentials. If unset, no additional configuration parameters will be applied when upgrading a Supervisor Service in the vSphere Supervisor.
.PARAMETER YamlServiceConfig
A set of additional configuration parameters to be applied during service upgrade. These parameters should be formatted as a base64 encoded YAML document. Parameters should be set in at most one of ClusterSupervisorServices.SetSpec.service-config or ClusterSupervisorServices.SetSpec.yaml-service-config, and not both. The ClusterSupervisorServices.SetSpec.yaml-service-config supports complex data types and nested properties. If unset, no additional configuration parameters will be applied when upgrading a Supervisor Service in the vSphere Supervisor.
.OUTPUTS
 
NamespaceManagementSupervisorServicesClusterSupervisorServicesSetSpec<PSCustomObject>
 
.LINK
 
Online Version: https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/data-structures/NamespaceManagement/SupervisorServices/ClusterSupervisorServices/SetSpec/
#>


function Initialize-NamespaceManagementSupervisorServicesClusterSupervisorServicesSetSpec {
    [CmdletBinding(HelpURI = "https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/data-structures/NamespaceManagement/SupervisorServices/ClusterSupervisorServices/SetSpec/")]
    Param (
        [Parameter(Mandatory = $true)]
        [ValidateScript({ $_ -is [string] })]
        ${Version},
        [Parameter(Mandatory = $false)]
        [System.Collections.Hashtable]
        ${ServiceConfig},
        [Parameter(Mandatory = $false)]
        [ValidateScript({ $_ -is [string] })]
        ${YamlServiceConfig}
    )

    Process {
        'Creating PSCustomObject: VMware.Sdk.vSphere.vCenter.NamespaceManagement => vSphereNamespaceManagementSupervisorServicesClusterSupervisorServicesSetSpec' | Write-Debug


        $PSO = [PSCustomObject]@{
            "PSTypeName" = "NamespaceManagementSupervisorServicesClusterSupervisorServicesSetSpec"
            "version" = ${Version}
            "service_config" = ${ServiceConfig}
            "yaml_service_config" = ${YamlServiceConfig}
        }


        return $PSO
    }
}