[{"label":"Latest (4.4.0)","version":"latest"},{"version":"4.3.1"},{"link":"https://developer.vmware.com/apis/1127/vmware-cloud-foundation","version":"4.3"},{"link":"https://developer.vmware.com/apis/1078/vmware-cloud-foundation","version":"4.2"},{"link":"https://developer.vmware.com/apis/1033/vmware-cloud-foundation","version":"4.1"},{"link":"https://developer.vmware.com/apis/1003/vmware-cloud-foundation","version":"4.0.1"},{"link":"https://developer.vmware.com/apis/939/vmware-cloud-foundation","version":"4.0"}]
vcf-for-vxrail
VMware Cloud Foundation on Dell EMC VxRail API Reference Guide

Members

APIs for managing Members of the Federation

1. Get Members

Get the details of the members.

1.1. Prerequisites

  • Federation must be created.

1.2. Steps

  • Invoke the API.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/sddc-federation/members' -i -X GET \
    -H 'Authorization: Bearer etYWR....'

HTTP Request

GET /v1/sddc-federation/members HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWR....

HTTP Response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 413

{
  "memberDetail" : {
    "role" : "CONTROLLER",
    "fqdn" : "sfo-vcf01.rainpole.io",
    "siteType" : "DATACENTER",
    "siteName" : "Palo Alto Epic Center",
    "country" : "USA",
    "state" : "California",
    "city" : "Palo Alto",
    "coordinate" : {
      "longitude" : -122.838,
      "latitude" : 37.286
    }
  },
  "federationName" : "New Federation",
  "permissions" : [ "JOIN" ],
  "error" : null
}

2. Join the Federation

You can join a federation as a controller/manager/member depending on the assigned role in the invitation.

Use the token you received as part of the invitation, to trigger a join API.
An invitation is valid for ten days. You must request a new invitation after this period.

2.1. Prerequisites

The following data is required

  • Controller FQDN

    • You can provide any of the controllers FQDN to join the federation. However, it is preferred to provide

      the FQDN of the controller who sent out the invitation.

  • Token

    • Token you received from the controller as part of the invitation.
  • Member Details

    • Role of the invitee, this should match the role you provided during invite.

    • FQDN of the invitee

    • Type of the site, it will always be “DATACENTER” for 1.0 release

    • Name of the site

    • Country

    • State

    • City

    • Coordinate of the site

      • Longitude

      • Latitude

2.2. Steps

  • Provide above inputs and invoke the API.

    If the request goes through successfully, we should see this new member on the world map.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/sddc-federation/members' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer etYWR....' \
    -d '{
  "controllerFqdn" : "sfo-vcf01.rainpole.io",
  "joinToken" : "test",
  "commonName" : "nyc-vcf01.rainpole.io",
  "memberJoinDetail" : {
    "role" : "MEMBER",
    "fqdn" : "nyc-vcf01.rainpole.io",
    "siteType" : "DATACENTER",
    "siteName" : "New York Epic Center",
    "country" : "USA",
    "state" : "New York",
    "city" : "New York",
    "coordinate" : {
      "longitude" : -74.006,
      "latitude" : 40.712
    }
  }
}'

HTTP Request

POST /v1/sddc-federation/members HTTP/1.1
Content-Type: application/json
Content-Length: 433
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWR....

{
  "controllerFqdn" : "sfo-vcf01.rainpole.io",
  "joinToken" : "test",
  "commonName" : "nyc-vcf01.rainpole.io",
  "memberJoinDetail" : {
    "role" : "MEMBER",
    "fqdn" : "nyc-vcf01.rainpole.io",
    "siteType" : "DATACENTER",
    "siteName" : "New York Epic Center",
    "country" : "USA",
    "state" : "New York",
    "city" : "New York",
    "coordinate" : {
      "longitude" : -74.006,
      "latitude" : 40.712
    }
  }
}

HTTP Response

HTTP/1.1 202 Accepted
Content-Type: application/json
Content-Length: 246

{
  "status" : "SUCCEEDED",
  "operation" : null,
  "taskId" : "6a8d1586-cb60-4564-984d-8352f2ec1e39",
  "remoteOperationTask" : null,
  "progressDetails" : null,
  "created" : null,
  "lastUpdated" : null,
  "errors" : null,
  "payload" : null
}

