Skip to content

feat(aws): Add Support for fully customizable Cost Explorer Data syncing#11185

Merged
kodiakhq[bot] merged 27 commits intocloudquery:mainfrom
bbernays:custom-costexplorer-table
Jun 15, 2023
Merged

feat(aws): Add Support for fully customizable Cost Explorer Data syncing#11185
kodiakhq[bot] merged 27 commits intocloudquery:mainfrom
bbernays:custom-costexplorer-table

Conversation

@bbernays
Copy link
Collaborator

@bbernays bbernays commented Jun 1, 2023

Summary

closes #10805

@cq-bot cq-bot added aws labels Jun 1, 2023
@github-actions
Copy link

github-actions bot commented Jun 1, 2023

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

  • Table aws_alpha_costexplorer_cost_custom was added

@bbernays bbernays marked this pull request as ready for review June 6, 2023 16:25
)

func CustomCost() *schema.Table {
tableName := "aws_costexplorer_cost_custom"
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
tableName := "aws_costexplorer_cost_custom"
tableName := "aws_alpha_costexplorer_cost_custom"

Resolver: fetchCustom,
Title: "AWS Cost Explorer costs based on custom inputs",
Description: `https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_GetCostAndUsage.html
To sync this table you must set the 'use_paid_apis' option to 'true' in the AWS provider configuration as well as specify the request parameters in the 'table_options' attribute. `,
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
To sync this table you must set the 'use_paid_apis' option to 'true' in the AWS provider configuration as well as specify the request parameters in the 'table_options' attribute. `,
To sync this table you must set the 'use_paid_apis' option to 'true' in the AWS provider configuration as well as specify the request parameters in the 'table_options' attribute.
Please note that this table is considered **alpha** (experimental) and may have breaking changes or be removed in the future.
`,

@bbernays bbernays requested a review from disq June 14, 2023 18:05
Copy link
Member

@disq disq left a comment

Choose a reason for hiding this comment

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

LGTM with nits

Co-authored-by: Kemal <223029+disq@users.noreply.github.com>
@bbernays bbernays added the automerge Automatically merge once required checks pass label Jun 15, 2023
@bbernays
Copy link
Collaborator Author

/gen sha=0567a4bb29c5189c798a79cf03bb53e2eb14d5d0 plugin=aws

@kodiakhq kodiakhq bot merged commit 04fd769 into cloudquery:main Jun 15, 2023
@bbernays bbernays deleted the custom-costexplorer-table branch June 15, 2023 13:15
kodiakhq bot pushed a commit that referenced this pull request Jun 15, 2023
🤖 I have created a release *beep* *boop*
---


## [18.4.0](plugins-source-aws-v18.3.0...plugins-source-aws-v18.4.0) (2023-06-15)


### This Release has the Following Changes to Tables
- Table `aws_alpha_cloudwatch_metric_statistics` was added
- Table `aws_alpha_cloudwatch_metrics` was added
- Table `aws_alpha_costexplorer_cost_custom` was added
- Table `aws_applicationautoscaling_scalable_targets`: column added with name `scalable_target_arn` and type `utf8`
- Table `aws_appsync_graphql_apis`: column added with name `api_type` and type `utf8`
- Table `aws_appsync_graphql_apis`: column added with name `dns` and type `json`
- Table `aws_appsync_graphql_apis`: column added with name `merged_api_execution_role_arn` and type `utf8`
- Table `aws_appsync_graphql_apis`: column added with name `owner_contact` and type `utf8`
- Table `aws_appsync_graphql_apis`: column added with name `owner` and type `utf8`
- Table `aws_appsync_graphql_apis`: column added with name `visibility` and type `utf8`
- Table `aws_athena_work_group_query_executions`: column added with name `substatement_type` and type `utf8`
- Table `aws_backup_protected_resources` was added
- Table `aws_backup_vault_recovery_points`: column added with name `resource_name` and type `utf8`
- Table `aws_cloudformation_stack_sets`: column added with name `regions` and type `list<item: utf8, nullable>`
- Table `aws_cloudwatchlogs_log_groups`: column added with name `inherited_properties` and type `list<item: utf8, nullable>`
- Table `aws_computeoptimizer_ebs_volume_recommendations`: column added with name `tags` and type `json`
- Table `aws_computeoptimizer_ec2_instance_recommendations`: column added with name `external_metric_status` and type `json`
- Table `aws_computeoptimizer_ec2_instance_recommendations`: column added with name `instance_state` and type `utf8`
- Table `aws_computeoptimizer_ec2_instance_recommendations`: column added with name `tags` and type `json`
- Table `aws_computeoptimizer_ecs_service_recommendations`: column added with name `tags` and type `json`
- Table `aws_computeoptimizer_lambda_function_recommendations`: column added with name `tags` and type `json`
- Table `aws_dynamodb_tables`: column added with name `deletion_protection_enabled` and type `bool`
- Table `aws_ec2_hosts`: column added with name `host_maintenance` and type `utf8`
- Table `aws_ec2_instance_connect_endpoints` was added
- Table `aws_ec2_instances`: column added with name `current_instance_boot_mode` and type `utf8`
- Table `aws_elasticache_replication_groups`: column added with name `cluster_mode` and type `utf8`
- Table `aws_emr_cluster_instance_fleets`: column added with name `resize_specifications` and type `json`
- Table `aws_frauddetector_event_types`: column added with name `event_orchestration` and type `json`
- Table `aws_glue_database_tables`: column added with name `federated_table` and type `json`
- Table `aws_glue_databases`: column added with name `federated_database` and type `json`
- Table `aws_guardduty_detectors`: column added with name `features` and type `json`
- Table `aws_iot_jobs`: column added with name `destination_package_versions` and type `list<item: utf8, nullable>`
- Table `aws_iot_jobs`: column added with name `scheduled_job_rollouts` and type `json`
- Table `aws_kafka_cluster_operations`: column added with name `vpc_connection_info` and type `json`
- Table `aws_lambda_function_event_source_mappings`: column added with name `document_db_event_source_config` and type `json`
- Table `aws_lightsail_disks`: column added with name `auto_mount_status` and type `utf8`
- Table `aws_mwaa_environments`: column added with name `startup_script_s3_object_version` and type `utf8`
- Table `aws_mwaa_environments`: column added with name `startup_script_s3_path` and type `utf8`
- Table `aws_neptune_clusters`: column added with name `global_cluster_identifier` and type `utf8`
- Table `aws_neptune_clusters`: column added with name `pending_modified_values` and type `json`
- Table `aws_networkfirewall_firewall_policies`: column added with name `policy_variables` and type `json`
- Table `aws_ram_resource_share_permissions`: column added with name `feature_set` and type `utf8`
- Table `aws_ram_resource_share_permissions`: column added with name `permission_type` and type `utf8`
- Table `aws_ram_resource_share_permissions`: column added with name `tags` and type `json`
- Table `aws_rds_cluster_snapshots`: column added with name `storage_type` and type `utf8`
- Table `aws_rds_clusters`: column added with name `io_optimized_next_allowed_modification_time` and type `timestamp[us, tz=UTC]`
- Table `aws_rds_instances`: column added with name `read_replica_source_db_cluster_identifier` and type `utf8`
- Table `aws_resiliencehub_app_version_resource_mappings`: column added with name `eks_source_name` and type `utf8`
- Table `aws_resiliencehub_app_version_resources`: column added with name `additional_info` and type `json`
- Table `aws_resiliencehub_app_version_resources`: column added with name `excluded` and type `bool`
- Table `aws_resiliencehub_app_version_resources`: column added with name `parent_resource_name` and type `utf8`
- Table `aws_resiliencehub_app_version_resources`: column added with name `source_type` and type `utf8`
- Table `aws_sagemaker_models`: column added with name `deployment_recommendation` and type `json`
- Table `aws_securityhub_hubs`: column added with name `control_finding_generator` and type `utf8`
- Table `aws_timestream_tables`: column added with name `schema` and type `json`
- Table `aws_wafv2_web_acls`: column added with name `association_config` and type `json`

### Features

* **aws:** Add `aws_alpha_cloudwatch_metric*` tables to fetch Cloudwatch Metrics and statistics ([#11402](#11402)) ([07b76d2](07b76d2))
* **aws:** Add Support for EC2 Instance Connect Endpoints ([#11531](#11531)) ([73ae77b](73ae77b))
* **aws:** Add Support for fully customizable Cost Explorer Data syncing ([#11185](#11185)) ([04fd769](04fd769)), closes [#10805](#10805)
* **aws:** Add support for Protected Resources in AWS Backup ([#11522](#11522)) ([12a1bc0](12a1bc0))
* **aws:** Table Options Validation ([#11548](#11548)) ([ea858fc](ea858fc))


### Bug Fixes

* **aws:** Upgrade all AWS SDK to latest version ([#11626](#11626)) ([71f787f](71f787f))
* **deps:** Update github.com/cloudquery/arrow/go/v13 digest to 4d76231 ([#11532](#11532)) ([6f04233](6f04233))
* **deps:** Update github.com/cloudquery/arrow/go/v13 digest to d864719 ([#11611](#11611)) ([557a290](557a290))
* **deps:** Update module github.com/cloudquery/plugin-sdk/v3 to v3.10.6 ([#11473](#11473)) ([7272133](7272133))

---
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.

feat: AWS Cost by service with dynamic date range

3 participants