Skip to content

Commit 6c9f3e0

Browse files
committed
add parse_certificate_id
1 parent b5de5d7 commit 6c9f3e0

File tree

2 files changed

+37
-0
lines changed

2 files changed

+37
-0
lines changed

sdk/keyvault/azure-keyvault-certificates/CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
## 4.2.1 (Unreleased)
44

5+
### Added
6+
- Added method `parse_certificate_id` that parses out a full ID returned by key vault, so users
7+
can easily access the certificate's `name`, `vault_url`, `version` etc.
8+
59

610
## 4.2.0 (2020-08-11)
711
### Fixed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# ------------------------------------
2+
# Copyright (c) Microsoft Corporation.
3+
# Licensed under the MIT License.
4+
# ------------------------------------
5+
6+
from ._shared import parse_key_vault_identifier, ParsedId
7+
8+
9+
def parse_certificate_id(original_id):
10+
# type: (str) -> ParsedId
11+
"""Parses a full certificate's ID into a class.
12+
13+
:param str original_id: the full original identifier of a certificate
14+
:returns: Returns a parsed certificate id
15+
:rtype: ~azure.keyvault.certificates.ParsedId
16+
:raises: ValueError
17+
"""
18+
parsed_id = parse_key_vault_identifier(original_id)
19+
20+
valid_collections = ["certificates", "deletedcertificates"]
21+
22+
if parsed_id.collection not in valid_collections:
23+
raise ValueError(
24+
"Collection '{}' is not a valid certificate collection. ".format(parsed_id.collection),
25+
"Valid collections are: {}".format(", ".join(valid_collections))
26+
)
27+
return ParsedId(
28+
collection=parsed_id.collection,
29+
name=parsed_id.name,
30+
original_id=parsed_id.original_id,
31+
vault_url=parsed_id.vault_url,
32+
version=parsed_id.version
33+
)

0 commit comments

Comments
 (0)