/* * Copyright 2018-2023 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.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *

* The Amazon S3 buckets, Lambda functions, or Amazon DynamoDB tables that you specify in your event selectors for your * trail to log data events. Data events provide information about the resource operations performed on or within a * resource itself. These are also known as data plane operations. You can specify up to 250 data resources for a trail. *

* *

* The total number of allowed data resources is 250. This number can be distributed between 1 and 5 event selectors, * but the total cannot exceed 250 across all selectors for the trail. *

*

* If you are using advanced event selectors, the maximum total number of values for all conditions, across all advanced * event selectors for the trail, is 500. *

*
*

* The following example demonstrates how logging works when you configure logging of all data events for an S3 bucket * named bucket-1. In this example, the CloudTrail user specified an empty prefix, and the option to log * both Read and Write data events. *

*
    *
  1. *

    * A user uploads an image file to bucket-1. *

    *
  2. *
  3. *

    * The PutObject API operation is an Amazon S3 object-level API. It is recorded as a data event in * CloudTrail. Because the CloudTrail user specified an S3 bucket with an empty prefix, events that occur on any object * in that bucket are logged. The trail processes and logs the event. *

    *
  4. *
  5. *

    * A user uploads an object to an Amazon S3 bucket named arn:aws:s3:::bucket-2. *

    *
  6. *
  7. *

    * The PutObject API operation occurred for an object in an S3 bucket that the CloudTrail user didn't * specify for the trail. The trail doesn’t log the event. *

    *
  8. *
*

* The following example demonstrates how logging works when you configure logging of Lambda data events for a Lambda * function named MyLambdaFunction, but not for all Lambda functions. *

*
    *
  1. *

    * A user runs a script that includes a call to the MyLambdaFunction function and the * MyOtherLambdaFunction function. *

    *
  2. *
  3. *

    * The Invoke API operation on MyLambdaFunction is an Lambda API. It is recorded as a data event in * CloudTrail. Because the CloudTrail user specified logging data events for MyLambdaFunction, any invocations of * that function are logged. The trail processes and logs the event. *

    *
  4. *
  5. *

    * The Invoke API operation on MyOtherLambdaFunction is an Lambda API. Because the CloudTrail user * did not specify logging data events for all Lambda functions, the Invoke operation for * MyOtherLambdaFunction does not match the function specified for the trail. The trail doesn’t log the event. *

    *
  6. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class DataResource implements Serializable, Cloneable, StructuredPojo { /** *

* The resource type in which you want to log data events. You can specify the following basic event selector * resource types: *

* *

* The following resource types are also available through advanced event selectors. Basic event selector * resource types are valid in advanced event selectors, but advanced event selector resource types are not valid in * basic event selectors. For more information, see AdvancedFieldSelector. *

* */ private String type; /** *

* An array of Amazon Resource Name (ARN) strings or partial ARN strings for the specified objects. *

* */ private com.amazonaws.internal.SdkInternalList values; /** *

* The resource type in which you want to log data events. You can specify the following basic event selector * resource types: *

* *

* The following resource types are also available through advanced event selectors. Basic event selector * resource types are valid in advanced event selectors, but advanced event selector resource types are not valid in * basic event selectors. For more information, see AdvancedFieldSelector. *

* * * @param type * The resource type in which you want to log data events. You can specify the following basic event * selector resource types:

* *

* The following resource types are also available through advanced event selectors. Basic event * selector resource types are valid in advanced event selectors, but advanced event selector resource types * are not valid in basic event selectors. For more information, see AdvancedFieldSelector. *

*