createCodeRepository method

Future<CreateCodeRepositoryOutput> createCodeRepository({
  1. required String codeRepositoryName,
  2. required GitConfig gitConfig,
  3. List<Tag>? tags,
})

Creates a Git repository as a resource in your Amazon SageMaker account. You can associate the repository with notebook instances so that you can use Git source control for the notebooks you create. The Git repository is a resource in your Amazon SageMaker account, so it can be associated with more than one notebook instance, and it persists independently from the lifecycle of any notebook instances it is associated with.

The repository can be hosted either in AWS CodeCommit or in any other Git repository.

Parameter codeRepositoryName : The name of the Git repository. The name must have 1 to 63 characters. Valid characters are a-z, A-Z, 0-9, and - (hyphen).

Parameter gitConfig : Specifies details about the repository, including the URL where the repository is located, the default branch, and credentials to use to access the repository.

Parameter tags : An array of key-value pairs. You can use tags to categorize your AWS resources in different ways, for example, by purpose, owner, or environment. For more information, see Tagging AWS Resources.

Implementation

Future<CreateCodeRepositoryOutput> createCodeRepository({
  required String codeRepositoryName,
  required GitConfig gitConfig,
  List<Tag>? tags,
}) async {
  ArgumentError.checkNotNull(codeRepositoryName, 'codeRepositoryName');
  _s.validateStringLength(
    'codeRepositoryName',
    codeRepositoryName,
    1,
    63,
    isRequired: true,
  );
  ArgumentError.checkNotNull(gitConfig, 'gitConfig');
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'SageMaker.CreateCodeRepository'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'CodeRepositoryName': codeRepositoryName,
      'GitConfig': gitConfig,
      if (tags != null) 'Tags': tags,
    },
  );

  return CreateCodeRepositoryOutput.fromJson(jsonResponse.body);
}