class Aws::S3Control::Types::CreateJobRequest

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

data as a hash:

    {
      account_id: "AccountId", # required
      confirmation_required: false,
      operation: { # required
        lambda_invoke: {
          function_arn: "FunctionArnString",
        },
        s3_put_object_copy: {
          target_resource: "S3BucketArnString",
          canned_access_control_list: "private", # accepts private, public-read, public-read-write, aws-exec-read, authenticated-read, bucket-owner-read, bucket-owner-full-control
          access_control_grants: [
            {
              grantee: {
                type_identifier: "id", # accepts id, emailAddress, uri
                identifier: "NonEmptyMaxLength1024String",
                display_name: "NonEmptyMaxLength1024String",
              },
              permission: "FULL_CONTROL", # accepts FULL_CONTROL, READ, WRITE, READ_ACP, WRITE_ACP
            },
          ],
          metadata_directive: "COPY", # accepts COPY, REPLACE
          modified_since_constraint: Time.now,
          new_object_metadata: {
            cache_control: "NonEmptyMaxLength1024String",
            content_disposition: "NonEmptyMaxLength1024String",
            content_encoding: "NonEmptyMaxLength1024String",
            content_language: "NonEmptyMaxLength1024String",
            user_metadata: {
              "NonEmptyMaxLength1024String" => "MaxLength1024String",
            },
            content_length: 1,
            content_md5: "NonEmptyMaxLength1024String",
            content_type: "NonEmptyMaxLength1024String",
            http_expires_date: Time.now,
            requester_charged: false,
            sse_algorithm: "AES256", # accepts AES256, KMS
          },
          new_object_tagging: [
            {
              key: "TagKeyString", # required
              value: "TagValueString", # required
            },
          ],
          redirect_location: "NonEmptyMaxLength2048String",
          requester_pays: false,
          storage_class: "STANDARD", # accepts STANDARD, STANDARD_IA, ONEZONE_IA, GLACIER, INTELLIGENT_TIERING, DEEP_ARCHIVE
          un_modified_since_constraint: Time.now,
          sse_aws_kms_key_id: "KmsKeyArnString",
          target_key_prefix: "NonEmptyMaxLength1024String",
          object_lock_legal_hold_status: "OFF", # accepts OFF, ON
          object_lock_mode: "COMPLIANCE", # accepts COMPLIANCE, GOVERNANCE
          object_lock_retain_until_date: Time.now,
          bucket_key_enabled: false,
        },
        s3_put_object_acl: {
          access_control_policy: {
            access_control_list: {
              owner: { # required
                id: "NonEmptyMaxLength1024String",
                display_name: "NonEmptyMaxLength1024String",
              },
              grants: [
                {
                  grantee: {
                    type_identifier: "id", # accepts id, emailAddress, uri
                    identifier: "NonEmptyMaxLength1024String",
                    display_name: "NonEmptyMaxLength1024String",
                  },
                  permission: "FULL_CONTROL", # accepts FULL_CONTROL, READ, WRITE, READ_ACP, WRITE_ACP
                },
              ],
            },
            canned_access_control_list: "private", # accepts private, public-read, public-read-write, aws-exec-read, authenticated-read, bucket-owner-read, bucket-owner-full-control
          },
        },
        s3_put_object_tagging: {
          tag_set: [
            {
              key: "TagKeyString", # required
              value: "TagValueString", # required
            },
          ],
        },
        s3_delete_object_tagging: {
        },
        s3_initiate_restore_object: {
          expiration_in_days: 1,
          glacier_job_tier: "BULK", # accepts BULK, STANDARD
        },
        s3_put_object_legal_hold: {
          legal_hold: { # required
            status: "OFF", # required, accepts OFF, ON
          },
        },
        s3_put_object_retention: {
          bypass_governance_retention: false,
          retention: { # required
            retain_until_date: Time.now,
            mode: "COMPLIANCE", # accepts COMPLIANCE, GOVERNANCE
          },
        },
      },
      report: { # required
        bucket: "S3BucketArnString",
        format: "Report_CSV_20180820", # accepts Report_CSV_20180820
        enabled: false, # required
        prefix: "ReportPrefixString",
        report_scope: "AllTasks", # accepts AllTasks, FailedTasksOnly
      },
      client_request_token: "NonEmptyMaxLength64String", # required
      manifest: { # required
        spec: { # required
          format: "S3BatchOperations_CSV_20180820", # required, accepts S3BatchOperations_CSV_20180820, S3InventoryReport_CSV_20161130
          fields: ["Ignore"], # accepts Ignore, Bucket, Key, VersionId
        },
        location: { # required
          object_arn: "S3KeyArnString", # required
          object_version_id: "S3ObjectVersionId",
          etag: "NonEmptyMaxLength1024String", # required
        },
      },
      description: "NonEmptyMaxLength256String",
      priority: 1, # required
      role_arn: "IAMRoleArn", # required
      tags: [
        {
          key: "TagKeyString", # required
          value: "TagValueString", # required
        },
      ],
    }

@!attribute [rw] account_id

The Amazon Web Services account ID that creates the job.
@return [String]

@!attribute [rw] confirmation_required

Indicates whether confirmation is required before Amazon S3 runs the
job. Confirmation is only required for jobs created through the
Amazon S3 console.
@return [Boolean]

@!attribute [rw] operation

The action that you want this job to perform on every object listed
in the manifest. For more information about the available actions,
see [Operations][1] in the *Amazon S3 User Guide*.

[1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-actions.html
@return [Types::JobOperation]

@!attribute [rw] report

Configuration parameters for the optional job-completion report.
@return [Types::JobReport]

@!attribute [rw] client_request_token

An idempotency token to ensure that you don't accidentally submit
the same request twice. You can use any string up to the maximum
length.

**A suitable default value is auto-generated.** You should normally
not need to pass this option.
@return [String]

@!attribute [rw] manifest

Configuration parameters for the manifest.
@return [Types::JobManifest]

@!attribute [rw] description

A description for this job. You can use any string within the
permitted length. Descriptions don't need to be unique and can be
used for multiple jobs.
@return [String]

@!attribute [rw] priority

The numerical priority for this job. Higher numbers indicate higher
priority.
@return [Integer]

@!attribute [rw] role_arn

The Amazon Resource Name (ARN) for the Identity and Access
Management (IAM) role that Batch Operations will use to run this
job's action on every object in the manifest.
@return [String]

@!attribute [rw] tags

A set of tags to associate with the S3 Batch Operations job. This is
an optional parameter.
@return [Array<Types::S3Tag>]

@see docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateJobRequest AWS API Documentation

Constants

SENSITIVE