createModelExplainabilityJobDefinition method

Future<CreateModelExplainabilityJobDefinitionResponse> createModelExplainabilityJobDefinition({
  1. required String jobDefinitionName,
  2. required MonitoringResources jobResources,
  3. required ModelExplainabilityAppSpecification modelExplainabilityAppSpecification,
  4. required ModelExplainabilityJobInput modelExplainabilityJobInput,
  5. required MonitoringOutputConfig modelExplainabilityJobOutputConfig,
  6. required String roleArn,
  7. ModelExplainabilityBaselineConfig? modelExplainabilityBaselineConfig,
  8. MonitoringNetworkConfig? networkConfig,
  9. MonitoringStoppingCondition? stoppingCondition,
  10. List<Tag>? tags,
})

Creates the definition for a model explainability job.

May throw ResourceInUse. May throw ResourceLimitExceeded.

Parameter jobDefinitionName : The name of the model explainability job definition. The name must be unique within an Amazon Web Services Region in the Amazon Web Services account.

Parameter modelExplainabilityAppSpecification : Configures the model explainability job to run a specified Docker container image.

Parameter modelExplainabilityJobInput : Inputs for the model explainability job.

Parameter roleArn : The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker AI can assume to perform tasks on your behalf.

Parameter modelExplainabilityBaselineConfig : The baseline configuration for a model explainability job.

Parameter networkConfig : Networking options for a model explainability job.

Parameter tags : (Optional) An array of key-value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide.

Implementation

Future<CreateModelExplainabilityJobDefinitionResponse>
    createModelExplainabilityJobDefinition({
  required String jobDefinitionName,
  required MonitoringResources jobResources,
  required ModelExplainabilityAppSpecification
      modelExplainabilityAppSpecification,
  required ModelExplainabilityJobInput modelExplainabilityJobInput,
  required MonitoringOutputConfig modelExplainabilityJobOutputConfig,
  required String roleArn,
  ModelExplainabilityBaselineConfig? modelExplainabilityBaselineConfig,
  MonitoringNetworkConfig? networkConfig,
  MonitoringStoppingCondition? stoppingCondition,
  List<Tag>? tags,
}) async {
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'SageMaker.CreateModelExplainabilityJobDefinition'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'JobDefinitionName': jobDefinitionName,
      'JobResources': jobResources,
      'ModelExplainabilityAppSpecification':
          modelExplainabilityAppSpecification,
      'ModelExplainabilityJobInput': modelExplainabilityJobInput,
      'ModelExplainabilityJobOutputConfig':
          modelExplainabilityJobOutputConfig,
      'RoleArn': roleArn,
      if (modelExplainabilityBaselineConfig != null)
        'ModelExplainabilityBaselineConfig':
            modelExplainabilityBaselineConfig,
      if (networkConfig != null) 'NetworkConfig': networkConfig,
      if (stoppingCondition != null) 'StoppingCondition': stoppingCondition,
      if (tags != null) 'Tags': tags,
    },
  );

  return CreateModelExplainabilityJobDefinitionResponse.fromJson(
      jsonResponse.body);
}