aws-sdk-s3control 1.4.0 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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