From fe458cccdeb2fed3a760d2a95ff509abfff58ed0 Mon Sep 17 00:00:00 2001 From: "Javier M. Mellid" Date: Tue, 22 Nov 2016 12:38:42 +0100 Subject: [PATCH 1/5] Outscale SAS doc improvements and logo update Signed-off-by: Javier M. Mellid --- .../images/provider_logos/outscale.jpg | Bin 0 -> 17361 bytes .../images/provider_logos/outscale.png | Bin 8437 -> 0 bytes docs/compute/drivers/outscale_inc.rst | 2 +- docs/compute/drivers/outscale_sas.rst | 21 +++++++++--------- 4 files changed, 12 insertions(+), 11 deletions(-) create mode 100644 docs/_static/images/provider_logos/outscale.jpg delete mode 100644 docs/_static/images/provider_logos/outscale.png diff --git a/docs/_static/images/provider_logos/outscale.jpg b/docs/_static/images/provider_logos/outscale.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3131e8906679ca26337405a8dd02772021ad8543 GIT binary patch literal 17361 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 M;^3seIKQs`Kj8vuMgRZ+ literal 0 HcmV?d00001 diff --git a/docs/_static/images/provider_logos/outscale.png b/docs/_static/images/provider_logos/outscale.png deleted file mode 100644 index c11c92a8f1c9ded5d593a04721f0da7ca875c0b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8437 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 L)a7erEyDf}`k%+0 diff --git a/docs/compute/drivers/outscale_inc.rst b/docs/compute/drivers/outscale_inc.rst index a6786a2bd4..f206514449 100644 --- a/docs/compute/drivers/outscale_inc.rst +++ b/docs/compute/drivers/outscale_inc.rst @@ -7,7 +7,7 @@ This IaaS platform relies on TINA OS, its Cloud manager which purpose is to provide great performances on the Cloud. TINA OS is an own developed software with APIs compatible with AWS EC2 (TM). -.. figure:: /_static/images/provider_logos/outscale.png +.. figure:: /_static/images/provider_logos/outscale.jpg :align: center :width: 300 :target: https://www.outscale.com/ diff --git a/docs/compute/drivers/outscale_sas.rst b/docs/compute/drivers/outscale_sas.rst index 441febcab0..58e0727f10 100644 --- a/docs/compute/drivers/outscale_sas.rst +++ b/docs/compute/drivers/outscale_sas.rst @@ -3,29 +3,30 @@ Outscale SAS Driver Documentation `Outscale SAS`_ provides an IaaS platform allowing developers to benefit from all the flexibility of the Cloud. -This IaaS platform relies on TINA OS, its Cloud manager which purpose is to +This IaaS platform relies on TINA OS, its Cloud manager whose purpose is to provide great performances on the Cloud. -TINA OS is an own developed software with APIs compatible with AWS EC2 (TM). +TINA OS is a software developed by Outscale with APIs compatible with AWS EC2 (TM). -.. figure:: /_static/images/provider_logos/outscale.png +.. figure:: /_static/images/provider_logos/outscale.jpg :align: center :width: 300 :target: https://www.outscale.com/ Outscale users can start virtual machines in the following regions: -* EU West (Paris France) Region -* US East (Boston US) Region -* (Soon) US East (New Jersey) Region -* (Soon) Asia (Hong Kong) Region +* eu-west-1, France (Paris) +* eu-west-2, France (Paris) -Outscale SAS is a European company: prices are in €. +For other Regions, see the `Outscale Inc.`_ documentation. -API Docs --------- +Outscale SAS is European company and uses prices in Euros. + +API Documentation +----------------- .. autoclass:: libcloud.compute.drivers.ec2.OutscaleSASNodeDriver :members: :inherited-members: .. _`Outscale SAS`: https://www.outscale.com/ +.. _`Outscale Inc.`: outscale_inc.html From e26a9f3bed6ac8387403b660c373911dade7b1e0 Mon Sep 17 00:00:00 2001 From: "Javier M. Mellid" Date: Tue, 22 Nov 2016 12:38:56 +0100 Subject: [PATCH 2/5] Documentation update/cleanup in EC2/Euc/Outscale compute driver Signed-off-by: Javier M. Mellid --- libcloud/compute/drivers/ec2.py | 225 ++++++++++++++++---------------- 1 file changed, 113 insertions(+), 112 deletions(-) diff --git a/libcloud/compute/drivers/ec2.py b/libcloud/compute/drivers/ec2.py index e38dcf3296..f3f7a7d930 100644 --- a/libcloud/compute/drivers/ec2.py +++ b/libcloud/compute/drivers/ec2.py @@ -2820,17 +2820,17 @@ class BaseEC2NodeDriver(NodeDriver): def list_nodes(self, ex_node_ids=None, ex_filters=None): """ - List all nodes + Lists all nodes. Ex_node_ids parameter is used to filter the list of nodes that should be returned. Only the nodes - with the corresponding node ids will be returned. + with the corresponding node IDs will be returned. :param ex_node_ids: List of ``node.id`` :type ex_node_ids: ``list`` of ``str`` - :param ex_filters: The filters so that the response includes - information for only certain nodes. + :param ex_filters: The filters so that the list includes + information for certain nodes only. :type ex_filters: ``dict`` :rtype: ``list`` of :class:`Node` @@ -2874,12 +2874,12 @@ def list_sizes(self, location=None): def list_images(self, location=None, ex_image_ids=None, ex_owner=None, ex_executableby=None, ex_filters=None): """ - List all images + Lists all images @inherits: :class:`NodeDriver.list_images` Ex_image_ids parameter is used to filter the list of images that should be returned. Only the images - with the corresponding image ids will be returned. + with the corresponding image IDs will be returned. Ex_owner parameter is used to filter the list of images that should be returned. Only the images @@ -2935,7 +2935,7 @@ def list_images(self, location=None, ex_image_ids=None, ex_owner=None, def get_image(self, image_id): """ - Get an image based on an image_id + Gets an image based on an image_id. :param image_id: Image identifier :type image_id: ``str`` @@ -3339,12 +3339,12 @@ def list_volume_snapshots(self, volume): def list_snapshots(self, snapshot=None, owner=None): """ - Describe all snapshots. + Describes all snapshots. - :param snapshot: If provided, only return snapshot information for the + :param snapshot: If provided, only returns snapshot information for the provided snapshot. - :param owner: Owner for snapshot: self|amazon|ID + :param owner: The owner of the snapshot: self|amazon|ID :type owner: ``str`` :rtype: ``list`` of :class:`VolumeSnapshot` @@ -3544,9 +3544,9 @@ def delete_image(self, image): def ex_create_placement_group(self, name): """ - Creates new Placement Group + Creates a new placement group. - :param name: Name for new placement Group + :param name: The name for the new placement group :type name: ``str`` :rtype: ``bool`` @@ -3559,9 +3559,9 @@ def ex_create_placement_group(self, name): def ex_delete_placement_group(self, name): """ - Deletes Placement Group + Deletes a placement group. - :param name: Placement Group name + :param name: The placement group name :type name: ``str`` :rtype: ``bool`` @@ -3573,7 +3573,7 @@ def ex_delete_placement_group(self, name): def ex_list_placement_groups(self, names=None): """ - List Placement Groups + A list of placement groups. :param names: Placement Group names :type names: ``list`` of ``str`` @@ -3670,17 +3670,17 @@ def ex_register_image(self, name, description=None, architecture=None, def ex_list_networks(self, network_ids=None, filters=None): """ - Return a list of :class:`EC2Network` objects for the + Returns a list of :class:`EC2Network` objects for the current region. - :param network_ids: Return only networks matching the provided + :param network_ids: Returns only networks matching the provided network IDs. If not specified, a list of all the networks in the corresponding region is returned. :type network_ids: ``list`` - :param filters: The filters so that the response includes - information for only certain networks. + :param filters: The filters so that the list returned includes + information for certain networks only. :type filters: ``dict`` :rtype: ``list`` of :class:`EC2Network` @@ -3748,17 +3748,17 @@ def ex_delete_network(self, vpc): def ex_list_subnets(self, subnet_ids=None, filters=None): """ - Return a list of :class:`EC2NetworkSubnet` objects for the + Returns a list of :class:`EC2NetworkSubnet` objects for the current region. - :param subnet_ids: Return only subnets matching the provided + :param subnet_ids: Returns only subnets matching the provided subnet IDs. If not specified, a list of all the subnets in the corresponding region is returned. :type subnet_ids: ``list`` - :param filters: The filters so that the response includes - information for only certain subnets. + :param filters: The filters so that the list returned includes + information for certain subnets only. :type filters: ``dict`` :rtype: ``list`` of :class:`EC2NetworkSubnet` @@ -3778,7 +3778,7 @@ def ex_list_subnets(self, subnet_ids=None, filters=None): def ex_create_subnet(self, vpc_id, cidr_block, availability_zone, name=None): """ - Create a network subnet within a VPC + Creates a network subnet within a VPC. :param vpc_id: The ID of the VPC that the subnet should be associated with @@ -3829,7 +3829,7 @@ def ex_delete_subnet(self, subnet): def ex_list_security_groups(self): """ - List existing Security Groups. + Lists existing Security Groups. @note: This is a non-standard extension API, and only works for EC2. @@ -3850,19 +3850,19 @@ def ex_list_security_groups(self): def ex_get_security_groups(self, group_ids=None, group_names=None, filters=None): """ - Return a list of :class:`EC2SecurityGroup` objects for the + Returns a list of :class:`EC2SecurityGroup` objects for the current region. - :param group_ids: Return only groups matching the provided + :param group_ids: Returns only groups matching the provided group IDs. :type group_ids: ``list`` - :param group_names: Return only groups matching the provided + :param group_names: Returns only groups matching the provided group names. :type group_ids: ``list`` - :param filters: The filters so that the response includes - information for only specific security groups. + :param filters: The filters so that the list returned includes + information for specific security groups only. :type filters: ``dict`` :rtype: ``list`` of :class:`EC2SecurityGroup` @@ -3889,7 +3889,7 @@ def ex_create_security_group(self, name, description, vpc_id=None): """ Creates a new Security Group in EC2-Classic or a targeted VPC. - :param name: The name of the security group to Create. + :param name: The name of the security group to create. This must be unique. :type name: ``str`` @@ -3918,7 +3918,7 @@ def ex_create_security_group(self, name, description, vpc_id=None): def ex_delete_security_group_by_id(self, group_id): """ - Deletes a new Security Group using the group id. + Deletes a new Security Group using the group ID. :param group_id: The ID of the security group :type group_id: ``str`` @@ -3948,7 +3948,7 @@ def ex_delete_security_group_by_name(self, group_name): def ex_delete_security_group(self, name): """ - Wrapper method which calls ex_delete_security_group_by_name. + A wrapper method which calls ex_delete_security_group_by_name. :param name: The name of the security group :type name: ``str`` @@ -4107,10 +4107,10 @@ def ex_revoke_security_group_ingress(self, id, from_port, to_port, cidr_ips=None, group_pairs=None, protocol='tcp'): """ - Edit a Security Group to revoke specific ingress traffic using + Edits a Security Group to revoke specific ingress traffic using CIDR blocks or either a group ID, group name or user ID (account). - :param id: The id of the security group to edit + :param id: The ID of the security group to edit :type id: ``str`` :param from_port: The beginning of the port range to open @@ -4119,7 +4119,7 @@ def ex_revoke_security_group_ingress(self, id, from_port, to_port, :param to_port: The end of the port range to open :type to_port: ``int`` - :param cidr_ips: The list of ip ranges to allow traffic for. + :param cidr_ips: The list of IP ranges to allow traffic for. :type cidr_ips: ``list`` :param group_pairs: Source user/group pairs to allow traffic for. @@ -4130,7 +4130,7 @@ def ex_revoke_security_group_ingress(self, id, from_port, to_port, [{'group_name': 'default', 'user_id': '1234567890'}] - VPC Example: Allow access from any system associated with + VPC example: To allow access from any system associated with security group sg-47ad482e on your own account [{'group_id': ' sg-47ad482e'}] @@ -4262,13 +4262,13 @@ def ex_authorize_security_group_permissive(self, name): def ex_list_availability_zones(self, only_available=True): """ - Return a list of :class:`ExEC2AvailabilityZone` objects for the + Returns a list of :class:`ExEC2AvailabilityZone` objects for the current region. Note: This is an extension method and is only available for EC2 driver. - :keyword only_available: If true, return only availability zones + :keyword only_available: If true, returns only availability zones with state 'available' :type only_available: ``str`` @@ -4307,14 +4307,14 @@ def ex_list_availability_zones(self, only_available=True): def ex_describe_tags(self, resource): """ - Return a dictionary of tags for a resource (e.g. Node or + Returns a dictionary of tags for a resource (e.g. Node or StorageVolume). - :param resource: resource which should be used + :param resource: The resource to be used :type resource: any resource class, such as :class:`Node,` :class:`StorageVolume,` or :class:NodeImage` - :return: dict Node tags + :return: A dictionary of Node tags :rtype: ``dict`` """ params = {'Action': 'DescribeTags'} @@ -4331,9 +4331,9 @@ def ex_describe_tags(self, resource): def ex_create_tags(self, resource, tags): """ - Create tags for a resource (Node or StorageVolume). + Creates tags for a resource (Node or StorageVolume). - :param resource: Resource to be tagged + :param resource: The resource to be tagged :type resource: :class:`Node` or :class:`StorageVolume` or :class:`VolumeSnapshot` @@ -4359,9 +4359,9 @@ def ex_create_tags(self, resource, tags): def ex_delete_tags(self, resource, tags): """ - Delete tags from a resource. + Deletes tags from a resource. - :param resource: Resource to be tagged + :param resource: The resource to be tagged :type resource: :class:`Node` or :class:`StorageVolume` :param tags: A dictionary or other mapping of strings to strings, @@ -4387,7 +4387,7 @@ def ex_delete_tags(self, resource, tags): def ex_get_metadata_for_node(self, node): """ - Return the metadata associated with the node. + Returns the metadata associated with the node. :param node: Node instance :type node: :class:`Node` @@ -4420,8 +4420,8 @@ def ex_allocate_address(self, domain='standard'): def ex_release_address(self, elastic_ip, domain=None): """ - Release an Elastic IP address using the IP (EC2-Classic) or - using the allocation ID (VPC) + Releases an Elastic IP address using the IP (EC2-Classic) or + using the allocation ID (VPC). :param elastic_ip: Elastic IP instance :type elastic_ip: :class:`ElasticIP` @@ -4447,14 +4447,14 @@ def ex_release_address(self, elastic_ip, domain=None): def ex_describe_all_addresses(self, only_associated=False): """ - Return all the Elastic IP addresses for this account - optionally, return only addresses associated with nodes + Returns all the Elastic IP addresses for this account + optionally, returns only addresses associated with nodes. - :param only_associated: If true, return only those addresses + :param only_associated: If true, return only the addresses that are associated with an instance. :type only_associated: ``bool`` - :return: List of ElasticIP instances. + :return: List of Elastic IP addresses. :rtype: ``list`` of :class:`ElasticIP` """ params = {'Action': 'DescribeAddresses'} @@ -4511,8 +4511,8 @@ def ex_associate_addresses(self, node, elastic_ip, domain=None): def ex_disassociate_address(self, elastic_ip, domain=None): """ - Disassociate an Elastic IP address using the IP (EC2-Classic) - or the association ID (VPC) + Disassociates an Elastic IP address using the IP (EC2-Classic) + or the association ID (VPC). :param elastic_ip: ElasticIP instance :type elastic_ip: :class:`ElasticIP` @@ -4539,9 +4539,9 @@ def ex_disassociate_address(self, elastic_ip, domain=None): def ex_describe_addresses(self, nodes): """ - Return Elastic IP addresses for all the nodes in the provided list. + Returns Elastic IP addresses for all the nodes in the provided list. - :param nodes: List of :class:`Node` instances + :param nodes: A list of :class:`Node` instances :type nodes: ``list`` of :class:`Node` :return: Dictionary where a key is a node ID and the value is a @@ -4581,12 +4581,12 @@ def ex_describe_addresses(self, nodes): def ex_describe_addresses_for_node(self, node): """ - Return a list of Elastic IP addresses associated with this node. + Returns a list of Elastic IP Addresses associated with this node. :param node: Node instance :type node: :class:`Node` - :return: list Elastic IP addresses attached to this node. + :return: List Elastic IP Addresses attached to this node. :rtype: ``list`` of ``str`` """ node_elastic_ips = self.ex_describe_addresses([node]) @@ -4596,7 +4596,7 @@ def ex_describe_addresses_for_node(self, node): def ex_list_network_interfaces(self): """ - Return all network interfaces + Returns all network interfaces. :return: List of EC2NetworkInterface instances :rtype: ``list`` of :class `EC2NetworkInterface` @@ -4751,12 +4751,12 @@ def ex_modify_instance_attribute(self, node, attributes): def ex_modify_image_attribute(self, image, attributes): """ - Modify image attributes. + Modifies image attributes. :param image: NodeImage instance :type image: :class:`NodeImage` - :param attributes: Dictionary with node attributes + :param attributes: A dictionary with node attributes :type attributes: ``dict`` :return: True on success, False otherwise. @@ -4799,10 +4799,10 @@ def ex_change_node_size(self, node, new_size): def ex_start_node(self, node): """ - Start the node by passing in the node object, does not work with - instance store backed instances + Starts the node by passing in the node object, does not work with + instance store backed instances. - :param node: Node which should be used + :param node: The node to be used :type node: :class:`Node` :rtype: ``bool`` @@ -4814,10 +4814,10 @@ def ex_start_node(self, node): def ex_stop_node(self, node): """ - Stop the node by passing in the node object, does not work with + Stops the node by passing in the node object, does not work with instance store backed instances - :param node: Node which should be used + :param node: The node to be used :type node: :class:`Node` :rtype: ``bool`` @@ -4829,14 +4829,14 @@ def ex_stop_node(self, node): def ex_get_console_output(self, node): """ - Get console output for the node. + Gets console output for the node. :param node: Node which should be used :type node: :class:`Node` - :return: Dictionary with the following keys: + :return: A dictionary with the following keys: - instance_id (``str``) - - timestamp (``datetime.datetime``) - ts of the last output + - timestamp (``datetime.datetime``) - timestamp of the last output - output (``str``) - console output :rtype: ``dict`` """ @@ -4869,7 +4869,7 @@ def ex_get_console_output(self, node): def ex_list_reserved_nodes(self): """ - List all reserved instances/nodes which can be purchased from Amazon + Lists all reserved instances/nodes which can be purchased from Amazon for one or three year terms. Reservations are made at a region level and reduce the hourly charge for instances. @@ -4944,7 +4944,7 @@ def ex_list_keypairs(self): def ex_describe_all_keypairs(self): """ - Return names for all the available key pairs. + Returns names for all the available key pairs. @note: This is a non-standard extension API, and only works for EC2. @@ -5013,7 +5013,7 @@ def ex_create_keypair(self, name): def ex_delete_keypair(self, keypair): """ - Delete a key pair by name. + Deletes a key pair by name. @note: This is a non-standard extension API, and only works with EC2. @@ -5032,7 +5032,7 @@ def ex_delete_keypair(self, keypair): def ex_import_keypair_from_string(self, name, key_material): """ - imports a new public key where the public key is passed in as a string + Imports a new public key where the public key is passed in as a string. @note: This is a non-standard extension API, and only works for EC2. @@ -5059,7 +5059,7 @@ def ex_import_keypair_from_string(self, name, key_material): def ex_import_keypair(self, name, keyfile): """ - imports a new public key where the public key is passed via a filename + Imports a new public key where the public key is passed via a filename. @note: This is a non-standard extension API, and only works for EC2. @@ -5067,7 +5067,7 @@ def ex_import_keypair(self, name, keyfile): unique, otherwise an InvalidKeyPair.Duplicate exception is raised. :type name: ``str`` - :param keyfile: The filename with path of the public key to import. + :param keyfile: The filename with the path of the public key to import. :type keyfile: ``str`` :rtype: ``dict`` @@ -5118,15 +5118,15 @@ def ex_list_internet_gateways(self, gateway_ids=None, filters=None): attached to a VPC. These are required for VPC nodes to communicate over the Internet. - :param gateway_ids: Return only internet gateways matching the - provided internet gateway IDs. If not - specified, a list of all the internet + :param gateway_ids: Returns only Internet gateways matching the + provided Internet gateway IDs. If not + specified, a list of all the Internet gateways in the corresponding region is returned. :type gateway_ids: ``list`` - :param filters: The filters so that the response includes - information for only certain gateways. + :param filters: The filters so the list returned inclues + information for certain gateways only. :type filters: ``dict`` :rtype: ``list`` of :class:`.VPCInternetGateway` @@ -5165,7 +5165,7 @@ def ex_create_internet_gateway(self, name=None): def ex_delete_internet_gateway(self, gateway): """ - Delete a VPC Internet gateway + Deletes a VPC Internet gateway. :param gateway: The gateway to delete :type gateway: :class:`.VPCInternetGateway` @@ -5201,7 +5201,7 @@ def ex_attach_internet_gateway(self, gateway, network): def ex_detach_internet_gateway(self, gateway, network): """ - Detach an Internet gateway from a VPC + Detaches an Internet gateway from a VPC. :param gateway: The gateway to detach :type gateway: :class:`.VPCInternetGateway` @@ -5224,14 +5224,14 @@ def ex_list_route_tables(self, route_table_ids=None, filters=None): Describes one or more of a VPC's route tables. These are used to determine where network traffic is directed. - :param route_table_ids: Return only route tables matching the + :param route_table_ids: Returns only route tables matching the provided route table IDs. If not specified, a list of all the route tables in the corresponding region is returned. :type route_table_ids: ``list`` - :param filters: The filters so that the response includes - information for only certain route tables. + :param filters: The filters so that the list returned includes + information for certain route tables only. :type filters: ``dict`` :rtype: ``list`` of :class:`.EC2RouteTable` @@ -5250,7 +5250,7 @@ def ex_list_route_tables(self, route_table_ids=None, filters=None): def ex_create_route_table(self, network, name=None): """ - Create a route table within a VPC. + Creates a route table within a VPC. :param vpc_id: The VPC that the subnet should be created in. :type vpc_id: :class:`.EC2Network` @@ -5356,7 +5356,7 @@ def ex_replace_route_table_association(self, subnet_association, :param route_table: The new route table to associate. :type route_table: :class:`.EC2RouteTable` - :return: New route table association ID. + :return: A new route table association ID. :rtype: ``str`` """ @@ -5388,7 +5388,7 @@ def ex_create_route(self, route_table, cidr, :param cidr: The CIDR block used for the destination match. :type cidr: ``str`` - :param internet_gateway: The internet gateway to route + :param internet_gateway: The Internet gateway to route traffic through. :type internet_gateway: :class:`.VPCInternetGateway` @@ -6560,7 +6560,7 @@ def _to_size(self, el): def list_sizes(self): """ - List available instance flavors/sizes + Lists available nodes sizes. :rtype: ``list`` of :class:`NodeSize` """ @@ -6679,30 +6679,30 @@ def __init__(self, key, secret=None, secure=True, host=None, port=None, def create_node(self, **kwargs): """ - Create a new Outscale node. The ex_iamprofile keyword is not supported. + Creates a new Outscale node. The ex_iamprofile keyword is not supported. @inherits: :class:`BaseEC2NodeDriver.create_node` :keyword ex_keyname: The name of the key pair :type ex_keyname: ``str`` - :keyword ex_userdata: User data + :keyword ex_userdata: The user data :type ex_userdata: ``str`` :keyword ex_security_groups: A list of names of security groups to assign to the node. :type ex_security_groups: ``list`` - :keyword ex_metadata: Key/Value metadata to associate with a node + :keyword ex_metadata: The Key/Value metadata to associate with a node :type ex_metadata: ``dict`` - :keyword ex_mincount: Minimum number of instances to launch + :keyword ex_mincount: The minimum number of nodes to launch :type ex_mincount: ``int`` - :keyword ex_maxcount: Maximum number of instances to launch + :keyword ex_maxcount: The maximum number of nodes to launch :type ex_maxcount: ``int`` - :keyword ex_clienttoken: Unique identifier to ensure idempotency + :keyword ex_clienttoken: A unique identifier to ensure idempotency :type ex_clienttoken: ``str`` :keyword ex_blockdevicemappings: ``list`` of ``dict`` block device @@ -6718,7 +6718,7 @@ def create_node(self, **kwargs): def ex_create_network(self, cidr_block, name=None): """ - Create a network/VPC. Outscale does not support instance_tenancy. + Creates a network/VPC. Outscale does not support instance_tenancy. :param cidr_block: The CIDR block assigned to the network :type cidr_block: ``str`` @@ -6737,8 +6737,8 @@ def ex_modify_instance_attribute(self, node, disable_api_termination=None, source_dest_check=None, user_data=None, instance_type=None): """ - Modify node attributes. - Ouscale support the following attributes: + Modifies node attributes. + Ouscale supports the following attributes: 'DisableApiTermination.Value', 'EbsOptimized', 'GroupId.n', 'SourceDestCheck.Value', 'UserData.Value', 'InstanceType.Value' @@ -6746,7 +6746,7 @@ def ex_modify_instance_attribute(self, node, disable_api_termination=None, :param node: Node instance :type node: :class:`Node` - :param attributes: Dictionary with node attributes + :param attributes: A dictionary with node attributes :type attributes: ``dict`` :return: True on success, False otherwise. @@ -6856,9 +6856,10 @@ def ex_detach_network_interface(self, attachment_id, force=False): def list_sizes(self, location=None): """ - List available instance flavors/sizes + Lists available nodes sizes. - This override the EC2 default method in order to use Outscale infos. + This overrides the EC2 default method in order to use Outscale + information or data. :rtype: ``list`` of :class:`NodeSize` """ @@ -6877,7 +6878,7 @@ def list_sizes(self, location=None): def ex_modify_instance_keypair(self, instance_id, key_name=None): """ Modifies the keypair associated with a specified instance. - Once the modification done, you must restart the instance. + Once the modification is done, you must restart the instance. :param instance_id: The ID of the instance :type instance_id: ``string`` @@ -6955,8 +6956,8 @@ def ex_describe_quota(self, dry_run=False, filters=None, :param dry_run: dry_run :type dry_run: ``bool`` - :param filters: The filters so that the response includes - information for only certain quotas + :param filters: The filters so that the response returned includes + information for certain quotas only. :type filters: ``dict`` :param max_results: The maximum number of items that can be @@ -7008,7 +7009,7 @@ def _to_product_type(self, elem): def ex_get_product_type(self, image_id, snapshot_id=None): """ - Get the product type of a specified OMI or snapshot. + Gets the product type of a specified OMI or snapshot. :param image_id: The ID of the OMI :type image_id: ``string`` @@ -7052,10 +7053,10 @@ def _to_product_types(self, elem): def ex_describe_product_types(self, filters=None): """ - Describes Product Types. + Describes product types. - :param filters: The filters so that the response includes - information for only certain quotas + :param filters: The filters so that the list returned includes + information for certain quotas only. :type filters: ``dict`` :return: A product types list @@ -7114,10 +7115,10 @@ def _to_instance_types(self, elem): def ex_describe_instance_types(self, filters=None): """ - Describes Instance Types. + Describes instance types. - :param filters: The filters so that the response includes - information for only instance types + :param filters: The filters so that the list returned includes + information for instance types only :type filters: ``dict`` :return: A instance types list From 785a84d31bd4331c978f224c865f2ad2294e806d Mon Sep 17 00:00:00 2001 From: "Javier M. Mellid" Date: Mon, 28 Nov 2016 19:22:23 +0100 Subject: [PATCH 3/5] Fix long lines reported by flake8 Signed-off-by: Javier M. Mellid --- libcloud/compute/drivers/ec2.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/libcloud/compute/drivers/ec2.py b/libcloud/compute/drivers/ec2.py index f3f7a7d930..a2d0774a92 100644 --- a/libcloud/compute/drivers/ec2.py +++ b/libcloud/compute/drivers/ec2.py @@ -4130,8 +4130,8 @@ def ex_revoke_security_group_ingress(self, id, from_port, to_port, [{'group_name': 'default', 'user_id': '1234567890'}] - VPC example: To allow access from any system associated with - security group sg-47ad482e on your own account + VPC example: To allow access from any system associated + with security group sg-47ad482e on your own account [{'group_id': ' sg-47ad482e'}] :type group_pairs: ``list`` of ``dict`` @@ -4836,7 +4836,7 @@ def ex_get_console_output(self, node): :return: A dictionary with the following keys: - instance_id (``str``) - - timestamp (``datetime.datetime``) - timestamp of the last output + - timestamp (``datetime.datetime``) - last output timestamp - output (``str``) - console output :rtype: ``dict`` """ @@ -5064,10 +5064,12 @@ def ex_import_keypair(self, name, keyfile): @note: This is a non-standard extension API, and only works for EC2. :param name: The name of the public key to import. This must be - unique, otherwise an InvalidKeyPair.Duplicate exception is raised. + unique, otherwise an InvalidKeyPair. Duplicate + exception is raised. :type name: ``str`` - :param keyfile: The filename with the path of the public key to import. + :param keyfile: The filename with the path of the public key + to import. :type keyfile: ``str`` :rtype: ``dict`` @@ -6679,7 +6681,8 @@ def __init__(self, key, secret=None, secure=True, host=None, port=None, def create_node(self, **kwargs): """ - Creates a new Outscale node. The ex_iamprofile keyword is not supported. + Creates a new Outscale node. The ex_iamprofile keyword + is not supported. @inherits: :class:`BaseEC2NodeDriver.create_node` @@ -6693,7 +6696,8 @@ def create_node(self, **kwargs): assign to the node. :type ex_security_groups: ``list`` - :keyword ex_metadata: The Key/Value metadata to associate with a node + :keyword ex_metadata: The Key/Value metadata to associate + with a node. :type ex_metadata: ``dict`` :keyword ex_mincount: The minimum number of nodes to launch From 636da0db8687747af17bb6b56f13d379d0166ab7 Mon Sep 17 00:00:00 2001 From: "Javier M. Mellid" Date: Mon, 28 Nov 2016 19:37:48 +0100 Subject: [PATCH 4/5] Outscale INC doc improvements Signed-off-by: Javier M. Mellid --- docs/compute/drivers/outscale_inc.rst | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/compute/drivers/outscale_inc.rst b/docs/compute/drivers/outscale_inc.rst index f206514449..a351366119 100644 --- a/docs/compute/drivers/outscale_inc.rst +++ b/docs/compute/drivers/outscale_inc.rst @@ -3,9 +3,9 @@ Outscale INC Driver Documentation `Outscale INC`_ provides an IaaS platform allowing developers to benefit from all the flexibility of the Cloud. -This IaaS platform relies on TINA OS, its Cloud manager which purpose is to +This IaaS platform relies on TINA OS, its Cloud manager whose purpose is to provide great performances on the Cloud. -TINA OS is an own developed software with APIs compatible with AWS EC2 (TM). +TINA OS is a software developed by Outscale with APIs compatible with AWS EC2 (TM). .. figure:: /_static/images/provider_logos/outscale.jpg :align: center @@ -19,7 +19,9 @@ Outscale users can start virtual machines in the following regions: * (Soon) US East (New Jersey) Region * (Soon) Asia (Hong Kong) Region -Outscale INC is an American company: prices are in $. +For other Regions, see the `Outscale SAS`_ documentation. + +Outscale INC is an American company and uses prices in United States Dollars. API Docs -------- @@ -29,3 +31,4 @@ API Docs :inherited-members: .. _`Outscale INC`: https://www.outscale.com/ +.. _`Outscale SAS`: outscale_sas.html From f4236d21005e0701dc68cec45d3ebdaa5365e247 Mon Sep 17 00:00:00 2001 From: "Javier M. Mellid" Date: Tue, 29 Nov 2016 11:03:10 +0100 Subject: [PATCH 5/5] More fixes and cleanup coming from feedback Signed-off-by: Javier M. Mellid --- docs/compute/drivers/outscale_inc.rst | 4 ++-- docs/compute/drivers/outscale_sas.rst | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/compute/drivers/outscale_inc.rst b/docs/compute/drivers/outscale_inc.rst index a351366119..bcfb313c00 100644 --- a/docs/compute/drivers/outscale_inc.rst +++ b/docs/compute/drivers/outscale_inc.rst @@ -5,7 +5,7 @@ Outscale INC Driver Documentation developers to benefit from all the flexibility of the Cloud. This IaaS platform relies on TINA OS, its Cloud manager whose purpose is to provide great performances on the Cloud. -TINA OS is a software developed by Outscale with APIs compatible with AWS EC2 (TM). +TINA OS is software developed by Outscale with APIs compatible with AWS EC2 (TM). .. figure:: /_static/images/provider_logos/outscale.jpg :align: center @@ -21,7 +21,7 @@ Outscale users can start virtual machines in the following regions: For other Regions, see the `Outscale SAS`_ documentation. -Outscale INC is an American company and uses prices in United States Dollars. +Outscale INC is an American company and is priced in United States Dollars. API Docs -------- diff --git a/docs/compute/drivers/outscale_sas.rst b/docs/compute/drivers/outscale_sas.rst index 58e0727f10..4177d23882 100644 --- a/docs/compute/drivers/outscale_sas.rst +++ b/docs/compute/drivers/outscale_sas.rst @@ -5,7 +5,7 @@ Outscale SAS Driver Documentation developers to benefit from all the flexibility of the Cloud. This IaaS platform relies on TINA OS, its Cloud manager whose purpose is to provide great performances on the Cloud. -TINA OS is a software developed by Outscale with APIs compatible with AWS EC2 (TM). +TINA OS is software developed by Outscale with APIs compatible with AWS EC2 (TM). .. figure:: /_static/images/provider_logos/outscale.jpg :align: center @@ -19,7 +19,7 @@ Outscale users can start virtual machines in the following regions: For other Regions, see the `Outscale Inc.`_ documentation. -Outscale SAS is European company and uses prices in Euros. +Outscale SAS is European company and is priced in Euros. API Documentation -----------------