NAME

Paws::S3Control::CreateJob - Arguments for method CreateJob on Paws::S3Control

DESCRIPTION

This class represents the parameters used for calling the method CreateJob on the AWS S3 Control service. Use the attributes of this class as arguments to method CreateJob.

You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to CreateJob.

SYNOPSIS

my $s3-control = Paws->service('S3Control');
my $CreateJobResult = $s3 -control->CreateJob(
  AccountId          => 'MyAccountId',
  ClientRequestToken => 'MyNonEmptyMaxLength64String',
  Manifest           => {
    Location => {
      ETag      => 'MyNonEmptyMaxLength1024String',    # min: 1, max: 1024
      ObjectArn => 'MyS3KeyArnString',                 # min: 1, max: 2000
      ObjectVersionId =>
        'MyS3ObjectVersionId',    # min: 1, max: 2000; OPTIONAL
    },
    Spec => {
      Format => 'S3BatchOperations_CSV_20180820'
      , # values: S3BatchOperations_CSV_20180820, S3InventoryReport_CSV_20161130
      Fields => [
        'Ignore', ...    # values: Ignore, Bucket, Key, VersionId
      ],    # OPTIONAL
    },

  },
  Operation => {
    LambdaInvoke => {
      FunctionArn => 'MyFunctionArnString',    # min: 1, max: 1024; OPTIONAL
    },    # OPTIONAL
    S3DeleteObjectTagging => {

    },    # OPTIONAL
    S3InitiateRestoreObject => {
      ExpirationInDays => 1,         # OPTIONAL
      GlacierJobTier   => 'BULK',    # values: BULK, STANDARD; OPTIONAL
    },    # OPTIONAL
    S3PutObjectAcl => {
      AccessControlPolicy => {
        AccessControlList => {
          Owner => {
            DisplayName =>
              'MyNonEmptyMaxLength1024String',    # min: 1, max: 1024
            ID => 'MyNonEmptyMaxLength1024String',    # min: 1, max: 1024
          },
          Grants => [
            {
              Grantee => {
                DisplayName =>
                  'MyNonEmptyMaxLength1024String',    # min: 1, max: 1024
                Identifier =>
                  'MyNonEmptyMaxLength1024String',    # min: 1, max: 1024
                TypeIdentifier =>
                  'id',    # values: id, emailAddress, uri; OPTIONAL
              },    # OPTIONAL
              Permission => 'FULL_CONTROL'
              , # values: FULL_CONTROL, READ, WRITE, READ_ACP, WRITE_ACP; OPTIONAL
            },
            ...
          ],    # OPTIONAL
        },    # OPTIONAL
        CannedAccessControlList => 'private'
        , # values: private, public-read, public-read-write, aws-exec-read, authenticated-read, bucket-owner-read, bucket-owner-full-control; OPTIONAL
      },    # OPTIONAL
    },    # OPTIONAL
    S3PutObjectCopy => {
      AccessControlGrants => [
        {
          Grantee => {
            DisplayName =>
              'MyNonEmptyMaxLength1024String',    # min: 1, max: 1024
            Identifier =>
              'MyNonEmptyMaxLength1024String',    # min: 1, max: 1024
            TypeIdentifier =>
              'id',    # values: id, emailAddress, uri; OPTIONAL
          },    # OPTIONAL
          Permission => 'FULL_CONTROL'
          , # values: FULL_CONTROL, READ, WRITE, READ_ACP, WRITE_ACP; OPTIONAL
        },
        ...
      ],    # OPTIONAL
      BucketKeyEnabled        => 1,                        # OPTIONAL
      CannedAccessControlList => 'private'
      , # values: private, public-read, public-read-write, aws-exec-read, authenticated-read, bucket-owner-read, bucket-owner-full-control; OPTIONAL
      MetadataDirective       => 'COPY',   # values: COPY, REPLACE; OPTIONAL
      ModifiedSinceConstraint => '1970-01-01T01:00:00',    # OPTIONAL
      NewObjectMetadata       => {
        CacheControl => 'MyNonEmptyMaxLength1024String', # min: 1, max: 1024
        ContentDisposition =>
          'MyNonEmptyMaxLength1024String',               # min: 1, max: 1024
        ContentEncoding =>
          'MyNonEmptyMaxLength1024String',               # min: 1, max: 1024
        ContentLanguage =>
          'MyNonEmptyMaxLength1024String',               # min: 1, max: 1024
        ContentLength => 1,                              # OPTIONAL
        ContentMD5  => 'MyNonEmptyMaxLength1024String',  # min: 1, max: 1024
        ContentType => 'MyNonEmptyMaxLength1024String',  # min: 1, max: 1024
        HttpExpiresDate  => '1970-01-01T01:00:00',       # OPTIONAL
        RequesterCharged => 1,                           # OPTIONAL
        SSEAlgorithm     => 'AES256',    # values: AES256, KMS; OPTIONAL
        UserMetadata     => {
          'MyNonEmptyMaxLength1024String' => 'MyMaxLength1024String'
          ,    # key: min: 1, max: 1024, value: max: 1024
        },    # max: 8192; OPTIONAL
      },    # OPTIONAL
      NewObjectTagging => [
        {
          Key   => 'MyTagKeyString',      # min: 1, max: 1024
          Value => 'MyTagValueString',    # max: 1024

        },
        ...
      ],    # OPTIONAL
      ObjectLockLegalHoldStatus => 'OFF',    # values: OFF, ON; OPTIONAL
      ObjectLockMode            =>
        'COMPLIANCE',    # values: COMPLIANCE, GOVERNANCE; OPTIONAL
      ObjectLockRetainUntilDate => '1970-01-01T01:00:00',    # OPTIONAL
      RedirectLocation          =>
        'MyNonEmptyMaxLength2048String',    # min: 1, max: 2048; OPTIONAL
      RequesterPays  => 1,                     # OPTIONAL
      SSEAwsKmsKeyId => 'MyKmsKeyArnString',   # min: 1, max: 2000; OPTIONAL
      StorageClass   => 'STANDARD'
      , # values: STANDARD, STANDARD_IA, ONEZONE_IA, GLACIER, INTELLIGENT_TIERING, DEEP_ARCHIVE; OPTIONAL
      TargetKeyPrefix =>
        'MyNonEmptyMaxLength1024String',    # min: 1, max: 1024
      TargetResource => 'MyS3BucketArnString',  # min: 1, max: 128; OPTIONAL
      UnModifiedSinceConstraint => '1970-01-01T01:00:00',    # OPTIONAL
    },    # OPTIONAL
    S3PutObjectLegalHold => {
      LegalHold => {
        Status => 'OFF',    # values: OFF, ON; OPTIONAL

      },

    },    # OPTIONAL
    S3PutObjectRetention => {
      Retention => {
        Mode => 'COMPLIANCE',    # values: COMPLIANCE, GOVERNANCE; OPTIONAL
        RetainUntilDate => '1970-01-01T01:00:00',    # OPTIONAL
      },
      BypassGovernanceRetention => 1,                # OPTIONAL
    },    # OPTIONAL
    S3PutObjectTagging => {
      TagSet => [
        {
          Key   => 'MyTagKeyString',      # min: 1, max: 1024
          Value => 'MyTagValueString',    # max: 1024

        },
        ...
      ],    # OPTIONAL
    },    # OPTIONAL
  },
  Priority => 1,
  Report   => {
    Enabled => 1,                        # OPTIONAL
    Bucket  => 'MyS3BucketArnString',    # min: 1, max: 128; OPTIONAL
    Format => 'Report_CSV_20180820', # values: Report_CSV_20180820; OPTIONAL
    Prefix => 'MyReportPrefixString',    # min: 1, max: 512; OPTIONAL
    ReportScope => 'AllTasks', # values: AllTasks, FailedTasksOnly; OPTIONAL
  },
  RoleArn              => 'MyIAMRoleArn',
  ConfirmationRequired => 1,                                 # OPTIONAL
  Description          => 'MyNonEmptyMaxLength256String',    # OPTIONAL
  Tags                 => [
    {
      Key   => 'MyTagKeyString',      # min: 1, max: 1024
      Value => 'MyTagValueString',    # max: 1024

    },
    ...
  ],    # OPTIONAL
);

