/// <summary>
        /// Update mfa settings for user.
        /// </summary>
        /// <param name="softwareMfaSettings">Item1 - isPreferred, Item2 - isEnabled; null - not send</param>
        /// <param name="smsMfaSettings">Item1 - isPreferred, Item2 - isEnabled; null - not send</param>
        /// <returns><see cref="Task"/> for awaiting</returns>
        public async Task UpdateMfaSettingsAsync(Tuple <bool, bool> softwareMfaSettings, Tuple <bool, bool> smsMfaSettings)
        {
            if (softwareMfaSettings == null & smsMfaSettings == null)
            {
                return;
            }

            EnsureUserAuthenticated();
            SetUserMFAPreferenceRequest request = new SetUserMFAPreferenceRequest
            {
                AccessToken = SessionTokens.AccessToken
            };

            if (softwareMfaSettings != null)
            {
                request.SoftwareTokenMfaSettings = new SoftwareTokenMfaSettingsType
                {
                    PreferredMfa = softwareMfaSettings.Item1,
                    Enabled      = softwareMfaSettings.Item2
                };
            }

            if (smsMfaSettings != null)
            {
                request.SMSMfaSettings = new SMSMfaSettingsType
                {
                    PreferredMfa = smsMfaSettings.Item1,
                    Enabled      = smsMfaSettings.Item2
                };
            }

            await Provider.SetUserMFAPreferenceAsync(request).ConfigureAwait(false);
        }
 public void SetUserMFAPreferenceAsync(SetUserMFAPreferenceRequest request, AmazonServiceCallback <SetUserMFAPreferenceRequest, SetUserMFAPreferenceResponse> callback, AsyncOptions options = null)
 {
     throw new System.NotImplementedException();
 }