All Downloads are FREE. Search and download functionalities are using the official Maven repository.

software.amazon.awssdk.services.alexaforbusiness.DefaultAlexaForBusinessClient Maven / Gradle / Ivy

/*
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */

package software.amazon.awssdk.services.alexaforbusiness;

import java.util.Collections;
import java.util.List;
import java.util.function.Consumer;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.annotations.SdkInternalApi;
import software.amazon.awssdk.awscore.AwsRequestOverrideConfiguration;
import software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler;
import software.amazon.awssdk.awscore.exception.AwsServiceException;
import software.amazon.awssdk.core.ApiName;
import software.amazon.awssdk.core.RequestOverrideConfiguration;
import software.amazon.awssdk.core.client.config.SdkClientConfiguration;
import software.amazon.awssdk.core.client.config.SdkClientOption;
import software.amazon.awssdk.core.client.handler.ClientExecutionParams;
import software.amazon.awssdk.core.client.handler.SyncClientHandler;
import software.amazon.awssdk.core.exception.SdkClientException;
import software.amazon.awssdk.core.http.HttpResponseHandler;
import software.amazon.awssdk.core.metrics.CoreMetric;
import software.amazon.awssdk.core.util.VersionInfo;
import software.amazon.awssdk.metrics.MetricCollector;
import software.amazon.awssdk.metrics.MetricPublisher;
import software.amazon.awssdk.metrics.NoOpMetricCollector;
import software.amazon.awssdk.protocols.core.ExceptionMetadata;
import software.amazon.awssdk.protocols.json.AwsJsonProtocol;
import software.amazon.awssdk.protocols.json.AwsJsonProtocolFactory;
import software.amazon.awssdk.protocols.json.BaseAwsJsonProtocolFactory;
import software.amazon.awssdk.protocols.json.JsonOperationMetadata;
import software.amazon.awssdk.services.alexaforbusiness.model.AlexaForBusinessException;
import software.amazon.awssdk.services.alexaforbusiness.model.AlexaForBusinessRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.AlreadyExistsException;
import software.amazon.awssdk.services.alexaforbusiness.model.ApproveSkillRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.ApproveSkillResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.AssociateContactWithAddressBookRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.AssociateContactWithAddressBookResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.AssociateDeviceWithNetworkProfileRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.AssociateDeviceWithNetworkProfileResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.AssociateDeviceWithRoomRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.AssociateDeviceWithRoomResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.AssociateSkillGroupWithRoomRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.AssociateSkillGroupWithRoomResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.AssociateSkillWithSkillGroupRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.AssociateSkillWithSkillGroupResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.AssociateSkillWithUsersRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.AssociateSkillWithUsersResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.ConcurrentModificationException;
import software.amazon.awssdk.services.alexaforbusiness.model.CreateAddressBookRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.CreateAddressBookResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.CreateBusinessReportScheduleRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.CreateBusinessReportScheduleResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.CreateConferenceProviderRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.CreateConferenceProviderResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.CreateContactRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.CreateContactResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.CreateGatewayGroupRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.CreateGatewayGroupResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.CreateNetworkProfileRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.CreateNetworkProfileResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.CreateProfileRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.CreateProfileResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.CreateRoomRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.CreateRoomResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.CreateSkillGroupRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.CreateSkillGroupResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.CreateUserRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.CreateUserResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.DeleteAddressBookRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.DeleteAddressBookResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.DeleteBusinessReportScheduleRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.DeleteBusinessReportScheduleResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.DeleteConferenceProviderRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.DeleteConferenceProviderResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.DeleteContactRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.DeleteContactResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.DeleteDeviceRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.DeleteDeviceResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.DeleteDeviceUsageDataRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.DeleteDeviceUsageDataResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.DeleteGatewayGroupRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.DeleteGatewayGroupResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.DeleteNetworkProfileRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.DeleteNetworkProfileResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.DeleteProfileRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.DeleteProfileResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.DeleteRoomRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.DeleteRoomResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.DeleteRoomSkillParameterRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.DeleteRoomSkillParameterResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.DeleteSkillAuthorizationRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.DeleteSkillAuthorizationResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.DeleteSkillGroupRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.DeleteSkillGroupResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.DeleteUserRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.DeleteUserResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.DeviceNotRegisteredException;
import software.amazon.awssdk.services.alexaforbusiness.model.DisassociateContactFromAddressBookRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.DisassociateContactFromAddressBookResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.DisassociateDeviceFromRoomRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.DisassociateDeviceFromRoomResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.DisassociateSkillFromSkillGroupRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.DisassociateSkillFromSkillGroupResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.DisassociateSkillFromUsersRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.DisassociateSkillFromUsersResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.DisassociateSkillGroupFromRoomRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.DisassociateSkillGroupFromRoomResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.ForgetSmartHomeAppliancesRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.ForgetSmartHomeAppliancesResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.GetAddressBookRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.GetAddressBookResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.GetConferencePreferenceRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.GetConferencePreferenceResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.GetConferenceProviderRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.GetConferenceProviderResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.GetContactRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.GetContactResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.GetDeviceRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.GetDeviceResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.GetGatewayGroupRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.GetGatewayGroupResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.GetGatewayRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.GetGatewayResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.GetInvitationConfigurationRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.GetInvitationConfigurationResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.GetNetworkProfileRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.GetNetworkProfileResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.GetProfileRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.GetProfileResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.GetRoomRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.GetRoomResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.GetRoomSkillParameterRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.GetRoomSkillParameterResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.GetSkillGroupRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.GetSkillGroupResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.InvalidCertificateAuthorityException;
import software.amazon.awssdk.services.alexaforbusiness.model.InvalidDeviceException;
import software.amazon.awssdk.services.alexaforbusiness.model.InvalidSecretsManagerResourceException;
import software.amazon.awssdk.services.alexaforbusiness.model.InvalidServiceLinkedRoleStateException;
import software.amazon.awssdk.services.alexaforbusiness.model.InvalidUserStatusException;
import software.amazon.awssdk.services.alexaforbusiness.model.LimitExceededException;
import software.amazon.awssdk.services.alexaforbusiness.model.ListBusinessReportSchedulesRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.ListBusinessReportSchedulesResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.ListConferenceProvidersRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.ListConferenceProvidersResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.ListDeviceEventsRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.ListDeviceEventsResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.ListGatewayGroupsRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.ListGatewayGroupsResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.ListGatewaysRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.ListGatewaysResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.ListSkillsRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.ListSkillsResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.ListSkillsStoreCategoriesRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.ListSkillsStoreCategoriesResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.ListSkillsStoreSkillsByCategoryRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.ListSkillsStoreSkillsByCategoryResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.ListSmartHomeAppliancesRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.ListSmartHomeAppliancesResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.ListTagsRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.ListTagsResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.NameInUseException;
import software.amazon.awssdk.services.alexaforbusiness.model.NotFoundException;
import software.amazon.awssdk.services.alexaforbusiness.model.PutConferencePreferenceRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.PutConferencePreferenceResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.PutInvitationConfigurationRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.PutInvitationConfigurationResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.PutRoomSkillParameterRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.PutRoomSkillParameterResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.PutSkillAuthorizationRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.PutSkillAuthorizationResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.RegisterAvsDeviceRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.RegisterAvsDeviceResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.RejectSkillRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.RejectSkillResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.ResolveRoomRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.ResolveRoomResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.ResourceAssociatedException;
import software.amazon.awssdk.services.alexaforbusiness.model.ResourceInUseException;
import software.amazon.awssdk.services.alexaforbusiness.model.RevokeInvitationRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.RevokeInvitationResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.SearchAddressBooksRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.SearchAddressBooksResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.SearchContactsRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.SearchContactsResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.SearchDevicesRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.SearchDevicesResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.SearchNetworkProfilesRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.SearchNetworkProfilesResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.SearchProfilesRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.SearchProfilesResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.SearchRoomsRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.SearchRoomsResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.SearchSkillGroupsRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.SearchSkillGroupsResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.SearchUsersRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.SearchUsersResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.SendAnnouncementRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.SendAnnouncementResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.SendInvitationRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.SendInvitationResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.SkillNotLinkedException;
import software.amazon.awssdk.services.alexaforbusiness.model.StartDeviceSyncRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.StartDeviceSyncResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.StartSmartHomeApplianceDiscoveryRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.StartSmartHomeApplianceDiscoveryResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.TagResourceRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.TagResourceResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.UnauthorizedException;
import software.amazon.awssdk.services.alexaforbusiness.model.UntagResourceRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.UntagResourceResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.UpdateAddressBookRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.UpdateAddressBookResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.UpdateBusinessReportScheduleRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.UpdateBusinessReportScheduleResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.UpdateConferenceProviderRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.UpdateConferenceProviderResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.UpdateContactRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.UpdateContactResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.UpdateDeviceRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.UpdateDeviceResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.UpdateGatewayGroupRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.UpdateGatewayGroupResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.UpdateGatewayRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.UpdateGatewayResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.UpdateNetworkProfileRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.UpdateNetworkProfileResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.UpdateProfileRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.UpdateProfileResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.UpdateRoomRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.UpdateRoomResponse;
import software.amazon.awssdk.services.alexaforbusiness.model.UpdateSkillGroupRequest;
import software.amazon.awssdk.services.alexaforbusiness.model.UpdateSkillGroupResponse;
import software.amazon.awssdk.services.alexaforbusiness.paginators.ListBusinessReportSchedulesIterable;
import software.amazon.awssdk.services.alexaforbusiness.paginators.ListConferenceProvidersIterable;
import software.amazon.awssdk.services.alexaforbusiness.paginators.ListDeviceEventsIterable;
import software.amazon.awssdk.services.alexaforbusiness.paginators.ListGatewayGroupsIterable;
import software.amazon.awssdk.services.alexaforbusiness.paginators.ListGatewaysIterable;
import software.amazon.awssdk.services.alexaforbusiness.paginators.ListSkillsIterable;
import software.amazon.awssdk.services.alexaforbusiness.paginators.ListSkillsStoreCategoriesIterable;
import software.amazon.awssdk.services.alexaforbusiness.paginators.ListSkillsStoreSkillsByCategoryIterable;
import software.amazon.awssdk.services.alexaforbusiness.paginators.ListSmartHomeAppliancesIterable;
import software.amazon.awssdk.services.alexaforbusiness.paginators.ListTagsIterable;
import software.amazon.awssdk.services.alexaforbusiness.paginators.SearchAddressBooksIterable;
import software.amazon.awssdk.services.alexaforbusiness.paginators.SearchContactsIterable;
import software.amazon.awssdk.services.alexaforbusiness.paginators.SearchDevicesIterable;
import software.amazon.awssdk.services.alexaforbusiness.paginators.SearchNetworkProfilesIterable;
import software.amazon.awssdk.services.alexaforbusiness.paginators.SearchProfilesIterable;
import software.amazon.awssdk.services.alexaforbusiness.paginators.SearchRoomsIterable;
import software.amazon.awssdk.services.alexaforbusiness.paginators.SearchSkillGroupsIterable;
import software.amazon.awssdk.services.alexaforbusiness.paginators.SearchUsersIterable;
import software.amazon.awssdk.services.alexaforbusiness.transform.ApproveSkillRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.AssociateContactWithAddressBookRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.AssociateDeviceWithNetworkProfileRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.AssociateDeviceWithRoomRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.AssociateSkillGroupWithRoomRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.AssociateSkillWithSkillGroupRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.AssociateSkillWithUsersRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.CreateAddressBookRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.CreateBusinessReportScheduleRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.CreateConferenceProviderRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.CreateContactRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.CreateGatewayGroupRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.CreateNetworkProfileRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.CreateProfileRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.CreateRoomRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.CreateSkillGroupRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.CreateUserRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.DeleteAddressBookRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.DeleteBusinessReportScheduleRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.DeleteConferenceProviderRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.DeleteContactRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.DeleteDeviceRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.DeleteDeviceUsageDataRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.DeleteGatewayGroupRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.DeleteNetworkProfileRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.DeleteProfileRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.DeleteRoomRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.DeleteRoomSkillParameterRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.DeleteSkillAuthorizationRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.DeleteSkillGroupRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.DeleteUserRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.DisassociateContactFromAddressBookRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.DisassociateDeviceFromRoomRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.DisassociateSkillFromSkillGroupRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.DisassociateSkillFromUsersRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.DisassociateSkillGroupFromRoomRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.ForgetSmartHomeAppliancesRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.GetAddressBookRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.GetConferencePreferenceRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.GetConferenceProviderRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.GetContactRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.GetDeviceRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.GetGatewayGroupRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.GetGatewayRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.GetInvitationConfigurationRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.GetNetworkProfileRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.GetProfileRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.GetRoomRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.GetRoomSkillParameterRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.GetSkillGroupRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.ListBusinessReportSchedulesRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.ListConferenceProvidersRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.ListDeviceEventsRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.ListGatewayGroupsRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.ListGatewaysRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.ListSkillsRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.ListSkillsStoreCategoriesRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.ListSkillsStoreSkillsByCategoryRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.ListSmartHomeAppliancesRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.ListTagsRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.PutConferencePreferenceRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.PutInvitationConfigurationRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.PutRoomSkillParameterRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.PutSkillAuthorizationRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.RegisterAvsDeviceRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.RejectSkillRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.ResolveRoomRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.RevokeInvitationRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.SearchAddressBooksRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.SearchContactsRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.SearchDevicesRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.SearchNetworkProfilesRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.SearchProfilesRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.SearchRoomsRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.SearchSkillGroupsRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.SearchUsersRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.SendAnnouncementRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.SendInvitationRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.StartDeviceSyncRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.StartSmartHomeApplianceDiscoveryRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.TagResourceRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.UntagResourceRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.UpdateAddressBookRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.UpdateBusinessReportScheduleRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.UpdateConferenceProviderRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.UpdateContactRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.UpdateDeviceRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.UpdateGatewayGroupRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.UpdateGatewayRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.UpdateNetworkProfileRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.UpdateProfileRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.UpdateRoomRequestMarshaller;
import software.amazon.awssdk.services.alexaforbusiness.transform.UpdateSkillGroupRequestMarshaller;
import software.amazon.awssdk.utils.Logger;

/**
 * Internal implementation of {@link AlexaForBusinessClient}.
 *
 * @see AlexaForBusinessClient#builder()
 */
@Generated("software.amazon.awssdk:codegen")
@SdkInternalApi
final class DefaultAlexaForBusinessClient implements AlexaForBusinessClient {
    private static final Logger log = Logger.loggerFor(DefaultAlexaForBusinessClient.class);

    private final SyncClientHandler clientHandler;

    private final AwsJsonProtocolFactory protocolFactory;

    private final SdkClientConfiguration clientConfiguration;

    protected DefaultAlexaForBusinessClient(SdkClientConfiguration clientConfiguration) {
        this.clientHandler = new AwsSyncClientHandler(clientConfiguration);
        this.clientConfiguration = clientConfiguration;
        this.protocolFactory = init(AwsJsonProtocolFactory.builder()).build();
    }

    @Override
    public final String serviceName() {
        return SERVICE_NAME;
    }

    /**
     * 

* Associates a skill with the organization under the customer's AWS account. If a skill is private, the user * implicitly accepts access to this skill during enablement. *

* * @param approveSkillRequest * @return Result of the ApproveSkill operation returned by the service. * @throws LimitExceededException * You are performing an action that would put you beyond your account's limits. * @throws NotFoundException * The resource is not found. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.ApproveSkill * @see AWS * API Documentation */ @Override public ApproveSkillResponse approveSkill(ApproveSkillRequest approveSkillRequest) throws LimitExceededException, NotFoundException, ConcurrentModificationException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ApproveSkillResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, approveSkillRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ApproveSkill"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ApproveSkill").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(approveSkillRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ApproveSkillRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Associates a contact with a given address book. *

* * @param associateContactWithAddressBookRequest * @return Result of the AssociateContactWithAddressBook operation returned by the service. * @throws LimitExceededException * You are performing an action that would put you beyond your account's limits. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.AssociateContactWithAddressBook * @see AWS API Documentation */ @Override public AssociateContactWithAddressBookResponse associateContactWithAddressBook( AssociateContactWithAddressBookRequest associateContactWithAddressBookRequest) throws LimitExceededException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, AssociateContactWithAddressBookResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, associateContactWithAddressBookRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AssociateContactWithAddressBook"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("AssociateContactWithAddressBook").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(associateContactWithAddressBookRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new AssociateContactWithAddressBookRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Associates a device with the specified network profile. *

* * @param associateDeviceWithNetworkProfileRequest * @return Result of the AssociateDeviceWithNetworkProfile operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws DeviceNotRegisteredException * The request failed because this device is no longer registered and therefore no longer managed by this * account. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.AssociateDeviceWithNetworkProfile * @see AWS API Documentation */ @Override public AssociateDeviceWithNetworkProfileResponse associateDeviceWithNetworkProfile( AssociateDeviceWithNetworkProfileRequest associateDeviceWithNetworkProfileRequest) throws NotFoundException, ConcurrentModificationException, DeviceNotRegisteredException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, AssociateDeviceWithNetworkProfileResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, associateDeviceWithNetworkProfileRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AssociateDeviceWithNetworkProfile"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("AssociateDeviceWithNetworkProfile").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(associateDeviceWithNetworkProfileRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new AssociateDeviceWithNetworkProfileRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Associates a device with a given room. This applies all the settings from the room profile to the device, and all * the skills in any skill groups added to that room. This operation requires the device to be online, or else a * manual sync is required. *

* * @param associateDeviceWithRoomRequest * @return Result of the AssociateDeviceWithRoom operation returned by the service. * @throws LimitExceededException * You are performing an action that would put you beyond your account's limits. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws DeviceNotRegisteredException * The request failed because this device is no longer registered and therefore no longer managed by this * account. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.AssociateDeviceWithRoom * @see AWS API Documentation */ @Override public AssociateDeviceWithRoomResponse associateDeviceWithRoom(AssociateDeviceWithRoomRequest associateDeviceWithRoomRequest) throws LimitExceededException, ConcurrentModificationException, DeviceNotRegisteredException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, AssociateDeviceWithRoomResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, associateDeviceWithRoomRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AssociateDeviceWithRoom"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("AssociateDeviceWithRoom").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(associateDeviceWithRoomRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new AssociateDeviceWithRoomRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Associates a skill group with a given room. This enables all skills in the associated skill group on all devices * in the room. *

* * @param associateSkillGroupWithRoomRequest * @return Result of the AssociateSkillGroupWithRoom operation returned by the service. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.AssociateSkillGroupWithRoom * @see AWS API Documentation */ @Override public AssociateSkillGroupWithRoomResponse associateSkillGroupWithRoom( AssociateSkillGroupWithRoomRequest associateSkillGroupWithRoomRequest) throws ConcurrentModificationException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, AssociateSkillGroupWithRoomResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, associateSkillGroupWithRoomRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AssociateSkillGroupWithRoom"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("AssociateSkillGroupWithRoom").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(associateSkillGroupWithRoomRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new AssociateSkillGroupWithRoomRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Associates a skill with a skill group. *

* * @param associateSkillWithSkillGroupRequest * @return Result of the AssociateSkillWithSkillGroup operation returned by the service. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws NotFoundException * The resource is not found. * @throws SkillNotLinkedException * The skill must be linked to a third-party account. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.AssociateSkillWithSkillGroup * @see AWS API Documentation */ @Override public AssociateSkillWithSkillGroupResponse associateSkillWithSkillGroup( AssociateSkillWithSkillGroupRequest associateSkillWithSkillGroupRequest) throws ConcurrentModificationException, NotFoundException, SkillNotLinkedException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, AssociateSkillWithSkillGroupResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, associateSkillWithSkillGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AssociateSkillWithSkillGroup"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("AssociateSkillWithSkillGroup").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(associateSkillWithSkillGroupRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new AssociateSkillWithSkillGroupRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Makes a private skill available for enrolled users to enable on their devices. *

* * @param associateSkillWithUsersRequest * @return Result of the AssociateSkillWithUsers operation returned by the service. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws NotFoundException * The resource is not found. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.AssociateSkillWithUsers * @see AWS API Documentation */ @Override public AssociateSkillWithUsersResponse associateSkillWithUsers(AssociateSkillWithUsersRequest associateSkillWithUsersRequest) throws ConcurrentModificationException, NotFoundException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, AssociateSkillWithUsersResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, associateSkillWithUsersRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AssociateSkillWithUsers"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("AssociateSkillWithUsers").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(associateSkillWithUsersRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new AssociateSkillWithUsersRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Creates an address book with the specified details. *

* * @param createAddressBookRequest * @return Result of the CreateAddressBook operation returned by the service. * @throws AlreadyExistsException * The resource being created already exists. * @throws LimitExceededException * You are performing an action that would put you beyond your account's limits. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.CreateAddressBook * @see AWS API Documentation */ @Override public CreateAddressBookResponse createAddressBook(CreateAddressBookRequest createAddressBookRequest) throws AlreadyExistsException, LimitExceededException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreateAddressBookResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, createAddressBookRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateAddressBook"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateAddressBook").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(createAddressBookRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateAddressBookRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Creates a recurring schedule for usage reports to deliver to the specified S3 location with a specified daily or * weekly interval. *

* * @param createBusinessReportScheduleRequest * @return Result of the CreateBusinessReportSchedule operation returned by the service. * @throws AlreadyExistsException * The resource being created already exists. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.CreateBusinessReportSchedule * @see AWS API Documentation */ @Override public CreateBusinessReportScheduleResponse createBusinessReportSchedule( CreateBusinessReportScheduleRequest createBusinessReportScheduleRequest) throws AlreadyExistsException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateBusinessReportScheduleResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, createBusinessReportScheduleRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateBusinessReportSchedule"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateBusinessReportSchedule").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(createBusinessReportScheduleRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateBusinessReportScheduleRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Adds a new conference provider under the user's AWS account. *

* * @param createConferenceProviderRequest * @return Result of the CreateConferenceProvider operation returned by the service. * @throws AlreadyExistsException * The resource being created already exists. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.CreateConferenceProvider * @see AWS API Documentation */ @Override public CreateConferenceProviderResponse createConferenceProvider( CreateConferenceProviderRequest createConferenceProviderRequest) throws AlreadyExistsException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateConferenceProviderResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, createConferenceProviderRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateConferenceProvider"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateConferenceProvider").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(createConferenceProviderRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateConferenceProviderRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Creates a contact with the specified details. *

* * @param createContactRequest * @return Result of the CreateContact operation returned by the service. * @throws AlreadyExistsException * The resource being created already exists. * @throws LimitExceededException * You are performing an action that would put you beyond your account's limits. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.CreateContact * @see AWS API Documentation */ @Override public CreateContactResponse createContact(CreateContactRequest createContactRequest) throws AlreadyExistsException, LimitExceededException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreateContactResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, createContactRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateContact"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateContact").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(createContactRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateContactRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Creates a gateway group with the specified details. *

* * @param createGatewayGroupRequest * @return Result of the CreateGatewayGroup operation returned by the service. * @throws AlreadyExistsException * The resource being created already exists. * @throws LimitExceededException * You are performing an action that would put you beyond your account's limits. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.CreateGatewayGroup * @see AWS API Documentation */ @Override public CreateGatewayGroupResponse createGatewayGroup(CreateGatewayGroupRequest createGatewayGroupRequest) throws AlreadyExistsException, LimitExceededException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateGatewayGroupResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, createGatewayGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateGatewayGroup"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateGatewayGroup").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(createGatewayGroupRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateGatewayGroupRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Creates a network profile with the specified details. *

* * @param createNetworkProfileRequest * @return Result of the CreateNetworkProfile operation returned by the service. * @throws AlreadyExistsException * The resource being created already exists. * @throws LimitExceededException * You are performing an action that would put you beyond your account's limits. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws InvalidCertificateAuthorityException * The Certificate Authority can't issue or revoke a certificate. * @throws InvalidServiceLinkedRoleStateException * The service linked role is locked for deletion. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.CreateNetworkProfile * @see AWS API Documentation */ @Override public CreateNetworkProfileResponse createNetworkProfile(CreateNetworkProfileRequest createNetworkProfileRequest) throws AlreadyExistsException, LimitExceededException, ConcurrentModificationException, InvalidCertificateAuthorityException, InvalidServiceLinkedRoleStateException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateNetworkProfileResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, createNetworkProfileRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateNetworkProfile"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateNetworkProfile").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(createNetworkProfileRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateNetworkProfileRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Creates a new room profile with the specified details. *

* * @param createProfileRequest * @return Result of the CreateProfile operation returned by the service. * @throws LimitExceededException * You are performing an action that would put you beyond your account's limits. * @throws AlreadyExistsException * The resource being created already exists. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.CreateProfile * @see AWS API Documentation */ @Override public CreateProfileResponse createProfile(CreateProfileRequest createProfileRequest) throws LimitExceededException, AlreadyExistsException, ConcurrentModificationException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreateProfileResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, createProfileRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateProfile"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateProfile").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(createProfileRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateProfileRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Creates a room with the specified details. *

* * @param createRoomRequest * @return Result of the CreateRoom operation returned by the service. * @throws AlreadyExistsException * The resource being created already exists. * @throws LimitExceededException * You are performing an action that would put you beyond your account's limits. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.CreateRoom * @see AWS * API Documentation */ @Override public CreateRoomResponse createRoom(CreateRoomRequest createRoomRequest) throws AlreadyExistsException, LimitExceededException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreateRoomResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, createRoomRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateRoom"); return clientHandler .execute(new ClientExecutionParams().withOperationName("CreateRoom") .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(createRoomRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateRoomRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Creates a skill group with a specified name and description. *

* * @param createSkillGroupRequest * @return Result of the CreateSkillGroup operation returned by the service. * @throws AlreadyExistsException * The resource being created already exists. * @throws LimitExceededException * You are performing an action that would put you beyond your account's limits. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.CreateSkillGroup * @see AWS API Documentation */ @Override public CreateSkillGroupResponse createSkillGroup(CreateSkillGroupRequest createSkillGroupRequest) throws AlreadyExistsException, LimitExceededException, ConcurrentModificationException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreateSkillGroupResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, createSkillGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateSkillGroup"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateSkillGroup").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(createSkillGroupRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateSkillGroupRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Creates a user. *

* * @param createUserRequest * @return Result of the CreateUser operation returned by the service. * @throws ResourceInUseException * The resource in the request is already in use. * @throws LimitExceededException * You are performing an action that would put you beyond your account's limits. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.CreateUser * @see AWS * API Documentation */ @Override public CreateUserResponse createUser(CreateUserRequest createUserRequest) throws ResourceInUseException, LimitExceededException, ConcurrentModificationException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreateUserResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, createUserRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateUser"); return clientHandler .execute(new ClientExecutionParams().withOperationName("CreateUser") .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(createUserRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateUserRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Deletes an address book by the address book ARN. *

* * @param deleteAddressBookRequest * @return Result of the DeleteAddressBook operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.DeleteAddressBook * @see AWS API Documentation */ @Override public DeleteAddressBookResponse deleteAddressBook(DeleteAddressBookRequest deleteAddressBookRequest) throws NotFoundException, ConcurrentModificationException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteAddressBookResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteAddressBookRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteAddressBook"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteAddressBook").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(deleteAddressBookRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteAddressBookRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Deletes the recurring report delivery schedule with the specified schedule ARN. *

* * @param deleteBusinessReportScheduleRequest * @return Result of the DeleteBusinessReportSchedule operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.DeleteBusinessReportSchedule * @see AWS API Documentation */ @Override public DeleteBusinessReportScheduleResponse deleteBusinessReportSchedule( DeleteBusinessReportScheduleRequest deleteBusinessReportScheduleRequest) throws NotFoundException, ConcurrentModificationException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteBusinessReportScheduleResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteBusinessReportScheduleRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteBusinessReportSchedule"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteBusinessReportSchedule").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(deleteBusinessReportScheduleRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteBusinessReportScheduleRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Deletes a conference provider. *

* * @param deleteConferenceProviderRequest * @return Result of the DeleteConferenceProvider operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.DeleteConferenceProvider * @see AWS API Documentation */ @Override public DeleteConferenceProviderResponse deleteConferenceProvider( DeleteConferenceProviderRequest deleteConferenceProviderRequest) throws NotFoundException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteConferenceProviderResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteConferenceProviderRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteConferenceProvider"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteConferenceProvider").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(deleteConferenceProviderRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteConferenceProviderRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Deletes a contact by the contact ARN. *

* * @param deleteContactRequest * @return Result of the DeleteContact operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.DeleteContact * @see AWS API Documentation */ @Override public DeleteContactResponse deleteContact(DeleteContactRequest deleteContactRequest) throws NotFoundException, ConcurrentModificationException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteContactResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteContactRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteContact"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteContact").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(deleteContactRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteContactRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Removes a device from Alexa For Business. *

* * @param deleteDeviceRequest * @return Result of the DeleteDevice operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws InvalidCertificateAuthorityException * The Certificate Authority can't issue or revoke a certificate. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.DeleteDevice * @see AWS * API Documentation */ @Override public DeleteDeviceResponse deleteDevice(DeleteDeviceRequest deleteDeviceRequest) throws NotFoundException, ConcurrentModificationException, InvalidCertificateAuthorityException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteDeviceResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteDeviceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteDevice"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteDevice").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(deleteDeviceRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteDeviceRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* When this action is called for a specified shared device, it allows authorized users to delete the device's * entire previous history of voice input data and associated response data. This action can be called once every 24 * hours for a specific shared device. *

* * @param deleteDeviceUsageDataRequest * @return Result of the DeleteDeviceUsageData operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws DeviceNotRegisteredException * The request failed because this device is no longer registered and therefore no longer managed by this * account. * @throws LimitExceededException * You are performing an action that would put you beyond your account's limits. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.DeleteDeviceUsageData * @see AWS API Documentation */ @Override public DeleteDeviceUsageDataResponse deleteDeviceUsageData(DeleteDeviceUsageDataRequest deleteDeviceUsageDataRequest) throws NotFoundException, DeviceNotRegisteredException, LimitExceededException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteDeviceUsageDataResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteDeviceUsageDataRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteDeviceUsageData"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteDeviceUsageData").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(deleteDeviceUsageDataRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteDeviceUsageDataRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Deletes a gateway group. *

* * @param deleteGatewayGroupRequest * @return Result of the DeleteGatewayGroup operation returned by the service. * @throws ResourceAssociatedException * Another resource is associated with the resource in the request. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.DeleteGatewayGroup * @see AWS API Documentation */ @Override public DeleteGatewayGroupResponse deleteGatewayGroup(DeleteGatewayGroupRequest deleteGatewayGroupRequest) throws ResourceAssociatedException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteGatewayGroupResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteGatewayGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteGatewayGroup"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteGatewayGroup").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(deleteGatewayGroupRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteGatewayGroupRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Deletes a network profile by the network profile ARN. *

* * @param deleteNetworkProfileRequest * @return Result of the DeleteNetworkProfile operation returned by the service. * @throws ResourceInUseException * The resource in the request is already in use. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws NotFoundException * The resource is not found. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.DeleteNetworkProfile * @see AWS API Documentation */ @Override public DeleteNetworkProfileResponse deleteNetworkProfile(DeleteNetworkProfileRequest deleteNetworkProfileRequest) throws ResourceInUseException, ConcurrentModificationException, NotFoundException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteNetworkProfileResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteNetworkProfileRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteNetworkProfile"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteNetworkProfile").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(deleteNetworkProfileRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteNetworkProfileRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Deletes a room profile by the profile ARN. *

* * @param deleteProfileRequest * @return Result of the DeleteProfile operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.DeleteProfile * @see AWS API Documentation */ @Override public DeleteProfileResponse deleteProfile(DeleteProfileRequest deleteProfileRequest) throws NotFoundException, ConcurrentModificationException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteProfileResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteProfileRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteProfile"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteProfile").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(deleteProfileRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteProfileRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Deletes a room by the room ARN. *

* * @param deleteRoomRequest * @return Result of the DeleteRoom operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.DeleteRoom * @see AWS * API Documentation */ @Override public DeleteRoomResponse deleteRoom(DeleteRoomRequest deleteRoomRequest) throws NotFoundException, ConcurrentModificationException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteRoomResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteRoomRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteRoom"); return clientHandler .execute(new ClientExecutionParams().withOperationName("DeleteRoom") .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(deleteRoomRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteRoomRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Deletes room skill parameter details by room, skill, and parameter key ID. *

* * @param deleteRoomSkillParameterRequest * @return Result of the DeleteRoomSkillParameter operation returned by the service. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.DeleteRoomSkillParameter * @see AWS API Documentation */ @Override public DeleteRoomSkillParameterResponse deleteRoomSkillParameter( DeleteRoomSkillParameterRequest deleteRoomSkillParameterRequest) throws ConcurrentModificationException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteRoomSkillParameterResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteRoomSkillParameterRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteRoomSkillParameter"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteRoomSkillParameter").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(deleteRoomSkillParameterRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteRoomSkillParameterRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Unlinks a third-party account from a skill. *

* * @param deleteSkillAuthorizationRequest * @return Result of the DeleteSkillAuthorization operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.DeleteSkillAuthorization * @see AWS API Documentation */ @Override public DeleteSkillAuthorizationResponse deleteSkillAuthorization( DeleteSkillAuthorizationRequest deleteSkillAuthorizationRequest) throws NotFoundException, ConcurrentModificationException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteSkillAuthorizationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteSkillAuthorizationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteSkillAuthorization"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteSkillAuthorization").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(deleteSkillAuthorizationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteSkillAuthorizationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Deletes a skill group by skill group ARN. *

* * @param deleteSkillGroupRequest * @return Result of the DeleteSkillGroup operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.DeleteSkillGroup * @see AWS API Documentation */ @Override public DeleteSkillGroupResponse deleteSkillGroup(DeleteSkillGroupRequest deleteSkillGroupRequest) throws NotFoundException, ConcurrentModificationException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteSkillGroupResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteSkillGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteSkillGroup"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteSkillGroup").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(deleteSkillGroupRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteSkillGroupRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Deletes a specified user by user ARN and enrollment ARN. *

* * @param deleteUserRequest * @return Result of the DeleteUser operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.DeleteUser * @see AWS * API Documentation */ @Override public DeleteUserResponse deleteUser(DeleteUserRequest deleteUserRequest) throws NotFoundException, ConcurrentModificationException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteUserResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteUserRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteUser"); return clientHandler .execute(new ClientExecutionParams().withOperationName("DeleteUser") .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(deleteUserRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteUserRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Disassociates a contact from a given address book. *

* * @param disassociateContactFromAddressBookRequest * @return Result of the DisassociateContactFromAddressBook operation returned by the service. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.DisassociateContactFromAddressBook * @see AWS API Documentation */ @Override public DisassociateContactFromAddressBookResponse disassociateContactFromAddressBook( DisassociateContactFromAddressBookRequest disassociateContactFromAddressBookRequest) throws AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DisassociateContactFromAddressBookResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, disassociateContactFromAddressBookRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DisassociateContactFromAddressBook"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DisassociateContactFromAddressBook").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(disassociateContactFromAddressBookRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DisassociateContactFromAddressBookRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Disassociates a device from its current room. The device continues to be connected to the Wi-Fi network and is * still registered to the account. The device settings and skills are removed from the room. *

* * @param disassociateDeviceFromRoomRequest * @return Result of the DisassociateDeviceFromRoom operation returned by the service. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws DeviceNotRegisteredException * The request failed because this device is no longer registered and therefore no longer managed by this * account. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.DisassociateDeviceFromRoom * @see AWS API Documentation */ @Override public DisassociateDeviceFromRoomResponse disassociateDeviceFromRoom( DisassociateDeviceFromRoomRequest disassociateDeviceFromRoomRequest) throws ConcurrentModificationException, DeviceNotRegisteredException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DisassociateDeviceFromRoomResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, disassociateDeviceFromRoomRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DisassociateDeviceFromRoom"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DisassociateDeviceFromRoom").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(disassociateDeviceFromRoomRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DisassociateDeviceFromRoomRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Disassociates a skill from a skill group. *

* * @param disassociateSkillFromSkillGroupRequest * @return Result of the DisassociateSkillFromSkillGroup operation returned by the service. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws NotFoundException * The resource is not found. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.DisassociateSkillFromSkillGroup * @see AWS API Documentation */ @Override public DisassociateSkillFromSkillGroupResponse disassociateSkillFromSkillGroup( DisassociateSkillFromSkillGroupRequest disassociateSkillFromSkillGroupRequest) throws ConcurrentModificationException, NotFoundException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DisassociateSkillFromSkillGroupResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, disassociateSkillFromSkillGroupRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DisassociateSkillFromSkillGroup"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DisassociateSkillFromSkillGroup").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(disassociateSkillFromSkillGroupRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DisassociateSkillFromSkillGroupRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Makes a private skill unavailable for enrolled users and prevents them from enabling it on their devices. *

* * @param disassociateSkillFromUsersRequest * @return Result of the DisassociateSkillFromUsers operation returned by the service. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws NotFoundException * The resource is not found. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.DisassociateSkillFromUsers * @see AWS API Documentation */ @Override public DisassociateSkillFromUsersResponse disassociateSkillFromUsers( DisassociateSkillFromUsersRequest disassociateSkillFromUsersRequest) throws ConcurrentModificationException, NotFoundException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DisassociateSkillFromUsersResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, disassociateSkillFromUsersRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DisassociateSkillFromUsers"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DisassociateSkillFromUsers").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(disassociateSkillFromUsersRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DisassociateSkillFromUsersRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Disassociates a skill group from a specified room. This disables all skills in the skill group on all devices in * the room. *

* * @param disassociateSkillGroupFromRoomRequest * @return Result of the DisassociateSkillGroupFromRoom operation returned by the service. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.DisassociateSkillGroupFromRoom * @see AWS API Documentation */ @Override public DisassociateSkillGroupFromRoomResponse disassociateSkillGroupFromRoom( DisassociateSkillGroupFromRoomRequest disassociateSkillGroupFromRoomRequest) throws ConcurrentModificationException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DisassociateSkillGroupFromRoomResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, disassociateSkillGroupFromRoomRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DisassociateSkillGroupFromRoom"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DisassociateSkillGroupFromRoom").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(disassociateSkillGroupFromRoomRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DisassociateSkillGroupFromRoomRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Forgets smart home appliances associated to a room. *

* * @param forgetSmartHomeAppliancesRequest * @return Result of the ForgetSmartHomeAppliances operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.ForgetSmartHomeAppliances * @see AWS API Documentation */ @Override public ForgetSmartHomeAppliancesResponse forgetSmartHomeAppliances( ForgetSmartHomeAppliancesRequest forgetSmartHomeAppliancesRequest) throws NotFoundException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ForgetSmartHomeAppliancesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, forgetSmartHomeAppliancesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ForgetSmartHomeAppliances"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ForgetSmartHomeAppliances").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(forgetSmartHomeAppliancesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ForgetSmartHomeAppliancesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Gets address the book details by the address book ARN. *

* * @param getAddressBookRequest * @return Result of the GetAddressBook operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.GetAddressBook * @see AWS API Documentation */ @Override public GetAddressBookResponse getAddressBook(GetAddressBookRequest getAddressBookRequest) throws NotFoundException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetAddressBookResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, getAddressBookRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetAddressBook"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetAddressBook").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getAddressBookRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetAddressBookRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Retrieves the existing conference preferences. *

