- Revenera Community
- :
- FlexNet Operations
- :
- FlexNet Operations Forum
- :
- Re: Customer Portal, FNE Cloud license server, process to see available licenses.
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Having difficulty finding a way to see remaining available licenses.
I can find out (in a long way) by going to:
Devices > Select the device
View > View Served Devices
Click on each Served Device > find out "Count"
accumulate the "Counts" and then check against "Qty mapped" for the Server .
I am assuming there is an easier way to do this. But I am new to Flexera and need help
Also how do you release a license that is checked out but forgotten to be released (by a Customer Portal admin)
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Hi @ertugrul ,
You seem close, yet might be missing steps 1 and 2 (detailed below).
Steps:
1. Add a User with Portal Admin User Role permissions to the entitled account with a CLS.
2. Set a Password for CLS by Portal Admin User Role in Customer Portal
3) /authorize REST API
4) /features REST API
++++++++++++++++++++++++++++++++++
More detailed steps:
1. For the entitled account, please add a User with the "Portal Admin User Role" enabled.
2. Now with this User account above, log into the Customer Portal, locate your CLS device and from the "Action" menu, pull down and "Set Password".
From here, you can use the REST APIs.
3. Authorize - https://flexXXXX.compliance.flexnetoperations.com/api/1.0/instances/XXXXXXXXXXXX/authorize using a body:
{
"user":"admin",
"password":"PasswordFromStep2Above"
}
where XXXXXXXXXXXX is your unique CLS ID
4. Features - https://flexxxxx.compliance.flexnetoperations.com/api/1.0/instances/XXXXXXXXXXXX/features
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Hi @ertugrul ,
Apologies for the delayed response due to travel and holiday and travel and did I say travel? 😉
cURL to delete clients looks feasible based upon the documentation. There is one example (not your use case though) in attachments.
The command to delete (spitballing)
curl -X DELETE --url licenseServer_baseURL/clients/{id}
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Hello @ertugrul ,
The password you set for the Cloud License Server in the Customer Portal is for the user "admin". Please use "admin" instead of userx@gmail.com to authorize.
Thanks,
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Hi @ertugrul ,
Did some more digging into using curl to authorize. This format worked:
"expires" : "2019-09-28T12:24:43.258Z",
"token" : "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImlzcyI6IkNVTDY4TUhaWEFVRCIsImlhdCI6MTU2OTU4NzA4MywiZXhwIjoxNTY5NjczNDgzLCJyb2xlcyI6IlJPTEVfQURNSU4sUk9MRV9EUk9QQ0xJRU5ULFJPTEVfUkVBRCxST0xFX1JFU0VSVkFUSU9OUyIsInhzcmZUb2tlbiI6ImEyNGY3Zjg0LWU3YmEtNDBmZC05ZThiLTQ0YWNlMTY0ZTcxOCJ9.AB1SaFitfnPUwbsKDG8uNXBUGSUtkzcPsyTwNrODDe1BvX3IaKn7gPWIobHCXp_ZBtiqRPek5YuPGA04ERJrNx"
}
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Hi @ertugrul ,
Glad to hear you were able to successfully view the features. You definitely need the referenced License Server Producer Guide to get access to the REST API documentation as it has the information you are requesting.
If you look at your response from /features you will see that each licensed feature has an associated id. You can then use that id to see all devices/clients which currently have a license for that feature. To do this send the request to /features/{featureid}/clients. Here's an example request & response for devices which have a license for a feature with id 179837:
curl -k -X GET -H "Content-type:application/json" -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImlzcyI6IkNVTDY4TUhaWEFVRCIsImlhdCI6MTU2OTU4NzA4MywiZXhwIjoxNTY5NjczNDgzLCJyb2xlcyI6IlJPTEVfQURNSU4sUk9MRV9EUk9QQ0xJRU5ULFJPTEVfUkVBRCxST0xFX1JFU0VSVkFUSU9OUyIsInhzcmZUb2tlbiI6ImEyNGY3Zjg0LWU3YmEtNDBmZC05ZThiLTQ0YWNlMTY0ZTcxOCJ9.AB1SaFitfnPUwbsKDG8uNXBUGSUtkzcPsyTwNrODDe1BvX3IaKn7gPWIobHCXp_ZBtiqRPek5YuPGA04ERJrNx" https://flexNNNN.compliance.flexnetoperations.com/api/1.0/instances/yourCLSID/features/179837/clients
[ {
"id" : 967863608,
"usageKind" : "CONCURRENT_USAGE",
"client" : {
"id" : 441852507,
"hostid" : {
"hostidValue" : "MyDevice1",
"hostidType" : "STRING"
},
"updateTime" : "2019-09-27T17:31:21.918Z",
"servedStatus" : "NORMAL",
"hostType" : "FLX_CLIENT",
"machineType" : "PHYSICAL",
"trusted" : false,
"correlationId" : "d6e10cea-bacc-4f8d-8ab9-533e6c34d595",
"collectedHostIds" : "STRING MyDevice1",
"requestOperation" : "REQUEST",
"requestHostid" : {
"hostidValue" : "MyDevice1",
"hostidType" : "STRING"
},
"serverHostid" : {
"hostidValue" : "CUL68MHZXAUD",
"hostidType" : "STRING"
},
"expiry" : "2019-10-04T17:31:21.918Z"
},
"useCount" : 1,
"reservedCount" : 0
} ]
The response contains id(s) for all clients with this license feature. To return a license for a given client, you will want to send a DELETE to the /clients/{deviceid} endpoint. Here's an example:
curl -k -X DELETE -H "Content-type:application/json" -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImlzcyI6IkNVTDY4TUhaWEFVRCIsImlhdCI6MTU2OTU4NzA4MywiZXhwIjoxNTY5NjczNDgzLCJyb2xlcyI6IlJPTEVfQURNSU4sUk9MRV9EUk9QQ0xJRU5ULFJPTEVfUkVBRCxST0xFX1JFU0VSVkFUSU9OUyIsInhzcmZUb2tlbiI6ImEyNGY3Zjg0LWU3YmEtNDBmZC05ZThiLTQ0YWNlMTY0ZTcxOCJ9.AB1SaFitfnPUwbsKDG8uNXBUGSUtkzcPsyTwNrODDe1BvX3IaKn7gPWIobHCXp_ZBtiqRPek5YuPGA04ERJrNx" https://flexNNNN.compliance.flexnetoperations.com/api/1.0/instances/yourCLSID/clients/441852507
The license for this client is now returned to the server license pool.
Note you have the ability to set a policy on the server to determine how frequently devices can be deleted to prevent "dishonest" users from trying to overuse licenses above their entitled quantity.
Best regards,
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Hi @ertugrul,
In the License Server Producer Guide there is a section on "Set Policies". You use a PUT with the /configuration endpoint to set a particular policy parameter.
So, let's say you want to enforce a 1day period between client deletions. Using curl this would look like:
curl -k -X PUT -H "Content-type:application/json" -d "{\"licensing.dropClientEnforcedDelay\":\"1d\"}" -H "Authorization: Bearer producertoken" https://flexNNNN.compliance.flexnetoperations.com/api/1.0/instances/yourCLSID/configuration
Notice you cannot use the token obtain by authenticating with admin credentials as you don't want your end customers to be able to modify this policy. It must be sent with the token obtained from authenticating with producer credentials. As I referenced in my last post in this thread, you will need to submit a support ticket to get the Producer password set for your instance. Once you submit the ticket please post the Case# here and I can try to get it expedited.
Best regards,
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Hi @ertugrul,
In the License Server Producer Guide there is a section on "Set Policies". You use a PUT with the /configuration endpoint to set a particular policy parameter.
So, let's say you want to enforce a 1day period between client deletions. Using curl this would look like:
curl -k -X PUT -H "Content-type:application/json" -d "{\"licensing.dropClientEnforcedDelay\":\"1d\"}" -H "Authorization: Bearer producertoken" https://flexNNNN.compliance.flexnetoperations.com/api/1.0/instances/yourCLSID/configuration
Notice you cannot use the token obtain by authenticating with admin credentials as you don't want your end customers to be able to modify this policy. It must be sent with the token obtained from authenticating with producer credentials. As I referenced in my last post in this thread, you will need to submit a support ticket to get the Producer password set for your instance. Once you submit the ticket please post the Case# here and I can try to get it expedited.
Best regards,
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Ticket no is 01916125. They created it but said they need to get DBA to enable it for old devices created before.
Also I was trying to get information about License Overdraft. I was told that is not for Embedded (FNE) Licenses but of FNP licenses.
Is there a way to define FNE license so that a customer license can go over for a short period. ( And enable a policy so that when they do that we get an alert so Sales could contact them. ) I remember such a concept while watching the training videos. Again this is all new to me so thanks for bearing with my trivial questions 🙂
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Hi @ertugrul,
License overdraft is certainly applicable to served licenses using FNE. In the license model you have the option to specify unlimited, a fixed quantity, a fixed percentage of entitled quantity or specify an overdraft percentage at time of entitlement. There is no mechanism to specify the overage for a limited period of time nor are there alerts if the customer enters into an overdraft state. Using the REST APIs you can query the server to see if it serving licenses in the overdraft state and then take appropriate action.
Thanks,
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Finally got the REST API documentation! yes!
and I got the list I wanted! 🙂
.../features > to get the {featureid}
.../features/{featureid}/clients > active usage
----<
......features/656312/clients > gives me my active license used
[ {
"id" : 465949816,
"usageKind" : "CONCURRENT_USAGE",
"client" : {
"id" : 151451699,
"hostid" : {
"hostidValue" : "ertugrul",
"hostidType" : "USER"
},
"updateTime" : "2019-09-27T17:38:29.838Z",
"servedStatus" : "NORMAL",
"machineType" : "PHYSICAL",
"trusted" : false,
"correlationId" : "b3f6a54b-ccf9-49ed-a327-0181b71d9aab",
"collectedHostIds" : "USER ertugrul",
"requestOperation" : "REQUEST",
"requestHostid" : {
"hostidValue" : "ertugrul",
"hostidType" : "USER"
},
"serverHostid" : {
"hostidValue" : "blahblah",
"hostidType" : "STRING"
},
"expiry" : "2019-10-01T06:59:59.999Z"
},
"useCount" : 1,
"reservedCount" : 0
} ]
----
...
curl -k DELETE {blah} ../[balhblah]/features/656312/clients/465949816 >> gives error
{
"key" : "glsErr.restNoSuchApi",
"message" : "No such REST API and METHOD combination supported: uri=REDACTED with DELETE for user (unknown)",
"arguments" : [ "uri=REDACTED", "DELETE", "(unknown)" ]
}
--
curl -k DELETE -H { blah} .../features/656312/clients/151451699
{
"key" : "glsErr.restNoSuchApi",
"message" : "No such REST API and METHOD combination supported: uri=REDACTED with DELETE for user (unknown)",
"arguments" : [ "uri=REDACTED", "DELETE", "(unknown)" ]
}
---
So how do I revoke this client license connection?
and is there a way to setup an automated e-mail when a license revoked this way.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Hi @ertugrul,
Send a DELETE to /clients/{deviceid} to reclaim the license as opposed to /features/{featureid}/clients/{deviceid}.
There is no mechanism to send an automated email following the DELETE. As referenced in my previous post you can set a policy to limit the frequency of deletion.
Best regards,