123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- [role="xpack"]
- [testenv="basic"]
- [[update-license]]
- === Update license API
- ++++
- <titleabbrev>Update license</titleabbrev>
- ++++
- This API enables you to update your license.
- [[update-license-api-request]]
- ==== {api-request-title}
- `PUT _license`
- `POST _license`
- [[update-license-api-prereqs]]
- ==== {api-prereq-title}
- If {es} {security-features} are enabled, you need `manage` cluster privileges to
- install the license.
- If {es} {security-features} are enabled and you are installing a gold or platinum
- license, you must enable TLS on the transport networking layer before you
- install the license. See <<configuring-tls>>.
- [[update-license-api-desc]]
- ==== {api-description-title}
- You can update your license at runtime without shutting down your nodes.
- License updates take effect immediately. If the license you are installing does
- not support all of the features that were available with your previous license,
- however, you are notified in the response. You must then re-submit the API
- request with the `acknowledge` parameter set to `true`.
- For more information about the different types of licenses, see
- https://www.elastic.co/subscriptions.
- [[update-license-api-query-params]]
- ==== {api-query-parms-title}
- `acknowledge`::
- (Optional, boolean)
- Specifies whether you acknowledge the license changes. The default
- value is `false`.
- [[update-license-api-request-body]]
- ==== {api-request-body-title}
- `licenses`::
- (Required, array)
- A sequence of one or more JSON documents containing the license information.
- [[update-license-api-example]]
- ==== {api-examples-title}
- The following example updates to a basic license:
- [source,console]
- ------------------------------------------------------------
- PUT _license
- {
- "licenses": [
- {
- "uid":"893361dc-9749-4997-93cb-802e3d7fa4xx",
- "type":"basic",
- "issue_date_in_millis":1411948800000,
- "expiry_date_in_millis":1914278399999,
- "max_nodes":1,
- "issued_to":"issuedTo",
- "issuer":"issuer",
- "signature":"xx"
- }
- ]
- }
- ------------------------------------------------------------
- // TEST[skip:license testing issues]
- NOTE: These values are invalid; you must substitute the appropriate content
- from your license file.
- You can also install your license file using a `curl` command. Be sure to add
- `@` before the license file path to instruct curl to treat it as an input file.
- [source,shell]
- ------------------------------------------------------------
- curl -XPUT -u <user> 'http://<host>:<port>/_license' -H "Content-Type: application/json" -d @license.json
- ------------------------------------------------------------
- // NOTCONSOLE
- On Windows, use the following command:
- [source,shell]
- ------------------------------------------------------------
- Invoke-WebRequest -uri http://<host>:<port>/_xpack/license -Credential elastic -Method Put -ContentType "application/json" -InFile .\license.json
- ------------------------------------------------------------
- In these examples,
- * `<user>` is a user ID with the appropriate authority.
- * `<host>` is the hostname of the {es} node (`localhost` if executing
- locally)
- * `<port>` is the http port (defaults to `9200`)
- * `license.json` is the license JSON file
- NOTE: If your {es} node has SSL enabled on the HTTP interface, you must
- start your URL with `https://`
- If you previously had a license with more features than the basic license, you
- receive the following response:
- [source,js]
- ------------------------------------------------------------
- {
- "acknowledged": false,
- "license_status": "valid",
- "acknowledge": {
- "message": """This license update requires acknowledgement. To acknowledge the license, please read the following messages and update the license again, this time with the "acknowledge=true" parameter:""",
- "watcher": [
- "Watcher will be disabled"
- ],
- "logstash": [
- "Logstash will no longer poll for centrally-managed pipelines"
- ],
- "security": [
- "The following X-Pack security functionality will be disabled: ..." ]
- }
- }
- ------------------------------------------------------------
- // NOTCONSOLE
- To complete the update, you must re-submit the API request and set the
- `acknowledge` parameter to `true`. For example:
- [source,console]
- ------------------------------------------------------------
- PUT _license?acknowledge=true
- {
- "licenses": [
- {
- "uid":"893361dc-9749-4997-93cb-802e3d7fa4xx",
- "type":"basic",
- "issue_date_in_millis":1411948800000,
- "expiry_date_in_millis":1914278399999,
- "max_nodes":1,
- "issued_to":"issuedTo",
- "issuer":"issuer",
- "signature":"xx"
- }
- ]
- }
- ------------------------------------------------------------
- // TEST[skip:license testing issues]
- Alternatively:
- [source,sh]
- ------------------------------------------------------------
- curl -XPUT -u elastic 'http://<host>:<port>/_license?acknowledge=true' -H "Content-Type: application/json" -d @license.json
- ------------------------------------------------------------
- // NOTCONSOLE
- For more information about the features that are disabled when you downgrade
- your license, see {stack-ov}/license-expiration.html[License Expiration].
|