createMlflowApp method

Future<CreateMlflowAppResponse> createMlflowApp({
  1. required String artifactStoreUri,
  2. required String name,
  3. required String roleArn,
  4. AccountDefaultStatus? accountDefaultStatus,
  5. List<String>? defaultDomainIdList,
  6. ModelRegistrationMode? modelRegistrationMode,
  7. List<Tag>? tags,
  8. String? weeklyMaintenanceWindowStart,
})

Creates an MLflow Tracking Server using a general purpose Amazon S3 bucket as the artifact store.

May throw ResourceLimitExceeded.

Parameter artifactStoreUri : The S3 URI for a general purpose bucket to use as the MLflow App artifact store.

Parameter name : A string identifying the MLflow app name. This string is not part of the tracking server ARN.

Parameter roleArn : The Amazon Resource Name (ARN) for an IAM role in your account that the MLflow App uses to access the artifact store in Amazon S3. The role should have the AmazonS3FullAccess permission.

Parameter accountDefaultStatus : Indicates whether this MLflow app is the default for the entire account.

Parameter defaultDomainIdList : List of SageMaker domain IDs for which this MLflow App is used as the default.

Parameter modelRegistrationMode : Whether to enable or disable automatic registration of new MLflow models to the SageMaker Model Registry. To enable automatic model registration, set this value to AutoModelRegistrationEnabled. To disable automatic model registration, set this value to AutoModelRegistrationDisabled. If not specified, AutomaticModelRegistration defaults to AutoModelRegistrationDisabled.

Parameter tags : Tags consisting of key-value pairs used to manage metadata for the MLflow App.

Parameter weeklyMaintenanceWindowStart : The day and time of the week in Coordinated Universal Time (UTC) 24-hour standard time that weekly maintenance updates are scheduled. For example: TUE:03:30.

Implementation

Future<CreateMlflowAppResponse> createMlflowApp({
  required String artifactStoreUri,
  required String name,
  required String roleArn,
  AccountDefaultStatus? accountDefaultStatus,
  List<String>? defaultDomainIdList,
  ModelRegistrationMode? modelRegistrationMode,
  List<Tag>? tags,
  String? weeklyMaintenanceWindowStart,
}) async {
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'SageMaker.CreateMlflowApp'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'ArtifactStoreUri': artifactStoreUri,
      'Name': name,
      'RoleArn': roleArn,
      if (accountDefaultStatus != null)
        'AccountDefaultStatus': accountDefaultStatus.value,
      if (defaultDomainIdList != null)
        'DefaultDomainIdList': defaultDomainIdList,
      if (modelRegistrationMode != null)
        'ModelRegistrationMode': modelRegistrationMode.value,
      if (tags != null) 'Tags': tags,
      if (weeklyMaintenanceWindowStart != null)
        'WeeklyMaintenanceWindowStart': weeklyMaintenanceWindowStart,
    },
  );

  return CreateMlflowAppResponse.fromJson(jsonResponse.body);
}