createAvailabilityConfiguration method

Future<void> createAvailabilityConfiguration({
  1. required String domainName,
  2. required String organizationId,
  3. String? clientToken,
  4. EwsAvailabilityProvider? ewsProvider,
  5. LambdaAvailabilityProvider? lambdaProvider,
})

Creates an AvailabilityConfiguration for the given WorkMail organization and domain.

May throw InvalidParameterException. May throw LimitExceededException. May throw NameAvailabilityException. May throw OrganizationNotFoundException. May throw OrganizationStateException.

Parameter domainName : The domain to which the provider applies.

Parameter organizationId : The WorkMail organization for which the AvailabilityConfiguration will be created.

Parameter clientToken : An idempotent token that ensures that an API request is executed only once.

Parameter ewsProvider : Exchange Web Services (EWS) availability provider definition. The request must contain exactly one provider definition, either EwsProvider or LambdaProvider.

Parameter lambdaProvider : Lambda availability provider definition. The request must contain exactly one provider definition, either EwsProvider or LambdaProvider.

Implementation

Future<void> createAvailabilityConfiguration({
  required String domainName,
  required String organizationId,
  String? clientToken,
  EwsAvailabilityProvider? ewsProvider,
  LambdaAvailabilityProvider? lambdaProvider,
}) async {
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'WorkMailService.CreateAvailabilityConfiguration'
  };
  await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'DomainName': domainName,
      'OrganizationId': organizationId,
      'ClientToken': clientToken ?? _s.generateIdempotencyToken(),
      if (ewsProvider != null) 'EwsProvider': ewsProvider,
      if (lambdaProvider != null) 'LambdaProvider': lambdaProvider,
    },
  );
}