Model/TrustedInfrastructureTrustAuthorityClustersKmsProvidersKmipServerCreateSpec.ps1

#
# TrustedInfrastructure Paths
# The vcenter trusted_infrastructure package provides services that enable a Trusted Infrastructure. They are responsible for ensuring that infrastructure nodes are running trusted software and for releasing encryption keys only to trusted infrastructure nodes.
# Contact: powercli@vmware.com
# Generated by OpenAPI Generator: https://openapi-generator.tech
#

<#
.DESCRIPTION
 
The Providers.KmipServerCreateSpec structure contains fields that describe Key Management Interoperability Protocol (KMIP) desired key server configuration.
 
.PARAMETER Servers
List of Key Management Interoperability Protocol (KMIP) compliant key servers. Key servers must be configured for active-active replication. If the server port is unset, a default value for KMIP's port will be used.
.PARAMETER Username
Username for authentication. If unset, no username will be added.
.OUTPUTS
 
TrustedInfrastructureTrustAuthorityClustersKmsProvidersKmipServerCreateSpec<PSCustomObject>
 
.LINK
 
Online Version: https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/data-structures/TrustedInfrastructure/TrustAuthorityClusters/Kms/Providers/KmipServerCreateSpec/
#>


function Initialize-TrustedInfrastructureTrustAuthorityClustersKmsProvidersKmipServerCreateSpec {
    [CmdletBinding(HelpURI = "https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/data-structures/TrustedInfrastructure/TrustAuthorityClusters/Kms/Providers/KmipServerCreateSpec/")]
    Param (
        [Parameter(Mandatory = $true)]
        [PSCustomObject[]]
        ${Servers},
        [Parameter(Mandatory = $false)]
        [ValidateScript({ $_ -is [string] })]
        ${Username}
    )

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

        if ($Servers -eq $null) {
            throw "invalid value for 'Servers', 'Servers' cannot be null."
        }


        $PSO = [PSCustomObject]@{
            "PSTypeName" = "TrustedInfrastructureTrustAuthorityClustersKmsProvidersKmipServerCreateSpec"
            "servers" = ${Servers}
            "username" = ${Username}
        }


        return $PSO
    }
}