aws-sdk-codegurureviewer 1.16.0 → 1.20.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -14,13 +14,18 @@ module Aws::CodeGuruReviewer
14
14
  include Seahorse::Model
15
15
 
16
16
  AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
17
+ AnalysisType = Shapes::StringShape.new(name: 'AnalysisType')
18
+ AnalysisTypes = Shapes::ListShape.new(name: 'AnalysisTypes')
17
19
  Arn = Shapes::StringShape.new(name: 'Arn')
18
20
  AssociateRepositoryRequest = Shapes::StructureShape.new(name: 'AssociateRepositoryRequest')
19
21
  AssociateRepositoryResponse = Shapes::StructureShape.new(name: 'AssociateRepositoryResponse')
20
22
  AssociationArn = Shapes::StringShape.new(name: 'AssociationArn')
21
23
  AssociationId = Shapes::StringShape.new(name: 'AssociationId')
24
+ BranchDiffSourceCodeType = Shapes::StructureShape.new(name: 'BranchDiffSourceCodeType')
22
25
  BranchName = Shapes::StringShape.new(name: 'BranchName')
26
+ BuildArtifactsObjectKey = Shapes::StringShape.new(name: 'BuildArtifactsObjectKey')
23
27
  ClientRequestToken = Shapes::StringShape.new(name: 'ClientRequestToken')
28
+ CodeArtifacts = Shapes::StructureShape.new(name: 'CodeArtifacts')
24
29
  CodeCommitRepository = Shapes::StructureShape.new(name: 'CodeCommitRepository')
25
30
  CodeReview = Shapes::StructureShape.new(name: 'CodeReview')
26
31
  CodeReviewName = Shapes::StringShape.new(name: 'CodeReviewName')
@@ -41,12 +46,18 @@ module Aws::CodeGuruReviewer
41
46
  DescribeRepositoryAssociationResponse = Shapes::StructureShape.new(name: 'DescribeRepositoryAssociationResponse')
42
47
  DisassociateRepositoryRequest = Shapes::StructureShape.new(name: 'DisassociateRepositoryRequest')
43
48
  DisassociateRepositoryResponse = Shapes::StructureShape.new(name: 'DisassociateRepositoryResponse')
49
+ EncryptionOption = Shapes::StringShape.new(name: 'EncryptionOption')
44
50
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
51
+ EventInfo = Shapes::StructureShape.new(name: 'EventInfo')
52
+ EventName = Shapes::StringShape.new(name: 'EventName')
53
+ EventState = Shapes::StringShape.new(name: 'EventState')
45
54
  FilePath = Shapes::StringShape.new(name: 'FilePath')
46
55
  FindingsCount = Shapes::IntegerShape.new(name: 'FindingsCount')
47
56
  InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
48
57
  JobState = Shapes::StringShape.new(name: 'JobState')
49
58
  JobStates = Shapes::ListShape.new(name: 'JobStates')
59
+ KMSKeyDetails = Shapes::StructureShape.new(name: 'KMSKeyDetails')
60
+ KMSKeyId = Shapes::StringShape.new(name: 'KMSKeyId')
50
61
  LineNumber = Shapes::IntegerShape.new(name: 'LineNumber')
51
62
  ListCodeReviewsMaxResults = Shapes::IntegerShape.new(name: 'ListCodeReviewsMaxResults')
52
63
  ListCodeReviewsRequest = Shapes::StructureShape.new(name: 'ListCodeReviewsRequest')
@@ -76,6 +87,7 @@ module Aws::CodeGuruReviewer
76
87
  PutRecommendationFeedbackResponse = Shapes::StructureShape.new(name: 'PutRecommendationFeedbackResponse')
77
88
  Reaction = Shapes::StringShape.new(name: 'Reaction')
78
89
  Reactions = Shapes::ListShape.new(name: 'Reactions')
90
+ RecommendationCategory = Shapes::StringShape.new(name: 'RecommendationCategory')
79
91
  RecommendationFeedback = Shapes::StructureShape.new(name: 'RecommendationFeedback')
80
92
  RecommendationFeedbackSummaries = Shapes::ListShape.new(name: 'RecommendationFeedbackSummaries')
81
93
  RecommendationFeedbackSummary = Shapes::StructureShape.new(name: 'RecommendationFeedbackSummary')
@@ -92,7 +104,15 @@ module Aws::CodeGuruReviewer
92
104
  RepositoryAssociationSummary = Shapes::StructureShape.new(name: 'RepositoryAssociationSummary')
93
105
  RepositoryHeadSourceCodeType = Shapes::StructureShape.new(name: 'RepositoryHeadSourceCodeType')
94
106
  RepositoryNames = Shapes::ListShape.new(name: 'RepositoryNames')
107
+ RequestId = Shapes::StringShape.new(name: 'RequestId')
108
+ RequestMetadata = Shapes::StructureShape.new(name: 'RequestMetadata')
109
+ Requester = Shapes::StringShape.new(name: 'Requester')
95
110
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
111
+ S3BucketName = Shapes::StringShape.new(name: 'S3BucketName')
112
+ S3BucketRepository = Shapes::StructureShape.new(name: 'S3BucketRepository')
113
+ S3Repository = Shapes::StructureShape.new(name: 'S3Repository')
114
+ S3RepositoryDetails = Shapes::StructureShape.new(name: 'S3RepositoryDetails')
115
+ SourceCodeArtifactsObjectKey = Shapes::StringShape.new(name: 'SourceCodeArtifactsObjectKey')
96
116
  SourceCodeType = Shapes::StructureShape.new(name: 'SourceCodeType')
97
117
  StateReason = Shapes::StringShape.new(name: 'StateReason')
98
118
  TagKey = Shapes::StringShape.new(name: 'TagKey')
@@ -111,19 +131,31 @@ module Aws::CodeGuruReviewer
111
131
  UserId = Shapes::StringShape.new(name: 'UserId')
112
132
  UserIds = Shapes::ListShape.new(name: 'UserIds')
113
133
  ValidationException = Shapes::StructureShape.new(name: 'ValidationException')
134
+ VendorName = Shapes::StringShape.new(name: 'VendorName')
114
135
 
115
136
  AccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
116
137
  AccessDeniedException.struct_class = Types::AccessDeniedException
117
138
 
139
+ AnalysisTypes.member = Shapes::ShapeRef.new(shape: AnalysisType)
140
+
118
141
  AssociateRepositoryRequest.add_member(:repository, Shapes::ShapeRef.new(shape: Repository, required: true, location_name: "Repository"))
119
142
  AssociateRepositoryRequest.add_member(:client_request_token, Shapes::ShapeRef.new(shape: ClientRequestToken, location_name: "ClientRequestToken", metadata: {"idempotencyToken"=>true}))
120
143
  AssociateRepositoryRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags"))
144
+ AssociateRepositoryRequest.add_member(:kms_key_details, Shapes::ShapeRef.new(shape: KMSKeyDetails, location_name: "KMSKeyDetails"))
121
145
  AssociateRepositoryRequest.struct_class = Types::AssociateRepositoryRequest
122
146
 
123
147
  AssociateRepositoryResponse.add_member(:repository_association, Shapes::ShapeRef.new(shape: RepositoryAssociation, location_name: "RepositoryAssociation"))
124
148
  AssociateRepositoryResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags"))
