The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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