{ "additionalProperties": false, "description": "Tier-0 interface configuration for external connectivity.", "extends": { "$ref": "BaseTier0Interface }, "id": "Tier0Interface", "module_id": "PolicyConnectivity", "properties": { "_create_time": { "$ref": "EpochMsTimestamp, "can_sort": true, "description": "Timestamp of resource creation", "readonly": true }, "_create_user": { "description": "ID of the user who created this resource", "readonly": true, "type": "string" }, "_last_modified_time": { "$ref": "EpochMsTimestamp, "can_sort": true, "description": "Timestamp of last modification", "readonly": true }, "_last_modified_user": { "description": "ID of the user who last modified this resource", "readonly": true, "type": "string" }, "_links": { "description": "The server will populate this field when returing the resource. Ignored on PUT and POST.", "items": { "$ref": "ResourceLink }, "readonly": true, "title": "References related to this resource", "type": "array" }, "_protection": { "description": "Protection status is one of the following: PROTECTED - the client who retrieved the entity is not allowed to modify it. NOT_PROTECTED - the client who retrieved the entity is allowed to modify it REQUIRE_OVERRIDE - the client who retrieved the entity is a super user and can modify it, but only when providing the request header X-Allow-Overwrite=true. UNKNOWN - the _protection field could not be determined for this entity.", "readonly": true, "title": "Indicates protection status of this resource", "type": "string" }, "_revision": { "description": "The _revision property describes the current revision of the resource. To prevent clients from overwriting each other's changes, PUT operations must include the current _revision of the resource, which clients should obtain by issuing a GET operation. If the _revision provided in a PUT request is missing or stale, the operation will be rejected.", "title": "Generation of this resource config", "type": "int" }, "_schema": { "readonly": true, "title": "Schema for this resource", "type": "string" }, "_self": { "$ref": "SelfResourceLink, "readonly": true, "title": "Link to this resource" }, "_system_owned": { "description": "Indicates system owned resource", "readonly": true, "type": "boolean" }, "access_vlan_id": { "$ref": "VlanID, "description": "Vlan id.", "required": false, "title": "Vlan id" }, "admin_state": { "description": "This flag is used to enable/disable admin state on tier-0 service port. If admin_state flag value is not specified then default is UP. When set to UP then traffic on service port will be enabled and service port is enabled from routing perspective. When set to DOWN then traffic on service port will be disabled and service port is down from routing perspective. This flag is experimental because it will be used in V2T BYOT migration. This flag should not be set to UP or DOWN if EVPN is configured, and tier-0 LR is in A/S mode. Also this flag can not be set to UP or DOWN for service interfaces which are configured on vrf-lite.", "enum": [ "UP", "DOWN" ], "experimental": true, "required": false, "title": "Flag to enable/disable admin_state of tier-0 service port", "type": "string" }, "children": { "description": "Subtree for this type within policy tree containing nested elements. Note that this type is applicable to be used in Hierarchical API only.", "items": { "$ref": "ChildPolicyConfigResource }, "required": false, "title": "Subtree for this type within policy tree", "type": "array" }, "description": { "can_sort": true, "maxLength": 1024, "title": "Description of this resource", "type": "string" }, "dhcp_relay_path": { "description": "Policy path of dhcp-relay-config to be attached to this Interface.", "required": false, "title": "policy path of referenced dhcp-relay-config", "type": "string", "x-vmw-cross-reference": [ { "leftType": [ "Tier0Interface", "Tier1Interface" ], "relationshipType": "DHCP_RELAY_CONFIG_RELATIONSHIP", "rightType": [ "DhcpRelayConfig" ] } ] }, "display_name": { "can_sort": true, "description": "Defaults to ID if not set", "maxLength": 255, "title": "Identifier to use when displaying entity in logs or GUI", "type": "string" }, "edge_cluster_member_index": { "deprecated": true, "description": "Specify association of interface with edge cluster member. This property is deprecated, use edge_path instead. When both properties are specifed, only edge_path property is used.", "minimum": 0, "required": false, "title": "Association of interface with edge cluster member", "type": "int" }, "edge_path": { "description": "Policy path to edge node to handle external connectivity. Required when interface type is EXTERNAL. Edge path is required for service interface when tier0 is in ACTIVE_ACTIVE ha_mode. Edge path is required for VRF service interface when parent tier0 is in ACTIVE_ACTIVE ha_mode.", "required": false, "title": "Policy path to edge node", "type": "string" }, "id": { "can_sort": true, "title": "Unique identifier of this resource", "type": "string" }, "igmp_local_join_groups": { "description": "IGMP local join groups configuration.", "items": { "$ref": "IPv4Address }, "required": false, "title": "IGMP local join groups configuration", "type": "array" }, "ipv6_profile_paths": { "description": "Configuration IPv6 NDRA profile. Only one NDRA profile can be configured.", "items": { "type": "string" }, "maxItems": 1, "minItems": 0, "required": false, "title": "IPv6 NDRA profile configuration", "type": "array" }, "ls_id": { "deprecated": true, "description": "Specify logical switch to which tier-0 interface is connected for external access. This property is deprecated, use segment_path instead. Both properties cannot be used together.", "required": false, "title": "Logical switch id to attach tier-0 interface", "type": "string" }, "marked_for_delete": { "default": false, "description": "Intent objects are not directly deleted from the system when a delete is invoked on them. They are marked for deletion and only when all the realized entities for that intent object gets deleted, the intent object is deleted. Objects that are marked for deletion are not returned in GET call. One can use the search API to get these objects.", "readonly": true, "required": false, "title": "Indicates whether the intent object is marked for deletion", "type": "boolean" }, "mtu": { "description": "Maximum transmission unit (MTU) specifies the size of the largest packet that a network protocol can transmit.", "minimum": 64, "required": false, "title": "MTU size", "type": "int" }, "multicast": { "$ref": "Tier0InterfacePimConfig, "description": "Multicast PIM configuration.", "required": false, "title": "Multicast PIM configuration" }, "origin_site_id": { "description": "This is a UUID generated by the system for knowing which site owns an object. This is used in NSX+.", "readonly": true, "required": false, "title": "A unique identifier assigned by the system for knowing which site owns an object", "type": "string" }, "ospf": { "$ref": "PolicyInterfaceOspfConfig, "description": "OSPF configuration.", "required": false, "title": "OSPF configuration" }, "overridden": { "default": false, "description": "Global intent objects cannot be modified by the user. However, certain global intent objects can be overridden locally by use of this property. In such cases, the overridden local values take precedence over the globally defined values for the properties.", "readonly": true, "required": false, "title": "Indicates whether this object is the overridden intent object", "type": "boolean" }, "owner_id": { "description": "This is a UUID generated by the system for knowing who owns this object. This is used in NSX+.", "readonly": true, "required": false, "title": "A unique identifier assigned by the system for the ownership of an object", "type": "string" }, "parent_path": { "description": "Path of its parent", "readonly": true, "required": false, "title": "Path of its parent", "type": "string" }, "path": { "description": "Absolute path of this object", "readonly": true, "required": false, "title": "Absolute path of this object", "type": "string" }, "proxy_arp_filters": { "description": "Array of prefix lists used to specify filtering for ARP proxy. Prefixes in this array are used to configure ARP proxy entries on Tier-0 gateway (for uplinks).", "items": { "type": "string" }, "maxItems": 1, "minItems": 0, "required": false, "title": "List of proxy Address Resolution Protocol Filters", "type": "array", "x-vmw-cross-reference": [ { "leftType": [ "Tier0Interface" ], "relationshipType": "PROVIDER_INTERFACE_PREFIX_LIST_RELATIONSHIP", "rightType": [ "PrefixList" ] } ] }, "realization_id": { "description": "This is a UUID generated by the system for realizing the entity object. In most cases this should be same as 'unique_id' of the entity. However, in some cases this can be different because of entities have migrated their unique identifier to NSX Policy intent objects later in the timeline and did not use unique_id for realization. Realization id is helpful for users to debug data path to correlate the configuration with corresponding intent.", "readonly": true, "required": false, "title": "A unique identifier assigned by the system for realizing intent", "type": "string" }, "relative_path": { "description": "Path relative from its parent", "readonly": true, "required": false, "title": "Relative path of this object", "type": "string" }, "remote_path": { "description": "This is the path of the object on the local managers when queried on the NSX+ service, and path of the object on NSX+ service when queried from the local managers.", "readonly": true, "required": false, "title": "Path of the object on the remote end.", "type": "string" }, "resource_type": { "description": "The type of this resource.", "readonly": false, "type": "string" }, "segment_path": { "description": "Specify Segment to which this interface is connected to. Either segment_path or ls_id property is required.", "required": false, "title": "Segment to attach tier-0 interface", "type": "string", "x-vmw-cross-reference": [ { "leftType": [ "Tier0Interface" ], "relationshipType": "INTERFACE_SEGMENT_RELATIONSHIP", "rightType": [ "Segment" ] } ] }, "subnets": { "description": "Specify IP address and network prefix for interface.", "items": { "$ref": "InterfaceSubnet }, "minItems": 1, "required": true, "title": "IP address and subnet specification for interface", "type": "array" }, "tags": { "items": { "$ref": "Tag }, "maxItems": 30, "title": "Opaque identifiers meaningful to the API user", "type": "array" }, "type": { "default": "EXTERNAL", "description": "Interface type", "enum": [ "EXTERNAL", "SERVICE", "LOOPBACK", "INTERVRF" ], "required": false, "title": "Interface type", "type": "string" }, "unique_id": { "description": "This is a UUID generated by the GM/LM to uniquely identify entities in a federated environment. For entities that are stretched across multiple sites, the same ID will be used on all the stretched sites.", "readonly": true, "required": false, "title": "A unique identifier assigned by the system", "type": "string" }, "urpf_mode": { "default": "STRICT", "enum": [ "NONE", "STRICT" ], "required": false, "title": "Unicast Reverse Path Forwarding mode", "type": "string" } }, "title": "Tier-0 interface configuration", "type": "object" }