{"id":20442562,"url":"https://github.com/davidmoremad/awspice","last_synced_at":"2025-04-12T23:38:03.100Z","repository":{"id":98987923,"uuid":"108105946","full_name":"davidmoremad/awspice","owner":"davidmoremad","description":"Awspice is a wrapper tool of Boto3 library to list inventory and manage your AWS infrastructure The objective of the wrapper is to abstract the use of AWS, being able to dig through all the data of our account","archived":false,"fork":false,"pushed_at":"2019-03-02T20:35:28.000Z","size":227,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-12T23:37:59.712Z","etag":null,"topics":["aws","boto3","cloud","region","security","wrapper"],"latest_commit_sha":null,"homepage":"http://awsmanager.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/davidmoremad.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-10-24T09:33:28.000Z","updated_at":"2023-03-30T00:08:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"774da361-2670-4a5f-8602-9af3e0e3a9e0","html_url":"https://github.com/davidmoremad/awspice","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidmoremad%2Fawspice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidmoremad%2Fawspice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidmoremad%2Fawspice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidmoremad%2Fawspice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/davidmoremad","download_url":"https://codeload.github.com/davidmoremad/awspice/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248647255,"owners_count":21139081,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","boto3","cloud","region","security","wrapper"],"created_at":"2024-11-15T09:41:31.189Z","updated_at":"2025-04-12T23:38:03.094Z","avatar_url":"https://github.com/davidmoremad.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Awspice\n=======\n\n\n|Docs| |Version| |Codacy|\n\n\n.. |Docs| image:: https://readthedocs.org/projects/awspice/badge/?version=latest\n   :target: http://awspice.readthedocs.io/en/latest/?badge=latest\n   :alt: Read the Docs\n.. |Version| image:: http://img.shields.io/pypi/v/awspice.svg?style=flat\n    :target: https://pypi.python.org/pypi/awspice/\n    :alt: Version\n.. |Codacy| image:: https://api.codacy.com/project/badge/Grade/827a55c2ed47488c8e642fe799028319\n    :target: https://www.codacy.com/app/davidmoremad/awspice?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=davidmoremad/awspice\u0026amp;utm_campaign=Badge_Grade\n    :alt: Codacy\n\nTable of content (Full doc in `ReadTheDocs \u003chttp://awspice.readthedocs.io/en/latest/\u003e`_) :\n\n* `Installation \u003c#installation\u003e`_\n* `Configuration \u003c#configuration\u003e`_\n* `Test \u003c#test\u003e`_\n* `Usage \u003c#usage\u003e`_\n\n\n****************\nWhat is Awspice?\n****************\n\nIs a wrapper tool of Boto3 library to list inventory and manage your AWS infrastructure\nThe objective of the wrapper is to abstract the use of AWS, being able to dig through all the data of our account,\nand for example you will be able of:\n\n* Run a ssh-command for all instances in all regions\n* List all instances with exposed critical ports like 22 or 3389\n* Get info about all certificates of your account/s\n* Obtain all the infrastructure after a domain associated with a balancer\n\n------------------------------------------------------------------------------------------\n\n.. installation-section\n\n************\nInstallation\n************\n\n.. code-block:: bash\n\n  pip install awspice\n\n------------------------------------------------------------------------------------------\n\n.. configuration-section\n\n*************\nConfiguration\n*************\n\nThe client is built and configured using ``awspice.connect()``. This method indicates the type of authentication and region on which you are going to work.\n\n\n.. code-block:: python\n\n  import awspice\n\n  aws = awspice.connect() # Region: eu-west-1 | Profile: Default\n\n  aws = awspice.connect(region='us-west-2', profile='dev_profile')\n  aws = awspice.connect('us-west-2', access_key='AKIA***********', secret_key='/HR$4************')\n\n\n\n\n------------------------------------------------------------------------------------------\n\n.. usage-section\n\n*****\nUsage\n*****\n\n**Example**: Get balancer and instances behind a domain.\n\n.. code-block:: python\n\n  aws = awspice.connect()\n\n  elb = aws.service.elb.get_loadbalancer_by('domain', 'choosetravel.es')\n  for elb_instance in elb['Instances']:\n    instance = aws.service.ec2.get_instance_by('id', elb_instance['InstanceId'])\n\n\n**Example**: List all unused volumes\n\n.. code-block:: python\n\n  regions = aws.service.ec2.get_regions()\n  volumes = awsmanager.service.ec2.get_volumes_by('status', 'available', regions=regions)\n\n\n**Example**: Search instance in all accounts and regions by Public IP\n\n.. code-block:: python\n\n  profiles = aws.service.ec2.get_profiles()\n  regions = aws.service.ec2.get_regions()\n\n  for profile in profiles:\n      aws.service.ec2.change_profile(profile)\n\n      instance = aws.service.ec2.get_instance_by('publicip', '35.158.163.235', regions=regions)\n\n      if instance:\n          print 'Instance found: %s (Account: %s, Region: %s)' % (instance['InstanceId'], instance['RegionName'], instance['Authorization']['Value'])\n          break\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidmoremad%2Fawspice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavidmoremad%2Fawspice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidmoremad%2Fawspice/lists"}