def generate_intelligent_default_config()

in template/v2/dirs/etc/sagemaker/sm_pysdk_default_config.py [0:0]


def generate_intelligent_default_config(metadata: str) -> dict:
    config = {
        "SchemaVersion": "1.0",
        "SageMaker": {
            "PythonSDK": {
                "Modules": {
                    "Session": {
                        "DefaultS3Bucket": metadata["S3Bucket"],
                        "DefaultS3ObjectKeyPrefix": metadata["S3ObjectKeyPrefix"],
                    },
                    "RemoteFunction": {
                        "IncludeLocalWorkDir": True,
                        "VpcConfig": {"SecurityGroupIds": metadata["SecurityGroupIds"], "Subnets": metadata["Subnets"]},
                    },
                    "NotebookJob": {
                        "RoleArn": metadata["UserRoleArn"],
                        "S3RootUri": f"s3://{metadata['S3Bucket']}/{metadata['S3ObjectKeyPrefix']}",
                        "VpcConfig": {"SecurityGroupIds": metadata["SecurityGroupIds"], "Subnets": metadata["Subnets"]},
                    },
                    "Serve": {"S3ModelDataUri": f"s3://{metadata['S3Bucket']}/{metadata['S3ObjectKeyPrefix']}"},
                }
            },
            "MonitoringSchedule": {
                "MonitoringScheduleConfig": {
                    "MonitoringJobDefinition": {
                        "NetworkConfig": {
                            "VpcConfig": {
                                "SecurityGroupIds": metadata["SecurityGroupIds"],
                                "Subnets": metadata["Subnets"],
                            }
                        }
                    }
                }
            },
            "AutoMLJob": {
                "AutoMLJobConfig": {
                    "SecurityConfig": {
                        "VpcConfig": {"SecurityGroupIds": metadata["SecurityGroupIds"], "Subnets": metadata["Subnets"]}
                    }
                }
            },
            "AutoMLJobV2": {
                "SecurityConfig": {
                    "VpcConfig": {"SecurityGroupIds": metadata["SecurityGroupIds"], "Subnets": metadata["Subnets"]}
                }
            },
            "CompilationJob": {
                "VpcConfig": {"SecurityGroupIds": metadata["SecurityGroupIds"], "Subnets": metadata["Subnets"]}
            },
            "Pipeline": {"RoleArn": metadata["UserRoleArn"]},
            "Model": {
                "VpcConfig": {"SecurityGroupIds": metadata["SecurityGroupIds"], "Subnets": metadata["Subnets"]},
                "ExecutionRoleArn": metadata["UserRoleArn"],
            },
            "ModelPackage": {"ValidationSpecification": {"ValidationRole": metadata["UserRoleArn"]}},
            "ProcessingJob": {
                "NetworkConfig": {
                    "VpcConfig": {"SecurityGroupIds": metadata["SecurityGroupIds"], "Subnets": metadata["Subnets"]}
                },
                "RoleArn": metadata["UserRoleArn"],
            },
            "TrainingJob": {
                "RoleArn": metadata["UserRoleArn"],
                "VpcConfig": {"SecurityGroupIds": metadata["SecurityGroupIds"], "Subnets": metadata["Subnets"]},
            },
        },
    }
    return config