Mercurial > repos > shellac > guppy_basecaller
diff env/lib/python3.7/site-packages/boto/directconnect/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/directconnect/layer1.py Thu May 14 16:47:39 2020 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,627 +0,0 @@ -# Copyright (c) 2013 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.connection import AWSQueryConnection -from boto.regioninfo import RegionInfo -from boto.exception import JSONResponseError -from boto.directconnect import exceptions -from boto.compat import json - - -class DirectConnectConnection(AWSQueryConnection): - """ - AWS Direct Connect makes it easy to establish a dedicated network - connection from your premises to Amazon Web Services (AWS). Using - AWS Direct Connect, you can establish private connectivity between - AWS and your data center, office, or colocation environment, which - in many cases can reduce your network costs, increase bandwidth - throughput, and provide a more consistent network experience than - Internet-based connections. - - The AWS Direct Connect API Reference provides descriptions, - syntax, and usage examples for each of the actions and data types - for AWS Direct Connect. Use the following links to get started - using the AWS Direct Connect API Reference : - - - + `Actions`_: An alphabetical list of all AWS Direct Connect - actions. - + `Data Types`_: An alphabetical list of all AWS Direct Connect - data types. - + `Common Query Parameters`_: Parameters that all Query actions - can use. - + `Common Errors`_: Client and server errors that all actions can - return. - """ - APIVersion = "2012-10-25" - DefaultRegionName = "us-east-1" - DefaultRegionEndpoint = "directconnect.us-east-1.amazonaws.com" - ServiceName = "DirectConnect" - TargetPrefix = "OvertureService" - ResponseError = JSONResponseError - - _faults = { - "DirectConnectClientException": exceptions.DirectConnectClientException, - "DirectConnectServerException": exceptions.DirectConnectServerException, - } - - def __init__(self, **kwargs): - region = kwargs.pop('region', None) - if not region: - region = RegionInfo(self, self.DefaultRegionName, - self.DefaultRegionEndpoint) - - if 'host' not in kwargs: - kwargs['host'] = region.endpoint - - super(DirectConnectConnection, self).__init__(**kwargs) - self.region = region - - def _required_auth_capability(self): - return ['hmac-v4'] - - def allocate_connection_on_interconnect(self, bandwidth, connection_name, - owner_account, interconnect_id, - vlan): - """ - Creates a hosted connection on an interconnect. - - Allocates a VLAN number and a specified amount of bandwidth - for use by a hosted connection on the given interconnect. - - :type bandwidth: string - :param bandwidth: Bandwidth of the connection. - Example: " 500Mbps " - - Default: None - - :type connection_name: string - :param connection_name: Name of the provisioned connection. - Example: " 500M Connection to AWS " - - Default: None - - :type owner_account: string - :param owner_account: Numeric account Id of the customer for whom the - connection will be provisioned. - Example: 123443215678 - - Default: None - - :type interconnect_id: string - :param interconnect_id: ID of the interconnect on which the connection - will be provisioned. - Example: dxcon-456abc78 - - Default: None - - :type vlan: integer - :param vlan: The dedicated VLAN provisioned to the connection. - Example: 101 - - Default: None - - """ - params = { - 'bandwidth': bandwidth, - 'connectionName': connection_name, - 'ownerAccount': owner_account, - 'interconnectId': interconnect_id, - 'vlan': vlan, - } - return self.make_request(action='AllocateConnectionOnInterconnect', - body=json.dumps(params)) - - def allocate_private_virtual_interface(self, connection_id, - owner_account, - new_private_virtual_interface_allocation): - """ - Provisions a private virtual interface to be owned by a - different customer. - - The owner of a connection calls this function to provision a - private virtual interface which will be owned by another AWS - customer. - - Virtual interfaces created using this function must be - confirmed by the virtual interface owner by calling - ConfirmPrivateVirtualInterface. Until this step has been - completed, the virtual interface will be in 'Confirming' - state, and will not be available for handling traffic. - - :type connection_id: string - :param connection_id: The connection ID on which the private virtual - interface is provisioned. - Default: None - - :type owner_account: string - :param owner_account: The AWS account that will own the new private - virtual interface. - Default: None - - :type new_private_virtual_interface_allocation: dict - :param new_private_virtual_interface_allocation: Detailed information - for the private virtual interface to be provisioned. - Default: None - - """ - params = { - 'connectionId': connection_id, - 'ownerAccount': owner_account, - 'newPrivateVirtualInterfaceAllocation': new_private_virtual_interface_allocation, - } - return self.make_request(action='AllocatePrivateVirtualInterface', - body=json.dumps(params)) - - def allocate_public_virtual_interface(self, connection_id, owner_account, - new_public_virtual_interface_allocation): - """ - Provisions a public virtual interface to be owned by a - different customer. - - The owner of a connection calls this function to provision a - public virtual interface which will be owned by another AWS - customer. - - Virtual interfaces created using this function must be - confirmed by the virtual interface owner by calling - ConfirmPublicVirtualInterface. Until this step has been - completed, the virtual interface will be in 'Confirming' - state, and will not be available for handling traffic. - - :type connection_id: string - :param connection_id: The connection ID on which the public virtual - interface is provisioned. - Default: None - - :type owner_account: string - :param owner_account: The AWS account that will own the new public - virtual interface. - Default: None - - :type new_public_virtual_interface_allocation: dict - :param new_public_virtual_interface_allocation: Detailed information - for the public virtual interface to be provisioned. - Default: None - - """ - params = { - 'connectionId': connection_id, - 'ownerAccount': owner_account, - 'newPublicVirtualInterfaceAllocation': new_public_virtual_interface_allocation, - } - return self.make_request(action='AllocatePublicVirtualInterface', - body=json.dumps(params)) - - def confirm_connection(self, connection_id): - """ - Confirm the creation of a hosted connection on an - interconnect. - - Upon creation, the hosted connection is initially in the - 'Ordering' state, and will remain in this state until the - owner calls ConfirmConnection to confirm creation of the - hosted connection. - - :type connection_id: string - :param connection_id: ID of the connection. - Example: dxcon-fg5678gh - - Default: None - - """ - params = {'connectionId': connection_id, } - return self.make_request(action='ConfirmConnection', - body=json.dumps(params)) - - def confirm_private_virtual_interface(self, virtual_interface_id, - virtual_gateway_id): - """ - Accept ownership of a private virtual interface created by - another customer. - - After the virtual interface owner calls this function, the - virtual interface will be created and attached to the given - virtual private gateway, and will be available for handling - traffic. - - :type virtual_interface_id: string - :param virtual_interface_id: ID of the virtual interface. - Example: dxvif-123dfg56 - - Default: None - - :type virtual_gateway_id: string - :param virtual_gateway_id: ID of the virtual private gateway that will - be attached to the virtual interface. - A virtual private gateway can be managed via the Amazon Virtual Private - Cloud (VPC) console or the `EC2 CreateVpnGateway`_ action. - - Default: None - - """ - params = { - 'virtualInterfaceId': virtual_interface_id, - 'virtualGatewayId': virtual_gateway_id, - } - return self.make_request(action='ConfirmPrivateVirtualInterface', - body=json.dumps(params)) - - def confirm_public_virtual_interface(self, virtual_interface_id): - """ - Accept ownership of a public virtual interface created by - another customer. - - After the virtual interface owner calls this function, the - specified virtual interface will be created and made available - for handling traffic. - - :type virtual_interface_id: string - :param virtual_interface_id: ID of the virtual interface. - Example: dxvif-123dfg56 - - Default: None - - """ - params = {'virtualInterfaceId': virtual_interface_id, } - return self.make_request(action='ConfirmPublicVirtualInterface', - body=json.dumps(params)) - - def create_connection(self, location, bandwidth, connection_name): - """ - Creates a new connection between the customer network and a - specific AWS Direct Connect location. - - A connection links your internal network to an AWS Direct - Connect location over a standard 1 gigabit or 10 gigabit - Ethernet fiber-optic cable. One end of the cable is connected - to your router, the other to an AWS Direct Connect router. An - AWS Direct Connect location provides access to Amazon Web - Services in the region it is associated with. You can - establish connections with AWS Direct Connect locations in - multiple regions, but a connection in one region does not - provide connectivity to other regions. - - :type location: string - :param location: Where the connection is located. - Example: EqSV5 - - Default: None - - :type bandwidth: string - :param bandwidth: Bandwidth of the connection. - Example: 1Gbps - - Default: None - - :type connection_name: string - :param connection_name: The name of the connection. - Example: " My Connection to AWS " - - Default: None - - """ - params = { - 'location': location, - 'bandwidth': bandwidth, - 'connectionName': connection_name, - } - return self.make_request(action='CreateConnection', - body=json.dumps(params)) - - def create_interconnect(self, interconnect_name, bandwidth, location): - """ - Creates a new interconnect between a AWS Direct Connect - partner's network and a specific AWS Direct Connect location. - - An interconnect is a connection which is capable of hosting - other connections. The AWS Direct Connect partner can use an - interconnect to provide sub-1Gbps AWS Direct Connect service - to tier 2 customers who do not have their own connections. - Like a standard connection, an interconnect links the AWS - Direct Connect partner's network to an AWS Direct Connect - location over a standard 1 Gbps or 10 Gbps Ethernet fiber- - optic cable. One end is connected to the partner's router, the - other to an AWS Direct Connect router. - - For each end customer, the AWS Direct Connect partner - provisions a connection on their interconnect by calling - AllocateConnectionOnInterconnect. The end customer can then - connect to AWS resources by creating a virtual interface on - their connection, using the VLAN assigned to them by the AWS - Direct Connect partner. - - :type interconnect_name: string - :param interconnect_name: The name of the interconnect. - Example: " 1G Interconnect to AWS " - - Default: None - - :type bandwidth: string - :param bandwidth: The port bandwidth - Example: 1Gbps - - Default: None - - Available values: 1Gbps,10Gbps - - :type location: string - :param location: Where the interconnect is located - Example: EqSV5 - - Default: None - - """ - params = { - 'interconnectName': interconnect_name, - 'bandwidth': bandwidth, - 'location': location, - } - return self.make_request(action='CreateInterconnect', - body=json.dumps(params)) - - def create_private_virtual_interface(self, connection_id, - new_private_virtual_interface): - """ - Creates a new private virtual interface. A virtual interface - is the VLAN that transports AWS Direct Connect traffic. A - private virtual interface supports sending traffic to a single - virtual private cloud (VPC). - - :type connection_id: string - :param connection_id: ID of the connection. - Example: dxcon-fg5678gh - - Default: None - - :type new_private_virtual_interface: dict - :param new_private_virtual_interface: Detailed information for the - private virtual interface to be created. - Default: None - - """ - params = { - 'connectionId': connection_id, - 'newPrivateVirtualInterface': new_private_virtual_interface, - } - return self.make_request(action='CreatePrivateVirtualInterface', - body=json.dumps(params)) - - def create_public_virtual_interface(self, connection_id, - new_public_virtual_interface): - """ - Creates a new public virtual interface. A virtual interface is - the VLAN that transports AWS Direct Connect traffic. A public - virtual interface supports sending traffic to public services - of AWS such as Amazon Simple Storage Service (Amazon S3). - - :type connection_id: string - :param connection_id: ID of the connection. - Example: dxcon-fg5678gh - - Default: None - - :type new_public_virtual_interface: dict - :param new_public_virtual_interface: Detailed information for the - public virtual interface to be created. - Default: None - - """ - params = { - 'connectionId': connection_id, - 'newPublicVirtualInterface': new_public_virtual_interface, - } - return self.make_request(action='CreatePublicVirtualInterface', - body=json.dumps(params)) - - def delete_connection(self, connection_id): - """ - Deletes the connection. - - Deleting a connection only stops the AWS Direct Connect port - hour and data transfer charges. You need to cancel separately - with the providers any services or charges for cross-connects - or network circuits that connect you to the AWS Direct Connect - location. - - :type connection_id: string - :param connection_id: ID of the connection. - Example: dxcon-fg5678gh - - Default: None - - """ - params = {'connectionId': connection_id, } - return self.make_request(action='DeleteConnection', - body=json.dumps(params)) - - def delete_interconnect(self, interconnect_id): - """ - Deletes the specified interconnect. - - :type interconnect_id: string - :param interconnect_id: The ID of the interconnect. - Example: dxcon-abc123 - - """ - params = {'interconnectId': interconnect_id, } - return self.make_request(action='DeleteInterconnect', - body=json.dumps(params)) - - def delete_virtual_interface(self, virtual_interface_id): - """ - Deletes a virtual interface. - - :type virtual_interface_id: string - :param virtual_interface_id: ID of the virtual interface. - Example: dxvif-123dfg56 - - Default: None - - """ - params = {'virtualInterfaceId': virtual_interface_id, } - return self.make_request(action='DeleteVirtualInterface', - body=json.dumps(params)) - - def describe_connections(self, connection_id=None): - """ - Displays all connections in this region. - - If a connection ID is provided, the call returns only that - particular connection. - - :type connection_id: string - :param connection_id: ID of the connection. - Example: dxcon-fg5678gh - - Default: None - - """ - params = {} - if connection_id is not None: - params['connectionId'] = connection_id - return self.make_request(action='DescribeConnections', - body=json.dumps(params)) - - def describe_connections_on_interconnect(self, interconnect_id): - """ - Return a list of connections that have been provisioned on the - given interconnect. - - :type interconnect_id: string - :param interconnect_id: ID of the interconnect on which a list of - connection is provisioned. - Example: dxcon-abc123 - - Default: None - - """ - params = {'interconnectId': interconnect_id, } - return self.make_request(action='DescribeConnectionsOnInterconnect', - body=json.dumps(params)) - - def describe_interconnects(self, interconnect_id=None): - """ - Returns a list of interconnects owned by the AWS account. - - If an interconnect ID is provided, it will only return this - particular interconnect. - - :type interconnect_id: string - :param interconnect_id: The ID of the interconnect. - Example: dxcon-abc123 - - """ - params = {} - if interconnect_id is not None: - params['interconnectId'] = interconnect_id - return self.make_request(action='DescribeInterconnects', - body=json.dumps(params)) - - def describe_locations(self): - """ - Returns the list of AWS Direct Connect locations in the - current AWS region. These are the locations that may be - selected when calling CreateConnection or CreateInterconnect. - """ - params = {} - return self.make_request(action='DescribeLocations', - body=json.dumps(params)) - - def describe_virtual_gateways(self): - """ - Returns a list of virtual private gateways owned by the AWS - account. - - You can create one or more AWS Direct Connect private virtual - interfaces linking to a virtual private gateway. A virtual - private gateway can be managed via Amazon Virtual Private - Cloud (VPC) console or the `EC2 CreateVpnGateway`_ action. - """ - params = {} - return self.make_request(action='DescribeVirtualGateways', - body=json.dumps(params)) - - def describe_virtual_interfaces(self, connection_id=None, - virtual_interface_id=None): - """ - Displays all virtual interfaces for an AWS account. Virtual - interfaces deleted fewer than 15 minutes before - DescribeVirtualInterfaces is called are also returned. If a - connection ID is included then only virtual interfaces - associated with this connection will be returned. If a virtual - interface ID is included then only a single virtual interface - will be returned. - - A virtual interface (VLAN) transmits the traffic between the - AWS Direct Connect location and the customer. - - If a connection ID is provided, only virtual interfaces - provisioned on the specified connection will be returned. If a - virtual interface ID is provided, only this particular virtual - interface will be returned. - - :type connection_id: string - :param connection_id: ID of the connection. - Example: dxcon-fg5678gh - - Default: None - - :type virtual_interface_id: string - :param virtual_interface_id: ID of the virtual interface. - Example: dxvif-123dfg56 - - Default: None - - """ - params = {} - if connection_id is not None: - params['connectionId'] = connection_id - if virtual_interface_id is not None: - params['virtualInterfaceId'] = virtual_interface_id - return self.make_request(action='DescribeVirtualInterfaces', - 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)
