/**
 * Oracle Cloud VMware Solution API
 * Use the Oracle Cloud VMware API to create SDDCs and manage ESXi hosts and software.
For more information, see [Oracle Cloud VMware Solution](/iaas/Content/VMware/Concepts/ocvsoverview.htm).

 * OpenAPI spec version: 20200501
 *
 *
 * NOTE: This class is auto generated by OracleSDKGenerator.
 * Do not edit the class manually.
 *
 * Copyright (c) 2020, 2022, Oracle and/or its affiliates.  All rights reserved.
 * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
 */ import * as model from "../model" ; import common = require ( "oci-common" ) ; /**
 * The SDDC information to be updated.
 * <p>
 **Important:** Only the `displayName`, `freeFormTags`, and `definedTags` attributes
 * affect the existing SDDC. Changing the other attributes affects the `Sddc` object, but not
 * the VMware environment currently running on that SDDC. Those other attributes are used
 * by the Oracle Cloud VMware Solution *only* for new ESXi hosts that you add to this
 * SDDC in the future with  {@link #createEsxiHost(CreateEsxiHostRequest) createEsxiHost} .
 *
  export interface UpdateSddcDetails { /**
     * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the SDDC.
     * SDDC name requirements are 1-16 character length limit, Must start with a letter, Must be English letters, numbers, - only, No repeating hyphens, Must be unique within the region.
     *
     */ "displayName" ? : string ; /**
      * The version of bundled VMware software that the Oracle Cloud VMware Solution will
  * install on any new ESXi hosts that you add to this SDDC in the future.
  * <p>
  For the list of versions supported by the Oracle Cloud VMware Solution, see
  *  {@link #listSupportedVmwareSoftwareVersions(ListSupportedVmwareSoftwareVersionsRequest) listSupportedVmwareSoftwareVersions} ).
  *
       "vmwareSoftwareVersion" ? : string ; /**
     * One or more public SSH keys to be included in the `~/.ssh/authorized_keys` file for
     * the default user on each ESXi host, only when adding new ESXi hosts to this SDDC.
     * Use a newline character to separate multiple keys.
     * The SSH keys must be in the format required for the `authorized_keys` file.
     *
     */ "sshAuthorizedKeys" ? : string ; /**
     * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the VLAN to use for
     * the vSphere component of the VMware environment when adding new ESXi hosts to the SDDC.
     *
     */ "vsphereVlanId" ? : string ; /**
     * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the VLAN to use for
     * the vMotion component of the VMware environment when adding new ESXi hosts to the SDDC.
     *
     */ "vmotionVlanId" ? : string ; /**
     * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the VLAN to use for
     * the vSAN component of the VMware environment when adding new ESXi hosts to the SDDC.
     *
     */ "vsanVlanId" ? : string ; /**
     * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the VLAN to use for
     * the NSX VTEP component of the VMware environment when adding new ESXi hosts to the SDDC.
     *
     */ "nsxVTepVlanId" ? : string ; /**
     * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the VLAN to use for
     * the NSX Edge VTEP component of the VMware environment when adding new ESXi hosts to the SDDC.
     *
     */ "nsxEdgeVTepVlanId" ? : string ; /**
     * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the VLAN to use for
     * the NSX Edge Uplink 1 component of the VMware environment when adding new ESXi hosts to the SDDC.
     *
     */ "nsxEdgeUplink1VlanId" ? : string ; /**
     * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the VLAN to use for
     * the NSX Edge Uplink 2 component of the VMware environment when adding new ESXi hosts to the SDDC.
     * <p>
     **Note:** This VLAN is reserved for future use to deploy public-facing applications on the VMware SDDC.
     *
     */ "nsxEdgeUplink2VlanId" ? : string ; /**
     * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the VLAN used by the SDDC
     * for the vSphere Replication component of the VMware environment.
     *
     */ "replicationVlanId" ? : string ; /**
     * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the VLAN used by the SDDC
     * for the Provisioning component of the VMware environment.
     *
     */ "provisioningVlanId" ? : string ; /**
     * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the VLAN to use for the HCX
     * component of the VMware environment when adding new ESXi hosts to the SDDC. This value can be updated only when `isHcxEnabled` is true.
     *
     */ "hcxVlanId" ? : string ; /**
      * Free-form tags for this resource. Each tag is a simple key-value pair with no
  * predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
  * <p>
  Example: `{\"Department\": \"Finance\"}`
  *
      */ "freeformTags" ? : { [ key ] : string ; } ; /**
      * Defined tags for this resource. Each key is predefined and scoped to a
  * namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
  * <p>
  Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`
  *
      */ "definedTags" ? : { [ key ] : { [ key ] : any ; } ; } ; } export namespace UpdateSddcDetails { export function getJsonObj ( obj ) { const jsonObj = { ... obj , ... { } } ; return jsonObj ; } export function getDeserializedJsonObj ( obj ) { const jsonObj = { ... obj , ... { } } ; return jsonObj ; } }