125
149
  AssociateRepositoryResponse.struct_class = Types::AssociateRepositoryResponse
126
150
 
151
+ BranchDiffSourceCodeType.add_member(:source_branch_name, Shapes::ShapeRef.new(shape: BranchName, required: true, location_name: "SourceBranchName"))
152
+ BranchDiffSourceCodeType.add_member(:destination_branch_name, Shapes::ShapeRef.new(shape: BranchName, required: true, location_name: "DestinationBranchName"))
153
+ BranchDiffSourceCodeType.struct_class = Types::BranchDiffSourceCodeType
154
+
155
+ CodeArtifacts.add_member(:source_code_artifacts_object_key, Shapes::ShapeRef.new(shape: SourceCodeArtifactsObjectKey, required: true, location_name: "SourceCodeArtifactsObjectKey"))
156
+ CodeArtifacts.add_member(:build_artifacts_object_key, Shapes::ShapeRef.new(shape: BuildArtifactsObjectKey, location_name: "BuildArtifactsObjectKey"))
157
+ CodeArtifacts.struct_class = Types::CodeArtifacts
158
+
127
159
  CodeCommitRepository.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "Name"))
128
160
  CodeCommitRepository.struct_class = Types::CodeCommitRepository
129
161
 
@@ -141,6 +173,7 @@ module Aws::CodeGuruReviewer
141
173
  CodeReview.add_member(:source_code_type, Shapes::ShapeRef.new(shape: SourceCodeType, location_name: "SourceCodeType"))
142
174
  CodeReview.add_member(:association_arn, Shapes::ShapeRef.new(shape: AssociationArn, location_name: "AssociationArn"))
143
175
  CodeReview.add_member(:metrics, Shapes::ShapeRef.new(shape: Metrics, location_name: "Metrics"))
176
+ CodeReview.add_member(:analysis_types, Shapes::ShapeRef.new(shape: AnalysisTypes, location_name: "AnalysisTypes"))
144
177
  CodeReview.struct_class = Types::CodeReview
145
178
 
146
179
  CodeReviewSummaries.member = Shapes::ShapeRef.new(shape: CodeReviewSummary)
@@ -156,13 +189,16 @@ module Aws::CodeGuruReviewer
156
189
  CodeReviewSummary.add_member(:type, Shapes::ShapeRef.new(shape: Type, location_name: "Type"))
157
190
  CodeReviewSummary.add_member(:pull_request_id, Shapes::ShapeRef.new(shape: PullRequestId, location_name: "PullRequestId"))
158
191
  CodeReviewSummary.add_member(:metrics_summary, Shapes::ShapeRef.new(shape: MetricsSummary, location_name: "MetricsSummary"))
192
+ CodeReviewSummary.add_member(:source_code_type, Shapes::ShapeRef.new(shape: SourceCodeType, location_name: "SourceCodeType"))
159
193
  CodeReviewSummary.struct_class = Types::CodeReviewSummary
160
194
 
161
195
  CodeReviewType.add_member(:repository_analysis, Shapes::ShapeRef.new(shape: RepositoryAnalysis, required: true, location_name: "RepositoryAnalysis"))
196
+ CodeReviewType.add_member(:analysis_types, Shapes::ShapeRef.new(shape: AnalysisTypes, location_name: "AnalysisTypes"))
162
197
  CodeReviewType.struct_class = Types::CodeReviewType
163
198
 
164
199
  CommitDiffSourceCodeType.add_member(:source_commit, Shapes::ShapeRef.new(shape: CommitId, location_name: "SourceCommit"))
165
200
  CommitDiffSourceCodeType.add_member(:destination_commit, Shapes::ShapeRef.new(shape: CommitId, location_name: "DestinationCommit"))
201
+ CommitDiffSourceCodeType.add_member(:merge_base_commit, Shapes::ShapeRef.new(shape: CommitId, location_name: "MergeBaseCommit"))
166
202
  CommitDiffSourceCodeType.struct_class = Types::CommitDiffSourceCodeType
167
203
 
168
204
  ConflictException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
@@ -205,11 +241,19 @@ module Aws::CodeGuruReviewer
205
241
  DisassociateRepositoryResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags"))
206
242
  DisassociateRepositoryResponse.struct_class = Types::DisassociateRepositoryResponse
207
243
 
244
+ EventInfo.add_member(:name, Shapes::ShapeRef.new(shape: EventName, location_name: "Name"))
245
+ EventInfo.add_member(:state, Shapes::ShapeRef.new(shape: EventState, location_name: "State"))
246
+ EventInfo.struct_class = Types::EventInfo
247
+
208
248
  InternalServerException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
209
249
  InternalServerException.struct_class = Types::InternalServerException
210
250
 
211
251
  JobStates.member = Shapes::ShapeRef.new(shape: JobState)
212
252
 
253
+ KMSKeyDetails.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: KMSKeyId, location_name: "KMSKeyId"))
254
+ KMSKeyDetails.add_member(:encryption_option, Shapes::ShapeRef.new(shape: EncryptionOption, location_name: "EncryptionOption"))
255
+ KMSKeyDetails.struct_class = Types::KMSKeyDetails
256
+
213
257
  ListCodeReviewsRequest.add_member(:provider_types, Shapes::ShapeRef.new(shape: ProviderTypes, location: "querystring", location_name: "ProviderTypes"))
214
258
  ListCodeReviewsRequest.add_member(:states, Shapes::ShapeRef.new(shape: JobStates, location: "querystring", location_name: "States"))
215
259
  ListCodeReviewsRequest.add_member(:repository_names, Shapes::ShapeRef.new(shape: RepositoryNames, location: "querystring", location_name: "RepositoryNames"))
@@ -310,14 +354,17 @@ module Aws::CodeGuruReviewer
310
354
  RecommendationSummary.add_member(:start_line, Shapes::ShapeRef.new(shape: LineNumber, location_name: "StartLine"))
311
355
  RecommendationSummary.add_member(:end_line, Shapes::ShapeRef.new(shape: LineNumber, location_name: "EndLine"))
312
356
  RecommendationSummary.add_member(:description, Shapes::ShapeRef.new(shape: Text, location_name: "Description"))
357
+ RecommendationSummary.add_member(:recommendation_category, Shapes::ShapeRef.new(shape: RecommendationCategory, location_name: "RecommendationCategory"))
313
358
  RecommendationSummary.struct_class = Types::RecommendationSummary
314
359
 
315
360
  Repository.add_member(:code_commit, Shapes::ShapeRef.new(shape: CodeCommitRepository, location_name: "CodeCommit"))
316
361
  Repository.add_member(:bitbucket, Shapes::ShapeRef.new(shape: ThirdPartySourceRepository, location_name: "Bitbucket"))
317
362
  Repository.add_member(:git_hub_enterprise_server, Shapes::ShapeRef.new(shape: ThirdPartySourceRepository, location_name: "GitHubEnterpriseServer"))
363
+ Repository.add_member(:s3_bucket, Shapes::ShapeRef.new(shape: S3Repository, location_name: "S3Bucket"))
318
364
  Repository.struct_class = Types::Repository
319
365
 
320
- RepositoryAnalysis.add_member(:repository_head, Shapes::ShapeRef.new(shape: RepositoryHeadSourceCodeType, required: true, location_name: "RepositoryHead"))
366
+ RepositoryAnalysis.add_member(:repository_head, Shapes::ShapeRef.new(shape: RepositoryHeadSourceCodeType, location_name: "RepositoryHead"))
367
+ RepositoryAnalysis.add_member(:source_code_type, Shapes::ShapeRef.new(shape: SourceCodeType, location_name: "SourceCodeType"))
321
368
  RepositoryAnalysis.struct_class = Types::RepositoryAnalysis
322
369
 
323
370
  RepositoryAssociation.add_member(:association_id, Shapes::ShapeRef.new(shape: AssociationId, location_name: "AssociationId"))
@@ -330,6 +377,8 @@ module Aws::CodeGuruReviewer
330
377
  RepositoryAssociation.add_member(:state_reason, Shapes::ShapeRef.new(shape: StateReason, location_name: "StateReason"))
331
378
  RepositoryAssociation.add_member(:last_updated_time_stamp, Shapes::ShapeRef.new(shape: TimeStamp, location_name: "LastUpdatedTimeStamp"))
332
379
  RepositoryAssociation.add_member(:created_time_stamp, Shapes::ShapeRef.new(shape: TimeStamp, location_name: "CreatedTimeStamp"))
380
+ RepositoryAssociation.add_member(:kms_key_details, Shapes::ShapeRef.new(shape: KMSKeyDetails, location_name: "KMSKeyDetails"))
381
+ RepositoryAssociation.add_member(:s3_repository_details, Shapes::ShapeRef.new(shape: S3RepositoryDetails, location_name: "S3RepositoryDetails"))
333
382
  RepositoryAssociation.struct_class = Types::RepositoryAssociation
334
383
 
335
384
  RepositoryAssociationStates.member = Shapes::ShapeRef.new(shape: RepositoryAssociationState)
@@ -351,11 +400,32 @@ module Aws::CodeGuruReviewer
351
400
 
352
401
  RepositoryNames.member = Shapes::ShapeRef.new(shape: Name)
353
402
 
403
+ RequestMetadata.add_member(:request_id, Shapes::ShapeRef.new(shape: RequestId, location_name: "RequestId"))
404
+ RequestMetadata.add_member(:requester, Shapes::ShapeRef.new(shape: Requester, location_name: "Requester"))
405
+ RequestMetadata.add_member(:event_info, Shapes::ShapeRef.new(shape: EventInfo, location_name: "EventInfo"))
406
+ RequestMetadata.add_member(:vendor_name, Shapes::ShapeRef.new(shape: VendorName, location_name: "VendorName"))
407
+ RequestMetadata.struct_class = Types::RequestMetadata
408
+
354
409
  ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
355
410
  ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
356
411
 
412
+ S3BucketRepository.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "Name"))
413
+ S3BucketRepository.add_member(:details, Shapes::ShapeRef.new(shape: S3RepositoryDetails, location_name: "Details"))
414
+ S3BucketRepository.struct_class = Types::S3BucketRepository
415
+
416
+ S3Repository.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "Name"))
417
+ S3Repository.add_member(:bucket_name, Shapes::ShapeRef.new(shape: S3BucketName, required: true, location_name: "BucketName"))
418
+ S3Repository.struct_class = Types::S3Repository
419
+
420
+ S3RepositoryDetails.add_member(:bucket_name, Shapes::ShapeRef.new(shape: S3BucketName, location_name: "BucketName"))
421
+ S3RepositoryDetails.add_member(:code_artifacts, Shapes::ShapeRef.new(shape: CodeArtifacts, location_name: "CodeArtifacts"))
422
+ S3RepositoryDetails.struct_class = Types::S3RepositoryDetails
423
+
357
424
  SourceCodeType.add_member(:commit_diff, Shapes::ShapeRef.new(shape: CommitDiffSourceCodeType, location_name: "CommitDiff"))
358
425
  SourceCodeType.add_member(:repository_head, Shapes::ShapeRef.new(shape: RepositoryHeadSourceCodeType, location_name: "RepositoryHead"))
426
+ SourceCodeType.add_member(:branch_diff, Shapes::ShapeRef.new(shape: BranchDiffSourceCodeType, location_name: "BranchDiff"))
427
+ SourceCodeType.add_member(:s3_bucket_repository, Shapes::ShapeRef.new(shape: S3BucketRepository, location_name: "S3BucketRepository"))
428
+ SourceCodeType.add_member(:request_metadata, Shapes::ShapeRef.new(shape: RequestMetadata, location_name: "RequestMetadata"))
359
429
  SourceCodeType.struct_class = Types::SourceCodeType
360
430
 
361
431
  TagKeyList.member = Shapes::ShapeRef.new(shape: TagKey)
@@ -41,11 +41,19 @@ module Aws::CodeGuruReviewer
41
41
  # connection_arn: "ConnectionArn", # required
42
42
  # owner: "Owner", # required
43
43
  # },
44
+ # s3_bucket: {
45
+ # name: "Name", # required
46
+ # bucket_name: "S3BucketName", # required
47
+ # },
44
48
  # },
45
49
  # client_request_token: "ClientRequestToken",
46
50
  # tags: {
47
51
  # "TagKey" => "TagValue",
48
52
  # },
53
+ # kms_key_details: {
54
+ # kms_key_id: "KMSKeyId",
55
+ # encryption_option: "AWS_OWNED_CMK", # accepts AWS_OWNED_CMK, CUSTOMER_MANAGED_CMK
56
+ # },
49
57
  # }
50
58
  #
51
59
  # @!attribute [rw] repository
@@ -74,12 +82,24 @@ module Aws::CodeGuruReviewer
74
82
  # values are case sensitive.
75
83
  # @return [Hash<String,String>]
76
84
  #
85
+ # @!attribute [rw] kms_key_details
86
+ # A `KMSKeyDetails` object that contains:
87
+ #
88
+ # * The encryption option for this repository association. It is
89
+ # either owned by AWS Key Management Service (KMS) (`AWS_OWNED_CMK`)
90
+ # or customer managed (`CUSTOMER_MANAGED_CMK`).
91
+ #
92
+ # * The ID of the AWS KMS key that is associated with this respository
93
+ # association.
94
+ # @return [Types::KMSKeyDetails]
95
+ #
77
96
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguru-reviewer-2019-09-19/AssociateRepositoryRequest AWS API Documentation
78
97
  #
79
98
  class AssociateRepositoryRequest < Struct.new(
80
99
  :repository,
81
100
  :client_request_token,
82
- :tags)
101
+ :tags,
102
+ :kms_key_details)
83
103
  SENSITIVE = []
84
104
  include Aws::Structure
85
105
  end
@@ -110,6 +130,80 @@ module Aws::CodeGuruReviewer
110
130
  include Aws::Structure
111
131
  end
112
132
 
133
+ # A type of [ `SourceCodeType` ][1] that specifies a code diff between a
134
+ # source and destination branch in an associated repository.
135
+ #
136
+ #
137
+ #
138
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/reviewer-api/API_SourceCodeType
139
+ #
140
+ # @note When making an API call, you may pass BranchDiffSourceCodeType
141
+ # data as a hash:
142
+ #
143
+ # {
144
+ # source_branch_name: "BranchName", # required
145
+ # destination_branch_name: "BranchName", # required
146
+ # }
147
+ #
148
+ # @!attribute [rw] source_branch_name
149
+ # The source branch for a diff in an associated repository.
150
+ # @return [String]
151
+ #
152
+ # @!attribute [rw] destination_branch_name
153
+ # The destination branch for a diff in an associated repository.
154
+ # @return [String]
155
+ #
156
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguru-reviewer-2019-09-19/BranchDiffSourceCodeType AWS API Documentation
157
+ #
158
+ class BranchDiffSourceCodeType < Struct.new(
159
+ :source_branch_name,
160
+ :destination_branch_name)
161
+ SENSITIVE = []
162
+ include Aws::Structure
163
+ end
164
+
165
+ # Code artifacts are source code artifacts and build artifacts used in a
166
+ # repository analysis or a pull request review.
167
+ #
168
+ # * Source code artifacts are source code files in a Git repository that
169
+ # are compressed into a .zip file.
170
+ #
171
+ # * Build artifacts are .jar or .class files that are compressed in a
172
+ # .zip file.
173
+ #
174
+ # @note When making an API call, you may pass CodeArtifacts
175
+ # data as a hash:
176
+ #
177
+ # {
178
+ # source_code_artifacts_object_key: "SourceCodeArtifactsObjectKey", # required
179
+ # build_artifacts_object_key: "BuildArtifactsObjectKey",
180
+ # }
181
+ #
182
+ # @!attribute [rw] source_code_artifacts_object_key
183
+ # The S3 object key for a source code .zip file. This is required for
184
+ # all code reviews.
185
+ # @return [String]
186
+ #
187
+ # @!attribute [rw] build_artifacts_object_key
188
+ # The S3 object key for a build artifacts .zip file that contains .jar
189
+ # or .class files. This is required for a code review with security
190
+ # analysis. For more information, see [Create code reviews with
191
+ # security analysis][1] in the *Amazon CodeGuru Reviewer User Guide*.
192
+ #
193
+ #
194
+ #
195
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/code-review-security.html
196
+ # @return [String]
197
+ #
198
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguru-reviewer-2019-09-19/CodeArtifacts AWS API Documentation
199
+ #
200
+ class CodeArtifacts < Struct.new(
201
+ :source_code_artifacts_object_key,
202
+ :build_artifacts_object_key)
203
+ SENSITIVE = []
204
+ include Aws::Structure
205
+ end
206
+
113
207
  # Information about an AWS CodeCommit repository. The CodeCommit
114
208
  # repository must be in the same AWS Region and AWS account where its
115
209
  # CodeGuru Reviewer code reviews are configured.
@@ -161,7 +255,8 @@ module Aws::CodeGuruReviewer
161
255
  # The owner of the repository. For an AWS CodeCommit repository, this
162
256
  # is the AWS account ID of the account that owns the repository. For a
163
257
  # GitHub, GitHub Enterprise Server, or Bitbucket repository, this is
164
- # the username for the account that owns the repository.
258
+ # the username for the account that owns the repository. For an S3
259
+ # repository, it can be the username or AWS account ID.
165
260
  # @return [String]
166
261
  #
167
262
  # @!attribute [rw] provider_type
@@ -223,6 +318,12 @@ module Aws::CodeGuruReviewer
223
318
  # The statistics from the code review.
224
319
  # @return [Types::Metrics]
225
320
  #
321
+ # @!attribute [rw] analysis_types
322
+ # They types of analysis performed during a repository analysis or a
323
+ # pull request review. You can specify either `Security`,
324
+ # `CodeQuality`, or both.
325
+ # @return [Array<String>]
326
+ #
226
327
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguru-reviewer-2019-09-19/CodeReview AWS API Documentation
227
328
  #
228
329
  class CodeReview < Struct.new(
@@ -239,7 +340,8 @@ module Aws::CodeGuruReviewer
239
340
  :pull_request_id,
240
341
  :source_code_type,
241
342
  :association_arn,
242
- :metrics)
343
+ :metrics,
344
+ :analysis_types)
243
345
  SENSITIVE = []
244
346
  include Aws::Structure
245
347
  end
@@ -266,7 +368,8 @@ module Aws::CodeGuruReviewer
266
368
  # The owner of the repository. For an AWS CodeCommit repository, this
267
369
  # is the AWS account ID of the account that owns the repository. For a
268
370
  # GitHub, GitHub Enterprise Server, or Bitbucket repository, this is
269
- # the username for the account that owns the repository.
371
+ # the username for the account that owns the repository. For an S3
372
+ # repository, it can be the username or AWS account ID.
270
373
  # @return [String]
271
374
  #
272
375
  # @!attribute [rw] provider_type
@@ -310,6 +413,10 @@ module Aws::CodeGuruReviewer
310
413
  # The statistics from the code review.
311
414
  # @return [Types::MetricsSummary]
312
415
  #
416
+ # @!attribute [rw] source_code_type
417
+ # Specifies the source code that is analyzed in a code review.
418
+ # @return [Types::SourceCodeType]
419
+ #
313
420
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguru-reviewer-2019-09-19/CodeReviewSummary AWS API Documentation
314
421
  #
315
422
  class CodeReviewSummary < Struct.new(
@@ -323,7 +430,8 @@ module Aws::CodeGuruReviewer
323
430
  :last_updated_time_stamp,
324
431
  :type,
325
432
  :pull_request_id,
326
- :metrics_summary)
433
+ :metrics_summary,
434
+ :source_code_type)
327
435
  SENSITIVE = []
328
436
  include Aws::Structure
329
437
  end
@@ -331,12 +439,10 @@ module Aws::CodeGuruReviewer
331
439
  # The type of a code review. There are two code review types:
332
440
  #
333
441
  # * `PullRequest` - A code review that is automatically triggered by a
334
- # pull request on an assocaited repository. Because this type of code
335
- # review is automatically generated, you cannot specify this code
336
- # review type using [ `CreateCodeReview` ][1].
442
+ # pull request on an associated repository.
337
443
  #
338
444
  # * `RepositoryAnalysis` - A code review that analyzes all code under a
339
- # specified branch in an associated respository. The assocated
445
+ # specified branch in an associated repository. The associated
340
446
  # repository is specified using its ARN in [ `CreateCodeReview` ][1].
341
447
  #
342
448
  #
@@ -348,15 +454,49 @@ module Aws::CodeGuruReviewer
348
454
  #
349
455
  # {
350
456
  # repository_analysis: { # required
351
- # repository_head: { # required
457
+ # repository_head: {
352
458
  # branch_name: "BranchName", # required
353
459
  # },
460
+ # source_code_type: {
461
+ # commit_diff: {
462
+ # source_commit: "CommitId",
463
+ # destination_commit: "CommitId",
464
+ # merge_base_commit: "CommitId",
465
+ # },
466
+ # repository_head: {
467
+ # branch_name: "BranchName", # required
468
+ # },
469
+ # branch_diff: {
470
+ # source_branch_name: "BranchName", # required
471
+ # destination_branch_name: "BranchName", # required
472
+ # },
473
+ # s3_bucket_repository: {
474
+ # name: "Name", # required
475
+ # details: {
476
+ # bucket_name: "S3BucketName",
477
+ # code_artifacts: {
478
+ # source_code_artifacts_object_key: "SourceCodeArtifactsObjectKey", # required
479
+ # build_artifacts_object_key: "BuildArtifactsObjectKey",
480
+ # },
481
+ # },
482
+ # },
483
+ # request_metadata: {
484
+ # request_id: "RequestId",
485
+ # requester: "Requester",
486
+ # event_info: {
487
+ # name: "EventName",
488
+ # state: "EventState",
489
+ # },
490
+ # vendor_name: "GitHub", # accepts GitHub, GitLab, NativeS3
491
+ # },
492
+ # },
354
493
  # },
494
+ # analysis_types: ["Security"], # accepts Security, CodeQuality
355
495
  # }
356
496
  #
357
497
  # @!attribute [rw] repository_analysis
358
498
  # A code review that analyzes all code under a specified branch in an
359
- # associated respository. The assocated repository is specified using
499
+ # associated repository. The associated repository is specified using
360
500
  # its ARN in [ `CreateCodeReview` ][1].
361
501
  #
362
502
  #
@@ -364,34 +504,59 @@ module Aws::CodeGuruReviewer
364
504
  # [1]: https://docs.aws.amazon.com/codeguru/latest/reviewer-api/API_CreateCodeReview
365
505
  # @return [Types::RepositoryAnalysis]
366
506
  #
507
+ # @!attribute [rw] analysis_types
508
+ # They types of analysis performed during a repository analysis or a
509
+ # pull request review. You can specify either `Security`,
510
+ # `CodeQuality`, or both.
511
+ # @return [Array<String>]
512
+ #
367
513
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguru-reviewer-2019-09-19/CodeReviewType AWS API Documentation
368
514
  #
369
515
  class CodeReviewType < Struct.new(
370
- :repository_analysis)
516
+ :repository_analysis,
517
+ :analysis_types)
371
518
  SENSITIVE = []
372
519
  include Aws::Structure
373
520
  end
374
521
 
375
522
  # A type of [ `SourceCodeType` ][1] that specifies the commit diff for a
376
- # pull request on an associated repository.
523
+ # pull request on an associated repository. The `SourceCommit` and
524
+ # `DestinationCommit` fields are required to do a pull request code
525
+ # review.
377
526
  #
378
527
  #
379
528
  #
380
529
  # [1]: https://docs.aws.amazon.com/codeguru/latest/reviewer-api/API_SourceCodeType
381
530
  #
531
+ # @note When making an API call, you may pass CommitDiffSourceCodeType
532
+ # data as a hash:
533
+ #
534
+ # {
535
+ # source_commit: "CommitId",
536
+ # destination_commit: "CommitId",
537
+ # merge_base_commit: "CommitId",
538
+ # }
539
+ #
382
540
  # @!attribute [rw] source_commit
383
- # The SHA of the source commit used to generate a commit diff.
541
+ # The SHA of the source commit used to generate a commit diff. This
542
+ # field is required for a pull request code review.
384
543
  # @return [String]
385
544
  #
386
545
  # @!attribute [rw] destination_commit
387
546
  # The SHA of the destination commit used to generate a commit diff.
547
+ # This field is required for a pull request code review.
548
+ # @return [String]
549
+ #
550
+ # @!attribute [rw] merge_base_commit
551
+ # The SHA of the merge base of a commit.
388
552
  # @return [String]
389
553
  #
390
554
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguru-reviewer-2019-09-19/CommitDiffSourceCodeType AWS API Documentation
391
555
  #
392
556
  class CommitDiffSourceCodeType < Struct.new(
393
557
  :source_commit,
394
- :destination_commit)
558
+ :destination_commit,
559
+ :merge_base_commit)
395
560
  SENSITIVE = []
396
561
  include Aws::Structure
397
562
  end
@@ -419,10 +584,44 @@ module Aws::CodeGuruReviewer
419
584
  # repository_association_arn: "AssociationArn", # required
420
585
  # type: { # required
421
586
  # repository_analysis: { # required
422
- # repository_head: { # required
587
+ # repository_head: {
423
588
  # branch_name: "BranchName", # required
424
589
  # },
590
+ # source_code_type: {
591
+ # commit_diff: {
592
+ # source_commit: "CommitId",
593
+ # destination_commit: "CommitId",
594
+ # merge_base_commit: "CommitId",
595
+ # },
596
+ # repository_head: {
597
+ # branch_name: "BranchName", # required
598
+ # },
599
+ # branch_diff: {
600
+ # source_branch_name: "BranchName", # required
601
+ # destination_branch_name: "BranchName", # required
602
+ # },
603
+ # s3_bucket_repository: {
604
+ # name: "Name", # required
605
+ # details: {
606
+ # bucket_name: "S3BucketName",
607
+ # code_artifacts: {
608
+ # source_code_artifacts_object_key: "SourceCodeArtifactsObjectKey", # required
609
+ # build_artifacts_object_key: "BuildArtifactsObjectKey",
610
+ # },
611
+ # },
612
+ # },
613
+ # request_metadata: {
614
+ # request_id: "RequestId",
615
+ # requester: "Requester",
616
+ # event_info: {
617
+ # name: "EventName",
618
+ # state: "EventState",
619
+ # },
620
+ # vendor_name: "GitHub", # accepts GitHub, GitLab, NativeS3
621
+ # },
622
+ # },
425
623
  # },
624
+ # analysis_types: ["Security"], # accepts Security, CodeQuality
426
625
  # },
427
626
  # client_request_token: "ClientRequestToken",
428
627
  # }
@@ -686,6 +885,36 @@ module Aws::CodeGuruReviewer
686
885
  include Aws::Structure
687
886
  end
688
887
 
888
+ # Information about an event. The event might be a push, pull request,
889
+ # scheduled request, or another type of event.
890
+ #
891
+ # @note When making an API call, you may pass EventInfo
892
+ # data as a hash:
893
+ #
894
+ # {
895
+ # name: "EventName",
896
+ # state: "EventState",
897
+ # }
898
+ #
899
+ # @!attribute [rw] name
900
+ # The name of the event. The possible names are `pull_request`,
901
+ # `workflow_dispatch`, `schedule`, and `push`
902
+ # @return [String]
903
+ #
904
+ # @!attribute [rw] state
905
+ # The state of an event. The state might be open, closed, or another
906
+ # state.
907
+ # @return [String]
908
+ #
909
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguru-reviewer-2019-09-19/EventInfo AWS API Documentation
910
+ #
911
+ class EventInfo < Struct.new(
912
+ :name,
913
+ :state)
914
+ SENSITIVE = []
915
+ include Aws::Structure
916
+ end
917
+
689
918
  # The server encountered an internal error and is unable to complete the
690
919
  # request.
691
920
  #
@@ -700,11 +929,48 @@ module Aws::CodeGuruReviewer
700
929
  include Aws::Structure
701
930
  end
702
931
 
932
+ # An object that contains:
933
+ #
934
+ # * The encryption option for a repository association. It is either
935
+ # owned by AWS Key Management Service (KMS) (`AWS_OWNED_CMK`) or
936
+ # customer managed (`CUSTOMER_MANAGED_CMK`).
937
+ #
938
+ # * The ID of the AWS KMS key that is associated with a respository
939
+ # association.
940
+ #
941
+ # @note When making an API call, you may pass KMSKeyDetails
942
+ # data as a hash:
943
+ #
944
+ # {
945
+ # kms_key_id: "KMSKeyId",
946
+ # encryption_option: "AWS_OWNED_CMK", # accepts AWS_OWNED_CMK, CUSTOMER_MANAGED_CMK
947
+ # }
948
+ #
949
+ # @!attribute [rw] kms_key_id
950
+ # The ID of the AWS KMS key that is associated with a respository
951
+ # association.
952
+ # @return [String]
953
+ #
954
+ # @!attribute [rw] encryption_option
955
+ # The encryption option for a repository association. It is either
956
+ # owned by AWS Key Management Service (KMS) (`AWS_OWNED_CMK`) or
957
+ # customer managed (`CUSTOMER_MANAGED_CMK`).
958
+ # @return [String]
959
+ #
960
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguru-reviewer-2019-09-19/KMSKeyDetails AWS API Documentation
961
+ #
962
+ class KMSKeyDetails < Struct.new(
963
+ :kms_key_id,
964
+ :encryption_option)
965
+ SENSITIVE = []
966
+ include Aws::Structure
967
+ end
968
+
703
969
  # @note When making an API call, you may pass ListCodeReviewsRequest
704
970
  # data as a hash:
705
971
  #
706
972
  # {
707
- # provider_types: ["CodeCommit"], # accepts CodeCommit, GitHub, Bitbucket, GitHubEnterpriseServer
973
+ # provider_types: ["CodeCommit"], # accepts CodeCommit, GitHub, Bitbucket, GitHubEnterpriseServer, S3Bucket
708
974
  # states: ["Completed"], # accepts Completed, Pending, Failed, Deleting
709
975
  # repository_names: ["Name"],
710
976
  # type: "PullRequest", # required, accepts PullRequest, RepositoryAnalysis
@@ -927,7 +1193,7 @@ module Aws::CodeGuruReviewer
927
1193
  # data as a hash:
928
1194
  #
929
1195
  # {
930
- # provider_types: ["CodeCommit"], # accepts CodeCommit, GitHub, Bitbucket, GitHubEnterpriseServer
1196
+ # provider_types: ["CodeCommit"], # accepts CodeCommit, GitHub, Bitbucket, GitHubEnterpriseServer, S3Bucket
931
1197
  # states: ["Associated"], # accepts Associated, Associating, Failed, Disassociating, Disassociated
932
1198
  # names: ["Name"],
933
1199
  # owners: ["Owner"],
@@ -1330,6 +1596,10 @@ module Aws::CodeGuruReviewer
1330
1596
  # for the lines of code between the start line and the end line.
1331
1597
  # @return [String]
1332
1598
  #
1599
+ # @!attribute [rw] recommendation_category
1600
+ # The type of a recommendation.
1601
+ # @return [String]
1602
+ #
1333
1603
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguru-reviewer-2019-09-19/RecommendationSummary AWS API Documentation
1334
1604
  #
1335
1605
  class RecommendationSummary < Struct.new(
@@ -1337,7 +1607,8 @@ module Aws::CodeGuruReviewer
1337
1607
  :recommendation_id,
1338
1608
  :start_line,
1339
1609
  :end_line,
1340
- :description)
1610
+ :description,
1611
+ :recommendation_category)
1341
1612
  SENSITIVE = []
1342
1613
  include Aws::Structure
1343
1614
  end
@@ -1364,6 +1635,10 @@ module Aws::CodeGuruReviewer
1364
1635
  # connection_arn: "ConnectionArn", # required
1365
1636
  # owner: "Owner", # required
1366
1637
  # },
1638
+ # s3_bucket: {
1639
+ # name: "Name", # required
1640
+ # bucket_name: "S3BucketName", # required
1641
+ # },
1367
1642
  # }
1368
1643
  #
1369
1644
  # @!attribute [rw] code_commit
@@ -1378,18 +1653,23 @@ module Aws::CodeGuruReviewer
1378
1653
  # Information about a GitHub Enterprise Server repository.
1379
1654
  # @return [Types::ThirdPartySourceRepository]
1380
1655
  #
1656
+ # @!attribute [rw] s3_bucket
1657
+ # Information about a repository in an S3 bucket.
1658
+ # @return [Types::S3Repository]
1659
+ #
1381
1660
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguru-reviewer-2019-09-19/Repository AWS API Documentation
1382
1661
  #
1383
1662
  class Repository < Struct.new(
1384
1663
  :code_commit,
1385
1664
  :bitbucket,
1386
- :git_hub_enterprise_server)
1665
+ :git_hub_enterprise_server,
1666
+ :s3_bucket)
1387
1667
  SENSITIVE = []
1388
1668
  include Aws::Structure
1389
1669
  end
1390
1670
 
1391
1671
  # A code review type that analyzes all code under a specified branch in
1392
- # an associated respository. The assocated repository is specified using
1672
+ # an associated repository. The associated repository is specified using
1393
1673
  # its ARN when you call [ `CreateCodeReview` ][1].
1394
1674
  #
1395
1675
  #
@@ -1400,9 +1680,42 @@ module Aws::CodeGuruReviewer
1400
1680
  # data as a hash:
1401
1681
  #
1402
1682
  # {
1403
- # repository_head: { # required
1683
+ # repository_head: {
1404
1684
  # branch_name: "BranchName", # required
1405
1685
  # },
1686
+ # source_code_type: {
1687
+ # commit_diff: {
1688
+ # source_commit: "CommitId",
1689
+ # destination_commit: "CommitId",
1690
+ # merge_base_commit: "CommitId",
1691
+ # },
1692
+ # repository_head: {
1693
+ # branch_name: "BranchName", # required
1694
+ # },
1695
+ # branch_diff: {
1696
+ # source_branch_name: "BranchName", # required
1697
+ # destination_branch_name: "BranchName", # required
1698
+ # },
1699
+ # s3_bucket_repository: {
1700
+ # name: "Name", # required
1701
+ # details: {
1702
+ # bucket_name: "S3BucketName",
1703
+ # code_artifacts: {
1704
+ # source_code_artifacts_object_key: "SourceCodeArtifactsObjectKey", # required
1705
+ # build_artifacts_object_key: "BuildArtifactsObjectKey",
1706
+ # },
1707
+ # },
1708
+ # },
1709
+ # request_metadata: {
1710
+ # request_id: "RequestId",
1711
+ # requester: "Requester",
1712
+ # event_info: {
1713
+ # name: "EventName",
1714
+ # state: "EventState",
1715
+ # },
1716
+ # vendor_name: "GitHub", # accepts GitHub, GitLab, NativeS3
1717
+ # },
1718
+ # },
1406
1719
  # }
1407
1720
  #
1408
1721
  # @!attribute [rw] repository_head
@@ -1414,10 +1727,15 @@ module Aws::CodeGuruReviewer
1414
1727
  # [1]: https://docs.aws.amazon.com/codeguru/latest/reviewer-api/API_SourceCodeType
1415
1728
  # @return [Types::RepositoryHeadSourceCodeType]
1416
1729
  #
1730
+ # @!attribute [rw] source_code_type
1731
+ # Specifies the source code that is analyzed in a code review.
1732
+ # @return [Types::SourceCodeType]
1733
+ #
1417
1734
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguru-reviewer-2019-09-19/RepositoryAnalysis AWS API Documentation
1418
1735
  #
1419
1736
  class RepositoryAnalysis < Struct.new(
1420
- :repository_head)
1737
+ :repository_head,
1738
+ :source_code_type)
1421
1739
  SENSITIVE = []
1422
1740
  include Aws::Structure
1423
1741
  end
@@ -1459,7 +1777,8 @@ module Aws::CodeGuruReviewer
1459
1777
  # The owner of the repository. For an AWS CodeCommit repository, this
1460
1778
  # is the AWS account ID of the account that owns the repository. For a
1461
1779
  # GitHub, GitHub Enterprise Server, or Bitbucket repository, this is
1462
- # the username for the account that owns the repository.
1780
+ # the username for the account that owns the repository. For an S3
1781
+ # repository, it can be the username or AWS account ID.
1463
1782
  # @return [String]
1464
1783
  #
1465
1784
  # @!attribute [rw] provider_type
@@ -1522,6 +1841,23 @@ module Aws::CodeGuruReviewer
1522
1841
  # association was created.
1523
1842
  # @return [Time]
1524
1843
  #
1844
+ # @!attribute [rw] kms_key_details
1845
+ # A `KMSKeyDetails` object that contains:
1846
+ #
1847
+ # * The encryption option for this repository association. It is
1848
+ # either owned by AWS Key Management Service (KMS) (`AWS_OWNED_CMK`)
1849
+ # or customer managed (`CUSTOMER_MANAGED_CMK`).
1850
+ #
1851
+ # * The ID of the AWS KMS key that is associated with this respository
1852
+ # association.
1853
+ # @return [Types::KMSKeyDetails]
1854
+ #
1855
+ # @!attribute [rw] s3_repository_details
1856
+ # Specifies the name of an S3 bucket and a `CodeArtifacts` object that
1857
+ # contains the S3 object keys for a source code .zip file and for a
1858
+ # build artifacts .zip file that contains .jar or .class files.
1859
+ # @return [Types::S3RepositoryDetails]
1860
+ #
1525
1861
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguru-reviewer-2019-09-19/RepositoryAssociation AWS API Documentation
1526
1862
  #
1527
1863
  class RepositoryAssociation < Struct.new(
@@ -1534,7 +1870,9 @@ module Aws::CodeGuruReviewer
1534
1870
  :state,
1535
1871
  :state_reason,
1536
1872
  :last_updated_time_stamp,
1537
- :created_time_stamp)
1873
+ :created_time_stamp,
1874
+ :kms_key_details,
1875
+ :s3_repository_details)
1538
1876
  SENSITIVE = []
1539
1877
  include Aws::Structure
1540
1878
  end
@@ -1587,7 +1925,8 @@ module Aws::CodeGuruReviewer
1587
1925
  # The owner of the repository. For an AWS CodeCommit repository, this
1588
1926
  # is the AWS account ID of the account that owns the repository. For a
1589
1927
  # GitHub, GitHub Enterprise Server, or Bitbucket repository, this is
1590
- # the username for the account that owns the repository.
1928
+ # the username for the account that owns the repository. For an S3
1929
+ # repository, it can be the username or AWS account ID.
1591
1930
  # @return [String]
1592
1931
  #
1593
1932
  # @!attribute [rw] provider_type
@@ -1677,6 +2016,62 @@ module Aws::CodeGuruReviewer
1677
2016
  include Aws::Structure
1678
2017
  end
1679
2018
 
2019
+ # Metadata that is associated with a code review. This applies to both
2020
+ # pull request and repository analysis code reviews.
2021
+ #
2022
+ # @note When making an API call, you may pass RequestMetadata
2023
+ # data as a hash:
2024
+ #
2025
+ # {
2026
+ # request_id: "RequestId",
2027
+ # requester: "Requester",
2028
+ # event_info: {
2029
+ # name: "EventName",
2030
+ # state: "EventState",
2031
+ # },
2032
+ # vendor_name: "GitHub", # accepts GitHub, GitLab, NativeS3
2033
+ # }
2034
+ #
2035
+ # @!attribute [rw] request_id
2036
+ # The ID of the request. This is required for a pull request code
2037
+ # review.
2038
+ # @return [String]
2039
+ #
2040
+ # @!attribute [rw] requester
2041
+ # An identifier, such as a name or account ID, that is associated with
2042
+ # the requester. The `Requester` is used to capture the `author/actor`
2043
+ # name of the event request.
2044
+ # @return [String]
2045
+ #
2046
+ # @!attribute [rw] event_info
2047
+ # Information about the event associated with a code review.
2048
+ # @return [Types::EventInfo]
2049
+ #
2050
+ # @!attribute [rw] vendor_name
2051
+ # The name of the repository vendor used to upload code to an S3
2052
+ # bucket for a CI/CD code review. For example, if code and artifacts
2053
+ # are uploaded to an S3 bucket for a CI/CD code review by GitHub
2054
+ # scripts from a GitHub repository, then the repository association's
2055
+ # `ProviderType` is `S3Bucket` and the CI/CD repository vendor name is
2056
+ # GitHub. For more information, see the definition for `ProviderType`
2057
+ # in [RepositoryAssociation][1].
2058
+ #
2059
+ #
2060
+ #
2061
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/reviewer-api/API_RepositoryAssociation.html
2062
+ # @return [String]
2063
+ #
2064
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguru-reviewer-2019-09-19/RequestMetadata AWS API Documentation
2065
+ #
2066
+ class RequestMetadata < Struct.new(
2067
+ :request_id,
2068
+ :requester,
2069
+ :event_info,
2070
+ :vendor_name)
2071
+ SENSITIVE = []
2072
+ include Aws::Structure
2073
+ end
2074
+
1680
2075
  # The resource specified in the request was not found.
1681
2076
  #
1682
2077
  # @!attribute [rw] message
@@ -1690,9 +2085,145 @@ module Aws::CodeGuruReviewer
1690
2085
  include Aws::Structure
1691
2086
  end
1692
2087
 
1693
- # Specifies the source code that is analyzed in a code review. A code
1694
- # review can analyze the source code that is specified using a pull
1695
- # request diff or a branch in an associated repository.
2088
+ # Information about an associated repository in an S3 bucket. The
2089
+ # associated repository contains a source code .zip file and a build
2090
+ # artifacts .zip file that contains .jar or .class files.
2091
+ #
2092
+ # @note When making an API call, you may pass S3BucketRepository
2093
+ # data as a hash:
2094
+ #
2095
+ # {
2096
+ # name: "Name", # required
2097
+ # details: {
2098
+ # bucket_name: "S3BucketName",
2099
+ # code_artifacts: {
2100
+ # source_code_artifacts_object_key: "SourceCodeArtifactsObjectKey", # required
2101
+ # build_artifacts_object_key: "BuildArtifactsObjectKey",
2102
+ # },
2103
+ # },
2104
+ # }
2105
+ #
2106
+ # @!attribute [rw] name
2107
+ # The name of the repository when the `ProviderType` is `S3Bucket`.
2108
+ # @return [String]
2109
+ #
2110
+ # @!attribute [rw] details
2111
+ # An `S3RepositoryDetails` object that specifies the name of an S3
2112
+ # bucket and a `CodeArtifacts` object. The `CodeArtifacts` object
2113
+ # includes the S3 object keys for a source code .zip file and for a
2114
+ # build artifacts .zip file.
2115
+ # @return [Types::S3RepositoryDetails]
2116
+ #
2117
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguru-reviewer-2019-09-19/S3BucketRepository AWS API Documentation
2118
+ #
2119
+ class S3BucketRepository < Struct.new(
2120
+ :name,
2121
+ :details)
2122
+ SENSITIVE = []
2123
+ include Aws::Structure
2124
+ end
2125
+
2126
+ # Information about a repository in an S3 bucket.
2127
+ #
2128
+ # @note When making an API call, you may pass S3Repository
2129
+ # data as a hash:
2130
+ #
2131
+ # {
2132
+ # name: "Name", # required
2133
+ # bucket_name: "S3BucketName", # required
2134
+ # }
2135
+ #
2136
+ # @!attribute [rw] name
2137
+ # The name of the repository in the S3 bucket.
2138
+ # @return [String]
2139
+ #
2140
+ # @!attribute [rw] bucket_name
2141
+ # The name of the S3 bucket used for associating a new S3 repository.
2142
+ # It must begin with `codeguru-reviewer-`.
2143
+ # @return [String]
2144
+ #
2145
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguru-reviewer-2019-09-19/S3Repository AWS API Documentation
2146
+ #
2147
+ class S3Repository < Struct.new(
2148
+ :name,
2149
+ :bucket_name)
2150
+ SENSITIVE = []
2151
+ include Aws::Structure
2152
+ end
2153
+
2154
+ # Specifies the name of an S3 bucket and a `CodeArtifacts` object that
2155
+ # contains the S3 object keys for a source code .zip file and for a
2156
+ # build artifacts .zip file that contains .jar or .class files.
2157
+ #
2158
+ # @note When making an API call, you may pass S3RepositoryDetails
2159
+ # data as a hash:
2160
+ #
2161
+ # {
2162
+ # bucket_name: "S3BucketName",
2163
+ # code_artifacts: {
2164
+ # source_code_artifacts_object_key: "SourceCodeArtifactsObjectKey", # required
2165
+ # build_artifacts_object_key: "BuildArtifactsObjectKey",
2166
+ # },
2167
+ # }
2168
+ #
2169
+ # @!attribute [rw] bucket_name
2170
+ # The name of the S3 bucket used for associating a new S3 repository.
2171
+ # It must begin with `codeguru-reviewer-`.
2172
+ # @return [String]
2173
+ #
2174
+ # @!attribute [rw] code_artifacts
2175
+ # A `CodeArtifacts` object. The `CodeArtifacts` object includes the S3
2176
+ # object key for a source code .zip file and for a build artifacts
2177
+ # .zip file that contains .jar or .class files.
2178
+ # @return [Types::CodeArtifacts]
2179
+ #
2180
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguru-reviewer-2019-09-19/S3RepositoryDetails AWS API Documentation
2181
+ #
2182
+ class S3RepositoryDetails < Struct.new(
2183
+ :bucket_name,
2184
+ :code_artifacts)
2185
+ SENSITIVE = []
2186
+ include Aws::Structure
2187
+ end
2188
+
2189
+ # Specifies the source code that is analyzed in a code review.
2190
+ #
2191
+ # @note When making an API call, you may pass SourceCodeType
2192
+ # data as a hash:
2193
+ #
2194
+ # {
2195
+ # commit_diff: {
2196
+ # source_commit: "CommitId",
2197
+ # destination_commit: "CommitId",
2198
+ # merge_base_commit: "CommitId",
2199
+ # },
2200
+ # repository_head: {
2201
+ # branch_name: "BranchName", # required
2202
+ # },
2203
+ # branch_diff: {
2204
+ # source_branch_name: "BranchName", # required
2205
+ # destination_branch_name: "BranchName", # required
2206
+ # },
2207
+ # s3_bucket_repository: {
2208
+ # name: "Name", # required
2209
+ # details: {
2210
+ # bucket_name: "S3BucketName",
2211
+ # code_artifacts: {
2212
+ # source_code_artifacts_object_key: "SourceCodeArtifactsObjectKey", # required
2213
+ # build_artifacts_object_key: "BuildArtifactsObjectKey",
2214
+ # },
2215
+ # },
2216
+ # },
2217
+ # request_metadata: {
2218
+ # request_id: "RequestId",
2219
+ # requester: "Requester",
2220
+ # event_info: {
2221
+ # name: "EventName",
2222
+ # state: "EventState",
2223
+ # },
2224
+ # vendor_name: "GitHub", # accepts GitHub, GitLab, NativeS3
2225
+ # },
2226
+ # }
1696
2227
  #
1697
2228
  # @!attribute [rw] commit_diff
1698
2229
  # A [ `SourceCodeType` ][1] that specifies a commit diff created by a
@@ -1712,11 +2243,44 @@ module Aws::CodeGuruReviewer
1712
2243
  # [1]: https://docs.aws.amazon.com/codeguru/latest/reviewer-api/API_SourceCodeType
1713
2244
  # @return [Types::RepositoryHeadSourceCodeType]
1714
2245
  #
2246
+ # @!attribute [rw] branch_diff
2247
+ # A type of [ `SourceCodeType` ][1] that specifies a source branch
2248
+ # name and a destination branch name in an associated repository.
2249
+ #
2250
+ #
2251
+ #
2252
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/reviewer-api/API_SourceCodeType
2253
+ # @return [Types::BranchDiffSourceCodeType]
2254
+ #
2255
+ # @!attribute [rw] s3_bucket_repository
2256
+ # Information about an associated repository in an S3 bucket that
2257
+ # includes its name and an `S3RepositoryDetails` object. The
2258
+ # `S3RepositoryDetails` object includes the name of an S3 bucket, an
2259
+ # S3 key for a source code .zip file, and an S3 key for a build
2260
+ # artifacts .zip file. `S3BucketRepository` is required in [
2261
+ # `SourceCodeType` ][1] for `S3BucketRepository` based code reviews.
2262
+ #
2263
+ #
2264
+ #
2265
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/reviewer-api/API_SourceCodeType
2266
+ # @return [Types::S3BucketRepository]
2267
+ #
2268
+ # @!attribute [rw] request_metadata
2269
+ # Metadata that is associated with a code review. This applies to any
2270
+ # type of code review supported by CodeGuru Reviewer. The
2271
+ # `RequestMetadaa` field captures any event metadata. For example, it
2272
+ # might capture metadata associated with an event trigger, such as a
2273
+ # push or a pull request.
2274
+ # @return [Types::RequestMetadata]
2275
+ #
1715
2276
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguru-reviewer-2019-09-19/SourceCodeType AWS API Documentation
1716
2277
  #
1717
2278
  class SourceCodeType < Struct.new(
1718
2279
  :commit_diff,
1719
- :repository_head)
2280
+ :repository_head,
2281
+ :branch_diff,
2282
+ :s3_bucket_repository,
2283
+ :request_metadata)
1720
2284
  SENSITIVE = []
1721
2285
  include Aws::Structure
1722
2286
  end
@@ -1799,7 +2363,8 @@ module Aws::CodeGuruReviewer
1799
2363
  # @!attribute [rw] owner
1800
2364
  # The owner of the repository. For a GitHub, GitHub Enterprise, or
1801
2365
  # Bitbucket repository, this is the username for the account that owns
1802
- # the repository.
2366
+ # the repository. For an S3 repository, this can be the username or
2367
+ # AWS account ID.
1803
2368
  # @return [String]
1804
2369
  #
1805
2370
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguru-reviewer-2019-09-19/ThirdPartySourceRepository AWS API Documentation