Taragolis commented on code in PR #25416:
URL: https://github.com/apache/airflow/pull/25416#discussion_r933760449
##########
airflow/providers/amazon/aws/hooks/base_aws.py:
##########
@@ -582,6 +582,18 @@ def decorator_f(self, *args, **kwargs):
return retry_decorator
+ @staticmethod
+ def get_ui_field_behaviour() -> Dict[str, Any]:
+ """Returns custom field behaviour."""
+ return {
+ "hidden_fields": ['host', 'schema', 'port'],
+ "relabeling": {},
+ "placeholders": {
Review Comment:
@josh-fell Oh, it my second attempt for changing UI behaviour for AWS
Connection. Previous one I even did not create PR in the end. Right now I tried
to make it simple as possible only to show that host, port and schema not use
in connection and follow the [Amazon Web Services Connection
documentation](https://airflow.apache.org/docs/apache-airflow-providers-amazon/stable/connections/aws.html#configuring-the-connection).
The root issue is the fact that user could define `aws_access_key_id` and
`aws_secret_access_key` in three different places.
In login/password:
```python
Connection(
conn_id="aws_conn_1",
conn_type="aws",
login="AKIAIOSFODNN7EXAMPLE",
password="login="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
)
```
In extra fields `aws_access_key_id` and `aws_secret_access_key`
```python
Connection(
conn_id="aws_conn_2",
conn_type="aws",
extra={
"aws_access_key_id": "AKIAIOSFODNN7EXAMPLE",
"aws_secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
}
)
```
In extra `session_kwargs` keys `aws_access_key_id` and
`aws_secret_access_key` (not directly documented but this is mentioned in boto3
documentation)
```python
Connection(
conn_id="aws_conn_3",
conn_type="aws",
extra={
"session_kwargs": {
"aws_access_key_id": "AKIAIOSFODNN7EXAMPLE",
"aws_secret_access_key":
"wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
}
}
)
```
I thought rename `login` and `password` to `aws_access_key_id` and
`aws_secret_access_key` might confuse user more.
@eladkal The same things with extra columns in UI, such as `region_name`.
Right now it is only possible add as `extra__{conn_type}__{field_name}`, which:
1. Would not work with AWS Connection right now
2. Required some changes for resolve cases such as
```python
Connection(
conn_id="aws_conn_hell",
conn_type="aws",
extra={
"region_name": "us-east-1",
"extra__aws__region_name": "eu-west-1",
"session_kwargs": {
"region_name": "cn-north-1",
}
}
)
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]