{ "description": "A ServiceAttachment represents a point on NSX entity (Example - Edge Router) to which ServiceInstance can be connected through an InstanceEndpoint. Example - In VMWare Hybric Cloud Extention (HCX) use case, HCX appliances connect to this Service Attachment Point. We do not handle the lifecycle of these appliance/s.", "extends": { "$ref": "ManagedResource }, "id": "ServiceAttachment", "module_id": "ServiceInsertionCommonTypes", "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" }, "attachment_status": { "default": "UP", "description": "UP - A Service Attachment will have its Service Port - UP and with a configured IP address. DOWN - An Inactive ServiceAttachment has its Service Port - DOWN. It can be used to connect set of appliances that do not need to exchange traffic to/from/through the Edge node.", "enum": [ "UP", "DOWN" ], "readonly": false, "required": false, "title": "Attachment Status", "type": "string" }, "deployed_to": { "$ref": "ResourceReference, "description": "NSX Resource where we want to create Service Attachment Point. Ex. T0 LR Edge in case of north-south ServiceInsertion and a TransportZone (which is used to define the service plane) in case of east-west service insertion.", "readonly": false, "required": true, "title": "Deployed-to object" }, "description": { "can_sort": true, "maxLength": 1024, "title": "Description of this resource", "type": "string" }, "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" }, "id": { "can_sort": true, "title": "Unique identifier of this resource", "type": "string" }, "local_ips": { "description": "Local IPs associated with this Service Attachment.", "items": { "$ref": "IPInfo }, "maxItems": 1, "minItems": 1, "required": false, "title": "Local IPs", "type": "array" }, "logical_routers": { "description": "List of LogicalRouters to be connected to the ServicePlane logical switch via a ServiceLink.", "items": { "$ref": "ResourceReference }, "maxItems": 128, "minItems": 1, "readonly": false, "required": false, "title": "Logical Router list", "type": "array" }, "logical_switch": { "$ref": "ResourceReference, "description": "Logical Switch gets created as a part of Service Attachment creation.", "readonly": true, "required": false, "title": "Logical Switch" }, "resource_type": { "description": "The type of this resource.", "readonly": false, "type": "string" }, "service_port": { "$ref": "ResourceReference, "description": "Service Port gets created as a part of Service Attachment creation. It is a Logical Router Port of type CentralizedServicePort. It does not participate in distributed routing. Stateless Policy Based Routing service can be applied on this port.", "readonly": true, "required": false, "title": "Service Port (Logical Router Centralized Service Port)" }, "tags": { "items": { "$ref": "Tag }, "maxItems": 30, "title": "Opaque identifiers meaningful to the API user", "type": "array" } }, "title": "Logical Attachment Point for a 3rd Party Service", "type": "object" }