Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
1fb3f27
Generated from 97b95c6b6a31a529fc253f5363aba4556a00649d
AutorestCI Mar 16, 2018
d2ff456
Generated from 58bd21d6b4c605300a19d51bc5b6800c189a0a07
AutorestCI Mar 16, 2018
9b5a448
Generated from b11998f04c4e8fd4bf16ba4b82a7b2f42b4d3457
AutorestCI Mar 17, 2018
14d9efa
Generated from d62079a8c1d2d390f9c00ad3f9c232a1537d93bc
AutorestCI Mar 21, 2018
89f16a2
Generated from 36d131ec133edb0ef69889eb3b9773271a80b689
AutorestCI Mar 21, 2018
d30e004
Generated from 63f5b1a158c28eb6b6c05b7d8818c6cffe9961e0
AutorestCI Mar 23, 2018
f06ce30
Generated from 2a71e4376f425f2e96b5deaa221db18c0bfe3dce
AutorestCI Mar 27, 2018
e906f11
Generated from e964a04235af082e37f8d5152e0fc3ea14e25b83
AutorestCI Apr 2, 2018
1feecb8
Generated from 20a7d8f4f7e94f4f19286fbe41e0d7da4d283c08 (#2331)
AutorestCI Apr 2, 2018
a28ec78
Generated from 88d09dbde853da7583a2cc8a8bbd8c13af45603c
AutorestCI Apr 3, 2018
0a10669
Generated from 3e114e4dca737bec19d7bbcaf52b6241c54f6573
AutorestCI Apr 20, 2018
420ebe6
Generated from 10f36cd3d94803a9c1fef6033be602b0574500ca
AutorestCI May 18, 2018
9945c43
Generated from 61d7d4a77a660a109285188a3705332a037f9d29
AutorestCI May 23, 2018
b38bc7d
Generated from 098a49e739cd391bc3b18058f7085bdde878eb1a
AutorestCI Jun 8, 2018
0e624b9
Generated from c9a72aad963940e2663fced91300532370b4828b
AutorestCI Jun 8, 2018
a16a4e2
Generated from 45eef2477d9961e82069ed3d847ed729c7354a41
AutorestCI Jun 20, 2018
43cc033
Generated from dbef199dd9ecb03a7fa01c2b4ced4934e8b32a0c
AutorestCI Jun 20, 2018
54c7732
Generated from 3f75bff6a39c6cd2ef3744329127c72bb609e242
AutorestCI Jun 21, 2018
7f041f3
Generated from f7b00ba5acba328900329e254bc32f32d1feaf15
AutorestCI Jun 22, 2018
b7dc65a
Generated from f7b00ba5acba328900329e254bc32f32d1feaf15
AutorestCI Jun 22, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
160 changes: 148 additions & 12 deletions azure-keyvault/azure/keyvault/key_vault_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
# regenerated.
# --------------------------------------------------------------------------

from msrest.service_client import ServiceClient
from msrest.service_client import SDKClient
from msrest import Serializer, Deserializer
from msrestazure import AzureConfiguration
from .version import VERSION
Expand Down Expand Up @@ -37,13 +37,13 @@ def __init__(

super(KeyVaultClientConfiguration, self).__init__(base_url)

self.add_user_agent('azure-keyvault,/{}'.format(VERSION))
self.add_user_agent('azure-keyvault/{}'.format(VERSION))
self.add_user_agent('Azure-SDK-For-Python')

self.credentials = credentials


class KeyVaultClient(object):
class KeyVaultClient(SDKClient):
"""The key vault client performs cryptographic key operations and vault operations against the Key Vault service.

:ivar config: Configuration for client.
Expand All @@ -58,10 +58,10 @@ def __init__(
self, credentials):

self.config = KeyVaultClientConfiguration(credentials)
self._client = ServiceClient(self.config.credentials, self.config)
super(KeyVaultClient, self).__init__(self.config.credentials, self.config)

client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)}
self.api_version = '7.0-preview'
self.api_version = '7.0'
self._serialize = Serializer(client_models)
self._deserialize = Deserializer(client_models)

Expand All @@ -85,7 +85,8 @@ def create_key(
JsonWebKeyType. Possible values include: 'EC', 'EC-HSM', 'RSA',
'RSA-HSM', 'oct'
:type kty: str or ~azure.keyvault.models.JsonWebKeyType
:param key_size: The key size in bytes. For example, 1024 or 2048.
:param key_size: The key size in bits. For example: 2048, 3072, or
4096 for RSA.
:type key_size: int
:param key_ops:
:type key_ops: list[str or ~azure.keyvault.models.JsonWebKeyOperation]
Expand All @@ -96,7 +97,7 @@ def create_key(
:type tags: dict[str, str]
:param curve: Elliptic curve name. For valid values, see
JsonWebKeyCurveName. Possible values include: 'P-256', 'P-384',
'P-521', 'SECP256K1'
'P-521', 'P-256K'
:type curve: str or ~azure.keyvault.models.JsonWebKeyCurveName
:param dict custom_headers: headers that will be added to the request
:param bool raw: returns the direct response alongside the
Expand Down Expand Up @@ -966,7 +967,7 @@ def sign(
more information on possible algorithm types, see
JsonWebKeySignatureAlgorithm. Possible values include: 'PS256',
'PS384', 'PS512', 'RS256', 'RS384', 'RS512', 'RSNULL', 'ES256',
'ES384', 'ES512', 'ECDSA256'
'ES384', 'ES512', 'ES256K'
:type algorithm: str or
~azure.keyvault.models.JsonWebKeySignatureAlgorithm
:param value:
Expand Down Expand Up @@ -1053,7 +1054,7 @@ def verify(
information on possible algorithm types, see
JsonWebKeySignatureAlgorithm. Possible values include: 'PS256',
'PS384', 'PS512', 'RS256', 'RS384', 'RS512', 'RSNULL', 'ES256',
'ES384', 'ES512', 'ECDSA256'
'ES384', 'ES512', 'ES256K'
:type algorithm: str or
~azure.keyvault.models.JsonWebKeySignatureAlgorithm
:param digest: The digest used for signing.
Expand Down Expand Up @@ -3934,6 +3935,141 @@ def merge_certificate(
return deserialized
merge_certificate.metadata = {'url': '/certificates/{certificate-name}/pending/merge'}

def backup_certificate(
self, vault_base_url, certificate_name, custom_headers=None, raw=False, **operation_config):
"""Backs up the specified certificate.

Requests that a backup of the specified certificate be downloaded to
the client. All versions of the certificate will be downloaded. This
operation requires the certificates/backup permission.

:param vault_base_url: The vault name, for example
https://myvault.vault.azure.net.
:type vault_base_url: str
:param certificate_name: The name of the certificate.
:type certificate_name: str
:param dict custom_headers: headers that will be added to the request
:param bool raw: returns the direct response alongside the
deserialized response
:param operation_config: :ref:`Operation configuration
overrides<msrest:optionsforoperations>`.
:return: BackupCertificateResult or ClientRawResponse if raw=true
:rtype: ~azure.keyvault.models.BackupCertificateResult or
~msrest.pipeline.ClientRawResponse
:raises:
:class:`KeyVaultErrorException<azure.keyvault.models.KeyVaultErrorException>`
"""
# Construct URL
url = self.backup_certificate.metadata['url']
path_format_arguments = {
'vaultBaseUrl': self._serialize.url("vault_base_url", vault_base_url, 'str', skip_quote=True),
'certificate-name': self._serialize.url("certificate_name", certificate_name, 'str')
}
url = self._client.format_url(url, **path_format_arguments)

# Construct parameters
query_parameters = {}
query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str')

# Construct headers
header_parameters = {}
header_parameters['Content-Type'] = 'application/json; charset=utf-8'
if self.config.generate_client_request_id:
header_parameters['x-ms-client-request-id'] = str(uuid.uuid1())
if custom_headers:
header_parameters.update(custom_headers)
if self.config.accept_language is not None:
header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str')

# Construct and send request
request = self._client.post(url, query_parameters)
response = self._client.send(request, header_parameters, stream=False, **operation_config)

if response.status_code not in [200]:
raise models.KeyVaultErrorException(self._deserialize, response)

deserialized = None

if response.status_code == 200:
deserialized = self._deserialize('BackupCertificateResult', response)

if raw:
client_raw_response = ClientRawResponse(deserialized, response)
return client_raw_response

return deserialized
backup_certificate.metadata = {'url': '/certificates/{certificate-name}/backup'}

def restore_certificate(
self, vault_base_url, certificate_bundle_backup, custom_headers=None, raw=False, **operation_config):
"""Restores a backed up certificate to a vault.

Restores a backed up certificate, and all its versions, to a vault.
This operation requires the certificates/restore permission.

:param vault_base_url: The vault name, for example
https://myvault.vault.azure.net.
:type vault_base_url: str
:param certificate_bundle_backup: The backup blob associated with a
certificate bundle.
:type certificate_bundle_backup: bytes
:param dict custom_headers: headers that will be added to the request
:param bool raw: returns the direct response alongside the
deserialized response
:param operation_config: :ref:`Operation configuration
overrides<msrest:optionsforoperations>`.
:return: CertificateBundle or ClientRawResponse if raw=true
:rtype: ~azure.keyvault.models.CertificateBundle or
~msrest.pipeline.ClientRawResponse
:raises:
:class:`KeyVaultErrorException<azure.keyvault.models.KeyVaultErrorException>`
"""
parameters = models.CertificateRestoreParameters(certificate_bundle_backup=certificate_bundle_backup)

# Construct URL
url = self.restore_certificate.metadata['url']
path_format_arguments = {
'vaultBaseUrl': self._serialize.url("vault_base_url", vault_base_url, 'str', skip_quote=True)
}
url = self._client.format_url(url, **path_format_arguments)

# Construct parameters
query_parameters = {}
query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str')

# Construct headers
header_parameters = {}
header_parameters['Content-Type'] = 'application/json; charset=utf-8'
if self.config.generate_client_request_id:
header_parameters['x-ms-client-request-id'] = str(uuid.uuid1())
if custom_headers:
header_parameters.update(custom_headers)
if self.config.accept_language is not None:
header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str')

# Construct body
body_content = self._serialize.body(parameters, 'CertificateRestoreParameters')

# Construct and send request
request = self._client.post(url, query_parameters)
response = self._client.send(
request, header_parameters, body_content, stream=False, **operation_config)

if response.status_code not in [200]:
raise models.KeyVaultErrorException(self._deserialize, response)

deserialized = None

if response.status_code == 200:
deserialized = self._deserialize('CertificateBundle', response)

if raw:
client_raw_response = ClientRawResponse(deserialized, response)
return client_raw_response

return deserialized
restore_certificate.metadata = {'url': '/certificates/restore'}

def get_deleted_certificates(
self, vault_base_url, maxresults=None, include_pending=None, custom_headers=None, raw=False, **operation_config):
"""Lists the deleted certificates in the specified vault currently
Expand Down Expand Up @@ -4424,7 +4560,7 @@ def get_deleted_storage_account(
return deserialized
get_deleted_storage_account.metadata = {'url': '/deletedstorage/{storage-account-name}'}

def purge_deleted_storge_account(
def purge_deleted_storage_account(
self, vault_base_url, storage_account_name, custom_headers=None, raw=False, **operation_config):
"""Permanently deletes the specified storage account.

Expand All @@ -4449,7 +4585,7 @@ def purge_deleted_storge_account(
:class:`KeyVaultErrorException<azure.keyvault.models.KeyVaultErrorException>`
"""
# Construct URL
url = self.purge_deleted_storge_account.metadata['url']
url = self.purge_deleted_storage_account.metadata['url']
path_format_arguments = {
'vaultBaseUrl': self._serialize.url("vault_base_url", vault_base_url, 'str', skip_quote=True),
'storage-account-name': self._serialize.url("storage_account_name", storage_account_name, 'str', pattern=r'^[0-9a-zA-Z]+$')
Expand Down Expand Up @@ -4480,7 +4616,7 @@ def purge_deleted_storge_account(
if raw:
client_raw_response = ClientRawResponse(None, response)
return client_raw_response
purge_deleted_storge_account.metadata = {'url': '/deletedstorage/{storage-account-name}'}
purge_deleted_storage_account.metadata = {'url': '/deletedstorage/{storage-account-name}'}

def recover_deleted_storage_account(
self, vault_base_url, storage_account_name, custom_headers=None, raw=False, **operation_config):
Expand Down
Loading