diff env/lib/python3.7/site-packages/boto/cloudhsm/layer1.py @ 5:9b1c78e6ba9c draft default tip

"planemo upload commit 6c0a8142489327ece472c84e558c47da711a9142"
author shellac
date Mon, 01 Jun 2020 08:59:25 -0400
parents 79f47841a781
children
line wrap: on
line diff
--- a/env/lib/python3.7/site-packages/boto/cloudhsm/layer1.py	Thu May 14 16:47:39 2020 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,448 +0,0 @@
-# Copyright (c) 2015 Amazon.com, Inc. or its affiliates.  All Rights Reserved
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the
-# "Software"), to deal in the Software without restriction, including
-# without limitation the rights to use, copy, modify, merge, publish, dis-
-# tribute, sublicense, and/or sell copies of the Software, and to permit
-# persons to whom the Software is furnished to do so, subject to the fol-
-# lowing conditions:
-#
-# The above copyright notice and this permission notice shall be included
-# in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
-# ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
-# SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-# IN THE SOFTWARE.
-#
-
-import boto
-from boto.compat import json
-from boto.connection import AWSQueryConnection
-from boto.regioninfo import RegionInfo
-from boto.exception import JSONResponseError
-from boto.cloudhsm import exceptions
-
-
-class CloudHSMConnection(AWSQueryConnection):
-    """
-    AWS CloudHSM Service
-    """
-    APIVersion = "2014-05-30"
-    DefaultRegionName = "us-east-1"
-    DefaultRegionEndpoint = "cloudhsm.us-east-1.amazonaws.com"
-    ServiceName = "CloudHSM"
-    TargetPrefix = "CloudHsmFrontendService"
-    ResponseError = JSONResponseError
-
-    _faults = {
-        "InvalidRequestException": exceptions.InvalidRequestException,
-        "CloudHsmServiceException": exceptions.CloudHsmServiceException,
-        "CloudHsmInternalException": exceptions.CloudHsmInternalException,
-    }
-
-
-    def __init__(self, **kwargs):
-        region = kwargs.pop('region', None)
-        if not region:
-            region = RegionInfo(self, self.DefaultRegionName,
-                                self.DefaultRegionEndpoint)
-
-        if 'host' not in kwargs or kwargs['host'] is None:
-            kwargs['host'] = region.endpoint
-
-        super(CloudHSMConnection, self).__init__(**kwargs)
-        self.region = region
-
-    def _required_auth_capability(self):
-        return ['hmac-v4']
-
-    def create_hapg(self, label):
-        """
-        Creates a high-availability partition group. A high-
-        availability partition group is a group of partitions that
-        spans multiple physical HSMs.
-
-        :type label: string
-        :param label: The label of the new high-availability partition group.
-
-        """
-        params = {'Label': label, }
-        return self.make_request(action='CreateHapg',
-                                 body=json.dumps(params))
-
-    def create_hsm(self, subnet_id, ssh_key, iam_role_arn, subscription_type,
-                   eni_ip=None, external_id=None, client_token=None,
-                   syslog_ip=None):
-        """
-        Creates an uninitialized HSM instance. Running this command
-        provisions an HSM appliance and will result in charges to your
-        AWS account for the HSM.
-
-        :type subnet_id: string
-        :param subnet_id: The identifier of the subnet in your VPC in which to
-            place the HSM.
-
-        :type ssh_key: string
-        :param ssh_key: The SSH public key to install on the HSM.
-
-        :type eni_ip: string
-        :param eni_ip: The IP address to assign to the HSM's ENI.
-
-        :type iam_role_arn: string
-        :param iam_role_arn: The ARN of an IAM role to enable the AWS CloudHSM
-            service to allocate an ENI on your behalf.
-
-        :type external_id: string
-        :param external_id: The external ID from **IamRoleArn**, if present.
-
-        :type subscription_type: string
-        :param subscription_type: The subscription type.
-
-        :type client_token: string
-        :param client_token: A user-defined token to ensure idempotence.
-            Subsequent calls to this action with the same token will be
-            ignored.
-
-        :type syslog_ip: string
-        :param syslog_ip: The IP address for the syslog monitoring server.
-
-        """
-        params = {
-            'SubnetId': subnet_id,
-            'SshKey': ssh_key,
-            'IamRoleArn': iam_role_arn,
-            'SubscriptionType': subscription_type,
-        }
-        if eni_ip is not None:
-            params['EniIp'] = eni_ip
-        if external_id is not None:
-            params['ExternalId'] = external_id
-        if client_token is not None:
-            params['ClientToken'] = client_token
-        if syslog_ip is not None:
-            params['SyslogIp'] = syslog_ip
-        return self.make_request(action='CreateHsm',
-                                 body=json.dumps(params))
-
-    def create_luna_client(self, certificate, label=None):
-        """
-        Creates an HSM client.
-
-        :type label: string
-        :param label: The label for the client.
-
-        :type certificate: string
-        :param certificate: The contents of a Base64-Encoded X.509 v3
-            certificate to be installed on the HSMs used by this client.
-
-        """
-        params = {'Certificate': certificate, }
-        if label is not None:
-            params['Label'] = label
-        return self.make_request(action='CreateLunaClient',
-                                 body=json.dumps(params))
-
-    def delete_hapg(self, hapg_arn):
-        """
-        Deletes a high-availability partition group.
-
-        :type hapg_arn: string
-        :param hapg_arn: The ARN of the high-availability partition group to
-            delete.
-
-        """
-        params = {'HapgArn': hapg_arn, }
-        return self.make_request(action='DeleteHapg',
-                                 body=json.dumps(params))
-
-    def delete_hsm(self, hsm_arn):
-        """
-        Deletes an HSM. Once complete, this operation cannot be undone
-        and your key material cannot be recovered.
-
-        :type hsm_arn: string
-        :param hsm_arn: The ARN of the HSM to delete.
-
-        """
-        params = {'HsmArn': hsm_arn, }
-        return self.make_request(action='DeleteHsm',
-                                 body=json.dumps(params))
-
-    def delete_luna_client(self, client_arn):
-        """
-        Deletes a client.
-
-        :type client_arn: string
-        :param client_arn: The ARN of the client to delete.
-
-        """
-        params = {'ClientArn': client_arn, }
-        return self.make_request(action='DeleteLunaClient',
-                                 body=json.dumps(params))
-
-    def describe_hapg(self, hapg_arn):
-        """
-        Retrieves information about a high-availability partition
-        group.
-
-        :type hapg_arn: string
-        :param hapg_arn: The ARN of the high-availability partition group to
-            describe.
-
-        """
-        params = {'HapgArn': hapg_arn, }
-        return self.make_request(action='DescribeHapg',
-                                 body=json.dumps(params))
-
-    def describe_hsm(self, hsm_arn=None, hsm_serial_number=None):
-        """
-        Retrieves information about an HSM. You can identify the HSM
-        by its ARN or its serial number.
-
-        :type hsm_arn: string
-        :param hsm_arn: The ARN of the HSM. Either the HsmArn or the
-            SerialNumber parameter must be specified.
-
-        :type hsm_serial_number: string
-        :param hsm_serial_number: The serial number of the HSM. Either the
-            HsmArn or the HsmSerialNumber parameter must be specified.
-
-        """
-        params = {}
-        if hsm_arn is not None:
-            params['HsmArn'] = hsm_arn
-        if hsm_serial_number is not None:
-            params['HsmSerialNumber'] = hsm_serial_number
-        return self.make_request(action='DescribeHsm',
-                                 body=json.dumps(params))
-
-    def describe_luna_client(self, client_arn=None,
-                             certificate_fingerprint=None):
-        """
-        Retrieves information about an HSM client.
-
-        :type client_arn: string
-        :param client_arn: The ARN of the client.
-
-        :type certificate_fingerprint: string
-        :param certificate_fingerprint: The certificate fingerprint.
-
-        """
-        params = {}
-        if client_arn is not None:
-            params['ClientArn'] = client_arn
-        if certificate_fingerprint is not None:
-            params['CertificateFingerprint'] = certificate_fingerprint
-        return self.make_request(action='DescribeLunaClient',
-                                 body=json.dumps(params))
-
-    def get_config(self, client_arn, client_version, hapg_list):
-        """
-        Gets the configuration files necessary to connect to all high
-        availability partition groups the client is associated with.
-
-        :type client_arn: string
-        :param client_arn: The ARN of the client.
-
-        :type client_version: string
-        :param client_version: The client version.
-
-        :type hapg_list: list
-        :param hapg_list: A list of ARNs that identify the high-availability
-            partition groups that are associated with the client.
-
-        """
-        params = {
-            'ClientArn': client_arn,
-            'ClientVersion': client_version,
-            'HapgList': hapg_list,
-        }
-        return self.make_request(action='GetConfig',
-                                 body=json.dumps(params))
-
-    def list_available_zones(self):
-        """
-        Lists the Availability Zones that have available AWS CloudHSM
-        capacity.
-
-        
-        """
-        params = {}
-        return self.make_request(action='ListAvailableZones',
-                                 body=json.dumps(params))
-
-    def list_hapgs(self, next_token=None):
-        """
-        Lists the high-availability partition groups for the account.
-
-        This operation supports pagination with the use of the
-        NextToken member. If more results are available, the NextToken
-        member of the response contains a token that you pass in the
-        next call to ListHapgs to retrieve the next set of items.
-
-        :type next_token: string
-        :param next_token: The NextToken value from a previous call to
-            ListHapgs. Pass null if this is the first call.
-
-        """
-        params = {}
-        if next_token is not None:
-            params['NextToken'] = next_token
-        return self.make_request(action='ListHapgs',
-                                 body=json.dumps(params))
-
-    def list_hsms(self, next_token=None):
-        """
-        Retrieves the identifiers of all of the HSMs provisioned for
-        the current customer.
-
-        This operation supports pagination with the use of the
-        NextToken member. If more results are available, the NextToken
-        member of the response contains a token that you pass in the
-        next call to ListHsms to retrieve the next set of items.
-
-        :type next_token: string
-        :param next_token: The NextToken value from a previous call to
-            ListHsms. Pass null if this is the first call.
-
-        """
-        params = {}
-        if next_token is not None:
-            params['NextToken'] = next_token
-        return self.make_request(action='ListHsms',
-                                 body=json.dumps(params))
-
-    def list_luna_clients(self, next_token=None):
-        """
-        Lists all of the clients.
-
-        This operation supports pagination with the use of the
-        NextToken member. If more results are available, the NextToken
-        member of the response contains a token that you pass in the
-        next call to ListLunaClients to retrieve the next set of
-        items.
-
-        :type next_token: string
-        :param next_token: The NextToken value from a previous call to
-            ListLunaClients. Pass null if this is the first call.
-
-        """
-        params = {}
-        if next_token is not None:
-            params['NextToken'] = next_token
-        return self.make_request(action='ListLunaClients',
-                                 body=json.dumps(params))
-
-    def modify_hapg(self, hapg_arn, label=None, partition_serial_list=None):
-        """
-        Modifies an existing high-availability partition group.
-
-        :type hapg_arn: string
-        :param hapg_arn: The ARN of the high-availability partition group to
-            modify.
-
-        :type label: string
-        :param label: The new label for the high-availability partition group.
-
-        :type partition_serial_list: list
-        :param partition_serial_list: The list of partition serial numbers to
-            make members of the high-availability partition group.
-
-        """
-        params = {'HapgArn': hapg_arn, }
-        if label is not None:
-            params['Label'] = label
-        if partition_serial_list is not None:
-            params['PartitionSerialList'] = partition_serial_list
-        return self.make_request(action='ModifyHapg',
-                                 body=json.dumps(params))
-
-    def modify_hsm(self, hsm_arn, subnet_id=None, eni_ip=None,
-                   iam_role_arn=None, external_id=None, syslog_ip=None):
-        """
-        Modifies an HSM.
-
-        :type hsm_arn: string
-        :param hsm_arn: The ARN of the HSM to modify.
-
-        :type subnet_id: string
-        :param subnet_id: The new identifier of the subnet that the HSM is in.
-
-        :type eni_ip: string
-        :param eni_ip: The new IP address for the elastic network interface
-            attached to the HSM.
-
-        :type iam_role_arn: string
-        :param iam_role_arn: The new IAM role ARN.
-
-        :type external_id: string
-        :param external_id: The new external ID.
-
-        :type syslog_ip: string
-        :param syslog_ip: The new IP address for the syslog monitoring server.
-
-        """
-        params = {'HsmArn': hsm_arn, }
-        if subnet_id is not None:
-            params['SubnetId'] = subnet_id
-        if eni_ip is not None:
-            params['EniIp'] = eni_ip
-        if iam_role_arn is not None:
-            params['IamRoleArn'] = iam_role_arn
-        if external_id is not None:
-            params['ExternalId'] = external_id
-        if syslog_ip is not None:
-            params['SyslogIp'] = syslog_ip
-        return self.make_request(action='ModifyHsm',
-                                 body=json.dumps(params))
-
-    def modify_luna_client(self, client_arn, certificate):
-        """
-        Modifies the certificate used by the client.
-
-        This action can potentially start a workflow to install the
-        new certificate on the client's HSMs.
-
-        :type client_arn: string
-        :param client_arn: The ARN of the client.
-
-        :type certificate: string
-        :param certificate: The new certificate for the client.
-
-        """
-        params = {
-            'ClientArn': client_arn,
-            'Certificate': certificate,
-        }
-        return self.make_request(action='ModifyLunaClient',
-                                 body=json.dumps(params))
-
-    def make_request(self, action, body):
-        headers = {
-            'X-Amz-Target': '%s.%s' % (self.TargetPrefix, action),
-            'Host': self.region.endpoint,
-            'Content-Type': 'application/x-amz-json-1.1',
-            'Content-Length': str(len(body)),
-        }
-        http_request = self.build_base_http_request(
-            method='POST', path='/', auth_path='/', params={},
-            headers=headers, data=body)
-        response = self._mexe(http_request, sender=None,
-                              override_num_retries=10)
-        response_body = response.read().decode('utf-8')
-        boto.log.debug(response_body)
-        if response.status == 200:
-            if response_body:
-                return json.loads(response_body)
-        else:
-            json_body = json.loads(response_body)
-            fault_name = json_body.get('__type', None)
-            exception_class = self._faults.get(fault_name, self.ResponseError)
-            raise exception_class(response.status, response.reason,
-                                  body=json_body)
-