putDestinationPolicy method

Future<void> putDestinationPolicy({
  1. required String accessPolicy,
  2. required String destinationName,
})

Creates or updates an access policy associated with an existing destination. An access policy is an IAM policy document that is used to authorize claims to register a subscription filter against a given destination.

May throw InvalidParameterException. May throw OperationAbortedException. May throw ServiceUnavailableException.

Parameter accessPolicy : An IAM policy document that authorizes cross-account users to deliver their log events to the associated destination. This can be up to 5120 bytes.

Parameter destinationName : A name for an existing destination.

Implementation

Future<void> putDestinationPolicy({
  required String accessPolicy,
  required String destinationName,
}) async {
  ArgumentError.checkNotNull(accessPolicy, 'accessPolicy');
  _s.validateStringLength(
    'accessPolicy',
    accessPolicy,
    1,
    1152921504606846976,
    isRequired: true,
  );
  ArgumentError.checkNotNull(destinationName, 'destinationName');
  _s.validateStringLength(
    'destinationName',
    destinationName,
    1,
    512,
    isRequired: true,
  );
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'Logs_20140328.PutDestinationPolicy'
  };
  await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'accessPolicy': accessPolicy,
      'destinationName': destinationName,
    },
  );
}