Skip to content

feat: Oracle plugin#6353

Merged
kodiakhq[bot] merged 2 commits intocloudquery:mainfrom
shimonp21:feat_oci_plugin
Jan 12, 2023
Merged

feat: Oracle plugin#6353
kodiakhq[bot] merged 2 commits intocloudquery:mainfrom
shimonp21:feat_oci_plugin

Conversation

@shimonp21
Copy link
Copy Markdown
Contributor

@shimonp21 shimonp21 commented Jan 4, 2023

First version of oracle plugin. See more information below.

TODOs:

  • Add descriptions with links to oracle's API
  • Add mock tests.
  • Add more resources
    • Understand why mysql and nosql resources make the plugin get stuck.
    • You can modify the codegen/main.go servicesAllowlist and servicesDenylist to generate more resources.
  • Fix column names (e.g. oracle_volumes->size_in_m_bs)
  • Add nested tables.

Codegen explanation:

  • codegen generates table-definitions and fetcher-functions, based on oracle_clients.go.
  • The oracle_clients was semi-manually generated by me using the script generate_oracleClients_struct.py.
  • generate_oracleClients_struct.py requires cloning [https://github.com/oracle/oci-go-sdk] and running the [pkgreflect] tool on it.

@shimonp21 shimonp21 requested a review from a team January 4, 2023 15:38
@cq-bot cq-bot added the website label Jan 4, 2023
@github-actions
Copy link
Copy Markdown

github-actions bot commented Jan 4, 2023

This PR has the following changes to source plugin(s) tables:

  • Table oracle_blockstorage_boot_volume_backups was added
  • Table oracle_blockstorage_boot_volume_replicas was added
  • Table oracle_blockstorage_boot_volumes was added
  • Table oracle_blockstorage_volume_backup_policies was added
  • Table oracle_blockstorage_volume_backups was added
  • Table oracle_blockstorage_volume_group_backups was added
  • Table oracle_blockstorage_volume_groups was added
  • Table oracle_blockstorage_volumes was added
  • Table oracle_compute_compute_capacity_reservations was added
  • Table oracle_compute_console_histories was added
  • Table oracle_compute_dedicated_vm_hosts was added
  • Table oracle_compute_images was added
  • Table oracle_compute_instance_console_connections was added
  • Table oracle_compute_instances was added
  • Table oracle_compute_vnic_attachments was added
  • Table oracle_database_autonomous_container_databases was added
  • Table oracle_database_autonomous_databases was added
  • Table oracle_database_autonomous_exadata_infrastructures was added
  • Table oracle_database_autonomous_vm_clusters was added
  • Table oracle_database_backup_destination was added
  • Table oracle_database_cloud_autonomous_vm_clusters was added
  • Table oracle_database_cloud_exadata_infrastructures was added
  • Table oracle_database_cloud_vm_clusters was added
  • Table oracle_database_exadata_infrastructures was added
  • Table oracle_database_external_container_databases was added
  • Table oracle_database_external_non_container_databases was added
  • Table oracle_database_external_pluggable_databases was added
  • Table oracle_database_key_stores was added
  • Table oracle_database_vm_clusters was added
  • Table oracle_filestorage_export_sets was added
  • Table oracle_filestorage_exports was added
  • Table oracle_filestorage_file_systems was added
  • Table oracle_filestorage_mount_targets was added
  • Table oracle_filestorage_replication_targets was added
  • Table oracle_filestorage_replications was added
  • Table oracle_identity_compartments was added
  • Table oracle_identity_cost_tracking_tags was added
  • Table oracle_identity_domains was added
  • Table oracle_identity_dynamic_groups was added
  • Table oracle_identity_groups was added
  • Table oracle_identity_iam_work_requests was added
  • Table oracle_identity_network_sources was added
  • Table oracle_identity_policies was added
  • Table oracle_identity_tag_namespaces was added
  • Table oracle_identity_tagging_work_requests was added
  • Table oracle_identity_users was added
  • Table oracle_identity_work_requests was added
  • Table oracle_loadbalancer_load_balancers was added
  • Table oracle_networkfirewall_network_firewall_policies was added
  • Table oracle_networkfirewall_network_firewalls was added
  • Table oracle_networkfirewall_work_requests was added
  • Table oracle_networkloadbalancer_network_load_balancers was added
  • Table oracle_networkloadbalancer_work_requests was added
  • Table oracle_objectstorage_buckets was added
  • Table oracle_objectstorage_work_requests was added
  • Table oracle_virtualnetwork_byoip_ranges was added
  • Table oracle_virtualnetwork_capture_filters was added
  • Table oracle_virtualnetwork_cpes was added
  • Table oracle_virtualnetwork_cross_connect_groups was added
  • Table oracle_virtualnetwork_cross_connects was added
  • Table oracle_virtualnetwork_dhcp_options was added
  • Table oracle_virtualnetwork_drg_attachments was added
  • Table oracle_virtualnetwork_drgs was added
  • Table oracle_virtualnetwork_fast_connect_provider_services was added
  • Table oracle_virtualnetwork_internet_gateways was added
  • Table oracle_virtualnetwork_ip_sec_connections was added
  • Table oracle_virtualnetwork_local_peering_gateways was added
  • Table oracle_virtualnetwork_nat_gateways was added
  • Table oracle_virtualnetwork_public_ip_pools was added
  • Table oracle_virtualnetwork_remote_peering_connections was added
  • Table oracle_virtualnetwork_route_tables was added
  • Table oracle_virtualnetwork_security_lists was added
  • Table oracle_virtualnetwork_service_gateways was added
  • Table oracle_virtualnetwork_subnets was added
  • Table oracle_virtualnetwork_vcns was added
  • Table oracle_virtualnetwork_virtual_circuits was added
  • Table oracle_virtualnetwork_vlans was added
  • Table oracle_virtualnetwork_vtaps was added

Copy link
Copy Markdown
Contributor

@yevgenypats yevgenypats left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's remove the codegen and use built-in plugin-sdk transformations instead . will be easier for my to review 2,000 LOCs lines instead of 19,082 LOCs.

Copy link
Copy Markdown
Contributor

@yevgenypats yevgenypats left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks good. Caveat: I didn't have a chance to run this with a proper Oracle account and test if the spec and multiplexers make the most sense. If it get's more traction we can fine-tune it later.

@yevgenypats yevgenypats added the automerge Automatically merge once required checks pass label Jan 11, 2023
@kodiakhq kodiakhq bot merged commit 740a428 into cloudquery:main Jan 12, 2023
shimonp21 pushed a commit that referenced this pull request Jan 17, 2023
🤖 I have created a release *beep* *boop*
---


## 1.0.0 (2023-01-17)


### Features

* Oracle plugin
([#6353](#6353))
([740a428](740a428))


### Bug Fixes

* Add oracle goreleaser
([#6838](#6838))
([7ec3abd](7ec3abd))
* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.25.1
([#6805](#6805))
([9da0ce2](9da0ce2))
* **deps:** Update module github.com/cloudquery/plugin-sdk to v1.26.0
([#6839](#6839))
([6ccda8d](6ccda8d))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automerge Automatically merge once required checks pass

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants