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

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)


928
929
930
931
932
933
934
935
936
937
938
939
940
941
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 928

class CreateJobRequest < Struct.new(
  :account_id,
  :confirmation_required,
  :operation,
  :report,
  :client_request_token,
  :manifest,
  :description,
  :priority,
  :role_arn,
  :tags)
  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)


928
929
930
931
932
933
934
935
936
937
938
939
940
941
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 928

class CreateJobRequest < Struct.new(
  :account_id,
  :confirmation_required,
  :operation,
  :report,
  :client_request_token,
  :manifest,
  :description,
  :priority,
  :role_arn,
  :tags)
  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)


928
929
930
931
932
933
934
935
936
937
938
939
940
941
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 928

class CreateJobRequest < Struct.new(
  :account_id,
  :confirmation_required,
  :operation,
  :report,
  :client_request_token,
  :manifest,
  :description,
  :priority,
  :role_arn,
  :tags)
  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)


928
929
930
931
932
933
934
935
936
937
938
939
940
941
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 928

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

#manifestTypes::JobManifest

Configuration parameters for the manifest.

Returns:



928
929
930
931
932
933
934
935
936
937
938
939
940
941
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 928

class CreateJobRequest < Struct.new(
  :account_id,
  :confirmation_required,
  :operation,
  :report,
  :client_request_token,
  :manifest,
  :description,
  :priority,
  :role_arn,
  :tags)
  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:



928
929
930
931
932
933
934
935
936
937
938
939
940
941
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 928

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

#priorityInteger

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

Returns:

  • (Integer)


928
929
930
931
932
933
934
935
936
937
938
939
940
941
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 928

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

#reportTypes::JobReport

Configuration parameters for the optional job-completion report.

Returns:



928
929
930
931
932
933
934
935
936
937
938
939
940
941
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 928

class CreateJobRequest < Struct.new(
  :account_id,
  :confirmation_required,
  :operation,
  :report,
  :client_request_token,
  :manifest,
  :description,
  :priority,
  :role_arn,
  :tags)
  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)


928
929
930
931
932
933
934
935
936
937
938
939
940
941
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 928

class CreateJobRequest < Struct.new(
  :account_id,
  :confirmation_required,
  :operation,
  :report,
  :client_request_token,
  :manifest,
  :description,
  :priority,
  :role_arn,
  :tags)
  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:



928
929
930
931
932
933
934
935
936
937
938
939
940
941
# File 'gems/aws-sdk-s3control/lib/aws-sdk-s3control/types.rb', line 928

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