Loading...
Loading...
### Terraform Version ```shell 1.7.5 ``` ### Terraform Configuration Files ```terraform resource "aws_sagemaker_domain" "sagemaker_domain" { provider = aws.environment domain_name = "${local.name_prefix}-sgd" auth_mode = var.auth_mode vpc_id = data.aws_vpc.vpc.id subnet_ids = data.aws_subnets.sagemaker_subnets.ids kms_key_id = data.aws_kms_key.kms_key.arn app_network_access_type = var.app_network_access_type dynamic "default_space_settings" { iterator = default_space_setting for_each = local.default_space_settings_map content { execution_role = data.aws_iam_role.sagemaker_role.arn security_groups = concat([data.aws_security_group.sagemaker_sg.id], data.aws_security_group.default_security_groups[*].id) dynamic "jupyter_server_app_settings" { iterator = jupyter_server_app_setting for_each = try(default_space_setting.value.jupyter_server_app_setting != null ? default_space_setting.value.jupyter_server_app_setting : [], []) content { dynamic "default_resource_spec" { iterator = default_resource_spec for_each = lookup(jupyter_server_app_setting.value, "default_resource_spec", []) content { instance_type = lookup(default_resource_spec.value, "instance_type", null) lifecycle_config_arn = lookup(default_resource_spec.value, "lifecycle_config_arn", null) sagemaker_image_arn = lookup(default_resource_spec.value, "sagemaker_image_arn", null) sagemaker_image_version_arn = lookup(default_resource_spec.value, "sagemaker_image_version_arn", null) } } } } dynamic "kernel_gateway_app_settings" { iterator = kernel_gateway_app_setting for_each = try(default_space_setting.value.kernel_gateway_app_setting != null ? default_space_setting.value.kernel_gateway_app_setting : [], []) content { dynamic "default_resource_spec" { iterator = default_resource_spec for_each = try(kernel_gateway_app_setting.value.default_resource_spec != null ? kernel_gateway_app_setting.value.default_resource_spec : [], []) content { instance_type = lookup(default_resource_spec.value, "instance_type", null) lifecycle_config_arn = lookup(default_resource_spec.value, "lifecycle_config_arn", null) sagemaker_image_arn = lookup(default_resource_spec.value, "sagemaker_image_arn", null) sagemaker_image_version_arn = lookup(default_resource_spec.value, "sagemaker_image_version_arn", null) } } dynamic "custom_image" { iterator = custom_image for_each = try(kernel_gateway_app_setting.value.custom_image != null ? kernel_gateway_app_setting.value.custom_image : [], []) content { app_image_config_name = lookup(custom_image.value, "app_image_config_name", null) image_name = lookup(custom_image.value, "image_name", null) image_version_number = lookup(custom_image.value, "image_version_number", null) } } } } } } dynamic "domain_settings" { iterator = domain_settings for_each = var.domain_settings content { security_group_ids = concat([data.aws_security_group.sagemaker_sg.id], data.aws_security_group.default_security_groups[*].id) execution_role_identity_config = lookup(domain_settings.value, "execution_role_identity_config", null) } } retention_policy { home_efs_file_system = var.home_efs_file_system } dynamic "default_user_settings" { iterator = default_user_settings for_each = var.default_user_settings content { execution_role = data.aws_iam_role.sagemaker_role.arn security_groups = concat([data.aws_security_group.sagemaker_sg.id], data.aws_security_group.default_security_groups[*].id) dynamic "canvas_app_settings" { iterator = canvas_app_settings for_each = try(default_user_settings.value.canvas_app_settings != null ? default_user_settings.value.canvas_app_settings : [], []) content { dynamic "model_register_settings" { iterator = model_register_settings for_each = try(canvas_app_settings.value.model_register_settings != null ? canvas_app_settings.value.model_register_settings : [], []) content { cross_account_model_register_role_arn = lookup(model_register_settings.value, "cross_account_model_register_role_arn", null) status = lookup(model_register_settings.value, "status", null) } } dynamic "time_series_forecasting_settings" { iterator = time_series_forecasting_settings for_each = try(canvas_app_settings.value.time_series_forecasting_settings != null ? canvas_app_settings.value.time_series_forecasting_settings : [], []) content { amazon_forecast_role_arn = lookup(time_series_forecasting_settings.value, "amazon_forecast_role_arn", null) status = lookup(time_series_forecasting_settings.value, "status", null) } } dynamic "workspace_settings" { iterator = workspace_settings for_each = try(canvas_app_settings.value.workspace_settings != null ? canvas_app_settings.value.workspace_settings : [], []) content { s3_artifact_path = lookup(workspace_settings.value, "s3_artifact_path", local.s3_artifact_path) s3_kms_key_id = lookup(workspace_settings.value, "s3_kms_key_id", data.aws_kms_key.kms_key.arn) } } } } dynamic "jupyter_server_app_settings" { iterator = jupyter_server_app_settings for_each = var.default_user_settings content { dynamic "default_resource_spec" { iterator = default_resource_spec for_each = try(jupyter_server_app_settings.value.default_resource_spec != null ? jupyter_server_app_settings.value.default_resource_spec : [], []) content { instance_type = lookup(default_resource_spec.value, "instance_type", null) lifecycle_config_arn = lookup(default_resource_spec.value, "lifecycle_config_arn", null) sagemaker_image_arn = lookup(default_resource_spec.value, "sagemaker_image_arn", null) sagemaker_image_version_arn = lookup(default_resource_spec.value, "sagemaker_image_version_arn", null) } } } } dynamic "kernel_gateway_app_settings" { iterator = kernel_gateway_app_settings for_each = var.default_user_settings content { dynamic "default_resource_spec" { iterator = default_resource_spec for_each = try(kernel_gateway_app_settings.value.default_resource_spec != null ? kernel_gateway_app_settings.value.default_resource_spec : [], []) content { instance_type = lookup(default_resource_spec.value, "instance_type", null) lifecycle_config_arn = lookup(default_resource_spec.value, "lifecycle_config_arn", null) sagemaker_image_arn = lookup(default_resource_spec.value, "sagemaker_image_arn", null) sagemaker_image_version_arn = lookup(default_resource_spec.value, "sagemaker_image_version_arn", null) } } dynamic "custom_image" { iterator = custom_image for_each = try(kernel_gateway_app_settings.value.custom_image != null ? kernel_gateway_app_settings.value.custom_image : [], []) content { app_image_config_name = lookup(custom_image.value, "app_image_config_name", null) image_name = lookup(custom_image.value, "image_name", null) image_version_number = lookup(custom_image.value, "image_version_number", null) } } } } dynamic "r_session_app_settings" { iterator = r_session_app_settings for_each = try(default_user_settings.value.r_session_app_settings != null ? default_user_settings.value.r_session_app_settings : [], []) content { dynamic "default_resource_spec" { iterator = default_resource_spec for_each = try(r_session_app_settings.value.default_resource_spec != null ? r_session_app_settings.value.default_resource_spec : [], []) content { instance_type = lookup(default_resource_spec.value, "instance_type", null) lifecycle_config_arn = lookup(default_resource_spec.value, "lifecycle_config_arn", null) sagemaker_image_arn = lookup(default_resource_spec.value, "sagemaker_image_arn", null) sagemaker_image_version_arn = lookup(default_resource_spec.value, "sagemaker_image_version_arn", null) } } dynamic "custom_image" { iterator = custom_image for_each = try(r_session_app_settings.value.custom_image != null ? r_session_app_settings.value.custom_image : [], []) content { app_image_config_name = lookup(custom_image.value, "app_image_config_name", null) image_name = lookup(custom_image.value, "image_name", null) image_version_number = lookup(custom_image.value, "image_version_number", null) } } } } dynamic "sharing_settings" { iterator = sharing_settings for_each = var.default_user_settings content { notebook_output_option = lookup(sharing_settings.value, "notebook_output_option", null) s3_kms_key_id = lookup(sharing_settings.value, "s3_kms_key_id", data.aws_kms_key.kms_key.arn) s3_output_path = lookup(sharing_settings.value, "s3_output_path", local.s3_output_path) } } dynamic "tensor_board_app_settings" { iterator = tensor_board_app_settings for_each = var.default_user_settings content { dynamic "default_resource_spec" { iterator = default_resource_spec for_each = try(tensor_board_app_settings.value.default_resource_spec != null ? tensor_board_app_settings.value.default_resource_spec : [], []) content { instance_type = lookup(default_resource_spec.value, "instance_type", null) lifecycle_config_arn = lookup(default_resource_spec.value, "lifecycle_config_arn", null) sagemaker_image_arn = lookup(default_resource_spec.value, "sagemaker_image_arn", null) sagemaker_image_version_arn = lookup(default_resource_spec.value, "sagemaker_image_version_arn", null) } } } } dynamic "custom_file_system_config" { iterator = custom_file_system_config for_each = try(default_user_settings.value.custom_file_system_config != null ? default_user_settings.value.custom_file_system_config : [], []) content { efs_file_system_config { file_system_id = resource.aws_efs_file_system.efs.id file_system_path = lookup(custom_file_system_config.value, "file_system_path", "/") } } } } } lifecycle { create_before_destroy = true ignore_changes = [] } } ``` ### Debug Output ``` module.sagemaker.module.persistent[0].aws_sagemaker_domain.sagemaker_domain: Still creating... [2m20s elapsed] module.sagemaker.module.persistent[0].aws_sagemaker_domain.sagemaker_domain: Still creating... [2m30s elapsed] module.sagemaker.module.persistent[0].aws_sagemaker_domain.sagemaker_domain: Still creating... [2m40s elapsed] module.sagemaker.module.persistent[0].aws_sagemaker_domain.sagemaker_domain: Still creating... [2m50s elapsed] module.sagemaker.module.persistent[0].aws_sagemaker_domain.sagemaker_domain: Creation complete after 2m53s [id=d-ui7zbycguasf] module.sagemaker.module.persistent[0].aws_sagemaker_user_profile.user_profiles["example-user"]: Creating... module.sagemaker.module.persistent[0].aws_sagemaker_user_profile.user_profiles["example-user"]: Creation complete after 6s [id=arn:aws:sagemaker:ap-southeast-1:095033845374:user-profile/d-ui7zbycgubsf/example-user] ``` ### Expected Behavior The SageMaker Domain should have the tags Environment=Production and Team=ML. The associated EFS file system should also have the same tags: Environment=Production and Team=ML ### Actual Behavior The SageMaker Domain has the expected tags (Environment=Production, Team=ML). The default EFS file system is created without any tags or only with minimal tags (Name=SageMaker-Domain-). ### Steps to Reproduce 1. terraform plan 2. terraform apply ### Additional Context _No response_ ### References _No response_ ### Generative AI / LLM assisted development? _No response_
Click on a version to see all relevant bugs
Terraform Integration
Learn more about where this data comes from
Bug Scrub Advisor
Streamline upgrades with automated vendor bug scrubs
BugZero Enterprise
Wish you caught this bug sooner? Get proactive today.