Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Checkpoint work * Checkpoint work * Checkpoint work * Checkpoint work * Checkpoint work * Checkpoint work * Checkpoint work * Checkpoint work * Checkpoint work * Checkpoint work * mage fmt fix * Make athena api json tag camel case * Rename DoQuery to ExecuteQuery and StartQuery to ExecuteAsyncQuery * Make athena api optional attributes pointers * Move HavingData in athena api to table listing call from table detail call * Remove wrapped panther athena api functions, api methods now execute code directly * Change Done() method to IsFinished() for clarity in awsathena pkg * Refine error handling in athena api lambda, add test * remove input structs from output structs in athena api * Use genericapi.Invoke instead of dup in testutils * Do not wait any time in the athena asyc call for fast results (pure async) * Small tidies from PR * Change Error struct to QueryError in athena api and use only specifically * Simpify dealing with pagination token in athena api * Simplify pkg/awsathena into a libarary of mockable functions * Update api names per requests in PR and add scaffolding for steps integration * Add calling sql to output for get results/status * Minor tidies based on PR feedback * Checkpoint work adding athena step function * Rename athena step function * Add support to generate alarms forn step function errors * Fix bug in sfn alarm generation * Checkpoint notification work * Add appsync support to receieve notifications from athena query completions * Make getTables() return full schema for tables * Tighten athena api lambda permissions * Pass caller-supplied token thru athena workflow to notification * End to end appsync subscriptions working! * Update integration test comments * Add delay at start of athena setp function state machine * Refactor anthena api integration tests * Refactor anthena api integration tests (this time for real) * Remove QueryID from results struct in athena_api * Update graphQL scheam to make userData filter on subscription manditory on queryDone() * Add support for canceling queries in athena api * Improve handling of sql errors in athena_api * Refacor structs in api s.t. no json tag is used more than 1 time * Add query stats (execution time & datascanned) to status output * Add columnInfo to athena_api results and remove first returned row * Add GetQueryResultsLink to athena_api to download as csv * Add integration tests to confirm mutating sql statements fail * Allow customers to configure Athena access for their non-Panther buckets for the UI * Light refactor of glue functions in athena_api * Fix messed up license headers and minor formatting changes * Fix more license headers * Handle NULL column values back from queries * Update comments in the athena_api * Tidy appsync subscription/norification code * Fix typo in comment * Simplify athena api state machine * Improve athena_api integration tests * Add userId as an optional attr when starting an athena query (for logging) * Add queryId and userId logging for traceability and metrics * More logging refinement to make sure we can trace queries easily * Minor tidies * Minor code clean up + make GetQueryResultsLink() return status in output * Update comment * Checkpoint work * Make showing non-Panther tables in SQL Shell configurable * Update some comments * Move athena api functions into individual files * Add usage examples in comments for PrincipalARNs and S3ARNs in panther_config.yml * Change core stack parameter name PantherTablesOnly to AthenaPantherTablesOnly * Minor style changes * Revert change to log level in genericapi invoke * Change athena_api integration tests from using t.Run() to top level tests * Move athena api related cloudformation from core stack to log_analysis stack * Change athena api to use envconfig * Use GetAtt instead of Sub for AthenaStepFunctionRole to ensure proper dependency * Remove config option for users to onboard their own buckets to athena api. We may want later, but complicates CF and not needed now * Refine athena_api s3 perms * Add required/dedefault tags athena_pai envconfig struct * Add athena_api integration test to test s3 perms for panther tables * Make result columns ptrs so null values are nil * When looking of column names, using json attr mapping table if possible * Respond to PR: pass step function arn into lambda rather than generating it * Fix typo in query status cancelled * Respond to PR: add comments explaining each api endpoint, elborate in comment about IAM appsync perms * Make the default for listing tables to only show populated tables * Change unPopulated to IncludePopulatedTablesOnly in listing tables to make boolean positive
- Loading branch information