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

software.amazon.awssdk.services.cleanrooms.DefaultCleanRoomsClient 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.cleanrooms;

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.client.handler.AwsSyncClientHandler;
import software.amazon.awssdk.awscore.exception.AwsServiceException;
import software.amazon.awssdk.awscore.internal.AwsProtocolMetadata;
import software.amazon.awssdk.awscore.internal.AwsServiceProtocol;
import software.amazon.awssdk.awscore.retry.AwsRetryStrategy;
import software.amazon.awssdk.core.RequestOverrideConfiguration;
import software.amazon.awssdk.core.SdkPlugin;
import software.amazon.awssdk.core.SdkRequest;
import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration;
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.retry.RetryMode;
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.retries.api.RetryStrategy;
import software.amazon.awssdk.services.cleanrooms.internal.CleanRoomsServiceClientConfigurationBuilder;
import software.amazon.awssdk.services.cleanrooms.model.AccessDeniedException;
import software.amazon.awssdk.services.cleanrooms.model.BatchGetCollaborationAnalysisTemplateRequest;
import software.amazon.awssdk.services.cleanrooms.model.BatchGetCollaborationAnalysisTemplateResponse;
import software.amazon.awssdk.services.cleanrooms.model.BatchGetSchemaAnalysisRuleRequest;
import software.amazon.awssdk.services.cleanrooms.model.BatchGetSchemaAnalysisRuleResponse;
import software.amazon.awssdk.services.cleanrooms.model.BatchGetSchemaRequest;
import software.amazon.awssdk.services.cleanrooms.model.BatchGetSchemaResponse;
import software.amazon.awssdk.services.cleanrooms.model.CleanRoomsException;
import software.amazon.awssdk.services.cleanrooms.model.ConflictException;
import software.amazon.awssdk.services.cleanrooms.model.CreateAnalysisTemplateRequest;
import software.amazon.awssdk.services.cleanrooms.model.CreateAnalysisTemplateResponse;
import software.amazon.awssdk.services.cleanrooms.model.CreateCollaborationRequest;
import software.amazon.awssdk.services.cleanrooms.model.CreateCollaborationResponse;
import software.amazon.awssdk.services.cleanrooms.model.CreateConfiguredAudienceModelAssociationRequest;
import software.amazon.awssdk.services.cleanrooms.model.CreateConfiguredAudienceModelAssociationResponse;
import software.amazon.awssdk.services.cleanrooms.model.CreateConfiguredTableAnalysisRuleRequest;
import software.amazon.awssdk.services.cleanrooms.model.CreateConfiguredTableAnalysisRuleResponse;
import software.amazon.awssdk.services.cleanrooms.model.CreateConfiguredTableAssociationAnalysisRuleRequest;
import software.amazon.awssdk.services.cleanrooms.model.CreateConfiguredTableAssociationAnalysisRuleResponse;
import software.amazon.awssdk.services.cleanrooms.model.CreateConfiguredTableAssociationRequest;
import software.amazon.awssdk.services.cleanrooms.model.CreateConfiguredTableAssociationResponse;
import software.amazon.awssdk.services.cleanrooms.model.CreateConfiguredTableRequest;
import software.amazon.awssdk.services.cleanrooms.model.CreateConfiguredTableResponse;
import software.amazon.awssdk.services.cleanrooms.model.CreateIdMappingTableRequest;
import software.amazon.awssdk.services.cleanrooms.model.CreateIdMappingTableResponse;
import software.amazon.awssdk.services.cleanrooms.model.CreateIdNamespaceAssociationRequest;
import software.amazon.awssdk.services.cleanrooms.model.CreateIdNamespaceAssociationResponse;
import software.amazon.awssdk.services.cleanrooms.model.CreateMembershipRequest;
import software.amazon.awssdk.services.cleanrooms.model.CreateMembershipResponse;
import software.amazon.awssdk.services.cleanrooms.model.CreatePrivacyBudgetTemplateRequest;
import software.amazon.awssdk.services.cleanrooms.model.CreatePrivacyBudgetTemplateResponse;
import software.amazon.awssdk.services.cleanrooms.model.DeleteAnalysisTemplateRequest;
import software.amazon.awssdk.services.cleanrooms.model.DeleteAnalysisTemplateResponse;
import software.amazon.awssdk.services.cleanrooms.model.DeleteCollaborationRequest;
import software.amazon.awssdk.services.cleanrooms.model.DeleteCollaborationResponse;
import software.amazon.awssdk.services.cleanrooms.model.DeleteConfiguredAudienceModelAssociationRequest;
import software.amazon.awssdk.services.cleanrooms.model.DeleteConfiguredAudienceModelAssociationResponse;
import software.amazon.awssdk.services.cleanrooms.model.DeleteConfiguredTableAnalysisRuleRequest;
import software.amazon.awssdk.services.cleanrooms.model.DeleteConfiguredTableAnalysisRuleResponse;
import software.amazon.awssdk.services.cleanrooms.model.DeleteConfiguredTableAssociationAnalysisRuleRequest;
import software.amazon.awssdk.services.cleanrooms.model.DeleteConfiguredTableAssociationAnalysisRuleResponse;
import software.amazon.awssdk.services.cleanrooms.model.DeleteConfiguredTableAssociationRequest;
import software.amazon.awssdk.services.cleanrooms.model.DeleteConfiguredTableAssociationResponse;
import software.amazon.awssdk.services.cleanrooms.model.DeleteConfiguredTableRequest;
import software.amazon.awssdk.services.cleanrooms.model.DeleteConfiguredTableResponse;
import software.amazon.awssdk.services.cleanrooms.model.DeleteIdMappingTableRequest;
import software.amazon.awssdk.services.cleanrooms.model.DeleteIdMappingTableResponse;
import software.amazon.awssdk.services.cleanrooms.model.DeleteIdNamespaceAssociationRequest;
import software.amazon.awssdk.services.cleanrooms.model.DeleteIdNamespaceAssociationResponse;
import software.amazon.awssdk.services.cleanrooms.model.DeleteMemberRequest;
import software.amazon.awssdk.services.cleanrooms.model.DeleteMemberResponse;
import software.amazon.awssdk.services.cleanrooms.model.DeleteMembershipRequest;
import software.amazon.awssdk.services.cleanrooms.model.DeleteMembershipResponse;
import software.amazon.awssdk.services.cleanrooms.model.DeletePrivacyBudgetTemplateRequest;
import software.amazon.awssdk.services.cleanrooms.model.DeletePrivacyBudgetTemplateResponse;
import software.amazon.awssdk.services.cleanrooms.model.GetAnalysisTemplateRequest;
import software.amazon.awssdk.services.cleanrooms.model.GetAnalysisTemplateResponse;
import software.amazon.awssdk.services.cleanrooms.model.GetCollaborationAnalysisTemplateRequest;
import software.amazon.awssdk.services.cleanrooms.model.GetCollaborationAnalysisTemplateResponse;
import software.amazon.awssdk.services.cleanrooms.model.GetCollaborationConfiguredAudienceModelAssociationRequest;
import software.amazon.awssdk.services.cleanrooms.model.GetCollaborationConfiguredAudienceModelAssociationResponse;
import software.amazon.awssdk.services.cleanrooms.model.GetCollaborationIdNamespaceAssociationRequest;
import software.amazon.awssdk.services.cleanrooms.model.GetCollaborationIdNamespaceAssociationResponse;
import software.amazon.awssdk.services.cleanrooms.model.GetCollaborationPrivacyBudgetTemplateRequest;
import software.amazon.awssdk.services.cleanrooms.model.GetCollaborationPrivacyBudgetTemplateResponse;
import software.amazon.awssdk.services.cleanrooms.model.GetCollaborationRequest;
import software.amazon.awssdk.services.cleanrooms.model.GetCollaborationResponse;
import software.amazon.awssdk.services.cleanrooms.model.GetConfiguredAudienceModelAssociationRequest;
import software.amazon.awssdk.services.cleanrooms.model.GetConfiguredAudienceModelAssociationResponse;
import software.amazon.awssdk.services.cleanrooms.model.GetConfiguredTableAnalysisRuleRequest;
import software.amazon.awssdk.services.cleanrooms.model.GetConfiguredTableAnalysisRuleResponse;
import software.amazon.awssdk.services.cleanrooms.model.GetConfiguredTableAssociationAnalysisRuleRequest;
import software.amazon.awssdk.services.cleanrooms.model.GetConfiguredTableAssociationAnalysisRuleResponse;
import software.amazon.awssdk.services.cleanrooms.model.GetConfiguredTableAssociationRequest;
import software.amazon.awssdk.services.cleanrooms.model.GetConfiguredTableAssociationResponse;
import software.amazon.awssdk.services.cleanrooms.model.GetConfiguredTableRequest;
import software.amazon.awssdk.services.cleanrooms.model.GetConfiguredTableResponse;
import software.amazon.awssdk.services.cleanrooms.model.GetIdMappingTableRequest;
import software.amazon.awssdk.services.cleanrooms.model.GetIdMappingTableResponse;
import software.amazon.awssdk.services.cleanrooms.model.GetIdNamespaceAssociationRequest;
import software.amazon.awssdk.services.cleanrooms.model.GetIdNamespaceAssociationResponse;
import software.amazon.awssdk.services.cleanrooms.model.GetMembershipRequest;
import software.amazon.awssdk.services.cleanrooms.model.GetMembershipResponse;
import software.amazon.awssdk.services.cleanrooms.model.GetPrivacyBudgetTemplateRequest;
import software.amazon.awssdk.services.cleanrooms.model.GetPrivacyBudgetTemplateResponse;
import software.amazon.awssdk.services.cleanrooms.model.GetProtectedQueryRequest;
import software.amazon.awssdk.services.cleanrooms.model.GetProtectedQueryResponse;
import software.amazon.awssdk.services.cleanrooms.model.GetSchemaAnalysisRuleRequest;
import software.amazon.awssdk.services.cleanrooms.model.GetSchemaAnalysisRuleResponse;
import software.amazon.awssdk.services.cleanrooms.model.GetSchemaRequest;
import software.amazon.awssdk.services.cleanrooms.model.GetSchemaResponse;
import software.amazon.awssdk.services.cleanrooms.model.InternalServerException;
import software.amazon.awssdk.services.cleanrooms.model.ListAnalysisTemplatesRequest;
import software.amazon.awssdk.services.cleanrooms.model.ListAnalysisTemplatesResponse;
import software.amazon.awssdk.services.cleanrooms.model.ListCollaborationAnalysisTemplatesRequest;
import software.amazon.awssdk.services.cleanrooms.model.ListCollaborationAnalysisTemplatesResponse;
import software.amazon.awssdk.services.cleanrooms.model.ListCollaborationConfiguredAudienceModelAssociationsRequest;
import software.amazon.awssdk.services.cleanrooms.model.ListCollaborationConfiguredAudienceModelAssociationsResponse;
import software.amazon.awssdk.services.cleanrooms.model.ListCollaborationIdNamespaceAssociationsRequest;
import software.amazon.awssdk.services.cleanrooms.model.ListCollaborationIdNamespaceAssociationsResponse;
import software.amazon.awssdk.services.cleanrooms.model.ListCollaborationPrivacyBudgetTemplatesRequest;
import software.amazon.awssdk.services.cleanrooms.model.ListCollaborationPrivacyBudgetTemplatesResponse;
import software.amazon.awssdk.services.cleanrooms.model.ListCollaborationPrivacyBudgetsRequest;
import software.amazon.awssdk.services.cleanrooms.model.ListCollaborationPrivacyBudgetsResponse;
import software.amazon.awssdk.services.cleanrooms.model.ListCollaborationsRequest;
import software.amazon.awssdk.services.cleanrooms.model.ListCollaborationsResponse;
import software.amazon.awssdk.services.cleanrooms.model.ListConfiguredAudienceModelAssociationsRequest;
import software.amazon.awssdk.services.cleanrooms.model.ListConfiguredAudienceModelAssociationsResponse;
import software.amazon.awssdk.services.cleanrooms.model.ListConfiguredTableAssociationsRequest;
import software.amazon.awssdk.services.cleanrooms.model.ListConfiguredTableAssociationsResponse;
import software.amazon.awssdk.services.cleanrooms.model.ListConfiguredTablesRequest;
import software.amazon.awssdk.services.cleanrooms.model.ListConfiguredTablesResponse;
import software.amazon.awssdk.services.cleanrooms.model.ListIdMappingTablesRequest;
import software.amazon.awssdk.services.cleanrooms.model.ListIdMappingTablesResponse;
import software.amazon.awssdk.services.cleanrooms.model.ListIdNamespaceAssociationsRequest;
import software.amazon.awssdk.services.cleanrooms.model.ListIdNamespaceAssociationsResponse;
import software.amazon.awssdk.services.cleanrooms.model.ListMembersRequest;
import software.amazon.awssdk.services.cleanrooms.model.ListMembersResponse;
import software.amazon.awssdk.services.cleanrooms.model.ListMembershipsRequest;
import software.amazon.awssdk.services.cleanrooms.model.ListMembershipsResponse;
import software.amazon.awssdk.services.cleanrooms.model.ListPrivacyBudgetTemplatesRequest;
import software.amazon.awssdk.services.cleanrooms.model.ListPrivacyBudgetTemplatesResponse;
import software.amazon.awssdk.services.cleanrooms.model.ListPrivacyBudgetsRequest;
import software.amazon.awssdk.services.cleanrooms.model.ListPrivacyBudgetsResponse;
import software.amazon.awssdk.services.cleanrooms.model.ListProtectedQueriesRequest;
import software.amazon.awssdk.services.cleanrooms.model.ListProtectedQueriesResponse;
import software.amazon.awssdk.services.cleanrooms.model.ListSchemasRequest;
import software.amazon.awssdk.services.cleanrooms.model.ListSchemasResponse;
import software.amazon.awssdk.services.cleanrooms.model.ListTagsForResourceRequest;
import software.amazon.awssdk.services.cleanrooms.model.ListTagsForResourceResponse;
import software.amazon.awssdk.services.cleanrooms.model.PopulateIdMappingTableRequest;
import software.amazon.awssdk.services.cleanrooms.model.PopulateIdMappingTableResponse;
import software.amazon.awssdk.services.cleanrooms.model.PreviewPrivacyImpactRequest;
import software.amazon.awssdk.services.cleanrooms.model.PreviewPrivacyImpactResponse;
import software.amazon.awssdk.services.cleanrooms.model.ResourceNotFoundException;
import software.amazon.awssdk.services.cleanrooms.model.ServiceQuotaExceededException;
import software.amazon.awssdk.services.cleanrooms.model.StartProtectedQueryRequest;
import software.amazon.awssdk.services.cleanrooms.model.StartProtectedQueryResponse;
import software.amazon.awssdk.services.cleanrooms.model.TagResourceRequest;
import software.amazon.awssdk.services.cleanrooms.model.TagResourceResponse;
import software.amazon.awssdk.services.cleanrooms.model.ThrottlingException;
import software.amazon.awssdk.services.cleanrooms.model.UntagResourceRequest;
import software.amazon.awssdk.services.cleanrooms.model.UntagResourceResponse;
import software.amazon.awssdk.services.cleanrooms.model.UpdateAnalysisTemplateRequest;
import software.amazon.awssdk.services.cleanrooms.model.UpdateAnalysisTemplateResponse;
import software.amazon.awssdk.services.cleanrooms.model.UpdateCollaborationRequest;
import software.amazon.awssdk.services.cleanrooms.model.UpdateCollaborationResponse;
import software.amazon.awssdk.services.cleanrooms.model.UpdateConfiguredAudienceModelAssociationRequest;
import software.amazon.awssdk.services.cleanrooms.model.UpdateConfiguredAudienceModelAssociationResponse;
import software.amazon.awssdk.services.cleanrooms.model.UpdateConfiguredTableAnalysisRuleRequest;
import software.amazon.awssdk.services.cleanrooms.model.UpdateConfiguredTableAnalysisRuleResponse;
import software.amazon.awssdk.services.cleanrooms.model.UpdateConfiguredTableAssociationAnalysisRuleRequest;
import software.amazon.awssdk.services.cleanrooms.model.UpdateConfiguredTableAssociationAnalysisRuleResponse;
import software.amazon.awssdk.services.cleanrooms.model.UpdateConfiguredTableAssociationRequest;
import software.amazon.awssdk.services.cleanrooms.model.UpdateConfiguredTableAssociationResponse;
import software.amazon.awssdk.services.cleanrooms.model.UpdateConfiguredTableRequest;
import software.amazon.awssdk.services.cleanrooms.model.UpdateConfiguredTableResponse;
import software.amazon.awssdk.services.cleanrooms.model.UpdateIdMappingTableRequest;
import software.amazon.awssdk.services.cleanrooms.model.UpdateIdMappingTableResponse;
import software.amazon.awssdk.services.cleanrooms.model.UpdateIdNamespaceAssociationRequest;
import software.amazon.awssdk.services.cleanrooms.model.UpdateIdNamespaceAssociationResponse;
import software.amazon.awssdk.services.cleanrooms.model.UpdateMembershipRequest;
import software.amazon.awssdk.services.cleanrooms.model.UpdateMembershipResponse;
import software.amazon.awssdk.services.cleanrooms.model.UpdatePrivacyBudgetTemplateRequest;
import software.amazon.awssdk.services.cleanrooms.model.UpdatePrivacyBudgetTemplateResponse;
import software.amazon.awssdk.services.cleanrooms.model.UpdateProtectedQueryRequest;
import software.amazon.awssdk.services.cleanrooms.model.UpdateProtectedQueryResponse;
import software.amazon.awssdk.services.cleanrooms.model.ValidationException;
import software.amazon.awssdk.services.cleanrooms.transform.BatchGetCollaborationAnalysisTemplateRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.BatchGetSchemaAnalysisRuleRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.BatchGetSchemaRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.CreateAnalysisTemplateRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.CreateCollaborationRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.CreateConfiguredAudienceModelAssociationRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.CreateConfiguredTableAnalysisRuleRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.CreateConfiguredTableAssociationAnalysisRuleRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.CreateConfiguredTableAssociationRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.CreateConfiguredTableRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.CreateIdMappingTableRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.CreateIdNamespaceAssociationRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.CreateMembershipRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.CreatePrivacyBudgetTemplateRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.DeleteAnalysisTemplateRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.DeleteCollaborationRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.DeleteConfiguredAudienceModelAssociationRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.DeleteConfiguredTableAnalysisRuleRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.DeleteConfiguredTableAssociationAnalysisRuleRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.DeleteConfiguredTableAssociationRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.DeleteConfiguredTableRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.DeleteIdMappingTableRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.DeleteIdNamespaceAssociationRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.DeleteMemberRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.DeleteMembershipRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.DeletePrivacyBudgetTemplateRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.GetAnalysisTemplateRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.GetCollaborationAnalysisTemplateRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.GetCollaborationConfiguredAudienceModelAssociationRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.GetCollaborationIdNamespaceAssociationRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.GetCollaborationPrivacyBudgetTemplateRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.GetCollaborationRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.GetConfiguredAudienceModelAssociationRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.GetConfiguredTableAnalysisRuleRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.GetConfiguredTableAssociationAnalysisRuleRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.GetConfiguredTableAssociationRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.GetConfiguredTableRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.GetIdMappingTableRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.GetIdNamespaceAssociationRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.GetMembershipRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.GetPrivacyBudgetTemplateRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.GetProtectedQueryRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.GetSchemaAnalysisRuleRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.GetSchemaRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.ListAnalysisTemplatesRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.ListCollaborationAnalysisTemplatesRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.ListCollaborationConfiguredAudienceModelAssociationsRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.ListCollaborationIdNamespaceAssociationsRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.ListCollaborationPrivacyBudgetTemplatesRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.ListCollaborationPrivacyBudgetsRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.ListCollaborationsRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.ListConfiguredAudienceModelAssociationsRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.ListConfiguredTableAssociationsRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.ListConfiguredTablesRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.ListIdMappingTablesRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.ListIdNamespaceAssociationsRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.ListMembersRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.ListMembershipsRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.ListPrivacyBudgetTemplatesRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.ListPrivacyBudgetsRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.ListProtectedQueriesRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.ListSchemasRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.ListTagsForResourceRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.PopulateIdMappingTableRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.PreviewPrivacyImpactRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.StartProtectedQueryRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.TagResourceRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.UntagResourceRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.UpdateAnalysisTemplateRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.UpdateCollaborationRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.UpdateConfiguredAudienceModelAssociationRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.UpdateConfiguredTableAnalysisRuleRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.UpdateConfiguredTableAssociationAnalysisRuleRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.UpdateConfiguredTableAssociationRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.UpdateConfiguredTableRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.UpdateIdMappingTableRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.UpdateIdNamespaceAssociationRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.UpdateMembershipRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.UpdatePrivacyBudgetTemplateRequestMarshaller;
import software.amazon.awssdk.services.cleanrooms.transform.UpdateProtectedQueryRequestMarshaller;
import software.amazon.awssdk.utils.Logger;

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

    private static final AwsProtocolMetadata protocolMetadata = AwsProtocolMetadata.builder()
            .serviceProtocol(AwsServiceProtocol.REST_JSON).build();

    private final SyncClientHandler clientHandler;

    private final AwsJsonProtocolFactory protocolFactory;

    private final SdkClientConfiguration clientConfiguration;

    protected DefaultCleanRoomsClient(SdkClientConfiguration clientConfiguration) {
        this.clientHandler = new AwsSyncClientHandler(clientConfiguration);
        this.clientConfiguration = clientConfiguration.toBuilder().option(SdkClientOption.SDK_CLIENT, this).build();
        this.protocolFactory = init(AwsJsonProtocolFactory.builder()).build();
    }

    /**
     * 

* Retrieves multiple analysis templates within a collaboration by their Amazon Resource Names (ARNs). *

* * @param batchGetCollaborationAnalysisTemplateRequest * @return Result of the BatchGetCollaborationAnalysisTemplate operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.BatchGetCollaborationAnalysisTemplate * @see AWS API Documentation */ @Override public BatchGetCollaborationAnalysisTemplateResponse batchGetCollaborationAnalysisTemplate( BatchGetCollaborationAnalysisTemplateRequest batchGetCollaborationAnalysisTemplateRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, BatchGetCollaborationAnalysisTemplateResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(batchGetCollaborationAnalysisTemplateRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, batchGetCollaborationAnalysisTemplateRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "BatchGetCollaborationAnalysisTemplate"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("BatchGetCollaborationAnalysisTemplate").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration) .withInput(batchGetCollaborationAnalysisTemplateRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new BatchGetCollaborationAnalysisTemplateRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Retrieves multiple schemas by their identifiers. *

* * @param batchGetSchemaRequest * @return Result of the BatchGetSchema operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.BatchGetSchema * @see AWS API * Documentation */ @Override public BatchGetSchemaResponse batchGetSchema(BatchGetSchemaRequest batchGetSchemaRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, BatchGetSchemaResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(batchGetSchemaRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, batchGetSchemaRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "BatchGetSchema"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("BatchGetSchema").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(batchGetSchemaRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new BatchGetSchemaRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Retrieves multiple analysis rule schemas. *

* * @param batchGetSchemaAnalysisRuleRequest * @return Result of the BatchGetSchemaAnalysisRule operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.BatchGetSchemaAnalysisRule * @see AWS API Documentation */ @Override public BatchGetSchemaAnalysisRuleResponse batchGetSchemaAnalysisRule( BatchGetSchemaAnalysisRuleRequest batchGetSchemaAnalysisRuleRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, BatchGetSchemaAnalysisRuleResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(batchGetSchemaAnalysisRuleRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, batchGetSchemaAnalysisRuleRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "BatchGetSchemaAnalysisRule"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("BatchGetSchemaAnalysisRule").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(batchGetSchemaAnalysisRuleRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new BatchGetSchemaAnalysisRuleRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Creates a new analysis template. *

* * @param createAnalysisTemplateRequest * @return Result of the CreateAnalysisTemplate operation returned by the service. * @throws ConflictException * Updating or deleting a resource can cause an inconsistent state. * @throws ServiceQuotaExceededException * Request denied because service quota has been exceeded. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.CreateAnalysisTemplate * @see AWS API Documentation */ @Override public CreateAnalysisTemplateResponse createAnalysisTemplate(CreateAnalysisTemplateRequest createAnalysisTemplateRequest) throws ConflictException, ServiceQuotaExceededException, ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateAnalysisTemplateResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createAnalysisTemplateRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createAnalysisTemplateRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateAnalysisTemplate"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateAnalysisTemplate").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createAnalysisTemplateRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateAnalysisTemplateRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Creates a new collaboration. *

* * @param createCollaborationRequest * @return Result of the CreateCollaboration operation returned by the service. * @throws ServiceQuotaExceededException * Request denied because service quota has been exceeded. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.CreateCollaboration * @see AWS API Documentation */ @Override public CreateCollaborationResponse createCollaboration(CreateCollaborationRequest createCollaborationRequest) throws ServiceQuotaExceededException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateCollaborationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createCollaborationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createCollaborationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateCollaboration"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateCollaboration").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createCollaborationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateCollaborationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Provides the details necessary to create a configured audience model association. *

* * @param createConfiguredAudienceModelAssociationRequest * @return Result of the CreateConfiguredAudienceModelAssociation operation returned by the service. * @throws ConflictException * Updating or deleting a resource can cause an inconsistent state. * @throws ServiceQuotaExceededException * Request denied because service quota has been exceeded. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.CreateConfiguredAudienceModelAssociation * @see AWS API Documentation */ @Override public CreateConfiguredAudienceModelAssociationResponse createConfiguredAudienceModelAssociation( CreateConfiguredAudienceModelAssociationRequest createConfiguredAudienceModelAssociationRequest) throws ConflictException, ServiceQuotaExceededException, ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, CreateConfiguredAudienceModelAssociationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration( createConfiguredAudienceModelAssociationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createConfiguredAudienceModelAssociationRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateConfiguredAudienceModelAssociation"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateConfiguredAudienceModelAssociation").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration) .withInput(createConfiguredAudienceModelAssociationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateConfiguredAudienceModelAssociationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Creates a new configured table resource. *

* * @param createConfiguredTableRequest * @return Result of the CreateConfiguredTable operation returned by the service. * @throws ConflictException * Updating or deleting a resource can cause an inconsistent state. * @throws ServiceQuotaExceededException * Request denied because service quota has been exceeded. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.CreateConfiguredTable * @see AWS API Documentation */ @Override public CreateConfiguredTableResponse createConfiguredTable(CreateConfiguredTableRequest createConfiguredTableRequest) throws ConflictException, ServiceQuotaExceededException, ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateConfiguredTableResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createConfiguredTableRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createConfiguredTableRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateConfiguredTable"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateConfiguredTable").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createConfiguredTableRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateConfiguredTableRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Creates a new analysis rule for a configured table. Currently, only one analysis rule can be created for a given * configured table. *

* * @param createConfiguredTableAnalysisRuleRequest * @return Result of the CreateConfiguredTableAnalysisRule operation returned by the service. * @throws ConflictException * Updating or deleting a resource can cause an inconsistent state. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.CreateConfiguredTableAnalysisRule * @see AWS API Documentation */ @Override public CreateConfiguredTableAnalysisRuleResponse createConfiguredTableAnalysisRule( CreateConfiguredTableAnalysisRuleRequest createConfiguredTableAnalysisRuleRequest) throws ConflictException, ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateConfiguredTableAnalysisRuleResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createConfiguredTableAnalysisRuleRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createConfiguredTableAnalysisRuleRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateConfiguredTableAnalysisRule"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateConfiguredTableAnalysisRule").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createConfiguredTableAnalysisRuleRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateConfiguredTableAnalysisRuleRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Creates a configured table association. A configured table association links a configured table with a * collaboration. *

* * @param createConfiguredTableAssociationRequest * @return Result of the CreateConfiguredTableAssociation operation returned by the service. * @throws ConflictException * Updating or deleting a resource can cause an inconsistent state. * @throws ServiceQuotaExceededException * Request denied because service quota has been exceeded. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.CreateConfiguredTableAssociation * @see AWS API Documentation */ @Override public CreateConfiguredTableAssociationResponse createConfiguredTableAssociation( CreateConfiguredTableAssociationRequest createConfiguredTableAssociationRequest) throws ConflictException, ServiceQuotaExceededException, ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateConfiguredTableAssociationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createConfiguredTableAssociationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createConfiguredTableAssociationRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateConfiguredTableAssociation"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateConfiguredTableAssociation").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createConfiguredTableAssociationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateConfiguredTableAssociationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Creates a new analysis rule for an associated configured table. *

* * @param createConfiguredTableAssociationAnalysisRuleRequest * @return Result of the CreateConfiguredTableAssociationAnalysisRule operation returned by the service. * @throws ConflictException * Updating or deleting a resource can cause an inconsistent state. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.CreateConfiguredTableAssociationAnalysisRule * @see AWS API Documentation */ @Override public CreateConfiguredTableAssociationAnalysisRuleResponse createConfiguredTableAssociationAnalysisRule( CreateConfiguredTableAssociationAnalysisRuleRequest createConfiguredTableAssociationAnalysisRuleRequest) throws ConflictException, ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, CreateConfiguredTableAssociationAnalysisRuleResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration( createConfiguredTableAssociationAnalysisRuleRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createConfiguredTableAssociationAnalysisRuleRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateConfiguredTableAssociationAnalysisRule"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateConfiguredTableAssociationAnalysisRule") .withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(createConfiguredTableAssociationAnalysisRuleRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateConfiguredTableAssociationAnalysisRuleRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Creates an ID mapping table. *

* * @param createIdMappingTableRequest * @return Result of the CreateIdMappingTable operation returned by the service. * @throws ConflictException * Updating or deleting a resource can cause an inconsistent state. * @throws ServiceQuotaExceededException * Request denied because service quota has been exceeded. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.CreateIdMappingTable * @see AWS API Documentation */ @Override public CreateIdMappingTableResponse createIdMappingTable(CreateIdMappingTableRequest createIdMappingTableRequest) throws ConflictException, ServiceQuotaExceededException, ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateIdMappingTableResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createIdMappingTableRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createIdMappingTableRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateIdMappingTable"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateIdMappingTable").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createIdMappingTableRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateIdMappingTableRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Creates an ID namespace association. *

* * @param createIdNamespaceAssociationRequest * @return Result of the CreateIdNamespaceAssociation operation returned by the service. * @throws ConflictException * Updating or deleting a resource can cause an inconsistent state. * @throws ServiceQuotaExceededException * Request denied because service quota has been exceeded. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.CreateIdNamespaceAssociation * @see AWS API Documentation */ @Override public CreateIdNamespaceAssociationResponse createIdNamespaceAssociation( CreateIdNamespaceAssociationRequest createIdNamespaceAssociationRequest) throws ConflictException, ServiceQuotaExceededException, ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateIdNamespaceAssociationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createIdNamespaceAssociationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createIdNamespaceAssociationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateIdNamespaceAssociation"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateIdNamespaceAssociation").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createIdNamespaceAssociationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateIdNamespaceAssociationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Creates a membership for a specific collaboration identifier and joins the collaboration. *

* * @param createMembershipRequest * @return Result of the CreateMembership operation returned by the service. * @throws ConflictException * Updating or deleting a resource can cause an inconsistent state. * @throws ServiceQuotaExceededException * Request denied because service quota has been exceeded. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.CreateMembership * @see AWS * API Documentation */ @Override public CreateMembershipResponse createMembership(CreateMembershipRequest createMembershipRequest) throws ConflictException, ServiceQuotaExceededException, ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreateMembershipResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createMembershipRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createMembershipRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateMembership"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateMembership").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createMembershipRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateMembershipRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Creates a privacy budget template for a specified membership. Each membership can have only one privacy budget * template, but it can be deleted and recreated. If you need to change the privacy budget template for a * membership, use the UpdatePrivacyBudgetTemplate operation. *

* * @param createPrivacyBudgetTemplateRequest * @return Result of the CreatePrivacyBudgetTemplate operation returned by the service. * @throws ConflictException * Updating or deleting a resource can cause an inconsistent state. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.CreatePrivacyBudgetTemplate * @see AWS API Documentation */ @Override public CreatePrivacyBudgetTemplateResponse createPrivacyBudgetTemplate( CreatePrivacyBudgetTemplateRequest createPrivacyBudgetTemplateRequest) throws ConflictException, ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreatePrivacyBudgetTemplateResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createPrivacyBudgetTemplateRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createPrivacyBudgetTemplateRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreatePrivacyBudgetTemplate"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("CreatePrivacyBudgetTemplate").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createPrivacyBudgetTemplateRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreatePrivacyBudgetTemplateRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Deletes an analysis template. *

* * @param deleteAnalysisTemplateRequest * @return Result of the DeleteAnalysisTemplate operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.DeleteAnalysisTemplate * @see AWS API Documentation */ @Override public DeleteAnalysisTemplateResponse deleteAnalysisTemplate(DeleteAnalysisTemplateRequest deleteAnalysisTemplateRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteAnalysisTemplateResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteAnalysisTemplateRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteAnalysisTemplateRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteAnalysisTemplate"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteAnalysisTemplate").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteAnalysisTemplateRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteAnalysisTemplateRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Deletes a collaboration. It can only be called by the collaboration owner. *

* * @param deleteCollaborationRequest * @return Result of the DeleteCollaboration operation returned by the service. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.DeleteCollaboration * @see AWS API Documentation */ @Override public DeleteCollaborationResponse deleteCollaboration(DeleteCollaborationRequest deleteCollaborationRequest) throws InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteCollaborationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteCollaborationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteCollaborationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteCollaboration"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteCollaboration").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteCollaborationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteCollaborationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Provides the information necessary to delete a configured audience model association. *

* * @param deleteConfiguredAudienceModelAssociationRequest * @return Result of the DeleteConfiguredAudienceModelAssociation operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.DeleteConfiguredAudienceModelAssociation * @see AWS API Documentation */ @Override public DeleteConfiguredAudienceModelAssociationResponse deleteConfiguredAudienceModelAssociation( DeleteConfiguredAudienceModelAssociationRequest deleteConfiguredAudienceModelAssociationRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, DeleteConfiguredAudienceModelAssociationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration( deleteConfiguredAudienceModelAssociationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteConfiguredAudienceModelAssociationRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteConfiguredAudienceModelAssociation"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteConfiguredAudienceModelAssociation").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration) .withInput(deleteConfiguredAudienceModelAssociationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteConfiguredAudienceModelAssociationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Deletes a configured table. *

* * @param deleteConfiguredTableRequest * @return Result of the DeleteConfiguredTable operation returned by the service. * @throws ConflictException * Updating or deleting a resource can cause an inconsistent state. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.DeleteConfiguredTable * @see AWS API Documentation */ @Override public DeleteConfiguredTableResponse deleteConfiguredTable(DeleteConfiguredTableRequest deleteConfiguredTableRequest) throws ConflictException, ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteConfiguredTableResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteConfiguredTableRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteConfiguredTableRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteConfiguredTable"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteConfiguredTable").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteConfiguredTableRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteConfiguredTableRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Deletes a configured table analysis rule. *

* * @param deleteConfiguredTableAnalysisRuleRequest * @return Result of the DeleteConfiguredTableAnalysisRule operation returned by the service. * @throws ConflictException * Updating or deleting a resource can cause an inconsistent state. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.DeleteConfiguredTableAnalysisRule * @see AWS API Documentation */ @Override public DeleteConfiguredTableAnalysisRuleResponse deleteConfiguredTableAnalysisRule( DeleteConfiguredTableAnalysisRuleRequest deleteConfiguredTableAnalysisRuleRequest) throws ConflictException, ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteConfiguredTableAnalysisRuleResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteConfiguredTableAnalysisRuleRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteConfiguredTableAnalysisRuleRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteConfiguredTableAnalysisRule"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteConfiguredTableAnalysisRule").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteConfiguredTableAnalysisRuleRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteConfiguredTableAnalysisRuleRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Deletes a configured table association. *

* * @param deleteConfiguredTableAssociationRequest * @return Result of the DeleteConfiguredTableAssociation operation returned by the service. * @throws ConflictException * Updating or deleting a resource can cause an inconsistent state. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.DeleteConfiguredTableAssociation * @see AWS API Documentation */ @Override public DeleteConfiguredTableAssociationResponse deleteConfiguredTableAssociation( DeleteConfiguredTableAssociationRequest deleteConfiguredTableAssociationRequest) throws ConflictException, ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteConfiguredTableAssociationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteConfiguredTableAssociationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteConfiguredTableAssociationRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteConfiguredTableAssociation"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteConfiguredTableAssociation").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteConfiguredTableAssociationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteConfiguredTableAssociationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Deletes an analysis rule for a configured table association. *

