Model/TrustedInfrastructureTrustAuthorityClustersKmsProvidersKeyServerUpdateSpec.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.KeyServerUpdateSpec structure contains fields that describe new configuration for an existing key server.
 
.PARAMETER Type
No description available.
.PARAMETER Description
Description of the key server. If unset, description will remain unchanged.
.PARAMETER ProxyServer
No description available.
.PARAMETER ConnectionTimeout
Connection timeout in seconds. If unset, connection timeout will remain unchanged.
.PARAMETER KmipServer
No description available.
.OUTPUTS
 
TrustedInfrastructureTrustAuthorityClustersKmsProvidersKeyServerUpdateSpec<PSCustomObject>
 
.LINK
 
Online Version: https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/data-structures/TrustedInfrastructure/TrustAuthorityClusters/Kms/Providers/KeyServerUpdateSpec/
#>


function Initialize-TrustedInfrastructureTrustAuthorityClustersKmsProvidersKeyServerUpdateSpec {
    [CmdletBinding(HelpURI = "https://developer.vmware.com/docs/vsphere-automation/latest/vcenter/data-structures/TrustedInfrastructure/TrustAuthorityClusters/Kms/Providers/KeyServerUpdateSpec/")]
    Param (
        [Parameter(Mandatory = $false)]
        [ValidateSet("KMIP")]
        ${Type},
        [Parameter(Mandatory = $false)]
        [ValidateScript({ $_ -is [string] })]
        ${Description},
        [Parameter(Mandatory = $false)]
        [PSTypeName("TrustedInfrastructureNetworkAddress")]
        [PSCustomObject]
        ${ProxyServer},
        [Parameter(Mandatory = $false)]
        [System.Nullable[Int64]]
        ${ConnectionTimeout},
        [Parameter(Mandatory = $false)]
        [PSTypeName("TrustedInfrastructureTrustAuthorityClustersKmsProvidersKmipServerUpdateSpec")]
        [PSCustomObject]
        ${KmipServer}
    )

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


        $PSO = [PSCustomObject]@{
            "PSTypeName" = "TrustedInfrastructureTrustAuthorityClustersKmsProvidersKeyServerUpdateSpec"
            "type" = ${Type}
            "description" = ${Description}
            "proxy_server" = ${ProxyServer}
            "connection_timeout" = ${ConnectionTimeout}
            "kmip_server" = ${KmipServer}
        }


        return $PSO
    }
}