* * @param getConferencePreferenceRequest * @return Result of the GetConferencePreference operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.GetConferencePreference * @see AWS API Documentation */ @Override public GetConferencePreferenceResponse getConferencePreference(GetConferencePreferenceRequest getConferencePreferenceRequest) throws NotFoundException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetConferencePreferenceResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, getConferencePreferenceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetConferencePreference"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("GetConferencePreference").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getConferencePreferenceRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetConferencePreferenceRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Gets details about a specific conference provider. *

* * @param getConferenceProviderRequest * @return Result of the GetConferenceProvider operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.GetConferenceProvider * @see AWS API Documentation */ @Override public GetConferenceProviderResponse getConferenceProvider(GetConferenceProviderRequest getConferenceProviderRequest) throws NotFoundException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetConferenceProviderResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, getConferenceProviderRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetConferenceProvider"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetConferenceProvider").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getConferenceProviderRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetConferenceProviderRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Gets the contact details by the contact ARN. *

* * @param getContactRequest * @return Result of the GetContact operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.GetContact * @see AWS * API Documentation */ @Override public GetContactResponse getContact(GetContactRequest getContactRequest) throws NotFoundException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetContactResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, getContactRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetContact"); return clientHandler .execute(new ClientExecutionParams().withOperationName("GetContact") .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(getContactRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetContactRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Gets the details of a device by device ARN. *