* * @param deleteConfiguredTableAssociationAnalysisRuleRequest * @return Result of the DeleteConfiguredTableAssociationAnalysisRule operation returned by the service. * @throws ConflictException * Updating or deleting a resource can cause an inconsistent state. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.DeleteConfiguredTableAssociationAnalysisRule * @see AWS API Documentation */ @Override public DeleteConfiguredTableAssociationAnalysisRuleResponse deleteConfiguredTableAssociationAnalysisRule( DeleteConfiguredTableAssociationAnalysisRuleRequest deleteConfiguredTableAssociationAnalysisRuleRequest) throws ConflictException, ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, DeleteConfiguredTableAssociationAnalysisRuleResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration( deleteConfiguredTableAssociationAnalysisRuleRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteConfiguredTableAssociationAnalysisRuleRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteConfiguredTableAssociationAnalysisRule"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteConfiguredTableAssociationAnalysisRule") .withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(deleteConfiguredTableAssociationAnalysisRuleRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteConfiguredTableAssociationAnalysisRuleRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Deletes an ID mapping table. *

* * @param deleteIdMappingTableRequest * @return Result of the DeleteIdMappingTable operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.DeleteIdMappingTable * @see AWS API Documentation */ @Override public DeleteIdMappingTableResponse deleteIdMappingTable(DeleteIdMappingTableRequest deleteIdMappingTableRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteIdMappingTableResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteIdMappingTableRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteIdMappingTableRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteIdMappingTable"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteIdMappingTable").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteIdMappingTableRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteIdMappingTableRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Deletes an ID namespace association. *

* * @param deleteIdNamespaceAssociationRequest * @return Result of the DeleteIdNamespaceAssociation operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.DeleteIdNamespaceAssociation * @see AWS API Documentation */ @Override public DeleteIdNamespaceAssociationResponse deleteIdNamespaceAssociation( DeleteIdNamespaceAssociationRequest deleteIdNamespaceAssociationRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteIdNamespaceAssociationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteIdNamespaceAssociationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteIdNamespaceAssociationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteIdNamespaceAssociation"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteIdNamespaceAssociation").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteIdNamespaceAssociationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteIdNamespaceAssociationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Removes the specified member from a collaboration. The removed member is placed in the Removed status and can't * interact with the collaboration. The removed member's data is inaccessible to active members of the * collaboration. *

* * @param deleteMemberRequest * @return Result of the DeleteMember operation returned by the service. * @throws ConflictException * Updating or deleting a resource can cause an inconsistent state. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.DeleteMember * @see AWS API * Documentation */ @Override public DeleteMemberResponse deleteMember(DeleteMemberRequest deleteMemberRequest) throws ConflictException, ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteMemberResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteMemberRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteMemberRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteMember"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteMember").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteMemberRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteMemberRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Deletes a specified membership. All resources under a membership must be deleted. *

