10Duke Scale C++ Client
|
#include <Lease.h>
Public Member Functions | |
Lease () | |
No-arg constructs new instance. | |
Lease (std::string id, std::int64_t expiresEpochS, std::int64_t issuedAtEpochS, std::int64_t timeOfEventEpochS, std::string status, std::string leaseId, std::string oldLeaseId, std::int64_t heartbeatNotBeforeEpochS, std::string productName, std::string productConfigurationName, std::string licenseId, std::string type, int64_t preallocatedQuantity, int64_t verifiedQuantity, std::string quantityDimension, const std::vector< std::string > &features, std::string licenseConsumerId, std::string licenseConsumerEmail, std::string licenseConsumerExternalReference, std::string licenseConsumerConnectedIdentityId, const std::map< std::string, std::string > &clientClaims, std::string token, std::string licenseKey, bool metered, std::string keyId) | |
Constructs new nstance. | |
bool | neverExpires () const |
Returns true if the lease never expires. | |
Public Attributes | |
const std::string | id |
"jti" JWT ID: unique id of the license token, you may use this in the client application to prevent token replay | |
const std::int64_t | expiresEpochS |
“exp” Expiration Time: marks the expiration time of the License and License Token as epoch seconds | |
const std::int64_t | issuedAtEpochS |
“iat” Issued At: marks the time the License Token was issued. | |
const std::int64_t | timeOfEventEpochS |
"toe” Time of Event: the checkout / last heartbeat timestamp recorded for the license checkout | |
const std::string | status |
"status" Status flag: “success” or “error” indicating if the checkout succeeded or failed | |
const std::string | leaseId |
"leaseId" Unique identifier of the current license checkout. | |
const std::string | oldLeaseId |
"oldLeaseId" Heartbeats generate new lease id. | |
const std::int64_t | heartbeatNotBeforeEpochS |
"hbnbf" Heartbeat not before: the earliest allowed time when a checkout can be heartbeat. | |
const std::string | productName |
"productName" Name of the product that the license allows to use. | |
const std::string | productConfigurationName |
"productConfigurationName" Name of the product configuration used to create the license. | |
const std::string | licenseId |
Id of the license. | |
const std::string | type |
"type" License type: DYNAMIC_PRODUCT or PRECONFIGURED_PRODUCT. | |
const std::int64_t | preallocatedQuantity |
“qtyPrealloc” Quantity that was preallocated at time of checkout, applicable for use count and use time based licenses. | |
const std::int64_t | verifiedQuantity |
“qtyVerified” Quantity that has been verified to be used. | |
const std::string | quantityDimension |
“qtyDimension” Describes the quantity dimension of the licenses. | |
const std::vector< std::string > | features |
“features” An array specifying what features the license enables. | |
const std::string | licenseConsumerId |
“licenseConsumerId” Identifier of the license consumer that checked out the licenses. | |
const std::string | licenseConsumerEmail |
“licenseConsumerEmail” Email of the license consumer that checked out the licenses. | |
const std::string | licenseConsumerExternalReference |
“licenseConsumerExternalReference” External reference identifier of the license consumer that checked out the licenses. | |
const std::string | licenseConsumerConnectedIdentityId |
“licenseConsumerConnectedIdentityId” Connected identity id of the license consumer that checked out the licenses. | |
const std::map< std::string, std::string > | clientClaims |
“clientClaims” A map echoing back the claims used by the client application to checkout the license. | |
const std::string | token |
Full token text from which this lease was parsed. | |
const std::string | licenseKey |
License key used to checkout this lease. | |
const bool | metered |
Was this lease checked out as metered?. | |
const std::string | keyId |
JWT validation key id (claim "jki" from the JWT header). | |
Static Public Attributes | |
static const std::int64_t | NEVER_EXPIRES_EPOCH_S_MAGIC = INT64_MIN |
Magic value for "expiresEpochS" which indicates that the lease never expires. | |
tenduke::se::licensing::Lease::Lease | ( | std::string | id, |
std::int64_t | expiresEpochS, | ||
std::int64_t | issuedAtEpochS, | ||
std::int64_t | timeOfEventEpochS, | ||
std::string | status, | ||
std::string | leaseId, | ||
std::string | oldLeaseId, | ||
std::int64_t | heartbeatNotBeforeEpochS, | ||
std::string | productName, | ||
std::string | productConfigurationName, | ||
std::string | licenseId, | ||
std::string | type, | ||
int64_t | preallocatedQuantity, | ||
int64_t | verifiedQuantity, | ||
std::string | quantityDimension, | ||
const std::vector< std::string > & | features, | ||
std::string | licenseConsumerId, | ||
std::string | licenseConsumerEmail, | ||
std::string | licenseConsumerExternalReference, | ||
std::string | licenseConsumerConnectedIdentityId, | ||
const std::map< std::string, std::string > & | clientClaims, | ||
std::string | token, | ||
std::string | licenseKey, | ||
bool | metered, | ||
std::string | keyId | ||
) |
Constructs new nstance.
id | - |
expiresEpochS | - |
issuedAtEpochS | - |
timeOfEventEpochS | - |
status | - |
leaseId | - |
oldLeaseId | - |
heartbeatNotBeforeEpochS | - |
productName | - |
productConfigurationName | - |
licenseId | - |
type | - |
preallocatedQuantity | - |
verifiedQuantity | - |
quantityDimension | - |
features | - |
licenseConsumerId | - |
licenseConsumerEmail | - |
licenseConsumerExternalReference | - |
licenseConsumerConnectedIdentityId | - |
clientClaims | - |
token | - |
licenseKey | - |
metered | - |
keyId | - |
bool tenduke::se::licensing::Lease::neverExpires | ( | ) | const |
Returns true
if the lease never expires.
const std::int64_t tenduke::se::licensing::Lease::heartbeatNotBeforeEpochS |
"hbnbf" Heartbeat not before: the earliest allowed time when a checkout can be heartbeat.
The value is in epoch seconds.
const std::string tenduke::se::licensing::Lease::leaseId |
"leaseId" Unique identifier of the current license checkout.
This id will be unique to each checkout and heartbeat.
const std::string tenduke::se::licensing::Lease::licenseConsumerConnectedIdentityId |
“licenseConsumerConnectedIdentityId” Connected identity id of the license consumer that checked out the licenses.
This claim is present only if such a value has been stored for the license consumer. Connected identity id = OpenID Connect user id.
const std::string tenduke::se::licensing::Lease::licenseConsumerEmail |
“licenseConsumerEmail” Email of the license consumer that checked out the licenses.
This claim is present only if an email has been stored for the license consumer.
const std::string tenduke::se::licensing::Lease::licenseConsumerExternalReference |
“licenseConsumerExternalReference” External reference identifier of the license consumer that checked out the licenses.
This claim is present only if such a value has been stored for the license consumer.
const std::string tenduke::se::licensing::Lease::licenseKey |
License key used to checkout this lease.
Empty if not checked with license key.
const std::string tenduke::se::licensing::Lease::oldLeaseId |
"oldLeaseId" Heartbeats generate new lease id.
On heartbeat-requests this tracks the original lease id.
const std::int64_t tenduke::se::licensing::Lease::preallocatedQuantity |
“qtyPrealloc” Quantity that was preallocated at time of checkout, applicable for use count and use time based licenses.
Value is always 0 for seat based licenses.
const std::string tenduke::se::licensing::Lease::productConfigurationName |
"productConfigurationName" Name of the product configuration used to create the license.
This claim is not present if the license is based on a dynamic feature licenses (in other words, license was not issued using a product configuration).
const std::string tenduke::se::licensing::Lease::productName |
"productName" Name of the product that the license allows to use.
Value matches the name by which the license was checked out.
const std::string tenduke::se::licensing::Lease::quantityDimension |
“qtyDimension” Describes the quantity dimension of the licenses.
Value is one of: SEATS, USE_COUNT, USE_TIME
const std::string tenduke::se::licensing::Lease::type |
"type" License type: DYNAMIC_PRODUCT or PRECONFIGURED_PRODUCT.
Value specifies if the license is based on a product configuration or if it was created by dynamically specifying product name and features on the fly.
const std::int64_t tenduke::se::licensing::Lease::verifiedQuantity |
“qtyVerified” Quantity that has been verified to be used.
Value is always 1 for seat based licenses.