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
    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,
  },
  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_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
    },
  },
}

The operation that you want this job to perform on each object listed in the manifest. For more information about the available operations, see Available Operations in the Amazon Simple Storage Service Developer Guide.

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#lambda_invokeTypes::LambdaInvokeOperation

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



1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 1192

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

#s3_initiate_restore_objectTypes::S3InitiateRestoreObjectOperation

Directs the specified job to execute an Initiate Glacier Restore call on each object in the manifest.



1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 1192

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

#s3_put_object_aclTypes::S3SetObjectAclOperation

Directs the specified job to execute a PUT Object acl call on each object in the manifest.



1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 1192

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

#s3_put_object_copyTypes::S3CopyObjectOperation

Directs the specified job to execute a PUT Copy object call on each object in the manifest.



1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 1192

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

Contains the configuration parameters for a Set Object Legal Hold operation. Amazon S3 Batch Operations passes each value through to the underlying PUT Object Legal Hold API. For more information about the parameters for this operation, see PUT Object Legal Hold.



1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 1192

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

#s3_put_object_retentionTypes::S3SetObjectRetentionOperation

Contains the configuration parameters for a Set Object Retention operation. Amazon S3 Batch Operations passes each value through to the underlying PUT Object Retention API. For more information about the parameters for this operation, see PUT Object Retention.



1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 1192

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

#s3_put_object_taggingTypes::S3SetObjectTaggingOperation

Directs the specified job to execute a PUT Object tagging call on each object in the manifest.



1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 1192

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