Fabric APIs
58 TopicsLayer-2 Networking with Interconnection and AWS
Those already using Ansible can now take advantage of templates to demonstrate configuring Layer 2 connectivity to AWS S3. You can also follow the prerequisites in the related GitHub repo to test this as a new user. Step 1: Use the initial template to rapidly create a project, VLAN, VRF, and prep for BGP peering on the virtual circuit. Step 2: Finish setting up the interconnection in Fabric console manually and accept the Direct Connect request in AWS. Step 3: Use the final playbook which takes care of deploying the VPC, the S3 VPC endpoint, the Virtual Private Gateway attached to your Direct Connect, and finally configures the end to end BGP peering. This playbook has been added to the examples section of the Ansible Collection Equinix page.44Views2likes0CommentsFabric APIv4, Connection to azure, Technical background vlanSTag in zSide
Hello, I'd like to configure a redundant connection to Azure using dot1q encapsulation. The documentation for migration from v3 to v4 states that we need to include "linkProtocol": { "type": "QINQ", "vlanSTag": 2002 }, in the zSide definition. That was not necessary in the v3 API. I'm not sure what the technical background for that value is. Specifically: Can we always use the same VLAN ID in connections to different Azure environments when using unique VLAN IDs on the aSide? Any help is appreciated.257Views1like2Commentsupdating bandwidth for connection
I'm attempting to change the bandwidth using python requests based on thishttps://developer.equinix.com/catalog/fabricv4#operation/updateConnectionByUuid authorization is solid, used same headers for many other without issue. url = f"https://api.equinix.com/fabric/v4/connections/{cid}" headers["content-type"] = 'application/json-patch+json' response = requests.patch( url, headers=headers, timeout=5, data=[ { "op": "replace", "path": "/bandwidth", "value": bw } ] if run as above I get this error Traceback (most recent call last): File "/Users/gregcox/Projects/app/main.py", line 238, in <module> pp(update_bandwidth(vcs[0], 200)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/gregcox/Projects/app/main.py", line 208, in update_bandwidth response = requests.patch( ^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/requests/api.py", line 145, in patch return request("patch", url, data=data, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/requests/api.py", line 59, in request return session.request(method=method, url=url, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/requests/sessions.py", line 575, in request prep = self.prepare_request(req) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/requests/sessions.py", line 486, in prepare_request p.prepare( File "/usr/local/lib/python3.11/site-packages/requests/models.py", line 371, in prepare self.prepare_body(data, files, json) File "/usr/local/lib/python3.11/site-packages/requests/models.py", line 559, in prepare_body body = self._encode_params(data) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/requests/models.py", line 121, in _encode_params for k, vs in to_key_val_list(data): ^^^^^ ValueError: too many values to unpack (expected 2) If I run the same as above, but change data to be a dict instead of a list I get this error [{'correlationId': '-api', 'details': 'Please refer the contracts for correct fields', 'errorCode': 'EQ-3142558', 'errorMessage': 'Json syntax error, please check request body'}]2.2KViews0likes2Commentsdelta sandbox<>prod apis
Hi, We noticed that some APIs aren't available in the sandbox but only in production of the Equinix API. Do we have a way to test this? These APIs seem to be available in the playground-zone These works on Prod but not sandbox: list userports list metros list buyer/connections For example: curl -X GET "$url/ecx/v3/l2/common/metros" -H "accept: application/json" -H "Authorization: Bearer $token" {"fault":{"faultstring":"Invalid API call as no apiproduct match found","detail":{"errorcode":"keymanagement.service.InvalidAPICallAsNoApiProductMatchFound"}}}% curl -X GET "$url/ecx/v3/port/userport" -H "accept: application/json" -H "Authorization: Bearer $token" {"fault":{"faultstring":"Invalid API call as no apiproduct match found","detail":{"errorcode":"keymanagement.service.InvalidAPICallAsNoApiProductMatchFound"}}}% curl -X GET "$url/ecx/v3/l2/buyer/connections" -H "accept: application/json" -H "Authorization: Bearer $token" {"fault":{"faultstring":"Invalid API call as no apiproduct match found","detail":{"errorcode":"keymanagement.service.InvalidAPICallAsNoApiProductMatchFound"}}}%1.4KViews0likes0Comments