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

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.



3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 3094

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)
  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)


3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 3094

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)
  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.



3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 3094

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)
  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.



3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 3094

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)
  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.



3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 3094

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)
  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.



3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 3094

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)
  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.



3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 3094

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)
  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.



3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 3094

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)
  SENSITIVE = []
  include Aws::Structure
end