updateProfile method

Future<void> updateProfile({
  1. String? address,
  2. DistanceUnit? distanceUnit,
  3. bool? isDefault,
  4. String? locale,
  5. int? maxVolumeLimit,
  6. UpdateMeetingRoomConfiguration? meetingRoomConfiguration,
  7. bool? pSTNEnabled,
  8. String? profileArn,
  9. String? profileName,
  10. bool? setupModeDisabled,
  11. TemperatureUnit? temperatureUnit,
  12. String? timezone,
  13. WakeWord? wakeWord,
})

Updates an existing room profile by room profile ARN.

May throw NotFoundException. May throw NameInUseException. May throw ConcurrentModificationException.

Parameter address : The updated address for the room profile.

Parameter distanceUnit : The updated distance unit for the room profile.

Parameter isDefault : Sets the profile as default if selected. If this is missing, no update is done to the default status.

Parameter locale : The updated locale for the room profile. (This is currently only available to a limited preview audience.)

Parameter maxVolumeLimit : The updated maximum volume limit for the room profile.

Parameter meetingRoomConfiguration : The updated meeting room settings of a room profile.

Parameter pSTNEnabled : Whether the PSTN setting of the room profile is enabled.

Parameter profileArn : The ARN of the room profile to update. Required.

Parameter profileName : The updated name for the room profile.

Parameter setupModeDisabled : Whether the setup mode of the profile is enabled.

Parameter temperatureUnit : The updated temperature unit for the room profile.

Parameter timezone : The updated timezone for the room profile.

Parameter wakeWord : The updated wake word for the room profile.

Implementation

Future<void> updateProfile({
  String? address,
  DistanceUnit? distanceUnit,
  bool? isDefault,
  String? locale,
  int? maxVolumeLimit,
  UpdateMeetingRoomConfiguration? meetingRoomConfiguration,
  bool? pSTNEnabled,
  String? profileArn,
  String? profileName,
  bool? setupModeDisabled,
  TemperatureUnit? temperatureUnit,
  String? timezone,
  WakeWord? wakeWord,
}) async {
  _s.validateStringLength(
    'address',
    address,
    1,
    500,
  );
  _s.validateStringLength(
    'locale',
    locale,
    1,
    256,
  );
  _s.validateStringLength(
    'profileName',
    profileName,
    1,
    100,
  );
  _s.validateStringLength(
    'timezone',
    timezone,
    1,
    100,
  );
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'AlexaForBusiness.UpdateProfile'
  };
  await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      if (address != null) 'Address': address,
      if (distanceUnit != null) 'DistanceUnit': distanceUnit.toValue(),
      if (isDefault != null) 'IsDefault': isDefault,
      if (locale != null) 'Locale': locale,
      if (maxVolumeLimit != null) 'MaxVolumeLimit': maxVolumeLimit,
      if (meetingRoomConfiguration != null)
        'MeetingRoomConfiguration': meetingRoomConfiguration,
      if (pSTNEnabled != null) 'PSTNEnabled': pSTNEnabled,
      if (profileArn != null) 'ProfileArn': profileArn,
      if (profileName != null) 'ProfileName': profileName,
      if (setupModeDisabled != null) 'SetupModeDisabled': setupModeDisabled,
      if (temperatureUnit != null)
        'TemperatureUnit': temperatureUnit.toValue(),
      if (timezone != null) 'Timezone': timezone,
      if (wakeWord != null) 'WakeWord': wakeWord.toValue(),
    },
  );
}