* * @param getDeviceRequest * @return Result of the GetDevice operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.GetDevice * @see AWS * API Documentation */ @Override public GetDeviceResponse getDevice(GetDeviceRequest getDeviceRequest) throws NotFoundException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetDeviceResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, getDeviceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetDevice"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetDevice").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getDeviceRequest) .withMetricCollector(apiCallMetricCollector).withMarshaller(new GetDeviceRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Retrieves the details of a gateway. *

* * @param getGatewayRequest * @return Result of the GetGateway operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.GetGateway * @see AWS * API Documentation */ @Override public GetGatewayResponse getGateway(GetGatewayRequest getGatewayRequest) throws NotFoundException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetGatewayResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, getGatewayRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetGateway"); return clientHandler .execute(new ClientExecutionParams().withOperationName("GetGateway") .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(getGatewayRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetGatewayRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Retrieves the details of a gateway group. *

* * @param getGatewayGroupRequest * @return Result of the GetGatewayGroup operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.GetGatewayGroup * @see AWS API Documentation */ @Override public GetGatewayGroupResponse getGatewayGroup(GetGatewayGroupRequest getGatewayGroupRequest) throws NotFoundException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetGatewayGroupResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, getGatewayGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetGatewayGroup"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetGatewayGroup").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getGatewayGroupRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetGatewayGroupRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Retrieves the configured values for the user enrollment invitation email template. *

* * @param getInvitationConfigurationRequest * @return Result of the GetInvitationConfiguration operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.GetInvitationConfiguration * @see AWS API Documentation */ @Override public GetInvitationConfigurationResponse getInvitationConfiguration( GetInvitationConfigurationRequest getInvitationConfigurationRequest) throws NotFoundException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetInvitationConfigurationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, getInvitationConfigurationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetInvitationConfiguration"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("GetInvitationConfiguration").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getInvitationConfigurationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetInvitationConfigurationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Gets the network profile details by the network profile ARN. *

* * @param getNetworkProfileRequest * @return Result of the GetNetworkProfile operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws InvalidSecretsManagerResourceException * A password in SecretsManager is in an invalid state. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.GetNetworkProfile * @see AWS API Documentation */ @Override public GetNetworkProfileResponse getNetworkProfile(GetNetworkProfileRequest getNetworkProfileRequest) throws NotFoundException, InvalidSecretsManagerResourceException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetNetworkProfileResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, getNetworkProfileRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetNetworkProfile"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetNetworkProfile").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getNetworkProfileRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetNetworkProfileRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Gets the details of a room profile by profile ARN. *

* * @param getProfileRequest * @return Result of the GetProfile operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.GetProfile * @see AWS * API Documentation */ @Override public GetProfileResponse getProfile(GetProfileRequest getProfileRequest) throws NotFoundException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetProfileResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, getProfileRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetProfile"); return clientHandler .execute(new ClientExecutionParams().withOperationName("GetProfile") .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(getProfileRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetProfileRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Gets room details by room ARN. *

* * @param getRoomRequest * @return Result of the GetRoom operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.GetRoom * @see AWS API * Documentation */ @Override public GetRoomResponse getRoom(GetRoomRequest getRoomRequest) throws NotFoundException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetRoomResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, getRoomRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetRoom"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetRoom").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getRoomRequest) .withMetricCollector(apiCallMetricCollector).withMarshaller(new GetRoomRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Gets room skill parameter details by room, skill, and parameter key ARN. *

* * @param getRoomSkillParameterRequest * @return Result of the GetRoomSkillParameter operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.GetRoomSkillParameter * @see AWS API Documentation */ @Override public GetRoomSkillParameterResponse getRoomSkillParameter(GetRoomSkillParameterRequest getRoomSkillParameterRequest) throws NotFoundException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetRoomSkillParameterResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, getRoomSkillParameterRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetRoomSkillParameter"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetRoomSkillParameter").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getRoomSkillParameterRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetRoomSkillParameterRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Gets skill group details by skill group ARN. *

* * @param getSkillGroupRequest * @return Result of the GetSkillGroup operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.GetSkillGroup * @see AWS API Documentation */ @Override public GetSkillGroupResponse getSkillGroup(GetSkillGroupRequest getSkillGroupRequest) throws NotFoundException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetSkillGroupResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, getSkillGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetSkillGroup"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetSkillGroup").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getSkillGroupRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetSkillGroupRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Lists the details of the schedules that a user configured. A download URL of the report associated with each * schedule is returned every time this action is called. A new download URL is returned each time, and is valid for * 24 hours. *

* * @param listBusinessReportSchedulesRequest * @return Result of the ListBusinessReportSchedules operation returned by the service. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.ListBusinessReportSchedules * @see AWS API Documentation */ @Override public ListBusinessReportSchedulesResponse listBusinessReportSchedules( ListBusinessReportSchedulesRequest listBusinessReportSchedulesRequest) throws AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListBusinessReportSchedulesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, listBusinessReportSchedulesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListBusinessReportSchedules"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListBusinessReportSchedules").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(listBusinessReportSchedulesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListBusinessReportSchedulesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Lists the details of the schedules that a user configured. A download URL of the report associated with each * schedule is returned every time this action is called. A new download URL is returned each time, and is valid for * 24 hours. *

*
*

* This is a variant of * {@link #listBusinessReportSchedules(software.amazon.awssdk.services.alexaforbusiness.model.ListBusinessReportSchedulesRequest)} * operation. The return type is a custom iterable that can be used to iterate through all the pages. SDK will * internally handle making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.ListBusinessReportSchedulesIterable responses = client.listBusinessReportSchedulesPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.alexaforbusiness.paginators.ListBusinessReportSchedulesIterable responses = client
     *             .listBusinessReportSchedulesPaginator(request);
     *     for (software.amazon.awssdk.services.alexaforbusiness.model.ListBusinessReportSchedulesResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.ListBusinessReportSchedulesIterable responses = client.listBusinessReportSchedulesPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Please notice that the configuration of MaxResults won't limit the number of results you get with the * paginator. It only limits the number of results in each page. *

*

* Note: If you prefer to have control on service calls, use the * {@link #listBusinessReportSchedules(software.amazon.awssdk.services.alexaforbusiness.model.ListBusinessReportSchedulesRequest)} * operation. *

* * @param listBusinessReportSchedulesRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.ListBusinessReportSchedules * @see AWS API Documentation */ @Override public ListBusinessReportSchedulesIterable listBusinessReportSchedulesPaginator( ListBusinessReportSchedulesRequest listBusinessReportSchedulesRequest) throws AwsServiceException, SdkClientException, AlexaForBusinessException { return new ListBusinessReportSchedulesIterable(this, applyPaginatorUserAgent(listBusinessReportSchedulesRequest)); } /** *

* Lists conference providers under a specific AWS account. *

* * @param listConferenceProvidersRequest * @return Result of the ListConferenceProviders operation returned by the service. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.ListConferenceProviders * @see AWS API Documentation */ @Override public ListConferenceProvidersResponse listConferenceProviders(ListConferenceProvidersRequest listConferenceProvidersRequest) throws AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListConferenceProvidersResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, listConferenceProvidersRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListConferenceProviders"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListConferenceProviders").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(listConferenceProvidersRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListConferenceProvidersRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Lists conference providers under a specific AWS account. *

*
*

* This is a variant of * {@link #listConferenceProviders(software.amazon.awssdk.services.alexaforbusiness.model.ListConferenceProvidersRequest)} * operation. The return type is a custom iterable that can be used to iterate through all the pages. SDK will * internally handle making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.ListConferenceProvidersIterable responses = client.listConferenceProvidersPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.alexaforbusiness.paginators.ListConferenceProvidersIterable responses = client
     *             .listConferenceProvidersPaginator(request);
     *     for (software.amazon.awssdk.services.alexaforbusiness.model.ListConferenceProvidersResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.ListConferenceProvidersIterable responses = client.listConferenceProvidersPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Please notice that the configuration of MaxResults won't limit the number of results you get with the * paginator. It only limits the number of results in each page. *

*

* Note: If you prefer to have control on service calls, use the * {@link #listConferenceProviders(software.amazon.awssdk.services.alexaforbusiness.model.ListConferenceProvidersRequest)} * operation. *

* * @param listConferenceProvidersRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.ListConferenceProviders * @see AWS API Documentation */ @Override public ListConferenceProvidersIterable listConferenceProvidersPaginator( ListConferenceProvidersRequest listConferenceProvidersRequest) throws AwsServiceException, SdkClientException, AlexaForBusinessException { return new ListConferenceProvidersIterable(this, applyPaginatorUserAgent(listConferenceProvidersRequest)); } /** *

* Lists the device event history, including device connection status, for up to 30 days. *

* * @param listDeviceEventsRequest * @return Result of the ListDeviceEvents operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.ListDeviceEvents * @see AWS API Documentation */ @Override public ListDeviceEventsResponse listDeviceEvents(ListDeviceEventsRequest listDeviceEventsRequest) throws NotFoundException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListDeviceEventsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, listDeviceEventsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListDeviceEvents"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListDeviceEvents").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(listDeviceEventsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListDeviceEventsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Lists the device event history, including device connection status, for up to 30 days. *

*
*

* This is a variant of * {@link #listDeviceEvents(software.amazon.awssdk.services.alexaforbusiness.model.ListDeviceEventsRequest)} * operation. The return type is a custom iterable that can be used to iterate through all the pages. SDK will * internally handle making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.ListDeviceEventsIterable responses = client.listDeviceEventsPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.alexaforbusiness.paginators.ListDeviceEventsIterable responses = client
     *             .listDeviceEventsPaginator(request);
     *     for (software.amazon.awssdk.services.alexaforbusiness.model.ListDeviceEventsResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.ListDeviceEventsIterable responses = client.listDeviceEventsPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Please notice that the configuration of MaxResults won't limit the number of results you get with the * paginator. It only limits the number of results in each page. *

*

* Note: If you prefer to have control on service calls, use the * {@link #listDeviceEvents(software.amazon.awssdk.services.alexaforbusiness.model.ListDeviceEventsRequest)} * operation. *

* * @param listDeviceEventsRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws NotFoundException * The resource is not found. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.ListDeviceEvents * @see AWS API Documentation */ @Override public ListDeviceEventsIterable listDeviceEventsPaginator(ListDeviceEventsRequest listDeviceEventsRequest) throws NotFoundException, AwsServiceException, SdkClientException, AlexaForBusinessException { return new ListDeviceEventsIterable(this, applyPaginatorUserAgent(listDeviceEventsRequest)); } /** *

* Retrieves a list of gateway group summaries. Use GetGatewayGroup to retrieve details of a specific gateway group. *

* * @param listGatewayGroupsRequest * @return Result of the ListGatewayGroups operation returned by the service. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.ListGatewayGroups * @see AWS API Documentation */ @Override public ListGatewayGroupsResponse listGatewayGroups(ListGatewayGroupsRequest listGatewayGroupsRequest) throws AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListGatewayGroupsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, listGatewayGroupsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListGatewayGroups"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListGatewayGroups").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(listGatewayGroupsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListGatewayGroupsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Retrieves a list of gateway group summaries. Use GetGatewayGroup to retrieve details of a specific gateway group. *

*
*

* This is a variant of * {@link #listGatewayGroups(software.amazon.awssdk.services.alexaforbusiness.model.ListGatewayGroupsRequest)} * operation. The return type is a custom iterable that can be used to iterate through all the pages. SDK will * internally handle making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.ListGatewayGroupsIterable responses = client.listGatewayGroupsPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.alexaforbusiness.paginators.ListGatewayGroupsIterable responses = client
     *             .listGatewayGroupsPaginator(request);
     *     for (software.amazon.awssdk.services.alexaforbusiness.model.ListGatewayGroupsResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.ListGatewayGroupsIterable responses = client.listGatewayGroupsPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Please notice that the configuration of MaxResults won't limit the number of results you get with the * paginator. It only limits the number of results in each page. *

*

* Note: If you prefer to have control on service calls, use the * {@link #listGatewayGroups(software.amazon.awssdk.services.alexaforbusiness.model.ListGatewayGroupsRequest)} * operation. *

* * @param listGatewayGroupsRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.ListGatewayGroups * @see AWS API Documentation */ @Override public ListGatewayGroupsIterable listGatewayGroupsPaginator(ListGatewayGroupsRequest listGatewayGroupsRequest) throws AwsServiceException, SdkClientException, AlexaForBusinessException { return new ListGatewayGroupsIterable(this, applyPaginatorUserAgent(listGatewayGroupsRequest)); } /** *

* Retrieves a list of gateway summaries. Use GetGateway to retrieve details of a specific gateway. An optional * gateway group ARN can be provided to only retrieve gateway summaries of gateways that are associated with that * gateway group ARN. *

* * @param listGatewaysRequest * @return Result of the ListGateways operation returned by the service. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.ListGateways * @see AWS * API Documentation */ @Override public ListGatewaysResponse listGateways(ListGatewaysRequest listGatewaysRequest) throws AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListGatewaysResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, listGatewaysRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListGateways"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListGateways").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(listGatewaysRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListGatewaysRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Retrieves a list of gateway summaries. Use GetGateway to retrieve details of a specific gateway. An optional * gateway group ARN can be provided to only retrieve gateway summaries of gateways that are associated with that * gateway group ARN. *

*
*

* This is a variant of * {@link #listGateways(software.amazon.awssdk.services.alexaforbusiness.model.ListGatewaysRequest)} operation. The * return type is a custom iterable that can be used to iterate through all the pages. SDK will internally handle * making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.ListGatewaysIterable responses = client.listGatewaysPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.alexaforbusiness.paginators.ListGatewaysIterable responses = client
     *             .listGatewaysPaginator(request);
     *     for (software.amazon.awssdk.services.alexaforbusiness.model.ListGatewaysResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.ListGatewaysIterable responses = client.listGatewaysPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Please notice that the configuration of MaxResults won't limit the number of results you get with the * paginator. It only limits the number of results in each page. *

*

* Note: If you prefer to have control on service calls, use the * {@link #listGateways(software.amazon.awssdk.services.alexaforbusiness.model.ListGatewaysRequest)} operation. *

* * @param listGatewaysRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.ListGateways * @see AWS * API Documentation */ @Override public ListGatewaysIterable listGatewaysPaginator(ListGatewaysRequest listGatewaysRequest) throws AwsServiceException, SdkClientException, AlexaForBusinessException { return new ListGatewaysIterable(this, applyPaginatorUserAgent(listGatewaysRequest)); } /** *

* Lists all enabled skills in a specific skill group. *

* * @param listSkillsRequest * @return Result of the ListSkills operation returned by the service. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.ListSkills * @see AWS * API Documentation */ @Override public ListSkillsResponse listSkills(ListSkillsRequest listSkillsRequest) throws AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListSkillsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, listSkillsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListSkills"); return clientHandler .execute(new ClientExecutionParams().withOperationName("ListSkills") .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(listSkillsRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListSkillsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Lists all enabled skills in a specific skill group. *

*
*

* This is a variant of * {@link #listSkills(software.amazon.awssdk.services.alexaforbusiness.model.ListSkillsRequest)} operation. The * return type is a custom iterable that can be used to iterate through all the pages. SDK will internally handle * making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.ListSkillsIterable responses = client.listSkillsPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.alexaforbusiness.paginators.ListSkillsIterable responses = client
     *             .listSkillsPaginator(request);
     *     for (software.amazon.awssdk.services.alexaforbusiness.model.ListSkillsResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.ListSkillsIterable responses = client.listSkillsPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Please notice that the configuration of MaxResults won't limit the number of results you get with the * paginator. It only limits the number of results in each page. *

*

* Note: If you prefer to have control on service calls, use the * {@link #listSkills(software.amazon.awssdk.services.alexaforbusiness.model.ListSkillsRequest)} operation. *

* * @param listSkillsRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.ListSkills * @see AWS * API Documentation */ @Override public ListSkillsIterable listSkillsPaginator(ListSkillsRequest listSkillsRequest) throws AwsServiceException, SdkClientException, AlexaForBusinessException { return new ListSkillsIterable(this, applyPaginatorUserAgent(listSkillsRequest)); } /** *

* Lists all categories in the Alexa skill store. *

* * @param listSkillsStoreCategoriesRequest * @return Result of the ListSkillsStoreCategories operation returned by the service. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.ListSkillsStoreCategories * @see AWS API Documentation */ @Override public ListSkillsStoreCategoriesResponse listSkillsStoreCategories( ListSkillsStoreCategoriesRequest listSkillsStoreCategoriesRequest) throws AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListSkillsStoreCategoriesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, listSkillsStoreCategoriesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListSkillsStoreCategories"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListSkillsStoreCategories").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(listSkillsStoreCategoriesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListSkillsStoreCategoriesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Lists all categories in the Alexa skill store. *

*
*

* This is a variant of * {@link #listSkillsStoreCategories(software.amazon.awssdk.services.alexaforbusiness.model.ListSkillsStoreCategoriesRequest)} * operation. The return type is a custom iterable that can be used to iterate through all the pages. SDK will * internally handle making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.ListSkillsStoreCategoriesIterable responses = client.listSkillsStoreCategoriesPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.alexaforbusiness.paginators.ListSkillsStoreCategoriesIterable responses = client
     *             .listSkillsStoreCategoriesPaginator(request);
     *     for (software.amazon.awssdk.services.alexaforbusiness.model.ListSkillsStoreCategoriesResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.ListSkillsStoreCategoriesIterable responses = client.listSkillsStoreCategoriesPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Please notice that the configuration of MaxResults won't limit the number of results you get with the * paginator. It only limits the number of results in each page. *

*

* Note: If you prefer to have control on service calls, use the * {@link #listSkillsStoreCategories(software.amazon.awssdk.services.alexaforbusiness.model.ListSkillsStoreCategoriesRequest)} * operation. *

* * @param listSkillsStoreCategoriesRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.ListSkillsStoreCategories * @see AWS API Documentation */ @Override public ListSkillsStoreCategoriesIterable listSkillsStoreCategoriesPaginator( ListSkillsStoreCategoriesRequest listSkillsStoreCategoriesRequest) throws AwsServiceException, SdkClientException, AlexaForBusinessException { return new ListSkillsStoreCategoriesIterable(this, applyPaginatorUserAgent(listSkillsStoreCategoriesRequest)); } /** *

* Lists all skills in the Alexa skill store by category. *

* * @param listSkillsStoreSkillsByCategoryRequest * @return Result of the ListSkillsStoreSkillsByCategory operation returned by the service. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.ListSkillsStoreSkillsByCategory * @see AWS API Documentation */ @Override public ListSkillsStoreSkillsByCategoryResponse listSkillsStoreSkillsByCategory( ListSkillsStoreSkillsByCategoryRequest listSkillsStoreSkillsByCategoryRequest) throws AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListSkillsStoreSkillsByCategoryResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, listSkillsStoreSkillsByCategoryRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListSkillsStoreSkillsByCategory"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListSkillsStoreSkillsByCategory").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(listSkillsStoreSkillsByCategoryRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListSkillsStoreSkillsByCategoryRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Lists all skills in the Alexa skill store by category. *

*
*

* This is a variant of * {@link #listSkillsStoreSkillsByCategory(software.amazon.awssdk.services.alexaforbusiness.model.ListSkillsStoreSkillsByCategoryRequest)} * operation. The return type is a custom iterable that can be used to iterate through all the pages. SDK will * internally handle making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.ListSkillsStoreSkillsByCategoryIterable responses = client.listSkillsStoreSkillsByCategoryPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.alexaforbusiness.paginators.ListSkillsStoreSkillsByCategoryIterable responses = client
     *             .listSkillsStoreSkillsByCategoryPaginator(request);
     *     for (software.amazon.awssdk.services.alexaforbusiness.model.ListSkillsStoreSkillsByCategoryResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.ListSkillsStoreSkillsByCategoryIterable responses = client.listSkillsStoreSkillsByCategoryPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Please notice that the configuration of MaxResults won't limit the number of results you get with the * paginator. It only limits the number of results in each page. *

*

* Note: If you prefer to have control on service calls, use the * {@link #listSkillsStoreSkillsByCategory(software.amazon.awssdk.services.alexaforbusiness.model.ListSkillsStoreSkillsByCategoryRequest)} * operation. *

* * @param listSkillsStoreSkillsByCategoryRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.ListSkillsStoreSkillsByCategory * @see AWS API Documentation */ @Override public ListSkillsStoreSkillsByCategoryIterable listSkillsStoreSkillsByCategoryPaginator( ListSkillsStoreSkillsByCategoryRequest listSkillsStoreSkillsByCategoryRequest) throws AwsServiceException, SdkClientException, AlexaForBusinessException { return new ListSkillsStoreSkillsByCategoryIterable(this, applyPaginatorUserAgent(listSkillsStoreSkillsByCategoryRequest)); } /** *

* Lists all of the smart home appliances associated with a room. *

* * @param listSmartHomeAppliancesRequest * @return Result of the ListSmartHomeAppliances operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.ListSmartHomeAppliances * @see AWS API Documentation */ @Override public ListSmartHomeAppliancesResponse listSmartHomeAppliances(ListSmartHomeAppliancesRequest listSmartHomeAppliancesRequest) throws NotFoundException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListSmartHomeAppliancesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, listSmartHomeAppliancesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListSmartHomeAppliances"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListSmartHomeAppliances").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(listSmartHomeAppliancesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListSmartHomeAppliancesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Lists all of the smart home appliances associated with a room. *

*
*

* This is a variant of * {@link #listSmartHomeAppliances(software.amazon.awssdk.services.alexaforbusiness.model.ListSmartHomeAppliancesRequest)} * operation. The return type is a custom iterable that can be used to iterate through all the pages. SDK will * internally handle making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.ListSmartHomeAppliancesIterable responses = client.listSmartHomeAppliancesPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.alexaforbusiness.paginators.ListSmartHomeAppliancesIterable responses = client
     *             .listSmartHomeAppliancesPaginator(request);
     *     for (software.amazon.awssdk.services.alexaforbusiness.model.ListSmartHomeAppliancesResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.ListSmartHomeAppliancesIterable responses = client.listSmartHomeAppliancesPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Please notice that the configuration of MaxResults won't limit the number of results you get with the * paginator. It only limits the number of results in each page. *

*

* Note: If you prefer to have control on service calls, use the * {@link #listSmartHomeAppliances(software.amazon.awssdk.services.alexaforbusiness.model.ListSmartHomeAppliancesRequest)} * operation. *

* * @param listSmartHomeAppliancesRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws NotFoundException * The resource is not found. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.ListSmartHomeAppliances * @see AWS API Documentation */ @Override public ListSmartHomeAppliancesIterable listSmartHomeAppliancesPaginator( ListSmartHomeAppliancesRequest listSmartHomeAppliancesRequest) throws NotFoundException, AwsServiceException, SdkClientException, AlexaForBusinessException { return new ListSmartHomeAppliancesIterable(this, applyPaginatorUserAgent(listSmartHomeAppliancesRequest)); } /** *

* Lists all tags for the specified resource. *

* * @param listTagsRequest * @return Result of the ListTags operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.ListTags * @see AWS API * Documentation */ @Override public ListTagsResponse listTags(ListTagsRequest listTagsRequest) throws NotFoundException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListTagsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, listTagsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListTags"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListTags").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(listTagsRequest) .withMetricCollector(apiCallMetricCollector).withMarshaller(new ListTagsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Lists all tags for the specified resource. *

*
*

* This is a variant of {@link #listTags(software.amazon.awssdk.services.alexaforbusiness.model.ListTagsRequest)} * operation. The return type is a custom iterable that can be used to iterate through all the pages. SDK will * internally handle making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.ListTagsIterable responses = client.listTagsPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.alexaforbusiness.paginators.ListTagsIterable responses = client.listTagsPaginator(request);
     *     for (software.amazon.awssdk.services.alexaforbusiness.model.ListTagsResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.ListTagsIterable responses = client.listTagsPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Please notice that the configuration of MaxResults won't limit the number of results you get with the * paginator. It only limits the number of results in each page. *

*

* Note: If you prefer to have control on service calls, use the * {@link #listTags(software.amazon.awssdk.services.alexaforbusiness.model.ListTagsRequest)} operation. *

* * @param listTagsRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws NotFoundException * The resource is not found. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.ListTags * @see AWS API * Documentation */ @Override public ListTagsIterable listTagsPaginator(ListTagsRequest listTagsRequest) throws NotFoundException, AwsServiceException, SdkClientException, AlexaForBusinessException { return new ListTagsIterable(this, applyPaginatorUserAgent(listTagsRequest)); } /** *

* Sets the conference preferences on a specific conference provider at the account level. *

* * @param putConferencePreferenceRequest * @return Result of the PutConferencePreference operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.PutConferencePreference * @see AWS API Documentation */ @Override public PutConferencePreferenceResponse putConferencePreference(PutConferencePreferenceRequest putConferencePreferenceRequest) throws NotFoundException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, PutConferencePreferenceResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, putConferencePreferenceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "PutConferencePreference"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("PutConferencePreference").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(putConferencePreferenceRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new PutConferencePreferenceRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Configures the email template for the user enrollment invitation with the specified attributes. *

* * @param putInvitationConfigurationRequest * @return Result of the PutInvitationConfiguration operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.PutInvitationConfiguration * @see AWS API Documentation */ @Override public PutInvitationConfigurationResponse putInvitationConfiguration( PutInvitationConfigurationRequest putInvitationConfigurationRequest) throws NotFoundException, ConcurrentModificationException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, PutInvitationConfigurationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, putInvitationConfigurationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "PutInvitationConfiguration"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("PutInvitationConfiguration").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(putInvitationConfigurationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new PutInvitationConfigurationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Updates room skill parameter details by room, skill, and parameter key ID. Not all skills have a room skill * parameter. *

* * @param putRoomSkillParameterRequest * @return Result of the PutRoomSkillParameter operation returned by the service. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.PutRoomSkillParameter * @see AWS API Documentation */ @Override public PutRoomSkillParameterResponse putRoomSkillParameter(PutRoomSkillParameterRequest putRoomSkillParameterRequest) throws ConcurrentModificationException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, PutRoomSkillParameterResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, putRoomSkillParameterRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "PutRoomSkillParameter"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("PutRoomSkillParameter").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(putRoomSkillParameterRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new PutRoomSkillParameterRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Links a user's account to a third-party skill provider. If this API operation is called by an assumed IAM role, * the skill being linked must be a private skill. Also, the skill must be owned by the AWS account that assumed the * IAM role. *

* * @param putSkillAuthorizationRequest * @return Result of the PutSkillAuthorization operation returned by the service. * @throws UnauthorizedException * The caller has no permissions to operate on the resource involved in the API call. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.PutSkillAuthorization * @see AWS API Documentation */ @Override public PutSkillAuthorizationResponse putSkillAuthorization(PutSkillAuthorizationRequest putSkillAuthorizationRequest) throws UnauthorizedException, ConcurrentModificationException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, PutSkillAuthorizationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, putSkillAuthorizationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "PutSkillAuthorization"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("PutSkillAuthorization").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(putSkillAuthorizationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new PutSkillAuthorizationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Registers an Alexa-enabled device built by an Original Equipment Manufacturer (OEM) using Alexa Voice Service * (AVS). *

* * @param registerAvsDeviceRequest * @return Result of the RegisterAVSDevice operation returned by the service. * @throws LimitExceededException * You are performing an action that would put you beyond your account's limits. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws NotFoundException * The resource is not found. * @throws InvalidDeviceException * The device is in an invalid state. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.RegisterAVSDevice * @see AWS API Documentation */ @Override public RegisterAvsDeviceResponse registerAVSDevice(RegisterAvsDeviceRequest registerAvsDeviceRequest) throws LimitExceededException, ConcurrentModificationException, NotFoundException, InvalidDeviceException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, RegisterAvsDeviceResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, registerAvsDeviceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "RegisterAVSDevice"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("RegisterAVSDevice").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(registerAvsDeviceRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new RegisterAvsDeviceRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Disassociates a skill from the organization under a user's AWS account. If the skill is a private skill, it moves * to an AcceptStatus of PENDING. Any private or public skill that is rejected can be added later by calling the * ApproveSkill API. *

* * @param rejectSkillRequest * @return Result of the RejectSkill operation returned by the service. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws NotFoundException * The resource is not found. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.RejectSkill * @see AWS * API Documentation */ @Override public RejectSkillResponse rejectSkill(RejectSkillRequest rejectSkillRequest) throws ConcurrentModificationException, NotFoundException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, RejectSkillResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, rejectSkillRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "RejectSkill"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("RejectSkill").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(rejectSkillRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new RejectSkillRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Determines the details for the room from which a skill request was invoked. This operation is used by skill * developers. *

*

* To query ResolveRoom from an Alexa skill, the skill ID needs to be authorized. When the skill is using an AWS * Lambda function, the skill is automatically authorized when you publish your skill as a private skill to your AWS * account. Skills that are hosted using a custom web service must be manually authorized. To get your skill * authorized, contact AWS Support with your AWS account ID that queries the ResolveRoom API and skill ID. *

* * @param resolveRoomRequest * @return Result of the ResolveRoom operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.ResolveRoom * @see AWS * API Documentation */ @Override public ResolveRoomResponse resolveRoom(ResolveRoomRequest resolveRoomRequest) throws NotFoundException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ResolveRoomResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, resolveRoomRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ResolveRoom"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ResolveRoom").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(resolveRoomRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ResolveRoomRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Revokes an invitation and invalidates the enrollment URL. *

* * @param revokeInvitationRequest * @return Result of the RevokeInvitation operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.RevokeInvitation * @see AWS API Documentation */ @Override public RevokeInvitationResponse revokeInvitation(RevokeInvitationRequest revokeInvitationRequest) throws NotFoundException, ConcurrentModificationException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, RevokeInvitationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, revokeInvitationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "RevokeInvitation"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("RevokeInvitation").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(revokeInvitationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new RevokeInvitationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Searches address books and lists the ones that meet a set of filter and sort criteria. *

* * @param searchAddressBooksRequest * @return Result of the SearchAddressBooks operation returned by the service. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.SearchAddressBooks * @see AWS API Documentation */ @Override public SearchAddressBooksResponse searchAddressBooks(SearchAddressBooksRequest searchAddressBooksRequest) throws AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, SearchAddressBooksResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, searchAddressBooksRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "SearchAddressBooks"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("SearchAddressBooks").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(searchAddressBooksRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new SearchAddressBooksRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Searches address books and lists the ones that meet a set of filter and sort criteria. *

*
*

* This is a variant of * {@link #searchAddressBooks(software.amazon.awssdk.services.alexaforbusiness.model.SearchAddressBooksRequest)} * operation. The return type is a custom iterable that can be used to iterate through all the pages. SDK will * internally handle making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.SearchAddressBooksIterable responses = client.searchAddressBooksPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.alexaforbusiness.paginators.SearchAddressBooksIterable responses = client
     *             .searchAddressBooksPaginator(request);
     *     for (software.amazon.awssdk.services.alexaforbusiness.model.SearchAddressBooksResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.SearchAddressBooksIterable responses = client.searchAddressBooksPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Please notice that the configuration of MaxResults won't limit the number of results you get with the * paginator. It only limits the number of results in each page. *

*

* Note: If you prefer to have control on service calls, use the * {@link #searchAddressBooks(software.amazon.awssdk.services.alexaforbusiness.model.SearchAddressBooksRequest)} * operation. *

* * @param searchAddressBooksRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.SearchAddressBooks * @see AWS API Documentation */ @Override public SearchAddressBooksIterable searchAddressBooksPaginator(SearchAddressBooksRequest searchAddressBooksRequest) throws AwsServiceException, SdkClientException, AlexaForBusinessException { return new SearchAddressBooksIterable(this, applyPaginatorUserAgent(searchAddressBooksRequest)); } /** *

* Searches contacts and lists the ones that meet a set of filter and sort criteria. *

* * @param searchContactsRequest * @return Result of the SearchContacts operation returned by the service. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.SearchContacts * @see AWS API Documentation */ @Override public SearchContactsResponse searchContacts(SearchContactsRequest searchContactsRequest) throws AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, SearchContactsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, searchContactsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "SearchContacts"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("SearchContacts").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(searchContactsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new SearchContactsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Searches contacts and lists the ones that meet a set of filter and sort criteria. *

*
*

* This is a variant of * {@link #searchContacts(software.amazon.awssdk.services.alexaforbusiness.model.SearchContactsRequest)} operation. * The return type is a custom iterable that can be used to iterate through all the pages. SDK will internally * handle making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.SearchContactsIterable responses = client.searchContactsPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.alexaforbusiness.paginators.SearchContactsIterable responses = client
     *             .searchContactsPaginator(request);
     *     for (software.amazon.awssdk.services.alexaforbusiness.model.SearchContactsResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.SearchContactsIterable responses = client.searchContactsPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Please notice that the configuration of MaxResults won't limit the number of results you get with the * paginator. It only limits the number of results in each page. *

*

* Note: If you prefer to have control on service calls, use the * {@link #searchContacts(software.amazon.awssdk.services.alexaforbusiness.model.SearchContactsRequest)} * operation. *

* * @param searchContactsRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.SearchContacts * @see AWS API Documentation */ @Override public SearchContactsIterable searchContactsPaginator(SearchContactsRequest searchContactsRequest) throws AwsServiceException, SdkClientException, AlexaForBusinessException { return new SearchContactsIterable(this, applyPaginatorUserAgent(searchContactsRequest)); } /** *

* Searches devices and lists the ones that meet a set of filter criteria. *

* * @param searchDevicesRequest * @return Result of the SearchDevices operation returned by the service. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.SearchDevices * @see AWS API Documentation */ @Override public SearchDevicesResponse searchDevices(SearchDevicesRequest searchDevicesRequest) throws AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, SearchDevicesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, searchDevicesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "SearchDevices"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("SearchDevices").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(searchDevicesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new SearchDevicesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Searches devices and lists the ones that meet a set of filter criteria. *

*
*

* This is a variant of * {@link #searchDevices(software.amazon.awssdk.services.alexaforbusiness.model.SearchDevicesRequest)} operation. * The return type is a custom iterable that can be used to iterate through all the pages. SDK will internally * handle making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.SearchDevicesIterable responses = client.searchDevicesPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.alexaforbusiness.paginators.SearchDevicesIterable responses = client
     *             .searchDevicesPaginator(request);
     *     for (software.amazon.awssdk.services.alexaforbusiness.model.SearchDevicesResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.SearchDevicesIterable responses = client.searchDevicesPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Please notice that the configuration of MaxResults won't limit the number of results you get with the * paginator. It only limits the number of results in each page. *

*

* Note: If you prefer to have control on service calls, use the * {@link #searchDevices(software.amazon.awssdk.services.alexaforbusiness.model.SearchDevicesRequest)} * operation. *

* * @param searchDevicesRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.SearchDevices * @see AWS API Documentation */ @Override public SearchDevicesIterable searchDevicesPaginator(SearchDevicesRequest searchDevicesRequest) throws AwsServiceException, SdkClientException, AlexaForBusinessException { return new SearchDevicesIterable(this, applyPaginatorUserAgent(searchDevicesRequest)); } /** *

* Searches network profiles and lists the ones that meet a set of filter and sort criteria. *

* * @param searchNetworkProfilesRequest * @return Result of the SearchNetworkProfiles operation returned by the service. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.SearchNetworkProfiles * @see AWS API Documentation */ @Override public SearchNetworkProfilesResponse searchNetworkProfiles(SearchNetworkProfilesRequest searchNetworkProfilesRequest) throws AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, SearchNetworkProfilesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, searchNetworkProfilesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "SearchNetworkProfiles"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("SearchNetworkProfiles").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(searchNetworkProfilesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new SearchNetworkProfilesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Searches network profiles and lists the ones that meet a set of filter and sort criteria. *

*
*

* This is a variant of * {@link #searchNetworkProfiles(software.amazon.awssdk.services.alexaforbusiness.model.SearchNetworkProfilesRequest)} * operation. The return type is a custom iterable that can be used to iterate through all the pages. SDK will * internally handle making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.SearchNetworkProfilesIterable responses = client.searchNetworkProfilesPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.alexaforbusiness.paginators.SearchNetworkProfilesIterable responses = client
     *             .searchNetworkProfilesPaginator(request);
     *     for (software.amazon.awssdk.services.alexaforbusiness.model.SearchNetworkProfilesResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.SearchNetworkProfilesIterable responses = client.searchNetworkProfilesPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Please notice that the configuration of MaxResults won't limit the number of results you get with the * paginator. It only limits the number of results in each page. *

*

* Note: If you prefer to have control on service calls, use the * {@link #searchNetworkProfiles(software.amazon.awssdk.services.alexaforbusiness.model.SearchNetworkProfilesRequest)} * operation. *

* * @param searchNetworkProfilesRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.SearchNetworkProfiles * @see AWS API Documentation */ @Override public SearchNetworkProfilesIterable searchNetworkProfilesPaginator(SearchNetworkProfilesRequest searchNetworkProfilesRequest) throws AwsServiceException, SdkClientException, AlexaForBusinessException { return new SearchNetworkProfilesIterable(this, applyPaginatorUserAgent(searchNetworkProfilesRequest)); } /** *

* Searches room profiles and lists the ones that meet a set of filter criteria. *

* * @param searchProfilesRequest * @return Result of the SearchProfiles operation returned by the service. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.SearchProfiles * @see AWS API Documentation */ @Override public SearchProfilesResponse searchProfiles(SearchProfilesRequest searchProfilesRequest) throws AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, SearchProfilesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, searchProfilesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "SearchProfiles"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("SearchProfiles").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(searchProfilesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new SearchProfilesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Searches room profiles and lists the ones that meet a set of filter criteria. *

*
*

* This is a variant of * {@link #searchProfiles(software.amazon.awssdk.services.alexaforbusiness.model.SearchProfilesRequest)} operation. * The return type is a custom iterable that can be used to iterate through all the pages. SDK will internally * handle making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.SearchProfilesIterable responses = client.searchProfilesPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.alexaforbusiness.paginators.SearchProfilesIterable responses = client
     *             .searchProfilesPaginator(request);
     *     for (software.amazon.awssdk.services.alexaforbusiness.model.SearchProfilesResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.SearchProfilesIterable responses = client.searchProfilesPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Please notice that the configuration of MaxResults won't limit the number of results you get with the * paginator. It only limits the number of results in each page. *

*

* Note: If you prefer to have control on service calls, use the * {@link #searchProfiles(software.amazon.awssdk.services.alexaforbusiness.model.SearchProfilesRequest)} * operation. *

* * @param searchProfilesRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.SearchProfiles * @see AWS API Documentation */ @Override public SearchProfilesIterable searchProfilesPaginator(SearchProfilesRequest searchProfilesRequest) throws AwsServiceException, SdkClientException, AlexaForBusinessException { return new SearchProfilesIterable(this, applyPaginatorUserAgent(searchProfilesRequest)); } /** *

* Searches rooms and lists the ones that meet a set of filter and sort criteria. *

* * @param searchRoomsRequest * @return Result of the SearchRooms operation returned by the service. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.SearchRooms * @see AWS * API Documentation */ @Override public SearchRoomsResponse searchRooms(SearchRoomsRequest searchRoomsRequest) throws AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, SearchRoomsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, searchRoomsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "SearchRooms"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("SearchRooms").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(searchRoomsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new SearchRoomsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Searches rooms and lists the ones that meet a set of filter and sort criteria. *

*
*

* This is a variant of * {@link #searchRooms(software.amazon.awssdk.services.alexaforbusiness.model.SearchRoomsRequest)} operation. The * return type is a custom iterable that can be used to iterate through all the pages. SDK will internally handle * making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.SearchRoomsIterable responses = client.searchRoomsPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.alexaforbusiness.paginators.SearchRoomsIterable responses = client
     *             .searchRoomsPaginator(request);
     *     for (software.amazon.awssdk.services.alexaforbusiness.model.SearchRoomsResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.SearchRoomsIterable responses = client.searchRoomsPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Please notice that the configuration of MaxResults won't limit the number of results you get with the * paginator. It only limits the number of results in each page. *

*

* Note: If you prefer to have control on service calls, use the * {@link #searchRooms(software.amazon.awssdk.services.alexaforbusiness.model.SearchRoomsRequest)} operation. *

* * @param searchRoomsRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.SearchRooms * @see AWS * API Documentation */ @Override public SearchRoomsIterable searchRoomsPaginator(SearchRoomsRequest searchRoomsRequest) throws AwsServiceException, SdkClientException, AlexaForBusinessException { return new SearchRoomsIterable(this, applyPaginatorUserAgent(searchRoomsRequest)); } /** *

* Searches skill groups and lists the ones that meet a set of filter and sort criteria. *

* * @param searchSkillGroupsRequest * @return Result of the SearchSkillGroups operation returned by the service. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.SearchSkillGroups * @see AWS API Documentation */ @Override public SearchSkillGroupsResponse searchSkillGroups(SearchSkillGroupsRequest searchSkillGroupsRequest) throws AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, SearchSkillGroupsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, searchSkillGroupsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "SearchSkillGroups"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("SearchSkillGroups").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(searchSkillGroupsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new SearchSkillGroupsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Searches skill groups and lists the ones that meet a set of filter and sort criteria. *

*
*

* This is a variant of * {@link #searchSkillGroups(software.amazon.awssdk.services.alexaforbusiness.model.SearchSkillGroupsRequest)} * operation. The return type is a custom iterable that can be used to iterate through all the pages. SDK will * internally handle making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.SearchSkillGroupsIterable responses = client.searchSkillGroupsPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.alexaforbusiness.paginators.SearchSkillGroupsIterable responses = client
     *             .searchSkillGroupsPaginator(request);
     *     for (software.amazon.awssdk.services.alexaforbusiness.model.SearchSkillGroupsResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.SearchSkillGroupsIterable responses = client.searchSkillGroupsPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Please notice that the configuration of MaxResults won't limit the number of results you get with the * paginator. It only limits the number of results in each page. *

*

* Note: If you prefer to have control on service calls, use the * {@link #searchSkillGroups(software.amazon.awssdk.services.alexaforbusiness.model.SearchSkillGroupsRequest)} * operation. *

* * @param searchSkillGroupsRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.SearchSkillGroups * @see AWS API Documentation */ @Override public SearchSkillGroupsIterable searchSkillGroupsPaginator(SearchSkillGroupsRequest searchSkillGroupsRequest) throws AwsServiceException, SdkClientException, AlexaForBusinessException { return new SearchSkillGroupsIterable(this, applyPaginatorUserAgent(searchSkillGroupsRequest)); } /** *

* Searches users and lists the ones that meet a set of filter and sort criteria. *

* * @param searchUsersRequest * @return Result of the SearchUsers operation returned by the service. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.SearchUsers * @see AWS * API Documentation */ @Override public SearchUsersResponse searchUsers(SearchUsersRequest searchUsersRequest) throws AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, SearchUsersResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, searchUsersRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "SearchUsers"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("SearchUsers").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(searchUsersRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new SearchUsersRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Searches users and lists the ones that meet a set of filter and sort criteria. *

*
*

* This is a variant of * {@link #searchUsers(software.amazon.awssdk.services.alexaforbusiness.model.SearchUsersRequest)} operation. The * return type is a custom iterable that can be used to iterate through all the pages. SDK will internally handle * making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.SearchUsersIterable responses = client.searchUsersPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.alexaforbusiness.paginators.SearchUsersIterable responses = client
     *             .searchUsersPaginator(request);
     *     for (software.amazon.awssdk.services.alexaforbusiness.model.SearchUsersResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.alexaforbusiness.paginators.SearchUsersIterable responses = client.searchUsersPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Please notice that the configuration of MaxResults won't limit the number of results you get with the * paginator. It only limits the number of results in each page. *

*

* Note: If you prefer to have control on service calls, use the * {@link #searchUsers(software.amazon.awssdk.services.alexaforbusiness.model.SearchUsersRequest)} operation. *

* * @param searchUsersRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.SearchUsers * @see AWS * API Documentation */ @Override public SearchUsersIterable searchUsersPaginator(SearchUsersRequest searchUsersRequest) throws AwsServiceException, SdkClientException, AlexaForBusinessException { return new SearchUsersIterable(this, applyPaginatorUserAgent(searchUsersRequest)); } /** *

* Triggers an asynchronous flow to send text, SSML, or audio announcements to rooms that are identified by a search * or filter. *

* * @param sendAnnouncementRequest * @return Result of the SendAnnouncement operation returned by the service. * @throws LimitExceededException * You are performing an action that would put you beyond your account's limits. * @throws AlreadyExistsException * The resource being created already exists. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.SendAnnouncement * @see AWS API Documentation */ @Override public SendAnnouncementResponse sendAnnouncement(SendAnnouncementRequest sendAnnouncementRequest) throws LimitExceededException, AlreadyExistsException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, SendAnnouncementResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, sendAnnouncementRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "SendAnnouncement"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("SendAnnouncement").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(sendAnnouncementRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new SendAnnouncementRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Sends an enrollment invitation email with a URL to a user. The URL is valid for 30 days or until you call this * operation again, whichever comes first. *

* * @param sendInvitationRequest * @return Result of the SendInvitation operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws InvalidUserStatusException * The attempt to update a user is invalid due to the user's current status. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.SendInvitation * @see AWS API Documentation */ @Override public SendInvitationResponse sendInvitation(SendInvitationRequest sendInvitationRequest) throws NotFoundException, InvalidUserStatusException, ConcurrentModificationException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, SendInvitationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, sendInvitationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "SendInvitation"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("SendInvitation").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(sendInvitationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new SendInvitationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Resets a device and its account to the known default settings. This clears all information and settings set by * previous users in the following ways: *

*
    *
  • *

    * Bluetooth - This unpairs all bluetooth devices paired with your echo device. *

    *
  • *
  • *

    * Volume - This resets the echo device's volume to the default value. *

    *
  • *
  • *

    * Notifications - This clears all notifications from your echo device. *

    *
  • *
  • *

    * Lists - This clears all to-do items from your echo device. *

    *
  • *
  • *

    * Settings - This internally syncs the room's profile (if the device is assigned to a room), contacts, address * books, delegation access for account linking, and communications (if enabled on the room profile). *

    *
  • *
* * @param startDeviceSyncRequest * @return Result of the StartDeviceSync operation returned by the service. * @throws DeviceNotRegisteredException * The request failed because this device is no longer registered and therefore no longer managed by this * account. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.StartDeviceSync * @see AWS API Documentation */ @Override public StartDeviceSyncResponse startDeviceSync(StartDeviceSyncRequest startDeviceSyncRequest) throws DeviceNotRegisteredException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, StartDeviceSyncResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, startDeviceSyncRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StartDeviceSync"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("StartDeviceSync").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(startDeviceSyncRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new StartDeviceSyncRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Initiates the discovery of any smart home appliances associated with the room. *

* * @param startSmartHomeApplianceDiscoveryRequest * @return Result of the StartSmartHomeApplianceDiscovery operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.StartSmartHomeApplianceDiscovery * @see AWS API Documentation */ @Override public StartSmartHomeApplianceDiscoveryResponse startSmartHomeApplianceDiscovery( StartSmartHomeApplianceDiscoveryRequest startSmartHomeApplianceDiscoveryRequest) throws NotFoundException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, StartSmartHomeApplianceDiscoveryResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, startSmartHomeApplianceDiscoveryRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StartSmartHomeApplianceDiscovery"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("StartSmartHomeApplianceDiscovery").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(startSmartHomeApplianceDiscoveryRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new StartSmartHomeApplianceDiscoveryRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Adds metadata tags to a specified resource. *

* * @param tagResourceRequest * @return Result of the TagResource operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.TagResource * @see AWS * API Documentation */ @Override public TagResourceResponse tagResource(TagResourceRequest tagResourceRequest) throws NotFoundException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, TagResourceResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, tagResourceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "TagResource"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("TagResource").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(tagResourceRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new TagResourceRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Removes metadata tags from a specified resource. *

* * @param untagResourceRequest * @return Result of the UntagResource operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.UntagResource * @see AWS API Documentation */ @Override public UntagResourceResponse untagResource(UntagResourceRequest untagResourceRequest) throws NotFoundException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, UntagResourceResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, untagResourceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UntagResource"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UntagResource").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(untagResourceRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UntagResourceRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Updates address book details by the address book ARN. *

* * @param updateAddressBookRequest * @return Result of the UpdateAddressBook operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws NameInUseException * The name sent in the request is already in use. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.UpdateAddressBook * @see AWS API Documentation */ @Override public UpdateAddressBookResponse updateAddressBook(UpdateAddressBookRequest updateAddressBookRequest) throws NotFoundException, NameInUseException, ConcurrentModificationException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, UpdateAddressBookResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateAddressBookRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateAddressBook"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdateAddressBook").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(updateAddressBookRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateAddressBookRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Updates the configuration of the report delivery schedule with the specified schedule ARN. *

* * @param updateBusinessReportScheduleRequest * @return Result of the UpdateBusinessReportSchedule operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.UpdateBusinessReportSchedule * @see AWS API Documentation */ @Override public UpdateBusinessReportScheduleResponse updateBusinessReportSchedule( UpdateBusinessReportScheduleRequest updateBusinessReportScheduleRequest) throws NotFoundException, ConcurrentModificationException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateBusinessReportScheduleResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateBusinessReportScheduleRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateBusinessReportSchedule"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateBusinessReportSchedule").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(updateBusinessReportScheduleRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateBusinessReportScheduleRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Updates an existing conference provider's settings. *

* * @param updateConferenceProviderRequest * @return Result of the UpdateConferenceProvider operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.UpdateConferenceProvider * @see AWS API Documentation */ @Override public UpdateConferenceProviderResponse updateConferenceProvider( UpdateConferenceProviderRequest updateConferenceProviderRequest) throws NotFoundException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateConferenceProviderResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateConferenceProviderRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateConferenceProvider"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateConferenceProvider").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(updateConferenceProviderRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateConferenceProviderRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Updates the contact details by the contact ARN. *

* * @param updateContactRequest * @return Result of the UpdateContact operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.UpdateContact * @see AWS API Documentation */ @Override public UpdateContactResponse updateContact(UpdateContactRequest updateContactRequest) throws NotFoundException, ConcurrentModificationException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, UpdateContactResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateContactRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateContact"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdateContact").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(updateContactRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateContactRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Updates the device name by device ARN. *

* * @param updateDeviceRequest * @return Result of the UpdateDevice operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws DeviceNotRegisteredException * The request failed because this device is no longer registered and therefore no longer managed by this * account. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.UpdateDevice * @see AWS * API Documentation */ @Override public UpdateDeviceResponse updateDevice(UpdateDeviceRequest updateDeviceRequest) throws NotFoundException, ConcurrentModificationException, DeviceNotRegisteredException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, UpdateDeviceResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateDeviceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateDevice"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdateDevice").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(updateDeviceRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateDeviceRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Updates the details of a gateway. If any optional field is not provided, the existing corresponding value is left * unmodified. *

* * @param updateGatewayRequest * @return Result of the UpdateGateway operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws NameInUseException * The name sent in the request is already in use. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.UpdateGateway * @see AWS API Documentation */ @Override public UpdateGatewayResponse updateGateway(UpdateGatewayRequest updateGatewayRequest) throws NotFoundException, NameInUseException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, UpdateGatewayResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateGatewayRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateGateway"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdateGateway").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(updateGatewayRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateGatewayRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Updates the details of a gateway group. If any optional field is not provided, the existing corresponding value * is left unmodified. *

* * @param updateGatewayGroupRequest * @return Result of the UpdateGatewayGroup operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws NameInUseException * The name sent in the request is already in use. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.UpdateGatewayGroup * @see AWS API Documentation */ @Override public UpdateGatewayGroupResponse updateGatewayGroup(UpdateGatewayGroupRequest updateGatewayGroupRequest) throws NotFoundException, NameInUseException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateGatewayGroupResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateGatewayGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateGatewayGroup"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdateGatewayGroup").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(updateGatewayGroupRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateGatewayGroupRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Updates a network profile by the network profile ARN. *

* * @param updateNetworkProfileRequest * @return Result of the UpdateNetworkProfile operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws NameInUseException * The name sent in the request is already in use. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws InvalidCertificateAuthorityException * The Certificate Authority can't issue or revoke a certificate. * @throws InvalidSecretsManagerResourceException * A password in SecretsManager is in an invalid state. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.UpdateNetworkProfile * @see AWS API Documentation */ @Override public UpdateNetworkProfileResponse updateNetworkProfile(UpdateNetworkProfileRequest updateNetworkProfileRequest) throws NotFoundException, NameInUseException, ConcurrentModificationException, InvalidCertificateAuthorityException, InvalidSecretsManagerResourceException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateNetworkProfileResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateNetworkProfileRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateNetworkProfile"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdateNetworkProfile").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(updateNetworkProfileRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateNetworkProfileRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Updates an existing room profile by room profile ARN. *

* * @param updateProfileRequest * @return Result of the UpdateProfile operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws NameInUseException * The name sent in the request is already in use. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.UpdateProfile * @see AWS API Documentation */ @Override public UpdateProfileResponse updateProfile(UpdateProfileRequest updateProfileRequest) throws NotFoundException, NameInUseException, ConcurrentModificationException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, UpdateProfileResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateProfileRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateProfile"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdateProfile").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(updateProfileRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateProfileRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Updates room details by room ARN. *

* * @param updateRoomRequest * @return Result of the UpdateRoom operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws NameInUseException * The name sent in the request is already in use. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.UpdateRoom * @see AWS * API Documentation */ @Override public UpdateRoomResponse updateRoom(UpdateRoomRequest updateRoomRequest) throws NotFoundException, NameInUseException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, UpdateRoomResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateRoomRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateRoom"); return clientHandler .execute(new ClientExecutionParams().withOperationName("UpdateRoom") .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withInput(updateRoomRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateRoomRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Updates skill group details by skill group ARN. *

* * @param updateSkillGroupRequest * @return Result of the UpdateSkillGroup operation returned by the service. * @throws NotFoundException * The resource is not found. * @throws NameInUseException * The name sent in the request is already in use. * @throws ConcurrentModificationException * There is a concurrent modification of resources. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws AlexaForBusinessException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample AlexaForBusinessClient.UpdateSkillGroup * @see AWS API Documentation */ @Override public UpdateSkillGroupResponse updateSkillGroup(UpdateSkillGroupRequest updateSkillGroupRequest) throws NotFoundException, NameInUseException, ConcurrentModificationException, AwsServiceException, SdkClientException, AlexaForBusinessException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, UpdateSkillGroupResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateSkillGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Alexa For Business"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateSkillGroup"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdateSkillGroup").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(updateSkillGroupRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateSkillGroupRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } private static List resolveMetricPublishers(SdkClientConfiguration clientConfiguration, RequestOverrideConfiguration requestOverrideConfiguration) { List publishers = null; if (requestOverrideConfiguration != null) { publishers = requestOverrideConfiguration.metricPublishers(); } if (publishers == null || publishers.isEmpty()) { publishers = clientConfiguration.option(SdkClientOption.METRIC_PUBLISHERS); } if (publishers == null) { publishers = Collections.emptyList(); } return publishers; } private HttpResponseHandler createErrorResponseHandler(BaseAwsJsonProtocolFactory protocolFactory, JsonOperationMetadata operationMetadata) { return protocolFactory.createErrorResponseHandler(operationMetadata); } private > T init(T builder) { return builder .clientConfiguration(clientConfiguration) .defaultServiceExceptionSupplier(AlexaForBusinessException::builder) .protocol(AwsJsonProtocol.AWS_JSON) .protocolVersion("1.1") .registerModeledException( ExceptionMetadata.builder().errorCode("ConcurrentModificationException") .exceptionBuilderSupplier(ConcurrentModificationException::builder).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidServiceLinkedRoleStateException") .exceptionBuilderSupplier(InvalidServiceLinkedRoleStateException::builder).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("LimitExceededException") .exceptionBuilderSupplier(LimitExceededException::builder).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("SkillNotLinkedException") .exceptionBuilderSupplier(SkillNotLinkedException::builder).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ResourceAssociatedException") .exceptionBuilderSupplier(ResourceAssociatedException::builder).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("NameInUseException") .exceptionBuilderSupplier(NameInUseException::builder).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("AlreadyExistsException") .exceptionBuilderSupplier(AlreadyExistsException::builder).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidSecretsManagerResourceException") .exceptionBuilderSupplier(InvalidSecretsManagerResourceException::builder).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ResourceInUseException") .exceptionBuilderSupplier(ResourceInUseException::builder).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("NotFoundException") .exceptionBuilderSupplier(NotFoundException::builder).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("UnauthorizedException") .exceptionBuilderSupplier(UnauthorizedException::builder).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidUserStatusException") .exceptionBuilderSupplier(InvalidUserStatusException::builder).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidCertificateAuthorityException") .exceptionBuilderSupplier(InvalidCertificateAuthorityException::builder).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidDeviceException") .exceptionBuilderSupplier(InvalidDeviceException::builder).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DeviceNotRegisteredException") .exceptionBuilderSupplier(DeviceNotRegisteredException::builder).build()); } @Override public void close() { clientHandler.close(); } private T applyPaginatorUserAgent(T request) { Consumer userAgentApplier = b -> b.addApiName(ApiName.builder() .version(VersionInfo.SDK_VERSION).name("PAGINATED").build()); AwsRequestOverrideConfiguration overrideConfiguration = request.overrideConfiguration() .map(c -> c.toBuilder().applyMutation(userAgentApplier).build()) .orElse((AwsRequestOverrideConfiguration.builder().applyMutation(userAgentApplier).build())); return (T) request.toBuilder().overrideConfiguration(overrideConfiguration).build(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy