createContactMethod method

Future<CreateContactMethodResult> createContactMethod({
  1. required String contactEndpoint,
  2. required ContactProtocol protocol,
})

Creates an email or SMS text message contact method.

A contact method is used to send you notifications about your Amazon Lightsail resources. You can add one email address and one mobile phone number contact method in each AWS Region. However, SMS text messaging is not supported in some AWS Regions, and SMS text messages cannot be sent to some countries/regions. For more information, see Notifications in Amazon Lightsail.

May throw ServiceException. May throw InvalidInputException. May throw NotFoundException. May throw OperationFailureException. May throw AccessDeniedException. May throw UnauthenticatedException.

Parameter contactEndpoint : The destination of the contact method, such as an email address or a mobile phone number.

Use the E.164 format when specifying a mobile phone number. E.164 is a standard for the phone number structure used for international telecommunication. Phone numbers that follow this format can have a maximum of 15 digits, and they are prefixed with the plus character (+) and the country code. For example, a U.S. phone number in E.164 format would be specified as +1XXX5550100. For more information, see E.164 on Wikipedia.

Parameter protocol : The protocol of the contact method, such as Email or SMS (text messaging).

The SMS protocol is supported only in the following AWS Regions.

  • US East (N. Virginia) (us-east-1)
  • US West (Oregon) (us-west-2)
  • Europe (Ireland) (eu-west-1)
  • Asia Pacific (Tokyo) (ap-northeast-1)
  • Asia Pacific (Singapore) (ap-southeast-1)
  • Asia Pacific (Sydney) (ap-southeast-2)
For a list of countries/regions where SMS text messages can be sent, and the latest AWS Regions where SMS text messaging is supported, see Supported Regions and Countries in the Amazon SNS Developer Guide.

For more information about notifications in Amazon Lightsail, see Notifications in Amazon Lightsail.

Implementation

Future<CreateContactMethodResult> createContactMethod({
  required String contactEndpoint,
  required ContactProtocol protocol,
}) async {
  ArgumentError.checkNotNull(contactEndpoint, 'contactEndpoint');
  _s.validateStringLength(
    'contactEndpoint',
    contactEndpoint,
    1,
    256,
    isRequired: true,
  );
  ArgumentError.checkNotNull(protocol, 'protocol');
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'Lightsail_20161128.CreateContactMethod'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'contactEndpoint': contactEndpoint,
      'protocol': protocol.toValue(),
    },
  );

  return CreateContactMethodResult.fromJson(jsonResponse.body);
}