aws-sdk-s3control 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,18 +12,132 @@ module Aws::S3Control
12
12
  include Seahorse::Model
13
13
 
14
14
  AccountId = Shapes::StringShape.new(name: 'AccountId')
15
+ BadRequestException = Shapes::StructureShape.new(name: 'BadRequestException')
16
+ Boolean = Shapes::BooleanShape.new(name: 'Boolean')
17
+ ConfirmationRequired = Shapes::BooleanShape.new(name: 'ConfirmationRequired')
18
+ CreateJobRequest = Shapes::StructureShape.new(name: 'CreateJobRequest')
19
+ CreateJobResult = Shapes::StructureShape.new(name: 'CreateJobResult')
15
20
  DeletePublicAccessBlockRequest = Shapes::StructureShape.new(name: 'DeletePublicAccessBlockRequest')
21
+ DescribeJobRequest = Shapes::StructureShape.new(name: 'DescribeJobRequest')
22
+ DescribeJobResult = Shapes::StructureShape.new(name: 'DescribeJobResult')
23
+ ExceptionMessage = Shapes::StringShape.new(name: 'ExceptionMessage')
16
24
  GetPublicAccessBlockOutput = Shapes::StructureShape.new(name: 'GetPublicAccessBlockOutput')
17
25
  GetPublicAccessBlockRequest = Shapes::StructureShape.new(name: 'GetPublicAccessBlockRequest')
26
+ IAMRoleArn = Shapes::StringShape.new(name: 'IAMRoleArn')
27
+ IdempotencyException = Shapes::StructureShape.new(name: 'IdempotencyException')
28
+ InternalServiceException = Shapes::StructureShape.new(name: 'InternalServiceException')
29
+ InvalidNextTokenException = Shapes::StructureShape.new(name: 'InvalidNextTokenException')
30
+ InvalidRequestException = Shapes::StructureShape.new(name: 'InvalidRequestException')
31
+ JobArn = Shapes::StringShape.new(name: 'JobArn')
32
+ JobCreationTime = Shapes::TimestampShape.new(name: 'JobCreationTime')
33
+ JobDescriptor = Shapes::StructureShape.new(name: 'JobDescriptor')
34
+ JobFailure = Shapes::StructureShape.new(name: 'JobFailure')
35
+ JobFailureCode = Shapes::StringShape.new(name: 'JobFailureCode')
36
+ JobFailureList = Shapes::ListShape.new(name: 'JobFailureList')
37
+ JobFailureReason = Shapes::StringShape.new(name: 'JobFailureReason')
38
+ JobId = Shapes::StringShape.new(name: 'JobId')
39
+ JobListDescriptor = Shapes::StructureShape.new(name: 'JobListDescriptor')
40
+ JobListDescriptorList = Shapes::ListShape.new(name: 'JobListDescriptorList')
41
+ JobManifest = Shapes::StructureShape.new(name: 'JobManifest')
42
+ JobManifestFieldList = Shapes::ListShape.new(name: 'JobManifestFieldList')
43
+ JobManifestFieldName = Shapes::StringShape.new(name: 'JobManifestFieldName')
44
+ JobManifestFormat = Shapes::StringShape.new(name: 'JobManifestFormat')
45
+ JobManifestLocation = Shapes::StructureShape.new(name: 'JobManifestLocation')
46
+ JobManifestSpec = Shapes::StructureShape.new(name: 'JobManifestSpec')
47
+ JobNumberOfTasksFailed = Shapes::IntegerShape.new(name: 'JobNumberOfTasksFailed')
48
+ JobNumberOfTasksSucceeded = Shapes::IntegerShape.new(name: 'JobNumberOfTasksSucceeded')
49
+ JobOperation = Shapes::StructureShape.new(name: 'JobOperation')
50
+ JobPriority = Shapes::IntegerShape.new(name: 'JobPriority')
51
+ JobProgressSummary = Shapes::StructureShape.new(name: 'JobProgressSummary')
52
+ JobReport = Shapes::StructureShape.new(name: 'JobReport')
53
+ JobReportFormat = Shapes::StringShape.new(name: 'JobReportFormat')
54
+ JobReportScope = Shapes::StringShape.new(name: 'JobReportScope')
55
+ JobStatus = Shapes::StringShape.new(name: 'JobStatus')
56
+ JobStatusException = Shapes::StructureShape.new(name: 'JobStatusException')
57
+ JobStatusList = Shapes::ListShape.new(name: 'JobStatusList')
58
+ JobStatusUpdateReason = Shapes::StringShape.new(name: 'JobStatusUpdateReason')
59
+ JobTerminationDate = Shapes::TimestampShape.new(name: 'JobTerminationDate')
60
+ JobTotalNumberOfTasks = Shapes::IntegerShape.new(name: 'JobTotalNumberOfTasks')
61
+ KmsKeyArnString = Shapes::StringShape.new(name: 'KmsKeyArnString')
62
+ LambdaInvokeOperation = Shapes::StructureShape.new(name: 'LambdaInvokeOperation')
63
+ ListJobsRequest = Shapes::StructureShape.new(name: 'ListJobsRequest')
64
+ ListJobsResult = Shapes::StructureShape.new(name: 'ListJobsResult')
65
+ MaxLength1024String = Shapes::StringShape.new(name: 'MaxLength1024String')
66
+ MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
18
67
  NoSuchPublicAccessBlockConfiguration = Shapes::StructureShape.new(name: 'NoSuchPublicAccessBlockConfiguration')
19
68
  NoSuchPublicAccessBlockConfigurationMessage = Shapes::StringShape.new(name: 'NoSuchPublicAccessBlockConfigurationMessage')
69
+ NonEmptyMaxLength1024String = Shapes::StringShape.new(name: 'NonEmptyMaxLength1024String')
70
+ NonEmptyMaxLength2048String = Shapes::StringShape.new(name: 'NonEmptyMaxLength2048String')
71
+ NonEmptyMaxLength256String = Shapes::StringShape.new(name: 'NonEmptyMaxLength256String')
72
+ NonEmptyMaxLength64String = Shapes::StringShape.new(name: 'NonEmptyMaxLength64String')
73
+ NotFoundException = Shapes::StructureShape.new(name: 'NotFoundException')
74
+ OperationName = Shapes::StringShape.new(name: 'OperationName')
20
75
  PublicAccessBlockConfiguration = Shapes::StructureShape.new(name: 'PublicAccessBlockConfiguration')
21
76
  PutPublicAccessBlockRequest = Shapes::StructureShape.new(name: 'PutPublicAccessBlockRequest')
77
+ ReportPrefixString = Shapes::StringShape.new(name: 'ReportPrefixString')
78
+ RequestedJobStatus = Shapes::StringShape.new(name: 'RequestedJobStatus')
79
+ S3AccessControlList = Shapes::StructureShape.new(name: 'S3AccessControlList')
80
+ S3AccessControlPolicy = Shapes::StructureShape.new(name: 'S3AccessControlPolicy')
81
+ S3BucketArnString = Shapes::StringShape.new(name: 'S3BucketArnString')
82
+ S3CannedAccessControlList = Shapes::StringShape.new(name: 'S3CannedAccessControlList')
83
+ S3ContentLength = Shapes::IntegerShape.new(name: 'S3ContentLength')
84
+ S3CopyObjectOperation = Shapes::StructureShape.new(name: 'S3CopyObjectOperation')
85
+ S3ExpirationInDays = Shapes::IntegerShape.new(name: 'S3ExpirationInDays')
86
+ S3GlacierJobTier = Shapes::StringShape.new(name: 'S3GlacierJobTier')
87
+ S3Grant = Shapes::StructureShape.new(name: 'S3Grant')
88
+ S3GrantList = Shapes::ListShape.new(name: 'S3GrantList')
89
+ S3Grantee = Shapes::StructureShape.new(name: 'S3Grantee')
90
+ S3GranteeTypeIdentifier = Shapes::StringShape.new(name: 'S3GranteeTypeIdentifier')
91
+ S3InitiateRestoreObjectOperation = Shapes::StructureShape.new(name: 'S3InitiateRestoreObjectOperation')
92
+ S3KeyArnString = Shapes::StringShape.new(name: 'S3KeyArnString')
93
+ S3MetadataDirective = Shapes::StringShape.new(name: 'S3MetadataDirective')
94
+ S3ObjectLockLegalHoldStatus = Shapes::StringShape.new(name: 'S3ObjectLockLegalHoldStatus')
95
+ S3ObjectLockMode = Shapes::StringShape.new(name: 'S3ObjectLockMode')
96
+ S3ObjectMetadata = Shapes::StructureShape.new(name: 'S3ObjectMetadata')
97
+ S3ObjectOwner = Shapes::StructureShape.new(name: 'S3ObjectOwner')
98
+ S3ObjectVersionId = Shapes::StringShape.new(name: 'S3ObjectVersionId')
99
+ S3Permission = Shapes::StringShape.new(name: 'S3Permission')
100
+ S3SSEAlgorithm = Shapes::StringShape.new(name: 'S3SSEAlgorithm')
101
+ S3SetObjectAclOperation = Shapes::StructureShape.new(name: 'S3SetObjectAclOperation')
102
+ S3SetObjectTaggingOperation = Shapes::StructureShape.new(name: 'S3SetObjectTaggingOperation')
103
+ S3StorageClass = Shapes::StringShape.new(name: 'S3StorageClass')
104
+ S3Tag = Shapes::StructureShape.new(name: 'S3Tag')
105
+ S3TagSet = Shapes::ListShape.new(name: 'S3TagSet')
106
+ S3UserMetadata = Shapes::MapShape.new(name: 'S3UserMetadata')
22
107
  Setting = Shapes::BooleanShape.new(name: 'Setting')
108
+ SuspendedCause = Shapes::StringShape.new(name: 'SuspendedCause')
109
+ SuspendedDate = Shapes::TimestampShape.new(name: 'SuspendedDate')
110
+ TimeStamp = Shapes::TimestampShape.new(name: 'TimeStamp')
111
+ TooManyRequestsException = Shapes::StructureShape.new(name: 'TooManyRequestsException')
112
+ UpdateJobPriorityRequest = Shapes::StructureShape.new(name: 'UpdateJobPriorityRequest')
113
+ UpdateJobPriorityResult = Shapes::StructureShape.new(name: 'UpdateJobPriorityResult')
114
+ UpdateJobStatusRequest = Shapes::StructureShape.new(name: 'UpdateJobStatusRequest')
115
+ UpdateJobStatusResult = Shapes::StructureShape.new(name: 'UpdateJobStatusResult')
116
+
117
+ CreateJobRequest.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, required: true, location: "header", location_name: "x-amz-account-id"))
118
+ CreateJobRequest.add_member(:confirmation_required, Shapes::ShapeRef.new(shape: ConfirmationRequired, location_name: "ConfirmationRequired", metadata: {"box"=>true}))
119
+ CreateJobRequest.add_member(:operation, Shapes::ShapeRef.new(shape: JobOperation, required: true, location_name: "Operation"))
120
+ CreateJobRequest.add_member(:report, Shapes::ShapeRef.new(shape: JobReport, required: true, location_name: "Report"))
121
+ CreateJobRequest.add_member(:client_request_token, Shapes::ShapeRef.new(shape: NonEmptyMaxLength64String, required: true, location_name: "ClientRequestToken", metadata: {"idempotencyToken"=>true}))
122
+ CreateJobRequest.add_member(:manifest, Shapes::ShapeRef.new(shape: JobManifest, required: true, location_name: "Manifest"))
123
+ CreateJobRequest.add_member(:description, Shapes::ShapeRef.new(shape: NonEmptyMaxLength256String, location_name: "Description"))
124
+ CreateJobRequest.add_member(:priority, Shapes::ShapeRef.new(shape: JobPriority, required: true, location_name: "Priority", metadata: {"box"=>true}))
125
+ CreateJobRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: IAMRoleArn, required: true, location_name: "RoleArn"))
126
+ CreateJobRequest.struct_class = Types::CreateJobRequest
127
+
128
+ CreateJobResult.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, location_name: "JobId"))
129
+ CreateJobResult.struct_class = Types::CreateJobResult
23
130
 
24
131
  DeletePublicAccessBlockRequest.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, required: true, location: "header", location_name: "x-amz-account-id"))
25
132
  DeletePublicAccessBlockRequest.struct_class = Types::DeletePublicAccessBlockRequest
26
133
 
134
+ DescribeJobRequest.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, required: true, location: "header", location_name: "x-amz-account-id"))
135
+ DescribeJobRequest.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, required: true, location: "uri", location_name: "id"))
136
+ DescribeJobRequest.struct_class = Types::DescribeJobRequest
137
+
138
+ DescribeJobResult.add_member(:job, Shapes::ShapeRef.new(shape: JobDescriptor, location_name: "Job"))
139
+ DescribeJobResult.struct_class = Types::DescribeJobResult
140
+
27
141
  GetPublicAccessBlockOutput.add_member(:public_access_block_configuration, Shapes::ShapeRef.new(shape: PublicAccessBlockConfiguration, location_name: "PublicAccessBlockConfiguration"))
28
142
  GetPublicAccessBlockOutput.struct_class = Types::GetPublicAccessBlockOutput
29
143
  GetPublicAccessBlockOutput[:payload] = :public_access_block_configuration
@@ -32,6 +146,92 @@ module Aws::S3Control
32
146
  GetPublicAccessBlockRequest.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, required: true, location: "header", location_name: "x-amz-account-id"))
33
147
  GetPublicAccessBlockRequest.struct_class = Types::GetPublicAccessBlockRequest
34
148
 
149
+ JobDescriptor.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, location_name: "JobId"))
150
+ JobDescriptor.add_member(:confirmation_required, Shapes::ShapeRef.new(shape: ConfirmationRequired, location_name: "ConfirmationRequired", metadata: {"box"=>true}))
151
+ JobDescriptor.add_member(:description, Shapes::ShapeRef.new(shape: NonEmptyMaxLength256String, location_name: "Description", metadata: {"box"=>true}))
152
+ JobDescriptor.add_member(:job_arn, Shapes::ShapeRef.new(shape: JobArn, location_name: "JobArn", metadata: {"box"=>true}))
153
+ JobDescriptor.add_member(:status, Shapes::ShapeRef.new(shape: JobStatus, location_name: "Status"))
154
+ JobDescriptor.add_member(:manifest, Shapes::ShapeRef.new(shape: JobManifest, location_name: "Manifest", metadata: {"box"=>true}))
155
+ JobDescriptor.add_member(:operation, Shapes::ShapeRef.new(shape: JobOperation, location_name: "Operation", metadata: {"box"=>true}))
156
+ JobDescriptor.add_member(:priority, Shapes::ShapeRef.new(shape: JobPriority, location_name: "Priority"))
157
+ JobDescriptor.add_member(:progress_summary, Shapes::ShapeRef.new(shape: JobProgressSummary, location_name: "ProgressSummary", metadata: {"box"=>true}))
158
+ JobDescriptor.add_member(:status_update_reason, Shapes::ShapeRef.new(shape: JobStatusUpdateReason, location_name: "StatusUpdateReason", metadata: {"box"=>true}))
159
+ JobDescriptor.add_member(:failure_reasons, Shapes::ShapeRef.new(shape: JobFailureList, location_name: "FailureReasons", metadata: {"box"=>true}))
160
+ JobDescriptor.add_member(:report, Shapes::ShapeRef.new(shape: JobReport, location_name: "Report", metadata: {"box"=>true}))
161
+ JobDescriptor.add_member(:creation_time, Shapes::ShapeRef.new(shape: JobCreationTime, location_name: "CreationTime"))
162
+ JobDescriptor.add_member(:termination_date, Shapes::ShapeRef.new(shape: JobTerminationDate, location_name: "TerminationDate", metadata: {"box"=>true}))
163
+ JobDescriptor.add_member(:role_arn, Shapes::ShapeRef.new(shape: IAMRoleArn, location_name: "RoleArn", metadata: {"box"=>true}))
164
+ JobDescriptor.add_member(:suspended_date, Shapes::ShapeRef.new(shape: SuspendedDate, location_name: "SuspendedDate", metadata: {"box"=>true}))
165
+ JobDescriptor.add_member(:suspended_cause, Shapes::ShapeRef.new(shape: SuspendedCause, location_name: "SuspendedCause", metadata: {"box"=>true}))
166
+ JobDescriptor.struct_class = Types::JobDescriptor
167
+
168
+ JobFailure.add_member(:failure_code, Shapes::ShapeRef.new(shape: JobFailureCode, location_name: "FailureCode"))
169
+ JobFailure.add_member(:failure_reason, Shapes::ShapeRef.new(shape: JobFailureReason, location_name: "FailureReason"))
170
+ JobFailure.struct_class = Types::JobFailure
171
+
172
+ JobFailureList.member = Shapes::ShapeRef.new(shape: JobFailure)
173
+
174
+ JobListDescriptor.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, location_name: "JobId"))
175
+ JobListDescriptor.add_member(:description, Shapes::ShapeRef.new(shape: NonEmptyMaxLength256String, location_name: "Description"))
176
+ JobListDescriptor.add_member(:operation, Shapes::ShapeRef.new(shape: OperationName, location_name: "Operation"))
177
+ JobListDescriptor.add_member(:priority, Shapes::ShapeRef.new(shape: JobPriority, location_name: "Priority"))
178
+ JobListDescriptor.add_member(:status, Shapes::ShapeRef.new(shape: JobStatus, location_name: "Status"))
179
+ JobListDescriptor.add_member(:creation_time, Shapes::ShapeRef.new(shape: JobCreationTime, location_name: "CreationTime"))
180
+ JobListDescriptor.add_member(:termination_date, Shapes::ShapeRef.new(shape: JobTerminationDate, location_name: "TerminationDate"))
181
+ JobListDescriptor.add_member(:progress_summary, Shapes::ShapeRef.new(shape: JobProgressSummary, location_name: "ProgressSummary"))
182
+ JobListDescriptor.struct_class = Types::JobListDescriptor
183
+
184
+ JobListDescriptorList.member = Shapes::ShapeRef.new(shape: JobListDescriptor)
185
+
186
+ JobManifest.add_member(:spec, Shapes::ShapeRef.new(shape: JobManifestSpec, required: true, location_name: "Spec"))
187
+ JobManifest.add_member(:location, Shapes::ShapeRef.new(shape: JobManifestLocation, required: true, location_name: "Location"))
188
+ JobManifest.struct_class = Types::JobManifest
189
+
190
+ JobManifestFieldList.member = Shapes::ShapeRef.new(shape: JobManifestFieldName)
191
+
192
+ JobManifestLocation.add_member(:object_arn, Shapes::ShapeRef.new(shape: S3KeyArnString, required: true, location_name: "ObjectArn"))
193
+ JobManifestLocation.add_member(:object_version_id, Shapes::ShapeRef.new(shape: S3ObjectVersionId, location_name: "ObjectVersionId", metadata: {"box"=>true}))
194
+ JobManifestLocation.add_member(:etag, Shapes::ShapeRef.new(shape: NonEmptyMaxLength1024String, required: true, location_name: "ETag"))
195
+ JobManifestLocation.struct_class = Types::JobManifestLocation
196
+
197
+ JobManifestSpec.add_member(:format, Shapes::ShapeRef.new(shape: JobManifestFormat, required: true, location_name: "Format"))
198
+ JobManifestSpec.add_member(:fields, Shapes::ShapeRef.new(shape: JobManifestFieldList, location_name: "Fields", metadata: {"box"=>true}))
199
+ JobManifestSpec.struct_class = Types::JobManifestSpec
200
+
201
+ JobOperation.add_member(:lambda_invoke, Shapes::ShapeRef.new(shape: LambdaInvokeOperation, location_name: "LambdaInvoke", metadata: {"box"=>true}))
202
+ JobOperation.add_member(:s3_put_object_copy, Shapes::ShapeRef.new(shape: S3CopyObjectOperation, location_name: "S3PutObjectCopy", metadata: {"box"=>true}))
203
+ JobOperation.add_member(:s3_put_object_acl, Shapes::ShapeRef.new(shape: S3SetObjectAclOperation, location_name: "S3PutObjectAcl", metadata: {"box"=>true}))
204
+ JobOperation.add_member(:s3_put_object_tagging, Shapes::ShapeRef.new(shape: S3SetObjectTaggingOperation, location_name: "S3PutObjectTagging", metadata: {"box"=>true}))
205
+ JobOperation.add_member(:s3_initiate_restore_object, Shapes::ShapeRef.new(shape: S3InitiateRestoreObjectOperation, location_name: "S3InitiateRestoreObject", metadata: {"box"=>true}))
206
+ JobOperation.struct_class = Types::JobOperation
207
+
208
+ JobProgressSummary.add_member(:total_number_of_tasks, Shapes::ShapeRef.new(shape: JobTotalNumberOfTasks, location_name: "TotalNumberOfTasks", metadata: {"box"=>true}))
209
+ JobProgressSummary.add_member(:number_of_tasks_succeeded, Shapes::ShapeRef.new(shape: JobNumberOfTasksSucceeded, location_name: "NumberOfTasksSucceeded", metadata: {"box"=>true}))
210
+ JobProgressSummary.add_member(:number_of_tasks_failed, Shapes::ShapeRef.new(shape: JobNumberOfTasksFailed, location_name: "NumberOfTasksFailed", metadata: {"box"=>true}))
211
+ JobProgressSummary.struct_class = Types::JobProgressSummary
212
+
213
+ JobReport.add_member(:bucket, Shapes::ShapeRef.new(shape: S3BucketArnString, location_name: "Bucket", metadata: {"box"=>true}))
214
+ JobReport.add_member(:format, Shapes::ShapeRef.new(shape: JobReportFormat, location_name: "Format", metadata: {"box"=>true}))
215
+ JobReport.add_member(:enabled, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "Enabled"))
216
+ JobReport.add_member(:prefix, Shapes::ShapeRef.new(shape: ReportPrefixString, location_name: "Prefix", metadata: {"box"=>true}))
217
+ JobReport.add_member(:report_scope, Shapes::ShapeRef.new(shape: JobReportScope, location_name: "ReportScope", metadata: {"box"=>true}))
218
+ JobReport.struct_class = Types::JobReport
219
+
220
+ JobStatusList.member = Shapes::ShapeRef.new(shape: JobStatus)
221
+
222
+ LambdaInvokeOperation.add_member(:function_arn, Shapes::ShapeRef.new(shape: NonEmptyMaxLength1024String, location_name: "FunctionArn"))
223
+ LambdaInvokeOperation.struct_class = Types::LambdaInvokeOperation
224
+
225
+ ListJobsRequest.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, required: true, location: "header", location_name: "x-amz-account-id"))
226
+ ListJobsRequest.add_member(:job_statuses, Shapes::ShapeRef.new(shape: JobStatusList, location: "querystring", location_name: "jobStatuses"))
227
+ ListJobsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NonEmptyMaxLength1024String, location: "querystring", location_name: "nextToken"))
228
+ ListJobsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults", metadata: {"box"=>true}))
229
+ ListJobsRequest.struct_class = Types::ListJobsRequest
230
+
231
+ ListJobsResult.add_member(:next_token, Shapes::ShapeRef.new(shape: NonEmptyMaxLength1024String, location_name: "NextToken"))
232
+ ListJobsResult.add_member(:jobs, Shapes::ShapeRef.new(shape: JobListDescriptorList, location_name: "Jobs"))
233
+ ListJobsResult.struct_class = Types::ListJobsResult
234
+
35
235
  PublicAccessBlockConfiguration.add_member(:block_public_acls, Shapes::ShapeRef.new(shape: Setting, location_name: "BlockPublicAcls"))
36
236
  PublicAccessBlockConfiguration.add_member(:ignore_public_acls, Shapes::ShapeRef.new(shape: Setting, location_name: "IgnorePublicAcls"))
37
237
  PublicAccessBlockConfiguration.add_member(:block_public_policy, Shapes::ShapeRef.new(shape: Setting, location_name: "BlockPublicPolicy"))
@@ -44,6 +244,99 @@ module Aws::S3Control
44
244
  PutPublicAccessBlockRequest[:payload] = :public_access_block_configuration
45
245
  PutPublicAccessBlockRequest[:payload_member] = PutPublicAccessBlockRequest.member(:public_access_block_configuration)
46
246
 
247
+ S3AccessControlList.add_member(:owner, Shapes::ShapeRef.new(shape: S3ObjectOwner, required: true, location_name: "Owner"))
248
+ S3AccessControlList.add_member(:grants, Shapes::ShapeRef.new(shape: S3GrantList, location_name: "Grants"))
249
+ S3AccessControlList.struct_class = Types::S3AccessControlList
250
+
251
+ S3AccessControlPolicy.add_member(:access_control_list, Shapes::ShapeRef.new(shape: S3AccessControlList, location_name: "AccessControlList", metadata: {"box"=>true}))
252
+ S3AccessControlPolicy.add_member(:canned_access_control_list, Shapes::ShapeRef.new(shape: S3CannedAccessControlList, location_name: "CannedAccessControlList", metadata: {"box"=>true}))
253
+ S3AccessControlPolicy.struct_class = Types::S3AccessControlPolicy
254
+
255
+ S3CopyObjectOperation.add_member(:target_resource, Shapes::ShapeRef.new(shape: S3BucketArnString, location_name: "TargetResource"))
256
+ S3CopyObjectOperation.add_member(:canned_access_control_list, Shapes::ShapeRef.new(shape: S3CannedAccessControlList, location_name: "CannedAccessControlList", metadata: {"box"=>true}))
257
+ S3CopyObjectOperation.add_member(:access_control_grants, Shapes::ShapeRef.new(shape: S3GrantList, location_name: "AccessControlGrants", metadata: {"box"=>true}))
258
+ S3CopyObjectOperation.add_member(:metadata_directive, Shapes::ShapeRef.new(shape: S3MetadataDirective, location_name: "MetadataDirective"))
259
+ S3CopyObjectOperation.add_member(:modified_since_constraint, Shapes::ShapeRef.new(shape: TimeStamp, location_name: "ModifiedSinceConstraint"))
260
+ S3CopyObjectOperation.add_member(:new_object_metadata, Shapes::ShapeRef.new(shape: S3ObjectMetadata, location_name: "NewObjectMetadata"))
261
+ S3CopyObjectOperation.add_member(:new_object_tagging, Shapes::ShapeRef.new(shape: S3TagSet, location_name: "NewObjectTagging"))
262
+ S3CopyObjectOperation.add_member(:redirect_location, Shapes::ShapeRef.new(shape: NonEmptyMaxLength2048String, location_name: "RedirectLocation"))
263
+ S3CopyObjectOperation.add_member(:requester_pays, Shapes::ShapeRef.new(shape: Boolean, location_name: "RequesterPays"))
264
+ S3CopyObjectOperation.add_member(:storage_class, Shapes::ShapeRef.new(shape: S3StorageClass, location_name: "StorageClass"))
265
+ S3CopyObjectOperation.add_member(:un_modified_since_constraint, Shapes::ShapeRef.new(shape: TimeStamp, location_name: "UnModifiedSinceConstraint"))
266
+ S3CopyObjectOperation.add_member(:sse_aws_kms_key_id, Shapes::ShapeRef.new(shape: KmsKeyArnString, location_name: "SSEAwsKmsKeyId"))
267
+ S3CopyObjectOperation.add_member(:target_key_prefix, Shapes::ShapeRef.new(shape: NonEmptyMaxLength1024String, location_name: "TargetKeyPrefix"))
268
+ S3CopyObjectOperation.add_member(:object_lock_legal_hold_status, Shapes::ShapeRef.new(shape: S3ObjectLockLegalHoldStatus, location_name: "ObjectLockLegalHoldStatus"))
269
+ S3CopyObjectOperation.add_member(:object_lock_mode, Shapes::ShapeRef.new(shape: S3ObjectLockMode, location_name: "ObjectLockMode"))
270
+ S3CopyObjectOperation.add_member(:object_lock_retain_until_date, Shapes::ShapeRef.new(shape: TimeStamp, location_name: "ObjectLockRetainUntilDate"))
271
+ S3CopyObjectOperation.struct_class = Types::S3CopyObjectOperation
272
+
273
+ S3Grant.add_member(:grantee, Shapes::ShapeRef.new(shape: S3Grantee, location_name: "Grantee"))
274
+ S3Grant.add_member(:permission, Shapes::ShapeRef.new(shape: S3Permission, location_name: "Permission"))
275
+ S3Grant.struct_class = Types::S3Grant
276
+
277
+ S3GrantList.member = Shapes::ShapeRef.new(shape: S3Grant)
278
+
279
+ S3Grantee.add_member(:type_identifier, Shapes::ShapeRef.new(shape: S3GranteeTypeIdentifier, location_name: "TypeIdentifier"))
280
+ S3Grantee.add_member(:identifier, Shapes::ShapeRef.new(shape: NonEmptyMaxLength1024String, location_name: "Identifier", metadata: {"box"=>true}))
281
+ S3Grantee.add_member(:display_name, Shapes::ShapeRef.new(shape: NonEmptyMaxLength1024String, location_name: "DisplayName"))
282
+ S3Grantee.struct_class = Types::S3Grantee
283
+
284
+ S3InitiateRestoreObjectOperation.add_member(:expiration_in_days, Shapes::ShapeRef.new(shape: S3ExpirationInDays, location_name: "ExpirationInDays"))
285
+ S3InitiateRestoreObjectOperation.add_member(:glacier_job_tier, Shapes::ShapeRef.new(shape: S3GlacierJobTier, location_name: "GlacierJobTier"))
286
+ S3InitiateRestoreObjectOperation.struct_class = Types::S3InitiateRestoreObjectOperation
287
+
288
+ S3ObjectMetadata.add_member(:cache_control, Shapes::ShapeRef.new(shape: NonEmptyMaxLength1024String, location_name: "CacheControl"))
289
+ S3ObjectMetadata.add_member(:content_disposition, Shapes::ShapeRef.new(shape: NonEmptyMaxLength1024String, location_name: "ContentDisposition"))
290
+ S3ObjectMetadata.add_member(:content_encoding, Shapes::ShapeRef.new(shape: NonEmptyMaxLength1024String, location_name: "ContentEncoding"))
291
+ S3ObjectMetadata.add_member(:content_language, Shapes::ShapeRef.new(shape: NonEmptyMaxLength1024String, location_name: "ContentLanguage"))
292
+ S3ObjectMetadata.add_member(:user_metadata, Shapes::ShapeRef.new(shape: S3UserMetadata, location_name: "UserMetadata"))
293
+ S3ObjectMetadata.add_member(:content_length, Shapes::ShapeRef.new(shape: S3ContentLength, location_name: "ContentLength", metadata: {"box"=>true}))
294
+ S3ObjectMetadata.add_member(:content_md5, Shapes::ShapeRef.new(shape: NonEmptyMaxLength1024String, location_name: "ContentMD5"))
295
+ S3ObjectMetadata.add_member(:content_type, Shapes::ShapeRef.new(shape: NonEmptyMaxLength1024String, location_name: "ContentType"))
296
+ S3ObjectMetadata.add_member(:http_expires_date, Shapes::ShapeRef.new(shape: TimeStamp, location_name: "HttpExpiresDate"))
297
+ S3ObjectMetadata.add_member(:requester_charged, Shapes::ShapeRef.new(shape: Boolean, location_name: "RequesterCharged"))
298
+ S3ObjectMetadata.add_member(:sse_algorithm, Shapes::ShapeRef.new(shape: S3SSEAlgorithm, location_name: "SSEAlgorithm"))
299
+ S3ObjectMetadata.struct_class = Types::S3ObjectMetadata
300
+
301
+ S3ObjectOwner.add_member(:id, Shapes::ShapeRef.new(shape: NonEmptyMaxLength1024String, location_name: "ID"))
302
+ S3ObjectOwner.add_member(:display_name, Shapes::ShapeRef.new(shape: NonEmptyMaxLength1024String, location_name: "DisplayName"))
303
+ S3ObjectOwner.struct_class = Types::S3ObjectOwner
304
+
305
+ S3SetObjectAclOperation.add_member(:access_control_policy, Shapes::ShapeRef.new(shape: S3AccessControlPolicy, location_name: "AccessControlPolicy"))
306
+ S3SetObjectAclOperation.struct_class = Types::S3SetObjectAclOperation
307
+
308
+ S3SetObjectTaggingOperation.add_member(:tag_set, Shapes::ShapeRef.new(shape: S3TagSet, location_name: "TagSet"))
309
+ S3SetObjectTaggingOperation.struct_class = Types::S3SetObjectTaggingOperation
310
+
311
+ S3Tag.add_member(:key, Shapes::ShapeRef.new(shape: NonEmptyMaxLength1024String, required: true, location_name: "Key"))
312
+ S3Tag.add_member(:value, Shapes::ShapeRef.new(shape: MaxLength1024String, required: true, location_name: "Value"))
313
+ S3Tag.struct_class = Types::S3Tag
314
+
315
+ S3TagSet.member = Shapes::ShapeRef.new(shape: S3Tag)
316
+
317
+ S3UserMetadata.key = Shapes::ShapeRef.new(shape: NonEmptyMaxLength1024String)
318
+ S3UserMetadata.value = Shapes::ShapeRef.new(shape: MaxLength1024String)
319
+
320
+ UpdateJobPriorityRequest.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, required: true, location: "header", location_name: "x-amz-account-id"))
321
+ UpdateJobPriorityRequest.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, required: true, location: "uri", location_name: "id"))
322
+ UpdateJobPriorityRequest.add_member(:priority, Shapes::ShapeRef.new(shape: JobPriority, required: true, location: "querystring", location_name: "priority"))
323
+ UpdateJobPriorityRequest.struct_class = Types::UpdateJobPriorityRequest
324
+
325
+ UpdateJobPriorityResult.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, required: true, location_name: "JobId"))
326
+ UpdateJobPriorityResult.add_member(:priority, Shapes::ShapeRef.new(shape: JobPriority, required: true, location_name: "Priority"))
327
+ UpdateJobPriorityResult.struct_class = Types::UpdateJobPriorityResult
328
+
329
+ UpdateJobStatusRequest.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, required: true, location: "header", location_name: "x-amz-account-id"))
330
+ UpdateJobStatusRequest.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, required: true, location: "uri", location_name: "id"))
331
+ UpdateJobStatusRequest.add_member(:requested_job_status, Shapes::ShapeRef.new(shape: RequestedJobStatus, required: true, location: "querystring", location_name: "requestedJobStatus"))
332
+ UpdateJobStatusRequest.add_member(:status_update_reason, Shapes::ShapeRef.new(shape: JobStatusUpdateReason, location: "querystring", location_name: "statusUpdateReason"))
333
+ UpdateJobStatusRequest.struct_class = Types::UpdateJobStatusRequest
334
+
335
+ UpdateJobStatusResult.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, location_name: "JobId"))
336
+ UpdateJobStatusResult.add_member(:status, Shapes::ShapeRef.new(shape: JobStatus, location_name: "Status"))
337
+ UpdateJobStatusResult.add_member(:status_update_reason, Shapes::ShapeRef.new(shape: JobStatusUpdateReason, location_name: "StatusUpdateReason"))
338
+ UpdateJobStatusResult.struct_class = Types::UpdateJobStatusResult
339
+
47
340
 
48
341
  # @api private
49
342
  API = Seahorse::Model::Api.new.tap do |api|
@@ -61,6 +354,23 @@ module Aws::S3Control
61
354
  "uid" => "s3control-2018-08-20",
62
355
  }
63
356
 
357
+ api.add_operation(:create_job, Seahorse::Model::Operation.new.tap do |o|
358
+ o.name = "CreateJob"
359
+ o.http_method = "POST"
360
+ o.http_request_uri = "/v20180820/jobs"
361
+ o.input = Shapes::ShapeRef.new(shape: CreateJobRequest,
362
+ location_name: "CreateJobRequest",
363
+ metadata: {
364
+ "xmlNamespace" => {"uri"=>"http://awss3control.amazonaws.com/doc/2018-08-20/"}
365
+ }
366
+ )
367
+ o.output = Shapes::ShapeRef.new(shape: CreateJobResult)
368
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
369
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
370
+ o.errors << Shapes::ShapeRef.new(shape: IdempotencyException)
371
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
372
+ end)
373
+
64
374
  api.add_operation(:delete_public_access_block, Seahorse::Model::Operation.new.tap do |o|
65
375
  o.name = "DeletePublicAccessBlock"
66
376
  o.http_method = "DELETE"
@@ -69,6 +379,18 @@ module Aws::S3Control
69
379
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
70
380
  end)
71
381
 
382
+ api.add_operation(:describe_job, Seahorse::Model::Operation.new.tap do |o|
383
+ o.name = "DescribeJob"
384
+ o.http_method = "GET"
385
+ o.http_request_uri = "/v20180820/jobs/{id}"
386
+ o.input = Shapes::ShapeRef.new(shape: DescribeJobRequest)
387
+ o.output = Shapes::ShapeRef.new(shape: DescribeJobResult)
388
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
389
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
390
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
391
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
392
+ end)
393
+
72
394
  api.add_operation(:get_public_access_block, Seahorse::Model::Operation.new.tap do |o|
73
395
  o.name = "GetPublicAccessBlock"
74
396
  o.http_method = "GET"
@@ -78,6 +400,23 @@ module Aws::S3Control
78
400
  o.errors << Shapes::ShapeRef.new(shape: NoSuchPublicAccessBlockConfiguration)
79
401
  end)
80
402
 
403
+ api.add_operation(:list_jobs, Seahorse::Model::Operation.new.tap do |o|
404
+ o.name = "ListJobs"
405
+ o.http_method = "GET"
406
+ o.http_request_uri = "/v20180820/jobs"
407
+ o.input = Shapes::ShapeRef.new(shape: ListJobsRequest)
408
+ o.output = Shapes::ShapeRef.new(shape: ListJobsResult)
409
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
410
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
411
+ o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
412
+ o[:pager] = Aws::Pager.new(
413
+ limit_key: "max_results",
414
+ tokens: {
415
+ "next_token" => "next_token"
416
+ }
417
+ )
418
+ end)
419
+
81
420
  api.add_operation(:put_public_access_block, Seahorse::Model::Operation.new.tap do |o|
82
421
  o.name = "PutPublicAccessBlock"
83
422
  o.http_method = "PUT"
@@ -85,6 +424,31 @@ module Aws::S3Control
85
424
  o.input = Shapes::ShapeRef.new(shape: PutPublicAccessBlockRequest)
86
425
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
87
426
  end)
427
+
428
+ api.add_operation(:update_job_priority, Seahorse::Model::Operation.new.tap do |o|
429
+ o.name = "UpdateJobPriority"
430
+ o.http_method = "POST"
431
+ o.http_request_uri = "/v20180820/jobs/{id}/priority"
432
+ o.input = Shapes::ShapeRef.new(shape: UpdateJobPriorityRequest)
433
+ o.output = Shapes::ShapeRef.new(shape: UpdateJobPriorityResult)
434
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
435
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
436
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
437
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
438
+ end)
439
+
440
+ api.add_operation(:update_job_status, Seahorse::Model::Operation.new.tap do |o|
441
+ o.name = "UpdateJobStatus"
442
+ o.http_method = "POST"
443
+ o.http_request_uri = "/v20180820/jobs/{id}/status"
444
+ o.input = Shapes::ShapeRef.new(shape: UpdateJobStatusRequest)
445
+ o.output = Shapes::ShapeRef.new(shape: UpdateJobStatusResult)
446
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
447
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
448
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
449
+ o.errors << Shapes::ShapeRef.new(shape: JobStatusException)
450
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
451
+ end)
88
452
  end
89
453
 
90
454
  end
@@ -8,6 +8,201 @@
8
8
  module Aws::S3Control
9
9
  module Types
10
10
 
11
+ # @note When making an API call, you may pass CreateJobRequest
12
+ # data as a hash:
13
+ #
14
+ # {
15
+ # account_id: "AccountId", # required
16
+ # confirmation_required: false,
17
+ # operation: { # required
18
+ # lambda_invoke: {
19
+ # function_arn: "NonEmptyMaxLength1024String",
20
+ # },
21
+ # s3_put_object_copy: {
22
+ # target_resource: "S3BucketArnString",
23
+ # canned_access_control_list: "private", # accepts private, public-read, public-read-write, aws-exec-read, authenticated-read, bucket-owner-read, bucket-owner-full-control
24
+ # access_control_grants: [
25
+ # {
26
+ # grantee: {
27
+ # type_identifier: "id", # accepts id, emailAddress, uri
28
+ # identifier: "NonEmptyMaxLength1024String",
29
+ # display_name: "NonEmptyMaxLength1024String",
30
+ # },
31
+ # permission: "FULL_CONTROL", # accepts FULL_CONTROL, READ, WRITE, READ_ACP, WRITE_ACP
32
+ # },
33
+ # ],
34
+ # metadata_directive: "COPY", # accepts COPY, REPLACE
35
+ # modified_since_constraint: Time.now,
36
+ # new_object_metadata: {
37
+ # cache_control: "NonEmptyMaxLength1024String",
38
+ # content_disposition: "NonEmptyMaxLength1024String",
39
+ # content_encoding: "NonEmptyMaxLength1024String",
40
+ # content_language: "NonEmptyMaxLength1024String",
41
+ # user_metadata: {
42
+ # "NonEmptyMaxLength1024String" => "MaxLength1024String",
43
+ # },
44
+ # content_length: 1,
45
+ # content_md5: "NonEmptyMaxLength1024String",
46
+ # content_type: "NonEmptyMaxLength1024String",
47
+ # http_expires_date: Time.now,
48
+ # requester_charged: false,
49
+ # sse_algorithm: "AES256", # accepts AES256, KMS
50
+ # },
51
+ # new_object_tagging: [
52
+ # {
53
+ # key: "NonEmptyMaxLength1024String", # required
54
+ # value: "MaxLength1024String", # required
55
+ # },
56
+ # ],
57
+ # redirect_location: "NonEmptyMaxLength2048String",
58
+ # requester_pays: false,
59
+ # storage_class: "STANDARD", # accepts STANDARD, STANDARD_IA, ONEZONE_IA, GLACIER, INTELLIGENT_TIERING, DEEP_ARCHIVE
60
+ # un_modified_since_constraint: Time.now,
61
+ # sse_aws_kms_key_id: "KmsKeyArnString",
62
+ # target_key_prefix: "NonEmptyMaxLength1024String",
63
+ # object_lock_legal_hold_status: "OFF", # accepts OFF, ON
64
+ # object_lock_mode: "COMPLIANCE", # accepts COMPLIANCE, GOVERNANCE
65
+ # object_lock_retain_until_date: Time.now,
66
+ # },
67
+ # s3_put_object_acl: {
68
+ # access_control_policy: {
69
+ # access_control_list: {
70
+ # owner: { # required
71
+ # id: "NonEmptyMaxLength1024String",
72
+ # display_name: "NonEmptyMaxLength1024String",
73
+ # },
74
+ # grants: [
75
+ # {
76
+ # grantee: {
77
+ # type_identifier: "id", # accepts id, emailAddress, uri
78
+ # identifier: "NonEmptyMaxLength1024String",
79
+ # display_name: "NonEmptyMaxLength1024String",
80
+ # },
81
+ # permission: "FULL_CONTROL", # accepts FULL_CONTROL, READ, WRITE, READ_ACP, WRITE_ACP
82
+ # },
83
+ # ],
84
+ # },
85
+ # canned_access_control_list: "private", # accepts private, public-read, public-read-write, aws-exec-read, authenticated-read, bucket-owner-read, bucket-owner-full-control
86
+ # },
87
+ # },
88
+ # s3_put_object_tagging: {
89
+ # tag_set: [
90
+ # {
91
+ # key: "NonEmptyMaxLength1024String", # required
92
+ # value: "MaxLength1024String", # required
93
+ # },
94
+ # ],
95
+ # },
96
+ # s3_initiate_restore_object: {
97
+ # expiration_in_days: 1,
98
+ # glacier_job_tier: "BULK", # accepts BULK, STANDARD
99
+ # },
100
+ # },
101
+ # report: { # required
102
+ # bucket: "S3BucketArnString",
103
+ # format: "Report_CSV_20180820", # accepts Report_CSV_20180820
104
+ # enabled: false, # required
105
+ # prefix: "ReportPrefixString",
106
+ # report_scope: "AllTasks", # accepts AllTasks, FailedTasksOnly
107
+ # },
108
+ # client_request_token: "NonEmptyMaxLength64String", # required
109
+ # manifest: { # required
110
+ # spec: { # required
111
+ # format: "S3BatchOperations_CSV_20180820", # required, accepts S3BatchOperations_CSV_20180820, S3InventoryReport_CSV_20161130
112
+ # fields: ["Ignore"], # accepts Ignore, Bucket, Key, VersionId
113
+ # },
114
+ # location: { # required
115
+ # object_arn: "S3KeyArnString", # required
116
+ # object_version_id: "S3ObjectVersionId",
117
+ # etag: "NonEmptyMaxLength1024String", # required
118
+ # },
119
+ # },
120
+ # description: "NonEmptyMaxLength256String",
121
+ # priority: 1, # required
122
+ # role_arn: "IAMRoleArn", # required
123
+ # }
124
+ #
125
+ # @!attribute [rw] account_id
126
+ # @return [String]
127
+ #
128
+ # @!attribute [rw] confirmation_required
129
+ # Indicates whether confirmation is required before Amazon S3 runs the
130
+ # job. Confirmation is only required for jobs created through the
131
+ # Amazon S3 console.
132
+ # @return [Boolean]
133
+ #
134
+ # @!attribute [rw] operation
135
+ # The operation that you want this job to perform on each object
136
+ # listed in the manifest. For more information about the available
137
+ # operations, see [Available Operations][1] in the *Amazon Simple
138
+ # Storage Service Developer Guide*.
139
+ #
140
+ #
141
+ #
142
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-operations.html
143
+ # @return [Types::JobOperation]
144
+ #
145
+ # @!attribute [rw] report
146
+ # Configuration parameters for the optional job-completion report.
147
+ # @return [Types::JobReport]
148
+ #
149
+ # @!attribute [rw] client_request_token
150
+ # An idempotency token to ensure that you don't accidentally submit
151
+ # the same request twice. You can use any string up to the maximum
152
+ # length.
153
+ #
154
+ # **A suitable default value is auto-generated.** You should normally
155
+ # not need to pass this option.
156
+ # @return [String]
157
+ #
158
+ # @!attribute [rw] manifest
159
+ # Configuration parameters for the manifest.
160
+ # @return [Types::JobManifest]
161
+ #
162
+ # @!attribute [rw] description
163
+ # A description for this job. You can use any string within the
164
+ # permitted length. Descriptions don't need to be unique and can be
165
+ # used for multiple jobs.
166
+ # @return [String]
167
+ #
168
+ # @!attribute [rw] priority
169
+ # The numerical priority for this job. Higher numbers indicate higher
170
+ # priority.
171
+ # @return [Integer]
172
+ #
173
+ # @!attribute [rw] role_arn
174
+ # The Amazon Resource Name (ARN) for the Identity and Access
175
+ # Management (IAM) Role that batch operations will use to execute this
176
+ # job's operation on each object in the manifest.
177
+ # @return [String]
178
+ #
179
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateJobRequest AWS API Documentation
180
+ #
181
+ class CreateJobRequest < Struct.new(
182
+ :account_id,
183
+ :confirmation_required,
184
+ :operation,
185
+ :report,
186
+ :client_request_token,
187
+ :manifest,
188
+ :description,
189
+ :priority,
190
+ :role_arn)
191
+ include Aws::Structure
192
+ end
193
+
194
+ # @!attribute [rw] job_id
195
+ # The ID for this job. Amazon S3 generates this ID automatically and
196
+ # returns it after a successful `Create Job` request.
197
+ # @return [String]
198
+ #
199
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateJobResult AWS API Documentation
200
+ #
201
+ class CreateJobResult < Struct.new(
202
+ :job_id)
203
+ include Aws::Structure
204
+ end
205
+
11
206
  # @note When making an API call, you may pass DeletePublicAccessBlockRequest
12
207
  # data as a hash:
13
208
  #
@@ -16,8 +211,8 @@ module Aws::S3Control
16
211
  # }
17
212
  #
18
213
  # @!attribute [rw] account_id
19
- # The Account ID for the Amazon Web Services account whose Public
20
- # Access Block configuration you want to remove.
214
+ # The account ID for the AWS account whose block public access
215
+ # configuration you want to delete.
21
216
  # @return [String]
22
217
  #
23
218
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeletePublicAccessBlockRequest AWS API Documentation
@@ -27,9 +222,42 @@ module Aws::S3Control
27
222
  include Aws::Structure
28
223
  end
29
224
 
225
+ # @note When making an API call, you may pass DescribeJobRequest
226
+ # data as a hash:
227
+ #
228
+ # {
229
+ # account_id: "AccountId", # required
230
+ # job_id: "JobId", # required
231
+ # }
232
+ #
233
+ # @!attribute [rw] account_id
234
+ # @return [String]
235
+ #
236
+ # @!attribute [rw] job_id
237
+ # The ID for the job whose information you want to retrieve.
238
+ # @return [String]
239
+ #
240
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DescribeJobRequest AWS API Documentation
241
+ #
242
+ class DescribeJobRequest < Struct.new(
243
+ :account_id,
244
+ :job_id)
245
+ include Aws::Structure
246
+ end
247
+
248
+ # @!attribute [rw] job
249
+ # Contains the configuration parameters and status for the job
250
+ # specified in the `Describe Job` request.
251
+ # @return [Types::JobDescriptor]
252
+ #
253
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DescribeJobResult AWS API Documentation
254
+ #
255
+ class DescribeJobResult < Struct.new(
256
+ :job)
257
+ include Aws::Structure
258
+ end
259
+
30
260
  # @!attribute [rw] public_access_block_configuration
31
- # The Public Access Block configuration currently in effect for this
32
- # Amazon Web Services account.
33
261
  # @return [Types::PublicAccessBlockConfiguration]
34
262
  #
35
263
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetPublicAccessBlockOutput AWS API Documentation
@@ -47,8 +275,6 @@ module Aws::S3Control
47
275
  # }
48
276
  #
49
277
  # @!attribute [rw] account_id
50
- # The Account ID for the Amazon Web Services account whose Public
51
- # Access Block configuration you want to retrieve.
52
278
  # @return [String]
53
279
  #
54
280
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetPublicAccessBlockRequest AWS API Documentation
@@ -58,51 +284,572 @@ module Aws::S3Control
58
284
  include Aws::Structure
59
285
  end
60
286
 
61
- # The container element for all Public Access Block configuration
62
- # options. You can enable the configuration options in any combination.
287
+ # A container element for the job configuration and status information
288
+ # returned by a `Describe Job` request.
289
+ #
290
+ # @!attribute [rw] job_id
291
+ # The ID for the specified job.
292
+ # @return [String]
293
+ #
294
+ # @!attribute [rw] confirmation_required
295
+ # Indicates whether confirmation is required before Amazon S3 begins
296
+ # running the specified job. Confirmation is required only for jobs
297
+ # created through the Amazon S3 console.
298
+ # @return [Boolean]
299
+ #
300
+ # @!attribute [rw] description
301
+ # The description for this job, if one was provided in this job's
302
+ # `Create Job` request.
303
+ # @return [String]
304
+ #
305
+ # @!attribute [rw] job_arn
306
+ # The Amazon Resource Name (ARN) for this job.
307
+ # @return [String]
308
+ #
309
+ # @!attribute [rw] status
310
+ # The current status of the specified job.
311
+ # @return [String]
312
+ #
313
+ # @!attribute [rw] manifest
314
+ # The configuration information for the specified job's manifest
315
+ # object.
316
+ # @return [Types::JobManifest]
317
+ #
318
+ # @!attribute [rw] operation
319
+ # The operation that the specified job is configured to execute on the
320
+ # objects listed in the manifest.
321
+ # @return [Types::JobOperation]
322
+ #
323
+ # @!attribute [rw] priority
324
+ # The priority of the specified job.
325
+ # @return [Integer]
326
+ #
327
+ # @!attribute [rw] progress_summary
328
+ # Describes the total number of tasks that the specified job has
329
+ # executed, the number of tasks that succeeded, and the number of
330
+ # tasks that failed.
331
+ # @return [Types::JobProgressSummary]
332
+ #
333
+ # @!attribute [rw] status_update_reason
334
+ # @return [String]
335
+ #
336
+ # @!attribute [rw] failure_reasons
337
+ # If the specified job failed, this field contains information
338
+ # describing the failure.
339
+ # @return [Array<Types::JobFailure>]
340
+ #
341
+ # @!attribute [rw] report
342
+ # Contains the configuration information for the job-completion report
343
+ # if you requested one in the `Create Job` request.
344
+ # @return [Types::JobReport]
345
+ #
346
+ # @!attribute [rw] creation_time
347
+ # A timestamp indicating when this job was created.
348
+ # @return [Time]
349
+ #
350
+ # @!attribute [rw] termination_date
351
+ # A timestamp indicating when this job terminated. A job's
352
+ # termination date is the date and time when it succeeded, failed, or
353
+ # was canceled.
354
+ # @return [Time]
355
+ #
356
+ # @!attribute [rw] role_arn
357
+ # The Amazon Resource Name (ARN) for the Identity and Access
358
+ # Management (IAM) Role assigned to execute the tasks for this job.
359
+ # @return [String]
360
+ #
361
+ # @!attribute [rw] suspended_date
362
+ # The timestamp when this job was suspended, if it has been suspended.
363
+ # @return [Time]
364
+ #
365
+ # @!attribute [rw] suspended_cause
366
+ # The reason why the specified job was suspended. A job is only
367
+ # suspended if you create it through the Amazon S3 console. When you
368
+ # create the job, it enters the `Suspended` state to await
369
+ # confirmation before running. After you confirm the job, it
370
+ # automatically exits the `Suspended` state.
371
+ # @return [String]
372
+ #
373
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobDescriptor AWS API Documentation
374
+ #
375
+ class JobDescriptor < Struct.new(
376
+ :job_id,
377
+ :confirmation_required,
378
+ :description,
379
+ :job_arn,
380
+ :status,
381
+ :manifest,
382
+ :operation,
383
+ :priority,
384
+ :progress_summary,
385
+ :status_update_reason,
386
+ :failure_reasons,
387
+ :report,
388
+ :creation_time,
389
+ :termination_date,
390
+ :role_arn,
391
+ :suspended_date,
392
+ :suspended_cause)
393
+ include Aws::Structure
394
+ end
395
+
396
+ # If this job failed, this element indicates why the job failed.
397
+ #
398
+ # @!attribute [rw] failure_code
399
+ # The failure code, if any, for the specified job.
400
+ # @return [String]
401
+ #
402
+ # @!attribute [rw] failure_reason
403
+ # The failure reason, if any, for the specified job.
404
+ # @return [String]
405
+ #
406
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobFailure AWS API Documentation
407
+ #
408
+ class JobFailure < Struct.new(
409
+ :failure_code,
410
+ :failure_reason)
411
+ include Aws::Structure
412
+ end
413
+
414
+ # Contains the configuration and status information for a single job
415
+ # retrieved as part of a job list.
416
+ #
417
+ # @!attribute [rw] job_id
418
+ # The ID for the specified job.
419
+ # @return [String]
420
+ #
421
+ # @!attribute [rw] description
422
+ # The user-specified description that was included in the specified
423
+ # job's `Create Job` request.
424
+ # @return [String]
425
+ #
426
+ # @!attribute [rw] operation
427
+ # The operation that the specified job is configured to run on each
428
+ # object listed in the manifest.
429
+ # @return [String]
430
+ #
431
+ # @!attribute [rw] priority
432
+ # The current priority for the specified job.
433
+ # @return [Integer]
434
+ #
435
+ # @!attribute [rw] status
436
+ # The specified job's current status.
437
+ # @return [String]
438
+ #
439
+ # @!attribute [rw] creation_time
440
+ # A timestamp indicating when the specified job was created.
441
+ # @return [Time]
442
+ #
443
+ # @!attribute [rw] termination_date
444
+ # A timestamp indicating when the specified job terminated. A job's
445
+ # termination date is the date and time when it succeeded, failed, or
446
+ # was canceled.
447
+ # @return [Time]
448
+ #
449
+ # @!attribute [rw] progress_summary
450
+ # Describes the total number of tasks that the specified job has
451
+ # executed, the number of tasks that succeeded, and the number of
452
+ # tasks that failed.
453
+ # @return [Types::JobProgressSummary]
454
+ #
455
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobListDescriptor AWS API Documentation
456
+ #
457
+ class JobListDescriptor < Struct.new(
458
+ :job_id,
459
+ :description,
460
+ :operation,
461
+ :priority,
462
+ :status,
463
+ :creation_time,
464
+ :termination_date,
465
+ :progress_summary)
466
+ include Aws::Structure
467
+ end
468
+
469
+ # Contains the configuration information for a job's manifest.
470
+ #
471
+ # @note When making an API call, you may pass JobManifest
472
+ # data as a hash:
473
+ #
474
+ # {
475
+ # spec: { # required
476
+ # format: "S3BatchOperations_CSV_20180820", # required, accepts S3BatchOperations_CSV_20180820, S3InventoryReport_CSV_20161130
477
+ # fields: ["Ignore"], # accepts Ignore, Bucket, Key, VersionId
478
+ # },
479
+ # location: { # required
480
+ # object_arn: "S3KeyArnString", # required
481
+ # object_version_id: "S3ObjectVersionId",
482
+ # etag: "NonEmptyMaxLength1024String", # required
483
+ # },
484
+ # }
485
+ #
486
+ # @!attribute [rw] spec
487
+ # Describes the format of the specified job's manifest. If the
488
+ # manifest is in CSV format, also describes the columns contained
489
+ # within the manifest.
490
+ # @return [Types::JobManifestSpec]
491
+ #
492
+ # @!attribute [rw] location
493
+ # Contains the information required to locate the specified job's
494
+ # manifest.
495
+ # @return [Types::JobManifestLocation]
496
+ #
497
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobManifest AWS API Documentation
498
+ #
499
+ class JobManifest < Struct.new(
500
+ :spec,
501
+ :location)
502
+ include Aws::Structure
503
+ end
504
+
505
+ # Contains the information required to locate a manifest object.
506
+ #
507
+ # @note When making an API call, you may pass JobManifestLocation
508
+ # data as a hash:
509
+ #
510
+ # {
511
+ # object_arn: "S3KeyArnString", # required
512
+ # object_version_id: "S3ObjectVersionId",
513
+ # etag: "NonEmptyMaxLength1024String", # required
514
+ # }
515
+ #
516
+ # @!attribute [rw] object_arn
517
+ # The Amazon Resource Name (ARN) for a manifest object.
518
+ # @return [String]
519
+ #
520
+ # @!attribute [rw] object_version_id
521
+ # The optional version ID to identify a specific version of the
522
+ # manifest object.
523
+ # @return [String]
524
+ #
525
+ # @!attribute [rw] etag
526
+ # The ETag for the specified manifest object.
527
+ # @return [String]
528
+ #
529
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobManifestLocation AWS API Documentation
530
+ #
531
+ class JobManifestLocation < Struct.new(
532
+ :object_arn,
533
+ :object_version_id,
534
+ :etag)
535
+ include Aws::Structure
536
+ end
537
+
538
+ # Describes the format of a manifest. If the manifest is in CSV format,
539
+ # also describes the columns contained within the manifest.
540
+ #
541
+ # @note When making an API call, you may pass JobManifestSpec
542
+ # data as a hash:
543
+ #
544
+ # {
545
+ # format: "S3BatchOperations_CSV_20180820", # required, accepts S3BatchOperations_CSV_20180820, S3InventoryReport_CSV_20161130
546
+ # fields: ["Ignore"], # accepts Ignore, Bucket, Key, VersionId
547
+ # }
548
+ #
549
+ # @!attribute [rw] format
550
+ # Indicates which of the available formats the specified manifest
551
+ # uses.
552
+ # @return [String]
553
+ #
554
+ # @!attribute [rw] fields
555
+ # If the specified manifest object is in the
556
+ # `S3BatchOperations_CSV_20180820` format, this element describes
557
+ # which columns contain the required data.
558
+ # @return [Array<String>]
559
+ #
560
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobManifestSpec AWS API Documentation
561
+ #
562
+ class JobManifestSpec < Struct.new(
563
+ :format,
564
+ :fields)
565
+ include Aws::Structure
566
+ end
567
+
568
+ # The operation that you want this job to perform on each object listed
569
+ # in the manifest. For more information about the available operations,
570
+ # see [Available Operations][1] in the *Amazon Simple Storage Service
571
+ # Developer Guide*.
63
572
  #
64
- # Amazon S3 considers a bucket policy public unless at least one of the
65
- # following conditions is true:
66
573
  #
67
- # 1. The policy limits access to a set of CIDRs using `aws:SourceIp`.
68
- # For more information on CIDR, see
69
- # [http://www.rfc-editor.org/rfc/rfc4632.txt][1]
70
574
  #
71
- # 2. The policy grants permissions, not including any "bad actions,"
72
- # to one of the following:
575
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-operations.html
576
+ #
577
+ # @note When making an API call, you may pass JobOperation
578
+ # data as a hash:
579
+ #
580
+ # {
581
+ # lambda_invoke: {
582
+ # function_arn: "NonEmptyMaxLength1024String",
583
+ # },
584
+ # s3_put_object_copy: {
585
+ # target_resource: "S3BucketArnString",
586
+ # canned_access_control_list: "private", # accepts private, public-read, public-read-write, aws-exec-read, authenticated-read, bucket-owner-read, bucket-owner-full-control
587
+ # access_control_grants: [
588
+ # {
589
+ # grantee: {
590
+ # type_identifier: "id", # accepts id, emailAddress, uri
591
+ # identifier: "NonEmptyMaxLength1024String",
592
+ # display_name: "NonEmptyMaxLength1024String",
593
+ # },
594
+ # permission: "FULL_CONTROL", # accepts FULL_CONTROL, READ, WRITE, READ_ACP, WRITE_ACP
595
+ # },
596
+ # ],
597
+ # metadata_directive: "COPY", # accepts COPY, REPLACE
598
+ # modified_since_constraint: Time.now,
599
+ # new_object_metadata: {
600
+ # cache_control: "NonEmptyMaxLength1024String",
601
+ # content_disposition: "NonEmptyMaxLength1024String",
602
+ # content_encoding: "NonEmptyMaxLength1024String",
603
+ # content_language: "NonEmptyMaxLength1024String",
604
+ # user_metadata: {
605
+ # "NonEmptyMaxLength1024String" => "MaxLength1024String",
606
+ # },
607
+ # content_length: 1,
608
+ # content_md5: "NonEmptyMaxLength1024String",
609
+ # content_type: "NonEmptyMaxLength1024String",
610
+ # http_expires_date: Time.now,
611
+ # requester_charged: false,
612
+ # sse_algorithm: "AES256", # accepts AES256, KMS
613
+ # },
614
+ # new_object_tagging: [
615
+ # {
616
+ # key: "NonEmptyMaxLength1024String", # required
617
+ # value: "MaxLength1024String", # required
618
+ # },
619
+ # ],
620
+ # redirect_location: "NonEmptyMaxLength2048String",
621
+ # requester_pays: false,
622
+ # storage_class: "STANDARD", # accepts STANDARD, STANDARD_IA, ONEZONE_IA, GLACIER, INTELLIGENT_TIERING, DEEP_ARCHIVE
623
+ # un_modified_since_constraint: Time.now,
624
+ # sse_aws_kms_key_id: "KmsKeyArnString",
625
+ # target_key_prefix: "NonEmptyMaxLength1024String",
626
+ # object_lock_legal_hold_status: "OFF", # accepts OFF, ON
627
+ # object_lock_mode: "COMPLIANCE", # accepts COMPLIANCE, GOVERNANCE
628
+ # object_lock_retain_until_date: Time.now,
629
+ # },
630
+ # s3_put_object_acl: {
631
+ # access_control_policy: {
632
+ # access_control_list: {
633
+ # owner: { # required
634
+ # id: "NonEmptyMaxLength1024String",
635
+ # display_name: "NonEmptyMaxLength1024String",
636
+ # },
637
+ # grants: [
638
+ # {
639
+ # grantee: {
640
+ # type_identifier: "id", # accepts id, emailAddress, uri
641
+ # identifier: "NonEmptyMaxLength1024String",
642
+ # display_name: "NonEmptyMaxLength1024String",
643
+ # },
644
+ # permission: "FULL_CONTROL", # accepts FULL_CONTROL, READ, WRITE, READ_ACP, WRITE_ACP
645
+ # },
646
+ # ],
647
+ # },
648
+ # canned_access_control_list: "private", # accepts private, public-read, public-read-write, aws-exec-read, authenticated-read, bucket-owner-read, bucket-owner-full-control
649
+ # },
650
+ # },
651
+ # s3_put_object_tagging: {
652
+ # tag_set: [
653
+ # {
654
+ # key: "NonEmptyMaxLength1024String", # required
655
+ # value: "MaxLength1024String", # required
656
+ # },
657
+ # ],
658
+ # },
659
+ # s3_initiate_restore_object: {
660
+ # expiration_in_days: 1,
661
+ # glacier_job_tier: "BULK", # accepts BULK, STANDARD
662
+ # },
663
+ # }
664
+ #
665
+ # @!attribute [rw] lambda_invoke
666
+ # Directs the specified job to invoke an AWS Lambda function on each
667
+ # object in the manifest.
668
+ # @return [Types::LambdaInvokeOperation]
669
+ #
670
+ # @!attribute [rw] s3_put_object_copy
671
+ # Directs the specified job to execute a PUT Copy object call on each
672
+ # object in the manifest.
673
+ # @return [Types::S3CopyObjectOperation]
73
674
  #
74
- # * A fixed AWS principal, user, role, or service principal
675
+ # @!attribute [rw] s3_put_object_acl
676
+ # Directs the specified job to execute a PUT Object acl call on each
677
+ # object in the manifest.
678
+ # @return [Types::S3SetObjectAclOperation]
75
679
  #
76
- # * A fixed `aws:SourceArn`
680
+ # @!attribute [rw] s3_put_object_tagging
681
+ # Directs the specified job to execute a PUT Object tagging call on
682
+ # each object in the manifest.
683
+ # @return [Types::S3SetObjectTaggingOperation]
77
684
  #
78
- # * A fixed `aws:SourceVpc`
685
+ # @!attribute [rw] s3_initiate_restore_object
686
+ # Directs the specified job to execute an Initiate Glacier Restore
687
+ # call on each object in the manifest.
688
+ # @return [Types::S3InitiateRestoreObjectOperation]
79
689
  #
80
- # * A fixed `aws:SourceVpce`
690
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobOperation AWS API Documentation
81
691
  #
82
- # * A fixed `aws:SourceOwner`
692
+ class JobOperation < Struct.new(
693
+ :lambda_invoke,
694
+ :s3_put_object_copy,
695
+ :s3_put_object_acl,
696
+ :s3_put_object_tagging,
697
+ :s3_initiate_restore_object)
698
+ include Aws::Structure
699
+ end
700
+
701
+ # Describes the total number of tasks that the specified job has
702
+ # executed, the number of tasks that succeeded, and the number of tasks
703
+ # that failed.
83
704
  #
84
- # * A fixed `aws:SourceAccount`
705
+ # @!attribute [rw] total_number_of_tasks
706
+ # @return [Integer]
85
707
  #
86
- # * A fixed value of
87
- # `s3:x-amz-server-side-encryption-aws-kms-key-id`
708
+ # @!attribute [rw] number_of_tasks_succeeded
709
+ # @return [Integer]
88
710
  #
89
- # * A fixed value of `aws:userid` outside the pattern
90
- # "`AROLEID:*`"
711
+ # @!attribute [rw] number_of_tasks_failed
712
+ # @return [Integer]
91
713
  #
92
- # "Bad actions" are those that could expose the data inside a bucket
93
- # to reads or writes by the public. These actions are `s3:Get*`,
94
- # `s3:List*`, `s3:AbortMultipartUpload`, `s3:Delete*`, `s3:Put*`, and
95
- # `s3:RestoreObject`.
714
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobProgressSummary AWS API Documentation
96
715
  #
97
- # The star notation for bad actions indicates that all matching
98
- # operations are considered bad actions. For example, because `s3:Get*`
99
- # is a bad action, `s3:GetObject`, `s3:GetObjectVersion`, and
100
- # `s3:GetObjectAcl` are all bad actions.
716
+ class JobProgressSummary < Struct.new(
717
+ :total_number_of_tasks,
718
+ :number_of_tasks_succeeded,
719
+ :number_of_tasks_failed)
720
+ include Aws::Structure
721
+ end
722
+
723
+ # Contains the configuration parameters for a job-completion report.
101
724
  #
725
+ # @note When making an API call, you may pass JobReport
726
+ # data as a hash:
102
727
  #
728
+ # {
729
+ # bucket: "S3BucketArnString",
730
+ # format: "Report_CSV_20180820", # accepts Report_CSV_20180820
731
+ # enabled: false, # required
732
+ # prefix: "ReportPrefixString",
733
+ # report_scope: "AllTasks", # accepts AllTasks, FailedTasksOnly
734
+ # }
103
735
  #
104
- # [1]: http://www.rfc-editor.org/rfc/rfc4632.txt
736
+ # @!attribute [rw] bucket
737
+ # The bucket where specified job-completion report will be stored.
738
+ # @return [String]
105
739
  #
740
+ # @!attribute [rw] format
741
+ # The format of the specified job-completion report.
742
+ # @return [String]
743
+ #
744
+ # @!attribute [rw] enabled
745
+ # Indicates whether the specified job will generate a job-completion
746
+ # report.
747
+ # @return [Boolean]
748
+ #
749
+ # @!attribute [rw] prefix
750
+ # An optional prefix to describe where in the specified bucket the
751
+ # job-completion report will be stored. Amazon S3 will store the
752
+ # job-completion report at
753
+ # &lt;prefix&gt;/job-&lt;job-id&gt;/report.json.
754
+ # @return [String]
755
+ #
756
+ # @!attribute [rw] report_scope
757
+ # Indicates whether the job-completion report will include details of
758
+ # all tasks or only failed tasks.
759
+ # @return [String]
760
+ #
761
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/JobReport AWS API Documentation
762
+ #
763
+ class JobReport < Struct.new(
764
+ :bucket,
765
+ :format,
766
+ :enabled,
767
+ :prefix,
768
+ :report_scope)
769
+ include Aws::Structure
770
+ end
771
+
772
+ # Contains the configuration parameters for a `Lambda Invoke` operation.
773
+ #
774
+ # @note When making an API call, you may pass LambdaInvokeOperation
775
+ # data as a hash:
776
+ #
777
+ # {
778
+ # function_arn: "NonEmptyMaxLength1024String",
779
+ # }
780
+ #
781
+ # @!attribute [rw] function_arn
782
+ # The Amazon Resource Name (ARN) for the AWS Lambda function that the
783
+ # specified job will invoke for each object in the manifest.
784
+ # @return [String]
785
+ #
786
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/LambdaInvokeOperation AWS API Documentation
787
+ #
788
+ class LambdaInvokeOperation < Struct.new(
789
+ :function_arn)
790
+ include Aws::Structure
791
+ end
792
+
793
+ # @note When making an API call, you may pass ListJobsRequest
794
+ # data as a hash:
795
+ #
796
+ # {
797
+ # account_id: "AccountId", # required
798
+ # job_statuses: ["Active"], # accepts Active, Cancelled, Cancelling, Complete, Completing, Failed, Failing, New, Paused, Pausing, Preparing, Ready, Suspended
799
+ # next_token: "NonEmptyMaxLength1024String",
800
+ # max_results: 1,
801
+ # }
802
+ #
803
+ # @!attribute [rw] account_id
804
+ # @return [String]
805
+ #
806
+ # @!attribute [rw] job_statuses
807
+ # The `List Jobs` request returns jobs that match the statuses listed
808
+ # in this element.
809
+ # @return [Array<String>]
810
+ #
811
+ # @!attribute [rw] next_token
812
+ # A pagination token to request the next page of results. Use the
813
+ # token that Amazon S3 returned in the `NextToken` element of the
814
+ # `ListJobsResult` from the previous `List Jobs` request.
815
+ # @return [String]
816
+ #
817
+ # @!attribute [rw] max_results
818
+ # The maximum number of jobs that Amazon S3 will include in the `List
819
+ # Jobs` response. If there are more jobs than this number, the
820
+ # response will include a pagination token in the `NextToken` field to
821
+ # enable you to retrieve the next page of results.
822
+ # @return [Integer]
823
+ #
824
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListJobsRequest AWS API Documentation
825
+ #
826
+ class ListJobsRequest < Struct.new(
827
+ :account_id,
828
+ :job_statuses,
829
+ :next_token,
830
+ :max_results)
831
+ include Aws::Structure
832
+ end
833
+
834
+ # @!attribute [rw] next_token
835
+ # If the `List Jobs` request produced more than the maximum number of
836
+ # results, you can pass this value into a subsequent `List Jobs`
837
+ # request in order to retrieve the next page of results.
838
+ # @return [String]
839
+ #
840
+ # @!attribute [rw] jobs
841
+ # The list of current jobs and jobs that have ended within the last 30
842
+ # days.
843
+ # @return [Array<Types::JobListDescriptor>]
844
+ #
845
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListJobsResult AWS API Documentation
846
+ #
847
+ class ListJobsResult < Struct.new(
848
+ :next_token,
849
+ :jobs)
850
+ include Aws::Structure
851
+ end
852
+
106
853
  # @note When making an API call, you may pass PublicAccessBlockConfiguration
107
854
  # data as a hash:
108
855
  #
@@ -114,50 +861,15 @@ module Aws::S3Control
114
861
  # }
115
862
  #
116
863
  # @!attribute [rw] block_public_acls
117
- # Specifies whether Amazon S3 should block public ACLs for buckets in
118
- # this account. Setting this element to `TRUE` causes the following
119
- # behavior:
120
- #
121
- # * PUT Bucket acl and PUT Object acl calls will fail if the specified
122
- # ACL allows public access.
123
- #
124
- # * PUT Object calls will fail if the request includes an object ACL.
125
- #
126
- # Note that enabling this setting doesn't affect existing policies or
127
- # ACLs.
128
864
  # @return [Boolean]
129
865
  #
130
866
  # @!attribute [rw] ignore_public_acls
131
- # Specifies whether Amazon S3 should ignore public ACLs for buckets in
132
- # this account. Setting this element to `TRUE` causes Amazon S3 to
133
- # ignore all public ACLs on buckets in this account and any objects
134
- # that they contain.
135
- #
136
- # Note that enabling this setting doesn't affect the persistence of
137
- # any existing ACLs and doesn't prevent new public ACLs from being
138
- # set.
139
867
  # @return [Boolean]
140
868
  #
141
869
  # @!attribute [rw] block_public_policy
142
- # Specifies whether Amazon S3 should block public bucket policies for
143
- # buckets in this account. Setting this element to `TRUE` causes
144
- # Amazon S3 to reject calls to PUT Bucket policy if the specified
145
- # bucket policy allows public access.
146
- #
147
- # Note that enabling this setting doesn't affect existing bucket
148
- # policies.
149
870
  # @return [Boolean]
150
871
  #
151
872
  # @!attribute [rw] restrict_public_buckets
152
- # Specifies whether Amazon S3 should restrict public bucket policies
153
- # for buckets in this account. If this element is set to `TRUE`, then
154
- # only the bucket owner and AWS Services can access buckets with
155
- # public policies.
156
- #
157
- # Note that enabling this setting doesn't affect previously stored
158
- # bucket policies, except that public and cross-account access within
159
- # any public bucket policy, including non-public delegation to
160
- # specific accounts, is blocked.
161
873
  # @return [Boolean]
162
874
  #
163
875
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PublicAccessBlockConfiguration AWS API Documentation
@@ -184,13 +896,9 @@ module Aws::S3Control
184
896
  # }
185
897
  #
186
898
  # @!attribute [rw] public_access_block_configuration
187
- # The Public Access Block configuration that you want to apply to this
188
- # Amazon Web Services account.
189
899
  # @return [Types::PublicAccessBlockConfiguration]
190
900
  #
191
901
  # @!attribute [rw] account_id
192
- # The Account ID for the Amazon Web Services account whose Public
193
- # Access Block configuration you want to set.
194
902
  # @return [String]
195
903
  #
196
904
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutPublicAccessBlockRequest AWS API Documentation
@@ -201,5 +909,580 @@ module Aws::S3Control
201
909
  include Aws::Structure
202
910
  end
203
911
 
912
+ # @note When making an API call, you may pass S3AccessControlList
913
+ # data as a hash:
914
+ #
915
+ # {
916
+ # owner: { # required
917
+ # id: "NonEmptyMaxLength1024String",
918
+ # display_name: "NonEmptyMaxLength1024String",
919
+ # },
920
+ # grants: [
921
+ # {
922
+ # grantee: {
923
+ # type_identifier: "id", # accepts id, emailAddress, uri
924
+ # identifier: "NonEmptyMaxLength1024String",
925
+ # display_name: "NonEmptyMaxLength1024String",
926
+ # },
927
+ # permission: "FULL_CONTROL", # accepts FULL_CONTROL, READ, WRITE, READ_ACP, WRITE_ACP
928
+ # },
929
+ # ],
930
+ # }
931
+ #
932
+ # @!attribute [rw] owner
933
+ # @return [Types::S3ObjectOwner]
934
+ #
935
+ # @!attribute [rw] grants
936
+ # @return [Array<Types::S3Grant>]
937
+ #
938
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3AccessControlList AWS API Documentation
939
+ #
940
+ class S3AccessControlList < Struct.new(
941
+ :owner,
942
+ :grants)
943
+ include Aws::Structure
944
+ end
945
+
946
+ # @note When making an API call, you may pass S3AccessControlPolicy
947
+ # data as a hash:
948
+ #
949
+ # {
950
+ # access_control_list: {
951
+ # owner: { # required
952
+ # id: "NonEmptyMaxLength1024String",
953
+ # display_name: "NonEmptyMaxLength1024String",
954
+ # },
955
+ # grants: [
956
+ # {
957
+ # grantee: {
958
+ # type_identifier: "id", # accepts id, emailAddress, uri
959
+ # identifier: "NonEmptyMaxLength1024String",
960
+ # display_name: "NonEmptyMaxLength1024String",
961
+ # },
962
+ # permission: "FULL_CONTROL", # accepts FULL_CONTROL, READ, WRITE, READ_ACP, WRITE_ACP
963
+ # },
964
+ # ],
965
+ # },
966
+ # canned_access_control_list: "private", # accepts private, public-read, public-read-write, aws-exec-read, authenticated-read, bucket-owner-read, bucket-owner-full-control
967
+ # }
968
+ #
969
+ # @!attribute [rw] access_control_list
970
+ # @return [Types::S3AccessControlList]
971
+ #
972
+ # @!attribute [rw] canned_access_control_list
973
+ # @return [String]
974
+ #
975
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3AccessControlPolicy AWS API Documentation
976
+ #
977
+ class S3AccessControlPolicy < Struct.new(
978
+ :access_control_list,
979
+ :canned_access_control_list)
980
+ include Aws::Structure
981
+ end
982
+
983
+ # Contains the configuration parameters for a PUT Copy object operation.
984
+ # Amazon S3 batch operations passes each value through to the underlying
985
+ # PUT Copy object API. For more information about the parameters for
986
+ # this operation, see [PUT Object - Copy][1].
987
+ #
988
+ #
989
+ #
990
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html
991
+ #
992
+ # @note When making an API call, you may pass S3CopyObjectOperation
993
+ # data as a hash:
994
+ #
995
+ # {
996
+ # target_resource: "S3BucketArnString",
997
+ # canned_access_control_list: "private", # accepts private, public-read, public-read-write, aws-exec-read, authenticated-read, bucket-owner-read, bucket-owner-full-control
998
+ # access_control_grants: [
999
+ # {
1000
+ # grantee: {
1001
+ # type_identifier: "id", # accepts id, emailAddress, uri
1002
+ # identifier: "NonEmptyMaxLength1024String",
1003
+ # display_name: "NonEmptyMaxLength1024String",
1004
+ # },
1005
+ # permission: "FULL_CONTROL", # accepts FULL_CONTROL, READ, WRITE, READ_ACP, WRITE_ACP
1006
+ # },
1007
+ # ],
1008
+ # metadata_directive: "COPY", # accepts COPY, REPLACE
1009
+ # modified_since_constraint: Time.now,
1010
+ # new_object_metadata: {
1011
+ # cache_control: "NonEmptyMaxLength1024String",
1012
+ # content_disposition: "NonEmptyMaxLength1024String",
1013
+ # content_encoding: "NonEmptyMaxLength1024String",
1014
+ # content_language: "NonEmptyMaxLength1024String",
1015
+ # user_metadata: {
1016
+ # "NonEmptyMaxLength1024String" => "MaxLength1024String",
1017
+ # },
1018
+ # content_length: 1,
1019
+ # content_md5: "NonEmptyMaxLength1024String",
1020
+ # content_type: "NonEmptyMaxLength1024String",
1021
+ # http_expires_date: Time.now,
1022
+ # requester_charged: false,
1023
+ # sse_algorithm: "AES256", # accepts AES256, KMS
1024
+ # },
1025
+ # new_object_tagging: [
1026
+ # {
1027
+ # key: "NonEmptyMaxLength1024String", # required
1028
+ # value: "MaxLength1024String", # required
1029
+ # },
1030
+ # ],
1031
+ # redirect_location: "NonEmptyMaxLength2048String",
1032
+ # requester_pays: false,
1033
+ # storage_class: "STANDARD", # accepts STANDARD, STANDARD_IA, ONEZONE_IA, GLACIER, INTELLIGENT_TIERING, DEEP_ARCHIVE
1034
+ # un_modified_since_constraint: Time.now,
1035
+ # sse_aws_kms_key_id: "KmsKeyArnString",
1036
+ # target_key_prefix: "NonEmptyMaxLength1024String",
1037
+ # object_lock_legal_hold_status: "OFF", # accepts OFF, ON
1038
+ # object_lock_mode: "COMPLIANCE", # accepts COMPLIANCE, GOVERNANCE
1039
+ # object_lock_retain_until_date: Time.now,
1040
+ # }
1041
+ #
1042
+ # @!attribute [rw] target_resource
1043
+ # @return [String]
1044
+ #
1045
+ # @!attribute [rw] canned_access_control_list
1046
+ # @return [String]
1047
+ #
1048
+ # @!attribute [rw] access_control_grants
1049
+ # @return [Array<Types::S3Grant>]
1050
+ #
1051
+ # @!attribute [rw] metadata_directive
1052
+ # @return [String]
1053
+ #
1054
+ # @!attribute [rw] modified_since_constraint
1055
+ # @return [Time]
1056
+ #
1057
+ # @!attribute [rw] new_object_metadata
1058
+ # @return [Types::S3ObjectMetadata]
1059
+ #
1060
+ # @!attribute [rw] new_object_tagging
1061
+ # @return [Array<Types::S3Tag>]
1062
+ #
1063
+ # @!attribute [rw] redirect_location
1064
+ # @return [String]
1065
+ #
1066
+ # @!attribute [rw] requester_pays
1067
+ # @return [Boolean]
1068
+ #
1069
+ # @!attribute [rw] storage_class
1070
+ # @return [String]
1071
+ #
1072
+ # @!attribute [rw] un_modified_since_constraint
1073
+ # @return [Time]
1074
+ #
1075
+ # @!attribute [rw] sse_aws_kms_key_id
1076
+ # @return [String]
1077
+ #
1078
+ # @!attribute [rw] target_key_prefix
1079
+ # @return [String]
1080
+ #
1081
+ # @!attribute [rw] object_lock_legal_hold_status
1082
+ # @return [String]
1083
+ #
1084
+ # @!attribute [rw] object_lock_mode
1085
+ # @return [String]
1086
+ #
1087
+ # @!attribute [rw] object_lock_retain_until_date
1088
+ # @return [Time]
1089
+ #
1090
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3CopyObjectOperation AWS API Documentation
1091
+ #
1092
+ class S3CopyObjectOperation < Struct.new(
1093
+ :target_resource,
1094
+ :canned_access_control_list,
1095
+ :access_control_grants,
1096
+ :metadata_directive,
1097
+ :modified_since_constraint,
1098
+ :new_object_metadata,
1099
+ :new_object_tagging,
1100
+ :redirect_location,
1101
+ :requester_pays,
1102
+ :storage_class,
1103
+ :un_modified_since_constraint,
1104
+ :sse_aws_kms_key_id,
1105
+ :target_key_prefix,
1106
+ :object_lock_legal_hold_status,
1107
+ :object_lock_mode,
1108
+ :object_lock_retain_until_date)
1109
+ include Aws::Structure
1110
+ end
1111
+
1112
+ # @note When making an API call, you may pass S3Grant
1113
+ # data as a hash:
1114
+ #
1115
+ # {
1116
+ # grantee: {
1117
+ # type_identifier: "id", # accepts id, emailAddress, uri
1118
+ # identifier: "NonEmptyMaxLength1024String",
1119
+ # display_name: "NonEmptyMaxLength1024String",
1120
+ # },
1121
+ # permission: "FULL_CONTROL", # accepts FULL_CONTROL, READ, WRITE, READ_ACP, WRITE_ACP
1122
+ # }
1123
+ #
1124
+ # @!attribute [rw] grantee
1125
+ # @return [Types::S3Grantee]
1126
+ #
1127
+ # @!attribute [rw] permission
1128
+ # @return [String]
1129
+ #
1130
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3Grant AWS API Documentation
1131
+ #
1132
+ class S3Grant < Struct.new(
1133
+ :grantee,
1134
+ :permission)
1135
+ include Aws::Structure
1136
+ end
1137
+
1138
+ # @note When making an API call, you may pass S3Grantee
1139
+ # data as a hash:
1140
+ #
1141
+ # {
1142
+ # type_identifier: "id", # accepts id, emailAddress, uri
1143
+ # identifier: "NonEmptyMaxLength1024String",
1144
+ # display_name: "NonEmptyMaxLength1024String",
1145
+ # }
1146
+ #
1147
+ # @!attribute [rw] type_identifier
1148
+ # @return [String]
1149
+ #
1150
+ # @!attribute [rw] identifier
1151
+ # @return [String]
1152
+ #
1153
+ # @!attribute [rw] display_name
1154
+ # @return [String]
1155
+ #
1156
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3Grantee AWS API Documentation
1157
+ #
1158
+ class S3Grantee < Struct.new(
1159
+ :type_identifier,
1160
+ :identifier,
1161
+ :display_name)
1162
+ include Aws::Structure
1163
+ end
1164
+
1165
+ # Contains the configuration parameters for an Initiate Glacier Restore
1166
+ # job. Amazon S3 batch operations passes each value through to the
1167
+ # underlying POST Object restore API. For more information about the
1168
+ # parameters for this operation, see [Restoring Archives][1].
1169
+ #
1170
+ #
1171
+ #
1172
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOSTrestore.html#RESTObjectPOSTrestore-restore-request
1173
+ #
1174
+ # @note When making an API call, you may pass S3InitiateRestoreObjectOperation
1175
+ # data as a hash:
1176
+ #
1177
+ # {
1178
+ # expiration_in_days: 1,
1179
+ # glacier_job_tier: "BULK", # accepts BULK, STANDARD
1180
+ # }
1181
+ #
1182
+ # @!attribute [rw] expiration_in_days
1183
+ # @return [Integer]
1184
+ #
1185
+ # @!attribute [rw] glacier_job_tier
1186
+ # @return [String]
1187
+ #
1188
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3InitiateRestoreObjectOperation AWS API Documentation
1189
+ #
1190
+ class S3InitiateRestoreObjectOperation < Struct.new(
1191
+ :expiration_in_days,
1192
+ :glacier_job_tier)
1193
+ include Aws::Structure
1194
+ end
1195
+
1196
+ # @note When making an API call, you may pass S3ObjectMetadata
1197
+ # data as a hash:
1198
+ #
1199
+ # {
1200
+ # cache_control: "NonEmptyMaxLength1024String",
1201
+ # content_disposition: "NonEmptyMaxLength1024String",
1202
+ # content_encoding: "NonEmptyMaxLength1024String",
1203
+ # content_language: "NonEmptyMaxLength1024String",
1204
+ # user_metadata: {
1205
+ # "NonEmptyMaxLength1024String" => "MaxLength1024String",
1206
+ # },
1207
+ # content_length: 1,
1208
+ # content_md5: "NonEmptyMaxLength1024String",
1209
+ # content_type: "NonEmptyMaxLength1024String",
1210
+ # http_expires_date: Time.now,
1211
+ # requester_charged: false,
1212
+ # sse_algorithm: "AES256", # accepts AES256, KMS
1213
+ # }
1214
+ #
1215
+ # @!attribute [rw] cache_control
1216
+ # @return [String]
1217
+ #
1218
+ # @!attribute [rw] content_disposition
1219
+ # @return [String]
1220
+ #
1221
+ # @!attribute [rw] content_encoding
1222
+ # @return [String]
1223
+ #
1224
+ # @!attribute [rw] content_language
1225
+ # @return [String]
1226
+ #
1227
+ # @!attribute [rw] user_metadata
1228
+ # @return [Hash<String,String>]
1229
+ #
1230
+ # @!attribute [rw] content_length
1231
+ # @return [Integer]
1232
+ #
1233
+ # @!attribute [rw] content_md5
1234
+ # @return [String]
1235
+ #
1236
+ # @!attribute [rw] content_type
1237
+ # @return [String]
1238
+ #
1239
+ # @!attribute [rw] http_expires_date
1240
+ # @return [Time]
1241
+ #
1242
+ # @!attribute [rw] requester_charged
1243
+ # @return [Boolean]
1244
+ #
1245
+ # @!attribute [rw] sse_algorithm
1246
+ # @return [String]
1247
+ #
1248
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3ObjectMetadata AWS API Documentation
1249
+ #
1250
+ class S3ObjectMetadata < Struct.new(
1251
+ :cache_control,
1252
+ :content_disposition,
1253
+ :content_encoding,
1254
+ :content_language,
1255
+ :user_metadata,
1256
+ :content_length,
1257
+ :content_md5,
1258
+ :content_type,
1259
+ :http_expires_date,
1260
+ :requester_charged,
1261
+ :sse_algorithm)
1262
+ include Aws::Structure
1263
+ end
1264
+
1265
+ # @note When making an API call, you may pass S3ObjectOwner
1266
+ # data as a hash:
1267
+ #
1268
+ # {
1269
+ # id: "NonEmptyMaxLength1024String",
1270
+ # display_name: "NonEmptyMaxLength1024String",
1271
+ # }
1272
+ #
1273
+ # @!attribute [rw] id
1274
+ # @return [String]
1275
+ #
1276
+ # @!attribute [rw] display_name
1277
+ # @return [String]
1278
+ #
1279
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3ObjectOwner AWS API Documentation
1280
+ #
1281
+ class S3ObjectOwner < Struct.new(
1282
+ :id,
1283
+ :display_name)
1284
+ include Aws::Structure
1285
+ end
1286
+
1287
+ # Contains the configuration parameters for a Set Object ACL operation.
1288
+ # Amazon S3 batch operations passes each value through to the underlying
1289
+ # PUT Object acl API. For more information about the parameters for this
1290
+ # operation, see [PUT Object acl][1].
1291
+ #
1292
+ #
1293
+ #
1294
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUTacl.html
1295
+ #
1296
+ # @note When making an API call, you may pass S3SetObjectAclOperation
1297
+ # data as a hash:
1298
+ #
1299
+ # {
1300
+ # access_control_policy: {
1301
+ # access_control_list: {
1302
+ # owner: { # required
1303
+ # id: "NonEmptyMaxLength1024String",
1304
+ # display_name: "NonEmptyMaxLength1024String",
1305
+ # },
1306
+ # grants: [
1307
+ # {
1308
+ # grantee: {
1309
+ # type_identifier: "id", # accepts id, emailAddress, uri
1310
+ # identifier: "NonEmptyMaxLength1024String",
1311
+ # display_name: "NonEmptyMaxLength1024String",
1312
+ # },
1313
+ # permission: "FULL_CONTROL", # accepts FULL_CONTROL, READ, WRITE, READ_ACP, WRITE_ACP
1314
+ # },
1315
+ # ],
1316
+ # },
1317
+ # canned_access_control_list: "private", # accepts private, public-read, public-read-write, aws-exec-read, authenticated-read, bucket-owner-read, bucket-owner-full-control
1318
+ # },
1319
+ # }
1320
+ #
1321
+ # @!attribute [rw] access_control_policy
1322
+ # @return [Types::S3AccessControlPolicy]
1323
+ #
1324
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3SetObjectAclOperation AWS API Documentation
1325
+ #
1326
+ class S3SetObjectAclOperation < Struct.new(
1327
+ :access_control_policy)
1328
+ include Aws::Structure
1329
+ end
1330
+
1331
+ # Contains the configuration parameters for a Set Object Tagging
1332
+ # operation. Amazon S3 batch operations passes each value through to the
1333
+ # underlying PUT Object tagging API. For more information about the
1334
+ # parameters for this operation, see [PUT Object tagging][1].
1335
+ #
1336
+ #
1337
+ #
1338
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUTtagging.html
1339
+ #
1340
+ # @note When making an API call, you may pass S3SetObjectTaggingOperation
1341
+ # data as a hash:
1342
+ #
1343
+ # {
1344
+ # tag_set: [
1345
+ # {
1346
+ # key: "NonEmptyMaxLength1024String", # required
1347
+ # value: "MaxLength1024String", # required
1348
+ # },
1349
+ # ],
1350
+ # }
1351
+ #
1352
+ # @!attribute [rw] tag_set
1353
+ # @return [Array<Types::S3Tag>]
1354
+ #
1355
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3SetObjectTaggingOperation AWS API Documentation
1356
+ #
1357
+ class S3SetObjectTaggingOperation < Struct.new(
1358
+ :tag_set)
1359
+ include Aws::Structure
1360
+ end
1361
+
1362
+ # @note When making an API call, you may pass S3Tag
1363
+ # data as a hash:
1364
+ #
1365
+ # {
1366
+ # key: "NonEmptyMaxLength1024String", # required
1367
+ # value: "MaxLength1024String", # required
1368
+ # }
1369
+ #
1370
+ # @!attribute [rw] key
1371
+ # @return [String]
1372
+ #
1373
+ # @!attribute [rw] value
1374
+ # @return [String]
1375
+ #
1376
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3Tag AWS API Documentation
1377
+ #
1378
+ class S3Tag < Struct.new(
1379
+ :key,
1380
+ :value)
1381
+ include Aws::Structure
1382
+ end
1383
+
1384
+ # @note When making an API call, you may pass UpdateJobPriorityRequest
1385
+ # data as a hash:
1386
+ #
1387
+ # {
1388
+ # account_id: "AccountId", # required
1389
+ # job_id: "JobId", # required
1390
+ # priority: 1, # required
1391
+ # }
1392
+ #
1393
+ # @!attribute [rw] account_id
1394
+ # @return [String]
1395
+ #
1396
+ # @!attribute [rw] job_id
1397
+ # The ID for the job whose priority you want to update.
1398
+ # @return [String]
1399
+ #
1400
+ # @!attribute [rw] priority
1401
+ # The priority you want to assign to this job.
1402
+ # @return [Integer]
1403
+ #
1404
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/UpdateJobPriorityRequest AWS API Documentation
1405
+ #
1406
+ class UpdateJobPriorityRequest < Struct.new(
1407
+ :account_id,
1408
+ :job_id,
1409
+ :priority)
1410
+ include Aws::Structure
1411
+ end
1412
+
1413
+ # @!attribute [rw] job_id
1414
+ # The ID for the job whose priority Amazon S3 updated.
1415
+ # @return [String]
1416
+ #
1417
+ # @!attribute [rw] priority
1418
+ # The new priority assigned to the specified job.
1419
+ # @return [Integer]
1420
+ #
1421
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/UpdateJobPriorityResult AWS API Documentation
1422
+ #
1423
+ class UpdateJobPriorityResult < Struct.new(
1424
+ :job_id,
1425
+ :priority)
1426
+ include Aws::Structure
1427
+ end
1428
+
1429
+ # @note When making an API call, you may pass UpdateJobStatusRequest
1430
+ # data as a hash:
1431
+ #
1432
+ # {
1433
+ # account_id: "AccountId", # required
1434
+ # job_id: "JobId", # required
1435
+ # requested_job_status: "Cancelled", # required, accepts Cancelled, Ready
1436
+ # status_update_reason: "JobStatusUpdateReason",
1437
+ # }
1438
+ #
1439
+ # @!attribute [rw] account_id
1440
+ # @return [String]
1441
+ #
1442
+ # @!attribute [rw] job_id
1443
+ # The ID of the job whose status you want to update.
1444
+ # @return [String]
1445
+ #
1446
+ # @!attribute [rw] requested_job_status
1447
+ # The status that you want to move the specified job to.
1448
+ # @return [String]
1449
+ #
1450
+ # @!attribute [rw] status_update_reason
1451
+ # A description of the reason why you want to change the specified
1452
+ # job's status. This field can be any string up to the maximum
1453
+ # length.
1454
+ # @return [String]
1455
+ #
1456
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/UpdateJobStatusRequest AWS API Documentation
1457
+ #
1458
+ class UpdateJobStatusRequest < Struct.new(
1459
+ :account_id,
1460
+ :job_id,
1461
+ :requested_job_status,
1462
+ :status_update_reason)
1463
+ include Aws::Structure
1464
+ end
1465
+
1466
+ # @!attribute [rw] job_id
1467
+ # The ID for the job whose status was updated.
1468
+ # @return [String]
1469
+ #
1470
+ # @!attribute [rw] status
1471
+ # The current status for the specified job.
1472
+ # @return [String]
1473
+ #
1474
+ # @!attribute [rw] status_update_reason
1475
+ # The reason that the specified job's status was updated.
1476
+ # @return [String]
1477
+ #
1478
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/UpdateJobStatusResult AWS API Documentation
1479
+ #
1480
+ class UpdateJobStatusResult < Struct.new(
1481
+ :job_id,
1482
+ :status,
1483
+ :status_update_reason)
1484
+ include Aws::Structure
1485
+ end
1486
+
204
1487
  end
205
1488
  end