Class: Aws::S3Control::Types::JobOperation

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 JobOperation data as a hash:

{
  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: {
  },
}

The operation that you want this job to perform on every object listed in the manifest. For more information about the available operations, see Operations in the Amazon S3 User Guide.

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#lambda_invokeTypes::LambdaInvokeOperation

Directs the specified job to invoke an Lambda function on every object in the manifest.



3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 3249

class JobOperation < Struct.new(
  :lambda_invoke,
  :s3_put_object_copy,
  :s3_put_object_acl,
  :s3_put_object_tagging,
  :s3_delete_object_tagging,
  :s3_initiate_restore_object,
  :s3_put_object_legal_hold,
  :s3_put_object_retention,
  :s3_replicate_object)
  SENSITIVE = []
  include Aws::Structure
end

#s3_delete_object_taggingTypes::S3DeleteObjectTaggingOperation

Directs the specified job to execute a DELETE Object tagging call on every object in the manifest.

Returns:

  • (Types::S3DeleteObjectTaggingOperation)


3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 3249

class JobOperation < Struct.new(
  :lambda_invoke,
  :s3_put_object_copy,
  :s3_put_object_acl,
  :s3_put_object_tagging,
  :s3_delete_object_tagging,
  :s3_initiate_restore_object,
  :s3_put_object_legal_hold,
  :s3_put_object_retention,
  :s3_replicate_object)
  SENSITIVE = []
  include Aws::Structure
end

#s3_initiate_restore_objectTypes::S3InitiateRestoreObjectOperation

Directs the specified job to initiate restore requests for every archived object in the manifest.



3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 3249

class JobOperation < Struct.new(
  :lambda_invoke,
  :s3_put_object_copy,
  :s3_put_object_acl,
  :s3_put_object_tagging,
  :s3_delete_object_tagging,
  :s3_initiate_restore_object,
  :s3_put_object_legal_hold,
  :s3_put_object_retention,
  :s3_replicate_object)
  SENSITIVE = []
  include Aws::Structure
end

#s3_put_object_aclTypes::S3SetObjectAclOperation

Directs the specified job to run a PUT Object acl call on every object in the manifest.



3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 3249

class JobOperation < Struct.new(
  :lambda_invoke,
  :s3_put_object_copy,
  :s3_put_object_acl,
  :s3_put_object_tagging,
  :s3_delete_object_tagging,
  :s3_initiate_restore_object,
  :s3_put_object_legal_hold,
  :s3_put_object_retention,
  :s3_replicate_object)
  SENSITIVE = []
  include Aws::Structure
end

#s3_put_object_copyTypes::S3CopyObjectOperation

Directs the specified job to run a PUT Copy object call on every object in the manifest.



3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 3249

class JobOperation < Struct.new(
  :lambda_invoke,
  :s3_put_object_copy,
  :s3_put_object_acl,
  :s3_put_object_tagging,
  :s3_delete_object_tagging,
  :s3_initiate_restore_object,
  :s3_put_object_legal_hold,
  :s3_put_object_retention,
  :s3_replicate_object)
  SENSITIVE = []
  include Aws::Structure
end

Contains the configuration for an S3 Object Lock legal hold operation that an S3 Batch Operations job passes every object to the underlying PutObjectLegalHold API. For more information, see Using S3 Object Lock legal hold with S3 Batch Operations in the Amazon S3 User Guide.



3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 3249

class JobOperation < Struct.new(
  :lambda_invoke,
  :s3_put_object_copy,
  :s3_put_object_acl,
  :s3_put_object_tagging,
  :s3_delete_object_tagging,
  :s3_initiate_restore_object,
  :s3_put_object_legal_hold,
  :s3_put_object_retention,
  :s3_replicate_object)
  SENSITIVE = []
  include Aws::Structure
end

#s3_put_object_retentionTypes::S3SetObjectRetentionOperation

Contains the configuration parameters for the Object Lock retention action for an S3 Batch Operations job. Batch Operations passes every object to the underlying PutObjectRetention API. For more information, see Using S3 Object Lock retention with S3 Batch Operations in the Amazon S3 User Guide.



3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 3249

class JobOperation < Struct.new(
  :lambda_invoke,
  :s3_put_object_copy,
  :s3_put_object_acl,
  :s3_put_object_tagging,
  :s3_delete_object_tagging,
  :s3_initiate_restore_object,
  :s3_put_object_legal_hold,
  :s3_put_object_retention,
  :s3_replicate_object)
  SENSITIVE = []
  include Aws::Structure
end

#s3_put_object_taggingTypes::S3SetObjectTaggingOperation

Directs the specified job to run a PUT Object tagging call on every object in the manifest.



3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 3249

class JobOperation < Struct.new(
  :lambda_invoke,
  :s3_put_object_copy,
  :s3_put_object_acl,
  :s3_put_object_tagging,
  :s3_delete_object_tagging,
  :s3_initiate_restore_object,
  :s3_put_object_legal_hold,
  :s3_put_object_retention,
  :s3_replicate_object)
  SENSITIVE = []
  include Aws::Structure
end

#s3_replicate_objectTypes::S3ReplicateObjectOperation

Directs the specified job to invoke ReplicateObject on every object in the job's manifest.

Returns:

  • (Types::S3ReplicateObjectOperation)


3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 3249

class JobOperation < Struct.new(
  :lambda_invoke,
  :s3_put_object_copy,
  :s3_put_object_acl,
  :s3_put_object_tagging,
  :s3_delete_object_tagging,
  :s3_initiate_restore_object,
  :s3_put_object_legal_hold,
  :s3_put_object_retention,
  :s3_replicate_object)
  SENSITIVE = []
  include Aws::Structure
end