updateChannel method

Future<void> updateChannel({
  1. required String channelName,
  2. ChannelStorage? channelStorage,
  3. RetentionPeriod? retentionPeriod,
})

Updates the settings of a channel.

May throw InvalidRequestException. May throw ResourceNotFoundException. May throw InternalFailureException. May throw ServiceUnavailableException. May throw ThrottlingException.

Parameter channelName : The name of the channel to be updated.

Parameter channelStorage : Where channel data is stored. You can choose one of serviceManagedS3 or customerManagedS3 storage. If not specified, the default is serviceManagedS3. You cannot change this storage option after the channel is created.

Parameter retentionPeriod : How long, in days, message data is kept for the channel. The retention period cannot be updated if the channel's S3 storage is customer-managed.

Implementation

Future<void> updateChannel({
  required String channelName,
  ChannelStorage? channelStorage,
  RetentionPeriod? retentionPeriod,
}) async {
  ArgumentError.checkNotNull(channelName, 'channelName');
  _s.validateStringLength(
    'channelName',
    channelName,
    1,
    128,
    isRequired: true,
  );
  final $payload = <String, dynamic>{
    if (channelStorage != null) 'channelStorage': channelStorage,
    if (retentionPeriod != null) 'retentionPeriod': retentionPeriod,
  };
  await _protocol.send(
    payload: $payload,
    method: 'PUT',
    requestUri: '/channels/${Uri.encodeComponent(channelName)}',
    exceptionFnMap: _exceptionFns,
  );
}