createApplication method

Future<ApplicationDescriptionMessage> createApplication({
  1. required String applicationName,
  2. String? description,
  3. ApplicationResourceLifecycleConfig? resourceLifecycleConfig,
  4. List<Tag>? tags,
})

Creates an application that has one configuration template named default and no application versions.

May throw TooManyApplicationsException.

Parameter applicationName : The name of the application. Must be unique within your account.

Parameter description : Your description of the application.

Parameter resourceLifecycleConfig : Specifies an application resource lifecycle configuration to prevent your application from accumulating too many versions.

Parameter tags : Specifies the tags applied to the application.

Elastic Beanstalk applies these tags only to the application. Environments that you create in the application don't inherit the tags.

Implementation

Future<ApplicationDescriptionMessage> createApplication({
  required String applicationName,
  String? description,
  ApplicationResourceLifecycleConfig? resourceLifecycleConfig,
  List<Tag>? tags,
}) async {
  ArgumentError.checkNotNull(applicationName, 'applicationName');
  _s.validateStringLength(
    'applicationName',
    applicationName,
    1,
    100,
    isRequired: true,
  );
  _s.validateStringLength(
    'description',
    description,
    0,
    200,
  );
  final $request = <String, dynamic>{};
  $request['ApplicationName'] = applicationName;
  description?.also((arg) => $request['Description'] = arg);
  resourceLifecycleConfig
      ?.also((arg) => $request['ResourceLifecycleConfig'] = arg);
  tags?.also((arg) => $request['Tags'] = arg);
  final $result = await _protocol.send(
    $request,
    action: 'CreateApplication',
    version: '2010-12-01',
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    shape: shapes['CreateApplicationMessage'],
    shapes: shapes,
    resultWrapper: 'CreateApplicationResult',
  );
  return ApplicationDescriptionMessage.fromXml($result);
}