mirror of https://github.com/hashicorp/consul
commit
2dbfa6cd53
@ -0,0 +1,143 @@
|
|||||||
|
---
|
||||||
|
layout: api
|
||||||
|
page_title: License - Operator - HTTP API
|
||||||
|
sidebar_current: api-operator-license
|
||||||
|
description: |-
|
||||||
|
The /operator/license endpoints allow for setting and retrieving the Consul
|
||||||
|
Enterprise License.
|
||||||
|
---
|
||||||
|
|
||||||
|
# License - Operator HTTP API
|
||||||
|
|
||||||
|
~> **Enterprise Only!** This API endpoint and functionality only exists in
|
||||||
|
Consul Enterprise. This is not present in the open source version of Consul.
|
||||||
|
|
||||||
|
The licensing functionality described here is available only in
|
||||||
|
[Consul Enterprise](https://www.hashicorp.com/products/consul/) version 1.1.0 and later.
|
||||||
|
|
||||||
|
## Getting the Consul License
|
||||||
|
|
||||||
|
This endpoint gets information about the current license.
|
||||||
|
|
||||||
|
| Method | Path | Produces |
|
||||||
|
| ------ | ---------------------------- | -------------------------- |
|
||||||
|
| `GET` | `/operator/license` | `application/json` |
|
||||||
|
|
||||||
|
The table below shows this endpoint's support for
|
||||||
|
[blocking queries](/api/index.html#blocking-queries),
|
||||||
|
[consistency modes](/api/index.html#consistency-modes), and
|
||||||
|
[required ACLs](/api/index.html#acls).
|
||||||
|
|
||||||
|
| Blocking Queries | Consistency Modes | ACL Required |
|
||||||
|
| ---------------- | ----------------- | ---------------- |
|
||||||
|
| `NO` | `all` | `none` |
|
||||||
|
|
||||||
|
### Parameters
|
||||||
|
|
||||||
|
- `dc` `(string: "")` - Specifies the datacenter whose license should be retrieved.
|
||||||
|
This will default to the datacenter of the agent serving the HTTP request.
|
||||||
|
This is specified as a URL query parameter.
|
||||||
|
|
||||||
|
### Sample Request
|
||||||
|
|
||||||
|
```text
|
||||||
|
$ curl \
|
||||||
|
https://consul.rocks/v1/operator/license
|
||||||
|
```
|
||||||
|
|
||||||
|
### Sample Response
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"Valid": true,
|
||||||
|
"License": {
|
||||||
|
"license_id": "2afbf681-0d1a-0649-cb6c-333ec9f0989c",
|
||||||
|
"customer_id": "0259271d-8ffc-e85e-0830-c0822c1f5f2b",
|
||||||
|
"installation_id": "*",
|
||||||
|
"issue_time": "2018-05-21T20:03:35.911567355Z",
|
||||||
|
"start_time": "2018-05-21T04:00:00Z",
|
||||||
|
"expiration_time": "2019-05-22T03:59:59.999Z",
|
||||||
|
"product": "consul",
|
||||||
|
"flags": {
|
||||||
|
"package": "premium"
|
||||||
|
},
|
||||||
|
"features": [
|
||||||
|
"Automated Backups",
|
||||||
|
"Automated Upgrades",
|
||||||
|
"Enhanced Read Scalability",
|
||||||
|
"Network Segments",
|
||||||
|
"Redundancy Zone",
|
||||||
|
"Advanced Network Federation"
|
||||||
|
],
|
||||||
|
"temporary": false
|
||||||
|
},
|
||||||
|
"Warnings": []
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Updating the Consul License
|
||||||
|
|
||||||
|
This endpoint updates the Consul license and returns some of the
|
||||||
|
license contents as well as any warning messages regarding its validity.
|
||||||
|
|
||||||
|
| Method | Path | Produces |
|
||||||
|
| ------ | ---------------------------- | -------------------------- |
|
||||||
|
| `PUT` | `/operator/license` | `application/json` |
|
||||||
|
|
||||||
|
The table below shows this endpoint's support for
|
||||||
|
[blocking queries](/api/index.html#blocking-queries),
|
||||||
|
[consistency modes](/api/index.html#consistency-modes), and
|
||||||
|
[required ACLs](/api/index.html#acls).
|
||||||
|
|
||||||
|
| Blocking Queries | Consistency Modes | ACL Required |
|
||||||
|
| ---------------- | ----------------- | ---------------- |
|
||||||
|
| `NO` | `none` | `operator:write` |
|
||||||
|
|
||||||
|
### Parameters
|
||||||
|
|
||||||
|
- `dc` `(string: "")` - Specifies the datacenter whose license should be updated.
|
||||||
|
This will default to the datacenter of the agent serving the HTTP request.
|
||||||
|
This is specified as a URL query parameter.
|
||||||
|
|
||||||
|
### Sample Payload
|
||||||
|
|
||||||
|
The payload is the raw license blob.
|
||||||
|
|
||||||
|
### Sample Request
|
||||||
|
|
||||||
|
```text
|
||||||
|
$ curl \
|
||||||
|
--request PUT \
|
||||||
|
--data @consul.license \
|
||||||
|
https://consul.rocks/v1/operator/license
|
||||||
|
```
|
||||||
|
|
||||||
|
### Sample Response
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"Valid": true,
|
||||||
|
"License": {
|
||||||
|
"license_id": "2afbf681-0d1a-0649-cb6c-333ec9f0989c",
|
||||||
|
"customer_id": "0259271d-8ffc-e85e-0830-c0822c1f5f2b",
|
||||||
|
"installation_id": "*",
|
||||||
|
"issue_time": "2018-05-21T20:03:35.911567355Z",
|
||||||
|
"start_time": "2018-05-21T04:00:00Z",
|
||||||
|
"expiration_time": "2019-05-22T03:59:59.999Z",
|
||||||
|
"product": "consul",
|
||||||
|
"flags": {
|
||||||
|
"package": "premium"
|
||||||
|
},
|
||||||
|
"features": [
|
||||||
|
"Automated Backups",
|
||||||
|
"Automated Upgrades",
|
||||||
|
"Enhanced Read Scalability",
|
||||||
|
"Network Segments",
|
||||||
|
"Redundancy Zone",
|
||||||
|
"Advanced Network Federation"
|
||||||
|
],
|
||||||
|
"temporary": false
|
||||||
|
},
|
||||||
|
"Warnings": []
|
||||||
|
}
|
||||||
|
```
|
@ -0,0 +1,109 @@
|
|||||||
|
---
|
||||||
|
layout: "docs"
|
||||||
|
page_title: "Commands: License"
|
||||||
|
sidebar_current: "docs-commands-license"
|
||||||
|
description: >
|
||||||
|
The license command provides datacenter-level management of the Consul Enterprise license.
|
||||||
|
---
|
||||||
|
|
||||||
|
# Consul License
|
||||||
|
|
||||||
|
Command: `consul license`
|
||||||
|
|
||||||
|
<%= enterprise_alert :consul %>
|
||||||
|
|
||||||
|
The `license` command provides datacenter-level management of the Consul Enterprise license. This was added in Consul 1.1.0.
|
||||||
|
|
||||||
|
If ACLs are enabled then a token with operator privileges may be required in
|
||||||
|
order to use this command. Requests are forwarded internally to the leader
|
||||||
|
if required, so this can be run from any Consul node in a cluster. See the
|
||||||
|
[ACL Guide](/docs/guides/acl.html#operator) for more information.
|
||||||
|
|
||||||
|
|
||||||
|
```text
|
||||||
|
Usage: consul license <subcommand> [options] [args]
|
||||||
|
|
||||||
|
This command has subcommands for managing the Consul Enterprise license
|
||||||
|
Here are some simple examples, and more detailed examples are
|
||||||
|
available in the subcommands or the documentation.
|
||||||
|
|
||||||
|
Install a new license from a file:
|
||||||
|
|
||||||
|
$ consul license put @consul.license
|
||||||
|
|
||||||
|
Install a new license from stdin:
|
||||||
|
|
||||||
|
$ consul license put -
|
||||||
|
|
||||||
|
Install a new license from a string:
|
||||||
|
|
||||||
|
$ consul license put "<license blob>"
|
||||||
|
|
||||||
|
Retrieve the current license:
|
||||||
|
|
||||||
|
$ consul license get
|
||||||
|
|
||||||
|
For more examples, ask for subcommand help or view the documentation.
|
||||||
|
|
||||||
|
Subcommands:
|
||||||
|
get Get the current license
|
||||||
|
put Puts a new license in the datacenter
|
||||||
|
```
|
||||||
|
|
||||||
|
## put
|
||||||
|
|
||||||
|
This command sets the Consul Enterprise license.
|
||||||
|
|
||||||
|
Usage: `consul license put [options] LICENSE`
|
||||||
|
|
||||||
|
#### API Options
|
||||||
|
|
||||||
|
<%= partial "docs/commands/http_api_options_client" %>
|
||||||
|
<%= partial "docs/commands/http_api_options_server" %>
|
||||||
|
|
||||||
|
The output looks like this:
|
||||||
|
|
||||||
|
```
|
||||||
|
License is valid
|
||||||
|
License ID: 2afbf681-0d1a-0649-cb6c-333ec9f0989c
|
||||||
|
Customer ID: 0259271d-8ffc-e85e-0830-c0822c1f5f2b
|
||||||
|
Expires At: 2019-05-22 03:59:59.999 +0000 UTC
|
||||||
|
Datacenter: *
|
||||||
|
Package: premium
|
||||||
|
Licensed Features:
|
||||||
|
Automated Backups
|
||||||
|
Automated Upgrades
|
||||||
|
Enhanced Read Scalability
|
||||||
|
Network Segments
|
||||||
|
Redundancy Zone
|
||||||
|
Advanced Network Federation
|
||||||
|
```
|
||||||
|
|
||||||
|
## get
|
||||||
|
|
||||||
|
This command gets the Consul Enterprise license.
|
||||||
|
|
||||||
|
Usage: `consul license get [options]`
|
||||||
|
|
||||||
|
#### API Options
|
||||||
|
|
||||||
|
<%= partial "docs/commands/http_api_options_client" %>
|
||||||
|
<%= partial "docs/commands/http_api_options_server" %>
|
||||||
|
|
||||||
|
The output looks like this:
|
||||||
|
|
||||||
|
```
|
||||||
|
License is valid
|
||||||
|
License ID: 2afbf681-0d1a-0649-cb6c-333ec9f0989c
|
||||||
|
Customer ID: 0259271d-8ffc-e85e-0830-c0822c1f5f2b
|
||||||
|
Expires At: 2019-05-22 03:59:59.999 +0000 UTC
|
||||||
|
Datacenter: *
|
||||||
|
Package: premium
|
||||||
|
Licensed Features:
|
||||||
|
Automated Backups
|
||||||
|
Automated Upgrades
|
||||||
|
Enhanced Read Scalability
|
||||||
|
Network Segments
|
||||||
|
Redundancy Zone
|
||||||
|
Advanced Network Federation
|
||||||
|
```
|
Loading…
Reference in new issue