awslabs / aws-sdk-kotlin Goto Github PK
View Code? Open in Web Editor NEWMultiplatform AWS SDK for Kotlin
License: Apache License 2.0
Multiplatform AWS SDK for Kotlin
License: Apache License 2.0
Can be disabled with DisableComputeChecksums
. This may be modeled now?
internal id: 176558055
When running some Lambda operations, an error occurs However, other operations such as lambdaClient.listFunctions(request) work fine.
This example:
**try {
val functionRequest = DeleteFunctionRequest {
functionName = "COOLFunction"
}
awsLambda.deleteFunction(functionRequest)
System.out.println("The function was deleted")
} catch (e: AwsServiceException) {
System.err.println(e.protocolResponse as HttpResponse)
System.exit(1)
}**
Generates this exception:
HttpResponse(status=403: Forbidden, headers=Headers [content-length=[192], content-type=[application/json], date=[Wed, 17 Feb 2021 20:22:42 GMT], x-amzn-errortype=[InvalidSignatureException], x-amzn-requestid=[3d502106-f6ad-4c5e-ad15-af7083516c9d]], body=software.aws.clientrt.http.content.ByteArrayContent@5bae0478, request=HttpRequest(method=POST, url=https://lambda.us-east-1.amazonaws.com/2015-03-31/functions/arn:aws:lambda:us-east-1:814548047983:function:myLambda/invocations, headers=Headers [Host=[lambda.us-east-1.amazonaws.com], Content-Type=[application/octet-stream], X-Amz-Date=[20210217T202241Z], Authorization=[AWS4-HMAC-SHA256 Credential=AKIA33JWY3BXW7POHDLA/20210217/us-east-1/lambda/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=57107d715e62dd814d87c6431ab94dfbaa14ecb4a6c45228c1e7d50fab65d019]], body=software.aws.clientrt.http.content.ByteArrayContent@5de1ab65))
When trying to create a new secret, an exception is thrown. Other SecretManager Kotlin examples work fine too.
NOTE - same issue for updateSecret as well
Code:
import aws.sdk.kotlin.runtime.AwsServiceException
import aws.sdk.kotlin.secretsmanager.SecretsManagerClient
import aws.sdk.kotlin.secretsmanager.model.CreateSecretRequest
import software.aws.clientrt.http.readAll
import software.aws.clientrt.http.response.HttpResponse
suspend fun main(args: Array<String>) {
val usage = """
Usage: <secretName> <secretValue>
Where:
secretName - the name of the secret (for example, tutorials/MyFirstSecret).
secretValue - the secret value.
"""
val secretName = "FirstSecret20111" //args[0]
val secretValue = "3876555532989" //args[1]
val secretsClient = SecretsManagerClient { region = "us-east-1" }
val createSecret = CreateSecret()
val secArn = createSecret.createNewSecret(secretsClient, secretName, secretValue)
println("The secret ARN value is $secArn")
secretsClient.close()
}
class CreateSecret {
suspend fun createNewSecret(secretsClient: SecretsManagerClient, secretName: String?, secretValue: String?): String? {
try {
val secretRequest = CreateSecretRequest {
name = secretName
description = "This secret was created by the AWS Secret Manager Kotlin API"
secretString = secretValue
}
val secretResponse = secretsClient.createSecret(secretRequest)
return secretResponse.aRN
} catch (e: AwsServiceException) {
val resp = e.protocolResponse as HttpResponse
println(resp)
println(resp.body.readAll()?.decodeToString())
println(e)
System.exit(1)
}
return ""
}
}
NOTE -- same code works via Java V2
Exception
HttpResponse(status=400: Bad Request, headers=Headers [content-length=[208], content-type=[application/x-amz-json-1.1], date=[Fri, 26 Feb 2021 19:52:33 GMT], x-amzn-requestid=[9726d237-4094-405d-b41e-f373eeb87514]], body=software.aws.clientrt.http.content.ByteArrayContent@16c9c4bd, request=HttpRequest(method=POST, url=https://secretsmanager.us-east-1.amazonaws.com/, headers=Headers [Host=[secretsmanager.us-east-1.amazonaws.com], X-Amz-Target=[secretsmanager.CreateSecret], Content-Type=[application/x-amz-json-1.1], X-Amz-Date=[20210226T195232Z], Authorization=[AWS4-HMAC-SHA256 Credential=AKIA33JWY3BXW7POHDLA/20210226/us-east-1/secretsmanager/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-target, Signature=59643ad2cafde3adeb92d98bc968038d69c7223f55978d07070c064197b4329c]], body=software.aws.clientrt.http.content.ByteArrayContent@63b77f34))
{"__type":"ValidationException","message":"1 validation error detected: Value '16143691511038666643' at 'clientRequestToken' failed to satisfy constraint: Member must have length greater than or equal to 32"}
aws.sdk.kotlin.runtime.UnknownServiceErrorException
Disconnected from the target VM, address: '127.0.0.1:61969', transport: 'socket'
Some Cognito operation work fine, while others throw the above exception.
Operations where this is observed:
For example the deleteUserPool operation throws the above exception:
class DeleteUserPool {
suspend fun delPool(cognitoclient: CognitoIdentityProviderClient, userPoolId:String) {
try {
val deleteUserPoolRequest = DeleteUserPoolRequest{
this.userPoolId = userPoolId
}
cognitoclient.deleteUserPool(deleteUserPoolRequest)
print("$userPoolId was successfully deleted")
} catch (e: AwsServiceException) {
System.err.println(e.protocolResponse as HttpResponse)
System.exit(1)
}
}
}
Determine how we want to do enum values return that are not known to SDK. Do we do what we did with JavaV2 and have a String getter and an enum with UNKNOWN_TO_SDK?
We should provide a way to either check in smithy-build.json
for each AWS service generated or provide a way to merge configs such that we can check in something.
Right now in codegen we just generate smithy-build.json as a part of the overall bootstrap.
smithy-build.json
(or some config that merges into the build). We can see what services have customizations, when they changes, etcOne way to do this would be to define a new config file that would live in the service directory that gets merged into the overall smithy-build.json
.
internal id: 177144399
internal id: 176559035
Some of the AWS SDK's (Java/C# for sure) handle local clock skew differences which can affect signing.
Something to keep in mind and look into. CRT may or may not already handle this IDK.
Some more context:
https://aws.amazon.com/blogs/developer/clock-skew-correction/
internal id: 173288088
#177022993 introduced renaming of model types that conflict with Kotlin builtin types (e.g. Unit
).
It would be better to fail the build and require a manual customization to rename these types for following reasons:
Smithy 1.6.1 has support for this directly: https://github.com/awslabs/smithy/pull/721/files#diff-7d898edc06a29654f5803d197345007c92fd0306f1f94a0eeaacfcab1469de38
internal id: 177144277
SEP /seps/accepted/shared/rds-api-450/
internal id: 174883300
Take a look at generated SDK compiler warnings for possible areas we can cleanup the generated code to not end up with a warning. Create tickets as appropriate.
internal id: 176146308
Support EC2 Query Protocol
internal id: 174869700
SEP /seps/accepted/shared/rds-sdk-1574/
internal id: 174883315
ChangeResourceRecordSets uses a custom error format: aws/aws-sdk-go@3265860
internal id: 176558794
SEP: /seps/accepted/shared/s3-virtual-host/
internal id: 174880594
internal id: 176559087
Operation CopySnapshot, auto generated presigned URL for cross region.
@jasdel knows what this means
internal id: 176558932
The DynamoDB API is not letting me set AttributeValue values. This is required for various operations like query, updateItem, and so on.
Here is working code for Kotlin that uses Java SDK. Notice we can set AttributeValue.
// Set up mapping of the partition name with the value
val attrValues = HashMap<String, AttributeValue>()
attrValues[":$partitionKeyName"] =
AttributeValue.builder().s(partitionKeyVal).build()
For Kotlin SDK -- its not letting us set AttributeValue. I get error saying:
Error:(66, 44) Kotlin: Cannot access '': it is private in 'AttributeValue'
For Operation Predict, replace request endpoint with value from PredictEndpoint input member.
internal id: 176558878
internal id: 174880365
Botocore defines a large suite of compliance testing for S3โwe should extract these as best we can into protocol tests:
https://github.com/boto/botocore/blob/develop/tests/functional/test_s3.py
internal id: 176558698
Ask Russell: smithy-lang/smithy-rs#123
internal id: 176559077
endpoints.json
was added as a resource as a part of #174869500. Supposedly this file can create a lot of churn in the repo and it may be better to just pull it in dynamically during the build.
e.g. from .NET SDK: https://github.com/aws/aws-sdk-net/commits/master/sdk/src/Core/endpoints.json
internal id: 176949799
Auto fill AccountId with - if unset.
internal id: 176558909
For RDS Operations:
SEP: /seps/accepted/shared/rds-cross-region-copy.md
Add SourceRegion and DestinationRegion string members to level inputs shapes. Customizations read members for presigned URL behavior.
@jasdel will know what this means
internal id: 176559055
auto generate presigned URL in multiple operation request
See: smithy-lang/smithy-rs#141
internal id: 176558831
/packages/AwsDrSeps/blobs/master/--/seps/accepted/shared/sdk-user-agent-header.md
internal id: 176981023
Compute X-Amz-Sha256-Tree-Hash, and X-Amz-Content-Sha256 checksum for all request bodies
internal id: 176558901
After building smithy-kotlin and aws-crt-kotlin, when I try to build aws-sdk-kotlin the build fails.
This is on Windows - maybe it's just that the file paths contain backslashes, but it's unclear to me where the issue is.
Here is the sequence of steps I am following:
git clone https://github.com/awslabs/aws-sdk-kotlin.git
\
pushd smithy-kotlin
./gradlew build publishToMavenLocal
popd
\
pushd aws-crt-kotlin
git checkout bootstrap-jvm
./gradlew build -x jvmTest
./gradlew publishToMavenLocal
popd
pushd aws-sdk-kotlin
./gradlew build publishToMavenLocal
$ ./gradlew build publishToMavenLocal --stacktrace > test3.log
Skipping Smithy model file because it does not exist: C:\workplace\kotlinsdk\aws-sdk-kotlin\codegen\protocol-test-codegen\model
Skipping Smithy model file because it does not exist: C:\workplace\kotlinsdk\aws-sdk-kotlin\codegen\protocol-test-codegen\src\main\smithy
Skipping Smithy model file because it does not exist: C:\workplace\kotlinsdk\aws-sdk-kotlin\codegen\protocol-test-codegen\src\main\resources\META-INF\smithy
Skipping Smithy model file because it does not exist: C:\workplace\kotlinsdk\aws-sdk-kotlin\codegen\sdk-codegen\model
Skipping Smithy model file because it does not exist: C:\workplace\kotlinsdk\aws-sdk-kotlin\codegen\sdk-codegen\src\main\smithy
Skipping Smithy model file because it does not exist: C:\workplace\kotlinsdk\aws-sdk-kotlin\codegen\sdk-codegen\src\main\resources\META-INF\smithy
Error parsing JSON: Expected valid escape sequence (C:\workplace\kotlinsdk\aws-sdk-kotlin\codegen\sdk-codegen\smithy-build.json [6, 29])
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':sdk-codegen:buildSdk'.
> Error parsing JSON: Expected valid escape sequence (C:\workplace\kotlinsdk\aws-sdk-kotlin\codegen\sdk-codegen\smithy-build.json [6, 29])
* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':sdk-codegen:buildSdk'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$3(ExecuteActionsTaskExecuter.java:186)
at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:268)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:184)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:173)
at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109)
at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)
at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:76)
at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:76)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:411)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:398)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:391)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:377)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
Caused by: org.gradle.api.GradleException: Error parsing JSON: Expected valid escape sequence (C:\workplace\kotlinsdk\aws-sdk-kotlin\codegen\sdk-codegen\smithy-build.json [6, 29])
at software.amazon.smithy.gradle.SmithyUtils.executeCliThread(SmithyUtils.java:302)
at software.amazon.smithy.gradle.SmithyUtils.executeCli(SmithyUtils.java:205)
at software.amazon.smithy.gradle.tasks.SmithyCliTask.executeCliProcess(SmithyCliTask.java:224)
at software.amazon.smithy.gradle.tasks.SmithyBuild.execute(SmithyBuild.java:113)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:104)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:58)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:51)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:29)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$2.run(ExecuteActionsTaskExecuter.java:494)
at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:56)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$run$1(DefaultBuildOperationExecutor.java:71)
at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:45)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:71)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:479)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:462)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.access$400(ExecuteActionsTaskExecuter.java:105)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.executeWithPreviousOutputFiles(ExecuteActionsTaskExecuter.java:273)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.execute(ExecuteActionsTaskExecuter.java:251)
at org.gradle.internal.execution.steps.ExecuteStep.lambda$executeOperation$1(ExecuteStep.java:66)
at org.gradle.internal.execution.steps.ExecuteStep.executeOperation(ExecuteStep.java:66)
at org.gradle.internal.execution.steps.ExecuteStep.access$000(ExecuteStep.java:34)
at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:47)
at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:44)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)
at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:76)
at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:76)
at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:44)
at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:34)
at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:72)
at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:42)
at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:53)
at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:39)
at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:44)
at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:77)
at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:58)
at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:54)
at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:32)
at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:57)
at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:38)
at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:63)
at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:30)
at org.gradle.internal.execution.steps.BuildCacheStep.executeWithoutCache(BuildCacheStep.java:176)
at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:76)
at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:47)
at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:43)
at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:32)
at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:39)
at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:25)
at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:102)
at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$0(SkipUpToDateStep.java:95)
at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:55)
at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:39)
at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:83)
at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:44)
at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:37)
at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:27)
at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:96)
at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:52)
at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:83)
at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:54)
at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:74)
at org.gradle.internal.execution.steps.SkipEmptyWorkStep.lambda$execute$2(SkipEmptyWorkStep.java:88)
at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:88)
at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:34)
at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:38)
at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:46)
at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:34)
at org.gradle.internal.execution.steps.AssignWorkspaceStep.lambda$execute$0(AssignWorkspaceStep.java:43)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution$3.withWorkspace(ExecuteActionsTaskExecuter.java:286)
at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:43)
at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:33)
at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:40)
at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:30)
at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:54)
at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:40)
at org.gradle.internal.execution.impl.DefaultExecutionEngine.rebuild(DefaultExecutionEngine.java:46)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$0(ExecuteActionsTaskExecuter.java:182)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:182)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:173)
at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109)
at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)
at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:76)
at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:76)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:411)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:398)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:391)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:377)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at software.amazon.smithy.gradle.SmithyUtils.lambda$executeCliThread$2(SmithyUtils.java:277)
Caused by: java.lang.reflect.InvocationTargetException
at software.amazon.smithy.gradle.SmithyUtils.lambda$executeCliThread$2(SmithyUtils.java:274)
Caused by: software.amazon.smithy.build.SmithyBuildException: software.amazon.smithy.model.loader.ModelSyntaxException: Error parsing JSON: Expected valid escape sequence (C:\workplace\kotlinsdk\aws-sdk-kotlin\codegen\sdk-codegen\smithy-build.json [6, 29])
at software.amazon.smithy.build.model.ConfigLoader.load(ConfigLoader.java:49)
at software.amazon.smithy.build.model.SmithyBuildConfig$Builder.load(SmithyBuildConfig.java:201)
at software.amazon.smithy.cli.commands.BuildCommand.lambda$execute$0(BuildCommand.java:91)
at software.amazon.smithy.cli.commands.BuildCommand.execute(BuildCommand.java:91)
at software.amazon.smithy.cli.Cli.run(Cli.java:144)
at software.amazon.smithy.cli.SmithyCli.run(SmithyCli.java:93)
at software.amazon.smithy.cli.SmithyCli.run(SmithyCli.java:78)
... 1 more
Caused by: software.amazon.smithy.model.loader.ModelSyntaxException: Error parsing JSON: Expected valid escape sequence (C:\workplace\kotlinsdk\aws-sdk-kotlin\codegen\sdk-codegen\smithy-build.json [6, 29])
at software.amazon.smithy.model.node.internal.JsonParser.error(JsonParser.java:536)
at software.amazon.smithy.model.node.internal.JsonParser.expected(JsonParser.java:532)
at software.amazon.smithy.model.node.internal.JsonParser.readEscape(JsonParser.java:372)
at software.amazon.smithy.model.node.internal.JsonParser.readStringInternal(JsonParser.java:324)
at software.amazon.smithy.model.node.internal.JsonParser.readString(JsonParser.java:315)
at software.amazon.smithy.model.node.internal.JsonParser.readValue(JsonParser.java:179)
at software.amazon.smithy.model.node.internal.JsonParser.readArray(JsonParser.java:221)
at software.amazon.smithy.model.node.internal.JsonParser.readValue(JsonParser.java:182)
at software.amazon.smithy.model.node.internal.JsonParser.readObject(JsonParser.java:257)
at software.amazon.smithy.model.node.internal.JsonParser.readValue(JsonParser.java:185)
at software.amazon.smithy.model.node.internal.JsonParser.readObject(JsonParser.java:257)
at software.amazon.smithy.model.node.internal.JsonParser.readValue(JsonParser.java:185)
at software.amazon.smithy.model.node.internal.JsonParser.readObject(JsonParser.java:257)
at software.amazon.smithy.model.node.internal.JsonParser.readValue(JsonParser.java:185)
at software.amazon.smithy.model.node.internal.JsonParser.parse(JsonParser.java:160)
at software.amazon.smithy.model.node.internal.JsonParser.parse(JsonParser.java:106)
at software.amazon.smithy.model.node.internal.NodeHandler.parse(NodeHandler.java:42)
at software.amazon.smithy.model.node.Node.parseJsonWithComments(Node.java:118)
at software.amazon.smithy.build.model.ConfigLoader.loadWithJson(ConfigLoader.java:54)
at software.amazon.smithy.build.model.ConfigLoader.load(ConfigLoader.java:47)
... 7 more
Customization required for DDB which has crc32 checksum validation as an option.
TODO - link to spec/sep?
SEP: /seps/accepted/shared/sts_regionlization/
internal id: 174880743
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.