Class: Aws::S3Control::Types::CreateJobRequest

Inherits:
Struct
  • Object
show all
Defined in:
gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb

Overview

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, GLACIER_IR
      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,
      checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
    },
    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
      },
    },
    s3_replicate_object: {
    },
  },
  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: {
    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
    },
  ],
  manifest_generator: {
    s3_job_manifest_generator: {
      expected_bucket_owner: "AccountId",
      source_bucket: "S3BucketArnString", # required
      manifest_output_location: {
        expected_manifest_bucket_owner: "AccountId",
        bucket: "S3BucketArnString", # required
        manifest_prefix: "ManifestPrefixString",
        manifest_encryption: {
          sses3: {
          },
          ssekms: {
            key_id: "KmsKeyArnString", # required
          },
        },
        manifest_format: "S3InventoryReport_CSV_20211130", # required, accepts S3InventoryReport_CSV_20211130
      },
      filter: {
        eligible_for_replication: false,
        created_after: Time.now,
        created_before: Time.now,
        object_replication_statuses: ["COMPLETED"], # accepts COMPLETED, FAILED, REPLICA, NONE
      },
      enable_manifest_output: false, # required
    },
  },
}

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#account_idString

The Amazon Web Services account ID that creates the job.

Returns:

  • (String)


963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 963

class CreateJobRequest < Struct.new(
  :account_id,
  :confirmation_required,
  :operation,
  :report,
  :client_request_token,
  :manifest,
  :description,
  :priority,
  :role_arn,
  :tags,
  :manifest_generator)
  SENSITIVE = []
  include Aws::Structure
end

#client_request_tokenString

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.

Returns:

  • (String)


963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 963

class CreateJobRequest < Struct.new(
  :account_id,
  :confirmation_required,
  :operation,
  :report,
  :client_request_token,
  :manifest,
  :description,
  :priority,
  :role_arn,
  :tags,
  :manifest_generator)
  SENSITIVE = []
  include Aws::Structure
end

#confirmation_requiredBoolean

Indicates whether confirmation is required before Amazon S3 runs the job. Confirmation is only required for jobs created through the Amazon S3 console.

Returns:

  • (Boolean)


963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 963

class CreateJobRequest < Struct.new(
  :account_id,
  :confirmation_required,
  :operation,
  :report,
  :client_request_token,
  :manifest,
  :description,
  :priority,
  :role_arn,
  :tags,
  :manifest_generator)
  SENSITIVE = []
  include Aws::Structure
end

#descriptionString

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.

Returns:

  • (String)


963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 963

class CreateJobRequest < Struct.new(
  :account_id,
  :confirmation_required,
  :operation,
  :report,
  :client_request_token,
  :manifest,
  :description,
  :priority,
  :role_arn,
  :tags,
  :manifest_generator)
  SENSITIVE = []
  include Aws::Structure
end

#manifestTypes::JobManifest

Configuration parameters for the manifest.

Returns:



963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 963

class CreateJobRequest < Struct.new(
  :account_id,
  :confirmation_required,
  :operation,
  :report,
  :client_request_token,
  :manifest,
  :description,
  :priority,
  :role_arn,
  :tags,
  :manifest_generator)
  SENSITIVE = []
  include Aws::Structure
end

#manifest_generatorTypes::JobManifestGenerator

The attribute container for the ManifestGenerator details. Jobs must be created with either a manifest file or a ManifestGenerator, but not both.



963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 963

class CreateJobRequest < Struct.new(
  :account_id,
  :confirmation_required,
  :operation,
  :report,
  :client_request_token,
  :manifest,
  :description,
  :priority,
  :role_arn,
  :tags,
  :manifest_generator)
  SENSITIVE = []
  include Aws::Structure
end

#operationTypes::JobOperation

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 in the Amazon S3 User Guide.

Returns:



963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 963

class CreateJobRequest < Struct.new(
  :account_id,
  :confirmation_required,
  :operation,
  :report,
  :client_request_token,
  :manifest,
  :description,
  :priority,
  :role_arn,
  :tags,
  :manifest_generator)
  SENSITIVE = []
  include Aws::Structure
end

#priorityInteger

The numerical priority for this job. Higher numbers indicate higher priority.

Returns:

  • (Integer)


963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 963

class CreateJobRequest < Struct.new(
  :account_id,
  :confirmation_required,
  :operation,
  :report,
  :client_request_token,
  :manifest,
  :description,
  :priority,
  :role_arn,
  :tags,
  :manifest_generator)
  SENSITIVE = []
  include Aws::Structure
end

#reportTypes::JobReport

Configuration parameters for the optional job-completion report.

Returns:



963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 963

class CreateJobRequest < Struct.new(
  :account_id,
  :confirmation_required,
  :operation,
  :report,
  :client_request_token,
  :manifest,
  :description,
  :priority,
  :role_arn,
  :tags,
  :manifest_generator)
  SENSITIVE = []
  include Aws::Structure
end

#role_arnString

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.

Returns:

  • (String)


963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 963

class CreateJobRequest < Struct.new(
  :account_id,
  :confirmation_required,
  :operation,
  :report,
  :client_request_token,
  :manifest,
  :description,
  :priority,
  :role_arn,
  :tags,
  :manifest_generator)
  SENSITIVE = []
  include Aws::Structure
end

#tagsArray<Types::S3Tag>

A set of tags to associate with the S3 Batch Operations job. This is an optional parameter.

Returns:



963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 963

class CreateJobRequest < Struct.new(
  :account_id,
  :confirmation_required,
  :operation,
  :report,
  :client_request_token,
  :manifest,
  :description,
  :priority,
  :role_arn,
  :tags,
  :manifest_generator)
  SENSITIVE = []
  include Aws::Structure
end