UNPKG

41.9 kBTypeScriptView Raw
1import {Request} from '../lib/request';
2import {Response} from '../lib/response';
3import {AWSError} from '../lib/error';
4import {Service} from '../lib/service';
5import {ServiceConfigurationOptions} from '../lib/service';
6import {ConfigBase as Config} from '../lib/config';
7import {UseDualstackConfigOptions} from '../lib/config_use_dualstack';
8interface Blob {}
9declare class S3Control extends Service {
10 /**
11 * Constructs a service object. This object has one method for each API operation.
12 */
13 constructor(options?: S3Control.Types.ClientConfiguration)
14 config: Config & S3Control.Types.ClientConfiguration;
15 /**
16 * Creates an access point and associates it with the specified bucket.
17 */
18 createAccessPoint(params: S3Control.Types.CreateAccessPointRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
19 /**
20 * Creates an access point and associates it with the specified bucket.
21 */
22 createAccessPoint(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
23 /**
24 * Creates an Amazon S3 batch operations job.
25 */
26 createJob(params: S3Control.Types.CreateJobRequest, callback?: (err: AWSError, data: S3Control.Types.CreateJobResult) => void): Request<S3Control.Types.CreateJobResult, AWSError>;
27 /**
28 * Creates an Amazon S3 batch operations job.
29 */
30 createJob(callback?: (err: AWSError, data: S3Control.Types.CreateJobResult) => void): Request<S3Control.Types.CreateJobResult, AWSError>;
31 /**
32 * Deletes the specified access point.
33 */
34 deleteAccessPoint(params: S3Control.Types.DeleteAccessPointRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
35 /**
36 * Deletes the specified access point.
37 */
38 deleteAccessPoint(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
39 /**
40 * Deletes the access point policy for the specified access point.
41 */
42 deleteAccessPointPolicy(params: S3Control.Types.DeleteAccessPointPolicyRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
43 /**
44 * Deletes the access point policy for the specified access point.
45 */
46 deleteAccessPointPolicy(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
47 /**
48 * Delete the tags on a Amazon S3 batch operations job, if any.
49 */
50 deleteJobTagging(params: S3Control.Types.DeleteJobTaggingRequest, callback?: (err: AWSError, data: S3Control.Types.DeleteJobTaggingResult) => void): Request<S3Control.Types.DeleteJobTaggingResult, AWSError>;
51 /**
52 * Delete the tags on a Amazon S3 batch operations job, if any.
53 */
54 deleteJobTagging(callback?: (err: AWSError, data: S3Control.Types.DeleteJobTaggingResult) => void): Request<S3Control.Types.DeleteJobTaggingResult, AWSError>;
55 /**
56 * Removes the PublicAccessBlock configuration for an Amazon Web Services account.
57 */
58 deletePublicAccessBlock(params: S3Control.Types.DeletePublicAccessBlockRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
59 /**
60 * Removes the PublicAccessBlock configuration for an Amazon Web Services account.
61 */
62 deletePublicAccessBlock(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
63 /**
64 * Retrieves the configuration parameters and status for a batch operations job.
65 */
66 describeJob(params: S3Control.Types.DescribeJobRequest, callback?: (err: AWSError, data: S3Control.Types.DescribeJobResult) => void): Request<S3Control.Types.DescribeJobResult, AWSError>;
67 /**
68 * Retrieves the configuration parameters and status for a batch operations job.
69 */
70 describeJob(callback?: (err: AWSError, data: S3Control.Types.DescribeJobResult) => void): Request<S3Control.Types.DescribeJobResult, AWSError>;
71 /**
72 * Returns configuration information about the specified access point.
73 */
74 getAccessPoint(params: S3Control.Types.GetAccessPointRequest, callback?: (err: AWSError, data: S3Control.Types.GetAccessPointResult) => void): Request<S3Control.Types.GetAccessPointResult, AWSError>;
75 /**
76 * Returns configuration information about the specified access point.
77 */
78 getAccessPoint(callback?: (err: AWSError, data: S3Control.Types.GetAccessPointResult) => void): Request<S3Control.Types.GetAccessPointResult, AWSError>;
79 /**
80 * Returns the access point policy associated with the specified access point.
81 */
82 getAccessPointPolicy(params: S3Control.Types.GetAccessPointPolicyRequest, callback?: (err: AWSError, data: S3Control.Types.GetAccessPointPolicyResult) => void): Request<S3Control.Types.GetAccessPointPolicyResult, AWSError>;
83 /**
84 * Returns the access point policy associated with the specified access point.
85 */
86 getAccessPointPolicy(callback?: (err: AWSError, data: S3Control.Types.GetAccessPointPolicyResult) => void): Request<S3Control.Types.GetAccessPointPolicyResult, AWSError>;
87 /**
88 * Indicates whether the specified access point currently has a policy that allows public access. For more information about public access through access points, see Managing Data Access with Amazon S3 Access Points in the Amazon Simple Storage Service Developer Guide.
89 */
90 getAccessPointPolicyStatus(params: S3Control.Types.GetAccessPointPolicyStatusRequest, callback?: (err: AWSError, data: S3Control.Types.GetAccessPointPolicyStatusResult) => void): Request<S3Control.Types.GetAccessPointPolicyStatusResult, AWSError>;
91 /**
92 * Indicates whether the specified access point currently has a policy that allows public access. For more information about public access through access points, see Managing Data Access with Amazon S3 Access Points in the Amazon Simple Storage Service Developer Guide.
93 */
94 getAccessPointPolicyStatus(callback?: (err: AWSError, data: S3Control.Types.GetAccessPointPolicyStatusResult) => void): Request<S3Control.Types.GetAccessPointPolicyStatusResult, AWSError>;
95 /**
96 * Retrieve the tags on a Amazon S3 batch operations job.
97 */
98 getJobTagging(params: S3Control.Types.GetJobTaggingRequest, callback?: (err: AWSError, data: S3Control.Types.GetJobTaggingResult) => void): Request<S3Control.Types.GetJobTaggingResult, AWSError>;
99 /**
100 * Retrieve the tags on a Amazon S3 batch operations job.
101 */
102 getJobTagging(callback?: (err: AWSError, data: S3Control.Types.GetJobTaggingResult) => void): Request<S3Control.Types.GetJobTaggingResult, AWSError>;
103 /**
104 * Retrieves the PublicAccessBlock configuration for an Amazon Web Services account.
105 */
106 getPublicAccessBlock(params: S3Control.Types.GetPublicAccessBlockRequest, callback?: (err: AWSError, data: S3Control.Types.GetPublicAccessBlockOutput) => void): Request<S3Control.Types.GetPublicAccessBlockOutput, AWSError>;
107 /**
108 * Retrieves the PublicAccessBlock configuration for an Amazon Web Services account.
109 */
110 getPublicAccessBlock(callback?: (err: AWSError, data: S3Control.Types.GetPublicAccessBlockOutput) => void): Request<S3Control.Types.GetPublicAccessBlockOutput, AWSError>;
111 /**
112 * Returns a list of the access points currently associated with the specified bucket. You can retrieve up to 1000 access points per call. If the specified bucket has more than 1000 access points (or the number specified in maxResults, whichever is less), then the response will include a continuation token that you can use to list the additional access points.
113 */
114 listAccessPoints(params: S3Control.Types.ListAccessPointsRequest, callback?: (err: AWSError, data: S3Control.Types.ListAccessPointsResult) => void): Request<S3Control.Types.ListAccessPointsResult, AWSError>;
115 /**
116 * Returns a list of the access points currently associated with the specified bucket. You can retrieve up to 1000 access points per call. If the specified bucket has more than 1000 access points (or the number specified in maxResults, whichever is less), then the response will include a continuation token that you can use to list the additional access points.
117 */
118 listAccessPoints(callback?: (err: AWSError, data: S3Control.Types.ListAccessPointsResult) => void): Request<S3Control.Types.ListAccessPointsResult, AWSError>;
119 /**
120 * Lists current jobs and jobs that have ended within the last 30 days for the AWS account making the request.
121 */
122 listJobs(params: S3Control.Types.ListJobsRequest, callback?: (err: AWSError, data: S3Control.Types.ListJobsResult) => void): Request<S3Control.Types.ListJobsResult, AWSError>;
123 /**
124 * Lists current jobs and jobs that have ended within the last 30 days for the AWS account making the request.
125 */
126 listJobs(callback?: (err: AWSError, data: S3Control.Types.ListJobsResult) => void): Request<S3Control.Types.ListJobsResult, AWSError>;
127 /**
128 * Associates an access policy with the specified access point. Each access point can have only one policy, so a request made to this API replaces any existing policy associated with the specified access point.
129 */
130 putAccessPointPolicy(params: S3Control.Types.PutAccessPointPolicyRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
131 /**
132 * Associates an access policy with the specified access point. Each access point can have only one policy, so a request made to this API replaces any existing policy associated with the specified access point.
133 */
134 putAccessPointPolicy(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
135 /**
136 * Replace the set of tags on a Amazon S3 batch operations job.
137 */
138 putJobTagging(params: S3Control.Types.PutJobTaggingRequest, callback?: (err: AWSError, data: S3Control.Types.PutJobTaggingResult) => void): Request<S3Control.Types.PutJobTaggingResult, AWSError>;
139 /**
140 * Replace the set of tags on a Amazon S3 batch operations job.
141 */
142 putJobTagging(callback?: (err: AWSError, data: S3Control.Types.PutJobTaggingResult) => void): Request<S3Control.Types.PutJobTaggingResult, AWSError>;
143 /**
144 * Creates or modifies the PublicAccessBlock configuration for an Amazon Web Services account.
145 */
146 putPublicAccessBlock(params: S3Control.Types.PutPublicAccessBlockRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
147 /**
148 * Creates or modifies the PublicAccessBlock configuration for an Amazon Web Services account.
149 */
150 putPublicAccessBlock(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
151 /**
152 * Updates an existing job's priority.
153 */
154 updateJobPriority(params: S3Control.Types.UpdateJobPriorityRequest, callback?: (err: AWSError, data: S3Control.Types.UpdateJobPriorityResult) => void): Request<S3Control.Types.UpdateJobPriorityResult, AWSError>;
155 /**
156 * Updates an existing job's priority.
157 */
158 updateJobPriority(callback?: (err: AWSError, data: S3Control.Types.UpdateJobPriorityResult) => void): Request<S3Control.Types.UpdateJobPriorityResult, AWSError>;
159 /**
160 * Updates the status for the specified job. Use this operation to confirm that you want to run a job or to cancel an existing job.
161 */
162 updateJobStatus(params: S3Control.Types.UpdateJobStatusRequest, callback?: (err: AWSError, data: S3Control.Types.UpdateJobStatusResult) => void): Request<S3Control.Types.UpdateJobStatusResult, AWSError>;
163 /**
164 * Updates the status for the specified job. Use this operation to confirm that you want to run a job or to cancel an existing job.
165 */
166 updateJobStatus(callback?: (err: AWSError, data: S3Control.Types.UpdateJobStatusResult) => void): Request<S3Control.Types.UpdateJobStatusResult, AWSError>;
167}
168declare namespace S3Control {
169 export interface AccessPoint {
170 /**
171 * The name of this access point.
172 */
173 Name: AccessPointName;
174 /**
175 * Indicates whether this access point allows access from the public Internet. If VpcConfiguration is specified for this access point, then NetworkOrigin is VPC, and the access point doesn't allow access from the public Internet. Otherwise, NetworkOrigin is Internet, and the access point allows access from the public Internet, subject to the access point and bucket access policies.
176 */
177 NetworkOrigin: NetworkOrigin;
178 /**
179 * The Virtual Private Cloud (VPC) configuration for this access point, if one exists.
180 */
181 VpcConfiguration?: VpcConfiguration;
182 /**
183 * The name of the bucket associated with this access point.
184 */
185 Bucket: BucketName;
186 }
187 export type AccessPointList = AccessPoint[];
188 export type AccessPointName = string;
189 export type AccountId = string;
190 export type Boolean = boolean;
191 export type BucketName = string;
192 export type ConfirmationRequired = boolean;
193 export interface CreateAccessPointRequest {
194 /**
195 * The AWS account ID for the owner of the bucket for which you want to create an access point.
196 */
197 AccountId: AccountId;
198 /**
199 * The name you want to assign to this access point.
200 */
201 Name: AccessPointName;
202 /**
203 * The name of the bucket that you want to associate this access point with.
204 */
205 Bucket: BucketName;
206 /**
207 * If you include this field, Amazon S3 restricts access to this access point to requests from the specified Virtual Private Cloud (VPC).
208 */
209 VpcConfiguration?: VpcConfiguration;
210 PublicAccessBlockConfiguration?: PublicAccessBlockConfiguration;
211 }
212 export interface CreateJobRequest {
213 /**
214 *
215 */
216 AccountId: AccountId;
217 /**
218 * Indicates whether confirmation is required before Amazon S3 runs the job. Confirmation is only required for jobs created through the Amazon S3 console.
219 */
220 ConfirmationRequired?: ConfirmationRequired;
221 /**
222 * 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.
223 */
224 Operation: JobOperation;
225 /**
226 * Configuration parameters for the optional job-completion report.
227 */
228 Report: JobReport;
229 /**
230 * 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.
231 */
232 ClientRequestToken: NonEmptyMaxLength64String;
233 /**
234 * Configuration parameters for the manifest.
235 */
236 Manifest: JobManifest;
237 /**
238 * 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.
239 */
240 Description?: NonEmptyMaxLength256String;
241 /**
242 * The numerical priority for this job. Higher numbers indicate higher priority.
243 */
244 Priority: JobPriority;
245 /**
246 * The Amazon Resource Name (ARN) for the Identity and Access Management (IAM) Role that batch operations will use to execute this job's operation on each object in the manifest.
247 */
248 RoleArn: IAMRoleArn;
249 /**
250 * An optional set of tags to associate with the job when it is created.
251 */
252 Tags?: S3TagSet;
253 }
254 export interface CreateJobResult {
255 /**
256 * The ID for this job. Amazon S3 generates this ID automatically and returns it after a successful Create Job request.
257 */
258 JobId?: JobId;
259 }
260 export type CreationDate = Date;
261 export interface DeleteAccessPointPolicyRequest {
262 /**
263 * The account ID for the account that owns the specified access point.
264 */
265 AccountId: AccountId;
266 /**
267 * The name of the access point whose policy you want to delete.
268 */
269 Name: AccessPointName;
270 }
271 export interface DeleteAccessPointRequest {
272 /**
273 * The account ID for the account that owns the specified access point.
274 */
275 AccountId: AccountId;
276 /**
277 * The name of the access point you want to delete.
278 */
279 Name: AccessPointName;
280 }
281 export interface DeleteJobTaggingRequest {
282 /**
283 * The account ID for the Amazon Web Services account associated with the Amazon S3 batch operations job you want to remove tags from.
284 */
285 AccountId: AccountId;
286 /**
287 * The ID for the job whose tags you want to delete.
288 */
289 JobId: JobId;
290 }
291 export interface DeleteJobTaggingResult {
292 }
293 export interface DeletePublicAccessBlockRequest {
294 /**
295 * The account ID for the Amazon Web Services account whose PublicAccessBlock configuration you want to remove.
296 */
297 AccountId: AccountId;
298 }
299 export interface DescribeJobRequest {
300 /**
301 *
302 */
303 AccountId: AccountId;
304 /**
305 * The ID for the job whose information you want to retrieve.
306 */
307 JobId: JobId;
308 }
309 export interface DescribeJobResult {
310 /**
311 * Contains the configuration parameters and status for the job specified in the Describe Job request.
312 */
313 Job?: JobDescriptor;
314 }
315 export interface GetAccessPointPolicyRequest {
316 /**
317 * The account ID for the account that owns the specified access point.
318 */
319 AccountId: AccountId;
320 /**
321 * The name of the access point whose policy you want to retrieve.
322 */
323 Name: AccessPointName;
324 }
325 export interface GetAccessPointPolicyResult {
326 /**
327 * The access point policy associated with the specified access point.
328 */
329 Policy?: Policy;
330 }
331 export interface GetAccessPointPolicyStatusRequest {
332 /**
333 * The account ID for the account that owns the specified access point.
334 */
335 AccountId: AccountId;
336 /**
337 * The name of the access point whose policy status you want to retrieve.
338 */
339 Name: AccessPointName;
340 }
341 export interface GetAccessPointPolicyStatusResult {
342 /**
343 * Indicates the current policy status of the specified access point.
344 */
345 PolicyStatus?: PolicyStatus;
346 }
347 export interface GetAccessPointRequest {
348 /**
349 * The account ID for the account that owns the specified access point.
350 */
351 AccountId: AccountId;
352 /**
353 * The name of the access point whose configuration information you want to retrieve.
354 */
355 Name: AccessPointName;
356 }
357 export interface GetAccessPointResult {
358 /**
359 * The name of the specified access point.
360 */
361 Name?: AccessPointName;
362 /**
363 * The name of the bucket associated with the specified access point.
364 */
365 Bucket?: BucketName;
366 /**
367 * Indicates whether this access point allows access from the public Internet. If VpcConfiguration is specified for this access point, then NetworkOrigin is VPC, and the access point doesn't allow access from the public Internet. Otherwise, NetworkOrigin is Internet, and the access point allows access from the public Internet, subject to the access point and bucket access policies.
368 */
369 NetworkOrigin?: NetworkOrigin;
370 /**
371 * Contains the Virtual Private Cloud (VPC) configuration for the specified access point.
372 */
373 VpcConfiguration?: VpcConfiguration;
374 PublicAccessBlockConfiguration?: PublicAccessBlockConfiguration;
375 /**
376 * The date and time when the specified access point was created.
377 */
378 CreationDate?: CreationDate;
379 }
380 export interface GetJobTaggingRequest {
381 /**
382 * The account ID for the Amazon Web Services account associated with the Amazon S3 batch operations job you want to retrieve tags for.
383 */
384 AccountId: AccountId;
385 /**
386 * The ID for the job whose tags you want to retrieve.
387 */
388 JobId: JobId;
389 }
390 export interface GetJobTaggingResult {
391 /**
392 * The set of tags associated with the job.
393 */
394 Tags?: S3TagSet;
395 }
396 export interface GetPublicAccessBlockOutput {
397 /**
398 * The PublicAccessBlock configuration currently in effect for this Amazon Web Services account.
399 */
400 PublicAccessBlockConfiguration?: PublicAccessBlockConfiguration;
401 }
402 export interface GetPublicAccessBlockRequest {
403 /**
404 * The account ID for the Amazon Web Services account whose PublicAccessBlock configuration you want to retrieve.
405 */
406 AccountId: AccountId;
407 }
408 export type IAMRoleArn = string;
409 export type IsPublic = boolean;
410 export type JobArn = string;
411 export type JobCreationTime = Date;
412 export interface JobDescriptor {
413 /**
414 * The ID for the specified job.
415 */
416 JobId?: JobId;
417 /**
418 * Indicates whether confirmation is required before Amazon S3 begins running the specified job. Confirmation is required only for jobs created through the Amazon S3 console.
419 */
420 ConfirmationRequired?: ConfirmationRequired;
421 /**
422 * The description for this job, if one was provided in this job's Create Job request.
423 */
424 Description?: NonEmptyMaxLength256String;
425 /**
426 * The Amazon Resource Name (ARN) for this job.
427 */
428 JobArn?: JobArn;
429 /**
430 * The current status of the specified job.
431 */
432 Status?: JobStatus;
433 /**
434 * The configuration information for the specified job's manifest object.
435 */
436 Manifest?: JobManifest;
437 /**
438 * The operation that the specified job is configured to execute on the objects listed in the manifest.
439 */
440 Operation?: JobOperation;
441 /**
442 * The priority of the specified job.
443 */
444 Priority?: JobPriority;
445 /**
446 * Describes the total number of tasks that the specified job has executed, the number of tasks that succeeded, and the number of tasks that failed.
447 */
448 ProgressSummary?: JobProgressSummary;
449 /**
450 *
451 */
452 StatusUpdateReason?: JobStatusUpdateReason;
453 /**
454 * If the specified job failed, this field contains information describing the failure.
455 */
456 FailureReasons?: JobFailureList;
457 /**
458 * Contains the configuration information for the job-completion report if you requested one in the Create Job request.
459 */
460 Report?: JobReport;
461 /**
462 * A timestamp indicating when this job was created.
463 */
464 CreationTime?: JobCreationTime;
465 /**
466 * A timestamp indicating when this job terminated. A job's termination date is the date and time when it succeeded, failed, or was canceled.
467 */
468 TerminationDate?: JobTerminationDate;
469 /**
470 * The Amazon Resource Name (ARN) for the Identity and Access Management (IAM) Role assigned to execute the tasks for this job.
471 */
472 RoleArn?: IAMRoleArn;
473 /**
474 * The timestamp when this job was suspended, if it has been suspended.
475 */
476 SuspendedDate?: SuspendedDate;
477 /**
478 * The reason why the specified job was suspended. A job is only suspended if you create it through the Amazon S3 console. When you create the job, it enters the Suspended state to await confirmation before running. After you confirm the job, it automatically exits the Suspended state.
479 */
480 SuspendedCause?: SuspendedCause;
481 }
482 export interface JobFailure {
483 /**
484 * The failure code, if any, for the specified job.
485 */
486 FailureCode?: JobFailureCode;
487 /**
488 * The failure reason, if any, for the specified job.
489 */
490 FailureReason?: JobFailureReason;
491 }
492 export type JobFailureCode = string;
493 export type JobFailureList = JobFailure[];
494 export type JobFailureReason = string;
495 export type JobId = string;
496 export interface JobListDescriptor {
497 /**
498 * The ID for the specified job.
499 */
500 JobId?: JobId;
501 /**
502 * The user-specified description that was included in the specified job's Create Job request.
503 */
504 Description?: NonEmptyMaxLength256String;
505 /**
506 * The operation that the specified job is configured to run on each object listed in the manifest.
507 */
508 Operation?: OperationName;
509 /**
510 * The current priority for the specified job.
511 */
512 Priority?: JobPriority;
513 /**
514 * The specified job's current status.
515 */
516 Status?: JobStatus;
517 /**
518 * A timestamp indicating when the specified job was created.
519 */
520 CreationTime?: JobCreationTime;
521 /**
522 * A timestamp indicating when the specified job terminated. A job's termination date is the date and time when it succeeded, failed, or was canceled.
523 */
524 TerminationDate?: JobTerminationDate;
525 /**
526 * Describes the total number of tasks that the specified job has executed, the number of tasks that succeeded, and the number of tasks that failed.
527 */
528 ProgressSummary?: JobProgressSummary;
529 }
530 export type JobListDescriptorList = JobListDescriptor[];
531 export interface JobManifest {
532 /**
533 * Describes the format of the specified job's manifest. If the manifest is in CSV format, also describes the columns contained within the manifest.
534 */
535 Spec: JobManifestSpec;
536 /**
537 * Contains the information required to locate the specified job's manifest.
538 */
539 Location: JobManifestLocation;
540 }
541 export type JobManifestFieldList = JobManifestFieldName[];
542 export type JobManifestFieldName = "Ignore"|"Bucket"|"Key"|"VersionId"|string;
543 export type JobManifestFormat = "S3BatchOperations_CSV_20180820"|"S3InventoryReport_CSV_20161130"|string;
544 export interface JobManifestLocation {
545 /**
546 * The Amazon Resource Name (ARN) for a manifest object.
547 */
548 ObjectArn: S3KeyArnString;
549 /**
550 * The optional version ID to identify a specific version of the manifest object.
551 */
552 ObjectVersionId?: S3ObjectVersionId;
553 /**
554 * The ETag for the specified manifest object.
555 */
556 ETag: NonEmptyMaxLength1024String;
557 }
558 export interface JobManifestSpec {
559 /**
560 * Indicates which of the available formats the specified manifest uses.
561 */
562 Format: JobManifestFormat;
563 /**
564 * If the specified manifest object is in the S3BatchOperations_CSV_20180820 format, this element describes which columns contain the required data.
565 */
566 Fields?: JobManifestFieldList;
567 }
568 export type JobNumberOfTasksFailed = number;
569 export type JobNumberOfTasksSucceeded = number;
570 export interface JobOperation {
571 /**
572 * Directs the specified job to invoke an AWS Lambda function on each object in the manifest.
573 */
574 LambdaInvoke?: LambdaInvokeOperation;
575 /**
576 * Directs the specified job to execute a PUT Copy object call on each object in the manifest.
577 */
578 S3PutObjectCopy?: S3CopyObjectOperation;
579 /**
580 * Directs the specified job to execute a PUT Object acl call on each object in the manifest.
581 */
582 S3PutObjectAcl?: S3SetObjectAclOperation;
583 /**
584 * Directs the specified job to execute a PUT Object tagging call on each object in the manifest.
585 */
586 S3PutObjectTagging?: S3SetObjectTaggingOperation;
587 /**
588 * Directs the specified job to execute an Initiate Glacier Restore call on each object in the manifest.
589 */
590 S3InitiateRestoreObject?: S3InitiateRestoreObjectOperation;
591 }
592 export type JobPriority = number;
593 export interface JobProgressSummary {
594 /**
595 *
596 */
597 TotalNumberOfTasks?: JobTotalNumberOfTasks;
598 /**
599 *
600 */
601 NumberOfTasksSucceeded?: JobNumberOfTasksSucceeded;
602 /**
603 *
604 */
605 NumberOfTasksFailed?: JobNumberOfTasksFailed;
606 }
607 export interface JobReport {
608 /**
609 * The Amazon Resource Name (ARN) for the bucket where specified job-completion report will be stored.
610 */
611 Bucket?: S3BucketArnString;
612 /**
613 * The format of the specified job-completion report.
614 */
615 Format?: JobReportFormat;
616 /**
617 * Indicates whether the specified job will generate a job-completion report.
618 */
619 Enabled: Boolean;
620 /**
621 * An optional prefix to describe where in the specified bucket the job-completion report will be stored. Amazon S3 will store the job-completion report at &lt;prefix&gt;/job-&lt;job-id&gt;/report.json.
622 */
623 Prefix?: ReportPrefixString;
624 /**
625 * Indicates whether the job-completion report will include details of all tasks or only failed tasks.
626 */
627 ReportScope?: JobReportScope;
628 }
629 export type JobReportFormat = "Report_CSV_20180820"|string;
630 export type JobReportScope = "AllTasks"|"FailedTasksOnly"|string;
631 export type JobStatus = "Active"|"Cancelled"|"Cancelling"|"Complete"|"Completing"|"Failed"|"Failing"|"New"|"Paused"|"Pausing"|"Preparing"|"Ready"|"Suspended"|string;
632 export type JobStatusList = JobStatus[];
633 export type JobStatusUpdateReason = string;
634 export type JobTerminationDate = Date;
635 export type JobTotalNumberOfTasks = number;
636 export type KmsKeyArnString = string;
637 export interface LambdaInvokeOperation {
638 /**
639 * The Amazon Resource Name (ARN) for the AWS Lambda function that the specified job will invoke for each object in the manifest.
640 */
641 FunctionArn?: NonEmptyMaxLength1024String;
642 }
643 export interface ListAccessPointsRequest {
644 /**
645 * The AWS account ID for owner of the bucket whose access points you want to list.
646 */
647 AccountId: AccountId;
648 /**
649 * The name of the bucket whose associated access points you want to list.
650 */
651 Bucket?: BucketName;
652 /**
653 * A continuation token. If a previous call to ListAccessPoints returned a continuation token in the NextToken field, then providing that value here causes Amazon S3 to retrieve the next page of results.
654 */
655 NextToken?: NonEmptyMaxLength1024String;
656 /**
657 * The maximum number of access points that you want to include in the list. If the specified bucket has more than this number of access points, then the response will include a continuation token in the NextToken field that you can use to retrieve the next page of access points.
658 */
659 MaxResults?: MaxResults;
660 }
661 export interface ListAccessPointsResult {
662 /**
663 * Contains identification and configuration information for one or more access points associated with the specified bucket.
664 */
665 AccessPointList?: AccessPointList;
666 /**
667 * If the specified bucket has more access points than can be returned in one call to this API, then this field contains a continuation token that you can provide in subsequent calls to this API to retrieve additional access points.
668 */
669 NextToken?: NonEmptyMaxLength1024String;
670 }
671 export interface ListJobsRequest {
672 /**
673 *
674 */
675 AccountId: AccountId;
676 /**
677 * The List Jobs request returns jobs that match the statuses listed in this element.
678 */
679 JobStatuses?: JobStatusList;
680 /**
681 * A pagination token to request the next page of results. Use the token that Amazon S3 returned in the NextToken element of the ListJobsResult from the previous List Jobs request.
682 */
683 NextToken?: NonEmptyMaxLength1024String;
684 /**
685 * The maximum number of jobs that Amazon S3 will include in the List Jobs response. If there are more jobs than this number, the response will include a pagination token in the NextToken field to enable you to retrieve the next page of results.
686 */
687 MaxResults?: MaxResults;
688 }
689 export interface ListJobsResult {
690 /**
691 * If the List Jobs request produced more than the maximum number of results, you can pass this value into a subsequent List Jobs request in order to retrieve the next page of results.
692 */
693 NextToken?: NonEmptyMaxLength1024String;
694 /**
695 * The list of current jobs and jobs that have ended within the last 30 days.
696 */
697 Jobs?: JobListDescriptorList;
698 }
699 export type MaxLength1024String = string;
700 export type MaxResults = number;
701 export type NetworkOrigin = "Internet"|"VPC"|string;
702 export type NonEmptyMaxLength1024String = string;
703 export type NonEmptyMaxLength2048String = string;
704 export type NonEmptyMaxLength256String = string;
705 export type NonEmptyMaxLength64String = string;
706 export type OperationName = "LambdaInvoke"|"S3PutObjectCopy"|"S3PutObjectAcl"|"S3PutObjectTagging"|"S3InitiateRestoreObject"|string;
707 export type Policy = string;
708 export interface PolicyStatus {
709 /**
710 *
711 */
712 IsPublic?: IsPublic;
713 }
714 export interface PublicAccessBlockConfiguration {
715 /**
716 * Specifies whether Amazon S3 should block public access control lists (ACLs) for buckets in this account. Setting this element to TRUE causes the following behavior: PUT Bucket acl and PUT Object acl calls fail if the specified ACL is public. PUT Object calls fail if the request includes a public ACL. PUT Bucket calls fail if the request includes a public ACL. Enabling this setting doesn't affect existing policies or ACLs.
717 */
718 BlockPublicAcls?: Setting;
719 /**
720 * Specifies whether Amazon S3 should ignore public ACLs for buckets in this account. Setting this element to TRUE causes Amazon S3 to ignore all public ACLs on buckets in this account and any objects that they contain. Enabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.
721 */
722 IgnorePublicAcls?: Setting;
723 /**
724 * Specifies whether Amazon S3 should block public bucket policies for buckets in this account. Setting this element to TRUE causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access. Enabling this setting doesn't affect existing bucket policies.
725 */
726 BlockPublicPolicy?: Setting;
727 /**
728 * Specifies whether Amazon S3 should restrict public bucket policies for buckets in this account. Setting this element to TRUE restricts access to buckets with public policies to only AWS services and authorized users within this account. Enabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.
729 */
730 RestrictPublicBuckets?: Setting;
731 }
732 export interface PutAccessPointPolicyRequest {
733 /**
734 * The AWS account ID for owner of the bucket associated with the specified access point.
735 */
736 AccountId: AccountId;
737 /**
738 * The name of the access point that you want to associate with the specified policy.
739 */
740 Name: AccessPointName;
741 /**
742 * The policy that you want to apply to the specified access point. For more information about access point policies, see Managing Data Access with Amazon S3 Access Points in the Amazon Simple Storage Service Developer Guide.
743 */
744 Policy: Policy;
745 }
746 export interface PutJobTaggingRequest {
747 /**
748 * The account ID for the Amazon Web Services account associated with the Amazon S3 batch operations job you want to replace tags on.
749 */
750 AccountId: AccountId;
751 /**
752 * The ID for the job whose tags you want to replace.
753 */
754 JobId: JobId;
755 /**
756 * The set of tags to associate with the job.
757 */
758 Tags: S3TagSet;
759 }
760 export interface PutJobTaggingResult {
761 }
762 export interface PutPublicAccessBlockRequest {
763 /**
764 * The PublicAccessBlock configuration that you want to apply to the specified Amazon Web Services account.
765 */
766 PublicAccessBlockConfiguration: PublicAccessBlockConfiguration;
767 /**
768 * The account ID for the Amazon Web Services account whose PublicAccessBlock configuration you want to set.
769 */
770 AccountId: AccountId;
771 }
772 export type ReportPrefixString = string;
773 export type RequestedJobStatus = "Cancelled"|"Ready"|string;
774 export interface S3AccessControlList {
775 /**
776 *
777 */
778 Owner: S3ObjectOwner;
779 /**
780 *
781 */
782 Grants?: S3GrantList;
783 }
784 export interface S3AccessControlPolicy {
785 /**
786 *
787 */
788 AccessControlList?: S3AccessControlList;
789 /**
790 *
791 */
792 CannedAccessControlList?: S3CannedAccessControlList;
793 }
794 export type S3BucketArnString = string;
795 export type S3CannedAccessControlList = "private"|"public-read"|"public-read-write"|"aws-exec-read"|"authenticated-read"|"bucket-owner-read"|"bucket-owner-full-control"|string;
796 export type S3ContentLength = number;
797 export interface S3CopyObjectOperation {
798 /**
799 *
800 */
801 TargetResource?: S3BucketArnString;
802 /**
803 *
804 */
805 CannedAccessControlList?: S3CannedAccessControlList;
806 /**
807 *
808 */
809 AccessControlGrants?: S3GrantList;
810 /**
811 *
812 */
813 MetadataDirective?: S3MetadataDirective;
814 /**
815 *
816 */
817 ModifiedSinceConstraint?: TimeStamp;
818 /**
819 *
820 */
821 NewObjectMetadata?: S3ObjectMetadata;
822 /**
823 *
824 */
825 NewObjectTagging?: S3TagSet;
826 /**
827 *
828 */
829 RedirectLocation?: NonEmptyMaxLength2048String;
830 /**
831 *
832 */
833 RequesterPays?: Boolean;
834 /**
835 *
836 */
837 StorageClass?: S3StorageClass;
838 /**
839 *
840 */
841 UnModifiedSinceConstraint?: TimeStamp;
842 /**
843 *
844 */
845 SSEAwsKmsKeyId?: KmsKeyArnString;
846 /**
847 *
848 */
849 TargetKeyPrefix?: NonEmptyMaxLength1024String;
850 /**
851 *
852 */
853 ObjectLockLegalHoldStatus?: S3ObjectLockLegalHoldStatus;
854 /**
855 *
856 */
857 ObjectLockMode?: S3ObjectLockMode;
858 /**
859 *
860 */
861 ObjectLockRetainUntilDate?: TimeStamp;
862 }
863 export type S3ExpirationInDays = number;
864 export type S3GlacierJobTier = "BULK"|"STANDARD"|string;
865 export interface S3Grant {
866 /**
867 *
868 */
869 Grantee?: S3Grantee;
870 /**
871 *
872 */
873 Permission?: S3Permission;
874 }
875 export type S3GrantList = S3Grant[];
876 export interface S3Grantee {
877 /**
878 *
879 */
880 TypeIdentifier?: S3GranteeTypeIdentifier;
881 /**
882 *
883 */
884 Identifier?: NonEmptyMaxLength1024String;
885 /**
886 *
887 */
888 DisplayName?: NonEmptyMaxLength1024String;
889 }
890 export type S3GranteeTypeIdentifier = "id"|"emailAddress"|"uri"|string;
891 export interface S3InitiateRestoreObjectOperation {
892 /**
893 *
894 */
895 ExpirationInDays?: S3ExpirationInDays;
896 /**
897 *
898 */
899 GlacierJobTier?: S3GlacierJobTier;
900 }
901 export type S3KeyArnString = string;
902 export type S3MetadataDirective = "COPY"|"REPLACE"|string;
903 export type S3ObjectLockLegalHoldStatus = "OFF"|"ON"|string;
904 export type S3ObjectLockMode = "COMPLIANCE"|"GOVERNANCE"|string;
905 export interface S3ObjectMetadata {
906 /**
907 *
908 */
909 CacheControl?: NonEmptyMaxLength1024String;
910 /**
911 *
912 */
913 ContentDisposition?: NonEmptyMaxLength1024String;
914 /**
915 *
916 */
917 ContentEncoding?: NonEmptyMaxLength1024String;
918 /**
919 *
920 */
921 ContentLanguage?: NonEmptyMaxLength1024String;
922 /**
923 *
924 */
925 UserMetadata?: S3UserMetadata;
926 /**
927 *
928 */
929 ContentLength?: S3ContentLength;
930 /**
931 *
932 */
933 ContentMD5?: NonEmptyMaxLength1024String;
934 /**
935 *
936 */
937 ContentType?: NonEmptyMaxLength1024String;
938 /**
939 *
940 */
941 HttpExpiresDate?: TimeStamp;
942 /**
943 *
944 */
945 RequesterCharged?: Boolean;
946 /**
947 *
948 */
949 SSEAlgorithm?: S3SSEAlgorithm;
950 }
951 export interface S3ObjectOwner {
952 /**
953 *
954 */
955 ID?: NonEmptyMaxLength1024String;
956 /**
957 *
958 */
959 DisplayName?: NonEmptyMaxLength1024String;
960 }
961 export type S3ObjectVersionId = string;
962 export type S3Permission = "FULL_CONTROL"|"READ"|"WRITE"|"READ_ACP"|"WRITE_ACP"|string;
963 export type S3SSEAlgorithm = "AES256"|"KMS"|string;
964 export interface S3SetObjectAclOperation {
965 /**
966 *
967 */
968 AccessControlPolicy?: S3AccessControlPolicy;
969 }
970 export interface S3SetObjectTaggingOperation {
971 /**
972 *
973 */
974 TagSet?: S3TagSet;
975 }
976 export type S3StorageClass = "STANDARD"|"STANDARD_IA"|"ONEZONE_IA"|"GLACIER"|"INTELLIGENT_TIERING"|"DEEP_ARCHIVE"|string;
977 export interface S3Tag {
978 /**
979 *
980 */
981 Key: NonEmptyMaxLength1024String;
982 /**
983 *
984 */
985 Value: MaxLength1024String;
986 }
987 export type S3TagSet = S3Tag[];
988 export type S3UserMetadata = {[key: string]: MaxLength1024String};
989 export type Setting = boolean;
990 export type SuspendedCause = string;
991 export type SuspendedDate = Date;
992 export type TimeStamp = Date;
993 export interface UpdateJobPriorityRequest {
994 /**
995 *
996 */
997 AccountId: AccountId;
998 /**
999 * The ID for the job whose priority you want to update.
1000 */
1001 JobId: JobId;
1002 /**
1003 * The priority you want to assign to this job.
1004 */
1005 Priority: JobPriority;
1006 }
1007 export interface UpdateJobPriorityResult {
1008 /**
1009 * The ID for the job whose priority Amazon S3 updated.
1010 */
1011 JobId: JobId;
1012 /**
1013 * The new priority assigned to the specified job.
1014 */
1015 Priority: JobPriority;
1016 }
1017 export interface UpdateJobStatusRequest {
1018 /**
1019 *
1020 */
1021 AccountId: AccountId;
1022 /**
1023 * The ID of the job whose status you want to update.
1024 */
1025 JobId: JobId;
1026 /**
1027 * The status that you want to move the specified job to.
1028 */
1029 RequestedJobStatus: RequestedJobStatus;
1030 /**
1031 * A description of the reason why you want to change the specified job's status. This field can be any string up to the maximum length.
1032 */
1033 StatusUpdateReason?: JobStatusUpdateReason;
1034 }
1035 export interface UpdateJobStatusResult {
1036 /**
1037 * The ID for the job whose status was updated.
1038 */
1039 JobId?: JobId;
1040 /**
1041 * The current status for the specified job.
1042 */
1043 Status?: JobStatus;
1044 /**
1045 * The reason that the specified job's status was updated.
1046 */
1047 StatusUpdateReason?: JobStatusUpdateReason;
1048 }
1049 export interface VpcConfiguration {
1050 /**
1051 * If this field is specified, this access point will only allow connections from the specified VPC ID.
1052 */
1053 VpcId: VpcId;
1054 }
1055 export type VpcId = string;
1056 /**
1057 * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
1058 */
1059 export type apiVersion = "2018-08-20"|"latest"|string;
1060 export interface ClientApiVersions {
1061 /**
1062 * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
1063 */
1064 apiVersion?: apiVersion;
1065 }
1066 export type ClientConfiguration = ServiceConfigurationOptions & UseDualstackConfigOptions & ClientApiVersions;
1067 /**
1068 * Contains interfaces for use with the S3Control client.
1069 */
1070 export import Types = S3Control;
1071}
1072export = S3Control;