From 70ef6652257b4f36e50b25fa839731026580ee1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Torres=20Marroqu=C3=ADn?= Date: Tue, 10 Sep 2024 09:11:23 -0600 Subject: [PATCH 01/15] QA --- src/fides/api/models/connectionconfig.py | 1 + .../connection_configuration/__init__.py | 9 +++- .../connection_secrets_mysql.py | 4 +- .../connection_secrets_rds_mysql.py | 47 +++++++++++++++++++ 4 files changed, 58 insertions(+), 3 deletions(-) create mode 100644 src/fides/api/schemas/connection_configuration/connection_secrets_rds_mysql.py diff --git a/src/fides/api/models/connectionconfig.py b/src/fides/api/models/connectionconfig.py index 9dfd0e907b..29913f608a 100644 --- a/src/fides/api/models/connectionconfig.py +++ b/src/fides/api/models/connectionconfig.py @@ -51,6 +51,7 @@ class ConnectionType(enum.Enum): mssql = "mssql" mysql = "mysql" postgres = "postgres" + rds_mysql = "rds_mysql" redshift = "redshift" s3 = "s3" saas = "saas" diff --git a/src/fides/api/schemas/connection_configuration/__init__.py b/src/fides/api/schemas/connection_configuration/__init__.py index 50e482fafe..e1e95be4d5 100644 --- a/src/fides/api/schemas/connection_configuration/__init__.py +++ b/src/fides/api/schemas/connection_configuration/__init__.py @@ -86,6 +86,12 @@ from fides.api.schemas.connection_configuration.connection_secrets_postgres import ( PostgreSQLSchema as PostgreSQLSchema, ) +from fides.api.schemas.connection_configuration.connection_secrets_rds_mysql import ( + RDSMySQLDocsSchema as RDSMySQLDocsSchema, +) +from fides.api.schemas.connection_configuration.connection_secrets_rds_mysql import ( + RDSMySQLSchema as RDSMySQLSchema, +) from fides.api.schemas.connection_configuration.connection_secrets_redshift import ( RedshiftDocsSchema as RedshiftDocsSchema, ) @@ -145,9 +151,10 @@ ConnectionType.mssql.value: MicrosoftSQLServerSchema, ConnectionType.mysql.value: MySQLSchema, ConnectionType.postgres.value: PostgreSQLSchema, + ConnectionType.rds_mysql.value: RDSMySQLSchema, ConnectionType.redshift.value: RedshiftSchema, - ConnectionType.saas.value: SaaSSchema, ConnectionType.s3.value: S3Schema, + ConnectionType.saas.value: SaaSSchema, ConnectionType.scylla.value: ScyllaSchema, ConnectionType.snowflake.value: SnowflakeSchema, ConnectionType.sovrn.value: SovrnSchema, diff --git a/src/fides/api/schemas/connection_configuration/connection_secrets_mysql.py b/src/fides/api/schemas/connection_configuration/connection_secrets_mysql.py index 238949d607..cd35134e35 100644 --- a/src/fides/api/schemas/connection_configuration/connection_secrets_mysql.py +++ b/src/fides/api/schemas/connection_configuration/connection_secrets_mysql.py @@ -16,7 +16,7 @@ class MySQLSchema(ConnectionConfigSecretsSchema): description="The hostname or IP address of the server where the database is running.", ) port: int = Field( - 3306, + default=3306, title="Port", description="The network port number on which the server is listening for incoming connections (default: 3306).", ) @@ -32,8 +32,8 @@ class MySQLSchema(ConnectionConfigSecretsSchema): json_schema_extra={"sensitive": True}, ) dbname: str = Field( - description="The name of the specific database within the database server that you want to connect to.", title="Database", + description="The name of the specific database within the database server that you want to connect to.", ) ssh_required: bool = Field( False, diff --git a/src/fides/api/schemas/connection_configuration/connection_secrets_rds_mysql.py b/src/fides/api/schemas/connection_configuration/connection_secrets_rds_mysql.py new file mode 100644 index 0000000000..0e29eaf206 --- /dev/null +++ b/src/fides/api/schemas/connection_configuration/connection_secrets_rds_mysql.py @@ -0,0 +1,47 @@ +from typing import ClassVar, List + +from pydantic import Field + +from fides.api.schemas.base_class import NoValidationSchema +from fides.api.schemas.connection_configuration.connection_secrets_base_aws import ( + BaseAWSSchema, +) + + +class RDSMySQLSchema(BaseAWSSchema): + """ + Schema to validate the secrets needed to connect to a RDS MySQL Database + """ + + host: str = Field( + title="Host", + description="The hostname or IP address of the server where the database is running.", + ) + port: int = Field( + default=3306, + title="Port", + description="The network port number on which the server is listening for incoming connections (default: 3306).", + ) + username: str = Field( + title="Username", + description="The user account used to authenticate and access the database.", + ) + dbname: str = Field( + title="Database", + description="The name of the specific database within the database server that you want to connect to.", + ) + region: str = Field( + title="Region", + description="The AWS region where the RDS instance is located.", + ) + ca_cert_url: str = Field( + default="https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem", + title="CA Certificate URL", + description="The URL to the CA certificate used to authenticate the RDS instance.", + ) + + _required_components: ClassVar[List[str]] = ["host", "dbname", "auth_method"] # ?? + + +class RDSMySQLDocsSchema(RDSMySQLSchema, NoValidationSchema): + """RDS MySQL Secrets Schema for API Docs""" From 209fe1e0fb54135c46e76827cead3eb8c067de41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Torres=20Marroqu=C3=ADn?= Date: Tue, 10 Sep 2024 12:03:27 -0600 Subject: [PATCH 02/15] QA --- clients/admin-ui/src/types/api/models/ConnectionType.ts | 1 + src/fides/api/models/connectionconfig.py | 1 + 2 files changed, 2 insertions(+) diff --git a/clients/admin-ui/src/types/api/models/ConnectionType.ts b/clients/admin-ui/src/types/api/models/ConnectionType.ts index 8cd4fce93c..a2529fa95b 100644 --- a/clients/admin-ui/src/types/api/models/ConnectionType.ts +++ b/clients/admin-ui/src/types/api/models/ConnectionType.ts @@ -22,6 +22,7 @@ export enum ConnectionType { MSSQL = "mssql", MYSQL = "mysql", POSTGRES = "postgres", + RDS_MYSQL = "rds_mysql", REDSHIFT = "redshift", S3 = "s3", SAAS = "saas", diff --git a/src/fides/api/models/connectionconfig.py b/src/fides/api/models/connectionconfig.py index 29913f608a..c4d7bd2a72 100644 --- a/src/fides/api/models/connectionconfig.py +++ b/src/fides/api/models/connectionconfig.py @@ -82,6 +82,7 @@ def human_readable(self) -> str: ConnectionType.mssql.value: "Microsoft SQL Server", ConnectionType.mysql.value: "MySQL", ConnectionType.postgres.value: "PostgreSQL", + ConnectionType.rds_mysql.value: "RDS MySQL", ConnectionType.redshift.value: "Amazon Redshift", ConnectionType.s3.value: "Amazon S3", ConnectionType.saas.value: "SaaS", From 020364a1d4db7e669dcc49a73354f60b5e7d4c12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Torres=20Marroqu=C3=ADn?= Date: Fri, 20 Sep 2024 10:28:33 -0600 Subject: [PATCH 03/15] QA --- .../connection_secrets_rds_mysql.py | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/src/fides/api/schemas/connection_configuration/connection_secrets_rds_mysql.py b/src/fides/api/schemas/connection_configuration/connection_secrets_rds_mysql.py index 0e29eaf206..8c8a72dfec 100644 --- a/src/fides/api/schemas/connection_configuration/connection_secrets_rds_mysql.py +++ b/src/fides/api/schemas/connection_configuration/connection_secrets_rds_mysql.py @@ -13,23 +13,11 @@ class RDSMySQLSchema(BaseAWSSchema): Schema to validate the secrets needed to connect to a RDS MySQL Database """ - host: str = Field( - title="Host", - description="The hostname or IP address of the server where the database is running.", - ) - port: int = Field( - default=3306, - title="Port", - description="The network port number on which the server is listening for incoming connections (default: 3306).", - ) username: str = Field( + default="fides_explorer", title="Username", description="The user account used to authenticate and access the database.", ) - dbname: str = Field( - title="Database", - description="The name of the specific database within the database server that you want to connect to.", - ) region: str = Field( title="Region", description="The AWS region where the RDS instance is located.", From 9cf5dcc73d3fb9140543362d1447e65da08ccc31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Torres=20Marroqu=C3=ADn?= Date: Fri, 20 Sep 2024 11:08:51 -0600 Subject: [PATCH 04/15] Add connection_type migration --- ...8d56eaa_add_rds_mysql_to_connector_type.py | 104 ++++++++++++++++++ .../connection_secrets_rds_mysql.py | 6 +- 2 files changed, 107 insertions(+), 3 deletions(-) create mode 100644 src/fides/api/alembic/migrations/versions/25fe48d56eaa_add_rds_mysql_to_connector_type.py diff --git a/src/fides/api/alembic/migrations/versions/25fe48d56eaa_add_rds_mysql_to_connector_type.py b/src/fides/api/alembic/migrations/versions/25fe48d56eaa_add_rds_mysql_to_connector_type.py new file mode 100644 index 0000000000..4702262f27 --- /dev/null +++ b/src/fides/api/alembic/migrations/versions/25fe48d56eaa_add_rds_mysql_to_connector_type.py @@ -0,0 +1,104 @@ +"""add_rds_mysql_to_connector_type + +Revision ID: 25fe48d56eaa +Revises: 9de4bb76307a +Create Date: 2024-09-20 17:06:31.944225 + +""" + +import sqlalchemy as sa +from alembic import op + +# revision identifiers, used by Alembic. +revision = "25fe48d56eaa" +down_revision = "9de4bb76307a" +branch_labels = None +depends_on = None + + +def upgrade(): + # Add 'dynamic_erasure_email' to ConnectionType enum + op.execute("ALTER TYPE connectiontype RENAME TO connectiontype_old") + op.execute( + """ + CREATE TYPE connectiontype AS ENUM ( + 'mongodb', + 'mysql', + 'https', + 'snowflake', + 'redshift', + 'mssql', + 'mariadb', + 'bigquery', + 'saas', + 'manual', + 'manual_webhook', + 'timescale', + 'fides', + 'sovrn', + 'attentive', + 'dynamodb', + 'postgres', + 'generic_consent_email', + 'generic_erasure_email', + 'scylla', + 's3', + 'google_cloud_sql_mysql', + 'google_cloud_sql_postgres', + 'dynamic_erasure_email', + 'rds_mysql' + ) + """ + ) + op.execute( + """ + ALTER TABLE connectionconfig ALTER COLUMN connection_type TYPE connectiontype USING + connection_type::text::connectiontype + """ + ) + op.execute("DROP TYPE connectiontype_old") + + +def downgrade(): + # Remove 'dynamic_erasure_email' from ConnectionType enum + op.execute( + "DELETE FROM connectionconfig WHERE connection_type IN ('dynamic_erasure_email')" + ) + op.execute("ALTER TYPE connectiontype RENAME TO connectiontype_old") + op.execute( + """ + CREATE TYPE connectiontype AS ENUM ( + 'mongodb', + 'mysql', + 'https', + 'snowflake', + 'redshift', + 'mssql', + 'mariadb', + 'bigquery', + 'saas', + 'manual', + 'manual_webhook', + 'timescale', + 'fides', + 'sovrn', + 'attentive', + 'dynamodb', + 'postgres', + 'generic_consent_email', + 'generic_erasure_email', + 'scylla', + 's3', + 'google_cloud_sql_mysql', + 'google_cloud_sql_postgres', + 'dynamic_erasure_email' + ) + """ + ) + op.execute( + """ + ALTER TABLE connectionconfig ALTER COLUMN connection_type TYPE connectiontype USING + connection_type::text::connectiontype + """ + ) + op.execute("DROP TYPE connectiontype_old") diff --git a/src/fides/api/schemas/connection_configuration/connection_secrets_rds_mysql.py b/src/fides/api/schemas/connection_configuration/connection_secrets_rds_mysql.py index 8c8a72dfec..e176c16f46 100644 --- a/src/fides/api/schemas/connection_configuration/connection_secrets_rds_mysql.py +++ b/src/fides/api/schemas/connection_configuration/connection_secrets_rds_mysql.py @@ -16,16 +16,16 @@ class RDSMySQLSchema(BaseAWSSchema): username: str = Field( default="fides_explorer", title="Username", - description="The user account used to authenticate and access the database.", + description="The user account used to authenticate and access the databases.", ) region: str = Field( title="Region", - description="The AWS region where the RDS instance is located.", + description="The AWS region where the RDS instances are located.", ) ca_cert_url: str = Field( default="https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem", title="CA Certificate URL", - description="The URL to the CA certificate used to authenticate the RDS instance.", + description="The URL to the CA certificate used to authenticate the RDS instances.", ) _required_components: ClassVar[List[str]] = ["host", "dbname", "auth_method"] # ?? From 146f939bf797c6ecc8a3a116ceae9a5115e1e07b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Torres=20Marroqu=C3=ADn?= Date: Fri, 20 Sep 2024 11:19:30 -0600 Subject: [PATCH 05/15] QA --- .../connection_configuration/connection_secrets_rds_mysql.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fides/api/schemas/connection_configuration/connection_secrets_rds_mysql.py b/src/fides/api/schemas/connection_configuration/connection_secrets_rds_mysql.py index e176c16f46..8456080295 100644 --- a/src/fides/api/schemas/connection_configuration/connection_secrets_rds_mysql.py +++ b/src/fides/api/schemas/connection_configuration/connection_secrets_rds_mysql.py @@ -28,7 +28,7 @@ class RDSMySQLSchema(BaseAWSSchema): description="The URL to the CA certificate used to authenticate the RDS instances.", ) - _required_components: ClassVar[List[str]] = ["host", "dbname", "auth_method"] # ?? + _required_components: ClassVar[List[str]] = ["auth_method"] class RDSMySQLDocsSchema(RDSMySQLSchema, NoValidationSchema): From a3a5b5a1191c4c514c1942c73b8df67e3af7afb4 Mon Sep 17 00:00:00 2001 From: Andres Torres Date: Fri, 20 Sep 2024 11:42:02 -0600 Subject: [PATCH 06/15] Apply suggestions from code review --- .../25fe48d56eaa_add_rds_mysql_to_connector_type.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/fides/api/alembic/migrations/versions/25fe48d56eaa_add_rds_mysql_to_connector_type.py b/src/fides/api/alembic/migrations/versions/25fe48d56eaa_add_rds_mysql_to_connector_type.py index 4702262f27..a67fd9046c 100644 --- a/src/fides/api/alembic/migrations/versions/25fe48d56eaa_add_rds_mysql_to_connector_type.py +++ b/src/fides/api/alembic/migrations/versions/25fe48d56eaa_add_rds_mysql_to_connector_type.py @@ -17,7 +17,7 @@ def upgrade(): - # Add 'dynamic_erasure_email' to ConnectionType enum + # Add 'rds_mysql' to ConnectionType enum op.execute("ALTER TYPE connectiontype RENAME TO connectiontype_old") op.execute( """ @@ -60,9 +60,9 @@ def upgrade(): def downgrade(): - # Remove 'dynamic_erasure_email' from ConnectionType enum + # Remove 'rds_mysql' from ConnectionType enum op.execute( - "DELETE FROM connectionconfig WHERE connection_type IN ('dynamic_erasure_email')" + "DELETE FROM connectionconfig WHERE connection_type IN ('rds_mysql')" ) op.execute("ALTER TYPE connectiontype RENAME TO connectiontype_old") op.execute( From 8dcb4b5618f6385bcade1a8d44b63bca7f41d3de Mon Sep 17 00:00:00 2001 From: Andres Torres Date: Fri, 20 Sep 2024 12:07:38 -0600 Subject: [PATCH 07/15] Update src/fides/api/schemas/connection_configuration/connection_secrets_rds_mysql.py --- .../connection_configuration/connection_secrets_rds_mysql.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/fides/api/schemas/connection_configuration/connection_secrets_rds_mysql.py b/src/fides/api/schemas/connection_configuration/connection_secrets_rds_mysql.py index 8456080295..97fd9f4044 100644 --- a/src/fides/api/schemas/connection_configuration/connection_secrets_rds_mysql.py +++ b/src/fides/api/schemas/connection_configuration/connection_secrets_rds_mysql.py @@ -28,8 +28,6 @@ class RDSMySQLSchema(BaseAWSSchema): description="The URL to the CA certificate used to authenticate the RDS instances.", ) - _required_components: ClassVar[List[str]] = ["auth_method"] - class RDSMySQLDocsSchema(RDSMySQLSchema, NoValidationSchema): """RDS MySQL Secrets Schema for API Docs""" From 4eea41790d6ce09faddcbf93640e84f32a2503d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Torres=20Marroqu=C3=ADn?= Date: Fri, 20 Sep 2024 12:18:17 -0600 Subject: [PATCH 08/15] QA --- .../test_connection_template_endpoints.py | 90 ++++++++++++++++++- 1 file changed, 87 insertions(+), 3 deletions(-) diff --git a/tests/ops/api/v1/endpoints/test_connection_template_endpoints.py b/tests/ops/api/v1/endpoints/test_connection_template_endpoints.py index cad58186f3..1546e0f5b7 100644 --- a/tests/ops/api/v1/endpoints/test_connection_template_endpoints.py +++ b/tests/ops/api/v1/endpoints/test_connection_template_endpoints.py @@ -354,7 +354,7 @@ def test_search_system_type(self, api_client, generate_auth_header, url): resp = api_client.get(url + "system_type=database", headers=auth_header) assert resp.status_code == 200 data = resp.json()["items"] - assert len(data) == 14 + assert len(data) == 15 def test_search_system_type_and_connection_type( self, @@ -913,7 +913,9 @@ def test_get_connection_secret_schema_dynamodb( "description": "Determines which type of " "authentication method to use " "for connecting to Amazon Web " - "Services.", + "Services. Currently accepted " + "values are: `secret_keys` or " + "`automatic`.", "title": "Authentication Method", }, "aws_access_key_id": { @@ -1261,7 +1263,9 @@ def test_get_connection_secret_schema_s3( "description": "Determines which type of " "authentication method to use " "for connecting to Amazon Web " - "Services.", + "Services. Currently accepted " + "values are: `secret_keys` or " + "`automatic`.", "title": "Authentication Method", }, "aws_access_key_id": { @@ -1294,6 +1298,86 @@ def test_get_connection_secret_schema_s3( "type": "object", } + def test_get_connection_secret_schema_rds( + self, api_client: TestClient, generate_auth_header, base_url + ) -> None: + auth_header = generate_auth_header(scopes=[CONNECTION_TYPE_READ]) + resp = api_client.get( + base_url.format(connection_type="rds_mysql"), headers=auth_header + ) + assert resp.json() == { + "definitions": { + "AWSAuthMethod": { + "enum": ["automatic", "secret_keys"], + "title": "AWSAuthMethod", + "type": "string", + } + }, + "description": "Schema to validate the secrets needed to connect to a RDS " + "MySQL Database", + "properties": { + "auth_method": { + "allOf": [{"$ref": "#/definitions/AWSAuthMethod"}], + "description": "Determines which type of " + "authentication method to use " + "for connecting to Amazon Web " + "Services. Currently accepted " + "values are: `secret_keys` or " + "`automatic`.", + "title": "Authentication Method", + }, + "aws_access_key_id": { + "description": "Part of the credentials " + "that provide access to " + "your AWS account.", + "title": "Access Key ID", + "type": "string", + }, + "aws_assume_role_arn": { + "description": "If provided, the ARN " + "of the role that " + "should be assumed to " + "connect to AWS.", + "title": "Assume Role ARN", + "type": "string", + }, + "aws_secret_access_key": { + "description": "Part of the " + "credentials that " + "provide access to " + "your AWS account.", + "sensitive": True, + "title": "Secret Access Key", + "type": "string", + }, + "ca_cert_url": { + "default": "https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem", + "description": "The URL to the CA certificate " + "used to authenticate the RDS " + "instances.", + "title": "CA Certificate URL", + "type": "string", + }, + "region": { + "description": "The AWS region where the RDS " + "instances are located.", + "title": "Region", + "type": "string", + }, + "username": { + "default": "fides_explorer", + "description": "The user account used to " + "authenticate and access the " + "databases.", + "title": "Username", + "type": "string", + }, + }, + "required": ["auth_method", "region"], + "title": "RDSMySQLSchema", + "type": "object", + } + def test_get_connection_secret_schema_snowflake( self, api_client: TestClient, generate_auth_header, base_url ) -> None: From 3cc3b09e5590ab588232241b73f76b8b5b21618a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Torres=20Marroqu=C3=ADn?= Date: Fri, 20 Sep 2024 12:35:11 -0600 Subject: [PATCH 09/15] QA --- .../versions/25fe48d56eaa_add_rds_mysql_to_connector_type.py | 4 +--- .../connection_configuration/connection_secrets_rds_mysql.py | 2 -- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/src/fides/api/alembic/migrations/versions/25fe48d56eaa_add_rds_mysql_to_connector_type.py b/src/fides/api/alembic/migrations/versions/25fe48d56eaa_add_rds_mysql_to_connector_type.py index a67fd9046c..2f63f402c6 100644 --- a/src/fides/api/alembic/migrations/versions/25fe48d56eaa_add_rds_mysql_to_connector_type.py +++ b/src/fides/api/alembic/migrations/versions/25fe48d56eaa_add_rds_mysql_to_connector_type.py @@ -61,9 +61,7 @@ def upgrade(): def downgrade(): # Remove 'rds_mysql' from ConnectionType enum - op.execute( - "DELETE FROM connectionconfig WHERE connection_type IN ('rds_mysql')" - ) + op.execute("DELETE FROM connectionconfig WHERE connection_type IN ('rds_mysql')") op.execute("ALTER TYPE connectiontype RENAME TO connectiontype_old") op.execute( """ diff --git a/src/fides/api/schemas/connection_configuration/connection_secrets_rds_mysql.py b/src/fides/api/schemas/connection_configuration/connection_secrets_rds_mysql.py index 97fd9f4044..2425f610cd 100644 --- a/src/fides/api/schemas/connection_configuration/connection_secrets_rds_mysql.py +++ b/src/fides/api/schemas/connection_configuration/connection_secrets_rds_mysql.py @@ -1,5 +1,3 @@ -from typing import ClassVar, List - from pydantic import Field from fides.api.schemas.base_class import NoValidationSchema From 1edaf55f04d79d18b126fe6adf5a2960792739f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Torres=20Marroqu=C3=ADn?= Date: Tue, 24 Sep 2024 06:12:24 -0600 Subject: [PATCH 10/15] QA --- .../connection_configuration/connection_secrets_rds_mysql.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/fides/api/schemas/connection_configuration/connection_secrets_rds_mysql.py b/src/fides/api/schemas/connection_configuration/connection_secrets_rds_mysql.py index 2425f610cd..739fee5cdb 100644 --- a/src/fides/api/schemas/connection_configuration/connection_secrets_rds_mysql.py +++ b/src/fides/api/schemas/connection_configuration/connection_secrets_rds_mysql.py @@ -20,11 +20,6 @@ class RDSMySQLSchema(BaseAWSSchema): title="Region", description="The AWS region where the RDS instances are located.", ) - ca_cert_url: str = Field( - default="https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem", - title="CA Certificate URL", - description="The URL to the CA certificate used to authenticate the RDS instances.", - ) class RDSMySQLDocsSchema(RDSMySQLSchema, NoValidationSchema): From bdad19f50c3e6f0a3ce251126e4cd1276ca83875 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Torres=20Marroqu=C3=ADn?= Date: Tue, 24 Sep 2024 06:53:12 -0600 Subject: [PATCH 11/15] QA --- ...e.py => 33b8a0f79b30_add_rds_mysql_to_connector_type.py} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) rename src/fides/api/alembic/migrations/versions/{25fe48d56eaa_add_rds_mysql_to_connector_type.py => 33b8a0f79b30_add_rds_mysql_to_connector_type.py} (96%) diff --git a/src/fides/api/alembic/migrations/versions/25fe48d56eaa_add_rds_mysql_to_connector_type.py b/src/fides/api/alembic/migrations/versions/33b8a0f79b30_add_rds_mysql_to_connector_type.py similarity index 96% rename from src/fides/api/alembic/migrations/versions/25fe48d56eaa_add_rds_mysql_to_connector_type.py rename to src/fides/api/alembic/migrations/versions/33b8a0f79b30_add_rds_mysql_to_connector_type.py index 2f63f402c6..02baa026e8 100644 --- a/src/fides/api/alembic/migrations/versions/25fe48d56eaa_add_rds_mysql_to_connector_type.py +++ b/src/fides/api/alembic/migrations/versions/33b8a0f79b30_add_rds_mysql_to_connector_type.py @@ -1,8 +1,8 @@ """add_rds_mysql_to_connector_type -Revision ID: 25fe48d56eaa +Revision ID: 33b8a0f79b30 Revises: 9de4bb76307a -Create Date: 2024-09-20 17:06:31.944225 +Create Date: 2024-09-24 12:51:49.384117 """ @@ -10,7 +10,7 @@ from alembic import op # revision identifiers, used by Alembic. -revision = "25fe48d56eaa" +revision = "33b8a0f79b30" down_revision = "9de4bb76307a" branch_labels = None depends_on = None From a7f9b573261d6d85f8f631515494923429410d0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Torres=20Marroqu=C3=ADn?= Date: Wed, 25 Sep 2024 06:49:36 -0600 Subject: [PATCH 12/15] QA --- .../connection_configuration/connection_secrets_rds_mysql.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/fides/api/schemas/connection_configuration/connection_secrets_rds_mysql.py b/src/fides/api/schemas/connection_configuration/connection_secrets_rds_mysql.py index 739fee5cdb..e3b3460009 100644 --- a/src/fides/api/schemas/connection_configuration/connection_secrets_rds_mysql.py +++ b/src/fides/api/schemas/connection_configuration/connection_secrets_rds_mysql.py @@ -11,8 +11,8 @@ class RDSMySQLSchema(BaseAWSSchema): Schema to validate the secrets needed to connect to a RDS MySQL Database """ - username: str = Field( - default="fides_explorer", + db_sername: str = Field( + default="fides_service_user", title="Username", description="The user account used to authenticate and access the databases.", ) From c7ba64e86b08f7c81a200d7437f10eddc778c748 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Torres=20Marroqu=C3=ADn?= Date: Wed, 25 Sep 2024 06:52:13 -0600 Subject: [PATCH 13/15] QA --- .../api/v1/endpoints/test_connection_template_endpoints.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/ops/api/v1/endpoints/test_connection_template_endpoints.py b/tests/ops/api/v1/endpoints/test_connection_template_endpoints.py index 1546e0f5b7..c57effbea1 100644 --- a/tests/ops/api/v1/endpoints/test_connection_template_endpoints.py +++ b/tests/ops/api/v1/endpoints/test_connection_template_endpoints.py @@ -1364,8 +1364,8 @@ def test_get_connection_secret_schema_rds( "title": "Region", "type": "string", }, - "username": { - "default": "fides_explorer", + "db_sername": { + "default": "fides_service_user", "description": "The user account used to " "authenticate and access the " "databases.", From afec85494c29924b1b059382d0b3d53fdca4cc8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Torres=20Marroqu=C3=ADn?= Date: Wed, 25 Sep 2024 07:08:35 -0600 Subject: [PATCH 14/15] QA --- ...=> 68c590ff6e89_add_rds_mysql_to_connector_type.py} | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) rename src/fides/api/alembic/migrations/versions/{33b8a0f79b30_add_rds_mysql_to_connector_type.py => 68c590ff6e89_add_rds_mysql_to_connector_type.py} (94%) diff --git a/src/fides/api/alembic/migrations/versions/33b8a0f79b30_add_rds_mysql_to_connector_type.py b/src/fides/api/alembic/migrations/versions/68c590ff6e89_add_rds_mysql_to_connector_type.py similarity index 94% rename from src/fides/api/alembic/migrations/versions/33b8a0f79b30_add_rds_mysql_to_connector_type.py rename to src/fides/api/alembic/migrations/versions/68c590ff6e89_add_rds_mysql_to_connector_type.py index 02baa026e8..62a2ae7fe2 100644 --- a/src/fides/api/alembic/migrations/versions/33b8a0f79b30_add_rds_mysql_to_connector_type.py +++ b/src/fides/api/alembic/migrations/versions/68c590ff6e89_add_rds_mysql_to_connector_type.py @@ -1,8 +1,8 @@ """add_rds_mysql_to_connector_type -Revision ID: 33b8a0f79b30 -Revises: 9de4bb76307a -Create Date: 2024-09-24 12:51:49.384117 +Revision ID: 68c590ff6e89 +Revises: 2394e4f69a49 +Create Date: 2024-09-25 13:07:17.078703 """ @@ -10,8 +10,8 @@ from alembic import op # revision identifiers, used by Alembic. -revision = "33b8a0f79b30" -down_revision = "9de4bb76307a" +revision = "68c590ff6e89" +down_revision = "2394e4f69a49" branch_labels = None depends_on = None From f43775a1355a049a8a2c86d5b661789bdd3c0556 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Torres=20Marroqu=C3=ADn?= Date: Wed, 25 Sep 2024 07:12:29 -0600 Subject: [PATCH 15/15] QA --- .../v1/endpoints/test_connection_template_endpoints.py | 8 -------- 1 file changed, 8 deletions(-) diff --git a/tests/ops/api/v1/endpoints/test_connection_template_endpoints.py b/tests/ops/api/v1/endpoints/test_connection_template_endpoints.py index c57effbea1..6fcff99d0d 100644 --- a/tests/ops/api/v1/endpoints/test_connection_template_endpoints.py +++ b/tests/ops/api/v1/endpoints/test_connection_template_endpoints.py @@ -1350,14 +1350,6 @@ def test_get_connection_secret_schema_rds( "title": "Secret Access Key", "type": "string", }, - "ca_cert_url": { - "default": "https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem", - "description": "The URL to the CA certificate " - "used to authenticate the RDS " - "instances.", - "title": "CA Certificate URL", - "type": "string", - }, "region": { "description": "The AWS region where the RDS " "instances are located.",