createProject method

Future<CreateProjectOutput> createProject({
  1. required String projectName,
  2. String? projectDescription,
  3. ServiceCatalogProvisioningDetails? serviceCatalogProvisioningDetails,
  4. List<Tag>? tags,
  5. List<CreateTemplateProvider>? templateProviders,
})

Creates a machine learning (ML) project that can contain one or more templates that set up an ML pipeline from training to deploying an approved model.

May throw ResourceLimitExceeded.

Parameter projectName : The name of the project.

Parameter projectDescription : A description for the project.

Parameter serviceCatalogProvisioningDetails : The product ID and provisioning artifact ID to provision a service catalog. The provisioning artifact ID will default to the latest provisioning artifact ID of the product, if you don't provide the provisioning artifact ID. For more information, see What is Amazon Web Services Service Catalog.

Parameter tags : An array of key-value pairs that you want to use to organize and track your Amazon Web Services resource costs. For more information, see Tagging Amazon Web Services resources in the Amazon Web Services General Reference Guide.

Parameter templateProviders : An array of template provider configurations for creating infrastructure resources for the project.

Implementation

Future<CreateProjectOutput> createProject({
  required String projectName,
  String? projectDescription,
  ServiceCatalogProvisioningDetails? serviceCatalogProvisioningDetails,
  List<Tag>? tags,
  List<CreateTemplateProvider>? templateProviders,
}) async {
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'SageMaker.CreateProject'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'ProjectName': projectName,
      if (projectDescription != null)
        'ProjectDescription': projectDescription,
      if (serviceCatalogProvisioningDetails != null)
        'ServiceCatalogProvisioningDetails':
            serviceCatalogProvisioningDetails,
      if (tags != null) 'Tags': tags,
      if (templateProviders != null) 'TemplateProviders': templateProviders,
    },
  );

  return CreateProjectOutput.fromJson(jsonResponse.body);
}