# Results:
my $JobId = $CreateJobResult->JobId;

# Returns a L<Paws::S3Control::CreateJobResult> object.

Values for attributes that are native types (Int, String, Float, etc) can passed as-is (scalar values). Values for complex Types (objects) can be passed as a HashRef. The keys and values of the hashref will be used to instance the underlying object. For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/s3-control/CreateJob

ATTRIBUTES

REQUIRED AccountId => Str

The AWS account ID that creates the job.

REQUIRED ClientRequestToken => Str

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.

ConfirmationRequired => Bool

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

Description => Str

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.

REQUIRED Manifest => Paws::S3Control::JobManifest

Configuration parameters for the manifest.

REQUIRED Operation => Paws::S3Control::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 (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-actions.html) in the Amazon S3 User Guide.

REQUIRED Priority => Int

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

REQUIRED Report => Paws::S3Control::JobReport

Configuration parameters for the optional job-completion report.

REQUIRED RoleArn => Str

The Amazon Resource Name (ARN) for the AWS Identity and Access Management (IAM) role that Batch Operations will use to run this job's action on every object in the manifest.

Tags => ArrayRef[Paws::S3Control::S3Tag]

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

SEE ALSO

This class forms part of Paws, documenting arguments for method CreateJob in Paws::S3Control

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues