Abiquo Documentation Cookies Policy

Our Documentation website uses cookies to improve your experience. Please visit our Cookie Policy page for more information about cookies and how we use them.


Abiquo 4.4

Skip to end of metadata
Go to start of metadata

SSL Certificate Resource

The only way to create a certificate is by embedding it into a Routing Rule, so it is created and assigned to a routing rule.
Abiquo will never store the certificates, so it is required that the creation request ends at the provider.
Abiquo does not provide methods to delete or modify certificates, but they can be removed from the routing rules.

Main URI of the Resource

This class operates mainly over the Resource URI: /cloud/locations/{location}/devices/{device}/sslcertificates  

The main URI of the resource has changed. It is now /cloud/locations/{location}/devices/{device}/sslcertificates

Prior to Abiquo 3.8, it was /cloud/locations/{location}/sslcertificates

Exposed Methods

Retrieve all the existing SSL certificates

Synopsis: GET /cloud/locations/{location}/devices/{device}/sslcertificates
Roles required: MANAGE_LOADBALANCERS
Request headers: Accept: application/vnd.abiquo.sslcertificates+json; version=4.4; application/vnd.abiquo.sslcertificates+xml; version=4.4;
Request parameters:

Parameter

Required

Default Value

Description

source

false

LOCAL

where the certificates are located: ''LOCAL'' = known by Abiquo (used in some load balancer routing rule), ''REMOTE'' retrieve them directly from the provider

curl --verbose -u admin:xabiquo -XGET https://mjsabiquo.bcn.abiquo.com:443/api/cloud/locations/2/devices/1/sslcertificates

Response

 Click here to show/hide example
{
    "links": [],
    "collection": [
        {
            "links": [
                {
                    "title": "sslcert2",
                    "rel": "self",
                    "type": "application/vnd.abiquo.sslcertificate+json",
                    "href": "https://mjsabiquo.bcn.abiquo.com:443/api/cloud/locations/2/devices/1/sslcertificates/2"
                }
            ],
            "name": "sslcert2",
            "providerId": "arn:aws:iam::228648867604:server-certificate/sslcert2"
        },
        {
            "links": [
                {
                    "title": "sslcert3",
                    "rel": "self",
                    "type": "application/vnd.abiquo.sslcertificate+json",
                    "href": "https://mjsabiquo.bcn.abiquo.com:443/api/cloud/locations/2/devices/1/sslcertificates/3"
                }
            ],
            "name": "sslcert3",
            "providerId": "arn:aws:iam::228648867604:server-certificate/sslcert3"
        }
    ]
}
curl --verbose -u admin:xabiquo -XGET https://mjsabiquo.bcn.abiquo.com:443/api/cloud/locations/2/devices/1/sslcertificates?source=REMOTE

Response
 

 Click here to show/hide example
{
    "links": [],
    "collection": [
        {
            "links": [
                {
                    "title": "sslcert2",
                    "rel": "self",
                    "type": "application/vnd.abiquo.sslcertificate+json",
                    "href": "https://mjsabiquo.bcn.abiquo.com:443/api/cloud/locations/2/devices/1/sslcertificates/2"
                }
            ],
            "name": "sslcert2",
            "providerId": "arn:aws:iam::228648867604:server-certificate/sslcert2"
        },
        {
            "links": [
                {
                    "title": "sslcert3",
                    "rel": "self",
                    "type": "application/vnd.abiquo.sslcertificate+json",
                    "href": "https://mjsabiquo.bcn.abiquo.com:443/api/cloud/locations/2/devices/1/sslcertificates/3"
                }
            ],
            "name": "sslcert3",
            "providerId": "arn:aws:iam::228648867604:server-certificate/sslcert3"
        },
        {
            "links": [
                {
                    "title": "abc",
                    "rel": "self",
                    "type": "application/vnd.abiquo.sslcertificate+json",
                    "href": "https://mjsabiquo.bcn.abiquo.com:443/api/cloud/locations/2/devices/1/sslcertificates/4"
                }
            ],
            "name": "abc",
            "providerId": "arn:aws:iam::228648867604:server-certificate/abc"
        },
        {
            "links": [
                {
                    "title": "def",
                    "rel": "self",
                    "type": "application/vnd.abiquo.sslcertificate+json",
                    "href": "https://mjsabiquo.bcn.abiquo.com:443/api/cloud/locations/2/devices/1/sslcertificates/5"
                }
            ],
            "name": "def",
            "providerId": "arn:aws:iam::228648867604:server-certificate/def"
        }
    ]
}

Remember the *** constraints control which plugins allow the reuse of existing SSL certificates during load balancer creation.

 Click to show or hide further examples

GET_cld_locs_X_devs_X_sslcerts_AC_sslcerts_j.0001.txt

cURL:

curl -X GET http://localhost:9000/api/cloud/locations/2327/devices/655/sslcertificates \ 
	 -H 'Accept:application/vnd.abiquo.sslcertificates+json; version=4.2' \ 
	 -u user:password --verbose 

Success status code: 200

Request payload:

--none--

Response payload:

{
  "links": [], 
  "collection": [
    {
      "providerId": "privateKey", 
      "name": "name", 
      "links": [
        {
          "href": "http://localhost:9009/api/cloud/locations/2327/devices/655/sslcertificates/3", 
          "type": "application/vnd.abiquo.sslcertificate+json", 
          "rel": "self", 
          "title": "name"
        }
      ]
    }
  ]
}

Get SSL certificates with source is REMOTE

GET_cld_locs_X_devs_X_sslcerts_AC_sslcerts_j_src.0002.txt

cURL:

curl -X GET http://localhost:9000/api/cloud/locations/5008/devices/1263/sslcertificates?source=REMOTE \ 
	 -H 'Accept:application/vnd.abiquo.sslcertificates+json; version=3.10' \ 
	 -u user:password --verbose 

Success status code: 200

Request payload:

--none--

Response payload:

{
  "links": [], 
  "collection": [
    {
      "providerId": "sslc-1", 
      "name": "ssl1", 
      "links": [
        {
          "href": "http://localhost:9009/api/cloud/locations/5008/devices/1263/sslcertificates/37", 
          "type": "application/vnd.abiquo.sslcertificate+json", 
          "rel": "self", 
          "title": "ssl1"
        }
      ]
    }, 
    {
      "providerId": "sslc-2", 
      "name": "ssl2", 
      "links": [
        {
          "href": "http://localhost:9009/api/cloud/locations/5008/devices/1263/sslcertificates/38", 
          "type": "application/vnd.abiquo.sslcertificate+json", 
          "rel": "self", 
          "title": "ssl2"
        }
      ]
    }
  ]
}

Retrieve a single SSL certificate

Synopsis: GET /cloud/locations/{location}/devices/{device}/sslcertificates/{sslcertificate}
Roles required: MANAGE_LOADBALANCERS
Request headers: Accept: application/vnd.abiquo.sslcertificate+json; version=4.4; application/vnd.abiquo.sslcertificate+xml; version=4.4;
Request parameters: (pagination)

curl --verbose -u admin:xabiquo -XGET https://mjsabiquo.bcn.abiquo.com:443/api/cloud/locations/2/devices/1/sslcertificates/2

Response

 Click here to show/hide example
{
    "links": [
        {
            "title": "sslcert2",
            "rel": "self",
            "type": "application/vnd.abiquo.sslcertificate+json",
            "href": "https://mjsabiquo.bcn.abiquo.com:443/api/cloud/locations/2/devices/1/sslcertificates/2"
        }
    ],
    "name": "sslcert2",
    "providerId": "arn:aws:iam::228648867604:server-certificate/sslcert2"
}
 Click to show or hide further examples

GET_cld_locs_X_devs_X_sslcerts_X_AC_sslcert_j.0002.txt

cURL:

curl -X GET http://localhost:9000/api/cloud/locations/5006/devices/1261/sslcertificates/33 \ 
	 -H 'Accept:application/vnd.abiquo.sslcertificate+json; version=3.10' \ 
	 -u user:password --verbose 

Success status code: 200

Request payload:

--none--

Response payload:

{
  "providerId": "135", 
  "name": "134", 
  "links": [
    {
      "href": "http://localhost:9009/api/cloud/locations/5006/devices/1261/sslcertificates/33", 
      "type": "application/vnd.abiquo.sslcertificate+json", 
      "rel": "self", 
      "title": "134"
    }
  ]
}