steampipe-plugin-openstack

command module
v0.0.0-...-41152cf Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 11, 2023 License: MIT Imports: 2 Imported by: 0

README

steampipe-plugin-openstack

A Steampipe plugin to query OpenStack data as you would a relational database.

At the moment you can run queries such as:

select 
    port.id, 
    port.device_id, 
    port.device_owner, 
    proj.id, 
    proj.name, 
    vm.id, 
    vm.name 
from 
    openstack_port port 
join 
    openstack_project proj 
on 
    proj.id = port.project_id 
left outer join 
    openstack_instance vm 
on 
    port.device_id = vm.id;

Runninga query is as simple as:

$> steampipe query "select * from openstack_instance where id = 'foo';"

$> steampipe query "select vm.id, vm.name, vm.host_id, vm.flavor_sockets, vm.flavor_disk, prj.name, prj.enabled, prj.id from openstack_instance vm, openstack_project prj where vm.id = '12345678-90ab-cdef-1234-567890abcdef' and vm.project_id = prj.id;"

TODO

This plugin is still in the very early stages.

  • General understanding
    • Understand how to expunge into own table embedded entities (e.g. []SecurityGroups from port)
    • Understand how to work with JSONb data
    • Understand how to use different operators in list filter (e.g. "description match regexp")
  • Implementation
    • Skeleton
    • Configuration schema
      • Make OpenStack API micro-versions configurable
    • Create connection
      • OpenStack APIs
      • Identity APIs
      • Compute APIs
      • Network APIs
      • Block Storage APIs
    • Virtual machines instances
      • Get
      • List
        • Filter
      • Embed original flavor
      • TODO
        • Add more fields
        • Embed image info
        • Manage tags
    • Network ports
      • Get
      • List
        • Filter
      • TODO
        • Manage tags
    • Network security groups
      • Get
      • List
        • Filter
      • TODO
        • Manage tags
    • Projects
      • Get
      • List
        • Filter
      • TODO
        • Manage tags
    • Users
      • Get
      • List
        • Filter
      • TODO
        • Test
    • Block storage volumes
      • Get
      • List
        • Filter
      • TODO
        • Test
        • Manage metadata
    • Check that joins between entities work

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL