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

com.amazonaws.services.cloudtrail.AWSCloudTrailClient Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS CloudTrail module holds the client classes that are used for communicating with AWS CloudTrail Service

The newest version!
/*
 * Copyright 2019-2024 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 com.amazonaws.services.cloudtrail;

import org.w3c.dom.*;

import java.net.*;
import java.util.*;

import javax.annotation.Generated;

import org.apache.commons.logging.*;

import com.amazonaws.*;
import com.amazonaws.annotation.SdkInternalApi;
import com.amazonaws.auth.*;

import com.amazonaws.handlers.*;
import com.amazonaws.http.*;
import com.amazonaws.internal.*;
import com.amazonaws.internal.auth.*;
import com.amazonaws.metrics.*;
import com.amazonaws.regions.*;
import com.amazonaws.transform.*;
import com.amazonaws.util.*;
import com.amazonaws.protocol.json.*;
import com.amazonaws.util.AWSRequestMetrics.Field;
import com.amazonaws.annotation.ThreadSafe;
import com.amazonaws.client.AwsSyncClientParams;
import com.amazonaws.client.builder.AdvancedConfig;

import com.amazonaws.services.cloudtrail.AWSCloudTrailClientBuilder;

import com.amazonaws.AmazonServiceException;

import com.amazonaws.services.cloudtrail.model.*;

import com.amazonaws.services.cloudtrail.model.transform.*;

/**
 * Client for accessing CloudTrail. All service calls made using this client are blocking, and will not return until the
 * service call completes.
 * 

* CloudTrail *

* This is the CloudTrail API Reference. It provides descriptions of actions, data types, common parameters, and common * errors for CloudTrail. *

*

* CloudTrail is a web service that records Amazon Web Services API calls for your Amazon Web Services account and * delivers log files to an Amazon S3 bucket. The recorded information includes the identity of the user, the start time * of the Amazon Web Services API call, the source IP address, the request parameters, and the response elements * returned by the service. *

* *

* As an alternative to the API, you can use one of the Amazon Web Services SDKs, which consist of libraries and sample * code for various programming languages and platforms (Java, Ruby, .NET, iOS, Android, etc.). The SDKs provide * programmatic access to CloudTrail. For example, the SDKs handle cryptographically signing requests, managing errors, * and retrying requests automatically. For more information about the Amazon Web Services SDKs, including how to * download and install them, see Tools to Build on Amazon Web Services. *

*
*

* See the CloudTrail * User Guide for information about the data that is included with each Amazon Web Services API call listed in the * log files. *

*/ @ThreadSafe @Generated("com.amazonaws:aws-java-sdk-code-generator") public class AWSCloudTrailClient extends AmazonWebServiceClient implements AWSCloudTrail { /** Provider for AWS credentials. */ private final AWSCredentialsProvider awsCredentialsProvider; private static final Log log = LogFactory.getLog(AWSCloudTrail.class); /** Default signing name for the service. */ private static final String DEFAULT_SIGNING_NAME = "cloudtrail"; /** Client configuration factory providing ClientConfigurations tailored to this client */ protected static final ClientConfigurationFactory configFactory = new ClientConfigurationFactory(); private final AdvancedConfig advancedConfig; private static final com.amazonaws.protocol.json.SdkJsonProtocolFactory protocolFactory = new com.amazonaws.protocol.json.SdkJsonProtocolFactory( new JsonClientMetadata() .withProtocolVersion("1.1") .withSupportsCbor(false) .withSupportsIon(false) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ConcurrentModificationException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.ConcurrentModificationExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("EventDataStoreMaxLimitExceededException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.EventDataStoreMaxLimitExceededExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("EventDataStoreTerminationProtectedException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.EventDataStoreTerminationProtectedExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ResourcePolicyNotValidException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.ResourcePolicyNotValidExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidKmsKeyIdException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.InvalidKmsKeyIdExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidCloudWatchLogsLogGroupArnException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.InvalidCloudWatchLogsLogGroupArnExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidEventDataStoreCategoryException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.InvalidEventDataStoreCategoryExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidSourceException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.InvalidSourceExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("EventDataStoreAlreadyExistsException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.EventDataStoreAlreadyExistsExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("NotOrganizationMasterAccountException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.NotOrganizationMasterAccountExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidLookupAttributesException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.InvalidLookupAttributesExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("CloudTrailInvalidClientTokenIdException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.CloudTrailInvalidClientTokenIdExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("OrganizationsNotInUseException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.OrganizationsNotInUseExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidNextTokenException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.InvalidNextTokenExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ResourceNotFoundException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.ResourceNotFoundExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidEventSelectorsException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.InvalidEventSelectorsExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ChannelARNInvalidException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.ChannelARNInvalidExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("UnsupportedOperationException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.UnsupportedOperationExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidEventDataStoreStatusException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.InvalidEventDataStoreStatusExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("AccountNotRegisteredException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.AccountNotRegisteredExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("EventDataStoreFederationEnabledException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.EventDataStoreFederationEnabledExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("CloudTrailAccessNotEnabledException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.CloudTrailAccessNotEnabledExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidTrailNameException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.InvalidTrailNameExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidImportSourceException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.InvalidImportSourceExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InsufficientEncryptionPolicyException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.InsufficientEncryptionPolicyExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ResourcePolicyNotFoundException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.ResourcePolicyNotFoundExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("DelegatedAdminAccountLimitExceededException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.DelegatedAdminAccountLimitExceededExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidS3PrefixException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.InvalidS3PrefixExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InsufficientSnsTopicPolicyException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.InsufficientSnsTopicPolicyExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidHomeRegionException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.InvalidHomeRegionExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InsufficientDependencyServiceAccessPermissionException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.InsufficientDependencyServiceAccessPermissionExceptionUnmarshaller .getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ChannelAlreadyExistsException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.ChannelAlreadyExistsExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidParameterException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.InvalidParameterExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("EventDataStoreARNInvalidException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.EventDataStoreARNInvalidExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("QueryIdNotFoundException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.QueryIdNotFoundExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InactiveEventDataStoreException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.InactiveEventDataStoreExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("TrailNotProvidedException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.TrailNotProvidedExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidQueryStatusException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.InvalidQueryStatusExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidEventCategoryException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.InvalidEventCategoryExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("KmsException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.KmsExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("OrganizationNotInAllFeaturesModeException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.OrganizationNotInAllFeaturesModeExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ThrottlingException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.ThrottlingExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("S3BucketDoesNotExistException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.S3BucketDoesNotExistExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("NoManagementAccountSLRExistsException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.NoManagementAccountSLRExistsExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("CannotDelegateManagementAccountException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.CannotDelegateManagementAccountExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("TagsLimitExceededException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.TagsLimitExceededExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidSnsTopicNameException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.InvalidSnsTopicNameExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("KmsKeyNotFoundException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.KmsKeyNotFoundExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("AccountRegisteredException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.AccountRegisteredExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("OperationNotPermittedException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.OperationNotPermittedExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ChannelExistsForEDSException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.ChannelExistsForEDSExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("AccountHasOngoingImportException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.AccountHasOngoingImportExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ResourceTypeNotSupportedException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.ResourceTypeNotSupportedExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("KmsKeyDisabledException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.KmsKeyDisabledExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidTokenException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.InvalidTokenExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("AccessDeniedException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.AccessDeniedExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("CloudTrailARNInvalidException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.CloudTrailARNInvalidExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ConflictException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.ConflictExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidCloudWatchLogsRoleArnException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.InvalidCloudWatchLogsRoleArnExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidQueryStatementException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.InvalidQueryStatementExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ResourceARNNotValidException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.ResourceARNNotValidExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidTimeRangeException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.InvalidTimeRangeExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ImportNotFoundException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.ImportNotFoundExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("AccountNotFoundException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.AccountNotFoundExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidParameterCombinationException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.InvalidParameterCombinationExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidMaxResultsException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.InvalidMaxResultsExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidS3BucketNameException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.InvalidS3BucketNameExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("CloudWatchLogsDeliveryUnavailableException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.CloudWatchLogsDeliveryUnavailableExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InactiveQueryException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.InactiveQueryExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ChannelMaxLimitExceededException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.ChannelMaxLimitExceededExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("EventDataStoreNotFoundException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.EventDataStoreNotFoundExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidTagParameterException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.InvalidTagParameterExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("TrailNotFoundException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.TrailNotFoundExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("MaximumNumberOfTrailsExceededException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.MaximumNumberOfTrailsExceededExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("EventDataStoreHasOngoingImportException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.EventDataStoreHasOngoingImportExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidInsightSelectorsException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.InvalidInsightSelectorsExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidDateRangeException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.InvalidDateRangeExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("NotOrganizationManagementAccountException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.NotOrganizationManagementAccountExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ChannelNotFoundException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.ChannelNotFoundExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("MaxConcurrentQueriesException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.MaxConcurrentQueriesExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InsufficientS3BucketPolicyException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.InsufficientS3BucketPolicyExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("TrailAlreadyExistsException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.TrailAlreadyExistsExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InsightNotEnabledException").withExceptionUnmarshaller( com.amazonaws.services.cloudtrail.model.transform.InsightNotEnabledExceptionUnmarshaller.getInstance())) .withBaseServiceExceptionClass(com.amazonaws.services.cloudtrail.model.AWSCloudTrailException.class)); /** * Constructs a new client to invoke service methods on CloudTrail. A credentials provider chain will be used that * searches for credentials in this order: *
    *
  • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
  • *
  • Java System Properties - aws.accessKeyId and aws.secretKey
  • *
  • Instance profile credentials delivered through the Amazon EC2 metadata service
  • *
* *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @see DefaultAWSCredentialsProviderChain * @deprecated use {@link AWSCloudTrailClientBuilder#defaultClient()} */ @Deprecated public AWSCloudTrailClient() { this(DefaultAWSCredentialsProviderChain.getInstance(), configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on CloudTrail. A credentials provider chain will be used that * searches for credentials in this order: *

    *
  • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
  • *
  • Java System Properties - aws.accessKeyId and aws.secretKey
  • *
  • Instance profile credentials delivered through the Amazon EC2 metadata service
  • *
* *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param clientConfiguration * The client configuration options controlling how this client connects to CloudTrail (ex: proxy settings, * retry counts, etc.). * * @see DefaultAWSCredentialsProviderChain * @deprecated use {@link AWSCloudTrailClientBuilder#withClientConfiguration(ClientConfiguration)} */ @Deprecated public AWSCloudTrailClient(ClientConfiguration clientConfiguration) { this(DefaultAWSCredentialsProviderChain.getInstance(), clientConfiguration); } /** * Constructs a new client to invoke service methods on CloudTrail using the specified AWS account credentials. * *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentials * The AWS credentials (access key ID and secret key) to use when authenticating with AWS services. * @deprecated use {@link AWSCloudTrailClientBuilder#withCredentials(AWSCredentialsProvider)} for example: * {@code AWSCloudTrailClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(awsCredentials)).build();} */ @Deprecated public AWSCloudTrailClient(AWSCredentials awsCredentials) { this(awsCredentials, configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on CloudTrail using the specified AWS account credentials and * client configuration options. * *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentials * The AWS credentials (access key ID and secret key) to use when authenticating with AWS services. * @param clientConfiguration * The client configuration options controlling how this client connects to CloudTrail (ex: proxy settings, * retry counts, etc.). * @deprecated use {@link AWSCloudTrailClientBuilder#withCredentials(AWSCredentialsProvider)} and * {@link AWSCloudTrailClientBuilder#withClientConfiguration(ClientConfiguration)} */ @Deprecated public AWSCloudTrailClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration) { super(clientConfiguration); this.awsCredentialsProvider = new StaticCredentialsProvider(awsCredentials); this.advancedConfig = AdvancedConfig.EMPTY; init(); } /** * Constructs a new client to invoke service methods on CloudTrail using the specified AWS account credentials * provider. * *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to authenticate requests with AWS services. * @deprecated use {@link AWSCloudTrailClientBuilder#withCredentials(AWSCredentialsProvider)} */ @Deprecated public AWSCloudTrailClient(AWSCredentialsProvider awsCredentialsProvider) { this(awsCredentialsProvider, configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on CloudTrail using the specified AWS account credentials * provider and client configuration options. * *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to authenticate requests with AWS services. * @param clientConfiguration * The client configuration options controlling how this client connects to CloudTrail (ex: proxy settings, * retry counts, etc.). * @deprecated use {@link AWSCloudTrailClientBuilder#withCredentials(AWSCredentialsProvider)} and * {@link AWSCloudTrailClientBuilder#withClientConfiguration(ClientConfiguration)} */ @Deprecated public AWSCloudTrailClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration) { this(awsCredentialsProvider, clientConfiguration, null); } /** * Constructs a new client to invoke service methods on CloudTrail using the specified AWS account credentials * provider, client configuration options, and request metric collector. * *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to authenticate requests with AWS services. * @param clientConfiguration * The client configuration options controlling how this client connects to CloudTrail (ex: proxy settings, * retry counts, etc.). * @param requestMetricCollector * optional request metric collector * @deprecated use {@link AWSCloudTrailClientBuilder#withCredentials(AWSCredentialsProvider)} and * {@link AWSCloudTrailClientBuilder#withClientConfiguration(ClientConfiguration)} and * {@link AWSCloudTrailClientBuilder#withMetricsCollector(RequestMetricCollector)} */ @Deprecated public AWSCloudTrailClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, RequestMetricCollector requestMetricCollector) { super(clientConfiguration, requestMetricCollector); this.awsCredentialsProvider = awsCredentialsProvider; this.advancedConfig = AdvancedConfig.EMPTY; init(); } public static AWSCloudTrailClientBuilder builder() { return AWSCloudTrailClientBuilder.standard(); } /** * Constructs a new client to invoke service methods on CloudTrail using the specified parameters. * *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param clientParams * Object providing client parameters. */ AWSCloudTrailClient(AwsSyncClientParams clientParams) { this(clientParams, false); } /** * Constructs a new client to invoke service methods on CloudTrail using the specified parameters. * *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param clientParams * Object providing client parameters. */ AWSCloudTrailClient(AwsSyncClientParams clientParams, boolean endpointDiscoveryEnabled) { super(clientParams); this.awsCredentialsProvider = clientParams.getCredentialsProvider(); this.advancedConfig = clientParams.getAdvancedConfig(); init(); } private void init() { setServiceNameIntern(DEFAULT_SIGNING_NAME); setEndpointPrefix(ENDPOINT_PREFIX); // calling this.setEndPoint(...) will also modify the signer accordingly setEndpoint("cloudtrail.us-east-1.amazonaws.com"); HandlerChainFactory chainFactory = new HandlerChainFactory(); requestHandler2s.addAll(chainFactory.newRequestHandlerChain("/com/amazonaws/services/cloudtrail/request.handlers")); requestHandler2s.addAll(chainFactory.newRequestHandler2Chain("/com/amazonaws/services/cloudtrail/request.handler2s")); requestHandler2s.addAll(chainFactory.getGlobalHandlers()); } /** *

* Adds one or more tags to a trail, event data store, or channel, up to a limit of 50. Overwrites an existing tag's * value when a new value is specified for an existing tag key. Tag key names must be unique; you cannot have two * keys with the same name but different values. If you specify a key without a value, the tag will be created with * the specified key and a value of null. You can tag a trail or event data store that applies to all Amazon Web * Services Regions only from the Region in which the trail or event data store was created (also known as its home * Region). *

* * @param addTagsRequest * Specifies the tags to add to a trail, event data store, or channel. * @return Result of the AddTags operation returned by the service. * @throws ResourceNotFoundException * This exception is thrown when the specified resource is not found. * @throws CloudTrailARNInvalidException * This exception is thrown when an operation is called with an ARN that is not valid.

*

* The following is the format of a trail ARN: * arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail *

*

* The following is the format of an event data store ARN: * arn:aws:cloudtrail:us-east-2:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE *

*

* The following is the format of a channel ARN: * arn:aws:cloudtrail:us-east-2:123456789012:channel/01234567890 * @throws EventDataStoreARNInvalidException * The specified event data store ARN is not valid or does not map to an event data store in your account. * @throws ChannelARNInvalidException * This exception is thrown when the specified value of ChannelARN is not valid. * @throws ResourceTypeNotSupportedException * This exception is thrown when the specified resource type is not supported by CloudTrail. * @throws TagsLimitExceededException * The number of tags per trail, event data store, or channel has exceeded the permitted amount. Currently, * the limit is 50. * @throws InvalidTrailNameException * This exception is thrown when the provided trail name is not valid. Trail names must meet the following * requirements: *

*
    *
  • *

    * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-) *

    *
  • *
  • *

    * Start with a letter or number, and end with a letter or number *

    *
  • *
  • *

    * Be between 3 and 128 characters *

    *
  • *
  • *

    * Have no adjacent periods, underscores or dashes. Names like my-_namespace and * my--namespace are not valid. *

    *
  • *
  • *

    * Not be in IP address format (for example, 192.168.5.4) *

    *
  • * @throws InvalidTagParameterException * This exception is thrown when the specified tag key or values are not valid. It can also occur if there * are duplicate tags or too many tags on the resource. * @throws InactiveEventDataStoreException * The event data store is inactive. * @throws EventDataStoreNotFoundException * The specified event data store was not found. * @throws ChannelNotFoundException * This exception is thrown when CloudTrail cannot find the specified channel. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws NotOrganizationMasterAccountException * This exception is thrown when the Amazon Web Services account making the request to create or update an * organization trail or event data store is not the management account for an organization in * Organizations. For more information, see Prepare For Creating a Trail For Your Organization or Organization event data stores. * @throws NoManagementAccountSLRExistsException * This exception is thrown when the management account does not have a service-linked role. * @throws ConflictException * This exception is thrown when the specified resource is not ready for an operation. This can occur when * you try to run an operation on a resource before CloudTrail has time to fully load the resource, or * because another operation is modifying the resource. If this exception occurs, wait a few minutes, and * then try the operation again. * @sample AWSCloudTrail.AddTags * @see AWS API * Documentation */ @Override public AddTagsResult addTags(AddTagsRequest request) { request = beforeClientExecution(request); return executeAddTags(request); } @SdkInternalApi final AddTagsResult executeAddTags(AddTagsRequest addTagsRequest) { ExecutionContext executionContext = createExecutionContext(addTagsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AddTagsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(addTagsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AddTags"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new AddTagsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

    * Cancels a query if the query is not in a terminated state, such as CANCELLED, FAILED, * TIMED_OUT, or FINISHED. You must specify an ARN value for EventDataStore. * The ID of the query that you want to cancel is also required. When you run CancelQuery, the query * status might show as CANCELLED even if the operation is not yet finished. *

    * * @param cancelQueryRequest * @return Result of the CancelQuery operation returned by the service. * @throws EventDataStoreARNInvalidException * The specified event data store ARN is not valid or does not map to an event data store in your account. * @throws EventDataStoreNotFoundException * The specified event data store was not found. * @throws InactiveEventDataStoreException * The event data store is inactive. * @throws InactiveQueryException * The specified query cannot be canceled because it is in the FINISHED, FAILED, * TIMED_OUT, or CANCELLED state. * @throws InvalidParameterException * The request includes a parameter that is not valid. * @throws QueryIdNotFoundException * The query ID does not exist or does not map to a query. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws NoManagementAccountSLRExistsException * This exception is thrown when the management account does not have a service-linked role. * @throws ConflictException * This exception is thrown when the specified resource is not ready for an operation. This can occur when * you try to run an operation on a resource before CloudTrail has time to fully load the resource, or * because another operation is modifying the resource. If this exception occurs, wait a few minutes, and * then try the operation again. * @sample AWSCloudTrail.CancelQuery * @see AWS API * Documentation */ @Override public CancelQueryResult cancelQuery(CancelQueryRequest request) { request = beforeClientExecution(request); return executeCancelQuery(request); } @SdkInternalApi final CancelQueryResult executeCancelQuery(CancelQueryRequest cancelQueryRequest) { ExecutionContext executionContext = createExecutionContext(cancelQueryRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CancelQueryRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(cancelQueryRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CancelQuery"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CancelQueryResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

    * Creates a channel for CloudTrail to ingest events from a partner or external source. After you create a channel, * a CloudTrail Lake event data store can log events from the partner or source that you specify. *

    * * @param createChannelRequest * @return Result of the CreateChannel operation returned by the service. * @throws ChannelMaxLimitExceededException * This exception is thrown when the maximum number of channels limit is exceeded. * @throws InvalidSourceException * This exception is thrown when the specified value of Source is not valid. * @throws ChannelAlreadyExistsException * This exception is thrown when the provided channel already exists. * @throws EventDataStoreARNInvalidException * The specified event data store ARN is not valid or does not map to an event data store in your account. * @throws EventDataStoreNotFoundException * The specified event data store was not found. * @throws InvalidEventDataStoreCategoryException * This exception is thrown when event categories of specified event data stores are not valid. * @throws InactiveEventDataStoreException * The event data store is inactive. * @throws InvalidParameterException * The request includes a parameter that is not valid. * @throws InvalidTagParameterException * This exception is thrown when the specified tag key or values are not valid. It can also occur if there * are duplicate tags or too many tags on the resource. * @throws TagsLimitExceededException * The number of tags per trail, event data store, or channel has exceeded the permitted amount. Currently, * the limit is 50. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @sample AWSCloudTrail.CreateChannel * @see AWS API * Documentation */ @Override public CreateChannelResult createChannel(CreateChannelRequest request) { request = beforeClientExecution(request); return executeCreateChannel(request); } @SdkInternalApi final CreateChannelResult executeCreateChannel(CreateChannelRequest createChannelRequest) { ExecutionContext executionContext = createExecutionContext(createChannelRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateChannelRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createChannelRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateChannel"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateChannelResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

    * Creates a new event data store. *

    * * @param createEventDataStoreRequest * @return Result of the CreateEventDataStore operation returned by the service. * @throws EventDataStoreAlreadyExistsException * An event data store with that name already exists. * @throws EventDataStoreMaxLimitExceededException * Your account has used the maximum number of event data stores. * @throws InvalidEventSelectorsException * This exception is thrown when the PutEventSelectors operation is called with a number of * event selectors, advanced event selectors, or data resources that is not valid. The combination of event * selectors or advanced event selectors and data resources is not valid. A trail can have up to 5 event * selectors. If a trail uses advanced event selectors, a maximum of 500 total values for all conditions in * all advanced event selectors is allowed. A trail is limited to 250 data resources. These data resources * can be distributed across event selectors, but the overall total cannot exceed 250.

    *

    * You can: *

    *
      *
    • *

      * Specify a valid number of event selectors (1 to 5) for a trail. *

      *
    • *
    • *

      * Specify a valid number of data resources (1 to 250) for an event selector. The limit of number of * resources on an individual event selector is configurable up to 250. However, this upper limit is allowed * only if the total number of data resources does not exceed 250 across all event selectors for a trail. *

      *
    • *
    • *

      * Specify up to 500 values for all conditions in all advanced event selectors for a trail. *

      *
    • *
    • *

      * Specify a valid value for a parameter. For example, specifying the ReadWriteType parameter * with a value of read-only is not valid. *

      *
    • * @throws InvalidParameterException * The request includes a parameter that is not valid. * @throws InvalidTagParameterException * This exception is thrown when the specified tag key or values are not valid. It can also occur if there * are duplicate tags or too many tags on the resource. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws ConflictException * This exception is thrown when the specified resource is not ready for an operation. This can occur when * you try to run an operation on a resource before CloudTrail has time to fully load the resource, or * because another operation is modifying the resource. If this exception occurs, wait a few minutes, and * then try the operation again. * @throws InsufficientEncryptionPolicyException * This exception is thrown when the policy on the S3 bucket or KMS key does not have sufficient permissions * for the operation. * @throws InvalidKmsKeyIdException * This exception is thrown when the KMS key ARN is not valid. * @throws KmsKeyNotFoundException * This exception is thrown when the KMS key does not exist, when the S3 bucket and the KMS key are not in * the same Region, or when the KMS key associated with the Amazon SNS topic either does not exist or is not * in the same Region. * @throws KmsException * This exception is thrown when there is an issue with the specified KMS key and the trail or event data * store can't be updated. * @throws CloudTrailAccessNotEnabledException * This exception is thrown when trusted access has not been enabled between CloudTrail and Organizations. * For more information, see How to enable or disable trusted access in the Organizations User Guide and Prepare For Creating a Trail For Your Organization in the CloudTrail User Guide. * @throws InsufficientDependencyServiceAccessPermissionException * This exception is thrown when the IAM identity that is used to create the organization resource lacks one * or more required permissions for creating an organization resource in a required service. * @throws NotOrganizationMasterAccountException * This exception is thrown when the Amazon Web Services account making the request to create or update an * organization trail or event data store is not the management account for an organization in * Organizations. For more information, see Prepare For Creating a Trail For Your Organization or Organization event data stores. * @throws OrganizationsNotInUseException * This exception is thrown when the request is made from an Amazon Web Services account that is not a * member of an organization. To make this request, sign in using the credentials of an account that belongs * to an organization. * @throws OrganizationNotInAllFeaturesModeException * This exception is thrown when Organizations is not configured to support all features. All features must * be enabled in Organizations to support creating an organization trail or event data store. * @throws NoManagementAccountSLRExistsException * This exception is thrown when the management account does not have a service-linked role. * @sample AWSCloudTrail.CreateEventDataStore * @see AWS API Documentation */ @Override public CreateEventDataStoreResult createEventDataStore(CreateEventDataStoreRequest request) { request = beforeClientExecution(request); return executeCreateEventDataStore(request); } @SdkInternalApi final CreateEventDataStoreResult executeCreateEventDataStore(CreateEventDataStoreRequest createEventDataStoreRequest) { ExecutionContext executionContext = createExecutionContext(createEventDataStoreRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateEventDataStoreRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createEventDataStoreRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateEventDataStore"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateEventDataStoreResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

      * Creates a trail that specifies the settings for delivery of log data to an Amazon S3 bucket. *

      * * @param createTrailRequest * Specifies the settings for each trail. * @return Result of the CreateTrail operation returned by the service. * @throws MaximumNumberOfTrailsExceededException * This exception is thrown when the maximum number of trails is reached. * @throws TrailAlreadyExistsException * This exception is thrown when the specified trail already exists. * @throws S3BucketDoesNotExistException * This exception is thrown when the specified S3 bucket does not exist. * @throws InsufficientS3BucketPolicyException * This exception is thrown when the policy on the S3 bucket is not sufficient. * @throws InsufficientSnsTopicPolicyException * This exception is thrown when the policy on the Amazon SNS topic is not sufficient. * @throws InsufficientEncryptionPolicyException * This exception is thrown when the policy on the S3 bucket or KMS key does not have sufficient permissions * for the operation. * @throws InvalidS3BucketNameException * This exception is thrown when the provided S3 bucket name is not valid. * @throws InvalidS3PrefixException * This exception is thrown when the provided S3 prefix is not valid. * @throws InvalidSnsTopicNameException * This exception is thrown when the provided SNS topic name is not valid. * @throws InvalidKmsKeyIdException * This exception is thrown when the KMS key ARN is not valid. * @throws InvalidTrailNameException * This exception is thrown when the provided trail name is not valid. Trail names must meet the following * requirements:

      *
        *
      • *

        * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-) *

        *
      • *
      • *

        * Start with a letter or number, and end with a letter or number *

        *
      • *
      • *

        * Be between 3 and 128 characters *

        *
      • *
      • *

        * Have no adjacent periods, underscores or dashes. Names like my-_namespace and * my--namespace are not valid. *

        *
      • *
      • *

        * Not be in IP address format (for example, 192.168.5.4) *

        *
      • * @throws TrailNotProvidedException * This exception is no longer in use. * @throws TagsLimitExceededException * The number of tags per trail, event data store, or channel has exceeded the permitted amount. Currently, * the limit is 50. * @throws InvalidParameterCombinationException * This exception is thrown when the combination of parameters provided is not valid. * @throws InvalidParameterException * The request includes a parameter that is not valid. * @throws KmsKeyNotFoundException * This exception is thrown when the KMS key does not exist, when the S3 bucket and the KMS key are not in * the same Region, or when the KMS key associated with the Amazon SNS topic either does not exist or is not * in the same Region. * @throws KmsKeyDisabledException * This exception is no longer in use. * @throws KmsException * This exception is thrown when there is an issue with the specified KMS key and the trail or event data * store can't be updated. * @throws InvalidCloudWatchLogsLogGroupArnException * This exception is thrown when the provided CloudWatch Logs log group is not valid. * @throws InvalidCloudWatchLogsRoleArnException * This exception is thrown when the provided role is not valid. * @throws CloudWatchLogsDeliveryUnavailableException * Cannot set a CloudWatch Logs delivery for this Region. * @throws InvalidTagParameterException * This exception is thrown when the specified tag key or values are not valid. It can also occur if there * are duplicate tags or too many tags on the resource. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws CloudTrailAccessNotEnabledException * This exception is thrown when trusted access has not been enabled between CloudTrail and Organizations. * For more information, see How to enable or disable trusted access in the Organizations User Guide and Prepare For Creating a Trail For Your Organization in the CloudTrail User Guide. * @throws InsufficientDependencyServiceAccessPermissionException * This exception is thrown when the IAM identity that is used to create the organization resource lacks one * or more required permissions for creating an organization resource in a required service. * @throws NotOrganizationMasterAccountException * This exception is thrown when the Amazon Web Services account making the request to create or update an * organization trail or event data store is not the management account for an organization in * Organizations. For more information, see Prepare For Creating a Trail For Your Organization or Organization event data stores. * @throws OrganizationsNotInUseException * This exception is thrown when the request is made from an Amazon Web Services account that is not a * member of an organization. To make this request, sign in using the credentials of an account that belongs * to an organization. * @throws OrganizationNotInAllFeaturesModeException * This exception is thrown when Organizations is not configured to support all features. All features must * be enabled in Organizations to support creating an organization trail or event data store. * @throws NoManagementAccountSLRExistsException * This exception is thrown when the management account does not have a service-linked role. * @throws CloudTrailInvalidClientTokenIdException * This exception is thrown when a call results in the InvalidClientTokenId error code. This * can occur when you are creating or updating a trail to send notifications to an Amazon SNS topic that is * in a suspended Amazon Web Services account. * @throws ConflictException * This exception is thrown when the specified resource is not ready for an operation. This can occur when * you try to run an operation on a resource before CloudTrail has time to fully load the resource, or * because another operation is modifying the resource. If this exception occurs, wait a few minutes, and * then try the operation again. * @throws ThrottlingException * This exception is thrown when the request rate exceeds the limit. * @sample AWSCloudTrail.CreateTrail * @see AWS API * Documentation */ @Override public CreateTrailResult createTrail(CreateTrailRequest request) { request = beforeClientExecution(request); return executeCreateTrail(request); } @SdkInternalApi final CreateTrailResult executeCreateTrail(CreateTrailRequest createTrailRequest) { ExecutionContext executionContext = createExecutionContext(createTrailRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateTrailRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createTrailRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateTrail"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateTrailResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

        * Deletes a channel. *

        * * @param deleteChannelRequest * @return Result of the DeleteChannel operation returned by the service. * @throws ChannelARNInvalidException * This exception is thrown when the specified value of ChannelARN is not valid. * @throws ChannelNotFoundException * This exception is thrown when CloudTrail cannot find the specified channel. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @sample AWSCloudTrail.DeleteChannel * @see AWS API * Documentation */ @Override public DeleteChannelResult deleteChannel(DeleteChannelRequest request) { request = beforeClientExecution(request); return executeDeleteChannel(request); } @SdkInternalApi final DeleteChannelResult executeDeleteChannel(DeleteChannelRequest deleteChannelRequest) { ExecutionContext executionContext = createExecutionContext(deleteChannelRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteChannelRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteChannelRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteChannel"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteChannelResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

        * Disables the event data store specified by EventDataStore, which accepts an event data store ARN. * After you run DeleteEventDataStore, the event data store enters a PENDING_DELETION * state, and is automatically deleted after a wait period of seven days. TerminationProtectionEnabled * must be set to False on the event data store and the FederationStatus must be * DISABLED. You cannot delete an event data store if TerminationProtectionEnabled is * True or the FederationStatus is ENABLED. *

        *

        * After you run DeleteEventDataStore on an event data store, you cannot run ListQueries, * DescribeQuery, or GetQueryResults on queries that are using an event data store in a * PENDING_DELETION state. An event data store in the PENDING_DELETION state does not * incur costs. *

        * * @param deleteEventDataStoreRequest * @return Result of the DeleteEventDataStore operation returned by the service. * @throws EventDataStoreARNInvalidException * The specified event data store ARN is not valid or does not map to an event data store in your account. * @throws EventDataStoreNotFoundException * The specified event data store was not found. * @throws EventDataStoreTerminationProtectedException * The event data store cannot be deleted because termination protection is enabled for it. * @throws EventDataStoreHasOngoingImportException * This exception is thrown when you try to update or delete an event data store that currently has an * import in progress. * @throws InactiveEventDataStoreException * The event data store is inactive. * @throws InvalidParameterException * The request includes a parameter that is not valid. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws NotOrganizationMasterAccountException * This exception is thrown when the Amazon Web Services account making the request to create or update an * organization trail or event data store is not the management account for an organization in * Organizations. For more information, see Prepare For Creating a Trail For Your Organization or Organization event data stores. * @throws NoManagementAccountSLRExistsException * This exception is thrown when the management account does not have a service-linked role. * @throws ChannelExistsForEDSException * This exception is thrown when the specified event data store cannot yet be deleted because it is in use * by a channel. * @throws InsufficientDependencyServiceAccessPermissionException * This exception is thrown when the IAM identity that is used to create the organization resource lacks one * or more required permissions for creating an organization resource in a required service. * @throws ConflictException * This exception is thrown when the specified resource is not ready for an operation. This can occur when * you try to run an operation on a resource before CloudTrail has time to fully load the resource, or * because another operation is modifying the resource. If this exception occurs, wait a few minutes, and * then try the operation again. * @throws EventDataStoreFederationEnabledException * You cannot delete the event data store because Lake query federation is enabled. To delete the event data * store, run the DisableFederation operation to disable Lake query federation on the event * data store. * @sample AWSCloudTrail.DeleteEventDataStore * @see AWS API Documentation */ @Override public DeleteEventDataStoreResult deleteEventDataStore(DeleteEventDataStoreRequest request) { request = beforeClientExecution(request); return executeDeleteEventDataStore(request); } @SdkInternalApi final DeleteEventDataStoreResult executeDeleteEventDataStore(DeleteEventDataStoreRequest deleteEventDataStoreRequest) { ExecutionContext executionContext = createExecutionContext(deleteEventDataStoreRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteEventDataStoreRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteEventDataStoreRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteEventDataStore"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteEventDataStoreResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

        * Deletes the resource-based policy attached to the CloudTrail channel. *

        * * @param deleteResourcePolicyRequest * @return Result of the DeleteResourcePolicy operation returned by the service. * @throws ResourceARNNotValidException * This exception is thrown when the provided resource does not exist, or the ARN format of the resource is * not valid. The following is the valid format for a resource ARN: * arn:aws:cloudtrail:us-east-2:123456789012:channel/MyChannel. * @throws ResourceNotFoundException * This exception is thrown when the specified resource is not found. * @throws ResourcePolicyNotFoundException * This exception is thrown when the specified resource policy is not found. * @throws ResourceTypeNotSupportedException * This exception is thrown when the specified resource type is not supported by CloudTrail. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @sample AWSCloudTrail.DeleteResourcePolicy * @see AWS API Documentation */ @Override public DeleteResourcePolicyResult deleteResourcePolicy(DeleteResourcePolicyRequest request) { request = beforeClientExecution(request); return executeDeleteResourcePolicy(request); } @SdkInternalApi final DeleteResourcePolicyResult executeDeleteResourcePolicy(DeleteResourcePolicyRequest deleteResourcePolicyRequest) { ExecutionContext executionContext = createExecutionContext(deleteResourcePolicyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteResourcePolicyRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteResourcePolicyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteResourcePolicy"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteResourcePolicyResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

        * Deletes a trail. This operation must be called from the Region in which the trail was created. * DeleteTrail cannot be called on the shadow trails (replicated trails in other Regions) of a trail * that is enabled in all Regions. *

        * * @param deleteTrailRequest * The request that specifies the name of a trail to delete. * @return Result of the DeleteTrail operation returned by the service. * @throws TrailNotFoundException * This exception is thrown when the trail with the given name is not found. * @throws InvalidTrailNameException * This exception is thrown when the provided trail name is not valid. Trail names must meet the following * requirements:

        *
          *
        • *

          * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-) *

          *
        • *
        • *

          * Start with a letter or number, and end with a letter or number *

          *
        • *
        • *

          * Be between 3 and 128 characters *

          *
        • *
        • *

          * Have no adjacent periods, underscores or dashes. Names like my-_namespace and * my--namespace are not valid. *

          *
        • *
        • *

          * Not be in IP address format (for example, 192.168.5.4) *

          *
        • * @throws CloudTrailARNInvalidException * This exception is thrown when an operation is called with an ARN that is not valid.

          *

          * The following is the format of a trail ARN: arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail * *

          *

          * The following is the format of an event data store ARN: * arn:aws:cloudtrail:us-east-2:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE *

          *

          * The following is the format of a channel ARN: * arn:aws:cloudtrail:us-east-2:123456789012:channel/01234567890 * @throws ConflictException * This exception is thrown when the specified resource is not ready for an operation. This can occur when * you try to run an operation on a resource before CloudTrail has time to fully load the resource, or * because another operation is modifying the resource. If this exception occurs, wait a few minutes, and * then try the operation again. * @throws ThrottlingException * This exception is thrown when the request rate exceeds the limit. * @throws InvalidHomeRegionException * This exception is thrown when an operation is called on a trail from a Region other than the Region in * which the trail was created. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws NotOrganizationMasterAccountException * This exception is thrown when the Amazon Web Services account making the request to create or update an * organization trail or event data store is not the management account for an organization in * Organizations. For more information, see Prepare For Creating a Trail For Your Organization or Organization event data stores. * @throws NoManagementAccountSLRExistsException * This exception is thrown when the management account does not have a service-linked role. * @throws InsufficientDependencyServiceAccessPermissionException * This exception is thrown when the IAM identity that is used to create the organization resource lacks one * or more required permissions for creating an organization resource in a required service. * @sample AWSCloudTrail.DeleteTrail * @see AWS API * Documentation */ @Override public DeleteTrailResult deleteTrail(DeleteTrailRequest request) { request = beforeClientExecution(request); return executeDeleteTrail(request); } @SdkInternalApi final DeleteTrailResult executeDeleteTrail(DeleteTrailRequest deleteTrailRequest) { ExecutionContext executionContext = createExecutionContext(deleteTrailRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteTrailRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteTrailRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteTrail"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteTrailResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

          * Removes CloudTrail delegated administrator permissions from a member account in an organization. *

          * * @param deregisterOrganizationDelegatedAdminRequest * Removes CloudTrail delegated administrator permissions from a specified member account in an organization * that is currently designated as a delegated administrator. * @return Result of the DeregisterOrganizationDelegatedAdmin operation returned by the service. * @throws AccountNotFoundException * This exception is thrown when the specified account is not found or not part of an organization. * @throws AccountNotRegisteredException * This exception is thrown when the specified account is not registered as the CloudTrail delegated * administrator. * @throws CloudTrailAccessNotEnabledException * This exception is thrown when trusted access has not been enabled between CloudTrail and Organizations. * For more information, see How to enable or disable trusted access in the Organizations User Guide and Prepare For Creating a Trail For Your Organization in the CloudTrail User Guide. * @throws ConflictException * This exception is thrown when the specified resource is not ready for an operation. This can occur when * you try to run an operation on a resource before CloudTrail has time to fully load the resource, or * because another operation is modifying the resource. If this exception occurs, wait a few minutes, and * then try the operation again. * @throws InsufficientDependencyServiceAccessPermissionException * This exception is thrown when the IAM identity that is used to create the organization resource lacks one * or more required permissions for creating an organization resource in a required service. * @throws InvalidParameterException * The request includes a parameter that is not valid. * @throws NotOrganizationManagementAccountException * This exception is thrown when the account making the request is not the organization's management * account. * @throws OrganizationNotInAllFeaturesModeException * This exception is thrown when Organizations is not configured to support all features. All features must * be enabled in Organizations to support creating an organization trail or event data store. * @throws OrganizationsNotInUseException * This exception is thrown when the request is made from an Amazon Web Services account that is not a * member of an organization. To make this request, sign in using the credentials of an account that belongs * to an organization. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @sample AWSCloudTrail.DeregisterOrganizationDelegatedAdmin * @see AWS API Documentation */ @Override public DeregisterOrganizationDelegatedAdminResult deregisterOrganizationDelegatedAdmin(DeregisterOrganizationDelegatedAdminRequest request) { request = beforeClientExecution(request); return executeDeregisterOrganizationDelegatedAdmin(request); } @SdkInternalApi final DeregisterOrganizationDelegatedAdminResult executeDeregisterOrganizationDelegatedAdmin( DeregisterOrganizationDelegatedAdminRequest deregisterOrganizationDelegatedAdminRequest) { ExecutionContext executionContext = createExecutionContext(deregisterOrganizationDelegatedAdminRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeregisterOrganizationDelegatedAdminRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(deregisterOrganizationDelegatedAdminRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeregisterOrganizationDelegatedAdmin"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeregisterOrganizationDelegatedAdminResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

          * Returns metadata about a query, including query run time in milliseconds, number of events scanned and matched, * and query status. If the query results were delivered to an S3 bucket, the response also provides the S3 URI and * the delivery status. *

          *

          * You must specify either a QueryID or a QueryAlias. Specifying the * QueryAlias parameter returns information about the last query run for the alias. *

          * * @param describeQueryRequest * @return Result of the DescribeQuery operation returned by the service. * @throws EventDataStoreARNInvalidException * The specified event data store ARN is not valid or does not map to an event data store in your account. * @throws EventDataStoreNotFoundException * The specified event data store was not found. * @throws InactiveEventDataStoreException * The event data store is inactive. * @throws InvalidParameterException * The request includes a parameter that is not valid. * @throws QueryIdNotFoundException * The query ID does not exist or does not map to a query. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws NoManagementAccountSLRExistsException * This exception is thrown when the management account does not have a service-linked role. * @sample AWSCloudTrail.DescribeQuery * @see AWS API * Documentation */ @Override public DescribeQueryResult describeQuery(DescribeQueryRequest request) { request = beforeClientExecution(request); return executeDescribeQuery(request); } @SdkInternalApi final DescribeQueryResult executeDescribeQuery(DescribeQueryRequest describeQueryRequest) { ExecutionContext executionContext = createExecutionContext(describeQueryRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeQueryRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeQueryRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeQuery"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeQueryResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

          * Retrieves settings for one or more trails associated with the current Region for your account. *

          * * @param describeTrailsRequest * Returns information about the trail. * @return Result of the DescribeTrails operation returned by the service. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws InvalidTrailNameException * This exception is thrown when the provided trail name is not valid. Trail names must meet the following * requirements:

          *
            *
          • *

            * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-) *

            *
          • *
          • *

            * Start with a letter or number, and end with a letter or number *

            *
          • *
          • *

            * Be between 3 and 128 characters *

            *
          • *
          • *

            * Have no adjacent periods, underscores or dashes. Names like my-_namespace and * my--namespace are not valid. *

            *
          • *
          • *

            * Not be in IP address format (for example, 192.168.5.4) *

            *
          • * @throws CloudTrailARNInvalidException * This exception is thrown when an operation is called with an ARN that is not valid.

            *

            * The following is the format of a trail ARN: arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail * *

            *

            * The following is the format of an event data store ARN: * arn:aws:cloudtrail:us-east-2:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE *

            *

            * The following is the format of a channel ARN: * arn:aws:cloudtrail:us-east-2:123456789012:channel/01234567890 * @throws NoManagementAccountSLRExistsException * This exception is thrown when the management account does not have a service-linked role. * @sample AWSCloudTrail.DescribeTrails * @see AWS API * Documentation */ @Override public DescribeTrailsResult describeTrails(DescribeTrailsRequest request) { request = beforeClientExecution(request); return executeDescribeTrails(request); } @SdkInternalApi final DescribeTrailsResult executeDescribeTrails(DescribeTrailsRequest describeTrailsRequest) { ExecutionContext executionContext = createExecutionContext(describeTrailsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeTrailsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeTrailsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeTrails"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeTrailsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } @Override public DescribeTrailsResult describeTrails() { return describeTrails(new DescribeTrailsRequest()); } /** *

            * Disables Lake query federation on the specified event data store. When you disable federation, CloudTrail * disables the integration with Glue, Lake Formation, and Amazon Athena. After disabling Lake query federation, you * can no longer query your event data in Amazon Athena. *

            *

            * No CloudTrail Lake data is deleted when you disable federation and you can continue to run queries in CloudTrail * Lake. *

            * * @param disableFederationRequest * @return Result of the DisableFederation operation returned by the service. * @throws EventDataStoreARNInvalidException * The specified event data store ARN is not valid or does not map to an event data store in your account. * @throws EventDataStoreNotFoundException * The specified event data store was not found. * @throws InvalidParameterException * The request includes a parameter that is not valid. * @throws InactiveEventDataStoreException * The event data store is inactive. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws CloudTrailAccessNotEnabledException * This exception is thrown when trusted access has not been enabled between CloudTrail and Organizations. * For more information, see How to enable or disable trusted access in the Organizations User Guide and Prepare For Creating a Trail For Your Organization in the CloudTrail User Guide. * @throws InsufficientDependencyServiceAccessPermissionException * This exception is thrown when the IAM identity that is used to create the organization resource lacks one * or more required permissions for creating an organization resource in a required service. * @throws NotOrganizationMasterAccountException * This exception is thrown when the Amazon Web Services account making the request to create or update an * organization trail or event data store is not the management account for an organization in * Organizations. For more information, see Prepare For Creating a Trail For Your Organization or Organization event data stores. * @throws NoManagementAccountSLRExistsException * This exception is thrown when the management account does not have a service-linked role. * @throws OrganizationsNotInUseException * This exception is thrown when the request is made from an Amazon Web Services account that is not a * member of an organization. To make this request, sign in using the credentials of an account that belongs * to an organization. * @throws OrganizationNotInAllFeaturesModeException * This exception is thrown when Organizations is not configured to support all features. All features must * be enabled in Organizations to support creating an organization trail or event data store. * @throws ConcurrentModificationException * You are trying to update a resource when another request is in progress. Allow sufficient wait time for * the previous request to complete, then retry your request. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @sample AWSCloudTrail.DisableFederation * @see AWS * API Documentation */ @Override public DisableFederationResult disableFederation(DisableFederationRequest request) { request = beforeClientExecution(request); return executeDisableFederation(request); } @SdkInternalApi final DisableFederationResult executeDisableFederation(DisableFederationRequest disableFederationRequest) { ExecutionContext executionContext = createExecutionContext(disableFederationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DisableFederationRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(disableFederationRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DisableFederation"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DisableFederationResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

            * Enables Lake query federation on the specified event data store. Federating an event data store lets you view the * metadata associated with the event data store in the Glue Data Catalog * and run SQL queries against your event data using Amazon Athena. The table metadata stored in the Glue Data * Catalog lets the Athena query engine know how to find, read, and process the data that you want to query. *

            *

            * When you enable Lake query federation, CloudTrail creates a managed database named aws:cloudtrail * (if the database doesn't already exist) and a managed federated table in the Glue Data Catalog. The event data * store ID is used for the table name. CloudTrail registers the role ARN and event data store in Lake * Formation, the service responsible for allowing fine-grained access control of the federated resources in the * Glue Data Catalog. *

            *

            * For more information about Lake query federation, see Federate an event data * store. *

            * * @param enableFederationRequest * @return Result of the EnableFederation operation returned by the service. * @throws EventDataStoreARNInvalidException * The specified event data store ARN is not valid or does not map to an event data store in your account. * @throws EventDataStoreNotFoundException * The specified event data store was not found. * @throws InvalidParameterException * The request includes a parameter that is not valid. * @throws InactiveEventDataStoreException * The event data store is inactive. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws CloudTrailAccessNotEnabledException * This exception is thrown when trusted access has not been enabled between CloudTrail and Organizations. * For more information, see How to enable or disable trusted access in the Organizations User Guide and Prepare For Creating a Trail For Your Organization in the CloudTrail User Guide. * @throws InsufficientDependencyServiceAccessPermissionException * This exception is thrown when the IAM identity that is used to create the organization resource lacks one * or more required permissions for creating an organization resource in a required service. * @throws NotOrganizationMasterAccountException * This exception is thrown when the Amazon Web Services account making the request to create or update an * organization trail or event data store is not the management account for an organization in * Organizations. For more information, see Prepare For Creating a Trail For Your Organization or Organization event data stores. * @throws NoManagementAccountSLRExistsException * This exception is thrown when the management account does not have a service-linked role. * @throws OrganizationsNotInUseException * This exception is thrown when the request is made from an Amazon Web Services account that is not a * member of an organization. To make this request, sign in using the credentials of an account that belongs * to an organization. * @throws OrganizationNotInAllFeaturesModeException * This exception is thrown when Organizations is not configured to support all features. All features must * be enabled in Organizations to support creating an organization trail or event data store. * @throws ConcurrentModificationException * You are trying to update a resource when another request is in progress. Allow sufficient wait time for * the previous request to complete, then retry your request. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @throws EventDataStoreFederationEnabledException * You cannot delete the event data store because Lake query federation is enabled. To delete the event data * store, run the DisableFederation operation to disable Lake query federation on the event * data store. * @sample AWSCloudTrail.EnableFederation * @see AWS * API Documentation */ @Override public EnableFederationResult enableFederation(EnableFederationRequest request) { request = beforeClientExecution(request); return executeEnableFederation(request); } @SdkInternalApi final EnableFederationResult executeEnableFederation(EnableFederationRequest enableFederationRequest) { ExecutionContext executionContext = createExecutionContext(enableFederationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new EnableFederationRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(enableFederationRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "EnableFederation"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new EnableFederationResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

            * Returns information about a specific channel. *

            * * @param getChannelRequest * @return Result of the GetChannel operation returned by the service. * @throws ChannelARNInvalidException * This exception is thrown when the specified value of ChannelARN is not valid. * @throws ChannelNotFoundException * This exception is thrown when CloudTrail cannot find the specified channel. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @sample AWSCloudTrail.GetChannel * @see AWS API * Documentation */ @Override public GetChannelResult getChannel(GetChannelRequest request) { request = beforeClientExecution(request); return executeGetChannel(request); } @SdkInternalApi final GetChannelResult executeGetChannel(GetChannelRequest getChannelRequest) { ExecutionContext executionContext = createExecutionContext(getChannelRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetChannelRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getChannelRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetChannel"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetChannelResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

            * Returns information about an event data store specified as either an ARN or the ID portion of the ARN. *

            * * @param getEventDataStoreRequest * @return Result of the GetEventDataStore operation returned by the service. * @throws EventDataStoreARNInvalidException * The specified event data store ARN is not valid or does not map to an event data store in your account. * @throws EventDataStoreNotFoundException * The specified event data store was not found. * @throws InvalidParameterException * The request includes a parameter that is not valid. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws NoManagementAccountSLRExistsException * This exception is thrown when the management account does not have a service-linked role. * @sample AWSCloudTrail.GetEventDataStore * @see AWS * API Documentation */ @Override public GetEventDataStoreResult getEventDataStore(GetEventDataStoreRequest request) { request = beforeClientExecution(request); return executeGetEventDataStore(request); } @SdkInternalApi final GetEventDataStoreResult executeGetEventDataStore(GetEventDataStoreRequest getEventDataStoreRequest) { ExecutionContext executionContext = createExecutionContext(getEventDataStoreRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetEventDataStoreRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getEventDataStoreRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetEventDataStore"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetEventDataStoreResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

            * Describes the settings for the event selectors that you configured for your trail. The information returned for * your event selectors includes the following: *

            *
              *
            • *

              * If your event selector includes read-only events, write-only events, or all events. This applies to both * management events and data events. *

              *
            • *
            • *

              * If your event selector includes management events. *

              *
            • *
            • *

              * If your event selector includes data events, the resources on which you are logging data events. *

              *
            • *
            *

            * For more information about logging management and data events, see the following topics in the CloudTrail User * Guide: *

            * * * @param getEventSelectorsRequest * @return Result of the GetEventSelectors operation returned by the service. * @throws TrailNotFoundException * This exception is thrown when the trail with the given name is not found. * @throws InvalidTrailNameException * This exception is thrown when the provided trail name is not valid. Trail names must meet the following * requirements:

            *
              *
            • *

              * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-) *

              *
            • *
            • *

              * Start with a letter or number, and end with a letter or number *

              *
            • *
            • *

              * Be between 3 and 128 characters *

              *
            • *
            • *

              * Have no adjacent periods, underscores or dashes. Names like my-_namespace and * my--namespace are not valid. *

              *
            • *
            • *

              * Not be in IP address format (for example, 192.168.5.4) *

              *
            • * @throws CloudTrailARNInvalidException * This exception is thrown when an operation is called with an ARN that is not valid.

              *

              * The following is the format of a trail ARN: arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail * *

              *

              * The following is the format of an event data store ARN: * arn:aws:cloudtrail:us-east-2:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE *

              *

              * The following is the format of a channel ARN: * arn:aws:cloudtrail:us-east-2:123456789012:channel/01234567890 * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws NoManagementAccountSLRExistsException * This exception is thrown when the management account does not have a service-linked role. * @sample AWSCloudTrail.GetEventSelectors * @see AWS * API Documentation */ @Override public GetEventSelectorsResult getEventSelectors(GetEventSelectorsRequest request) { request = beforeClientExecution(request); return executeGetEventSelectors(request); } @SdkInternalApi final GetEventSelectorsResult executeGetEventSelectors(GetEventSelectorsRequest getEventSelectorsRequest) { ExecutionContext executionContext = createExecutionContext(getEventSelectorsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetEventSelectorsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getEventSelectorsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetEventSelectors"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetEventSelectorsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

              * Returns information about a specific import. *

              * * @param getImportRequest * @return Result of the GetImport operation returned by the service. * @throws ImportNotFoundException * The specified import was not found. * @throws InvalidParameterException * The request includes a parameter that is not valid. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @sample AWSCloudTrail.GetImport * @see AWS API * Documentation */ @Override public GetImportResult getImport(GetImportRequest request) { request = beforeClientExecution(request); return executeGetImport(request); } @SdkInternalApi final GetImportResult executeGetImport(GetImportRequest getImportRequest) { ExecutionContext executionContext = createExecutionContext(getImportRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetImportRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getImportRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetImport"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetImportResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

              * Describes the settings for the Insights event selectors that you configured for your trail or event data store. * GetInsightSelectors shows if CloudTrail Insights event logging is enabled on the trail or event data * store, and if it is, which Insights types are enabled. If you run GetInsightSelectors on a trail or * event data store that does not have Insights events enabled, the operation throws the exception * InsightNotEnabledException *

              *

              * Specify either the EventDataStore parameter to get Insights event selectors for an event data store, * or the TrailName parameter to the get Insights event selectors for a trail. You cannot specify these * parameters together. *

              *

              * For more information, see Logging CloudTrail Insights events in the CloudTrail User Guide. *

              * * @param getInsightSelectorsRequest * @return Result of the GetInsightSelectors operation returned by the service. * @throws InvalidParameterException * The request includes a parameter that is not valid. * @throws InvalidParameterCombinationException * This exception is thrown when the combination of parameters provided is not valid. * @throws TrailNotFoundException * This exception is thrown when the trail with the given name is not found. * @throws InvalidTrailNameException * This exception is thrown when the provided trail name is not valid. Trail names must meet the following * requirements:

              *
                *
              • *

                * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-) *

                *
              • *
              • *

                * Start with a letter or number, and end with a letter or number *

                *
              • *
              • *

                * Be between 3 and 128 characters *

                *
              • *
              • *

                * Have no adjacent periods, underscores or dashes. Names like my-_namespace and * my--namespace are not valid. *

                *
              • *
              • *

                * Not be in IP address format (for example, 192.168.5.4) *

                *
              • * @throws CloudTrailARNInvalidException * This exception is thrown when an operation is called with an ARN that is not valid.

                *

                * The following is the format of a trail ARN: arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail * *

                *

                * The following is the format of an event data store ARN: * arn:aws:cloudtrail:us-east-2:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE *

                *

                * The following is the format of a channel ARN: * arn:aws:cloudtrail:us-east-2:123456789012:channel/01234567890 * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws InsightNotEnabledException * If you run GetInsightSelectors on a trail or event data store that does not have Insights * events enabled, the operation throws the exception InsightNotEnabledException. * @throws NoManagementAccountSLRExistsException * This exception is thrown when the management account does not have a service-linked role. * @throws ThrottlingException * This exception is thrown when the request rate exceeds the limit. * @sample AWSCloudTrail.GetInsightSelectors * @see AWS * API Documentation */ @Override public GetInsightSelectorsResult getInsightSelectors(GetInsightSelectorsRequest request) { request = beforeClientExecution(request); return executeGetInsightSelectors(request); } @SdkInternalApi final GetInsightSelectorsResult executeGetInsightSelectors(GetInsightSelectorsRequest getInsightSelectorsRequest) { ExecutionContext executionContext = createExecutionContext(getInsightSelectorsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetInsightSelectorsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getInsightSelectorsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetInsightSelectors"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetInsightSelectorsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                * Gets event data results of a query. You must specify the QueryID value returned by the * StartQuery operation. *

                * * @param getQueryResultsRequest * @return Result of the GetQueryResults operation returned by the service. * @throws EventDataStoreARNInvalidException * The specified event data store ARN is not valid or does not map to an event data store in your account. * @throws EventDataStoreNotFoundException * The specified event data store was not found. * @throws InactiveEventDataStoreException * The event data store is inactive. * @throws InvalidMaxResultsException * This exception is thrown if the limit specified is not valid. * @throws InvalidNextTokenException * A token that is not valid, or a token that was previously used in a request with different parameters. * This exception is thrown if the token is not valid. * @throws InvalidParameterException * The request includes a parameter that is not valid. * @throws QueryIdNotFoundException * The query ID does not exist or does not map to a query. * @throws InsufficientEncryptionPolicyException * This exception is thrown when the policy on the S3 bucket or KMS key does not have sufficient permissions * for the operation. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws NoManagementAccountSLRExistsException * This exception is thrown when the management account does not have a service-linked role. * @sample AWSCloudTrail.GetQueryResults * @see AWS API * Documentation */ @Override public GetQueryResultsResult getQueryResults(GetQueryResultsRequest request) { request = beforeClientExecution(request); return executeGetQueryResults(request); } @SdkInternalApi final GetQueryResultsResult executeGetQueryResults(GetQueryResultsRequest getQueryResultsRequest) { ExecutionContext executionContext = createExecutionContext(getQueryResultsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetQueryResultsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getQueryResultsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetQueryResults"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetQueryResultsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                * Retrieves the JSON text of the resource-based policy document attached to the CloudTrail channel. *

                * * @param getResourcePolicyRequest * @return Result of the GetResourcePolicy operation returned by the service. * @throws ResourceARNNotValidException * This exception is thrown when the provided resource does not exist, or the ARN format of the resource is * not valid. The following is the valid format for a resource ARN: * arn:aws:cloudtrail:us-east-2:123456789012:channel/MyChannel. * @throws ResourceNotFoundException * This exception is thrown when the specified resource is not found. * @throws ResourcePolicyNotFoundException * This exception is thrown when the specified resource policy is not found. * @throws ResourceTypeNotSupportedException * This exception is thrown when the specified resource type is not supported by CloudTrail. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @sample AWSCloudTrail.GetResourcePolicy * @see AWS * API Documentation */ @Override public GetResourcePolicyResult getResourcePolicy(GetResourcePolicyRequest request) { request = beforeClientExecution(request); return executeGetResourcePolicy(request); } @SdkInternalApi final GetResourcePolicyResult executeGetResourcePolicy(GetResourcePolicyRequest getResourcePolicyRequest) { ExecutionContext executionContext = createExecutionContext(getResourcePolicyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetResourcePolicyRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getResourcePolicyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetResourcePolicy"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetResourcePolicyResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                * Returns settings information for a specified trail. *

                * * @param getTrailRequest * @return Result of the GetTrail operation returned by the service. * @throws CloudTrailARNInvalidException * This exception is thrown when an operation is called with an ARN that is not valid.

                *

                * The following is the format of a trail ARN: * arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail *

                *

                * The following is the format of an event data store ARN: * arn:aws:cloudtrail:us-east-2:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE *

                *

                * The following is the format of a channel ARN: * arn:aws:cloudtrail:us-east-2:123456789012:channel/01234567890 * @throws TrailNotFoundException * This exception is thrown when the trail with the given name is not found. * @throws InvalidTrailNameException * This exception is thrown when the provided trail name is not valid. Trail names must meet the following * requirements: *

                *
                  *
                • *

                  * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-) *

                  *
                • *
                • *

                  * Start with a letter or number, and end with a letter or number *

                  *
                • *
                • *

                  * Be between 3 and 128 characters *

                  *
                • *
                • *

                  * Have no adjacent periods, underscores or dashes. Names like my-_namespace and * my--namespace are not valid. *

                  *
                • *
                • *

                  * Not be in IP address format (for example, 192.168.5.4) *

                  *
                • * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @sample AWSCloudTrail.GetTrail * @see AWS API * Documentation */ @Override public GetTrailResult getTrail(GetTrailRequest request) { request = beforeClientExecution(request); return executeGetTrail(request); } @SdkInternalApi final GetTrailResult executeGetTrail(GetTrailRequest getTrailRequest) { ExecutionContext executionContext = createExecutionContext(getTrailRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetTrailRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getTrailRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetTrail"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetTrailResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                  * Returns a JSON-formatted list of information about the specified trail. Fields include information on delivery * errors, Amazon SNS and Amazon S3 errors, and start and stop logging times for each trail. This operation returns * trail status from a single Region. To return trail status from all Regions, you must call the operation on each * Region. *

                  * * @param getTrailStatusRequest * The name of a trail about which you want the current status. * @return Result of the GetTrailStatus operation returned by the service. * @throws CloudTrailARNInvalidException * This exception is thrown when an operation is called with an ARN that is not valid.

                  *

                  * The following is the format of a trail ARN: * arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail *

                  *

                  * The following is the format of an event data store ARN: * arn:aws:cloudtrail:us-east-2:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE *

                  *

                  * The following is the format of a channel ARN: * arn:aws:cloudtrail:us-east-2:123456789012:channel/01234567890 * @throws TrailNotFoundException * This exception is thrown when the trail with the given name is not found. * @throws InvalidTrailNameException * This exception is thrown when the provided trail name is not valid. Trail names must meet the following * requirements: *

                  *
                    *
                  • *

                    * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-) *

                    *
                  • *
                  • *

                    * Start with a letter or number, and end with a letter or number *

                    *
                  • *
                  • *

                    * Be between 3 and 128 characters *

                    *
                  • *
                  • *

                    * Have no adjacent periods, underscores or dashes. Names like my-_namespace and * my--namespace are not valid. *

                    *
                  • *
                  • *

                    * Not be in IP address format (for example, 192.168.5.4) *

                    *
                  • * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @sample AWSCloudTrail.GetTrailStatus * @see AWS API * Documentation */ @Override public GetTrailStatusResult getTrailStatus(GetTrailStatusRequest request) { request = beforeClientExecution(request); return executeGetTrailStatus(request); } @SdkInternalApi final GetTrailStatusResult executeGetTrailStatus(GetTrailStatusRequest getTrailStatusRequest) { ExecutionContext executionContext = createExecutionContext(getTrailStatusRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetTrailStatusRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getTrailStatusRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetTrailStatus"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetTrailStatusResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                    * Lists the channels in the current account, and their source names. *

                    * * @param listChannelsRequest * @return Result of the ListChannels operation returned by the service. * @throws InvalidNextTokenException * A token that is not valid, or a token that was previously used in a request with different parameters. * This exception is thrown if the token is not valid. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @sample AWSCloudTrail.ListChannels * @see AWS API * Documentation */ @Override public ListChannelsResult listChannels(ListChannelsRequest request) { request = beforeClientExecution(request); return executeListChannels(request); } @SdkInternalApi final ListChannelsResult executeListChannels(ListChannelsRequest listChannelsRequest) { ExecutionContext executionContext = createExecutionContext(listChannelsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListChannelsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listChannelsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListChannels"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListChannelsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                    * Returns information about all event data stores in the account, in the current Region. *

                    * * @param listEventDataStoresRequest * @return Result of the ListEventDataStores operation returned by the service. * @throws InvalidMaxResultsException * This exception is thrown if the limit specified is not valid. * @throws InvalidNextTokenException * A token that is not valid, or a token that was previously used in a request with different parameters. * This exception is thrown if the token is not valid. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws NoManagementAccountSLRExistsException * This exception is thrown when the management account does not have a service-linked role. * @sample AWSCloudTrail.ListEventDataStores * @see AWS * API Documentation */ @Override public ListEventDataStoresResult listEventDataStores(ListEventDataStoresRequest request) { request = beforeClientExecution(request); return executeListEventDataStores(request); } @SdkInternalApi final ListEventDataStoresResult executeListEventDataStores(ListEventDataStoresRequest listEventDataStoresRequest) { ExecutionContext executionContext = createExecutionContext(listEventDataStoresRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListEventDataStoresRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listEventDataStoresRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListEventDataStores"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListEventDataStoresResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                    * Returns a list of failures for the specified import. *

                    * * @param listImportFailuresRequest * @return Result of the ListImportFailures operation returned by the service. * @throws InvalidNextTokenException * A token that is not valid, or a token that was previously used in a request with different parameters. * This exception is thrown if the token is not valid. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws InvalidParameterException * The request includes a parameter that is not valid. * @sample AWSCloudTrail.ListImportFailures * @see AWS * API Documentation */ @Override public ListImportFailuresResult listImportFailures(ListImportFailuresRequest request) { request = beforeClientExecution(request); return executeListImportFailures(request); } @SdkInternalApi final ListImportFailuresResult executeListImportFailures(ListImportFailuresRequest listImportFailuresRequest) { ExecutionContext executionContext = createExecutionContext(listImportFailuresRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListImportFailuresRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listImportFailuresRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListImportFailures"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListImportFailuresResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                    * Returns information on all imports, or a select set of imports by ImportStatus or * Destination. *

                    * * @param listImportsRequest * @return Result of the ListImports operation returned by the service. * @throws EventDataStoreARNInvalidException * The specified event data store ARN is not valid or does not map to an event data store in your account. * @throws InvalidNextTokenException * A token that is not valid, or a token that was previously used in a request with different parameters. * This exception is thrown if the token is not valid. * @throws InvalidParameterException * The request includes a parameter that is not valid. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @sample AWSCloudTrail.ListImports * @see AWS API * Documentation */ @Override public ListImportsResult listImports(ListImportsRequest request) { request = beforeClientExecution(request); return executeListImports(request); } @SdkInternalApi final ListImportsResult executeListImports(ListImportsRequest listImportsRequest) { ExecutionContext executionContext = createExecutionContext(listImportsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListImportsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listImportsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListImports"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListImportsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                    * Returns Insights metrics data for trails that have enabled Insights. The request must include the * EventSource, EventName, and InsightType parameters. *

                    *

                    * If the InsightType is set to ApiErrorRateInsight, the request must also include the * ErrorCode parameter. *

                    *

                    * The following are the available time periods for ListInsightsMetricData. Each cutoff is inclusive. *

                    *
                      *
                    • *

                      * Data points with a period of 60 seconds (1-minute) are available for 15 days. *

                      *
                    • *
                    • *

                      * Data points with a period of 300 seconds (5-minute) are available for 63 days. *

                      *
                    • *
                    • *

                      * Data points with a period of 3600 seconds (1 hour) are available for 90 days. *

                      *
                    • *
                    *

                    * Access to the ListInsightsMetricData API operation is linked to the * cloudtrail:LookupEvents action. To use this operation, you must have permissions to perform the * cloudtrail:LookupEvents action. *

                    * * @param listInsightsMetricDataRequest * @return Result of the ListInsightsMetricData operation returned by the service. * @throws InvalidParameterException * The request includes a parameter that is not valid. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @sample AWSCloudTrail.ListInsightsMetricData * @see AWS API Documentation */ @Override public ListInsightsMetricDataResult listInsightsMetricData(ListInsightsMetricDataRequest request) { request = beforeClientExecution(request); return executeListInsightsMetricData(request); } @SdkInternalApi final ListInsightsMetricDataResult executeListInsightsMetricData(ListInsightsMetricDataRequest listInsightsMetricDataRequest) { ExecutionContext executionContext = createExecutionContext(listInsightsMetricDataRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListInsightsMetricDataRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listInsightsMetricDataRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListInsightsMetricData"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListInsightsMetricDataResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                    * Returns all public keys whose private keys were used to sign the digest files within the specified time range. * The public key is needed to validate digest files that were signed with its corresponding private key. *

                    * *

                    * CloudTrail uses different private and public key pairs per Region. Each digest file is signed with a private key * unique to its Region. When you validate a digest file from a specific Region, you must look in the same Region * for its corresponding public key. *

                    *
                    * * @param listPublicKeysRequest * Requests the public keys for a specified time range. * @return Result of the ListPublicKeys operation returned by the service. * @throws InvalidTimeRangeException * Occurs if the timestamp values are not valid. Either the start time occurs after the end time, or the * time range is outside the range of possible values. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws InvalidTokenException * Reserved for future use. * @sample AWSCloudTrail.ListPublicKeys * @see AWS API * Documentation */ @Override public ListPublicKeysResult listPublicKeys(ListPublicKeysRequest request) { request = beforeClientExecution(request); return executeListPublicKeys(request); } @SdkInternalApi final ListPublicKeysResult executeListPublicKeys(ListPublicKeysRequest listPublicKeysRequest) { ExecutionContext executionContext = createExecutionContext(listPublicKeysRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListPublicKeysRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listPublicKeysRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListPublicKeys"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListPublicKeysResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } @Override public ListPublicKeysResult listPublicKeys() { return listPublicKeys(new ListPublicKeysRequest()); } /** *

                    * Returns a list of queries and query statuses for the past seven days. You must specify an ARN value for * EventDataStore. Optionally, to shorten the list of results, you can specify a time range, formatted * as timestamps, by adding StartTime and EndTime parameters, and a * QueryStatus value. Valid values for QueryStatus include QUEUED, * RUNNING, FINISHED, FAILED, TIMED_OUT, or * CANCELLED. *

                    * * @param listQueriesRequest * @return Result of the ListQueries operation returned by the service. * @throws EventDataStoreARNInvalidException * The specified event data store ARN is not valid or does not map to an event data store in your account. * @throws EventDataStoreNotFoundException * The specified event data store was not found. * @throws InactiveEventDataStoreException * The event data store is inactive. * @throws InvalidDateRangeException * A date range for the query was specified that is not valid. Be sure that the start time is * chronologically before the end time. For more information about writing a query, see Create or * edit a query in the CloudTrail User Guide. * @throws InvalidMaxResultsException * This exception is thrown if the limit specified is not valid. * @throws InvalidNextTokenException * A token that is not valid, or a token that was previously used in a request with different parameters. * This exception is thrown if the token is not valid. * @throws InvalidParameterException * The request includes a parameter that is not valid. * @throws InvalidQueryStatusException * The query status is not valid for the operation. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws NoManagementAccountSLRExistsException * This exception is thrown when the management account does not have a service-linked role. * @sample AWSCloudTrail.ListQueries * @see AWS API * Documentation */ @Override public ListQueriesResult listQueries(ListQueriesRequest request) { request = beforeClientExecution(request); return executeListQueries(request); } @SdkInternalApi final ListQueriesResult executeListQueries(ListQueriesRequest listQueriesRequest) { ExecutionContext executionContext = createExecutionContext(listQueriesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListQueriesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listQueriesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListQueries"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListQueriesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                    * Lists the tags for the specified trails, event data stores, or channels in the current Region. *

                    * * @param listTagsRequest * Specifies a list of tags to return. * @return Result of the ListTags operation returned by the service. * @throws ResourceNotFoundException * This exception is thrown when the specified resource is not found. * @throws CloudTrailARNInvalidException * This exception is thrown when an operation is called with an ARN that is not valid.

                    *

                    * The following is the format of a trail ARN: * arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail *

                    *

                    * The following is the format of an event data store ARN: * arn:aws:cloudtrail:us-east-2:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE *

                    *

                    * The following is the format of a channel ARN: * arn:aws:cloudtrail:us-east-2:123456789012:channel/01234567890 * @throws EventDataStoreARNInvalidException * The specified event data store ARN is not valid or does not map to an event data store in your account. * @throws ChannelARNInvalidException * This exception is thrown when the specified value of ChannelARN is not valid. * @throws ResourceTypeNotSupportedException * This exception is thrown when the specified resource type is not supported by CloudTrail. * @throws InvalidTrailNameException * This exception is thrown when the provided trail name is not valid. Trail names must meet the following * requirements: *

                    *
                      *
                    • *

                      * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-) *

                      *
                    • *
                    • *

                      * Start with a letter or number, and end with a letter or number *

                      *
                    • *
                    • *

                      * Be between 3 and 128 characters *

                      *
                    • *
                    • *

                      * Have no adjacent periods, underscores or dashes. Names like my-_namespace and * my--namespace are not valid. *

                      *
                    • *
                    • *

                      * Not be in IP address format (for example, 192.168.5.4) *

                      *
                    • * @throws InactiveEventDataStoreException * The event data store is inactive. * @throws EventDataStoreNotFoundException * The specified event data store was not found. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws InvalidTokenException * Reserved for future use. * @throws NoManagementAccountSLRExistsException * This exception is thrown when the management account does not have a service-linked role. * @sample AWSCloudTrail.ListTags * @see AWS API * Documentation */ @Override public ListTagsResult listTags(ListTagsRequest request) { request = beforeClientExecution(request); return executeListTags(request); } @SdkInternalApi final ListTagsResult executeListTags(ListTagsRequest listTagsRequest) { ExecutionContext executionContext = createExecutionContext(listTagsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListTagsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listTagsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListTags"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListTagsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                      * Lists trails that are in the current account. *

                      * * @param listTrailsRequest * @return Result of the ListTrails operation returned by the service. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @sample AWSCloudTrail.ListTrails * @see AWS API * Documentation */ @Override public ListTrailsResult listTrails(ListTrailsRequest request) { request = beforeClientExecution(request); return executeListTrails(request); } @SdkInternalApi final ListTrailsResult executeListTrails(ListTrailsRequest listTrailsRequest) { ExecutionContext executionContext = createExecutionContext(listTrailsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListTrailsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listTrailsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListTrails"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListTrailsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                      * Looks up management events or CloudTrail Insights events that are captured by CloudTrail. You can look up events that occurred in a Region * within the last 90 days. *

                      * *

                      * LookupEvents returns recent Insights events for trails that enable Insights. To view Insights events * for an event data store, you can run queries on your Insights event data store, and you can also view the Lake * dashboard for Insights. *

                      *
                      *

                      * Lookup supports the following attributes for management events: *

                      *
                        *
                      • *

                        * Amazon Web Services access key *

                        *
                      • *
                      • *

                        * Event ID *

                        *
                      • *
                      • *

                        * Event name *

                        *
                      • *
                      • *

                        * Event source *

                        *
                      • *
                      • *

                        * Read only *

                        *
                      • *
                      • *

                        * Resource name *

                        *
                      • *
                      • *

                        * Resource type *

                        *
                      • *
                      • *

                        * User name *

                        *
                      • *
                      *

                      * Lookup supports the following attributes for Insights events: *

                      *
                        *
                      • *

                        * Event ID *

                        *
                      • *
                      • *

                        * Event name *

                        *
                      • *
                      • *

                        * Event source *

                        *
                      • *
                      *

                      * All attributes are optional. The default number of results returned is 50, with a maximum of 50 possible. The * response includes a token that you can use to get the next page of results. *

                      * *

                      * The rate of lookup requests is limited to two per second, per account, per Region. If this limit is exceeded, a * throttling error occurs. *

                      *
                      * * @param lookupEventsRequest * Contains a request for LookupEvents. * @return Result of the LookupEvents operation returned by the service. * @throws InvalidLookupAttributesException * Occurs when a lookup attribute is specified that is not valid. * @throws InvalidTimeRangeException * Occurs if the timestamp values are not valid. Either the start time occurs after the end time, or the * time range is outside the range of possible values. * @throws InvalidMaxResultsException * This exception is thrown if the limit specified is not valid. * @throws InvalidNextTokenException * A token that is not valid, or a token that was previously used in a request with different parameters. * This exception is thrown if the token is not valid. * @throws InvalidEventCategoryException * Occurs if an event category that is not valid is specified as a value of EventCategory. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @sample AWSCloudTrail.LookupEvents * @see AWS API * Documentation */ @Override public LookupEventsResult lookupEvents(LookupEventsRequest request) { request = beforeClientExecution(request); return executeLookupEvents(request); } @SdkInternalApi final LookupEventsResult executeLookupEvents(LookupEventsRequest lookupEventsRequest) { ExecutionContext executionContext = createExecutionContext(lookupEventsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new LookupEventsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(lookupEventsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "LookupEvents"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new LookupEventsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } @Override public LookupEventsResult lookupEvents() { return lookupEvents(new LookupEventsRequest()); } /** *

                      * Configures an event selector or advanced event selectors for your trail. Use event selectors or advanced event * selectors to specify management and data event settings for your trail. If you want your trail to log Insights * events, be sure the event selector enables logging of the Insights event types you want configured for your * trail. For more information about logging Insights events, see Logging Insights events in the CloudTrail User Guide. By default, trails created without specific * event selectors are configured to log all read and write management events, and no data events. *

                      *

                      * When an event occurs in your account, CloudTrail evaluates the event selectors or advanced event selectors in all * trails. For each trail, if the event matches any event selector, the trail processes and logs the event. If the * event doesn't match any event selector, the trail doesn't log the event. *

                      *

                      * Example *

                      *
                        *
                      1. *

                        * You create an event selector for a trail and specify that you want write-only events. *

                        *
                      2. *
                      3. *

                        * The EC2 GetConsoleOutput and RunInstances API operations occur in your account. *

                        *
                      4. *
                      5. *

                        * CloudTrail evaluates whether the events match your event selectors. *

                        *
                      6. *
                      7. *

                        * The RunInstances is a write-only event and it matches your event selector. The trail logs the event. *

                        *
                      8. *
                      9. *

                        * The GetConsoleOutput is a read-only event that doesn't match your event selector. The trail doesn't * log the event. *

                        *
                      10. *
                      *

                      * The PutEventSelectors operation must be called from the Region in which the trail was created; * otherwise, an InvalidHomeRegionException exception is thrown. *

                      *

                      * You can configure up to five event selectors for each trail. For more information, see Logging management events, Logging data events, and Quotas in * CloudTrail in the CloudTrail User Guide. *

                      *

                      * You can add advanced event selectors, and conditions for your advanced event selectors, up to a maximum of 500 * values for all conditions and selectors on a trail. You can use either AdvancedEventSelectors or * EventSelectors, but not both. If you apply AdvancedEventSelectors to a trail, any * existing EventSelectors are overwritten. For more information about advanced event selectors, see Logging * data events in the CloudTrail User Guide. *

                      * * @param putEventSelectorsRequest * @return Result of the PutEventSelectors operation returned by the service. * @throws TrailNotFoundException * This exception is thrown when the trail with the given name is not found. * @throws InvalidTrailNameException * This exception is thrown when the provided trail name is not valid. Trail names must meet the following * requirements:

                      *
                        *
                      • *

                        * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-) *

                        *
                      • *
                      • *

                        * Start with a letter or number, and end with a letter or number *

                        *
                      • *
                      • *

                        * Be between 3 and 128 characters *

                        *
                      • *
                      • *

                        * Have no adjacent periods, underscores or dashes. Names like my-_namespace and * my--namespace are not valid. *

                        *
                      • *
                      • *

                        * Not be in IP address format (for example, 192.168.5.4) *

                        *
                      • * @throws CloudTrailARNInvalidException * This exception is thrown when an operation is called with an ARN that is not valid.

                        *

                        * The following is the format of a trail ARN: arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail * *

                        *

                        * The following is the format of an event data store ARN: * arn:aws:cloudtrail:us-east-2:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE *

                        *

                        * The following is the format of a channel ARN: * arn:aws:cloudtrail:us-east-2:123456789012:channel/01234567890 * @throws InvalidHomeRegionException * This exception is thrown when an operation is called on a trail from a Region other than the Region in * which the trail was created. * @throws InvalidEventSelectorsException * This exception is thrown when the PutEventSelectors operation is called with a number of * event selectors, advanced event selectors, or data resources that is not valid. The combination of event * selectors or advanced event selectors and data resources is not valid. A trail can have up to 5 event * selectors. If a trail uses advanced event selectors, a maximum of 500 total values for all conditions in * all advanced event selectors is allowed. A trail is limited to 250 data resources. These data resources * can be distributed across event selectors, but the overall total cannot exceed 250. *

                        *

                        * You can: *

                        *
                          *
                        • *

                          * Specify a valid number of event selectors (1 to 5) for a trail. *

                          *
                        • *
                        • *

                          * Specify a valid number of data resources (1 to 250) for an event selector. The limit of number of * resources on an individual event selector is configurable up to 250. However, this upper limit is allowed * only if the total number of data resources does not exceed 250 across all event selectors for a trail. *

                          *
                        • *
                        • *

                          * Specify up to 500 values for all conditions in all advanced event selectors for a trail. *

                          *
                        • *
                        • *

                          * Specify a valid value for a parameter. For example, specifying the ReadWriteType parameter * with a value of read-only is not valid. *

                          *
                        • * @throws ConflictException * This exception is thrown when the specified resource is not ready for an operation. This can occur when * you try to run an operation on a resource before CloudTrail has time to fully load the resource, or * because another operation is modifying the resource. If this exception occurs, wait a few minutes, and * then try the operation again. * @throws ThrottlingException * This exception is thrown when the request rate exceeds the limit. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws NotOrganizationMasterAccountException * This exception is thrown when the Amazon Web Services account making the request to create or update an * organization trail or event data store is not the management account for an organization in * Organizations. For more information, see Prepare For Creating a Trail For Your Organization or Organization event data stores. * @throws NoManagementAccountSLRExistsException * This exception is thrown when the management account does not have a service-linked role. * @throws InsufficientDependencyServiceAccessPermissionException * This exception is thrown when the IAM identity that is used to create the organization resource lacks one * or more required permissions for creating an organization resource in a required service. * @sample AWSCloudTrail.PutEventSelectors * @see AWS * API Documentation */ @Override public PutEventSelectorsResult putEventSelectors(PutEventSelectorsRequest request) { request = beforeClientExecution(request); return executePutEventSelectors(request); } @SdkInternalApi final PutEventSelectorsResult executePutEventSelectors(PutEventSelectorsRequest putEventSelectorsRequest) { ExecutionContext executionContext = createExecutionContext(putEventSelectorsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new PutEventSelectorsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(putEventSelectorsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "PutEventSelectors"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new PutEventSelectorsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                          * Lets you enable Insights event logging by specifying the Insights selectors that you want to enable on an * existing trail or event data store. You also use PutInsightSelectors to turn off Insights event * logging, by passing an empty list of Insights types. The valid Insights event types are * ApiErrorRateInsight and ApiCallRateInsight. *

                          *

                          * To enable Insights on an event data store, you must specify the ARNs (or ID suffix of the ARNs) for the source * event data store (EventDataStore) and the destination event data store ( * InsightsDestination). The source event data store logs management events and enables Insights. The * destination event data store logs Insights events based upon the management event activity of the source event * data store. The source and destination event data stores must belong to the same Amazon Web Services account. *

                          *

                          * To log Insights events for a trail, you must specify the name (TrailName) of the CloudTrail trail * for which you want to change or add Insights selectors. *

                          *

                          * To log CloudTrail Insights events on API call volume, the trail or event data store must log write * management events. To log CloudTrail Insights events on API error rate, the trail or event data store must log * read or write management events. You can call GetEventSelectors on a trail * to check whether the trail logs management events. You can call GetEventDataStore on an event data * store to check whether the event data store logs management events. *

                          *

                          * For more information, see Logging CloudTrail Insights events in the CloudTrail User Guide. *

                          * * @param putInsightSelectorsRequest * @return Result of the PutInsightSelectors operation returned by the service. * @throws InvalidParameterException * The request includes a parameter that is not valid. * @throws InvalidParameterCombinationException * This exception is thrown when the combination of parameters provided is not valid. * @throws TrailNotFoundException * This exception is thrown when the trail with the given name is not found. * @throws InvalidTrailNameException * This exception is thrown when the provided trail name is not valid. Trail names must meet the following * requirements:

                          *
                            *
                          • *

                            * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-) *

                            *
                          • *
                          • *

                            * Start with a letter or number, and end with a letter or number *

                            *
                          • *
                          • *

                            * Be between 3 and 128 characters *

                            *
                          • *
                          • *

                            * Have no adjacent periods, underscores or dashes. Names like my-_namespace and * my--namespace are not valid. *

                            *
                          • *
                          • *

                            * Not be in IP address format (for example, 192.168.5.4) *

                            *
                          • * @throws CloudTrailARNInvalidException * This exception is thrown when an operation is called with an ARN that is not valid.

                            *

                            * The following is the format of a trail ARN: arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail * *

                            *

                            * The following is the format of an event data store ARN: * arn:aws:cloudtrail:us-east-2:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE *

                            *

                            * The following is the format of a channel ARN: * arn:aws:cloudtrail:us-east-2:123456789012:channel/01234567890 * @throws InvalidHomeRegionException * This exception is thrown when an operation is called on a trail from a Region other than the Region in * which the trail was created. * @throws InvalidInsightSelectorsException * For PutInsightSelectors, this exception is thrown when the formatting or syntax of the * InsightSelectors JSON statement is not valid, or the specified InsightType in * the InsightSelectors statement is not valid. Valid values for InsightType are * ApiCallRateInsight and ApiErrorRateInsight. To enable Insights on an event data * store, the destination event data store specified by the InsightsDestination parameter must * log Insights events and the source event data store specified by the EventDataStore * parameter must log management events. *

                            *

                            * For UpdateEventDataStore, this exception is thrown if Insights are enabled on the event data * store and the updated advanced event selectors are not compatible with the configured * InsightSelectors. If the InsightSelectors includes an InsightType of * ApiCallRateInsight, the source event data store must log write management * events. If the InsightSelectors includes an InsightType of * ApiErrorRateInsight, the source event data store must log management events. * @throws InsufficientS3BucketPolicyException * This exception is thrown when the policy on the S3 bucket is not sufficient. * @throws InsufficientEncryptionPolicyException * This exception is thrown when the policy on the S3 bucket or KMS key does not have sufficient permissions * for the operation. * @throws S3BucketDoesNotExistException * This exception is thrown when the specified S3 bucket does not exist. * @throws KmsException * This exception is thrown when there is an issue with the specified KMS key and the trail or event data * store can't be updated. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws NotOrganizationMasterAccountException * This exception is thrown when the Amazon Web Services account making the request to create or update an * organization trail or event data store is not the management account for an organization in * Organizations. For more information, see Prepare For Creating a Trail For Your Organization or Organization event data stores. * @throws NoManagementAccountSLRExistsException * This exception is thrown when the management account does not have a service-linked role. * @throws ThrottlingException * This exception is thrown when the request rate exceeds the limit. * @sample AWSCloudTrail.PutInsightSelectors * @see AWS * API Documentation */ @Override public PutInsightSelectorsResult putInsightSelectors(PutInsightSelectorsRequest request) { request = beforeClientExecution(request); return executePutInsightSelectors(request); } @SdkInternalApi final PutInsightSelectorsResult executePutInsightSelectors(PutInsightSelectorsRequest putInsightSelectorsRequest) { ExecutionContext executionContext = createExecutionContext(putInsightSelectorsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new PutInsightSelectorsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(putInsightSelectorsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "PutInsightSelectors"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new PutInsightSelectorsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                            * Attaches a resource-based permission policy to a CloudTrail channel that is used for an integration with an event * source outside of Amazon Web Services. For more information about resource-based policies, see CloudTrail resource-based policy examples in the CloudTrail User Guide. *

                            * * @param putResourcePolicyRequest * @return Result of the PutResourcePolicy operation returned by the service. * @throws ResourceARNNotValidException * This exception is thrown when the provided resource does not exist, or the ARN format of the resource is * not valid. The following is the valid format for a resource ARN: * arn:aws:cloudtrail:us-east-2:123456789012:channel/MyChannel. * @throws ResourcePolicyNotValidException * This exception is thrown when the resouce-based policy has syntax errors, or contains a principal that is * not valid.

                            *

                            * The following are requirements for the resource policy: *

                            *
                              *
                            • *

                              * Contains only one action: cloudtrail-data:PutAuditEvents *

                              *
                            • *
                            • *

                              * Contains at least one statement. The policy can have a maximum of 20 statements. *

                              *
                            • *
                            • *

                              * Each statement contains at least one principal. A statement can have a maximum of 50 principals. *

                              *
                            • * @throws ResourceNotFoundException * This exception is thrown when the specified resource is not found. * @throws ResourceTypeNotSupportedException * This exception is thrown when the specified resource type is not supported by CloudTrail. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @sample AWSCloudTrail.PutResourcePolicy * @see AWS * API Documentation */ @Override public PutResourcePolicyResult putResourcePolicy(PutResourcePolicyRequest request) { request = beforeClientExecution(request); return executePutResourcePolicy(request); } @SdkInternalApi final PutResourcePolicyResult executePutResourcePolicy(PutResourcePolicyRequest putResourcePolicyRequest) { ExecutionContext executionContext = createExecutionContext(putResourcePolicyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new PutResourcePolicyRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(putResourcePolicyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "PutResourcePolicy"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new PutResourcePolicyResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                              * Registers an organization’s member account as the CloudTrail delegated administrator. *

                              * * @param registerOrganizationDelegatedAdminRequest * Specifies an organization member account ID as a CloudTrail delegated administrator. * @return Result of the RegisterOrganizationDelegatedAdmin operation returned by the service. * @throws AccountRegisteredException * This exception is thrown when the account is already registered as the CloudTrail delegated * administrator. * @throws AccountNotFoundException * This exception is thrown when the specified account is not found or not part of an organization. * @throws InsufficientDependencyServiceAccessPermissionException * This exception is thrown when the IAM identity that is used to create the organization resource lacks one * or more required permissions for creating an organization resource in a required service. * @throws InvalidParameterException * The request includes a parameter that is not valid. * @throws CannotDelegateManagementAccountException * This exception is thrown when the management account of an organization is registered as the CloudTrail * delegated administrator. * @throws CloudTrailAccessNotEnabledException * This exception is thrown when trusted access has not been enabled between CloudTrail and Organizations. * For more information, see How to enable or disable trusted access in the Organizations User Guide and Prepare For Creating a Trail For Your Organization in the CloudTrail User Guide. * @throws ConflictException * This exception is thrown when the specified resource is not ready for an operation. This can occur when * you try to run an operation on a resource before CloudTrail has time to fully load the resource, or * because another operation is modifying the resource. If this exception occurs, wait a few minutes, and * then try the operation again. * @throws DelegatedAdminAccountLimitExceededException * This exception is thrown when the maximum number of CloudTrail delegated administrators is reached. * @throws NotOrganizationManagementAccountException * This exception is thrown when the account making the request is not the organization's management * account. * @throws OrganizationNotInAllFeaturesModeException * This exception is thrown when Organizations is not configured to support all features. All features must * be enabled in Organizations to support creating an organization trail or event data store. * @throws OrganizationsNotInUseException * This exception is thrown when the request is made from an Amazon Web Services account that is not a * member of an organization. To make this request, sign in using the credentials of an account that belongs * to an organization. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @sample AWSCloudTrail.RegisterOrganizationDelegatedAdmin * @see AWS API Documentation */ @Override public RegisterOrganizationDelegatedAdminResult registerOrganizationDelegatedAdmin(RegisterOrganizationDelegatedAdminRequest request) { request = beforeClientExecution(request); return executeRegisterOrganizationDelegatedAdmin(request); } @SdkInternalApi final RegisterOrganizationDelegatedAdminResult executeRegisterOrganizationDelegatedAdmin( RegisterOrganizationDelegatedAdminRequest registerOrganizationDelegatedAdminRequest) { ExecutionContext executionContext = createExecutionContext(registerOrganizationDelegatedAdminRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new RegisterOrganizationDelegatedAdminRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(registerOrganizationDelegatedAdminRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "RegisterOrganizationDelegatedAdmin"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new RegisterOrganizationDelegatedAdminResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                              * Removes the specified tags from a trail, event data store, or channel. *

                              * * @param removeTagsRequest * Specifies the tags to remove from a trail, event data store, or channel. * @return Result of the RemoveTags operation returned by the service. * @throws ResourceNotFoundException * This exception is thrown when the specified resource is not found. * @throws CloudTrailARNInvalidException * This exception is thrown when an operation is called with an ARN that is not valid.

                              *

                              * The following is the format of a trail ARN: * arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail *

                              *

                              * The following is the format of an event data store ARN: * arn:aws:cloudtrail:us-east-2:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE *

                              *

                              * The following is the format of a channel ARN: * arn:aws:cloudtrail:us-east-2:123456789012:channel/01234567890 * @throws EventDataStoreARNInvalidException * The specified event data store ARN is not valid or does not map to an event data store in your account. * @throws ChannelARNInvalidException * This exception is thrown when the specified value of ChannelARN is not valid. * @throws ResourceTypeNotSupportedException * This exception is thrown when the specified resource type is not supported by CloudTrail. * @throws InvalidTrailNameException * This exception is thrown when the provided trail name is not valid. Trail names must meet the following * requirements: *

                              *
                                *
                              • *

                                * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-) *

                                *
                              • *
                              • *

                                * Start with a letter or number, and end with a letter or number *

                                *
                              • *
                              • *

                                * Be between 3 and 128 characters *

                                *
                              • *
                              • *

                                * Have no adjacent periods, underscores or dashes. Names like my-_namespace and * my--namespace are not valid. *

                                *
                              • *
                              • *

                                * Not be in IP address format (for example, 192.168.5.4) *

                                *
                              • * @throws InvalidTagParameterException * This exception is thrown when the specified tag key or values are not valid. It can also occur if there * are duplicate tags or too many tags on the resource. * @throws InactiveEventDataStoreException * The event data store is inactive. * @throws EventDataStoreNotFoundException * The specified event data store was not found. * @throws ChannelNotFoundException * This exception is thrown when CloudTrail cannot find the specified channel. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws NotOrganizationMasterAccountException * This exception is thrown when the Amazon Web Services account making the request to create or update an * organization trail or event data store is not the management account for an organization in * Organizations. For more information, see Prepare For Creating a Trail For Your Organization or Organization event data stores. * @throws NoManagementAccountSLRExistsException * This exception is thrown when the management account does not have a service-linked role. * @sample AWSCloudTrail.RemoveTags * @see AWS API * Documentation */ @Override public RemoveTagsResult removeTags(RemoveTagsRequest request) { request = beforeClientExecution(request); return executeRemoveTags(request); } @SdkInternalApi final RemoveTagsResult executeRemoveTags(RemoveTagsRequest removeTagsRequest) { ExecutionContext executionContext = createExecutionContext(removeTagsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new RemoveTagsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(removeTagsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "RemoveTags"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new RemoveTagsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                                * Restores a deleted event data store specified by EventDataStore, which accepts an event data store * ARN. You can only restore a deleted event data store within the seven-day wait period after deletion. Restoring * an event data store can take several minutes, depending on the size of the event data store. *

                                * * @param restoreEventDataStoreRequest * @return Result of the RestoreEventDataStore operation returned by the service. * @throws EventDataStoreARNInvalidException * The specified event data store ARN is not valid or does not map to an event data store in your account. * @throws EventDataStoreNotFoundException * The specified event data store was not found. * @throws EventDataStoreMaxLimitExceededException * Your account has used the maximum number of event data stores. * @throws InvalidEventDataStoreStatusException * The event data store is not in a status that supports the operation. * @throws InvalidParameterException * The request includes a parameter that is not valid. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws CloudTrailAccessNotEnabledException * This exception is thrown when trusted access has not been enabled between CloudTrail and Organizations. * For more information, see How to enable or disable trusted access in the Organizations User Guide and Prepare For Creating a Trail For Your Organization in the CloudTrail User Guide. * @throws InsufficientDependencyServiceAccessPermissionException * This exception is thrown when the IAM identity that is used to create the organization resource lacks one * or more required permissions for creating an organization resource in a required service. * @throws OrganizationsNotInUseException * This exception is thrown when the request is made from an Amazon Web Services account that is not a * member of an organization. To make this request, sign in using the credentials of an account that belongs * to an organization. * @throws NotOrganizationMasterAccountException * This exception is thrown when the Amazon Web Services account making the request to create or update an * organization trail or event data store is not the management account for an organization in * Organizations. For more information, see Prepare For Creating a Trail For Your Organization or Organization event data stores. * @throws NoManagementAccountSLRExistsException * This exception is thrown when the management account does not have a service-linked role. * @throws OrganizationNotInAllFeaturesModeException * This exception is thrown when Organizations is not configured to support all features. All features must * be enabled in Organizations to support creating an organization trail or event data store. * @sample AWSCloudTrail.RestoreEventDataStore * @see AWS API Documentation */ @Override public RestoreEventDataStoreResult restoreEventDataStore(RestoreEventDataStoreRequest request) { request = beforeClientExecution(request); return executeRestoreEventDataStore(request); } @SdkInternalApi final RestoreEventDataStoreResult executeRestoreEventDataStore(RestoreEventDataStoreRequest restoreEventDataStoreRequest) { ExecutionContext executionContext = createExecutionContext(restoreEventDataStoreRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new RestoreEventDataStoreRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(restoreEventDataStoreRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "RestoreEventDataStore"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new RestoreEventDataStoreResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                                * Starts the ingestion of live events on an event data store specified as either an ARN or the ID portion of the * ARN. To start ingestion, the event data store Status must be STOPPED_INGESTION and the * eventCategory must be Management, Data, or ConfigurationItem. *

                                * * @param startEventDataStoreIngestionRequest * @return Result of the StartEventDataStoreIngestion operation returned by the service. * @throws EventDataStoreARNInvalidException * The specified event data store ARN is not valid or does not map to an event data store in your account. * @throws EventDataStoreNotFoundException * The specified event data store was not found. * @throws InvalidEventDataStoreStatusException * The event data store is not in a status that supports the operation. * @throws InvalidParameterException * The request includes a parameter that is not valid. * @throws InvalidEventDataStoreCategoryException * This exception is thrown when event categories of specified event data stores are not valid. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws NotOrganizationMasterAccountException * This exception is thrown when the Amazon Web Services account making the request to create or update an * organization trail or event data store is not the management account for an organization in * Organizations. For more information, see Prepare For Creating a Trail For Your Organization or Organization event data stores. * @throws NoManagementAccountSLRExistsException * This exception is thrown when the management account does not have a service-linked role. * @throws InsufficientDependencyServiceAccessPermissionException * This exception is thrown when the IAM identity that is used to create the organization resource lacks one * or more required permissions for creating an organization resource in a required service. * @sample AWSCloudTrail.StartEventDataStoreIngestion * @see AWS API Documentation */ @Override public StartEventDataStoreIngestionResult startEventDataStoreIngestion(StartEventDataStoreIngestionRequest request) { request = beforeClientExecution(request); return executeStartEventDataStoreIngestion(request); } @SdkInternalApi final StartEventDataStoreIngestionResult executeStartEventDataStoreIngestion(StartEventDataStoreIngestionRequest startEventDataStoreIngestionRequest) { ExecutionContext executionContext = createExecutionContext(startEventDataStoreIngestionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new StartEventDataStoreIngestionRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(startEventDataStoreIngestionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "StartEventDataStoreIngestion"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new StartEventDataStoreIngestionResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                                * Starts an import of logged trail events from a source S3 bucket to a destination event data store. By default, * CloudTrail only imports events contained in the S3 bucket's CloudTrail prefix and the prefixes * inside the CloudTrail prefix, and does not check prefixes for other Amazon Web Services services. If * you want to import CloudTrail events contained in another prefix, you must include the prefix in the * S3LocationUri. For more considerations about importing trail events, see Considerations for copying trail events in the CloudTrail User Guide. *

                                *

                                * When you start a new import, the Destinations and ImportSource parameters are required. * Before starting a new import, disable any access control lists (ACLs) attached to the source S3 bucket. For more * information about disabling ACLs, see Controlling ownership of * objects and disabling ACLs for your bucket. *

                                *

                                * When you retry an import, the ImportID parameter is required. *

                                * *

                                * If the destination event data store is for an organization, you must use the management account to import trail * events. You cannot use the delegated administrator account for the organization. *

                                *
                                * * @param startImportRequest * @return Result of the StartImport operation returned by the service. * @throws AccountHasOngoingImportException * This exception is thrown when you start a new import and a previous import is still in progress. * @throws EventDataStoreARNInvalidException * The specified event data store ARN is not valid or does not map to an event data store in your account. * @throws EventDataStoreNotFoundException * The specified event data store was not found. * @throws InvalidEventDataStoreStatusException * The event data store is not in a status that supports the operation. * @throws InvalidEventDataStoreCategoryException * This exception is thrown when event categories of specified event data stores are not valid. * @throws InactiveEventDataStoreException * The event data store is inactive. * @throws InvalidImportSourceException * This exception is thrown when the provided source S3 bucket is not valid for import. * @throws ImportNotFoundException * The specified import was not found. * @throws InvalidParameterException * The request includes a parameter that is not valid. * @throws InsufficientEncryptionPolicyException * This exception is thrown when the policy on the S3 bucket or KMS key does not have sufficient permissions * for the operation. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @sample AWSCloudTrail.StartImport * @see AWS API * Documentation */ @Override public StartImportResult startImport(StartImportRequest request) { request = beforeClientExecution(request); return executeStartImport(request); } @SdkInternalApi final StartImportResult executeStartImport(StartImportRequest startImportRequest) { ExecutionContext executionContext = createExecutionContext(startImportRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new StartImportRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(startImportRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "StartImport"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new StartImportResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                                * Starts the recording of Amazon Web Services API calls and log file delivery for a trail. For a trail that is * enabled in all Regions, this operation must be called from the Region in which the trail was created. This * operation cannot be called on the shadow trails (replicated trails in other Regions) of a trail that is enabled * in all Regions. *

                                * * @param startLoggingRequest * The request to CloudTrail to start logging Amazon Web Services API calls for an account. * @return Result of the StartLogging operation returned by the service. * @throws CloudTrailARNInvalidException * This exception is thrown when an operation is called with an ARN that is not valid.

                                *

                                * The following is the format of a trail ARN: * arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail *

                                *

                                * The following is the format of an event data store ARN: * arn:aws:cloudtrail:us-east-2:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE *

                                *

                                * The following is the format of a channel ARN: * arn:aws:cloudtrail:us-east-2:123456789012:channel/01234567890 * @throws ConflictException * This exception is thrown when the specified resource is not ready for an operation. This can occur when * you try to run an operation on a resource before CloudTrail has time to fully load the resource, or * because another operation is modifying the resource. If this exception occurs, wait a few minutes, and * then try the operation again. * @throws ThrottlingException * This exception is thrown when the request rate exceeds the limit. * @throws TrailNotFoundException * This exception is thrown when the trail with the given name is not found. * @throws InvalidTrailNameException * This exception is thrown when the provided trail name is not valid. Trail names must meet the following * requirements: *

                                *
                                  *
                                • *

                                  * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-) *

                                  *
                                • *
                                • *

                                  * Start with a letter or number, and end with a letter or number *

                                  *
                                • *
                                • *

                                  * Be between 3 and 128 characters *

                                  *
                                • *
                                • *

                                  * Have no adjacent periods, underscores or dashes. Names like my-_namespace and * my--namespace are not valid. *

                                  *
                                • *
                                • *

                                  * Not be in IP address format (for example, 192.168.5.4) *

                                  *
                                • * @throws InvalidHomeRegionException * This exception is thrown when an operation is called on a trail from a Region other than the Region in * which the trail was created. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws NotOrganizationMasterAccountException * This exception is thrown when the Amazon Web Services account making the request to create or update an * organization trail or event data store is not the management account for an organization in * Organizations. For more information, see Prepare For Creating a Trail For Your Organization or Organization event data stores. * @throws NoManagementAccountSLRExistsException * This exception is thrown when the management account does not have a service-linked role. * @throws InsufficientDependencyServiceAccessPermissionException * This exception is thrown when the IAM identity that is used to create the organization resource lacks one * or more required permissions for creating an organization resource in a required service. * @sample AWSCloudTrail.StartLogging * @see AWS API * Documentation */ @Override public StartLoggingResult startLogging(StartLoggingRequest request) { request = beforeClientExecution(request); return executeStartLogging(request); } @SdkInternalApi final StartLoggingResult executeStartLogging(StartLoggingRequest startLoggingRequest) { ExecutionContext executionContext = createExecutionContext(startLoggingRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new StartLoggingRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(startLoggingRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "StartLogging"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new StartLoggingResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                                  * Starts a CloudTrail Lake query. Use the QueryStatement parameter to provide your SQL query, enclosed * in single quotation marks. Use the optional DeliveryS3Uri parameter to deliver the query results to * an S3 bucket. *

                                  *

                                  * StartQuery requires you specify either the QueryStatement parameter, or a * QueryAlias and any QueryParameters. In the current release, the QueryAlias * and QueryParameters parameters are used only for the queries that populate the CloudTrail Lake * dashboards. *

                                  * * @param startQueryRequest * @return Result of the StartQuery operation returned by the service. * @throws EventDataStoreARNInvalidException * The specified event data store ARN is not valid or does not map to an event data store in your account. * @throws EventDataStoreNotFoundException * The specified event data store was not found. * @throws InactiveEventDataStoreException * The event data store is inactive. * @throws InvalidParameterException * The request includes a parameter that is not valid. * @throws InvalidQueryStatementException * The query that was submitted has validation errors, or uses incorrect syntax or unsupported keywords. For * more information about writing a query, see Create or * edit a query in the CloudTrail User Guide. * @throws MaxConcurrentQueriesException * You are already running the maximum number of concurrent queries. The maximum number of concurrent * queries is 10. Wait a minute for some queries to finish, and then run the query again. * @throws InsufficientEncryptionPolicyException * This exception is thrown when the policy on the S3 bucket or KMS key does not have sufficient permissions * for the operation. * @throws InvalidS3PrefixException * This exception is thrown when the provided S3 prefix is not valid. * @throws InvalidS3BucketNameException * This exception is thrown when the provided S3 bucket name is not valid. * @throws InsufficientS3BucketPolicyException * This exception is thrown when the policy on the S3 bucket is not sufficient. * @throws S3BucketDoesNotExistException * This exception is thrown when the specified S3 bucket does not exist. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws NoManagementAccountSLRExistsException * This exception is thrown when the management account does not have a service-linked role. * @sample AWSCloudTrail.StartQuery * @see AWS API * Documentation */ @Override public StartQueryResult startQuery(StartQueryRequest request) { request = beforeClientExecution(request); return executeStartQuery(request); } @SdkInternalApi final StartQueryResult executeStartQuery(StartQueryRequest startQueryRequest) { ExecutionContext executionContext = createExecutionContext(startQueryRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new StartQueryRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(startQueryRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "StartQuery"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new StartQueryResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                                  * Stops the ingestion of live events on an event data store specified as either an ARN or the ID portion of the * ARN. To stop ingestion, the event data store Status must be ENABLED and the * eventCategory must be Management, Data, or ConfigurationItem. *

                                  * * @param stopEventDataStoreIngestionRequest * @return Result of the StopEventDataStoreIngestion operation returned by the service. * @throws EventDataStoreARNInvalidException * The specified event data store ARN is not valid or does not map to an event data store in your account. * @throws EventDataStoreNotFoundException * The specified event data store was not found. * @throws InvalidEventDataStoreStatusException * The event data store is not in a status that supports the operation. * @throws InvalidParameterException * The request includes a parameter that is not valid. * @throws InvalidEventDataStoreCategoryException * This exception is thrown when event categories of specified event data stores are not valid. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws NotOrganizationMasterAccountException * This exception is thrown when the Amazon Web Services account making the request to create or update an * organization trail or event data store is not the management account for an organization in * Organizations. For more information, see Prepare For Creating a Trail For Your Organization or Organization event data stores. * @throws NoManagementAccountSLRExistsException * This exception is thrown when the management account does not have a service-linked role. * @throws InsufficientDependencyServiceAccessPermissionException * This exception is thrown when the IAM identity that is used to create the organization resource lacks one * or more required permissions for creating an organization resource in a required service. * @sample AWSCloudTrail.StopEventDataStoreIngestion * @see AWS API Documentation */ @Override public StopEventDataStoreIngestionResult stopEventDataStoreIngestion(StopEventDataStoreIngestionRequest request) { request = beforeClientExecution(request); return executeStopEventDataStoreIngestion(request); } @SdkInternalApi final StopEventDataStoreIngestionResult executeStopEventDataStoreIngestion(StopEventDataStoreIngestionRequest stopEventDataStoreIngestionRequest) { ExecutionContext executionContext = createExecutionContext(stopEventDataStoreIngestionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new StopEventDataStoreIngestionRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(stopEventDataStoreIngestionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "StopEventDataStoreIngestion"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new StopEventDataStoreIngestionResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                                  * Stops a specified import. *

                                  * * @param stopImportRequest * @return Result of the StopImport operation returned by the service. * @throws ImportNotFoundException * The specified import was not found. * @throws InvalidParameterException * The request includes a parameter that is not valid. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @sample AWSCloudTrail.StopImport * @see AWS API * Documentation */ @Override public StopImportResult stopImport(StopImportRequest request) { request = beforeClientExecution(request); return executeStopImport(request); } @SdkInternalApi final StopImportResult executeStopImport(StopImportRequest stopImportRequest) { ExecutionContext executionContext = createExecutionContext(stopImportRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new StopImportRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(stopImportRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "StopImport"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new StopImportResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                                  * Suspends the recording of Amazon Web Services API calls and log file delivery for the specified trail. Under most * circumstances, there is no need to use this action. You can update a trail without stopping it first. This action * is the only way to stop recording. For a trail enabled in all Regions, this operation must be called from the * Region in which the trail was created, or an InvalidHomeRegionException will occur. This operation * cannot be called on the shadow trails (replicated trails in other Regions) of a trail enabled in all Regions. *

                                  * * @param stopLoggingRequest * Passes the request to CloudTrail to stop logging Amazon Web Services API calls for the specified account. * @return Result of the StopLogging operation returned by the service. * @throws TrailNotFoundException * This exception is thrown when the trail with the given name is not found. * @throws InvalidTrailNameException * This exception is thrown when the provided trail name is not valid. Trail names must meet the following * requirements:

                                  *
                                    *
                                  • *

                                    * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-) *

                                    *
                                  • *
                                  • *

                                    * Start with a letter or number, and end with a letter or number *

                                    *
                                  • *
                                  • *

                                    * Be between 3 and 128 characters *

                                    *
                                  • *
                                  • *

                                    * Have no adjacent periods, underscores or dashes. Names like my-_namespace and * my--namespace are not valid. *

                                    *
                                  • *
                                  • *

                                    * Not be in IP address format (for example, 192.168.5.4) *

                                    *
                                  • * @throws CloudTrailARNInvalidException * This exception is thrown when an operation is called with an ARN that is not valid.

                                    *

                                    * The following is the format of a trail ARN: arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail * *

                                    *

                                    * The following is the format of an event data store ARN: * arn:aws:cloudtrail:us-east-2:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE *

                                    *

                                    * The following is the format of a channel ARN: * arn:aws:cloudtrail:us-east-2:123456789012:channel/01234567890 * @throws ConflictException * This exception is thrown when the specified resource is not ready for an operation. This can occur when * you try to run an operation on a resource before CloudTrail has time to fully load the resource, or * because another operation is modifying the resource. If this exception occurs, wait a few minutes, and * then try the operation again. * @throws ThrottlingException * This exception is thrown when the request rate exceeds the limit. * @throws InvalidHomeRegionException * This exception is thrown when an operation is called on a trail from a Region other than the Region in * which the trail was created. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws NotOrganizationMasterAccountException * This exception is thrown when the Amazon Web Services account making the request to create or update an * organization trail or event data store is not the management account for an organization in * Organizations. For more information, see Prepare For Creating a Trail For Your Organization or Organization event data stores. * @throws NoManagementAccountSLRExistsException * This exception is thrown when the management account does not have a service-linked role. * @throws InsufficientDependencyServiceAccessPermissionException * This exception is thrown when the IAM identity that is used to create the organization resource lacks one * or more required permissions for creating an organization resource in a required service. * @sample AWSCloudTrail.StopLogging * @see AWS API * Documentation */ @Override public StopLoggingResult stopLogging(StopLoggingRequest request) { request = beforeClientExecution(request); return executeStopLogging(request); } @SdkInternalApi final StopLoggingResult executeStopLogging(StopLoggingRequest stopLoggingRequest) { ExecutionContext executionContext = createExecutionContext(stopLoggingRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new StopLoggingRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(stopLoggingRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "StopLogging"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new StopLoggingResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                                    * Updates a channel specified by a required channel ARN or UUID. *

                                    * * @param updateChannelRequest * @return Result of the UpdateChannel operation returned by the service. * @throws ChannelARNInvalidException * This exception is thrown when the specified value of ChannelARN is not valid. * @throws ChannelNotFoundException * This exception is thrown when CloudTrail cannot find the specified channel. * @throws ChannelAlreadyExistsException * This exception is thrown when the provided channel already exists. * @throws EventDataStoreARNInvalidException * The specified event data store ARN is not valid or does not map to an event data store in your account. * @throws EventDataStoreNotFoundException * The specified event data store was not found. * @throws InvalidEventDataStoreCategoryException * This exception is thrown when event categories of specified event data stores are not valid. * @throws InactiveEventDataStoreException * The event data store is inactive. * @throws InvalidParameterException * The request includes a parameter that is not valid. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @sample AWSCloudTrail.UpdateChannel * @see AWS API * Documentation */ @Override public UpdateChannelResult updateChannel(UpdateChannelRequest request) { request = beforeClientExecution(request); return executeUpdateChannel(request); } @SdkInternalApi final UpdateChannelResult executeUpdateChannel(UpdateChannelRequest updateChannelRequest) { ExecutionContext executionContext = createExecutionContext(updateChannelRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateChannelRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateChannelRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateChannel"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateChannelResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                                    * Updates an event data store. The required EventDataStore value is an ARN or the ID portion of the * ARN. Other parameters are optional, but at least one optional parameter must be specified, or CloudTrail throws * an error. RetentionPeriod is in days, and valid values are integers between 7 and 3653 if the * BillingMode is set to EXTENDABLE_RETENTION_PRICING, or between 7 and 2557 if * BillingMode is set to FIXED_RETENTION_PRICING. By default, * TerminationProtection is enabled. *

                                    *

                                    * For event data stores for CloudTrail events, AdvancedEventSelectors includes or excludes management * or data events in your event data store. For more information about AdvancedEventSelectors, see * AdvancedEventSelectors. *

                                    *

                                    * For event data stores for CloudTrail Insights events, Config configuration items, Audit Manager evidence, or * non-Amazon Web Services events, AdvancedEventSelectors includes events of that type in your event * data store. *

                                    * * @param updateEventDataStoreRequest * @return Result of the UpdateEventDataStore operation returned by the service. * @throws EventDataStoreAlreadyExistsException * An event data store with that name already exists. * @throws EventDataStoreARNInvalidException * The specified event data store ARN is not valid or does not map to an event data store in your account. * @throws EventDataStoreNotFoundException * The specified event data store was not found. * @throws InvalidEventSelectorsException * This exception is thrown when the PutEventSelectors operation is called with a number of * event selectors, advanced event selectors, or data resources that is not valid. The combination of event * selectors or advanced event selectors and data resources is not valid. A trail can have up to 5 event * selectors. If a trail uses advanced event selectors, a maximum of 500 total values for all conditions in * all advanced event selectors is allowed. A trail is limited to 250 data resources. These data resources * can be distributed across event selectors, but the overall total cannot exceed 250.

                                    *

                                    * You can: *

                                    *
                                      *
                                    • *

                                      * Specify a valid number of event selectors (1 to 5) for a trail. *

                                      *
                                    • *
                                    • *

                                      * Specify a valid number of data resources (1 to 250) for an event selector. The limit of number of * resources on an individual event selector is configurable up to 250. However, this upper limit is allowed * only if the total number of data resources does not exceed 250 across all event selectors for a trail. *

                                      *
                                    • *
                                    • *

                                      * Specify up to 500 values for all conditions in all advanced event selectors for a trail. *

                                      *
                                    • *
                                    • *

                                      * Specify a valid value for a parameter. For example, specifying the ReadWriteType parameter * with a value of read-only is not valid. *

                                      *
                                    • * @throws InvalidInsightSelectorsException * For PutInsightSelectors, this exception is thrown when the formatting or syntax of the * InsightSelectors JSON statement is not valid, or the specified InsightType in * the InsightSelectors statement is not valid. Valid values for InsightType are * ApiCallRateInsight and ApiErrorRateInsight. To enable Insights on an event data * store, the destination event data store specified by the InsightsDestination parameter must * log Insights events and the source event data store specified by the EventDataStore * parameter must log management events.

                                      *

                                      * For UpdateEventDataStore, this exception is thrown if Insights are enabled on the event data * store and the updated advanced event selectors are not compatible with the configured * InsightSelectors. If the InsightSelectors includes an InsightType of * ApiCallRateInsight, the source event data store must log write management * events. If the InsightSelectors includes an InsightType of * ApiErrorRateInsight, the source event data store must log management events. * @throws EventDataStoreHasOngoingImportException * This exception is thrown when you try to update or delete an event data store that currently has an * import in progress. * @throws InactiveEventDataStoreException * The event data store is inactive. * @throws InvalidParameterException * The request includes a parameter that is not valid. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws InsufficientEncryptionPolicyException * This exception is thrown when the policy on the S3 bucket or KMS key does not have sufficient permissions * for the operation. * @throws InvalidKmsKeyIdException * This exception is thrown when the KMS key ARN is not valid. * @throws KmsKeyNotFoundException * This exception is thrown when the KMS key does not exist, when the S3 bucket and the KMS key are not in * the same Region, or when the KMS key associated with the Amazon SNS topic either does not exist or is not * in the same Region. * @throws KmsException * This exception is thrown when there is an issue with the specified KMS key and the trail or event data * store can't be updated. * @throws CloudTrailAccessNotEnabledException * This exception is thrown when trusted access has not been enabled between CloudTrail and Organizations. * For more information, see How to enable or disable trusted access in the Organizations User Guide and Prepare For Creating a Trail For Your Organization in the CloudTrail User Guide. * @throws InsufficientDependencyServiceAccessPermissionException * This exception is thrown when the IAM identity that is used to create the organization resource lacks one * or more required permissions for creating an organization resource in a required service. * @throws OrganizationsNotInUseException * This exception is thrown when the request is made from an Amazon Web Services account that is not a * member of an organization. To make this request, sign in using the credentials of an account that belongs * to an organization. * @throws NotOrganizationMasterAccountException * This exception is thrown when the Amazon Web Services account making the request to create or update an * organization trail or event data store is not the management account for an organization in * Organizations. For more information, see Prepare For Creating a Trail For Your Organization or Organization event data stores. * @throws NoManagementAccountSLRExistsException * This exception is thrown when the management account does not have a service-linked role. * @throws OrganizationNotInAllFeaturesModeException * This exception is thrown when Organizations is not configured to support all features. All features must * be enabled in Organizations to support creating an organization trail or event data store. * @sample AWSCloudTrail.UpdateEventDataStore * @see AWS API Documentation */ @Override public UpdateEventDataStoreResult updateEventDataStore(UpdateEventDataStoreRequest request) { request = beforeClientExecution(request); return executeUpdateEventDataStore(request); } @SdkInternalApi final UpdateEventDataStoreResult executeUpdateEventDataStore(UpdateEventDataStoreRequest updateEventDataStoreRequest) { ExecutionContext executionContext = createExecutionContext(updateEventDataStoreRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateEventDataStoreRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateEventDataStoreRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateEventDataStore"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateEventDataStoreResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                                      * Updates trail settings that control what events you are logging, and how to handle log files. Changes to a trail * do not require stopping the CloudTrail service. Use this action to designate an existing bucket for log delivery. * If the existing bucket has previously been a target for CloudTrail log files, an IAM policy exists for the * bucket. UpdateTrail must be called from the Region in which the trail was created; otherwise, an * InvalidHomeRegionException is thrown. *

                                      * * @param updateTrailRequest * Specifies settings to update for the trail. * @return Result of the UpdateTrail operation returned by the service. * @throws S3BucketDoesNotExistException * This exception is thrown when the specified S3 bucket does not exist. * @throws InsufficientS3BucketPolicyException * This exception is thrown when the policy on the S3 bucket is not sufficient. * @throws InsufficientSnsTopicPolicyException * This exception is thrown when the policy on the Amazon SNS topic is not sufficient. * @throws InsufficientEncryptionPolicyException * This exception is thrown when the policy on the S3 bucket or KMS key does not have sufficient permissions * for the operation. * @throws TrailNotFoundException * This exception is thrown when the trail with the given name is not found. * @throws InvalidS3BucketNameException * This exception is thrown when the provided S3 bucket name is not valid. * @throws InvalidS3PrefixException * This exception is thrown when the provided S3 prefix is not valid. * @throws InvalidSnsTopicNameException * This exception is thrown when the provided SNS topic name is not valid. * @throws InvalidKmsKeyIdException * This exception is thrown when the KMS key ARN is not valid. * @throws InvalidTrailNameException * This exception is thrown when the provided trail name is not valid. Trail names must meet the following * requirements:

                                      *
                                        *
                                      • *

                                        * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-) *

                                        *
                                      • *
                                      • *

                                        * Start with a letter or number, and end with a letter or number *

                                        *
                                      • *
                                      • *

                                        * Be between 3 and 128 characters *

                                        *
                                      • *
                                      • *

                                        * Have no adjacent periods, underscores or dashes. Names like my-_namespace and * my--namespace are not valid. *

                                        *
                                      • *
                                      • *

                                        * Not be in IP address format (for example, 192.168.5.4) *

                                        *
                                      • * @throws TrailNotProvidedException * This exception is no longer in use. * @throws InvalidEventSelectorsException * This exception is thrown when the PutEventSelectors operation is called with a number of * event selectors, advanced event selectors, or data resources that is not valid. The combination of event * selectors or advanced event selectors and data resources is not valid. A trail can have up to 5 event * selectors. If a trail uses advanced event selectors, a maximum of 500 total values for all conditions in * all advanced event selectors is allowed. A trail is limited to 250 data resources. These data resources * can be distributed across event selectors, but the overall total cannot exceed 250.

                                        *

                                        * You can: *

                                        *
                                          *
                                        • *

                                          * Specify a valid number of event selectors (1 to 5) for a trail. *

                                          *
                                        • *
                                        • *

                                          * Specify a valid number of data resources (1 to 250) for an event selector. The limit of number of * resources on an individual event selector is configurable up to 250. However, this upper limit is allowed * only if the total number of data resources does not exceed 250 across all event selectors for a trail. *

                                          *
                                        • *
                                        • *

                                          * Specify up to 500 values for all conditions in all advanced event selectors for a trail. *

                                          *
                                        • *
                                        • *

                                          * Specify a valid value for a parameter. For example, specifying the ReadWriteType parameter * with a value of read-only is not valid. *

                                          *
                                        • * @throws CloudTrailARNInvalidException * This exception is thrown when an operation is called with an ARN that is not valid.

                                          *

                                          * The following is the format of a trail ARN: arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail * *

                                          *

                                          * The following is the format of an event data store ARN: * arn:aws:cloudtrail:us-east-2:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE *

                                          *

                                          * The following is the format of a channel ARN: * arn:aws:cloudtrail:us-east-2:123456789012:channel/01234567890 * @throws ConflictException * This exception is thrown when the specified resource is not ready for an operation. This can occur when * you try to run an operation on a resource before CloudTrail has time to fully load the resource, or * because another operation is modifying the resource. If this exception occurs, wait a few minutes, and * then try the operation again. * @throws ThrottlingException * This exception is thrown when the request rate exceeds the limit. * @throws InvalidParameterCombinationException * This exception is thrown when the combination of parameters provided is not valid. * @throws InvalidHomeRegionException * This exception is thrown when an operation is called on a trail from a Region other than the Region in * which the trail was created. * @throws KmsKeyNotFoundException * This exception is thrown when the KMS key does not exist, when the S3 bucket and the KMS key are not in * the same Region, or when the KMS key associated with the Amazon SNS topic either does not exist or is not * in the same Region. * @throws KmsKeyDisabledException * This exception is no longer in use. * @throws KmsException * This exception is thrown when there is an issue with the specified KMS key and the trail or event data * store can't be updated. * @throws InvalidCloudWatchLogsLogGroupArnException * This exception is thrown when the provided CloudWatch Logs log group is not valid. * @throws InvalidCloudWatchLogsRoleArnException * This exception is thrown when the provided role is not valid. * @throws CloudWatchLogsDeliveryUnavailableException * Cannot set a CloudWatch Logs delivery for this Region. * @throws UnsupportedOperationException * This exception is thrown when the requested operation is not supported. * @throws OperationNotPermittedException * This exception is thrown when the requested operation is not permitted. * @throws CloudTrailAccessNotEnabledException * This exception is thrown when trusted access has not been enabled between CloudTrail and Organizations. * For more information, see How to enable or disable trusted access in the Organizations User Guide and Prepare For Creating a Trail For Your Organization in the CloudTrail User Guide. * @throws InsufficientDependencyServiceAccessPermissionException * This exception is thrown when the IAM identity that is used to create the organization resource lacks one * or more required permissions for creating an organization resource in a required service. * @throws OrganizationsNotInUseException * This exception is thrown when the request is made from an Amazon Web Services account that is not a * member of an organization. To make this request, sign in using the credentials of an account that belongs * to an organization. * @throws NotOrganizationMasterAccountException * This exception is thrown when the Amazon Web Services account making the request to create or update an * organization trail or event data store is not the management account for an organization in * Organizations. For more information, see Prepare For Creating a Trail For Your Organization or Organization event data stores. * @throws OrganizationNotInAllFeaturesModeException * This exception is thrown when Organizations is not configured to support all features. All features must * be enabled in Organizations to support creating an organization trail or event data store. * @throws NoManagementAccountSLRExistsException * This exception is thrown when the management account does not have a service-linked role. * @throws CloudTrailInvalidClientTokenIdException * This exception is thrown when a call results in the InvalidClientTokenId error code. This * can occur when you are creating or updating a trail to send notifications to an Amazon SNS topic that is * in a suspended Amazon Web Services account. * @throws InvalidParameterException * The request includes a parameter that is not valid. * @sample AWSCloudTrail.UpdateTrail * @see AWS API * Documentation */ @Override public UpdateTrailResult updateTrail(UpdateTrailRequest request) { request = beforeClientExecution(request); return executeUpdateTrail(request); } @SdkInternalApi final UpdateTrailResult executeUpdateTrail(UpdateTrailRequest updateTrailRequest) { ExecutionContext executionContext = createExecutionContext(updateTrailRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateTrailRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateTrailRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudTrail"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateTrail"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateTrailResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * Returns additional metadata for a previously executed successful, request, typically used for debugging issues * where a service isn't acting as expected. This data isn't considered part of the result data returned by an * operation, so it's available through this separate, diagnostic interface. *

                                          * Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic * information for an executed request, you should use this method to retrieve it as soon as possible after * executing the request. * * @param request * The originally executed request * * @return The response metadata for the specified request, or null if none is available. */ public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request) { return client.getResponseMetadataForRequest(request); } /** * Normal invoke with authentication. Credentials are required and may be overriden at the request level. **/ private Response invoke(Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext) { return invoke(request, responseHandler, executionContext, null, null); } /** * Normal invoke with authentication. Credentials are required and may be overriden at the request level. **/ private Response invoke(Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext, URI cachedEndpoint, URI uriFromEndpointTrait) { executionContext.setCredentialsProvider(CredentialUtils.getCredentialsProvider(request.getOriginalRequest(), awsCredentialsProvider)); return doInvoke(request, responseHandler, executionContext, cachedEndpoint, uriFromEndpointTrait); } /** * Invoke with no authentication. Credentials are not required and any credentials set on the client or request will * be ignored for this operation. **/ private Response anonymousInvoke(Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext) { return doInvoke(request, responseHandler, executionContext, null, null); } /** * Invoke the request using the http client. Assumes credentials (or lack thereof) have been configured in the * ExecutionContext beforehand. **/ private Response doInvoke(Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext, URI discoveredEndpoint, URI uriFromEndpointTrait) { if (discoveredEndpoint != null) { request.setEndpoint(discoveredEndpoint); request.getOriginalRequest().getRequestClientOptions().appendUserAgent("endpoint-discovery"); } else if (uriFromEndpointTrait != null) { request.setEndpoint(uriFromEndpointTrait); } else { request.setEndpoint(endpoint); } request.setTimeOffset(timeOffset); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(new JsonErrorResponseMetadata()); return client.execute(request, responseHandler, errorResponseHandler, executionContext); } @com.amazonaws.annotation.SdkInternalApi static com.amazonaws.protocol.json.SdkJsonProtocolFactory getProtocolFactory() { return protocolFactory; } @Override public void shutdown() { super.shutdown(); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy