added GriddClientRequestFlow.md
This commit is contained in:
parent
0c9cc40123
commit
7fafb27f86
364
doc/GriddClientRequestFlow.md
Normal file
364
doc/GriddClientRequestFlow.md
Normal file
@ -0,0 +1,364 @@
|
||||
# GRIDD Client Request Flow
|
||||
|
||||
This document describes the API calls and responses which are done between a GRIDD-Client and the NLS Instance.
|
||||
|
||||
The following Requests and responses are done with Insomnia on the official NLS.
|
||||
|
||||
- `Client`: The GRIDD-Client which needs to be licensed
|
||||
- `NLS`: NVIDIA Licensing Server
|
||||
- `DLS`: **Our** FastAPI-DLS Delegated Licensing Server
|
||||
|
||||
[TOC]
|
||||
|
||||
# 1. Client-Token
|
||||
|
||||
On the official NVIDIA behaviour, it's required to donwload the `ClientToken` manually and upload it to the clients
|
||||
`ClientToken`-Directory.
|
||||
On **out** Setup, the `Client` can directly downlaod the token from FastAPI-DLS.
|
||||
|
||||
### Content
|
||||
|
||||
```
|
||||
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJiZjQ2NWYxYi1kMGY2LTRlYjctODI3YS0wYTViNjQ0NmQwNDQiLCJpc3MiOiJOTFMgU2VydmljZSBJbnN0YW5jZSIsImF1ZCI6Ik5MUyBMaWNlbnNlZCBDbGllbnQiLCJpYXQiOjE3NDQzOTc2ODgsIm5iZiI6MTc0NDM5NzY4OCwiZXhwIjoyMTIzMTA3MTk5LCJwcm90b2NvbF92ZXJzaW9uIjoiMi4wIiwidXBkYXRlX21vZGUiOiJBQlNPTFVURSIsInNjb3BlX3JlZl9saXN0IjpbIjQ1ODVjOTA4LWIzNzUtNDIyNi1hODM4LWE0YTMxNWM5YjkwNCJdLCJmdWxmaWxsbWVudF9jbGFzc19yZWZfbGlzdCI6W10sInNlcnZpY2VfaW5zdGFuY2VfY29uZmlndXJhdGlvbiI6eyJubHNfc2VydmljZV9pbnN0YW5jZV9yZWYiOiJkOGMwN2U0YS1mNmE0LTQ5ZDAtYjJkYy0zZmFmMGUxYmYyYmQiLCJzdmNfcG9ydF9zZXRfbGlzdCI6W3siaWR4IjowLCJkX25hbWUiOiJETFMiLCJzdmNfcG9ydF9tYXAiOlt7InNlcnZpY2UiOiJhdXRoIiwicG9ydCI6NDQzLjB9LHsic2VydmljZSI6ImxlYXNlIiwicG9ydCI6NDQzLjB9LHsic2VydmljZSI6InF1aWNrX3JlbGVhc2UiLCJwb3J0Ijo4MH1dfV0sIm5vZGVfdXJsX2xpc3QiOlt7ImlkeCI6MCwidXJsIjoiMTkyLjE2OC4xNzguMjA4IiwidXJsX3FyIjoiMTkyLjE2OC4xNzguMjA4Iiwic3ZjX3BvcnRfc2V0X2lkeCI6MH1dfSwic2VydmljZV9pbnN0YW5jZV9wdWJsaWNfa2V5X2NvbmZpZ3VyYXRpb24iOnsic2VydmljZV9pbnN0YW5jZV9wdWJsaWNfa2V5X21lIjp7Im1vZCI6ImUyMTI5MDRhM2M5Njc1NjAyZjkxMmI1NTNkMTg0YWU0ZTZjMTBkN2VhMDg0NWUxNDJlNDk4MzA3OTg4YTc1ZWM0MDU4ZjNjYTY4NzA4NjFjNDQ3ZWQ0NjE4MDA2YzAzMDUzZDgyN2Q2N2M2MTIzNTllOTllODMzYTZiZGFhOTcxN2MwYzQ1MzdmOTQ3NWUzMzQ4NjhhY2NiM2JhMGU5MjI1MjUzMjkzMTljYjFiNTJiYWI5ODRkMzQyOGY3OWIxNzI5ZTdiYjZjMGNlODFjNDQ2MTU4YWY1NGM2YTkyMmJjYmMxNmRhYjFhMjViYzg1MTFiODUwNzQzZjExYWRjZTU2YjhjZjZkMTFkZjlhYzY4OTliOGI1YjdmNmEwMTkxOWQ1MmRmMTg3MzQwODIyNGFkNWYxZmRkMTUxZWQ1MmM3MTQzZjg5ZmI1ZmU1NDY5ODM5OWNlYmJiYTliMmUxMjZmZmJjODhjNDUzYWU5Mjg4MzllNDI3MDZlYTU0YTc2NDIzY2VhYWRiNTYwYjVlYWVjMzMyMmZhZjAxNTIwNGU2YjczZjQ5NjYzM2ZlMjQ1OWZjYzcyYzQ0M2FlODdkNWM1MDIyODFlYWVmNWViNWRkNzEyNjRmMjQyNDQ2NmQxM2ZjOGUzODYyMWNhNzg1ZWRhYTQwYjgxZmQyMWNlZTA1IiwiZXhwIjo2NTUzN30sInNlcnZpY2VfaW5zdGFuY2VfcHVibGljX2tleV9wZW0iOiItLS0tLUJFR0lOIFBVQkxJQyBLRVktLS0tLVxuTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUE0aEtRU2p5V2RXQXZrU3RWUFJoS1xuNU9iQkRYNmdoRjRVTGttREI1aUtkZXhBV1BQS2FIQ0dIRVIrMUdHQUJzQXdVOWduMW54aEkxbnBub002YTlxcFxuY1h3TVJUZjVSMTR6U0dpc3l6dWc2U0pTVXlreG5MRzFLNnVZVFRRbzk1c1hLZWU3YkF6b0hFUmhXSzlVeHFraVxudkx3VzJyR2lXOGhSRzRVSFEvRWEzT1ZyalBiUkhmbXNhSm00dGJmMm9Ca1oxUzN4aHpRSUlrclY4ZjNSVWUxU1xueHhRL2lmdGY1VWFZT1p6cnU2bXk0U2IvdklqRVU2NlNpRG5rSndicVZLZGtJODZxMjFZTFhxN0RNaSt2QVZJRVxuNXJjL1NXWXovaVJaL01jc1JEcm9mVnhRSW9IcTcxNjEzWEVtVHlRa1JtMFQvSTQ0WWh5bmhlMnFRTGdmMGh6dVxuQlFJREFRQUJcbi0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLSIsImtleV9yZXRlbnRpb25fbW9kZSI6IkxBVEVTVF9PTkxZIn19.uUFh17ouL3-2TtierjAq8uEtPGJzXp1zeBFc-4pYkS26lWaCQxbA80gQbtMHq5FeB6qgbhCKv8C2tm_PTNq8wavEgWxnx9xiFBTiaSG4gFWnabX3LjvoEZirBHqLzinThD5RlZ_ddT9LhmRVFMu25LeK2XkEgICgjz-9Vx7iB1yA2bWMqZNISfPE3mSh8xsZhAivBac6JfaSn4fX1ROmMXL0lsnV-N2j51N_KXZyfcaYaYZaGqzEYKfErZAFDSfgBWWpOL_DVSQJO7_UmRu3R4mDkRs2aC0rQJylJO90qbGVxZ7CcNmIqMuykMiErkSCauXt7oZ3GOP-g4G59ERBYw
|
||||
```
|
||||
|
||||
#### Decoded
|
||||
|
||||
(by jwt.io)
|
||||
|
||||
```json
|
||||
{
|
||||
"jti": "bf465f1b-d0f6-4eb7-827a-0a5b6446d044",
|
||||
"iss": "NLS Service Instance",
|
||||
"aud": "NLS Licensed Client",
|
||||
"iat": 1744397688,
|
||||
"nbf": 1744397688,
|
||||
"exp": 2123107199,
|
||||
"protocol_version": "2.0",
|
||||
"update_mode": "ABSOLUTE",
|
||||
"scope_ref_list": [
|
||||
"4585c908-b375-4226-a838-a4a315c9b904"
|
||||
],
|
||||
"fulfillment_class_ref_list": [],
|
||||
"service_instance_configuration": {
|
||||
"nls_service_instance_ref": "d8c07e4a-f6a4-49d0-b2dc-3faf0e1bf2bd",
|
||||
"svc_port_set_list": [
|
||||
{
|
||||
"idx": 0,
|
||||
"d_name": "DLS",
|
||||
"svc_port_map": [
|
||||
{
|
||||
"service": "auth",
|
||||
"port": 443
|
||||
},
|
||||
{
|
||||
"service": "lease",
|
||||
"port": 443
|
||||
},
|
||||
{
|
||||
"service": "quick_release",
|
||||
"port": 80
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"node_url_list": [
|
||||
{
|
||||
"idx": 0,
|
||||
"url": "192.168.178.208",
|
||||
"url_qr": "192.168.178.208",
|
||||
"svc_port_set_idx": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
"service_instance_public_key_configuration": {
|
||||
"service_instance_public_key_me": {
|
||||
"mod": "e212904a3c9675602f912b553d184ae4e6c10d7ea0845e142e498307988a75ec4058f3ca6870861c447ed4618006c03053d827d67c612359e99e833a6bdaa9717c0c4537f9475e334868accb3ba0e922525329319cb1b52bab984d3428f79b1729e7bb6c0ce81c446158af54c6a922bcbc16dab1a25bc8511b850743f11adce56b8cf6d11df9ac6899b8b5b7f6a01919d52df1873408224ad5f1fdd151ed52c7143f89fb5fe54698399cebbba9b2e126ffbc88c453ae928839e42706ea54a76423ceaadb560b5eaec3322faf015204e6b73f496633fe2459fcc72c443ae87d5c502281eaef5eb5dd71264f2424466d13fc8e38621ca785edaa40b81fd21cee05",
|
||||
"exp": 65537
|
||||
},
|
||||
"service_instance_public_key_pem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4hKQSjyWdWAvkStVPRhK\n5ObBDX6ghF4ULkmDB5iKdexAWPPKaHCGHER+1GGABsAwU9gn1nxhI1npnoM6a9qp\ncXwMRTf5R14zSGisyzug6SJSUykxnLG1K6uYTTQo95sXKee7bAzoHERhWK9Uxqki\nvLwW2rGiW8hRG4UHQ/Ea3OVrjPbRHfmsaJm4tbf2oBkZ1S3xhzQIIkrV8f3RUe1S\nxxQ/iftf5UaYOZzru6my4Sb/vIjEU66SiDnkJwbqVKdkI86q21YLXq7DMi+vAVIE\n5rc/SWYz/iRZ/McsRDrofVxQIoHq71613XEmTyQkRm0T/I44Yhynhe2qQLgf0hzu\nBQIDAQAB\n-----END PUBLIC KEY-----",
|
||||
"key_retention_mode": "LATEST_ONLY"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
# 2. Config Token
|
||||
|
||||
### Request
|
||||
|
||||
- `POST /leasing/v1/config-token`
|
||||
|
||||
```json
|
||||
{
|
||||
"service_instance_ref": "d8c07e4a-f6a4-49d0-b2dc-3faf0e1bf2bd"
|
||||
}
|
||||
```
|
||||
|
||||
### Response
|
||||
|
||||
```json
|
||||
{
|
||||
"certificateConfiguration": {
|
||||
"caChain": [
|
||||
"-----BEGIN CERTIFICATE-----\r\nMIIF3TCCA8WgAwIBAgIUCpVszfecRrnPa3EGwPKuyWESBmMwDQYJKoZIhvcNAQELBQAwcjELMAkG\r\nA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExDzANBgNVBAoTBk52aWRpYTEnMCUGA1UECxMe\r\nTnZpZGlhIExpY2Vuc2luZyBTZXJ2aWNlIChOTFMpMRQwEgYDVQQDEwtOTFMgUm9vdCBDQTAeFw0y\r\nNDA5MjYwNzM4MTlaFw0zNDA5MjQwNzM4NDlaMHoxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxp\r\nZm9ybmlhMQ8wDQYDVQQKEwZOdmlkaWExJzAlBgNVBAsTHk52aWRpYSBMaWNlbnNpbmcgU2Vydmlj\r\nZSAoTkxTKTEcMBoGA1UEAxMTTkxTIEludGVybWVkaWF0ZSBDQTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAOIb5ZcYWR78WkJipEW4cOB2d3WkXhjzA9Omj0SBnA6fJad+zObguInmkgyB\r\nUC/0xMnHeEH1WQpZ0yZE1rdH0ziwPy07hmCgjMSC8iXSfV4QXoHzsQy80HSbD3dr0A5Fk9UrWdJu\r\nIlLnwqTfUjxMSqiVYbGI2JLVLDIPjnrCKgZ//vVTFWiMDQaGInDz5Qo3azHIt1Sw3u47/b88TzmK\r\ni3TMbjtAR3djlhQfJBY6nUdP8wWy2Fntx9fO7U723sp6cnGtHnbXGpon/QqxlPjT4RXXm1QmFQ/d\r\nyUmvmjoiJsCQ3v2KFJNei2bkUS29ZKPr4TGokojOilESQAQTLo+5s0cN7ZtPWvwZ4uets84GCRP5\r\ndC+aKoNQ7cg06A1tA3SxEL9r6D2LaTiheuWKFNiIJZzfmmbTPExsKt4Nzmv72wfG2i2+sY6l4f5x\r\nEFiKybn2EY1Hjpt0J3vL/goOOt/ejRtS5qKco3pu6zZBBWqB1qesA813AGgqbscht4y4m414rPmQ\r\naHA2PTe0JRDcradK75chFUOvLeIYD1Hy0XTxNxlhRA/5mFd2GkWZmtsW3D1iAV73VHAEvWDS0hXB\r\ng60B0y4d3fyYxI+pOTaZzsh0PAC2jUqDOhQ7dKELeYUKWsEDDMq9mg2bxqSNoQnQbITIsbu7IELu\r\nvmxIWT1omRptd5LrAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0G\r\nA1UdDgQWBBRKNST8UPeZYQgLZLEKMBGklaADHjAfBgNVHSMEGDAWgBRiEXE0RonjkPN+XBjnSQbo\r\nA8X3ajANBgkqhkiG9w0BAQsFAAOCAgEAEq5FaQWhTWt1hNfoz/BeDQ68O9PEGGveCPouElE8s/uG\r\nPHYSJpmg7dq5Qoxb5dpdq1mJX2rTgixJu/iC3uRUsirdH6wsVjjqz4YsoAz5VqjlkriFJpXlfOpp\r\nw18ex5C5p4x3TrlPCowMgf9h6VBR1iCq3VikVVguqSPP/zf9G3Qhitvqs0+m7KJnbwFA/bDLMET8\r\nTJS/r4XKQYisXfu95XrG2TTCaOwytqx+uepqwB74tFMznfdjzKyztqGwniKLrcZ3kOuM4cyo5ZT4\r\nOORCV6FWmbRq2OtttI4o85zsVNkY1JF8hvyvjygRiX5dQROza5EStkXvGO6532atFU43KNJvLanZ\r\nZTaxIJvZGWeKvrH+HTCANp11cgq5qcRRltQHb7KWweYNM4nyCjyBQm5vTm7g1uVI7llVm2Txx5dT\r\n5OtenaohmJIr6POeq8Y2Z+DJ8s3UpZoZCc3Vj5PQyNZiAx2ErN6XgrsmljG3w6+k2ooLpT9Sr1Ql\r\nKc8okN5SJGUOLuFI+h8jX1hHqpQejjNKy3UkTzjosYNq6Kk0h2Tl1i8iO+wY4Wb3GbL6GtP1rcjI\r\np/d9mxPNJONlp4a0koaMEpHTODT/xyVjU7FkUyKE9Uj1O/1lBEANYsFrQGfmuHAZTGf9J+cvkrz3\r\n56OFWPHcA7gxkpU8wftrVMLFeDvLIGc=\r\n-----END CERTIFICATE-----"
|
||||
],
|
||||
"publicCert": "-----BEGIN CERTIFICATE-----\r\nMIIE2zCCAsOgAwIBAgIUPyoRsVIJLnex1WKbERqLAQcXHcQwDQYJKoZIhvcNAQELBQAwejELMAkG\r\nA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExDzANBgNVBAoTBk52aWRpYTEnMCUGA1UECxMe\r\nTnZpZGlhIExpY2Vuc2luZyBTZXJ2aWNlIChOTFMpMRwwGgYDVQQDExNOTFMgSW50ZXJtZWRpYXRl\r\nIENBMB4XDTI1MDMyNjIwMjcyMloXDTI4MDMyNTIwMjc1MlowLzEtMCsGA1UEAxMkZDhjMDdlNGEt\r\nZjZhNC00OWQwLWIyZGMtM2ZhZjBlMWJmMmJkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\r\nAQEAwAJLh9/L2l2Efl+TLWp2pCuwJZJBpcHcVbksrXRTfV9dEe+UY1atNbg0HE6yz03CWkeIkTeW\r\nzYkg7oF7bdZ/usZpTIRnK0bN/FzXeXkENOGNsLgcjSGWu8IP4mJcp/k7Ucg/FgDMbxVYifBKnrOh\r\nT7HZ21UQcXgik9iEnL0chAW/JmcEHMTofkj+BuKdyUqXHj4OKDLOhmPtKCKY0gv+0wL4t7alzsGS\r\nlXsRC/59ddCLyomHlRU5BJb+Fm73ZFmhEYhR3eindFzqXJhDXQpg9d0Mt42YTFfnlKG41ECdxtmH\r\nYOOw5sSweFsrx9Dzlfcx/SSg0q9OXP0wHv+kNd/CMQIDAQABo4GjMIGgMA4GA1UdDwEB/wQEAwID\r\nqDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwHQYDVR0OBBYEFDtS2fehr07/mVr2ZCb5\r\n+BRuaWjNMB8GA1UdIwQYMBaAFEo1JPxQ95lhCAtksQowEaSVoAMeMC8GA1UdEQQoMCaCJGQ4YzA3\r\nZTRhLWY2YTQtNDlkMC1iMmRjLTNmYWYwZTFiZjJiZDANBgkqhkiG9w0BAQsFAAOCAgEAbrgK1TBm\r\nwUVkSGnGSy88RevUd3a52TxAYxGuVe/2qYuIkSoPfMJ1P5nbk6hnOjiBg5GGSrqv6Qwj+ZtPo6cm\r\nyg0Z8RXb5cboU+3Xru6HEQCsidLuC1bwbcsnmvyt4pJxjGG1MQvN9jBWBGiKvqSnDuLMW34eD7mg\r\nLm1W0QCMzTvxIxH2X/xylT2q7gkFdDPxHnMotYeFpeYmPn6nqI36Ot7xBv512RUZz5hdG6r20LSP\r\ndbHoBYZIbaS+wGTaAOFIpms1Xwe/S/ehQpMpArlzphqV+o9IOZn8BIRvpT3d4r8iV/a2TtbxPDVX\r\nOR/aooC9BRI7Q52b2V3L0aKYeC2P8bqqwoivBrWPnr12h+CRx18NvF7sxJ8A8O6h7+Os2psA22CX\r\nvDd0ngxnNy08CMgS1u98Nxg5nV2P596mLRY9X7dzgQikoabEfKtqdKOW4PJWI/wane44ju6vUZPK\r\n3MyAgUWJr34aB8Q0paou0atP9OW+KOeFuwICL02RQ7ke5IpBQrWSF/OlMxhnepzhnp1favk5W3rl\r\ncZNLQMFmeaxyKKrjowh3diBsfo2m6Qin/fkRA3w62Zfox37l5q4s+B/YPxMmrcJgoDFxxf2WYDc6\r\nsoqR7/ExG7kHasd+Th+oqaX8LGdGUfZMD/IY6wvOFJ1Smh7QgWTZbUyLRwTU6jZ40pM=\r\n-----END CERTIFICATE-----",
|
||||
"publicKey": {
|
||||
"exp": 65537,
|
||||
"mod": [
|
||||
"c0024b87dfcbda5d847e5f932d6a76a42bb0259241a5c1dc55b92cad74537d5f5d11ef946356ad35b8341c4eb2cf4dc25a4788913796cd8920ee817b6dd67fbac6694c84672b46cdfc5cd779790434e18db0b81c8d2196bbc20fe2625ca7f93b51c83f1600cc6f155889f04a9eb3a14fb1d9db551071782293d8849cbd1c8405bf2667041cc4e87e48fe06e29dc94a971e3e0e2832ce8663ed282298d20bfed302f8b7b6a5cec192957b110bfe7d75d08bca89879515390496fe166ef76459a1118851dde8a7745cea5c98435d0a60f5dd0cb78d984c57e794a1b8d4409dc6d98760e3b0e6c4b0785b2bc7d0f395f731fd24a0d2af4e5cfd301effa435dfc231"
|
||||
]
|
||||
}
|
||||
},
|
||||
"configToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJOTFMgU2VydmljZSBJbnN0YW5jZSIsImF1ZCI6Ik5MUyBMaWNlbnNlZCBDbGllbnQiLCJpYXQiOjE3NDQ0MDA4NTksIm5iZiI6MTc0NDQwMDg1OSwiZXhwIjoxNzQ0NDAxNzU5LCJwcm90b2NvbF92ZXJzaW9uIjoiMi4wIiwiZF9uYW1lIjoiRExTIiwic2VydmljZV9pbnN0YW5jZV9yZWYiOiJkOGMwN2U0YS1mNmE0LTQ5ZDAtYjJkYy0zZmFmMGUxYmYyYmQiLCJzZXJ2aWNlX2luc3RhbmNlX3B1YmxpY19rZXlfY29uZmlndXJhdGlvbiI6eyJzZXJ2aWNlX2luc3RhbmNlX3B1YmxpY19rZXlfbWUiOnsibW9kIjoiZTIxMjkwNGEzYzk2NzU2MDJmOTEyYjU1M2QxODRhZTRlNmMxMGQ3ZWEwODQ1ZTE0MmU0OTgzMDc5ODhhNzVlYzQwNThmM2NhNjg3MDg2MWM0NDdlZDQ2MTgwMDZjMDMwNTNkODI3ZDY3YzYxMjM1OWU5OWU4MzNhNmJkYWE5NzE3YzBjNDUzN2Y5NDc1ZTMzNDg2OGFjY2IzYmEwZTkyMjUyNTMyOTMxOWNiMWI1MmJhYjk4NGQzNDI4Zjc5YjE3MjllN2JiNmMwY2U4MWM0NDYxNThhZjU0YzZhOTIyYmNiYzE2ZGFiMWEyNWJjODUxMWI4NTA3NDNmMTFhZGNlNTZiOGNmNmQxMWRmOWFjNjg5OWI4YjViN2Y2YTAxOTE5ZDUyZGYxODczNDA4MjI0YWQ1ZjFmZGQxNTFlZDUyYzcxNDNmODlmYjVmZTU0Njk4Mzk5Y2ViYmJhOWIyZTEyNmZmYmM4OGM0NTNhZTkyODgzOWU0MjcwNmVhNTRhNzY0MjNjZWFhZGI1NjBiNWVhZWMzMzIyZmFmMDE1MjA0ZTZiNzNmNDk2NjMzZmUyNDU5ZmNjNzJjNDQzYWU4N2Q1YzUwMjI4MWVhZWY1ZWI1ZGQ3MTI2NGYyNDI0NDY2ZDEzZmM4ZTM4NjIxY2E3ODVlZGFhNDBiODFmZDIxY2VlMDUiLCJleHAiOjY1NTM3fSwic2VydmljZV9pbnN0YW5jZV9wdWJsaWNfa2V5X3BlbSI6Ii0tLS0tQkVHSU4gUFVCTElDIEtFWS0tLS0tXG5NSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQTRoS1FTanlXZFdBdmtTdFZQUmhLXG41T2JCRFg2Z2hGNFVMa21EQjVpS2RleEFXUFBLYUhDR0hFUisxR0dBQnNBd1U5Z24xbnhoSTFucG5vTTZhOXFwXG5jWHdNUlRmNVIxNHpTR2lzeXp1ZzZTSlNVeWt4bkxHMUs2dVlUVFFvOTVzWEtlZTdiQXpvSEVSaFdLOVV4cWtpXG52THdXMnJHaVc4aFJHNFVIUS9FYTNPVnJqUGJSSGZtc2FKbTR0YmYyb0JrWjFTM3hoelFJSWtyVjhmM1JVZTFTXG54eFEvaWZ0ZjVVYVlPWnpydTZteTRTYi92SWpFVTY2U2lEbmtKd2JxVktka0k4NnEyMVlMWHE3RE1pK3ZBVklFXG41cmMvU1dZei9pUlovTWNzUkRyb2ZWeFFJb0hxNzE2MTNYRW1UeVFrUm0wVC9JNDRZaHluaGUycVFMZ2YwaHp1XG5CUUlEQVFBQlxuLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tIiwia2V5X3JldGVudGlvbl9tb2RlIjoiTEFURVNUX09OTFkifX0.cE6SzLVwACDhzR0KULJGuLiWmqMp77m4bTx3AwrqPWZeXUxAzHhGo4S7pfvBcv6AjBZ5cFD8ZtXCuLKTOWT5JBDyK-hdgTtNIc3ri1eq8CCA-apSpP3uctpPomn8314Q-IMpAzZyY9QgYZmx8CJa-GTtPVtgW0iU0CVAiU-ot9wZEvmKaASCZ4anXdeP6gi6orig2fmWb6Z-6XyOiaq7fTheLDESvQPrc7fbE63o024phQP62Lm0GhK6lEetu5MX0ipBganZfc4v6P31JRXr3SKOKleFFpw_M2WcODzmXA4wl7buhniRxRjah_ux5OJ2PFCwoL_iMYp4b-rByXtYKA"
|
||||
}
|
||||
```
|
||||
|
||||
# 3. Auth Origin
|
||||
|
||||
### Request
|
||||
|
||||
- `POST /auth/v1/origin`
|
||||
|
||||
```json
|
||||
{
|
||||
"registration_pending": false,
|
||||
"environment": {
|
||||
"guest_driver_version": "guest_driver_version",
|
||||
"hostname": "myhost",
|
||||
"ip_address_list": [
|
||||
"192.168.1.129"
|
||||
],
|
||||
"os_version": "os_version",
|
||||
"os_platform": "os_platform",
|
||||
"fingerprint": {
|
||||
"mac_address_list": [
|
||||
"e4:b9:7a:e5:7b:ff"
|
||||
]
|
||||
},
|
||||
"host_driver_version": "host_driver_version"
|
||||
},
|
||||
"update_pending": false,
|
||||
"candidate_origin_ref": "84aca682-1504-4455-abc0-2d5476feef4c"
|
||||
}
|
||||
```
|
||||
|
||||
### Response
|
||||
|
||||
```json
|
||||
{
|
||||
"environment": {
|
||||
"fingerprint": {
|
||||
"mac_address_list": [
|
||||
"e4:b9:7a:e5:7b:ff"
|
||||
]
|
||||
},
|
||||
"guest_driver_version": "guest_driver_version",
|
||||
"host_driver_version": "host_driver_version",
|
||||
"hostname": "myhost",
|
||||
"ip_address_list": [
|
||||
"192.168.1.129"
|
||||
],
|
||||
"os_platform": "os_platform",
|
||||
"os_version": "os_version",
|
||||
"raw_env": {
|
||||
"fingerprint": {
|
||||
"mac_address_list": [
|
||||
"e4:b9:7a:e5:7b:ff"
|
||||
]
|
||||
},
|
||||
"guest_driver_version": "guest_driver_version",
|
||||
"host_driver_version": "host_driver_version",
|
||||
"hostname": "myhost",
|
||||
"ip_address_list": [
|
||||
"192.168.1.129"
|
||||
],
|
||||
"os_platform": "os_platform",
|
||||
"os_version": "os_version"
|
||||
}
|
||||
},
|
||||
"node_query_order": null,
|
||||
"node_url_list": null,
|
||||
"origin_ref": "84aca682-1504-4455-abc0-2d5476feef4c",
|
||||
"prompts": null,
|
||||
"svc_port_set_list": null,
|
||||
"sync_timestamp": "2025-04-11T17:55:09.441514Z"
|
||||
}
|
||||
```
|
||||
|
||||
# 4. Auth Code
|
||||
|
||||
### Request
|
||||
|
||||
- `POST /auth/v1/code`
|
||||
|
||||
```json
|
||||
{
|
||||
"code_challenge": "hy5OUM6ZkNiwQTMMR8nd0Rvsa1A66ThqmdqFhOm7EsQ",
|
||||
"origin_ref": "84aca682-1504-4455-abc0-2d5476feef4c"
|
||||
}
|
||||
```
|
||||
|
||||
### Response
|
||||
|
||||
```json
|
||||
{
|
||||
"auth_code": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NDQzOTk2MjUsImV4cCI6MTc0NDQwMDIyNSwiY2hhbGxlbmdlIjoiaHk1T1VNNlprTml3UVRNTVI4bmQwUnZzYTFBNjZUaHFtZHFGaE9tN0VzUSIsIm9yaWdpbl9yZWYiOiI4NGFjYTY4Mi0xNTA0LTQ0NTUtYWJjMC0yZDU0NzZmZWVmNGMiLCJrZXlfcmVmIjoiMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwIiwia2lkIjoiMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwIn0.nmi2ktlhosCd-ox9pxl7PBF9aA131oPYbyJ-rjBMQNT_naZ_7QiOwlkun2BTPWX6FQL-uXk5HF3VPYwiTdIbnFG9Tvc-vDHgttUGzGNPXgOw3O3A1otexqMs6vCSRaPZwbVAPlxzggbquC6QtjB5de3LBIWBUj3aIxrm-hr7NbQPlf8xQny0rilT_9WkcSUUa69MhiDWevinsz8Dn0eM50Rl-Jb4Mh9aHGYVrcC5IXtqUIfBp6vpsiqglVAKSuVVufoNgp0sdEP1LmfQ62jNz4QR36bV-mOPnsnbG9W1POSJnRQkwTHRZw5PxiDDUZxWXw7_cMrCpnaDiSmxabjlnA",
|
||||
"prompts": null,
|
||||
"sync_timestamp": "2025-04-11T19:27:05.819007Z"
|
||||
}
|
||||
```
|
||||
|
||||
#### Decoded
|
||||
|
||||
```json
|
||||
{
|
||||
"iat": 1744399625,
|
||||
"exp": 1744400225,
|
||||
"challenge": "hy5OUM6ZkNiwQTMMR8nd0Rvsa1A66ThqmdqFhOm7EsQ",
|
||||
"origin_ref": "84aca682-1504-4455-abc0-2d5476feef4c",
|
||||
"key_ref": "00000000-0000-0000-0000-000000000000",
|
||||
"kid": "00000000-0000-0000-0000-000000000000"
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
# 5. Auth Token
|
||||
|
||||
### Request
|
||||
|
||||
- `POST /auth/v1/token`
|
||||
|
||||
```json
|
||||
{
|
||||
"auth_code": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NDQzOTk2MjUsImV4cCI6MTc0NDQwMDIyNSwiY2hhbGxlbmdlIjoiaHk1T1VNNlprTml3UVRNTVI4bmQwUnZzYTFBNjZUaHFtZHFGaE9tN0VzUSIsIm9yaWdpbl9yZWYiOiI4NGFjYTY4Mi0xNTA0LTQ0NTUtYWJjMC0yZDU0NzZmZWVmNGMiLCJrZXlfcmVmIjoiMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwIiwia2lkIjoiMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwIn0.nmi2ktlhosCd-ox9pxl7PBF9aA131oPYbyJ-rjBMQNT_naZ_7QiOwlkun2BTPWX6FQL-uXk5HF3VPYwiTdIbnFG9Tvc-vDHgttUGzGNPXgOw3O3A1otexqMs6vCSRaPZwbVAPlxzggbquC6QtjB5de3LBIWBUj3aIxrm-hr7NbQPlf8xQny0rilT_9WkcSUUa69MhiDWevinsz8Dn0eM50Rl-Jb4Mh9aHGYVrcC5IXtqUIfBp6vpsiqglVAKSuVVufoNgp0sdEP1LmfQ62jNz4QR36bV-mOPnsnbG9W1POSJnRQkwTHRZw5PxiDDUZxWXw7_cMrCpnaDiSmxabjlnA",
|
||||
"code_verifier": "HelloWorld"
|
||||
}
|
||||
```
|
||||
|
||||
### Response
|
||||
|
||||
```json
|
||||
{
|
||||
"auth_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NDQzOTk2NDIsIm5iZiI6MTc0NDM5OTY0MiwiaXNzIjoiaHR0cHM6Ly9jbHMubnZpZGlhLm9yZyIsImF1ZCI6Imh0dHBzOi8vY2xzLm52aWRpYS5vcmciLCJleHAiOjE3NDQ0MDMyNDIsImtleV9yZWYiOiIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiLCJraWQiOiIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiLCJvcmlnaW5fcmVmIjoiODRhY2E2ODItMTUwNC00NDU1LWFiYzAtMmQ1NDc2ZmVlZjRjIn0.u5L7tOMSGjs3isothTmI9NNuyeq4NPhlJ1dvjhkod-H9rQDJQ6N6S4MhPXpB-2-1rYvxPXRQpJWpYgzxPaZOyijrquLbeJZlSxxGtGaJC4gK2QdZ7lbBDlo4r9Ga3F47SpLSe8r_iUucBvFaOHKgj5c-XnYzbU3Ntakw6s0uUGNzyZzdV3d-69NAUEVwXq-e_TzIbmZ18aoS1oZDLYW2Ahzbw0YP29x3AzdItmRR3AtmmOgnDG9fdre3-NwiWIuv-Zv992-RVWd2-m1Mo4BmgQiEmlUNssowFPNk9FGBOdvmMUD7FUEpvlomBnnYUAInfcioWwY39F5hmAbKTD98gQ",
|
||||
"expires": "2025-04-11T20:27:22.381844Z",
|
||||
"prompts": null,
|
||||
"sync_timestamp": "2025-04-11T19:27:22.420883Z"
|
||||
}
|
||||
```
|
||||
|
||||
# 6. Lessor (Get Lease)
|
||||
|
||||
### Request
|
||||
|
||||
- `POST /leasing/v1/lessor`
|
||||
- `authorization: Bearer <auth_token from 5.>`
|
||||
|
||||
```json
|
||||
{
|
||||
"scope_ref_list" : [ "4585c908-b375-4226-a838-a4a315c9b904" ],
|
||||
"lease_proposal_list" : [ {
|
||||
"duration" : "P0Y0M0DT12H0M0S",
|
||||
"product" : {
|
||||
"name" : "NVIDIA Virtual Applications"
|
||||
},
|
||||
"license_type_qualifiers" : {
|
||||
"count" : 1
|
||||
},
|
||||
"ordinal" : 0
|
||||
}],
|
||||
"fulfillment_context" : {
|
||||
"fulfillment_class_ref_list" : []
|
||||
},
|
||||
"proposal_evaluation_mode" : "ALL_OF"
|
||||
}
|
||||
```
|
||||
|
||||
### Response
|
||||
|
||||
```json
|
||||
{
|
||||
"client_challenge": null,
|
||||
"lease_result_list": [
|
||||
{
|
||||
"error": null,
|
||||
"lease": {
|
||||
"created": "2025-04-11T19:44:19.962814Z",
|
||||
"expires": "2025-04-12T07:44:19.962814Z",
|
||||
"feature_name": "GRID-Virtual-Apps",
|
||||
"lease_intent_id": null,
|
||||
"license_type": "CONCURRENT_COUNTED_SINGLE",
|
||||
"metadata": null,
|
||||
"offline_lease": false,
|
||||
"product_name": "NVIDIA Virtual Applications",
|
||||
"recommended_lease_renewal": 0.15,
|
||||
"ref": "5c562e72-170d-11f0-a0b9-0242ac10ee0a"
|
||||
},
|
||||
"ordinal": null
|
||||
}
|
||||
],
|
||||
"prompts": null,
|
||||
"result_code": null,
|
||||
"sync_timestamp": "2025-04-11T19:44:19.981482Z"
|
||||
}
|
||||
```
|
||||
|
||||
# 7. Show my Leases
|
||||
|
||||
### Request
|
||||
|
||||
- `GET /leasing/v1/lessor/leases`
|
||||
- `authorization: Bearer <auth_token from 5.>`
|
||||
|
||||
### Response
|
||||
|
||||
```json
|
||||
{
|
||||
"active_lease_list": [
|
||||
"2d3948e0-16fe-11f0-a1d3-0242ac10ee0a"
|
||||
],
|
||||
"prompts": null,
|
||||
"sync_timestamp": "2025-04-11T19:28:22.307563Z"
|
||||
}
|
||||
```
|
||||
|
||||
# 8. Renew my Lease
|
||||
|
||||
### Request
|
||||
|
||||
- `PUT /leasing/v1/lease/<lease-ref>` (`lease_ref` = `2d3948e0-16fe-11f0-a1d3-0242ac10ee0a`)
|
||||
- `authorization: Bearer <auth_token from 5.>`
|
||||
|
||||
### Response
|
||||
|
||||
```json
|
||||
{
|
||||
"client_challenge": null,
|
||||
"expires": "2025-04-12T07:28:55.038826",
|
||||
"feature_expired": false,
|
||||
"lease_ref": "2d3948e0-16fe-11f0-a1d3-0242ac10ee0a",
|
||||
"metadata": null,
|
||||
"offline_lease": false,
|
||||
"prompts": null,
|
||||
"recommended_lease_renewal": 0.15,
|
||||
"sync_timestamp": "2025-04-11T19:28:55.048884Z"
|
||||
}
|
||||
```
|
||||
|
||||
# 9. Delete my Lease
|
||||
|
||||
### Request
|
||||
|
||||
- `DELET /leasing/v1/lease/<lease-ref>`
|
||||
- `authorization: Bearer <auth_token from 5.>`
|
||||
|
||||
### Response
|
||||
|
||||
```json
|
||||
{
|
||||
"client_challenge": null,
|
||||
"lease_ref": "2d3948e0-16fe-11f0-a1d3-0242ac10ee0a",
|
||||
"prompts": null,
|
||||
"sync_timestamp": "2025-04-11T12:44:34.790354Z"
|
||||
}
|
||||
```
|
@ -14,3 +14,4 @@ With this detailed guide I hope to understand licensing process and how data and
|
||||
- [Instance Token](dls_instance_token.md)
|
||||
- [License File](license.md)
|
||||
- [Config Token](config-token.md)
|
||||
- [GriddClientRequestFlow](GriddClientRequestFlow.md)
|
||||
|
Loading…
Reference in New Issue
Block a user