Skip to content

DM-3761: drop the Snowflake external-stage fields (1.4.0) - #50

Open
beneboy wants to merge 1 commit into
mainfrom
DM-3761-snowflake-internal-stage-only
Open

beneboy wants to merge 1 commit into
mainfrom
DM-3761-snowflake-internal-stage-only

Conversation

@beneboy

@beneboy beneboy commented Sep 21, 2026 •

Copy link
Copy Markdown
Collaborator

What

DataMasque 3.26.18 stages Snowflake masked data inside Snowflake, so the server no longer exposes the external staging fields. SnowflakeConnectionConfig loses s3_bucket_name, iam_role_arn, snowflake_azure_container_name, snowflake_azure_connection_string, snowflake_azure_connection_string_encrypted and snowflake_storage_integration_name.

snowflake_stage_location and the SnowflakeStageLocation enum are removed as well. The server detects a Snowflake SPCS deployment from its own environment, so the client no longer states it.

Connections listed from an older server still parse: the removed keys and any snowflake_stage_location value (aws_s3, azure_blob_storage, local, spcs) are dropped on the way in and are not sent back on create_or_update_connection.

Version 1.4.0 with a Breaking HISTORY entry. Requires server 3.26.18.

Testing

  • pytest 518 passed (two SPCS-marker tests removed, one dropped-value case added)
  • ruff check, ruff format --check, mypy clean

Release order

datamasque 3.26.18 (!3769) → this as 1.4.0 → bump the pin in datamasque-automation (1.3.1 still works against 3.26.18 because the server discards the old keys).

@beneboy
beneboy requested a review from oddy September 21, 2026 07:02
DataMasque 3.26.18 stages Snowflake masked data inside Snowflake, so the
server no longer exposes the S3 bucket, Azure container, storage integration
or Snowflake IAM role fields. Remove them from SnowflakeConnectionConfig.

The server detects a Snowflake SPCS deployment from its own environment
(is_spcs_env()), so the client no longer states it: snowflake_stage_location
and the SnowflakeStageLocation enum are removed.

Connections listed from an older server still parse: the removed keys and
any snowflake_stage_location value (aws_s3, azure_blob_storage, local, spcs)
are dropped on the way in so they are not sent back on
create_or_update_connection.

Release as 1.4.0; HISTORY.rst calls the breaking change out.

BREAKING CHANGE: SnowflakeConnectionConfig loses s3_bucket_name, iam_role_arn,
snowflake_azure_container_name, snowflake_azure_connection_string,
snowflake_azure_connection_string_encrypted, snowflake_storage_integration_name
and snowflake_stage_location; the SnowflakeStageLocation enum is removed from
datamasque.client.
@carlosfunk
carlosfunk force-pushed the DM-3761-snowflake-internal-stage-only branch from e1f9c28 to 44c5417 Compare September 24, 2026 21:30

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants