### Jira

- [X] My PR addresses the following [Airflow 
Jira](https://issues.apache.org/jira/browse/AIRFLOW/) issues and references 
them in the PR title.
  - https://issues.apache.org/jira/browse/AIRFLOW-2062

### Description

- [X] Here are some details about my PR, including screenshots of any UI 
changes:
   - For an in-depth explanation of these changes, please see this [design 
doc](https://docs.google.com/document/d/1qaucGw52aoR96swHQqIYN9nQXn2QKSOWvw6-KyI6Wwc/edit?usp=sharing).
   - Connections can now be encrypted using a local key that is encrypted using 
a KMS before being stored, instead of the global fernet key. Enabling this 
behavior requires creating a connection through the CLI (web UI in a coming PR) 
with the new KMS fields specified.
   - `Connection` and `BaseHook` were also refactored to support loading 
connections from the `Connection` class (instead of `BaseHook`).

### Tests

- [X] My PR adds the following unit tests:
   - `tests/contrib/hooks/test_gcp_kms_hook.py`
      - `test_encrypt_conn`
      - `test_encrypt_conn`
   - `tests/models.py`
      - `FernetTest`
      - `test_connection_kms_encryption`
      - `test_connection_from_uri_kms_encryption`
      - `test_get_kms_hook_missing`
      - `test_update_kms`

### Commits

- [X] My commits all reference Jira issues in their subject lines, and I have 
squashed multiple commits if they address the same issue. In addition, my 
commits follow the guidelines from "[How to write a good git commit 
message](http://chris.beams.io/posts/git-commit/)":
  1. Subject is separated from body by a blank line
  1. Subject is limited to 50 characters (not including Jira issue reference)
  1. Subject does not end with a period
  1. Subject uses the imperative mood ("add", not "adding")
  1. Body wraps at 72 characters
  1. Body explains "what" and "why", not "how"

### Documentation

- [X] In case of new functionality, my PR adds documentation that describes how 
to use it.

### Code Quality

- [X] Passes `git diff upstream/master -u -- "*.py" | flake8 --diff`

[ Full content available at: 
https://github.com/apache/incubator-airflow/pull/3805 ]
This message was relayed via gitbox.apache.org for [email protected]

Reply via email to