Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: support default checksums #1475

Open
wants to merge 74 commits into
base: main
Choose a base branch
from
Open

feat: support default checksums #1475

wants to merge 74 commits into from

Conversation

0marperez
Copy link
Contributor

Issue #

Description of changes

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

/**
* For any operations that require a checksum, set CRC32 if the user has not already configured a checksum.
*/
private val useCrc32Checksum = object : ProtocolMiddleware {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question/correctness: S3 Express' spec says CRC32 is required. If we change our SDK's default algorithm to CRC64NVME in the future, how will we ensure CRC32 is still used for S3 Express? That's what this integration was responsible for.

Does S3 Express support CRC64NVME?

internal fun HeadersBuilder.removeCompositeChecksums(logger: Logger): Unit =
names().forEach { header ->
if (header.startsWith(CHECKSUM_HEADER_PREFIX, ignoreCase = true) && get(header)!!.isCompositeChecksum()) {
logger.warn { "S3 returned a composite checksum, composite checksums are not supported, removing checksum" }
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

info: Log the composite checksum header name

Comment on lines 18 to 19
* Removes composite checksums returned by S3 so that flexible checksums won't validate them.
* Composite checksums are used for multipart uploads and end with "-#" where "#" is a number.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

correctness/breaking change: I don't think we should be removing these headers, what if users need them for other purposes?

Isn't it easier to just ignore composite checksums in the flexible checksums implementation?

/**
* Disable checksums entirely for s3:UploadPart requests.
* Disables checksums for s3:UploadPart requests that use S3 express.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: S3 Express

Comment on lines 7 to 12
@{protocol-name}
@restJson1
@sigv4(name: "event-stream-test")
@service(sdkId: "EventStreamTest")
service TestService { version: "123", operations: [TestStreamOp] }

{op-traits}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added the templates back

I still don't see them

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this need to exist? buildSrc is treated as an included build which means every subproject will have these config options applied.

It seems odd to need this just for codegen tests

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's the best way I could find to share a data class between subprojects, do you know of alternatives that would work better? I might've missed them

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can make a new project that both of those subprojects depend on

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is still a work in progress, I don't want to block the review because of this. I think worst case scenario we can come back and refactor this without it being a breaking change

@@ -265,6 +277,45 @@ class PresignerGenerator : KotlinIntegration {
)
}

checksumAlgorithmMember(op, ctx)?.let { checksumAlgorithmMember ->
withBlock("input.#L?.value?.let { checksumAlgorithmString ->", "}", checksumAlgorithmMember) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit/naming/style: avoid Hungarian notation, checksumAlgorithmName

"#T.#T<Presigner> { #S }",
coroutineContext,
warn,
"The requested checksum algorithm is not supported for pre-signed URL checksums, sending request without checksum.",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should include which checksum algorithm the user chose and which are supported

@@ -287,4 +338,24 @@ class PresignerGenerator : KotlinIntegration {
* > "my-object/example/photo.user". This is an incorrect path for that object.
*/
private fun normalizeUriPath(service: ServiceShape) = service.sdkId != "S3"

/**
* Gets the checksum algorithm member if a user can configure request checksums otherwise null
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if a user can configure request checksums

style/docs: This seems awkward to me

"Gets the checksum algorithm member if configured on a request, otherwise null"

resolved + flexibleChecksumsRequestMiddleware
resolved + flexibleChecksumsRequestMiddleware + configBusinessMetrics

private val configBusinessMetrics = object : ProtocolMiddleware {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: middleware name and value's name should match

Copy link

A new generated diff is ready to view.

Copy link

A new generated diff is ready to view.

import aws.smithy.kotlin.runtime.http.interceptors.FlexibleChecksumsResponseInterceptor

/**
* S3 variant of the flexible checksum interceptor where composite checksums are not validated
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit/docs: ... of the [FlexibleChecksumsResponseInterceptor]...

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

correctness: This file should go in services/s3/common/src/aws/sdk/kotlin/services/s3/internal with all the other S3-specific interceptors

/**
* Determines if an operation is set up to send flexible request checksums
*/
private fun requestChecksumsConfigured(ctx: ProtocolGenerator.GenerationContext, op: OperationShape): Boolean {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

naming: "configured" implies that this is dependent on user behavior, but it's just based on the model. I suggest making this an extension function OperationShape.hasRequestAlgorithmMember(...)

Comment on lines 96 to 100
val interceptor = if (ctx.model.expectShape<ServiceShape>(ctx.settings.service).isS3) {
AwsRuntimeTypes.Http.Interceptors.S3FlexibleChecksumResponseInterceptor
} else {
RuntimeTypes.HttpClient.Interceptors.FlexibleChecksumsResponseInterceptor
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

docs: let's add a comment here about why S3 needs a custom interceptor

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now that I look at this again, we could replace S3FlexibleChecksumResponseInterceptor with something more generic that could be applied to other services. In case other services start sending composite checksums in the future. What does the team think?

Comment on lines 36 to 37
private fun usingS3Express(executionContext: ExecutionContext): Boolean =
executionContext.getOrNull(AttributeKey(S3_EXPRESS_ENDPOINT_PROPERTY_KEY)) != S3_EXPRESS_ENDPOINT_PROPERTY_VALUE
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

style: Could be an extension function off ExecutionContext

Comment on lines +21 to +23
internal class S3ExpressDefaultChecksumAlgorithm(
private val isS3UploadPart: Boolean,
) : HttpInterceptor {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

style: This works but I think the previous implementation using two different interceptors was cleaner. It's not clear to me why this had to deviate so much from what we already had

Comment on lines +43 to +48
- name: Save Test Reports
if: failure()
uses: actions/upload-artifact@v3
with:
name: test-reports
path: '**/build/reports'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What are these test reports used for?

Copy link

A new generated diff is ready to view.

Copy link

A new generated diff is ready to view.

This comment has been minimized.

Copy link

A new generated diff is ready to view.

Copy link

Affected Artifacts

Changed in size
Artifact Pull Request (bytes) Latest Release (bytes) Delta (bytes) Delta (percentage)
aws-http-jvm.jar 72,904 70,968 1,936 2.73%
aws-config-jvm.jar 989,175 983,344 5,831 0.59%
marketplacereporting-jvm.jar closure 7,991,858 7,973,579 18,279 0.23%
kinesisvideowebrtcstorage-jvm.jar closure 8,005,420 7,987,142 18,278 0.23%
marketplaceentitlementservice-jvm.jar closure 8,015,266 7,996,989 18,277 0.23%
apigatewaymanagementapi-jvm.jar closure 8,017,544 7,999,267 18,277 0.23%
inspectorscan-jvm.jar closure 8,020,570 8,002,292 18,278 0.23%
workmailmessageflow-jvm.jar closure 8,024,627 8,006,348 18,279 0.23%
kinesisvideomedia-jvm.jar closure 8,028,702 8,010,423 18,279 0.23%
marketplacecommerceanalytics-jvm.jar closure 8,032,570 8,014,291 18,279 0.23%
cloudtraildata-jvm.jar closure 8,035,517 8,017,239 18,278 0.23%
forecastquery-jvm.jar closure 8,039,791 8,021,512 18,279 0.23%
kinesisvideosignaling-jvm.jar closure 8,044,710 8,026,430 18,280 0.23%
appconfigdata-jvm.jar closure 8,045,321 8,027,043 18,278 0.23%
freetier-jvm.jar closure 8,048,526 8,030,245 18,281 0.23%
sagemakermetrics-jvm.jar closure 8,054,067 8,035,788 18,279 0.23%
eksauth-jvm.jar closure 8,066,767 8,048,489 18,278 0.23%
personalizeruntime-jvm.jar closure 8,070,748 8,052,471 18,277 0.23%
sso-jvm.jar closure 8,081,028 8,062,750 18,278 0.23%
ec2instanceconnect-jvm.jar closure 8,087,687 8,069,406 18,281 0.23%
marketplacedeployment-jvm.jar closure 8,092,811 8,074,533 18,278 0.23%
connectcontactlens-jvm.jar closure 8,095,816 8,077,539 18,277 0.23%
mediastoredata-jvm.jar closure 8,098,093 8,079,814 18,279 0.23%
migrationhubconfig-jvm.jar closure 8,100,363 8,082,084 18,279 0.23%
sagemakeredge-jvm.jar closure 8,101,982 8,083,703 18,279 0.23%
cloudsearchdomain-jvm.jar closure 8,112,035 8,093,757 18,278 0.23%
geomaps-jvm.jar closure 8,114,256 8,095,977 18,279 0.23%
personalizeevents-jvm.jar closure 8,117,604 8,099,327 18,277 0.23%
bedrockdataautomationruntime-jvm.jar closure 8,129,637 8,111,357 18,280 0.23%
sagemakerfeaturestoreruntime-jvm.jar closure 8,149,610 8,131,329 18,281 0.22%
sagemakera2iruntime-jvm.jar closure 8,151,718 8,133,440 18,278 0.22%
route53recoverycluster-jvm.jar closure 8,153,688 8,135,410 18,278 0.22%
elasticinference-jvm.jar closure 8,159,778 8,141,499 18,279 0.22%
qldbsession-jvm.jar closure 8,164,735 8,146,457 18,278 0.22%
ssooidc-jvm.jar closure 8,166,350 8,148,071 18,279 0.22%
s3outposts-jvm.jar closure 8,169,343 8,151,064 18,279 0.22%
cloudfrontkeyvaluestore-jvm.jar closure 8,170,813 8,152,535 18,278 0.22%
iotfleethub-jvm.jar closure 8,174,075 8,155,796 18,279 0.22%
observabilityadmin-jvm.jar closure 8,174,522 8,156,243 18,279 0.22%
applicationcostprofiler-jvm.jar closure 8,174,679 8,156,401 18,278 0.22%
sagemakerruntime-jvm.jar closure 8,179,913 8,161,634 18,279 0.22%
iotdataplane-jvm.jar closure 8,186,161 8,167,882 18,279 0.22%
pricing-jvm.jar closure 8,189,449 8,171,170 18,279 0.22%
dynamodbstreams-jvm.jar closure 8,196,779 8,178,498 18,281 0.22%
iotjobsdataplane-jvm.jar closure 8,204,703 8,186,430 18,273 0.22%
iotsecuretunneling-jvm.jar closure 8,208,132 8,189,854 18,278 0.22%
notificationscontacts-jvm.jar closure 8,214,618 8,196,339 18,279 0.22%
supportapp-jvm.jar closure 8,222,443 8,204,161 18,282 0.22%
marketplacemetering-jvm.jar closure 8,239,105 8,220,823 18,282 0.22%
ebs-jvm.jar closure 8,244,208 8,225,929 18,279 0.22%
pinpointsmsvoice-jvm.jar closure 8,248,048 8,229,770 18,278 0.22%
controlcatalog-jvm.jar closure 8,253,225 8,234,944 18,281 0.22%
costandusagereportservice-jvm.jar closure 8,256,598 8,238,319 18,279 0.22%
artifact-jvm.jar closure 8,258,144 8,239,866 18,278 0.22%
kendraranking-jvm.jar closure 8,266,240 8,247,962 18,278 0.22%
dsql-jvm.jar closure 8,276,479 8,258,200 18,279 0.22%
sts-jvm.jar closure 8,284,065 8,265,787 18,278 0.22%
invoicing-jvm.jar closure 8,287,804 8,269,528 18,276 0.22%
resourcegroupstaggingapi-jvm.jar closure 8,289,821 8,271,543 18,278 0.22%
rdsdata-jvm.jar closure 8,294,505 8,276,226 18,279 0.22%
account-jvm.jar closure 8,305,061 8,286,783 18,278 0.22%
iot1clickdevicesservice-jvm.jar closure 8,305,124 8,286,846 18,278 0.22%
lexruntimeservice-jvm.jar closure 8,326,924 8,308,644 18,280 0.22%
rbin-jvm.jar closure 8,338,399 8,320,120 18,279 0.22%
repostspace-jvm.jar closure 8,343,637 8,325,359 18,278 0.22%
licensemanagerlinuxsubscriptions-jvm.jar closure 8,343,658 8,325,380 18,278 0.22%
networkmonitor-jvm.jar closure 8,353,814 8,335,534 18,280 0.22%
pcaconnectorscep-jvm.jar closure 8,374,938 8,356,659 18,279 0.22%
kinesisvideoarchivedmedia-jvm.jar closure 8,376,424 8,358,145 18,279 0.22%
iot1clickprojects-jvm.jar closure 8,377,438 8,359,158 18,280 0.22%
connectparticipant-jvm.jar closure 8,391,027 8,372,748 18,279 0.22%
marketplaceagreement-jvm.jar closure 8,391,519 8,373,240 18,279 0.22%
cloud9-jvm.jar closure 8,398,315 8,380,036 18,279 0.22%
launchwizard-jvm.jar closure 8,403,078 8,384,799 18,279 0.22%
autoscalingplans-jvm.jar closure 8,410,406 8,392,127 18,279 0.22%
cloudcontrol-jvm.jar closure 8,409,695 8,391,418 18,277 0.22%
ssmquicksetup-jvm.jar closure 8,412,074 8,393,796 18,278 0.22%
oam-jvm.jar closure 8,417,025 8,398,747 18,278 0.22%
iotdeviceadvisor-jvm.jar closure 8,428,198 8,409,920 18,278 0.22%
cloudhsm-jvm.jar closure 8,430,764 8,412,487 18,277 0.22%
codestarnotifications-jvm.jar closure 8,434,071 8,415,790 18,281 0.22%
redshiftdata-jvm.jar closure 8,446,799 8,428,521 18,278 0.22%
route53profiles-jvm.jar closure 8,449,613 8,431,335 18,278 0.22%
socialmessaging-jvm.jar closure 8,453,950 8,435,672 18,278 0.22%
savingsplans-jvm.jar closure 8,462,934 8,444,655 18,279 0.22%
serverlessapplicationrepository-jvm.jar closure 8,463,314 8,445,039 18,275 0.22%
mwaa-jvm.jar closure 8,465,943 8,447,664 18,279 0.22%
arczonalshift-jvm.jar closure 8,471,332 8,453,053 18,279 0.22%
timestreaminfluxdb-jvm.jar closure 8,472,247 8,453,970 18,277 0.22%
mediastore-jvm.jar closure 8,478,235 8,459,957 18,278 0.22%
healthlake-jvm.jar closure 8,488,813 8,470,533 18,280 0.22%
bcmdataexports-jvm.jar closure 8,488,618 8,470,339 18,279 0.22%
simspaceweaver-jvm.jar closure 8,498,972 8,480,692 18,280 0.22%
cognitosync-jvm.jar closure 8,501,561 8,483,283 18,278 0.22%
snowdevicemanagement-jvm.jar closure 8,508,007 8,489,728 18,279 0.22%
codegurusecurity-jvm.jar closure 8,521,096 8,502,818 18,278 0.21%
osis-jvm.jar closure 8,522,918 8,504,638 18,280 0.21%
pi-jvm.jar closure 8,523,571 8,505,291 18,280 0.21%
trustedadvisor-jvm.jar closure 8,531,111 8,512,833 18,278 0.21%
cloudhsmv2-jvm.jar closure 8,537,224 8,518,943 18,281 0.21%
ivschat-jvm.jar closure 8,538,477 8,520,199 18,278 0.21%
scheduler-jvm.jar closure 8,541,727 8,523,449 18,278 0.21%
polly-jvm.jar closure 8,555,035 8,536,756 18,279 0.21%
workspacesthinclient-jvm.jar closure 8,558,309 8,540,031 18,278 0.21%
opsworkscm-jvm.jar closure 8,559,794 8,541,514 18,280 0.21%
backupsearch-jvm.jar closure 8,561,279 8,543,000 18,279 0.21%
qldb-jvm.jar closure 8,564,204 8,545,926 18,278 0.21%
dlm-jvm.jar closure 8,571,989 8,553,710 18,279 0.21%
rum-jvm.jar closure 8,574,104 8,555,826 18,278 0.21%
support-jvm.jar closure 8,575,762 8,557,481 18,281 0.21%
docdbelastic-jvm.jar closure 8,575,016 8,556,738 18,278 0.21%
directoryservicedata-jvm.jar closure 8,580,264 8,561,985 18,279 0.21%
managedblockchainquery-jvm.jar closure 8,586,186 8,567,906 18,280 0.21%
datapipeline-jvm.jar closure 8,593,199 8,574,920 18,279 0.21%
ioteventsdata-jvm.jar closure 8,603,202 8,584,924 18,278 0.21%
health-jvm.jar closure 8,609,325 8,591,047 18,278 0.21%
transcribestreaming-jvm.jar closure 8,620,283 8,602,004 18,279 0.21%
identitystore-jvm.jar closure 8,629,084 8,610,804 18,280 0.21%
migrationhub-jvm.jar closure 8,660,076 8,641,798 18,278 0.21%
acm-jvm.jar closure 8,673,765 8,655,487 18,278 0.21%
servicequotas-jvm.jar closure 8,675,940 8,657,661 18,279 0.21%
internetmonitor-jvm.jar closure 8,679,893 8,661,616 18,277 0.21%
signer-jvm.jar closure 8,682,717 8,664,437 18,280 0.21%
codegurureviewer-jvm.jar closure 8,688,054 8,669,774 18,280 0.21%
connectcampaigns-jvm.jar closure 8,693,381 8,675,102 18,279 0.21%
route53recoverycontrolconfig-jvm.jar closure 8,695,143 8,676,865 18,278 0.21%
licensemanagerusersubscriptions-jvm.jar closure 8,697,753 8,679,474 18,279 0.21%
s3tables-jvm.jar closure 8,701,842 8,683,562 18,280 0.21%
cognitoidentity-jvm.jar closure 8,701,562 8,683,283 18,279 0.21%
backupgateway-jvm.jar closure 8,702,420 8,684,140 18,280 0.21%
medicalimaging-jvm.jar closure 8,701,921 8,683,644 18,277 0.21%
secretsmanager-jvm.jar closure 8,712,751 8,694,472 18,279 0.21%
chimesdkmeetings-jvm.jar closure 8,712,584 8,694,307 18,277 0.21%
mediapackagevod-jvm.jar closure 8,718,020 8,699,742 18,278 0.21%
servicecatalogappregistry-jvm.jar closure 8,726,741 8,708,463 18,278 0.21%
resourceexplorer2-jvm.jar closure 8,729,092 8,710,813 18,279 0.21%
braket-jvm.jar closure 8,733,514 8,715,235 18,279 0.21%
lexruntimev2-jvm.jar closure 8,742,529 8,724,252 18,277 0.21%
notifications-jvm.jar closure 8,743,913 8,725,635 18,278 0.21%
codeguruprofiler-jvm.jar closure 8,747,358 8,729,081 18,277 0.21%
appintegrations-jvm.jar closure 8,757,269 8,738,990 18,279 0.21%
supplychain-jvm.jar closure 8,756,810 8,738,532 18,278 0.21%
costoptimizationhub-jvm.jar closure 8,757,652 8,739,374 18,278 0.21%
pcs-jvm.jar closure 8,760,583 8,742,304 18,279 0.21%
emrserverless-jvm.jar closure 8,766,402 8,748,123 18,279 0.21%
synthetics-jvm.jar closure 8,769,918 8,751,639 18,279 0.21%
applicationsignals-jvm.jar closure 8,782,146 8,763,866 18,280 0.21%
schemas-jvm.jar closure 8,784,972 8,766,693 18,279 0.21%
translate-jvm.jar closure 8,797,289 8,779,011 18,278 0.21%
mq-jvm.jar closure 8,804,458 8,786,180 18,278 0.21%
paymentcryptography-jvm.jar closure 8,805,343 8,787,065 18,278 0.21%
elastictranscoder-jvm.jar closure 8,809,560 8,791,282 18,278 0.21%
rolesanywhere-jvm.jar closure 8,816,694 8,798,416 18,278 0.21%
bedrockdataautomation-jvm.jar closure 8,821,236 8,802,958 18,278 0.21%
lookoutvision-jvm.jar closure 8,823,297 8,805,018 18,279 0.21%
keyspaces-jvm.jar closure 8,830,255 8,811,976 18,279 0.21%
networkflowmonitor-jvm.jar closure 8,830,953 8,812,674 18,279 0.21%
dax-jvm.jar closure 8,833,979 8,815,698 18,281 0.21%
resourcegroups-jvm.jar closure 8,839,072 8,820,792 18,280 0.21%
securityir-jvm.jar closure 8,839,668 8,821,390 18,278 0.21%
amp-jvm.jar closure 8,846,907 8,828,629 18,278 0.21%
sqs-jvm.jar closure 8,865,278 8,847,000 18,278 0.21%
timestreamwrite-jvm.jar closure 8,871,483 8,853,204 18,279 0.21%
geoplaces-jvm.jar closure 8,874,102 8,855,825 18,277 0.21%
ecrpublic-jvm.jar closure 8,875,168 8,856,892 18,276 0.21%
appfabric-jvm.jar closure 8,880,051 8,861,771 18,280 0.21%
mediapackage-jvm.jar closure 8,881,086 8,862,807 18,279 0.21%
applicationautoscaling-jvm.jar closure 8,890,496 8,872,218 18,278 0.21%
timestreamquery-jvm.jar closure 8,900,292 8,882,013 18,279 0.21%
kafkaconnect-jvm.jar closure 8,904,323 8,886,043 18,280 0.21%
codeconnections-jvm.jar closure 8,908,857 8,890,579 18,278 0.21%
codestarconnections-jvm.jar closure 8,909,285 8,891,007 18,278 0.21%
grafana-jvm.jar closure 8,912,325 8,894,046 18,279 0.21%
privatenetworks-jvm.jar closure 8,924,054 8,905,770 18,284 0.21%
migrationhubrefactorspaces-jvm.jar closure 8,924,374 8,906,097 18,277 0.21%
route53recoveryreadiness-jvm.jar closure 8,926,279 8,908,001 18,278 0.21%
detective-jvm.jar closure 8,936,085 8,917,806 18,279 0.20%
taxsettings-jvm.jar closure 8,936,301 8,918,024 18,277 0.20%
chimesdkidentity-jvm.jar closure 8,940,894 8,922,613 18,281 0.20%
controltower-jvm.jar closure 8,977,355 8,959,077 18,278 0.20%
emrcontainers-jvm.jar closure 8,980,525 8,962,246 18,279 0.20%
machinelearning-jvm.jar closure 8,985,137 8,966,858 18,279 0.20%
applicationinsights-jvm.jar closure 8,994,345 8,976,067 18,278 0.20%
securitylake-jvm.jar closure 9,021,285 9,003,005 18,280 0.20%
kinesisanalytics-jvm.jar closure 9,023,326 9,005,049 18,277 0.20%
cloudsearch-jvm.jar closure 9,025,810 9,007,531 18,279 0.20%
finspacedata-jvm.jar closure 9,043,344 9,025,065 18,279 0.20%
acmpca-jvm.jar closure 9,045,087 9,026,806 18,281 0.20%
paymentcryptographydata-jvm.jar closure 9,059,028 9,040,749 18,279 0.20%
budgets-jvm.jar closure 9,059,243 9,040,965 18,278 0.20%
comprehendmedical-jvm.jar closure 9,071,698 9,053,418 18,280 0.20%
migrationhuborchestrator-jvm.jar closure 9,072,892 9,054,616 18,276 0.20%
managedblockchain-jvm.jar closure 9,085,990 9,067,711 18,279 0.20%
elasticloadbalancing-jvm.jar closure 9,086,727 9,068,449 18,278 0.20%
voiceid-jvm.jar closure 9,090,744 9,072,465 18,279 0.20%
mturk-jvm.jar closure 9,096,061 9,077,783 18,278 0.20%
glacier-jvm.jar closure 9,109,603 9,091,325 18,278 0.20%
kinesisvideo-jvm.jar closure 9,128,194 9,109,916 18,278 0.20%
iotthingsgraph-jvm.jar closure 9,131,400 9,113,122 18,278 0.20%
shield-jvm.jar closure 9,132,868 9,114,591 18,277 0.20%
tnb-jvm.jar closure 9,151,058 9,132,781 18,277 0.20%
applicationdiscoveryservice-jvm.jar closure 9,157,618 9,139,340 18,278 0.20%
amplify-jvm.jar closure 9,159,551 9,141,274 18,277 0.20%
kinesis-jvm.jar closure 9,162,662 9,144,383 18,279 0.20%
ivs-jvm.jar closure 9,174,882 9,156,603 18,279 0.20%
snowball-jvm.jar closure 9,174,897 9,156,619 18,278 0.20%
efs-jvm.jar closure 9,199,514 9,181,236 18,278 0.20%
chatbot-jvm.jar closure 9,202,005 9,183,726 18,279 0.20%
neptunegraph-jvm.jar closure 9,207,770 9,189,492 18,278 0.20%
amplifybackend-jvm.jar closure 9,226,066 9,207,788 18,278 0.20%
servicediscovery-jvm.jar closure 9,232,117 9,213,838 18,279 0.20%
ssmincidents-jvm.jar closure 9,240,295 9,222,017 18,278 0.20%
ram-jvm.jar closure 9,247,133 9,228,856 18,277 0.20%
fis-jvm.jar closure 9,273,160 9,254,882 18,278 0.20%
opensearchserverless-jvm.jar closure 9,274,692 9,256,412 18,280 0.20%
textract-jvm.jar closure 9,281,462 9,263,184 18,278 0.20%
sms-jvm.jar closure 9,284,442 9,266,164 18,278 0.20%
marketplacecatalog-jvm.jar closure 9,290,787 9,272,508 18,279 0.20%
greengrassv2-jvm.jar closure 9,291,575 9,273,297 18,278 0.20%
codecatalyst-jvm.jar closure 9,299,276 9,280,998 18,278 0.20%
pcaconnectorad-jvm.jar closure 9,304,680 9,286,401 18,279 0.20%
pipes-jvm.jar closure 9,305,096 9,286,817 18,279 0.20%
ssmcontacts-jvm.jar closure 9,303,665 9,285,391 18,274 0.20%
qapps-jvm.jar closure 9,306,695 9,288,417 18,278 0.20%
connectcases-jvm.jar closure 9,319,612 9,301,334 18,278 0.20%
sns-jvm.jar closure 9,324,681 9,306,402 18,279 0.20%
appconfig-jvm.jar closure 9,324,101 9,305,825 18,276 0.20%
mediapackagev2-jvm.jar closure 9,328,610 9,310,331 18,279 0.20%
sagemakergeospatial-jvm.jar closure 9,332,664 9,314,386 18,278 0.20%
pinpointemail-jvm.jar closure 9,335,952 9,317,675 18,277 0.20%
route53domains-jvm.jar closure 9,358,446 9,340,169 18,277 0.20%
ivsrealtime-jvm.jar closure 9,367,888 9,349,609 18,279 0.20%
iotevents-jvm.jar closure 9,371,084 9,352,807 18,277 0.20%
apprunner-jvm.jar closure 9,375,369 9,357,090 18,279 0.20%
m2-jvm.jar closure 9,378,891 9,360,614 18,277 0.20%
bedrockruntime-jvm.jar closure 9,383,545 9,365,267 18,278 0.20%
panorama-jvm.jar closure 9,386,886 9,368,608 18,278 0.20%
connectcampaignsv2-jvm.jar closure 9,398,648 9,380,368 18,280 0.19%
lookoutmetrics-jvm.jar closure 9,421,429 9,403,151 18,278 0.19%
verifiedpermissions-jvm.jar closure 9,441,496 9,423,218 18,278 0.19%
apptest-jvm.jar closure 9,458,813 9,440,534 18,279 0.19%
entityresolution-jvm.jar closure 9,470,889 9,452,609 18,280 0.19%
billingconductor-jvm.jar closure 9,470,651 9,452,372 18,279 0.19%
inspector-jvm.jar closure 9,471,523 9,453,244 18,279 0.19%
evidently-jvm.jar closure 9,486,752 9,468,472 18,280 0.19%
groundstation-jvm.jar closure 9,487,159 9,468,881 18,278 0.19%
b2bi-jvm.jar closure 9,489,576 9,471,297 18,279 0.19%
migrationhubstrategy-jvm.jar closure 9,490,014 9,471,736 18,278 0.19%
lexmodelbuildingservice-jvm.jar closure 9,542,877 9,524,596 18,281 0.19%
neptunedata-jvm.jar closure 9,544,834 9,526,557 18,277 0.19%
codeartifact-jvm.jar closure 9,552,469 9,534,186 18,283 0.19%
cloudwatch-jvm.jar closure 9,570,467 9,552,188 18,279 0.19%
xray-jvm.jar closure 9,578,777 9,560,497 18,280 0.19%
wisdom-jvm.jar closure 9,579,250 9,560,970 18,280 0.19%
iotanalytics-jvm.jar closure 9,646,179 9,627,900 18,279 0.19%
chimesdkmessaging-jvm.jar closure 9,647,966 9,629,688 18,278 0.19%
mediatailor-jvm.jar closure 9,655,085 9,636,807 18,278 0.19%
amplifyuibuilder-jvm.jar closure 9,663,554 9,645,275 18,279 0.19%
lookoutequipment-jvm.jar closure 9,723,542 9,705,265 18,277 0.19%
workdocs-jvm.jar closure 9,733,875 9,715,601 18,274 0.19%
redshiftserverless-jvm.jar closure 9,737,304 9,719,024 18,280 0.19%
bcmpricingcalculator-jvm.jar closure 9,718,011 9,699,800 18,211 0.19%
dataexchange-jvm.jar closure 9,766,669 9,748,390 18,279 0.19%
transcribe-jvm.jar closure 9,788,987 9,770,709 18,278 0.19%
outposts-jvm.jar closure 9,235,680 9,218,438 17,242 0.19%
databrew-jvm.jar closure 9,802,828 9,784,551 18,277 0.19%
sfn-jvm.jar closure 9,817,777 9,799,500 18,277 0.19%
finspace-jvm.jar closure 9,827,152 9,808,873 18,279 0.19%
globalaccelerator-jvm.jar closure 9,838,645 9,820,368 18,277 0.19%
networkfirewall-jvm.jar closure 9,840,178 9,821,908 18,270 0.19%
firehose-jvm.jar closure 9,886,630 9,868,352 18,278 0.19%
devopsguru-jvm.jar closure 9,897,900 9,879,620 18,280 0.19%
batch-jvm.jar closure 9,903,470 9,885,193 18,277 0.18%
workspacesweb-jvm.jar closure 9,908,351 9,890,071 18,280 0.18%
cloudwatchevents-jvm.jar closure 9,909,546 9,891,267 18,279 0.18%
licensemanager-jvm.jar closure 9,914,114 9,895,836 18,278 0.18%
directconnect-jvm.jar closure 9,961,700 9,943,422 18,278 0.18%
memorydb-jvm.jar closure 9,985,410 9,967,131 18,279 0.18%
kms-jvm.jar closure 9,988,147 9,969,870 18,277 0.18%
apigatewayv2-jvm.jar closure 10,001,761 9,983,484 18,277 0.18%
elasticbeanstalk-jvm.jar closure 10,007,711 9,989,433 18,278 0.18%
chimesdkmediapipelines-jvm.jar closure 10,013,854 9,995,575 18,279 0.18%
accessanalyzer-jvm.jar closure 10,018,904 10,000,624 18,280 0.18%
iottwinmaker-jvm.jar closure 10,021,927 10,003,648 18,279 0.18%
organizations-jvm.jar closure 10,038,797 10,020,520 18,277 0.18%
mailmanager-jvm.jar closure 10,055,704 10,037,426 18,278 0.18%
ecr-jvm.jar closure 10,060,224 10,041,945 18,279 0.18%
fms-jvm.jar closure 10,062,204 10,043,926 18,278 0.18%
swf-jvm.jar closure 10,079,488 10,061,209 18,279 0.18%
auditmanager-jvm.jar closure 10,109,067 10,090,785 18,282 0.18%
location-jvm.jar closure 10,159,636 10,141,357 18,279 0.18%
lakeformation-jvm.jar closure 10,206,439 10,188,160 18,279 0.18%
eventbridge-jvm.jar closure 10,226,482 10,208,204 18,278 0.18%
drs-jvm.jar closure 10,235,444 10,217,165 18,279 0.18%
athena-jvm.jar closure 10,249,496 10,231,218 18,278 0.18%
ssoadmin-jvm.jar closure 10,251,061 10,232,787 18,274 0.18%
kinesisanalyticsv2-jvm.jar closure 10,256,742 10,238,464 18,278 0.18%
route53resolver-jvm.jar closure 10,280,541 10,262,261 18,280 0.18%
opsworks-jvm.jar closure 10,286,379 10,268,100 18,279 0.18%
ses-jvm.jar closure 10,289,153 10,270,875 18,278 0.18%
vpclattice-jvm.jar closure 10,290,988 10,272,709 18,279 0.18%
kafka-jvm.jar closure 10,290,724 10,272,447 18,277 0.18%
mediaconnect-jvm.jar closure 10,327,932 10,309,654 18,278 0.18%
robomaker-jvm.jar closure 10,345,838 10,327,559 18,279 0.18%
elasticsearchservice-jvm.jar closure 10,345,917 10,327,641 18,276 0.18%
forecast-jvm.jar closure 10,378,645 10,360,367 18,278 0.18%
codebuild-jvm.jar closure 10,395,756 10,377,477 18,279 0.18%
frauddetector-jvm.jar closure 10,408,717 10,390,439 18,278 0.18%
datasync-jvm.jar closure 10,453,728 10,435,449 18,279 0.18%
cleanroomsml-jvm.jar closure 10,467,619 10,449,341 18,278 0.17%
greengrass-jvm.jar closure 10,467,768 10,449,492 18,276 0.17%
directoryservice-jvm.jar closure 10,492,370 10,474,091 18,279 0.17%
elasticloadbalancingv2-jvm.jar closure 10,496,539 10,478,261 18,278 0.17%
partnercentralselling-jvm.jar closure 10,526,327 10,508,049 18,278 0.17%
resiliencehub-jvm.jar closure 10,537,686 10,519,405 18,281 0.17%
personalize-jvm.jar closure 10,536,911 10,518,632 18,279 0.17%
transfer-jvm.jar closure 10,548,603 10,530,326 18,277 0.17%
wellarchitected-jvm.jar closure 10,553,053 10,534,776 18,277 0.17%
appsync-jvm.jar closure 10,564,560 10,546,281 18,279 0.17%
cloudtrail-jvm.jar closure 10,568,920 10,550,640 18,280 0.17%
workmail-jvm.jar closure 10,586,435 10,568,156 18,279 0.17%
georoutes-jvm.jar closure 10,612,386 10,594,108 18,278 0.17%
iotfleetwise-jvm.jar closure 10,628,040 10,609,764 18,276 0.17%
storagegateway-jvm.jar closure 10,642,578 10,624,299 18,279 0.17%
devicefarm-jvm.jar closure 10,646,560 10,628,282 18,278 0.17%
codepipeline-jvm.jar closure 10,690,810 10,672,530 18,280 0.17%
waf-jvm.jar closure 10,702,570 10,684,290 18,280 0.17%
emr-jvm.jar closure 10,726,730 10,708,452 18,278 0.17%
appmesh-jvm.jar closure 10,761,497 10,743,218 18,279 0.17%
autoscaling-jvm.jar closure 10,814,702 10,796,424 18,278 0.17%
chimesdkvoice-jvm.jar closure 10,818,001 10,799,722 18,279 0.17%
route53-jvm.jar closure 10,828,507 10,810,226 18,281 0.17%
wafregional-jvm.jar closure 10,836,967 10,818,688 18,279 0.17%
appflow-jvm.jar closure 10,838,770 10,820,491 18,279 0.17%
mgn-jvm.jar closure 10,869,962 10,851,684 18,278 0.17%
proton-jvm.jar closure 10,891,379 10,873,103 18,276 0.17%
bedrock-jvm.jar closure 10,898,722 10,880,441 18,281 0.17%
neptune-jvm.jar closure 10,917,220 10,898,941 18,279 0.17%
computeoptimizer-jvm.jar closure 10,937,517 10,919,238 18,279 0.17%
servicecatalog-jvm.jar closure 10,955,022 10,936,742 18,280 0.17%
clouddirectory-jvm.jar closure 10,982,861 10,964,582 18,279 0.17%
lambda-jvm.jar closure 10,984,953 10,966,677 18,276 0.17%
backup-jvm.jar closure 11,016,217 10,997,939 18,278 0.17%
codedeploy-jvm.jar closure 11,018,493 11,000,214 18,279 0.17%
fsx-jvm.jar closure 11,034,755 11,016,477 18,278 0.17%
networkmanager-jvm.jar closure 11,156,189 11,137,909 18,280 0.16%
dynamodb-jvm.jar closure 11,316,357 11,298,076 18,281 0.16%
customerprofiles-jvm.jar closure 11,321,471 11,303,195 18,276 0.16%
appstream-jvm.jar closure 10,657,564 10,640,362 17,202 0.16%
wafv2-jvm.jar closure 11,345,632 11,327,352 18,280 0.16%
imagebuilder-jvm.jar closure 11,373,476 11,355,197 18,279 0.16%
sesv2-jvm.jar closure 11,397,675 11,379,396 18,279 0.16%
cloudwatchlogs-jvm.jar closure 11,402,336 11,384,057 18,279 0.16%
omics-jvm.jar closure 11,404,178 11,385,899 18,279 0.16%
qbusiness-jvm.jar closure 11,541,724 11,523,445 18,279 0.16%
apigateway-jvm.jar closure 11,540,569 11,522,294 18,275 0.16%
comprehend-jvm.jar closure 11,563,989 11,545,709 18,280 0.16%
ecs-jvm.jar closure 11,577,624 11,559,345 18,279 0.16%
cleanrooms-jvm.jar closure 11,592,878 11,574,600 18,278 0.16%
pinpointsmsvoicev2-jvm.jar closure 11,596,573 11,578,294 18,279 0.16%
elasticache-jvm.jar closure 11,650,977 11,632,699 18,278 0.16%
opensearch-jvm.jar closure 11,698,734 11,680,455 18,279 0.16%
cloudformation-jvm.jar closure 11,732,165 11,713,886 18,279 0.16%
rekognition-jvm.jar closure 11,816,610 11,798,331 18,279 0.15%
inspector2-jvm.jar closure 12,021,004 12,002,724 18,280 0.15%
guardduty-jvm.jar closure 12,069,112 12,050,831 18,281 0.15%
iotwireless-jvm.jar closure 12,076,277 12,058,000 18,277 0.15%
iotsitewise-jvm.jar closure 12,096,691 12,078,413 18,278 0.15%
kendra-jvm.jar closure 12,106,389 12,088,110 18,279 0.15%
deadline-jvm.jar closure 12,199,638 12,181,359 18,279 0.15%
codecommit-jvm.jar closure 12,221,862 12,203,581 18,281 0.15%
cognitoidentityprovider-jvm.jar closure 12,437,126 12,418,846 18,280 0.15%
macie2-jvm.jar closure 11,664,234 11,647,142 17,092 0.15%
costexplorer-jvm.jar closure 10,516,980 10,501,671 15,309 0.15%
iam-jvm.jar closure 12,582,503 12,564,222 18,281 0.15%
databasemigrationservice-jvm.jar closure 12,605,478 12,587,198 18,280 0.15%
gamelift-jvm.jar closure 12,648,507 12,630,229 18,278 0.14%
qconnect-jvm.jar closure 12,268,885 12,251,297 17,588 0.14%
configservice-jvm.jar closure 12,873,823 12,855,545 18,278 0.14%
pinpoint-jvm.jar closure 13,096,928 13,078,650 18,278 0.14%
chime-jvm.jar closure 13,449,628 13,431,351 18,277 0.14%
lightsail-jvm.jar closure 13,700,808 13,682,530 18,278 0.13%
s3control-jvm.jar closure 11,955,418 11,939,589 15,829 0.13%
redshift-jvm.jar closure 14,123,898 14,105,622 18,276 0.13%
cloudfront-jvm.jar closure 14,155,182 14,136,903 18,279 0.13%
lexmodelsv2-jvm.jar closure 14,236,432 14,218,154 18,278 0.13%
rds-jvm.jar closure 15,302,707 15,284,442 18,265 0.12%
datazone-jvm.jar closure 15,536,049 15,517,772 18,277 0.12%
ssm-jvm.jar closure 15,717,854 15,699,573 18,281 0.12%
s3-jvm.jar closure 12,364,576 12,350,747 13,829 0.11%
iot-jvm.jar closure 17,518,958 17,500,681 18,277 0.10%
securityhub-jvm.jar closure 19,942,410 19,923,874 18,536 0.09%
glue-jvm.jar closure 19,976,224 19,958,218 18,006 0.09%
ssmsap-jvm.jar closure 8,803,703 8,796,725 6,978 0.08%
docdb-jvm.jar closure 10,274,741 10,266,633 8,108 0.08%
quicksight-jvm.jar closure 27,659,430 27,641,150 18,280 0.07%
ec2-jvm.jar closure 37,210,881 37,192,603 18,278 0.05%
mediaconvert-jvm.jar closure 14,537,942 14,532,695 5,247 0.04%
connect-jvm.jar closure 19,562,919 19,557,676 5,243 0.03%
bedrockagent-jvm.jar closure 12,584,453 12,581,482 2,971 0.02%
securityhub-jvm.jar 12,067,004 12,066,748 256 0.00%
rds-jvm.jar 7,427,301 7,427,316 -15 -0.00%
ssoadmin-jvm.jar 2,375,655 2,375,661 -6 -0.00%
workdocs-jvm.jar 1,858,469 1,858,475 -6 -0.00%
ssmcontacts-jvm.jar 1,428,259 1,428,265 -6 -0.00%
networkfirewall-jvm.jar 1,964,772 1,964,782 -10 -0.00%
iotjobsdataplane-jvm.jar 329,297 329,304 -7 -0.00%
glue-jvm.jar 12,100,818 12,101,092 -274 -0.00%
bcmpricingcalculator-jvm.jar 1,842,605 1,842,674 -69 -0.00%
qconnect-jvm.jar 4,393,479 4,394,171 -692 -0.02%
macie2-jvm.jar 3,788,828 3,790,016 -1,188 -0.03%
appstream-jvm.jar 2,782,158 2,783,236 -1,078 -0.04%
sagemaker-jvm.jar closure 27,687,306 27,699,911 -12,605 -0.05%
s3control-jvm.jar 4,080,012 4,082,463 -2,451 -0.06%
outposts-jvm.jar 1,360,274 1,361,312 -1,038 -0.08%
s3-jvm.jar 4,404,980 4,409,431 -4,451 -0.10%
connect-jvm.jar 11,687,513 11,700,550 -13,037 -0.11%
costexplorer-jvm.jar 2,641,574 2,644,545 -2,971 -0.11%
medialive-jvm.jar closure 16,852,194 16,876,082 -23,888 -0.14%
sagemaker-jvm.jar 19,811,900 19,842,785 -30,885 -0.16%
mediaconvert-jvm.jar 6,662,536 6,675,569 -13,033 -0.20%
workspaces-jvm.jar closure 11,392,116 11,426,125 -34,009 -0.30%
bedrockagent-jvm.jar 4,709,047 4,724,356 -15,309 -0.32%
eks-jvm.jar closure 10,641,924 10,680,069 -38,145 -0.36%
docdb-jvm.jar 2,399,335 2,409,507 -10,172 -0.42%
bedrockagentruntime-jvm.jar closure 10,595,783 10,642,807 -47,024 -0.44%
medialive-jvm.jar 8,976,788 9,018,956 -42,168 -0.47%
ssmsap-jvm.jar 928,297 939,599 -11,302 -1.20%
workspaces-jvm.jar 3,516,710 3,568,999 -52,289 -1.47%
eks-jvm.jar 2,766,518 2,822,943 -56,425 -2.00%
bedrockagentruntime-jvm.jar 2,636,187 2,701,491 -65,304 -2.42%
billing-jvm.jar closure 8,038,605 8,326,557 -287,952 -3.46%
billing-jvm.jar 163,199 469,431 -306,232 -65.23%

Copy link

github-actions bot commented Jan 8, 2025

A new generated diff is ready to view.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
acknowledge-artifact-size-increase Acknowledge that an artifact increased in size substantially or that a new artifact was created no-changelog Indicates that a changelog entry isn't required for a pull request. Use sparingly.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants