createSubscriber method

Future<void> createSubscriber({
  1. required String accountId,
  2. required String budgetName,
  3. required Notification notification,
  4. required Subscriber subscriber,
})

Creates a subscriber. You must create the associated budget and notification before you create the subscriber.

May throw InternalErrorException. May throw InvalidParameterException. May throw CreationLimitExceededException. May throw DuplicateRecordException. May throw NotFoundException. May throw AccessDeniedException.

Parameter accountId : The accountId that is associated with the budget that you want to create a subscriber for.

Parameter budgetName : The name of the budget that you want to subscribe to. Budget names must be unique within an account.

Parameter notification : The notification that you want to create a subscriber for.

Parameter subscriber : The subscriber that you want to associate with a budget notification.

Implementation

Future<void> createSubscriber({
  required String accountId,
  required String budgetName,
  required Notification notification,
  required Subscriber subscriber,
}) async {
  ArgumentError.checkNotNull(accountId, 'accountId');
  _s.validateStringLength(
    'accountId',
    accountId,
    12,
    12,
    isRequired: true,
  );
  ArgumentError.checkNotNull(budgetName, 'budgetName');
  _s.validateStringLength(
    'budgetName',
    budgetName,
    1,
    100,
    isRequired: true,
  );
  ArgumentError.checkNotNull(notification, 'notification');
  ArgumentError.checkNotNull(subscriber, 'subscriber');
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'AWSBudgetServiceGateway.CreateSubscriber'
  };
  await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'AccountId': accountId,
      'BudgetName': budgetName,
      'Notification': notification,
      'Subscriber': subscriber,
    },
  );
}