3. Leave from the federation

Leaving a federation removes the Multi-Instance Management view from your SDDC Manager dashboard.
If you are a controller, you can leave a federation only if there is at least one more controller in the federation.

If you are the only controller member in a federation, you must dismantle a federation instead of leaving it.

3.1. Prerequisites

  • The following data is required

    • ID (FQDN) of the member to be deleted, specified as a path variable.

      • If member ID is equal to the FQDN of invoking SDDC Manager, it is treated as leave.

      • Otherwise, it is treated as evicting the member (specified by ID) by invoking SDDC Manager. In this case the invoking SDDC Manager must be a Controller.

  • The Request param ‘force’ is optional

    • If force is set to true, the leaving member will not contact controller, but shut down local system.

      Default value for force is false, in which case leaving member will issue REST request to a remote controller asking for leave.

  • If the invoking SDDC Manager is the only member in the federation, do not use leave, but teardown instead.

3.2. Steps

  • If ID is the same as FQDN of invoking SDDC Manager and force is false

    • This member will issue rest request to a remote controller asking for leave, if the remote response

      is successful, it will then shut down its local system. Persistent store will be archived and cleaned up.

  • If ID is the same as FQDN of invoking SDDC Manager and force is true

    • This member will not contact remote controller but shut down its local system directly. Persistent store will be archived and cleaned up.
  • If ID is the different from FQDN of invoking SDDC Manager

    • The invoking SDDC Manager will evict the member (specified by ID) from federation and ask the evictee to clean its system.

      force variable in this case doesn’t matter.

cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/sddc-federation/members/nyc-vcf01.rainpole.io' -i -X DELETE \
    -H 'Authorization: Bearer etYWR....'

HTTP Request

DELETE /v1/sddc-federation/members/nyc-vcf01.rainpole.io HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWR....

HTTP Response

HTTP/1.1 202 Accepted
Content-Disposition: inline;filename=f.txt
Content-Type: application/json
Content-Length: 246

{
  "status" : "SUCCEEDED",
  "operation" : null,
  "taskId" : "26335c7d-89ff-4167-8411-bd7ea853f768",
  "remoteOperationTask" : null,
  "progressDetails" : null,
  "created" : null,
  "lastUpdated" : null,
  "errors" : null,
  "payload" : null
}

To Force remove the member use following:
cURL Request

$ curl 'https://sfo-vcf01.rainpole.io/v1/sddc-federation/members/nyc-vcf01.rainpole.io?force=true' -i -X DELETE \
    -H 'Authorization: Bearer etYWR....'

HTTP Request

DELETE /v1/sddc-federation/members/nyc-vcf01.rainpole.io?force=true HTTP/1.1
Host: sfo-vcf01.rainpole.io
Authorization: Bearer etYWR....

HTTP Response

HTTP/1.1 202 Accepted
Content-Disposition: inline;filename=f.txt
Content-Type: application/json
Content-Length: 246

{
  "status" : "SUCCEEDED",
  "operation" : null,
  "taskId" : "57005788-32ee-4457-834e-dbed9eed3912",
  "remoteOperationTask" : null,
  "progressDetails" : null,
  "created" : null,
  "lastUpdated" : null,
  "errors" : null,
  "payload" : null
}

Last updated 2021-11-03 05:03:41 PDT

Operations



[{"label":"Latest (4.4.0)","version":"latest"},{"version":"4.3.1"},{"link":"https://developer.vmware.com/apis/1127/vmware-cloud-foundation","version":"4.3"},{"link":"https://developer.vmware.com/apis/1078/vmware-cloud-foundation","version":"4.2"},{"link":"https://developer.vmware.com/apis/1033/vmware-cloud-foundation","version":"4.1"},{"link":"https://developer.vmware.com/apis/1003/vmware-cloud-foundation","version":"4.0.1"},{"link":"https://developer.vmware.com/apis/939/vmware-cloud-foundation","version":"4.0"}]
vcf-for-vxrail
Feedback

Was this page helpful?