* * @param deleteMembershipRequest * @return Result of the DeleteMembership operation returned by the service. * @throws ConflictException * Updating or deleting a resource can cause an inconsistent state. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.DeleteMembership * @see AWS * API Documentation */ @Override public DeleteMembershipResponse deleteMembership(DeleteMembershipRequest deleteMembershipRequest) throws ConflictException, ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteMembershipResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteMembershipRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteMembershipRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteMembership"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteMembership").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteMembershipRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteMembershipRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Deletes a privacy budget template for a specified membership. *

* * @param deletePrivacyBudgetTemplateRequest * @return Result of the DeletePrivacyBudgetTemplate operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.DeletePrivacyBudgetTemplate * @see AWS API Documentation */ @Override public DeletePrivacyBudgetTemplateResponse deletePrivacyBudgetTemplate( DeletePrivacyBudgetTemplateRequest deletePrivacyBudgetTemplateRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeletePrivacyBudgetTemplateResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deletePrivacyBudgetTemplateRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deletePrivacyBudgetTemplateRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeletePrivacyBudgetTemplate"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DeletePrivacyBudgetTemplate").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deletePrivacyBudgetTemplateRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeletePrivacyBudgetTemplateRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Retrieves an analysis template. *

* * @param getAnalysisTemplateRequest * @return Result of the GetAnalysisTemplate operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.GetAnalysisTemplate * @see AWS API Documentation */ @Override public GetAnalysisTemplateResponse getAnalysisTemplate(GetAnalysisTemplateRequest getAnalysisTemplateRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetAnalysisTemplateResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getAnalysisTemplateRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getAnalysisTemplateRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetAnalysisTemplate"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetAnalysisTemplate").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(getAnalysisTemplateRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetAnalysisTemplateRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Returns metadata about a collaboration. *

* * @param getCollaborationRequest * @return Result of the GetCollaboration operation returned by the service. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.GetCollaboration * @see AWS * API Documentation */ @Override public GetCollaborationResponse getCollaboration(GetCollaborationRequest getCollaborationRequest) throws InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetCollaborationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getCollaborationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getCollaborationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetCollaboration"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetCollaboration").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(getCollaborationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetCollaborationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Retrieves an analysis template within a collaboration. *

* * @param getCollaborationAnalysisTemplateRequest * @return Result of the GetCollaborationAnalysisTemplate operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.GetCollaborationAnalysisTemplate * @see AWS API Documentation */ @Override public GetCollaborationAnalysisTemplateResponse getCollaborationAnalysisTemplate( GetCollaborationAnalysisTemplateRequest getCollaborationAnalysisTemplateRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetCollaborationAnalysisTemplateResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getCollaborationAnalysisTemplateRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getCollaborationAnalysisTemplateRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetCollaborationAnalysisTemplate"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("GetCollaborationAnalysisTemplate").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(getCollaborationAnalysisTemplateRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetCollaborationAnalysisTemplateRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Retrieves a configured audience model association within a collaboration. *

* * @param getCollaborationConfiguredAudienceModelAssociationRequest * @return Result of the GetCollaborationConfiguredAudienceModelAssociation operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.GetCollaborationConfiguredAudienceModelAssociation * @see AWS API Documentation */ @Override public GetCollaborationConfiguredAudienceModelAssociationResponse getCollaborationConfiguredAudienceModelAssociation( GetCollaborationConfiguredAudienceModelAssociationRequest getCollaborationConfiguredAudienceModelAssociationRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, GetCollaborationConfiguredAudienceModelAssociationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration( getCollaborationConfiguredAudienceModelAssociationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getCollaborationConfiguredAudienceModelAssociationRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetCollaborationConfiguredAudienceModelAssociation"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("GetCollaborationConfiguredAudienceModelAssociation") .withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration) .withInput(getCollaborationConfiguredAudienceModelAssociationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller( new GetCollaborationConfiguredAudienceModelAssociationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Retrieves an ID namespace association from a specific collaboration. *

* * @param getCollaborationIdNamespaceAssociationRequest * @return Result of the GetCollaborationIdNamespaceAssociation operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.GetCollaborationIdNamespaceAssociation * @see AWS API Documentation */ @Override public GetCollaborationIdNamespaceAssociationResponse getCollaborationIdNamespaceAssociation( GetCollaborationIdNamespaceAssociationRequest getCollaborationIdNamespaceAssociationRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, GetCollaborationIdNamespaceAssociationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getCollaborationIdNamespaceAssociationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getCollaborationIdNamespaceAssociationRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetCollaborationIdNamespaceAssociation"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("GetCollaborationIdNamespaceAssociation").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration) .withInput(getCollaborationIdNamespaceAssociationRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetCollaborationIdNamespaceAssociationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Returns details about a specified privacy budget template. *

* * @param getCollaborationPrivacyBudgetTemplateRequest * @return Result of the GetCollaborationPrivacyBudgetTemplate operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.GetCollaborationPrivacyBudgetTemplate * @see AWS API Documentation */ @Override public GetCollaborationPrivacyBudgetTemplateResponse getCollaborationPrivacyBudgetTemplate( GetCollaborationPrivacyBudgetTemplateRequest getCollaborationPrivacyBudgetTemplateRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, GetCollaborationPrivacyBudgetTemplateResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getCollaborationPrivacyBudgetTemplateRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getCollaborationPrivacyBudgetTemplateRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetCollaborationPrivacyBudgetTemplate"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("GetCollaborationPrivacyBudgetTemplate").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration) .withInput(getCollaborationPrivacyBudgetTemplateRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetCollaborationPrivacyBudgetTemplateRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Returns information about a configured audience model association. *

* * @param getConfiguredAudienceModelAssociationRequest * @return Result of the GetConfiguredAudienceModelAssociation operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.GetConfiguredAudienceModelAssociation * @see AWS API Documentation */ @Override public GetConfiguredAudienceModelAssociationResponse getConfiguredAudienceModelAssociation( GetConfiguredAudienceModelAssociationRequest getConfiguredAudienceModelAssociationRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, GetConfiguredAudienceModelAssociationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getConfiguredAudienceModelAssociationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getConfiguredAudienceModelAssociationRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetConfiguredAudienceModelAssociation"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("GetConfiguredAudienceModelAssociation").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration) .withInput(getConfiguredAudienceModelAssociationRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetConfiguredAudienceModelAssociationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Retrieves a configured table. *

* * @param getConfiguredTableRequest * @return Result of the GetConfiguredTable operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.GetConfiguredTable * @see AWS * API Documentation */ @Override public GetConfiguredTableResponse getConfiguredTable(GetConfiguredTableRequest getConfiguredTableRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetConfiguredTableResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getConfiguredTableRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getConfiguredTableRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetConfiguredTable"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetConfiguredTable").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(getConfiguredTableRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetConfiguredTableRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Retrieves a configured table analysis rule. *

* * @param getConfiguredTableAnalysisRuleRequest * @return Result of the GetConfiguredTableAnalysisRule operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.GetConfiguredTableAnalysisRule * @see AWS API Documentation */ @Override public GetConfiguredTableAnalysisRuleResponse getConfiguredTableAnalysisRule( GetConfiguredTableAnalysisRuleRequest getConfiguredTableAnalysisRuleRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetConfiguredTableAnalysisRuleResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getConfiguredTableAnalysisRuleRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getConfiguredTableAnalysisRuleRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetConfiguredTableAnalysisRule"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("GetConfiguredTableAnalysisRule").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(getConfiguredTableAnalysisRuleRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetConfiguredTableAnalysisRuleRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Retrieves a configured table association. *

* * @param getConfiguredTableAssociationRequest * @return Result of the GetConfiguredTableAssociation operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.GetConfiguredTableAssociation * @see AWS API Documentation */ @Override public GetConfiguredTableAssociationResponse getConfiguredTableAssociation( GetConfiguredTableAssociationRequest getConfiguredTableAssociationRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetConfiguredTableAssociationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getConfiguredTableAssociationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getConfiguredTableAssociationRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetConfiguredTableAssociation"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("GetConfiguredTableAssociation").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(getConfiguredTableAssociationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetConfiguredTableAssociationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Retrieves the analysis rule for a configured table association. *

* * @param getConfiguredTableAssociationAnalysisRuleRequest * @return Result of the GetConfiguredTableAssociationAnalysisRule operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.GetConfiguredTableAssociationAnalysisRule * @see AWS API Documentation */ @Override public GetConfiguredTableAssociationAnalysisRuleResponse getConfiguredTableAssociationAnalysisRule( GetConfiguredTableAssociationAnalysisRuleRequest getConfiguredTableAssociationAnalysisRuleRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, GetConfiguredTableAssociationAnalysisRuleResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration( getConfiguredTableAssociationAnalysisRuleRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getConfiguredTableAssociationAnalysisRuleRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetConfiguredTableAssociationAnalysisRule"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("GetConfiguredTableAssociationAnalysisRule") .withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(getConfiguredTableAssociationAnalysisRuleRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetConfiguredTableAssociationAnalysisRuleRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Retrieves an ID mapping table. *

* * @param getIdMappingTableRequest * @return Result of the GetIdMappingTable operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.GetIdMappingTable * @see AWS * API Documentation */ @Override public GetIdMappingTableResponse getIdMappingTable(GetIdMappingTableRequest getIdMappingTableRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetIdMappingTableResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getIdMappingTableRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getIdMappingTableRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetIdMappingTable"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetIdMappingTable").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(getIdMappingTableRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetIdMappingTableRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Retrieves an ID namespace association. *

* * @param getIdNamespaceAssociationRequest * @return Result of the GetIdNamespaceAssociation operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.GetIdNamespaceAssociation * @see AWS API Documentation */ @Override public GetIdNamespaceAssociationResponse getIdNamespaceAssociation( GetIdNamespaceAssociationRequest getIdNamespaceAssociationRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetIdNamespaceAssociationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getIdNamespaceAssociationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getIdNamespaceAssociationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetIdNamespaceAssociation"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("GetIdNamespaceAssociation").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(getIdNamespaceAssociationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetIdNamespaceAssociationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Retrieves a specified membership for an identifier. *

* * @param getMembershipRequest * @return Result of the GetMembership operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.GetMembership * @see AWS API * Documentation */ @Override public GetMembershipResponse getMembership(GetMembershipRequest getMembershipRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetMembershipResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getMembershipRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getMembershipRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetMembership"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetMembership").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(getMembershipRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetMembershipRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Returns details for a specified privacy budget template. *

* * @param getPrivacyBudgetTemplateRequest * @return Result of the GetPrivacyBudgetTemplate operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.GetPrivacyBudgetTemplate * @see AWS API Documentation */ @Override public GetPrivacyBudgetTemplateResponse getPrivacyBudgetTemplate( GetPrivacyBudgetTemplateRequest getPrivacyBudgetTemplateRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetPrivacyBudgetTemplateResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getPrivacyBudgetTemplateRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getPrivacyBudgetTemplateRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetPrivacyBudgetTemplate"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("GetPrivacyBudgetTemplate").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(getPrivacyBudgetTemplateRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetPrivacyBudgetTemplateRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Returns query processing metadata. *

* * @param getProtectedQueryRequest * @return Result of the GetProtectedQuery operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.GetProtectedQuery * @see AWS * API Documentation */ @Override public GetProtectedQueryResponse getProtectedQuery(GetProtectedQueryRequest getProtectedQueryRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetProtectedQueryResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getProtectedQueryRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getProtectedQueryRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetProtectedQuery"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetProtectedQuery").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(getProtectedQueryRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetProtectedQueryRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Retrieves the schema for a relation within a collaboration. *

* * @param getSchemaRequest * @return Result of the GetSchema operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.GetSchema * @see AWS API * Documentation */ @Override public GetSchemaResponse getSchema(GetSchemaRequest getSchemaRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetSchemaResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getSchemaRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getSchemaRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetSchema"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetSchema").withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(getSchemaRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetSchemaRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Retrieves a schema analysis rule. *

* * @param getSchemaAnalysisRuleRequest * @return Result of the GetSchemaAnalysisRule operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.GetSchemaAnalysisRule * @see AWS API Documentation */ @Override public GetSchemaAnalysisRuleResponse getSchemaAnalysisRule(GetSchemaAnalysisRuleRequest getSchemaAnalysisRuleRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetSchemaAnalysisRuleResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getSchemaAnalysisRuleRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getSchemaAnalysisRuleRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetSchemaAnalysisRule"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetSchemaAnalysisRule").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(getSchemaAnalysisRuleRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetSchemaAnalysisRuleRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Lists analysis templates that the caller owns. *

* * @param listAnalysisTemplatesRequest * @return Result of the ListAnalysisTemplates operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.ListAnalysisTemplates * @see AWS API Documentation */ @Override public ListAnalysisTemplatesResponse listAnalysisTemplates(ListAnalysisTemplatesRequest listAnalysisTemplatesRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListAnalysisTemplatesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listAnalysisTemplatesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listAnalysisTemplatesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListAnalysisTemplates"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListAnalysisTemplates").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listAnalysisTemplatesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListAnalysisTemplatesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Lists analysis templates within a collaboration. *

* * @param listCollaborationAnalysisTemplatesRequest * @return Result of the ListCollaborationAnalysisTemplates operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.ListCollaborationAnalysisTemplates * @see AWS API Documentation */ @Override public ListCollaborationAnalysisTemplatesResponse listCollaborationAnalysisTemplates( ListCollaborationAnalysisTemplatesRequest listCollaborationAnalysisTemplatesRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListCollaborationAnalysisTemplatesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listCollaborationAnalysisTemplatesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listCollaborationAnalysisTemplatesRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListCollaborationAnalysisTemplates"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListCollaborationAnalysisTemplates").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listCollaborationAnalysisTemplatesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListCollaborationAnalysisTemplatesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Lists configured audience model associations within a collaboration. *

* * @param listCollaborationConfiguredAudienceModelAssociationsRequest * @return Result of the ListCollaborationConfiguredAudienceModelAssociations operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.ListCollaborationConfiguredAudienceModelAssociations * @see AWS API Documentation */ @Override public ListCollaborationConfiguredAudienceModelAssociationsResponse listCollaborationConfiguredAudienceModelAssociations( ListCollaborationConfiguredAudienceModelAssociationsRequest listCollaborationConfiguredAudienceModelAssociationsRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, ListCollaborationConfiguredAudienceModelAssociationsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration( listCollaborationConfiguredAudienceModelAssociationsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listCollaborationConfiguredAudienceModelAssociationsRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector .reportMetric(CoreMetric.OPERATION_NAME, "ListCollaborationConfiguredAudienceModelAssociations"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListCollaborationConfiguredAudienceModelAssociations") .withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration) .withInput(listCollaborationConfiguredAudienceModelAssociationsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller( new ListCollaborationConfiguredAudienceModelAssociationsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Returns a list of the ID namespace associations in a collaboration. *

* * @param listCollaborationIdNamespaceAssociationsRequest * @return Result of the ListCollaborationIdNamespaceAssociations operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.ListCollaborationIdNamespaceAssociations * @see AWS API Documentation */ @Override public ListCollaborationIdNamespaceAssociationsResponse listCollaborationIdNamespaceAssociations( ListCollaborationIdNamespaceAssociationsRequest listCollaborationIdNamespaceAssociationsRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, ListCollaborationIdNamespaceAssociationsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration( listCollaborationIdNamespaceAssociationsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listCollaborationIdNamespaceAssociationsRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListCollaborationIdNamespaceAssociations"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListCollaborationIdNamespaceAssociations").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration) .withInput(listCollaborationIdNamespaceAssociationsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListCollaborationIdNamespaceAssociationsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Returns an array that summarizes each privacy budget template in a specified collaboration. *

* * @param listCollaborationPrivacyBudgetTemplatesRequest * @return Result of the ListCollaborationPrivacyBudgetTemplates operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.ListCollaborationPrivacyBudgetTemplates * @see AWS API Documentation */ @Override public ListCollaborationPrivacyBudgetTemplatesResponse listCollaborationPrivacyBudgetTemplates( ListCollaborationPrivacyBudgetTemplatesRequest listCollaborationPrivacyBudgetTemplatesRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, ListCollaborationPrivacyBudgetTemplatesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listCollaborationPrivacyBudgetTemplatesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listCollaborationPrivacyBudgetTemplatesRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListCollaborationPrivacyBudgetTemplates"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListCollaborationPrivacyBudgetTemplates").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration) .withInput(listCollaborationPrivacyBudgetTemplatesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListCollaborationPrivacyBudgetTemplatesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Returns an array that summarizes each privacy budget in a specified collaboration. The summary includes the * collaboration ARN, creation time, creating account, and privacy budget details. *

* * @param listCollaborationPrivacyBudgetsRequest * @return Result of the ListCollaborationPrivacyBudgets operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.ListCollaborationPrivacyBudgets * @see AWS API Documentation */ @Override public ListCollaborationPrivacyBudgetsResponse listCollaborationPrivacyBudgets( ListCollaborationPrivacyBudgetsRequest listCollaborationPrivacyBudgetsRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListCollaborationPrivacyBudgetsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listCollaborationPrivacyBudgetsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listCollaborationPrivacyBudgetsRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListCollaborationPrivacyBudgets"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListCollaborationPrivacyBudgets").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listCollaborationPrivacyBudgetsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListCollaborationPrivacyBudgetsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Lists collaborations the caller owns, is active in, or has been invited to. *

* * @param listCollaborationsRequest * @return Result of the ListCollaborations operation returned by the service. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.ListCollaborations * @see AWS * API Documentation */ @Override public ListCollaborationsResponse listCollaborations(ListCollaborationsRequest listCollaborationsRequest) throws InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListCollaborationsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listCollaborationsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listCollaborationsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListCollaborations"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListCollaborations").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listCollaborationsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListCollaborationsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Lists information about requested configured audience model associations. *

* * @param listConfiguredAudienceModelAssociationsRequest * @return Result of the ListConfiguredAudienceModelAssociations operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.ListConfiguredAudienceModelAssociations * @see AWS API Documentation */ @Override public ListConfiguredAudienceModelAssociationsResponse listConfiguredAudienceModelAssociations( ListConfiguredAudienceModelAssociationsRequest listConfiguredAudienceModelAssociationsRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, ListConfiguredAudienceModelAssociationsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listConfiguredAudienceModelAssociationsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listConfiguredAudienceModelAssociationsRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListConfiguredAudienceModelAssociations"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListConfiguredAudienceModelAssociations").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration) .withInput(listConfiguredAudienceModelAssociationsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListConfiguredAudienceModelAssociationsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Lists configured table associations for a membership. *

* * @param listConfiguredTableAssociationsRequest * @return Result of the ListConfiguredTableAssociations operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.ListConfiguredTableAssociations * @see AWS API Documentation */ @Override public ListConfiguredTableAssociationsResponse listConfiguredTableAssociations( ListConfiguredTableAssociationsRequest listConfiguredTableAssociationsRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListConfiguredTableAssociationsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listConfiguredTableAssociationsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listConfiguredTableAssociationsRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListConfiguredTableAssociations"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListConfiguredTableAssociations").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listConfiguredTableAssociationsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListConfiguredTableAssociationsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Lists configured tables. *

* * @param listConfiguredTablesRequest * @return Result of the ListConfiguredTables operation returned by the service. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.ListConfiguredTables * @see AWS API Documentation */ @Override public ListConfiguredTablesResponse listConfiguredTables(ListConfiguredTablesRequest listConfiguredTablesRequest) throws InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListConfiguredTablesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listConfiguredTablesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listConfiguredTablesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListConfiguredTables"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListConfiguredTables").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listConfiguredTablesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListConfiguredTablesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Returns a list of ID mapping tables. *

* * @param listIdMappingTablesRequest * @return Result of the ListIdMappingTables operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.ListIdMappingTables * @see AWS API Documentation */ @Override public ListIdMappingTablesResponse listIdMappingTables(ListIdMappingTablesRequest listIdMappingTablesRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListIdMappingTablesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listIdMappingTablesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listIdMappingTablesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListIdMappingTables"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListIdMappingTables").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listIdMappingTablesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListIdMappingTablesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Returns a list of ID namespace associations. *

* * @param listIdNamespaceAssociationsRequest * @return Result of the ListIdNamespaceAssociations operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.ListIdNamespaceAssociations * @see AWS API Documentation */ @Override public ListIdNamespaceAssociationsResponse listIdNamespaceAssociations( ListIdNamespaceAssociationsRequest listIdNamespaceAssociationsRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListIdNamespaceAssociationsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listIdNamespaceAssociationsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listIdNamespaceAssociationsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListIdNamespaceAssociations"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListIdNamespaceAssociations").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listIdNamespaceAssociationsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListIdNamespaceAssociationsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Lists all members within a collaboration. *

* * @param listMembersRequest * @return Result of the ListMembers operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.ListMembers * @see AWS API * Documentation */ @Override public ListMembersResponse listMembers(ListMembersRequest listMembersRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListMembersResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listMembersRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listMembersRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListMembers"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListMembers").withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(listMembersRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListMembersRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Lists all memberships resources within the caller's account. *

* * @param listMembershipsRequest * @return Result of the ListMemberships operation returned by the service. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.ListMemberships * @see AWS * API Documentation */ @Override public ListMembershipsResponse listMemberships(ListMembershipsRequest listMembershipsRequest) throws InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListMembershipsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listMembershipsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listMembershipsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListMemberships"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListMemberships").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listMembershipsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListMembershipsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Returns detailed information about the privacy budget templates in a specified membership. *

* * @param listPrivacyBudgetTemplatesRequest * @return Result of the ListPrivacyBudgetTemplates operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.ListPrivacyBudgetTemplates * @see AWS API Documentation */ @Override public ListPrivacyBudgetTemplatesResponse listPrivacyBudgetTemplates( ListPrivacyBudgetTemplatesRequest listPrivacyBudgetTemplatesRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListPrivacyBudgetTemplatesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listPrivacyBudgetTemplatesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listPrivacyBudgetTemplatesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListPrivacyBudgetTemplates"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListPrivacyBudgetTemplates").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listPrivacyBudgetTemplatesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListPrivacyBudgetTemplatesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Returns detailed information about the privacy budgets in a specified membership. *

* * @param listPrivacyBudgetsRequest * @return Result of the ListPrivacyBudgets operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.ListPrivacyBudgets * @see AWS * API Documentation */ @Override public ListPrivacyBudgetsResponse listPrivacyBudgets(ListPrivacyBudgetsRequest listPrivacyBudgetsRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListPrivacyBudgetsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listPrivacyBudgetsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listPrivacyBudgetsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListPrivacyBudgets"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListPrivacyBudgets").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listPrivacyBudgetsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListPrivacyBudgetsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Lists protected queries, sorted by the most recent query. *

* * @param listProtectedQueriesRequest * @return Result of the ListProtectedQueries operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.ListProtectedQueries * @see AWS API Documentation */ @Override public ListProtectedQueriesResponse listProtectedQueries(ListProtectedQueriesRequest listProtectedQueriesRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListProtectedQueriesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listProtectedQueriesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listProtectedQueriesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListProtectedQueries"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListProtectedQueries").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listProtectedQueriesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListProtectedQueriesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Lists the schemas for relations within a collaboration. *

* * @param listSchemasRequest * @return Result of the ListSchemas operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.ListSchemas * @see AWS API * Documentation */ @Override public ListSchemasResponse listSchemas(ListSchemasRequest listSchemasRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListSchemasResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listSchemasRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listSchemasRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListSchemas"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListSchemas").withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(listSchemasRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListSchemasRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Lists all of the tags that have been added to a resource. *

* * @param listTagsForResourceRequest * @return Result of the ListTagsForResource operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws ValidationException * The input fails to satisfy the specified constraints. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.ListTagsForResource * @see AWS API Documentation */ @Override public ListTagsForResourceResponse listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest) throws ResourceNotFoundException, ValidationException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListTagsForResourceResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listTagsForResourceRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listTagsForResourceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListTagsForResource"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListTagsForResource").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listTagsForResourceRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListTagsForResourceRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Defines the information that's necessary to populate an ID mapping table. *

* * @param populateIdMappingTableRequest * @return Result of the PopulateIdMappingTable operation returned by the service. * @throws ConflictException * Updating or deleting a resource can cause an inconsistent state. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.PopulateIdMappingTable * @see AWS API Documentation */ @Override public PopulateIdMappingTableResponse populateIdMappingTable(PopulateIdMappingTableRequest populateIdMappingTableRequest) throws ConflictException, ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, PopulateIdMappingTableResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(populateIdMappingTableRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, populateIdMappingTableRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "PopulateIdMappingTable"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("PopulateIdMappingTable").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(populateIdMappingTableRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new PopulateIdMappingTableRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* An estimate of the number of aggregation functions that the member who can query can run given epsilon and noise * parameters. *

* * @param previewPrivacyImpactRequest * @return Result of the PreviewPrivacyImpact operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.PreviewPrivacyImpact * @see AWS API Documentation */ @Override public PreviewPrivacyImpactResponse previewPrivacyImpact(PreviewPrivacyImpactRequest previewPrivacyImpactRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, PreviewPrivacyImpactResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(previewPrivacyImpactRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, previewPrivacyImpactRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "PreviewPrivacyImpact"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("PreviewPrivacyImpact").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(previewPrivacyImpactRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new PreviewPrivacyImpactRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Creates a protected query that is started by Clean Rooms. *

* * @param startProtectedQueryRequest * @return Result of the StartProtectedQuery operation returned by the service. * @throws ServiceQuotaExceededException * Request denied because service quota has been exceeded. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.StartProtectedQuery * @see AWS API Documentation */ @Override public StartProtectedQueryResponse startProtectedQuery(StartProtectedQueryRequest startProtectedQueryRequest) throws ServiceQuotaExceededException, ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, StartProtectedQueryResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(startProtectedQueryRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, startProtectedQueryRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StartProtectedQuery"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("StartProtectedQuery").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(startProtectedQueryRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new StartProtectedQueryRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Tags a resource. *

* * @param tagResourceRequest * @return Result of the TagResource operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws ValidationException * The input fails to satisfy the specified constraints. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.TagResource * @see AWS API * Documentation */ @Override public TagResourceResponse tagResource(TagResourceRequest tagResourceRequest) throws ResourceNotFoundException, ValidationException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, TagResourceResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(tagResourceRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, tagResourceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "TagResource"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("TagResource").withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(tagResourceRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new TagResourceRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Removes a tag or list of tags from a resource. *

* * @param untagResourceRequest * @return Result of the UntagResource operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws ValidationException * The input fails to satisfy the specified constraints. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.UntagResource * @see AWS API * Documentation */ @Override public UntagResourceResponse untagResource(UntagResourceRequest untagResourceRequest) throws ResourceNotFoundException, ValidationException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, UntagResourceResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(untagResourceRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, untagResourceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UntagResource"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UntagResource").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(untagResourceRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UntagResourceRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Updates the analysis template metadata. *

* * @param updateAnalysisTemplateRequest * @return Result of the UpdateAnalysisTemplate operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.UpdateAnalysisTemplate * @see AWS API Documentation */ @Override public UpdateAnalysisTemplateResponse updateAnalysisTemplate(UpdateAnalysisTemplateRequest updateAnalysisTemplateRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateAnalysisTemplateResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateAnalysisTemplateRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateAnalysisTemplateRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateAnalysisTemplate"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateAnalysisTemplate").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateAnalysisTemplateRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateAnalysisTemplateRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Updates collaboration metadata and can only be called by the collaboration owner. *

* * @param updateCollaborationRequest * @return Result of the UpdateCollaboration operation returned by the service. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.UpdateCollaboration * @see AWS API Documentation */ @Override public UpdateCollaborationResponse updateCollaboration(UpdateCollaborationRequest updateCollaborationRequest) throws InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateCollaborationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateCollaborationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateCollaborationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateCollaboration"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdateCollaboration").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateCollaborationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateCollaborationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Provides the details necessary to update a configured audience model association. *

* * @param updateConfiguredAudienceModelAssociationRequest * @return Result of the UpdateConfiguredAudienceModelAssociation operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.UpdateConfiguredAudienceModelAssociation * @see AWS API Documentation */ @Override public UpdateConfiguredAudienceModelAssociationResponse updateConfiguredAudienceModelAssociation( UpdateConfiguredAudienceModelAssociationRequest updateConfiguredAudienceModelAssociationRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, UpdateConfiguredAudienceModelAssociationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration( updateConfiguredAudienceModelAssociationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateConfiguredAudienceModelAssociationRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateConfiguredAudienceModelAssociation"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateConfiguredAudienceModelAssociation").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration) .withInput(updateConfiguredAudienceModelAssociationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateConfiguredAudienceModelAssociationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Updates a configured table. *

* * @param updateConfiguredTableRequest * @return Result of the UpdateConfiguredTable operation returned by the service. * @throws ConflictException * Updating or deleting a resource can cause an inconsistent state. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.UpdateConfiguredTable * @see AWS API Documentation */ @Override public UpdateConfiguredTableResponse updateConfiguredTable(UpdateConfiguredTableRequest updateConfiguredTableRequest) throws ConflictException, ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateConfiguredTableResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateConfiguredTableRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateConfiguredTableRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateConfiguredTable"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdateConfiguredTable").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateConfiguredTableRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateConfiguredTableRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Updates a configured table analysis rule. *

* * @param updateConfiguredTableAnalysisRuleRequest * @return Result of the UpdateConfiguredTableAnalysisRule operation returned by the service. * @throws ConflictException * Updating or deleting a resource can cause an inconsistent state. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.UpdateConfiguredTableAnalysisRule * @see AWS API Documentation */ @Override public UpdateConfiguredTableAnalysisRuleResponse updateConfiguredTableAnalysisRule( UpdateConfiguredTableAnalysisRuleRequest updateConfiguredTableAnalysisRuleRequest) throws ConflictException, ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateConfiguredTableAnalysisRuleResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateConfiguredTableAnalysisRuleRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateConfiguredTableAnalysisRuleRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateConfiguredTableAnalysisRule"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateConfiguredTableAnalysisRule").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateConfiguredTableAnalysisRuleRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateConfiguredTableAnalysisRuleRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Updates a configured table association. *

* * @param updateConfiguredTableAssociationRequest * @return Result of the UpdateConfiguredTableAssociation operation returned by the service. * @throws ConflictException * Updating or deleting a resource can cause an inconsistent state. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.UpdateConfiguredTableAssociation * @see AWS API Documentation */ @Override public UpdateConfiguredTableAssociationResponse updateConfiguredTableAssociation( UpdateConfiguredTableAssociationRequest updateConfiguredTableAssociationRequest) throws ConflictException, ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateConfiguredTableAssociationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateConfiguredTableAssociationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateConfiguredTableAssociationRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateConfiguredTableAssociation"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateConfiguredTableAssociation").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateConfiguredTableAssociationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateConfiguredTableAssociationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Updates the analysis rule for a configured table association. *

* * @param updateConfiguredTableAssociationAnalysisRuleRequest * @return Result of the UpdateConfiguredTableAssociationAnalysisRule operation returned by the service. * @throws ConflictException * Updating or deleting a resource can cause an inconsistent state. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.UpdateConfiguredTableAssociationAnalysisRule * @see AWS API Documentation */ @Override public UpdateConfiguredTableAssociationAnalysisRuleResponse updateConfiguredTableAssociationAnalysisRule( UpdateConfiguredTableAssociationAnalysisRuleRequest updateConfiguredTableAssociationAnalysisRuleRequest) throws ConflictException, ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, UpdateConfiguredTableAssociationAnalysisRuleResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration( updateConfiguredTableAssociationAnalysisRuleRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateConfiguredTableAssociationAnalysisRuleRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateConfiguredTableAssociationAnalysisRule"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateConfiguredTableAssociationAnalysisRule") .withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(updateConfiguredTableAssociationAnalysisRuleRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateConfiguredTableAssociationAnalysisRuleRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Provides the details that are necessary to update an ID mapping table. *

* * @param updateIdMappingTableRequest * @return Result of the UpdateIdMappingTable operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.UpdateIdMappingTable * @see AWS API Documentation */ @Override public UpdateIdMappingTableResponse updateIdMappingTable(UpdateIdMappingTableRequest updateIdMappingTableRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateIdMappingTableResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateIdMappingTableRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateIdMappingTableRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateIdMappingTable"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdateIdMappingTable").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateIdMappingTableRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateIdMappingTableRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Provides the details that are necessary to update an ID namespace association. *

* * @param updateIdNamespaceAssociationRequest * @return Result of the UpdateIdNamespaceAssociation operation returned by the service. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.UpdateIdNamespaceAssociation * @see AWS API Documentation */ @Override public UpdateIdNamespaceAssociationResponse updateIdNamespaceAssociation( UpdateIdNamespaceAssociationRequest updateIdNamespaceAssociationRequest) throws ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateIdNamespaceAssociationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateIdNamespaceAssociationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateIdNamespaceAssociationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateIdNamespaceAssociation"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateIdNamespaceAssociation").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateIdNamespaceAssociationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateIdNamespaceAssociationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Updates a membership. *

* * @param updateMembershipRequest * @return Result of the UpdateMembership operation returned by the service. * @throws ConflictException * Updating or deleting a resource can cause an inconsistent state. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.UpdateMembership * @see AWS * API Documentation */ @Override public UpdateMembershipResponse updateMembership(UpdateMembershipRequest updateMembershipRequest) throws ConflictException, ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, UpdateMembershipResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateMembershipRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateMembershipRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateMembership"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdateMembership").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateMembershipRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateMembershipRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Updates the privacy budget template for the specified membership. *

* * @param updatePrivacyBudgetTemplateRequest * @return Result of the UpdatePrivacyBudgetTemplate operation returned by the service. * @throws ConflictException * Updating or deleting a resource can cause an inconsistent state. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.UpdatePrivacyBudgetTemplate * @see AWS API Documentation */ @Override public UpdatePrivacyBudgetTemplateResponse updatePrivacyBudgetTemplate( UpdatePrivacyBudgetTemplateRequest updatePrivacyBudgetTemplateRequest) throws ConflictException, ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdatePrivacyBudgetTemplateResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updatePrivacyBudgetTemplateRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updatePrivacyBudgetTemplateRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdatePrivacyBudgetTemplate"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdatePrivacyBudgetTemplate").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updatePrivacyBudgetTemplateRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdatePrivacyBudgetTemplateRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Updates the processing of a currently running query. *

* * @param updateProtectedQueryRequest * @return Result of the UpdateProtectedQuery operation returned by the service. * @throws ConflictException * Updating or deleting a resource can cause an inconsistent state. * @throws ResourceNotFoundException * Request references a resource which does not exist. * @throws InternalServerException * Unexpected error during processing of request. * @throws ValidationException * The input fails to satisfy the specified constraints. * @throws ThrottlingException * Request was denied due to request throttling. * @throws AccessDeniedException * Caller does not have sufficient access to perform this action. * @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 CleanRoomsException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CleanRoomsClient.UpdateProtectedQuery * @see AWS API Documentation */ @Override public UpdateProtectedQueryResponse updateProtectedQuery(UpdateProtectedQueryRequest updateProtectedQueryRequest) throws ConflictException, ResourceNotFoundException, InternalServerException, ValidationException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, CleanRoomsException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateProtectedQueryResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateProtectedQueryRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateProtectedQueryRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "CleanRooms"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateProtectedQuery"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdateProtectedQuery").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateProtectedQueryRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateProtectedQueryRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } @Override public final String serviceName() { return SERVICE_NAME; } 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 void updateRetryStrategyClientConfiguration(SdkClientConfiguration.Builder configuration) { ClientOverrideConfiguration.Builder builder = configuration.asOverrideConfigurationBuilder(); RetryMode retryMode = builder.retryMode(); if (retryMode != null) { configuration.option(SdkClientOption.RETRY_STRATEGY, AwsRetryStrategy.forRetryMode(retryMode)); } else { Consumer> configurator = builder.retryStrategyConfigurator(); if (configurator != null) { RetryStrategy.Builder defaultBuilder = AwsRetryStrategy.defaultRetryStrategy().toBuilder(); configurator.accept(defaultBuilder); configuration.option(SdkClientOption.RETRY_STRATEGY, defaultBuilder.build()); } else { RetryStrategy retryStrategy = builder.retryStrategy(); if (retryStrategy != null) { configuration.option(SdkClientOption.RETRY_STRATEGY, retryStrategy); } } } configuration.option(SdkClientOption.CONFIGURED_RETRY_MODE, null); configuration.option(SdkClientOption.CONFIGURED_RETRY_STRATEGY, null); configuration.option(SdkClientOption.CONFIGURED_RETRY_CONFIGURATOR, null); } private SdkClientConfiguration updateSdkClientConfiguration(SdkRequest request, SdkClientConfiguration clientConfiguration) { List plugins = request.overrideConfiguration().map(c -> c.plugins()).orElse(Collections.emptyList()); SdkClientConfiguration.Builder configuration = clientConfiguration.toBuilder(); if (plugins.isEmpty()) { return configuration.build(); } CleanRoomsServiceClientConfigurationBuilder serviceConfigBuilder = new CleanRoomsServiceClientConfigurationBuilder( configuration); for (SdkPlugin plugin : plugins) { plugin.configureClient(serviceConfigBuilder); } updateRetryStrategyClientConfiguration(configuration); return configuration.build(); } private > T init(T builder) { return builder .clientConfiguration(clientConfiguration) .defaultServiceExceptionSupplier(CleanRoomsException::builder) .protocol(AwsJsonProtocol.REST_JSON) .protocolVersion("1.1") .registerModeledException( ExceptionMetadata.builder().errorCode("ServiceQuotaExceededException") .exceptionBuilderSupplier(ServiceQuotaExceededException::builder).httpStatusCode(402).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InternalServerException") .exceptionBuilderSupplier(InternalServerException::builder).httpStatusCode(500).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ResourceNotFoundException") .exceptionBuilderSupplier(ResourceNotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ValidationException") .exceptionBuilderSupplier(ValidationException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ThrottlingException") .exceptionBuilderSupplier(ThrottlingException::builder).httpStatusCode(429).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("AccessDeniedException") .exceptionBuilderSupplier(AccessDeniedException::builder).httpStatusCode(403).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ConflictException") .exceptionBuilderSupplier(ConflictException::builder).httpStatusCode(409).build()); } @Override public final CleanRoomsServiceClientConfiguration serviceClientConfiguration() { return new CleanRoomsServiceClientConfigurationBuilder(this.clientConfiguration.toBuilder()).build(); } @Override public void close() { clientHandler.close(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy