class Aws::Macie2::Types::S3JobDefinition

Specifies which S3 buckets contain the objects that a classification job analyzes, and the scope of that analysis. The bucket specification can be static (bucketDefinitions) or dynamic (bucketCriteria). If it's static, the job analyzes objects in the same predefined set of buckets each time the job runs. If it's dynamic, the job analyzes objects in any buckets that match the specified criteria each time the job starts to run.

@note When making an API call, you may pass S3JobDefinition

data as a hash:

    {
      bucket_definitions: [
        {
          account_id: "__string", # required
          buckets: ["__string"], # required
        },
      ],
      scoping: {
        excludes: {
          and: [
            {
              simple_scope_term: {
                comparator: "EQ", # accepts EQ, GT, GTE, LT, LTE, NE, CONTAINS, STARTS_WITH
                key: "OBJECT_EXTENSION", # accepts OBJECT_EXTENSION, OBJECT_LAST_MODIFIED_DATE, OBJECT_SIZE, OBJECT_KEY
                values: ["__string"],
              },
              tag_scope_term: {
                comparator: "EQ", # accepts EQ, GT, GTE, LT, LTE, NE, CONTAINS, STARTS_WITH
                key: "__string",
                tag_values: [
                  {
                    key: "__string",
                    value: "__string",
                  },
                ],
                target: "S3_OBJECT", # accepts S3_OBJECT
              },
            },
          ],
        },
        includes: {
          and: [
            {
              simple_scope_term: {
                comparator: "EQ", # accepts EQ, GT, GTE, LT, LTE, NE, CONTAINS, STARTS_WITH
                key: "OBJECT_EXTENSION", # accepts OBJECT_EXTENSION, OBJECT_LAST_MODIFIED_DATE, OBJECT_SIZE, OBJECT_KEY
                values: ["__string"],
              },
              tag_scope_term: {
                comparator: "EQ", # accepts EQ, GT, GTE, LT, LTE, NE, CONTAINS, STARTS_WITH
                key: "__string",
                tag_values: [
                  {
                    key: "__string",
                    value: "__string",
                  },
                ],
                target: "S3_OBJECT", # accepts S3_OBJECT
              },
            },
          ],
        },
      },
      bucket_criteria: {
        excludes: {
          and: [
            {
              simple_criterion: {
                comparator: "EQ", # accepts EQ, GT, GTE, LT, LTE, NE, CONTAINS, STARTS_WITH
                key: "ACCOUNT_ID", # accepts ACCOUNT_ID, S3_BUCKET_NAME, S3_BUCKET_EFFECTIVE_PERMISSION, S3_BUCKET_SHARED_ACCESS
                values: ["__string"],
              },
              tag_criterion: {
                comparator: "EQ", # accepts EQ, GT, GTE, LT, LTE, NE, CONTAINS, STARTS_WITH
                tag_values: [
                  {
                    key: "__string",
                    value: "__string",
                  },
                ],
              },
            },
          ],
        },
        includes: {
          and: [
            {
              simple_criterion: {
                comparator: "EQ", # accepts EQ, GT, GTE, LT, LTE, NE, CONTAINS, STARTS_WITH
                key: "ACCOUNT_ID", # accepts ACCOUNT_ID, S3_BUCKET_NAME, S3_BUCKET_EFFECTIVE_PERMISSION, S3_BUCKET_SHARED_ACCESS
                values: ["__string"],
              },
              tag_criterion: {
                comparator: "EQ", # accepts EQ, GT, GTE, LT, LTE, NE, CONTAINS, STARTS_WITH
                tag_values: [
                  {
                    key: "__string",
                    value: "__string",
                  },
                ],
              },
            },
          ],
        },
      },
    }

@!attribute [rw] bucket_definitions

@return [Array<Types::S3BucketDefinitionForJob>]

@!attribute [rw] scoping

Specifies one or more property- and tag-based conditions that define
criteria for including or excluding S3 objects from a classification
job. Exclude conditions take precedence over include conditions.
@return [Types::Scoping]

@!attribute [rw] bucket_criteria

Specifies property- and tag-based conditions that define criteria
for including or excluding S3 buckets from a classification job.
Exclude conditions take precedence over include conditions.
@return [Types::S3BucketCriteriaForJob]

@see docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/S3JobDefinition AWS API Documentation

Constants

SENSITIVE