Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion sdk/keyvault/azure-keyvault-certificates/HISTORY.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
## 4.0.0b4
### Breaking changes
- Enums 'JsonWebKeyCurveName' and 'JsonWebKeyType' have been renamed to 'KeyCurveName' and 'KeyType', respectively.
- Both async and sync versions of create_certificate now return pollers that return the create Certificate if creation is successful,
- Both async and sync versions of create_certificate now return pollers that return the created Certificate if creation is successful,
and the CertificateOperation if not.

## 4.0.0b3 (2019-09-11)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,11 @@


class CreateCertificatePoller(PollingMethod):
def __init__(self, get_certificate_command, unknown_issuer=False, interval=5):
def __init__(self, get_certificate_command, interval=5):
self._command = None
self._resource = None
self._pending_certificate_op = None
self._get_certificate_command = get_certificate_command
self._unknown_issuer = unknown_issuer
self._polling_interval = interval

def _update_status(self):
Expand Down Expand Up @@ -44,7 +43,7 @@ def run(self):

def finished(self):
# type: () -> bool
if self._unknown_issuer:
if self._pending_certificate_op.issuer_name.lower() == 'unknown':
return True
return self._pending_certificate_op.status.lower() != 'inprogress'

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,11 @@


class CreateCertificatePollerAsync(AsyncPollingMethod):
def __init__(self, get_certificate_command, unknown_issuer=False, interval=5):
def __init__(self, get_certificate_command, interval=5):
self._command = None
self._resource = None
self._pending_certificate_op = None
self._get_certificate_command = get_certificate_command
self._unknown_issuer = unknown_issuer
self._polling_interval = interval

async def _update_status(self) -> None:
Expand All @@ -43,7 +42,7 @@ async def run(self) -> None:
raise

def finished(self) -> bool:
if self._unknown_issuer:
if self._pending_certificate_op.issuer_name.lower() == 'unknown':
return True
return self._pending_certificate_op.status.lower() != 'inprogress'

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,9 @@ async def create_certificate(
:param tags: Application specific metadata in the form of key-value pairs.
:type tags: dict(str, str)
:returns: A coroutine for the creation of the certificate. Awaiting the coroutine
returns the created Certificate if creation is successful, the CertificateOperation if not.
returns the created Certificate if creation is successful, the CertificateOperation if not.
:rtype: coroutine[~azure.keyvault.certificates.models.Certificate or
~azure.keyvault.certificates.models.CertificateOperation]
:raises: :class:`~azure.core.exceptions.HttpResponseError`

Example:
Expand Down Expand Up @@ -108,13 +110,15 @@ async def create_certificate(
subject_name="CN=DefaultPolicy",
validity_in_months=12)

create_certificate_operation = await self._client.create_certificate(
vault_base_url=self.vault_url,
certificate_name=name,
certificate_policy=policy._to_certificate_policy_bundle(),
certificate_attributes=attributes,
tags=tags,
**kwargs
create_certificate_operation = CertificateOperation._from_certificate_operation_bundle(
await self._client.create_certificate(
Comment thread
iscai-msft marked this conversation as resolved.
Outdated
vault_base_url=self.vault_url,
certificate_name=name,
certificate_policy=policy._to_certificate_policy_bundle(),
certificate_attributes=attributes,
tags=tags,
**kwargs
)
)

command = partial(
Expand All @@ -129,10 +133,7 @@ async def create_certificate(
**kwargs
)

create_certificate_polling = CreateCertificatePollerAsync(
get_certificate_command=get_certificate_command,
unknown_issuer=(policy.issuer_name.lower() == 'unknown')
)
create_certificate_polling = CreateCertificatePollerAsync(get_certificate_command=get_certificate_command)
return async_poller(
command,
create_certificate_operation,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,9 @@ def create_certificate(
:param tags: Application specific metadata in the form of key-value pairs.
:type tags: dict(str, str)
:returns: An LROPoller for the create certificate operation. Waiting on the poller
Comment thread
iscai-msft marked this conversation as resolved.
gives you the certificate if creation is successful, the CertificateOperation if not.
:rtype: ~azure.core.polling.LROPoller
gives you the certificate if creation is successful, the CertificateOperation if not.
:rtype: ~azure.core.polling.LROPoller[~azure.keyvault.certificates.models.Certificate or
~azure.keyvault.certificates.models.CertificateOperation]
:raises: :class:`~azure.core.exceptions.HttpResponseError`

Example:
Expand Down Expand Up @@ -118,13 +119,15 @@ def create_certificate(
subject_name="CN=DefaultPolicy",
validity_in_months=12)

create_certificate_operation = self._client.create_certificate(
vault_base_url=self.vault_url,
certificate_name=name,
certificate_policy=policy._to_certificate_policy_bundle(),
certificate_attributes=attributes,
tags=tags,
**kwargs
create_certificate_operation = CertificateOperation._from_certificate_operation_bundle(
self._client.create_certificate(
Comment thread
iscai-msft marked this conversation as resolved.
Outdated
vault_base_url=self.vault_url,
certificate_name=name,
certificate_policy=policy._to_certificate_policy_bundle(),
certificate_attributes=attributes,
tags=tags,
**kwargs
)
)

command = partial(
Expand All @@ -139,10 +142,7 @@ def create_certificate(
**kwargs
)

create_certificate_polling = CreateCertificatePoller(
get_certificate_command=get_certificate_command,
unknown_issuer=(policy.issuer_name.lower() == 'unknown')
)
create_certificate_polling = CreateCertificatePoller(get_certificate_command=get_certificate_command)
return LROPoller(
command,
create_certificate_operation,
Expand Down Expand Up @@ -351,7 +351,7 @@ def import_certificate(
"""Imports a certificate into a specified key vault.

Imports an existing valid certificate, containing a private key, into
Azure Key Vault. The certificate to be imported can be in either PFX orHi
Azure Key Vault. The certificate to be imported can be in either PFX or
PEM format. If the certificate is in PEM format the PEM file must
contain the key as well as x509 certificates. This operation requires
the certificates/import permission.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@

# await the creation of the bank and storage certificate
bank_certificate = bank_certificate_poller.result()
storage_certificate = storage_certificate_poller.wait()
storage_certificate = storage_certificate_poller.result()

print("Certificate with name '{0}' was created.".format(bank_certificate.name))
print("Certificate with name '{0}' was created.".format(storage_certificate.name))
Expand All @@ -65,7 +65,7 @@
# certificate creates a new version of the certificate in the Key Vault with the new value.

tags = {"a": "b"}
bank_certificate = client.create_certificate(name=bank_cert_name, tags=tags).wait()
bank_certificate = client.create_certificate(name=bank_cert_name, tags=tags).result()
print(
"Certificate with name '{0}' was created again with tags '{1}'".format(
bank_certificate.name,
Expand Down Expand Up @@ -103,4 +103,3 @@

finally:
print("\nrun_sample done")

Comment thread
iscai-msft marked this conversation as resolved.
Original file line number Diff line number Diff line change
Expand Up @@ -89,4 +89,3 @@

finally:
print("\nrun_sample done")

Comment thread
iscai-msft marked this conversation as resolved.
Original file line number Diff line number Diff line change
Expand Up @@ -61,15 +61,9 @@ def test_example_certificate_crud_operations(self, vault_client, **kwargs):

print(certificate.id)
print(certificate.name)
print(certificate.policy.key_properties.exportable)
print(certificate.policy.key_properties.key_type)
print(certificate.policy.key_properties.key_size)
print(certificate.policy.key_properties.reuse_key)
print(certificate.policy.content_type)
print(certificate.policy.issuer_name)
print(certificate.policy.subject_name)
print(certificate.policy.san_dns_names)
print(certificate.policy.validity_in_months)

# [END create_certificate]

Expand All @@ -80,15 +74,9 @@ def test_example_certificate_crud_operations(self, vault_client, **kwargs):

print(certificate.id)
print(certificate.name)
print(certificate.policy.key_properties.exportable)
print(certificate.policy.key_properties.key_type)
print(certificate.policy.key_properties.key_size)
print(certificate.policy.key_properties.reuse_key)
print(certificate.policy.content_type)
print(certificate.policy.issuer_name)
print(certificate.policy.subject_name)
print(certificate.policy.san_dns_names)
print(certificate.policy.validity_in_months)

# [END get_certificate]
# [START update_certificate]
Expand Down