Skip to content

Commit b17110f

Browse files
Add support for dedicated_for parameter in update_access_key Provisioning API
1 parent 188d708 commit b17110f

2 files changed

Lines changed: 12 additions & 5 deletions

File tree

cloudinary/provisioning/account.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -425,7 +425,7 @@ def generate_access_key(sub_account_id, name=None, enabled=None, **options):
425425
return _call_account_api("post", uri, params, **options)
426426

427427

428-
def update_access_key(sub_account_id, api_key, name=None, enabled=None, **options):
428+
def update_access_key(sub_account_id, api_key, name=None, enabled=None, dedicated_for=None, **options):
429429
"""
430430
Update the name and/or status of an existing access key.
431431
@@ -437,6 +437,10 @@ def update_access_key(sub_account_id, api_key, name=None, enabled=None, **option
437437
:type name: str
438438
:param enabled: Enable or disable the access key.
439439
:type enabled: bool
440+
:param dedicated_for: Designates the access key for a specific purpose while allowing it to be used for
441+
other purposes, as well. This action replaces any previously assigned key.
442+
**Possible values**: `webhooks`
443+
:type dedicated_for: str
440444
:param options: Generic advanced options dict, see online documentation.
441445
:type options: dict, optional
442446
:return: Access key details
@@ -446,6 +450,7 @@ def update_access_key(sub_account_id, api_key, name=None, enabled=None, **option
446450
params = {
447451
"name": name,
448452
"enabled": enabled,
453+
"dedicated_for": dedicated_for,
449454
}
450455
return _call_account_api("put", uri, params, **options)
451456

test/test_provisioning_api.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -230,16 +230,18 @@ def test_update_access_key(self):
230230
key_name = UNIQUE_TEST_ID + "_before_update_test_key"
231231
updated_key_name = UNIQUE_TEST_ID + "_updated_test_key"
232232

233-
key_res = cloudinary.provisioning.generate_access_key(self.cloud_id, name=key_name, enabled=True)
233+
key_res = cloudinary.provisioning.generate_access_key(self.cloud_id, name=key_name, enabled=False)
234234

235235
self.assertEqual(key_name, key_res["name"])
236-
self.assertEqual(True, key_res["enabled"])
236+
self.assertEqual(False, key_res["enabled"])
237237

238238
res = cloudinary.provisioning.update_access_key(self.cloud_id, key_res["api_key"],
239-
name=updated_key_name, enabled=False)
239+
name=updated_key_name, enabled=True, dedicated_for="webhooks")
240240

241241
self.assertEqual(updated_key_name, res["name"])
242-
self.assertEqual(False, res["enabled"])
242+
self.assertEqual(True, res["enabled"])
243+
self.assertEqual(1, len(res["dedicated_for"]))
244+
self.assertEqual("webhooks", res["dedicated_for"][0])
243245

244246
@unittest.skipUnless(cloudinary.provisioning.account_config().provisioning_api_secret,
245247
"requires provisioning_api_key/provisioning_api_secret")

0 commit comments

Comments
 (0)