├── .all-contributorsrc ├── .github ├── CODEOWNERS ├── dependabot.yml ├── project.yml └── workflows │ ├── build.yml │ ├── codeql.yml │ ├── pre-release.yml │ ├── quarkus-snapshot.yaml │ ├── release-perform.yml │ ├── release-prepare.yml │ └── stale-issues-and-prs.yml ├── .gitignore ├── .mvn ├── jvm.config └── wrapper │ ├── MavenWrapperDownloader.java │ └── maven-wrapper.properties ├── LICENSE ├── README.md ├── bom-internal └── pom.xml ├── bom └── pom.xml ├── build-parent └── pom.xml ├── codegen-maven-plugin ├── pom.xml └── src │ └── main │ └── java │ └── io │ └── quarkiverse │ └── amazon │ └── codegen │ └── maven │ └── plugin │ ├── BaseGenerationMojo.java │ └── GenerationMojo.java ├── codegen ├── pom.xml └── src │ ├── main │ └── java │ │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── codegen │ │ ├── BaseCodeGenerator.java │ │ ├── DeploymentCodeGenerator.java │ │ ├── RuntimeCodeGenerator.java │ │ ├── emitters │ │ └── tasks │ │ │ ├── BaseGeneratorTasks.java │ │ │ ├── DeploymentGeneratorTasks.java │ │ │ └── RuntimeGeneratorTasks.java │ │ └── poet │ │ ├── PoetUtils.java │ │ ├── deployment │ │ └── ProcessorClass.java │ │ └── runtime │ │ ├── BuildTimeConfigClass.java │ │ ├── ConfigClass.java │ │ └── RecorderClass.java │ └── test │ ├── java │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── codegen │ │ └── poet │ │ ├── ClientTestModels.java │ │ ├── PoetMatchers.java │ │ ├── deployment │ │ └── ProcessorClassTest.java │ │ └── runtime │ │ ├── BuildTimeConfigClassTest.java │ │ ├── ConfigClassTest.java │ │ └── RecorderClassTest.java │ └── resources │ └── io │ └── quarkiverse │ └── amazon │ └── codegen │ └── poet │ ├── client │ └── c2j │ │ └── rest-json │ │ ├── customization.config │ │ └── service-2.json │ ├── deployment │ └── test-processor-class.java │ └── runtime │ ├── test-buildtimeconfig-class.java │ ├── test-config-class.java │ └── test-recorder-class.java ├── cognito-user-pools ├── deployment │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── io │ │ │ └── quarkiverse │ │ │ └── amazon │ │ │ └── cognitouserpools │ │ │ └── deployment │ │ │ └── CognitoUserPoolsProcessor.java │ │ └── test │ │ ├── java │ │ └── io │ │ │ └── quarkiverse │ │ │ └── amazon │ │ │ └── cognitouserpools │ │ │ └── deployment │ │ │ ├── CognitoUserPoolsBrokenEndpointConfigTest.java │ │ │ └── CognitoUserPoolsSyncClientFullConfigTest.java │ │ └── resources │ │ ├── broken-endpoint-config.properties │ │ └── full-config.properties ├── pom.xml └── runtime │ ├── pom.xml │ └── src │ └── main │ ├── java │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── cognitouserpools │ │ └── runtime │ │ ├── CognitoUserPoolsBuildTimeConfig.java │ │ ├── CognitoUserPoolsConfig.java │ │ └── CognitoUserPoolsRecorder.java │ └── resources │ └── META-INF │ └── quarkus-extension.yaml ├── common ├── deployment-apache-client-internal │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── io │ │ │ └── quarkiverse │ │ │ └── amazon │ │ │ └── common │ │ │ └── deployment │ │ │ └── apache │ │ │ └── ApacheTransportBuilderProcessor.java │ │ └── resources │ │ └── workaround-perform-release.txt ├── deployment-crt-client-internal │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── io │ │ │ └── quarkiverse │ │ │ └── amazon │ │ │ └── common │ │ │ └── deployment │ │ │ └── crt │ │ │ └── AwsCrtTransportBuilderProcessor.java │ │ └── resources │ │ └── workaround-perform-release.txt ├── deployment-devservices-spi │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── common │ │ └── deployment │ │ └── spi │ │ ├── AbstractDevServicesLocalStackProcessor.java │ │ ├── BorrowedLocalStackContainer.java │ │ ├── DevServicesAmazonProvider.java │ │ ├── DevServicesLocalStackProviderBuildItem.java │ │ └── LocalStackDevServicesBaseConfig.java ├── deployment-netty-client-internal │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── common │ │ └── deployment │ │ └── netty │ │ ├── EventLoopGroupBuildItem.java │ │ ├── EventLoopGroupProcessor.java │ │ └── NettyTransportBuilderProcessor.java ├── deployment-opentelemetry-internal │ ├── pom.xml │ └── src │ │ └── main │ │ └── resources │ │ └── workaround-perform-release.txt ├── deployment-spi │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── common │ │ └── deployment │ │ ├── AmazonClientAsyncTransportBuildItem.java │ │ ├── AmazonClientBuilderBuildItem.java │ │ ├── AmazonClientBuilderOverrideBuildItem.java │ │ ├── AmazonClientExtensionBuildItem.java │ │ ├── AmazonClientExtensionBuilderInstanceBuildItem.java │ │ ├── AmazonClientSyncTransportBuildItem.java │ │ └── RequireAmazonClientTransportBuilderBuildItem.java ├── deployment │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── common │ │ └── deployment │ │ ├── AbstractAmazonServiceProcessor.java │ │ ├── AmazonClientAsyncResultBuildItem.java │ │ ├── AmazonClientExtensionsProcessor.java │ │ ├── AmazonClientInterceptorsPathBuildItem.java │ │ ├── AmazonClientSyncResultBuildItem.java │ │ ├── AmazonHttpClients.java │ │ ├── AmazonServicesClientsProcessor.java │ │ ├── ClientDeploymentUtil.java │ │ ├── DevServicesAdditionalServicesLocalStackServiceProcessor.java │ │ ├── DevServicesLocalStackProcessor.java │ │ ├── RequireAmazonClientBuildItem.java │ │ ├── RequireAmazonClientInjectionBuildItem.java │ │ ├── RequireAmazonTelemetryBuildItem.java │ │ └── UrlConnectionTransportBuilderProcessor.java ├── pom.xml ├── runtime-apache-client-internal │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── io │ │ │ └── quarkiverse │ │ │ └── amazon │ │ │ └── common │ │ │ └── runtime │ │ │ └── AmazonClientApacheTransportRecorder.java │ │ └── resources │ │ └── META-INF │ │ └── quarkus-extension.yaml ├── runtime-crt-client-internal │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── io │ │ │ └── quarkiverse │ │ │ └── amazon │ │ │ └── common │ │ │ └── runtime │ │ │ └── AmazonClientAwsCrtTransportRecorder.java │ │ └── resources │ │ └── META-INF │ │ └── quarkus-extension.yaml ├── runtime-netty-client-internal │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── io │ │ │ └── quarkiverse │ │ │ └── amazon │ │ │ └── common │ │ │ └── runtime │ │ │ └── AmazonClientNettyTransportRecorder.java │ │ └── resources │ │ └── META-INF │ │ └── quarkus-extension.yaml ├── runtime-opentelemetry-internal │ ├── pom.xml │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ └── quarkus-extension.yaml ├── runtime-spi │ ├── pom.xml │ ├── resources │ │ └── META-INF │ │ │ └── quarkus-extension.yaml │ └── src │ │ └── main │ │ └── java │ │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── common │ │ └── runtime │ │ ├── AbstractAmazonClientTransportRecorder.java │ │ ├── AmazonClientConfig.java │ │ ├── AmazonClientRecorder.java │ │ ├── AsyncHttpClientBuildTimeConfig.java │ │ ├── AsyncHttpClientConfig.java │ │ ├── AwsConfig.java │ │ ├── AwsCredentialsProviderConfig.java │ │ ├── AwsCredentialsProviderType.java │ │ ├── ClientUtil.java │ │ ├── CrtHttpClientConfig.java │ │ ├── FileStoreTlsManagersProviderConfig.java │ │ ├── FileStoreTlsTrustManagersProvider.java │ │ ├── HasAmazonClientRuntimeConfig.java │ │ ├── HasSdkBuildTimeConfig.java │ │ ├── HasTransportBuildTimeConfig.java │ │ ├── NoneTlsTrustManagersProvider.java │ │ ├── RuntimeConfigurationError.java │ │ ├── SdkBuildTimeConfig.java │ │ ├── SdkConfig.java │ │ ├── SyncHttpClientBuildTimeConfig.java │ │ ├── SyncHttpClientConfig.java │ │ ├── TlsKeyManagersProviderConfig.java │ │ ├── TlsKeyManagersProviderType.java │ │ ├── TlsTrustManagersProviderConfig.java │ │ └── TlsTrustManagersProviderType.java └── runtime │ ├── pom.xml │ └── src │ └── main │ ├── java │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── common │ │ ├── AmazonClient.java │ │ ├── AmazonClientBuilder.java │ │ └── runtime │ │ ├── AmazonClientBuilderRecorder.java │ │ ├── AmazonClientCommonRecorder.java │ │ ├── AmazonClientOpenTelemetryRecorder.java │ │ ├── AmazonClientUrlConnectionTransportRecorder.java │ │ ├── AwsSdkTelemetryConfig.java │ │ ├── AwsSdkTelemetryProducer.java │ │ ├── CrtSubstitutions.java │ │ ├── DevServicesBuildTimeConfig.java │ │ ├── LocalStackDevServicesBuildTimeConfig.java │ │ ├── MotoDevServicesBuildTimeConfig.java │ │ ├── OtelNewSubstitutions.java │ │ ├── OtelOldSubstitutions.java │ │ ├── RegionConverter.java │ │ └── SdkAutoCloseableDestroyer.java │ └── resources │ └── META-INF │ ├── quarkus-extension.yaml │ └── services │ └── org.eclipse.microprofile.config.spi.Converter ├── crt ├── deployment │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── io │ │ └── quarkiverse │ │ └── amazonservices │ │ └── aws │ │ └── crt │ │ └── deployment │ │ └── AwsCrtProcessor.java ├── pom.xml └── runtime │ ├── pom.xml │ └── src │ └── main │ └── resources │ └── META-INF │ └── quarkus-extension.yaml ├── devservices ├── acm │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── devservices │ │ └── acm │ │ └── AcmDevServicesProcessor.java ├── bedrock │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── devservices │ │ └── bedrock │ │ └── BedrockDevServicesProcessor.java ├── bedrockruntime │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── devservices │ │ └── ecr │ │ └── BedrockRuntimeDevServicesProcessor.java ├── cloudwatch │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── devservices │ │ └── cloudwatch │ │ └── CloudWatchDevServicesProcessor.java ├── cloudwatchlogs │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── devservices │ │ └── cloudwatch │ │ └── CloudWatchLogsDevServicesProcessor.java ├── cognito-user-pools │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── devservices │ │ └── cognitouserpools │ │ ├── CognitoUserPoolsDevServicesProcessor.java │ │ └── MotoContainer.java ├── dynamodb │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── devservices │ │ └── dynamodb │ │ └── DynamodbDevServicesProcessor.java ├── ecr │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── devservices │ │ └── ecr │ │ └── EcrDevServicesProcessor.java ├── eventbridge │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── devservices │ │ └── eventbridge │ │ └── EventBridgeDevServicesProcessor.java ├── iam │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── devservices │ │ └── iam │ │ └── IamDevServicesProcessor.java ├── kinesis │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── devservices │ │ └── kinesis │ │ └── KinesisDevServicesProcessor.java ├── kms │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── devservices │ │ └── kms │ │ └── KmsDevServicesProcessor.java ├── lambda │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── devservices │ │ └── lambda │ │ └── LambdaDevServicesProcessor.java ├── pom.xml ├── rds │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── devservices │ │ └── rds │ │ └── RdsDevServicesProcessor.java ├── s3 │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── devservices │ │ └── s3 │ │ └── S3DevServicesProcessor.java ├── scheduler │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── devservices │ │ └── scheduler │ │ └── SchedulerDevServicesProcessor.java ├── secretsmanager │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── devservices │ │ └── secretsmanager │ │ └── SecretsManagerDevServicesProcessor.java ├── ses │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── devservices │ │ └── ses │ │ └── SesDevServicesProcessor.java ├── sesv2 │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── devservices │ │ └── sesv2 │ │ └── SesV2DevServicesProcessor.java ├── sfn │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── devservices │ │ └── sfn │ │ └── SfnDevServicesProcessor.java ├── sns │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── devservices │ │ └── sns │ │ └── SnsDevServicesProcessor.java ├── sqs │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── devservices │ │ └── sqs │ │ └── SqsDevServicesProcessor.java ├── ssm │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── devservices │ │ └── ssm │ │ └── SsmDevServicesProcessor.java └── sts │ ├── pom.xml │ └── src │ └── main │ └── java │ └── io │ └── quarkiverse │ └── amazon │ └── devservices │ └── sts │ └── StsDevServicesProcessor.java ├── docs ├── antora.yml ├── modules │ └── ROOT │ │ ├── assets │ │ └── images │ │ │ └── .keepme │ │ ├── nav.adoc │ │ └── pages │ │ ├── amazon-acm.adoc │ │ ├── amazon-apigatewaymanagementapi.adoc │ │ ├── amazon-bedrock.adoc │ │ ├── amazon-bedrockruntime.adoc │ │ ├── amazon-cloudwatch.adoc │ │ ├── amazon-cloudwatchlogs.adoc │ │ ├── amazon-cognitouserpools.adoc │ │ ├── amazon-configure-clients.adoc │ │ ├── amazon-credentials.adoc │ │ ├── amazon-dynamodb.adoc │ │ ├── amazon-ecr.adoc │ │ ├── amazon-elasticloadbalancing.adoc │ │ ├── amazon-elasticloadbalancingv2.adoc │ │ ├── amazon-eventbridge.adoc │ │ ├── amazon-iam.adoc │ │ ├── amazon-inspector.adoc │ │ ├── amazon-inspector2.adoc │ │ ├── amazon-iot.adoc │ │ ├── amazon-kinesis.adoc │ │ ├── amazon-kms.adoc │ │ ├── amazon-lambda.adoc │ │ ├── amazon-neptune.adoc │ │ ├── amazon-paymentcryptography.adoc │ │ ├── amazon-paymentcryptographydata.adoc │ │ ├── amazon-rds.adoc │ │ ├── amazon-rdsdata.adoc │ │ ├── amazon-s3.adoc │ │ ├── amazon-scheduler.adoc │ │ ├── amazon-secretsmanager.adoc │ │ ├── amazon-ses.adoc │ │ ├── amazon-sesv2.adoc │ │ ├── amazon-sfn.adoc │ │ ├── amazon-sns.adoc │ │ ├── amazon-sqs.adoc │ │ ├── amazon-ssm.adoc │ │ ├── amazon-sso.adoc │ │ ├── amazon-ssooidc.adoc │ │ ├── amazon-sts.adoc │ │ ├── common-features.adoc │ │ ├── dev-services.adoc │ │ ├── includes │ │ ├── attributes.adoc │ │ ├── quarkus-amazon-accessanalyzer.adoc │ │ ├── quarkus-amazon-accessanalyzer_quarkus.accessanalyzer.adoc │ │ ├── quarkus-amazon-account.adoc │ │ ├── quarkus-amazon-account_quarkus.account.adoc │ │ ├── quarkus-amazon-acm.adoc │ │ ├── quarkus-amazon-acm_quarkus.acm.adoc │ │ ├── quarkus-amazon-apigatewaymanagementapi.adoc │ │ ├── quarkus-amazon-apigatewaymanagementapi_quarkus.apigatewaymanagementapi.adoc │ │ ├── quarkus-amazon-bedrock.adoc │ │ ├── quarkus-amazon-bedrock_quarkus.bedrock.adoc │ │ ├── quarkus-amazon-bedrockruntime.adoc │ │ ├── quarkus-amazon-bedrockruntime_quarkus.bedrockruntime.adoc │ │ ├── quarkus-amazon-cloudwatch.adoc │ │ ├── quarkus-amazon-cloudwatch_quarkus.cloudwatch.adoc │ │ ├── quarkus-amazon-cloudwatchlogs.adoc │ │ ├── quarkus-amazon-cloudwatchlogs_quarkus.cloudwatchlogs.adoc │ │ ├── quarkus-amazon-cognito-user-pools.adoc │ │ ├── quarkus-amazon-cognito-user-pools_quarkus.cognito-user-pools.adoc │ │ ├── quarkus-amazon-dynamodb-enhanced.adoc │ │ ├── quarkus-amazon-dynamodb-enhanced_quarkus.dynamodbenhanced.adoc │ │ ├── quarkus-amazon-dynamodb.adoc │ │ ├── quarkus-amazon-dynamodb_quarkus.dynamodb.adoc │ │ ├── quarkus-amazon-ecr.adoc │ │ ├── quarkus-amazon-ecr_quarkus.ecr.adoc │ │ ├── quarkus-amazon-elasticloadbalancing.adoc │ │ ├── quarkus-amazon-elasticloadbalancing_quarkus.elasticloadbalancing.adoc │ │ ├── quarkus-amazon-elasticloadbalancingv2.adoc │ │ ├── quarkus-amazon-elasticloadbalancingv2_quarkus.elasticloadbalancingv2.adoc │ │ ├── quarkus-amazon-eventbridge.adoc │ │ ├── quarkus-amazon-eventbridge_quarkus.eventbridge.adoc │ │ ├── quarkus-amazon-iam.adoc │ │ ├── quarkus-amazon-iam_quarkus.iam.adoc │ │ ├── quarkus-amazon-inspector.adoc │ │ ├── quarkus-amazon-inspector2.adoc │ │ ├── quarkus-amazon-inspector2_quarkus.inspector2.adoc │ │ ├── quarkus-amazon-inspector_quarkus.inspector.adoc │ │ ├── quarkus-amazon-iot.adoc │ │ ├── quarkus-amazon-iot_quarkus.iot.adoc │ │ ├── quarkus-amazon-kinesis.adoc │ │ ├── quarkus-amazon-kinesis_quarkus.kinesis.adoc │ │ ├── quarkus-amazon-kms.adoc │ │ ├── quarkus-amazon-kms_quarkus.kms.adoc │ │ ├── quarkus-amazon-lambda.adoc │ │ ├── quarkus-amazon-lambda_quarkus.lambda.adoc │ │ ├── quarkus-amazon-neptune.adoc │ │ ├── quarkus-amazon-neptune_quarkus.neptune.adoc │ │ ├── quarkus-amazon-paymentcryptography.adoc │ │ ├── quarkus-amazon-paymentcryptography_quarkus.paymentcryptography.adoc │ │ ├── quarkus-amazon-paymentcryptographydata.adoc │ │ ├── quarkus-amazon-paymentcryptographydata_quarkus.paymentcryptographydata.adoc │ │ ├── quarkus-amazon-rds.adoc │ │ ├── quarkus-amazon-rds_quarkus.rds.adoc │ │ ├── quarkus-amazon-rdsdata.adoc │ │ ├── quarkus-amazon-rdsdata_quarkus.rdsdata.adoc │ │ ├── quarkus-amazon-s3.adoc │ │ ├── quarkus-amazon-s3_quarkus.s3.adoc │ │ ├── quarkus-amazon-scheduler.adoc │ │ ├── quarkus-amazon-scheduler_quarkus.eventbridge-scheduler.adoc │ │ ├── quarkus-amazon-secretsmanager.adoc │ │ ├── quarkus-amazon-secretsmanager_quarkus.secretsmanager.adoc │ │ ├── quarkus-amazon-ses.adoc │ │ ├── quarkus-amazon-ses_quarkus.ses.adoc │ │ ├── quarkus-amazon-sesv2.adoc │ │ ├── quarkus-amazon-sesv2_quarkus.sesv2.adoc │ │ ├── quarkus-amazon-sfn.adoc │ │ ├── quarkus-amazon-sfn_quarkus.sfn.adoc │ │ ├── quarkus-amazon-sns.adoc │ │ ├── quarkus-amazon-sns_quarkus.sns.adoc │ │ ├── quarkus-amazon-sqs.adoc │ │ ├── quarkus-amazon-sqs_quarkus.sqs.adoc │ │ ├── quarkus-amazon-ssm.adoc │ │ ├── quarkus-amazon-ssm_quarkus.ssm.adoc │ │ ├── quarkus-amazon-sso.adoc │ │ ├── quarkus-amazon-sso_quarkus.sso.adoc │ │ ├── quarkus-amazon-ssooidc.adoc │ │ ├── quarkus-amazon-ssooidc_quarkus.ssooidc.adoc │ │ ├── quarkus-amazon-sts.adoc │ │ ├── quarkus-amazon-sts_quarkus.sts.adoc │ │ ├── quarkus-amazon_quarkus.aws.adoc │ │ └── quarkus-amazon_quarkus.otel.adoc │ │ ├── index.adoc │ │ └── opentelemetry.adoc ├── pom.xml └── templates │ └── includes │ └── attributes.adoc ├── dynamodb-enhanced ├── deployment │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── io │ │ │ └── quarkiverse │ │ │ └── amazon │ │ │ └── dynamodb │ │ │ └── enhanced │ │ │ └── deployment │ │ │ ├── DotNames.java │ │ │ ├── DynamodbEnhancedBeanBuildItem.java │ │ │ ├── DynamodbEnhancedDbTableProcessor.java │ │ │ ├── DynamodbEnhancedProcessor.java │ │ │ └── DynamodbEnhancedTableBuildItem.java │ │ └── test │ │ ├── java │ │ └── io │ │ │ └── quarkiverse │ │ │ └── amazon │ │ │ └── dynamodb │ │ │ └── enhanced │ │ │ └── deployment │ │ │ ├── DynamoDBEnhancedDbTableConstructorInjection.java │ │ │ ├── DynamoDBExampleTableEntry.java │ │ │ ├── DynamoDBExampleTableNotABean.java │ │ │ ├── DynamoDbEnhancedClientAllowOverrideWithProducerTest.java │ │ │ ├── DynamoDbEnhancedClientProducer.java │ │ │ ├── DynamoDbEnhancedClientTest.java │ │ │ ├── DynamoDbEnhancedDbTableNotABeanTest.java │ │ │ └── DynamoDbEnhancedDbTableTest.java │ │ └── resources │ │ └── full-config.properties ├── pom.xml └── runtime │ ├── pom.xml │ └── src │ └── main │ ├── java │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── dynamodb │ │ └── enhanced │ │ └── runtime │ │ ├── BeanTableSchemaSubstitutionImplementation.java │ │ ├── DynamoDbEnhancedBuildTimeConfig.java │ │ ├── DynamodbEnhancedClientRecorder.java │ │ └── NamedDynamoDbTable.java │ └── resources │ └── META-INF │ └── quarkus-extension.yaml ├── integration-tests ├── pom.xml └── src │ ├── main │ ├── java │ │ └── io │ │ │ └── quarkiverse │ │ │ └── it │ │ │ └── amazon │ │ │ ├── AmazonApplication.java │ │ │ ├── acm │ │ │ └── AcmResource.java │ │ │ ├── bedrock │ │ │ ├── BedrockManager.java │ │ │ └── BedrockResource.java │ │ │ ├── bedrockruntime │ │ │ ├── BedrockRuntimeManager.java │ │ │ └── BedrockRuntimeResource.java │ │ │ ├── cloudwatch │ │ │ └── CloudWatchResource.java │ │ │ ├── cloudwatchslogs │ │ │ └── CloudWatchLogsResource.java │ │ │ ├── cognitouserpools │ │ │ └── CognitoUserPoolsResource.java │ │ │ ├── dynamodb │ │ │ ├── DynamoDBModifyResponse.java │ │ │ ├── DynamoDBUtils.java │ │ │ ├── DynamodbProducer.java │ │ │ ├── DynamodbResource.java │ │ │ └── enhanced │ │ │ │ ├── BaseDynamoDbBean.java │ │ │ │ ├── DynamoDBExampleTableEntry.java │ │ │ │ ├── DynamoDBExampleTableEntryImmutable.java │ │ │ │ ├── DynamoDbEnhancedAbstractResource.java │ │ │ │ ├── DynamoDbEnhancedDbTableResource.java │ │ │ │ ├── DynamoDbEnhancedImmutableResource.java │ │ │ │ ├── DynamoDbEnhancedResource.java │ │ │ │ └── MyExtension.java │ │ │ ├── eventbridge │ │ │ └── EventBridgeResource.java │ │ │ ├── iam │ │ │ └── IamResource.java │ │ │ ├── kinesis │ │ │ └── KinesisResource.java │ │ │ ├── kms │ │ │ └── KmsResource.java │ │ │ ├── lambda │ │ │ └── LambdaResource.java │ │ │ ├── localstack │ │ │ └── RedshiftResource.java │ │ │ ├── opentelemetry │ │ │ └── ExporterResource.java │ │ │ ├── s3 │ │ │ ├── S3ModifyResponse.java │ │ │ ├── S3ModifyResponseProducer.java │ │ │ ├── S3Resource.java │ │ │ └── S3Utils.java │ │ │ ├── s3transfermanager │ │ │ ├── S3TransferManagerResource.java │ │ │ └── S3TransferManagerUtils.java │ │ │ ├── scheduler │ │ │ └── SchedulerResource.java │ │ │ ├── secretsmanager │ │ │ └── SecretsManagerResource.java │ │ │ ├── ses │ │ │ └── SesResource.java │ │ │ ├── sfn │ │ │ └── SfnResource.java │ │ │ ├── sns │ │ │ ├── SnsManager.java │ │ │ └── SnsResource.java │ │ │ ├── sqs │ │ │ ├── SqsConsumerManager.java │ │ │ ├── SqsProducerManager.java │ │ │ ├── SqsQueueManager.java │ │ │ └── SqsResource.java │ │ │ ├── sqsmessagingconnector │ │ │ ├── SqsMessagingConnectorManager.java │ │ │ └── SqsMessagingConnectorResource.java │ │ │ ├── ssm │ │ │ └── SsmResource.java │ │ │ └── sts │ │ │ └── StsResource.java │ └── resources │ │ └── application.properties │ └── test │ ├── java │ └── io │ │ └── quarkiverse │ │ └── it │ │ └── amazon │ │ ├── AmazonAcmITCase.java │ │ ├── AmazonAcmTest.java │ │ ├── AmazonBedrockRuntimeTest.java │ │ ├── AmazonBedrockTest.java │ │ ├── AmazonCloudWatchITCase.java │ │ ├── AmazonCloudWatchLogTest.java │ │ ├── AmazonCloudWatchLogsITCase.java │ │ ├── AmazonCloudWatchTest.java │ │ ├── AmazonCognitoUserPoolsITCase.java │ │ ├── AmazonCognitoUserPoolsTest.java │ │ ├── AmazonDynamoDBEnhancedITCase.java │ │ ├── AmazonDynamoDBEnhancedTest.java │ │ ├── AmazonDynamoDBEnhancedWithoutCustomExtensionsTest.java │ │ ├── AmazonDynamodbITCase.java │ │ ├── AmazonDynamodbTest.java │ │ ├── AmazonEventBridgeITCase.java │ │ ├── AmazonEventBridgeTest.java │ │ ├── AmazonIamTest.java │ │ ├── AmazonKinesisITCase.java │ │ ├── AmazonKinesisTest.java │ │ ├── AmazonKmsITCase.java │ │ ├── AmazonKmsTest.java │ │ ├── AmazonLambdaITCase.java │ │ ├── AmazonLambdaTest.java │ │ ├── AmazonLocalStackTest.java │ │ ├── AmazonOpenTelemetryTest.java │ │ ├── AmazonS3ITCase.java │ │ ├── AmazonS3Test.java │ │ ├── AmazonSchedulerITCase.java │ │ ├── AmazonSchedulerTest.java │ │ ├── AmazonSecretsManagerITCase.java │ │ ├── AmazonSecretsManagerTest.java │ │ ├── AmazonSesITCase.java │ │ ├── AmazonSesTest.java │ │ ├── AmazonSfnITCase.java │ │ ├── AmazonSfnTest.java │ │ ├── AmazonSnsITCase.java │ │ ├── AmazonSnsTest.java │ │ ├── AmazonSqsITCase.java │ │ ├── AmazonSqsMessagingConnectorITCase.java │ │ ├── AmazonSqsMessagingConnectorTest.java │ │ ├── AmazonSqsTest.java │ │ ├── AmazonSsmITCase.java │ │ ├── AmazonSsmTest.java │ │ ├── AmazonStsITCase.java │ │ ├── AmazonStsTest.java │ │ └── Profiles.java │ └── resources │ ├── application.properties │ └── localstack-init │ ├── 01_create_lambda.sh │ └── 99_completed.sh ├── mvnw ├── mvnw.cmd ├── pom.xml ├── quarkus-messaging-amazon-sqs ├── deployment │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── io │ │ │ └── quarkiverse │ │ │ └── amazon │ │ │ └── sqs │ │ │ └── deployment │ │ │ └── MessagingAmazonSqsProcessor.java │ │ └── test │ │ └── java │ │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── sqs │ │ └── deployment │ │ ├── Quote.java │ │ ├── QuoteProcessor.java │ │ ├── QuotesResource.java │ │ ├── SqsConnectorCrtClientTest.java │ │ └── SqsConnectorNioClientTest.java ├── pom.xml └── runtime │ ├── pom.xml │ └── src │ └── main │ └── resources │ └── META-INF │ └── quarkus-extension.yaml ├── s3-transfer-manager ├── deployment │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── io │ │ │ └── quarkiverse │ │ │ └── amazon │ │ │ └── s3 │ │ │ └── deployment │ │ │ └── S3TransferManagerProcessor.java │ │ └── test │ │ ├── java │ │ └── io │ │ │ └── quarkiverse │ │ │ └── amazon │ │ │ └── s3 │ │ │ └── deployment │ │ │ └── S3TransferManagerClientFullConfigTest.java │ │ └── resources │ │ └── sync-urlconn-full-config.properties ├── pom.xml └── runtime │ ├── pom.xml │ └── src │ └── main │ ├── java │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── s3 │ │ └── runtime │ │ ├── S3CrtTransferManagerRecorder.java │ │ ├── S3CrtTransferManagerSubstitutions.java │ │ └── S3TransferManagerProducer.java │ └── resources │ └── META-INF │ └── quarkus-extension.yaml ├── s3 ├── deployment │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── io │ │ │ └── quarkiverse │ │ │ └── amazon │ │ │ └── s3 │ │ │ └── deployment │ │ │ ├── S3CrtProcessor.java │ │ │ └── S3Processor.java │ │ └── test │ │ ├── java │ │ └── io │ │ │ └── quarkiverse │ │ │ └── amazon │ │ │ └── s3 │ │ │ └── deployment │ │ │ ├── S3AsyncClientFullConfigTest.java │ │ │ ├── S3CrtClientTest.java │ │ │ ├── S3CustomCredentialsProviderMissedBeanNameNamedClientTest.java │ │ │ ├── S3CustomCredentialsProviderMissedBeanNameTest.java │ │ │ ├── S3CustomCredentialsProviderMissedBeanTest.java │ │ │ ├── S3CustomCredentialsProviderTest.java │ │ │ ├── S3DevServicesTest.java │ │ │ └── S3SyncClientFullConfigTest.java │ │ └── resources │ │ ├── async-netty-full-config.properties │ │ ├── custom-credentials-provider-missed-bean.properties │ │ ├── custom-credentials-provider-missed-name-named-client.properties │ │ ├── custom-credentials-provider-missed-name.properties │ │ ├── custom-credentials-provider.properties │ │ └── sync-urlconn-full-config.properties ├── pom.xml └── runtime │ ├── pom.xml │ └── src │ └── main │ ├── java │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── s3 │ │ └── runtime │ │ ├── S3BuildTimeConfig.java │ │ ├── S3Config.java │ │ ├── S3Crt.java │ │ ├── S3CrtConfig.java │ │ ├── S3CrtRecorder.java │ │ ├── S3CrtSubstitutions.java │ │ ├── S3DevServicesBuildTimeConfig.java │ │ └── S3Recorder.java │ └── resources │ └── META-INF │ └── quarkus-extension.yaml ├── scheduler ├── deployment │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── io │ │ │ └── quarkiverse │ │ │ └── amazon │ │ │ └── scheduler │ │ │ └── deployment │ │ │ └── SchedulerProcessor.java │ │ └── test │ │ ├── java │ │ └── io │ │ │ └── quarkiverse │ │ │ └── amazon │ │ │ └── scheduler │ │ │ └── deployment │ │ │ └── SchedulerClientFullConfigTest.java │ │ └── resources │ │ └── sync-urlconn-full-config.properties ├── pom.xml └── runtime │ ├── pom.xml │ └── src │ └── main │ ├── java │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── scheduler │ │ └── runtime │ │ ├── SchedulerBuildTimeConfig.java │ │ ├── SchedulerConfig.java │ │ └── SchedulerRecorder.java │ └── resources │ └── META-INF │ └── quarkus-extension.yaml ├── services ├── accessanalyzer │ ├── deployment │ │ └── pom.xml │ ├── pom.xml │ ├── runtime │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── quarkus-extension.yaml │ └── src │ │ └── main │ │ └── resources │ │ └── codegen-resources │ │ ├── customization.config │ │ └── service-2.json ├── account │ ├── deployment │ │ └── pom.xml │ ├── pom.xml │ ├── runtime │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── quarkus-extension.yaml │ └── src │ │ └── main │ │ └── resources │ │ └── codegen-resources │ │ ├── customization.config │ │ └── service-2.json ├── acm │ ├── deployment │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── acm │ │ │ │ └── deployment │ │ │ │ └── AcmSyncClientFullConfigTest.java │ │ │ └── resources │ │ │ └── sync-urlconn-full-config.properties │ ├── pom.xml │ ├── runtime │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── quarkus-extension.yaml │ └── src │ │ └── main │ │ └── resources │ │ └── codegen-resources │ │ ├── customization.config │ │ └── service-2.json ├── apigatewaymanagementapi │ ├── deployment │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── apigatewaymanagementapi │ │ │ │ └── deployment │ │ │ │ └── ApiGatewayManagementApiSyncClientFullConfigTest.java │ │ │ └── resources │ │ │ └── sync-urlconn-full-config.properties │ ├── pom.xml │ ├── runtime │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── quarkus-extension.yaml │ └── src │ │ └── main │ │ └── resources │ │ └── codegen-resources │ │ ├── customization.config │ │ └── service-2.json ├── bedrock │ ├── deployment │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── bedrock │ │ │ │ └── BedrockClientFullConfigTest.java │ │ │ └── resources │ │ │ └── full-config.properties │ ├── pom.xml │ ├── runtime │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── quarkus-extension.yaml │ └── src │ │ └── main │ │ └── resources │ │ └── codegen-resources │ │ ├── customization.config │ │ └── service-2.json ├── bedrockruntime │ ├── deployment │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── bedrockruntime │ │ │ │ └── deployment │ │ │ │ └── BedrockRuntimeClientFullConfigTest.java │ │ │ └── resources │ │ │ └── full-config.properties │ ├── pom.xml │ ├── runtime │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── quarkus-extension.yaml │ └── src │ │ └── main │ │ └── resources │ │ └── codegen-resources │ │ ├── customization.config │ │ └── service-2.json ├── cloudwatch │ ├── deployment │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── cloudwatch │ │ │ │ └── deployment │ │ │ │ └── CloudWatchSyncClientFullConfigTest.java │ │ │ └── resources │ │ │ └── sync-urlconn-full-config.properties │ ├── pom.xml │ ├── runtime │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── quarkus-extension.yaml │ └── src │ │ └── main │ │ └── resources │ │ └── codegen-resources │ │ ├── customization.config │ │ └── service-2.json ├── cloudwatchlogs │ ├── deployment │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── cloudwatch │ │ │ │ └── deployment │ │ │ │ └── CloudWatchLogsSyncClientFullConfigTest.java │ │ │ └── resources │ │ │ └── sync-urlconn-full-config.properties │ ├── pom.xml │ ├── runtime │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── quarkus-extension.yaml │ └── src │ │ └── main │ │ └── resources │ │ └── codegen-resources │ │ ├── customization.config │ │ └── service-2.json ├── dynamodb │ ├── deployment │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── dynamodb │ │ │ │ └── deployment │ │ │ │ └── DynamodbNativeProcessor.java │ │ │ └── test │ │ │ ├── java │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── dynamodb │ │ │ │ └── deployment │ │ │ │ ├── DynamodbAsyncClientAwsCrtTest.java │ │ │ │ ├── DynamodbAsyncClientBrokenProxyConfigTest.java │ │ │ │ ├── DynamodbAsyncClientFullConfigTest.java │ │ │ │ ├── DynamodbAsyncClientTlsKeyFileStoreConfigTest.java │ │ │ │ ├── DynamodbAsyncClientTlsTrustFileStoreConfigTest.java │ │ │ │ ├── DynamodbAsyncClientTlsTrustTrustAllConfigTest.java │ │ │ │ ├── DynamodbBrokenEndpointConfigTest.java │ │ │ │ ├── DynamodbClientDefaultCredentialsProviderConfigTest.java │ │ │ │ ├── DynamodbClientProfileCredentialsProviderConfigTest.java │ │ │ │ ├── DynamodbProcessCredentialsBrokenConfigTest.java │ │ │ │ ├── DynamodbStaticCredentialsBrokenConfigTest.java │ │ │ │ ├── DynamodbSyncApacheClientBrokenConfigTest.java │ │ │ │ ├── DynamodbSyncApacheClientBrokenProxyConfigTest.java │ │ │ │ ├── DynamodbSyncApacheClientFullConfigTest.java │ │ │ │ ├── DynamodbSyncClientTlsKeyFileStoreConfigTest.java │ │ │ │ ├── DynamodbSyncClientTlsTrustFileStoreConfigTest.java │ │ │ │ ├── DynamodbSyncClientTlsTrustTrustAllConfigTest.java │ │ │ │ ├── DynamodbSyncUrlConnClientFullConfigTest.java │ │ │ │ └── InitTest.java │ │ │ └── resources │ │ │ ├── async-aws-crt.properties │ │ │ ├── async-broken-proxy-config.properties │ │ │ ├── async-full-config.properties │ │ │ ├── async-tls-key-filestore-config.properties │ │ │ ├── async-tls-trust-filestore-config.properties │ │ │ ├── async-tls-trust-trustall-config.properties │ │ │ ├── broken-endpoint-config.properties │ │ │ ├── default-credentials-config.properties │ │ │ ├── localstack-init-script-config.properties │ │ │ ├── localstack-init │ │ │ ├── 01_configure_cli.sh │ │ │ └── 02_create_table.sh │ │ │ ├── process-credentials-broken-config.properties │ │ │ ├── profile-credentials-config.properties │ │ │ ├── static-credentials-broken-config.properties │ │ │ ├── sync-apache-broken-config.properties │ │ │ ├── sync-apache-broken-proxy-config.properties │ │ │ ├── sync-apache-full-config.properties │ │ │ ├── sync-tls-key-filestore-config.properties │ │ │ ├── sync-tls-trust-filestore-config.properties │ │ │ ├── sync-tls-trust-trustall-config.properties │ │ │ └── sync-urlconn-full-config.properties │ ├── pom.xml │ ├── runtime │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── quarkus-extension.yaml │ └── src │ │ └── main │ │ └── resources │ │ └── codegen-resources │ │ ├── customization.config │ │ └── service-2.json ├── ecr │ ├── deployment │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── ecr │ │ │ │ └── deployment │ │ │ │ ├── EcrDevServicesTest.java │ │ │ │ └── EcrSyncClientFullConfigTest.java │ │ │ └── resources │ │ │ └── sync-urlconn-full-config.properties │ ├── pom.xml │ ├── runtime │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── quarkus-extension.yaml │ └── src │ │ └── main │ │ └── resources │ │ └── codegen-resources │ │ ├── customization.config │ │ └── service-2.json ├── elasticloadbalancing │ ├── deployment │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── elasticloadbalancing │ │ │ │ └── deployment │ │ │ │ └── ElasticLoadBalancingClientFullConfigTest.java │ │ │ └── resources │ │ │ └── sync-urlconn-full-config.properties │ ├── pom.xml │ ├── runtime │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── quarkus-extension.yaml │ └── src │ │ └── main │ │ └── resources │ │ └── codegen-resources │ │ ├── customization.config │ │ └── service-2.json ├── elasticloadbalancingv2 │ ├── deployment │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── elasticloadbalancingv2 │ │ │ │ └── deployment │ │ │ │ └── ElasticLoadBalancingV2ClientFullConfigTest.java │ │ │ └── resources │ │ │ └── sync-urlconn-full-config.properties │ ├── pom.xml │ ├── runtime │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── quarkus-extension.yaml │ └── src │ │ └── main │ │ └── resources │ │ └── codegen-resources │ │ ├── customization.config │ │ └── service-2.json ├── eventbridge │ ├── deployment │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── eventbridge │ │ │ │ └── deployment │ │ │ │ └── EventBridgeSyncClientFullConfigTest.java │ │ │ └── resources │ │ │ └── full-config.properties │ ├── pom.xml │ ├── runtime │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── quarkus-extension.yaml │ └── src │ │ └── main │ │ └── resources │ │ └── codegen-resources │ │ ├── customization.config │ │ └── service-2.json ├── iam │ ├── deployment │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── iam │ │ │ │ └── deployment │ │ │ │ └── IamSyncClientFullConfigTest.java │ │ │ └── resources │ │ │ └── sync-urlconn-full-config.properties │ ├── pom.xml │ ├── runtime │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── quarkus-extension.yaml │ └── src │ │ └── main │ │ └── resources │ │ └── codegen-resources │ │ ├── customization.config │ │ └── service-2.json ├── inspector │ ├── deployment │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── inspector │ │ │ │ └── deployment │ │ │ │ └── InspectorSyncClientFullConfigTest.java │ │ │ └── resources │ │ │ └── sync-urlconn-full-config.properties │ ├── pom.xml │ ├── runtime │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── quarkus-extension.yaml │ └── src │ │ └── main │ │ └── resources │ │ └── codegen-resources │ │ ├── customization.config │ │ └── service-2.json ├── inspector2 │ ├── deployment │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── inspector2 │ │ │ │ └── deployment │ │ │ │ └── Inspector2SyncClientFullConfigTest.java │ │ │ └── resources │ │ │ └── sync-urlconn-full-config.properties │ ├── pom.xml │ ├── runtime │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── quarkus-extension.yaml │ └── src │ │ └── main │ │ └── resources │ │ └── codegen-resources │ │ ├── customization.config │ │ └── service-2.json ├── iot │ ├── deployment │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── iot │ │ │ │ └── deployment │ │ │ │ └── IotClientFullConfigTest.java │ │ │ └── resources │ │ │ └── sync-urlconn-full-config.properties │ ├── pom.xml │ ├── runtime │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── quarkus-extension.yaml │ └── src │ │ └── main │ │ └── resources │ │ └── codegen-resources │ │ ├── customization.config │ │ └── service-2.json ├── kinesis │ ├── deployment │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── kinesis │ │ │ │ └── deployment │ │ │ │ └── KinesisSyncClientFullConfigTest.java │ │ │ └── resources │ │ │ └── full-config.properties │ ├── pom.xml │ ├── runtime │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── quarkus-extension.yaml │ └── src │ │ └── main │ │ └── resources │ │ └── codegen-resources │ │ ├── customization.config │ │ └── service-2.json ├── kms │ ├── deployment │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── kms │ │ │ │ └── deployment │ │ │ │ └── KmsSyncClientFullConfigTest.java │ │ │ └── resources │ │ │ └── sync-urlconn-full-config.properties │ ├── pom.xml │ ├── runtime │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── quarkus-extension.yaml │ └── src │ │ └── main │ │ └── resources │ │ └── codegen-resources │ │ ├── customization.config │ │ └── service-2.json ├── lambda │ ├── deployment │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── lambdaclient │ │ │ │ └── deployment │ │ │ │ ├── LambdaDevServicesTest.java │ │ │ │ └── LambdaSyncClientFullConfigTest.java │ │ │ └── resources │ │ │ └── sync-urlconn-full-config.properties │ ├── pom.xml │ ├── runtime │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── quarkus-extension.yaml │ └── src │ │ └── main │ │ └── resources │ │ └── codegen-resources │ │ ├── customization.config │ │ └── service-2.json ├── neptune │ ├── deployment │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── neptune │ │ │ │ └── deployment │ │ │ │ └── NeptuneSyncClientFullConfigTest.java │ │ │ └── resources │ │ │ └── sync-urlconn-full-config.properties │ ├── pom.xml │ ├── runtime │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── quarkus-extension.yaml │ └── src │ │ └── main │ │ └── resources │ │ └── codegen-resources │ │ ├── customization.config │ │ └── service-2.json ├── paymentcryptography │ ├── deployment │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── paymentcryptography │ │ │ │ └── deployment │ │ │ │ └── PaymentCryptographySyncClientFullConfigTest.java │ │ │ └── resources │ │ │ └── sync-urlconn-full-config.properties │ ├── pom.xml │ ├── runtime │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── quarkus-extension.yaml │ └── src │ │ └── main │ │ └── resources │ │ └── codegen-resources │ │ ├── customization.config │ │ └── service-2.json ├── paymentcryptographydata │ ├── deployment │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── paymentcryptographydata │ │ │ │ └── deployment │ │ │ │ └── PaymentCryptographyDataSyncClientFullConfigTest.java │ │ │ └── resources │ │ │ └── sync-urlconn-full-config.properties │ ├── pom.xml │ ├── runtime │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── quarkus-extension.yaml │ └── src │ │ └── main │ │ └── resources │ │ └── codegen-resources │ │ ├── customization.config │ │ └── service-2.json ├── pom.xml ├── rds │ ├── deployment │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── rds │ │ │ │ └── deployment │ │ │ │ └── RsdCredentialProviderProcessor.java │ │ │ └── test │ │ │ ├── java │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── rds │ │ │ │ └── deployment │ │ │ │ └── RdsCredentialProviderTest.java │ │ │ └── resources │ │ │ └── rds-credential-provider-config.properties │ ├── pom.xml │ ├── runtime │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── rds │ │ │ │ └── runtime │ │ │ │ ├── RdsCredentialsProvider.java │ │ │ │ ├── RdsCredentialsProviderBuildTimeConfig.java │ │ │ │ └── RdsCredentialsProviderConfig.java │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── quarkus-extension.yaml │ └── src │ │ └── main │ │ └── resources │ │ └── codegen-resources │ │ ├── customization.config │ │ └── service-2.json ├── rdsdata │ ├── deployment │ │ └── pom.xml │ ├── pom.xml │ ├── runtime │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── quarkus-extension.yaml │ └── src │ │ └── main │ │ └── resources │ │ └── codegen-resources │ │ ├── customization.config │ │ └── service-2.json ├── secretsmanager │ ├── deployment │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── secretsmanager │ │ │ │ └── deployment │ │ │ │ └── SecretsManagerSyncClientFullConfigTest.java │ │ │ └── resources │ │ │ └── sync-urlconn-full-config.properties │ ├── pom.xml │ ├── runtime │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── quarkus-extension.yaml │ └── src │ │ └── main │ │ └── resources │ │ └── codegen-resources │ │ ├── customization.config │ │ └── service-2.json ├── ses │ ├── deployment │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── ses │ │ │ │ └── deployment │ │ │ │ └── SesSyncClientFullConfigTest.java │ │ │ └── resources │ │ │ └── sync-urlconn-full-config.properties │ ├── pom.xml │ ├── runtime │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── quarkus-extension.yaml │ └── src │ │ └── main │ │ └── resources │ │ └── codegen-resources │ │ ├── customization.config │ │ └── service-2.json ├── sesv2 │ ├── deployment │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── sesv2 │ │ │ │ └── deployment │ │ │ │ └── SesV2SyncClientFullConfigTest.java │ │ │ └── resources │ │ │ └── sync-urlconn-full-config.properties │ ├── pom.xml │ ├── runtime │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── quarkus-extension.yaml │ └── src │ │ └── main │ │ └── resources │ │ └── codegen-resources │ │ ├── customization.config │ │ └── service-2.json ├── sfn │ ├── deployment │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── sfn │ │ │ │ └── deployment │ │ │ │ └── SfnSyncClientFullConfigTest.java │ │ │ └── resources │ │ │ └── sync-urlconn-full-config.properties │ ├── pom.xml │ ├── runtime │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── quarkus-extension.yaml │ └── src │ │ └── main │ │ └── resources │ │ └── codegen-resources │ │ ├── customization.config │ │ └── service-2.json ├── sns │ ├── deployment │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── sns │ │ │ │ └── deployment │ │ │ │ └── SnsSyncClientFullConfigTest.java │ │ │ └── resources │ │ │ └── full-config.properties │ ├── pom.xml │ ├── runtime │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── quarkus-extension.yaml │ └── src │ │ └── main │ │ └── resources │ │ └── codegen-resources │ │ ├── customization.config │ │ └── service-2.json ├── ssm │ ├── deployment │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── ssm │ │ │ │ └── deployment │ │ │ │ └── SsmSyncClientFullConfigTest.java │ │ │ └── resources │ │ │ └── sync-urlconn-full-config.properties │ ├── pom.xml │ ├── runtime │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── quarkus-extension.yaml │ └── src │ │ └── main │ │ └── resources │ │ └── codegen-resources │ │ ├── customization.config │ │ └── service-2.json ├── sso │ ├── deployment │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── sso │ │ │ │ └── deployment │ │ │ │ └── SsoNativeProcessor.java │ │ │ └── test │ │ │ ├── java │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── sso │ │ │ │ └── deployment │ │ │ │ └── SsoSyncClientFullConfigTest.java │ │ │ └── resources │ │ │ └── full-config.properties │ ├── pom.xml │ ├── runtime │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── sso │ │ │ │ └── runtime │ │ │ │ └── SsoSubstitutions.java │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── quarkus-extension.yaml │ └── src │ │ └── main │ │ └── resources │ │ └── codegen-resources │ │ ├── customization.config │ │ └── service-2.json ├── ssooidc │ ├── deployment │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── ssooidc │ │ │ │ └── deployment │ │ │ │ └── SsoOidcNativeProcessor.java │ │ │ └── test │ │ │ ├── java │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── ssooidc │ │ │ │ └── deployment │ │ │ │ └── SsoOidcSyncClientFullConfigTest.java │ │ │ └── resources │ │ │ └── full-config.properties │ ├── pom.xml │ ├── runtime │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── io │ │ │ │ └── quarkiverse │ │ │ │ └── amazon │ │ │ │ └── ssooidc │ │ │ │ └── runtime │ │ │ │ └── SsoOidcSubstitutions.java │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── quarkus-extension.yaml │ └── src │ │ └── main │ │ └── resources │ │ └── codegen-resources │ │ ├── customization.config │ │ └── service-2.json └── sts │ ├── deployment │ ├── pom.xml │ └── src │ │ └── test │ │ ├── java │ │ └── io │ │ │ └── quarkiverse │ │ │ └── amazon │ │ │ └── sts │ │ │ └── deployment │ │ │ └── StsSyncClientFullConfigTest.java │ │ └── resources │ │ └── full-config.properties │ ├── pom.xml │ ├── runtime │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── io │ │ │ └── quarkiverse │ │ │ └── amazon │ │ │ └── sts │ │ │ └── runtime │ │ │ └── StsSubstitutions.java │ │ └── resources │ │ └── META-INF │ │ └── quarkus-extension.yaml │ └── src │ └── main │ └── resources │ └── codegen-resources │ ├── customization.config │ └── service-2.json └── sqs ├── deployment ├── pom.xml └── src │ ├── main │ └── java │ │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── sqs │ │ └── deployment │ │ ├── SqsOtelProcessor.java │ │ └── SqsProcessor.java │ └── test │ ├── java │ └── io │ │ └── quarkiverse │ │ └── amazon │ │ └── sqs │ │ └── deployment │ │ ├── SqsDevServicesWithSimpleQueuesTest.java │ │ ├── SqsDevServicesWithoutQueueTest.java │ │ └── SqsSyncClientFullConfigTest.java │ └── resources │ └── full-config.properties ├── pom.xml └── runtime ├── pom.xml └── src └── main ├── java └── io │ └── quarkiverse │ └── amazon │ └── sqs │ └── runtime │ ├── SqsBuildTimeConfig.java │ ├── SqsConfig.java │ ├── SqsDevServicesBuildTimeConfig.java │ ├── SqsOpenTelemetryRecorder.java │ └── SqsRecorder.java └── resources └── META-INF └── quarkus-extension.yaml /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | # Lines starting with '#' are comments. 2 | # Each line is a file pattern followed by one or more owners. 3 | 4 | # More details are here: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners 5 | 6 | # The '*' pattern is global owners. 7 | 8 | # Order is important. The last matching pattern has the most precedence. 9 | # The folders are ordered as follows: 10 | 11 | # In each subsection folders are ordered first by depth, then alphabetically. 12 | # This should make it easy to add new rules without breaking existing ones. 13 | 14 | * @quarkiverse/quarkiverse-amazon-services 15 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # To get started with Dependabot version updates, you'll need to specify which 2 | # package ecosystems to update and where the package manifests are located. 3 | # Please see the documentation for all configuration options: 4 | # https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates 5 | 6 | version: 2 7 | updates: 8 | - package-ecosystem: "maven" 9 | directory: "/" 10 | schedule: 11 | interval: "daily" 12 | ignore: 13 | - dependency-name: "org.apache.maven.plugins:maven-compiler-plugin" 14 | -------------------------------------------------------------------------------- /.github/project.yml: -------------------------------------------------------------------------------- 1 | release: 2 | current-version: 3.7.1 3 | next-version: 999-SNAPSHOT 4 | 5 | -------------------------------------------------------------------------------- /.github/workflows/pre-release.yml: -------------------------------------------------------------------------------- 1 | name: Quarkiverse Pre Release 2 | 3 | on: 4 | pull_request: 5 | paths: 6 | - '.github/project.yml' 7 | 8 | concurrency: 9 | group: ${{ github.workflow }}-${{ github.ref }} 10 | cancel-in-progress: true 11 | 12 | jobs: 13 | pre-release: 14 | name: Pre-Release 15 | uses: quarkiverse/.github/.github/workflows/pre-release.yml@main 16 | secrets: inherit 17 | -------------------------------------------------------------------------------- /.github/workflows/release-perform.yml: -------------------------------------------------------------------------------- 1 | name: Quarkiverse Perform Release 2 | run-name: Perform ${{github.event.inputs.tag || github.ref_name}} Release 3 | on: 4 | push: 5 | tags: 6 | - '*' 7 | workflow_dispatch: 8 | inputs: 9 | tag: 10 | description: 'Tag to release' 11 | required: true 12 | 13 | permissions: 14 | attestations: write 15 | id-token: write 16 | contents: read 17 | 18 | concurrency: 19 | group: ${{ github.workflow }}-${{ github.ref }} 20 | cancel-in-progress: true 21 | 22 | jobs: 23 | perform-release: 24 | name: Perform Release 25 | uses: quarkiverse/.github/.github/workflows/perform-release.yml@main 26 | secrets: inherit 27 | with: 28 | version: ${{github.event.inputs.tag || github.ref_name}} 29 | -------------------------------------------------------------------------------- /.github/workflows/release-prepare.yml: -------------------------------------------------------------------------------- 1 | name: Quarkiverse Prepare Release 2 | 3 | on: 4 | pull_request: 5 | types: [ closed ] 6 | paths: 7 | - '.github/project.yml' 8 | 9 | concurrency: 10 | group: ${{ github.workflow }}-${{ github.ref }} 11 | cancel-in-progress: true 12 | 13 | jobs: 14 | prepare-release: 15 | name: Prepare Release 16 | if: ${{ github.event.pull_request.merged == true}} 17 | uses: quarkiverse/.github/.github/workflows/prepare-release.yml@main 18 | secrets: inherit 19 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled class file 2 | *.class 3 | 4 | # Log file 5 | *.log 6 | 7 | # BlueJ files 8 | *.ctxt 9 | 10 | # Mobile Tools for Java (J2ME) 11 | .mtj.tmp/ 12 | 13 | # Package Files # 14 | *.jar 15 | *.war 16 | *.nar 17 | *.ear 18 | *.zip 19 | *.tar.gz 20 | *.rar 21 | 22 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 23 | hs_err_pid* 24 | 25 | # Eclipse 26 | .project 27 | .classpath 28 | .settings/ 29 | bin/ 30 | 31 | # IntelliJ 32 | .idea 33 | *.ipr 34 | *.iml 35 | *.iws 36 | 37 | # NetBeans 38 | nb-configuration.xml 39 | 40 | # Visual Studio Code 41 | .vscode 42 | .factorypath 43 | 44 | # OSX 45 | .DS_Store 46 | 47 | # Vim 48 | *.swp 49 | *.swo 50 | 51 | # patch 52 | *.orig 53 | *.rej 54 | 55 | # Gradle 56 | .gradle/ 57 | build/ 58 | 59 | # Maven 60 | target/ 61 | pom.xml.tag 62 | pom.xml.releaseBackup 63 | pom.xml.versionsBackup 64 | release.properties -------------------------------------------------------------------------------- /.mvn/jvm.config: -------------------------------------------------------------------------------- 1 | -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 2 | -Dmaven.wagon.http.retryHandler.requestSentEnabled=true 3 | -Dmaven.wagon.http.retryHandler.count=10 4 | -Xmx5g -------------------------------------------------------------------------------- /codegen/src/test/resources/io/quarkiverse/amazon/codegen/poet/client/c2j/rest-json/customization.config: -------------------------------------------------------------------------------- 1 | { 2 | "verifiedSimpleMethods": [ 3 | "describeRepositories", 4 | "getAuthorizationToken" 5 | ], 6 | "enableGenerateCompiledEndpointRules": true, 7 | "enableFastUnmarshaller": true 8 | } -------------------------------------------------------------------------------- /cognito-user-pools/deployment/src/test/java/io/quarkiverse/amazon/cognitouserpools/deployment/CognitoUserPoolsSyncClientFullConfigTest.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.cognitouserpools.deployment; 2 | 3 | import jakarta.inject.Inject; 4 | 5 | import org.junit.jupiter.api.Test; 6 | import org.junit.jupiter.api.extension.RegisterExtension; 7 | 8 | import io.quarkus.test.QuarkusUnitTest; 9 | import software.amazon.awssdk.services.cognitoidentityprovider.CognitoIdentityProviderClient; 10 | 11 | public class CognitoUserPoolsSyncClientFullConfigTest { 12 | 13 | @Inject 14 | CognitoIdentityProviderClient client; 15 | 16 | @RegisterExtension 17 | static final QuarkusUnitTest config = new QuarkusUnitTest() 18 | .withApplicationRoot((jar) -> jar 19 | .addAsResource("full-config.properties", "application.properties")); 20 | 21 | @Test 22 | public void test() { 23 | // should finish with success 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /cognito-user-pools/deployment/src/test/resources/broken-endpoint-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.cognito-user-pools.aws.region=us-east-1 2 | 3 | quarkus.cognito-user-pools.endpoint-override=127.0.0.1 4 | 5 | -------------------------------------------------------------------------------- /cognito-user-pools/deployment/src/test/resources/full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.cognito-user-pools.endpoint-override=http://localhost:9090 2 | 3 | quarkus.cognito-user-pools.aws.region=us-east-2 4 | quarkus.cognito-user-pools.aws.credentials.type=static 5 | quarkus.cognito-user-pools.aws.credentials.static-provider.access-key-id=test-key 6 | quarkus.cognito-user-pools.aws.credentials.static-provider.secret-access-key=test-secret 7 | 8 | quarkus.cognito-user-pools.sync-client.type = url 9 | quarkus.cognito-user-pools.sync-client.connection-timeout = 0.100S 10 | quarkus.cognito-user-pools.sync-client.socket-timeout = 0.100S -------------------------------------------------------------------------------- /cognito-user-pools/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-build-parent 8 | 999-SNAPSHOT 9 | ../build-parent/pom.xml 10 | 11 | 12 | quarkus-amazon-cognito-user-pools-parent 13 | Quarkus - Amazon Services - Cognito User Pools 14 | pom 15 | 16 | 17 | runtime 18 | deployment 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /cognito-user-pools/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon Cognito User Pools" 4 | metadata: 5 | keywords: 6 | - "cognito-user-pools" 7 | - "cognitoidentityprovider" 8 | - "cognito-identity-provider" 9 | - "cognito-idp" 10 | - "aws" 11 | - "amazon" 12 | guide: "https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-cognitouserpools.html" 13 | categories: 14 | - "data" 15 | status: "stable" 16 | config: 17 | - "quarkus.cognito-user-pools." 18 | -------------------------------------------------------------------------------- /common/deployment-apache-client-internal/src/main/resources/workaround-perform-release.txt: -------------------------------------------------------------------------------- 1 | This file should cause that -source.jar and -javadoc.jar are created. 2 | See https://github.com/jreleaser/jreleaser/issues/1751 -------------------------------------------------------------------------------- /common/deployment-crt-client-internal/src/main/resources/workaround-perform-release.txt: -------------------------------------------------------------------------------- 1 | This file should cause that -source.jar and -javadoc.jar are created. 2 | See https://github.com/jreleaser/jreleaser/issues/1751 -------------------------------------------------------------------------------- /common/deployment-devservices-spi/src/main/java/io/quarkiverse/amazon/common/deployment/spi/BorrowedLocalStackContainer.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.common.deployment.spi; 2 | 3 | import java.net.URI; 4 | 5 | import org.testcontainers.containers.localstack.LocalStackContainer.EnabledService; 6 | 7 | /** 8 | * Exposes configuration of an existing localstack container borrowed from another application 9 | */ 10 | public interface BorrowedLocalStackContainer { 11 | public URI getEndpointOverride(EnabledService enabledService); 12 | 13 | public String getRegion(); 14 | 15 | public String getAccessKey(); 16 | 17 | public String getSecretKey(); 18 | } 19 | -------------------------------------------------------------------------------- /common/deployment-netty-client-internal/src/main/java/io/quarkiverse/amazon/common/deployment/netty/EventLoopGroupProcessor.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.common.deployment.netty; 2 | 3 | import io.quarkus.deployment.annotations.BuildStep; 4 | import io.quarkus.netty.deployment.EventLoopGroupBuildItem; 5 | 6 | public class EventLoopGroupProcessor { 7 | 8 | @BuildStep 9 | io.quarkiverse.amazon.common.deployment.netty.EventLoopGroupBuildItem convert(EventLoopGroupBuildItem nettyEventLoopGroup) { 10 | return new io.quarkiverse.amazon.common.deployment.netty.EventLoopGroupBuildItem( 11 | nettyEventLoopGroup.getBossEventLoopGroup(), 12 | nettyEventLoopGroup.getMainEventLoopGroup()); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /common/deployment-opentelemetry-internal/src/main/resources/workaround-perform-release.txt: -------------------------------------------------------------------------------- 1 | This file should cause that -source.jar and -javadoc.jar are created. 2 | See https://github.com/jreleaser/jreleaser/issues/1751 -------------------------------------------------------------------------------- /common/deployment-spi/src/main/java/io/quarkiverse/amazon/common/deployment/AmazonClientBuilderOverrideBuildItem.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.common.deployment; 2 | 3 | import io.quarkus.builder.item.MultiBuildItem; 4 | 5 | public final class AmazonClientBuilderOverrideBuildItem extends MultiBuildItem { 6 | private final Class builderClass; 7 | private final String clientName; 8 | 9 | public AmazonClientBuilderOverrideBuildItem(Class builderClass, 10 | String clientName) { 11 | this.builderClass = builderClass; 12 | this.clientName = clientName; 13 | } 14 | 15 | public Class getBuilderClass() { 16 | return builderClass; 17 | } 18 | 19 | public String getClientName() { 20 | return clientName; 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /common/deployment/src/main/java/io/quarkiverse/amazon/common/deployment/AmazonClientAsyncResultBuildItem.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.common.deployment; 2 | 3 | import io.quarkus.builder.item.MultiBuildItem; 4 | 5 | /* 6 | * Describes what async clients are provided by a given extension 7 | */ 8 | public final class AmazonClientAsyncResultBuildItem extends MultiBuildItem { 9 | 10 | private final String awsClientName; 11 | private String clientName; 12 | 13 | public AmazonClientAsyncResultBuildItem(String awsClientName, String clientName) { 14 | this.awsClientName = awsClientName; 15 | this.clientName = clientName; 16 | } 17 | 18 | public String getAwsClientName() { 19 | return awsClientName; 20 | } 21 | 22 | public String getClientName() { 23 | return clientName; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /common/deployment/src/main/java/io/quarkiverse/amazon/common/deployment/AmazonClientInterceptorsPathBuildItem.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.common.deployment; 2 | 3 | import io.quarkus.builder.item.MultiBuildItem; 4 | 5 | public final class AmazonClientInterceptorsPathBuildItem extends MultiBuildItem { 6 | private final String interceptorsPath; 7 | 8 | public AmazonClientInterceptorsPathBuildItem(String interceptorsPath) { 9 | this.interceptorsPath = interceptorsPath; 10 | } 11 | 12 | public String getInterceptorsPath() { 13 | return interceptorsPath; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /common/deployment/src/main/java/io/quarkiverse/amazon/common/deployment/AmazonClientSyncResultBuildItem.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.common.deployment; 2 | 3 | import io.quarkus.builder.item.MultiBuildItem; 4 | 5 | /* 6 | * Describes what sync clients are provided by a given extension 7 | */ 8 | public final class AmazonClientSyncResultBuildItem extends MultiBuildItem { 9 | 10 | private final String awsClientName; 11 | private String clientName; 12 | 13 | public AmazonClientSyncResultBuildItem(String awsClientName, String clientName) { 14 | this.awsClientName = awsClientName; 15 | this.clientName = clientName; 16 | } 17 | 18 | public String getAwsClientName() { 19 | return awsClientName; 20 | } 21 | 22 | public String getClientName() { 23 | return clientName; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /common/deployment/src/main/java/io/quarkiverse/amazon/common/deployment/RequireAmazonClientInjectionBuildItem.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.common.deployment; 2 | 3 | import org.jboss.jandex.DotName; 4 | 5 | import io.quarkus.builder.item.MultiBuildItem; 6 | 7 | /** 8 | * Describes what client names are required. 9 | * 10 | */ 11 | public final class RequireAmazonClientInjectionBuildItem extends MultiBuildItem { 12 | private final DotName className; 13 | private final String name; 14 | 15 | public RequireAmazonClientInjectionBuildItem(DotName className, String name) { 16 | this.className = className; 17 | this.name = name; 18 | } 19 | 20 | public DotName getClassName() { 21 | return className; 22 | } 23 | 24 | public String getName() { 25 | return name; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /common/deployment/src/main/java/io/quarkiverse/amazon/common/deployment/RequireAmazonTelemetryBuildItem.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.common.deployment; 2 | 3 | import io.quarkus.builder.item.MultiBuildItem; 4 | 5 | /** 6 | * Produced when a client has telemetry enabled 7 | */ 8 | public final class RequireAmazonTelemetryBuildItem extends MultiBuildItem { 9 | 10 | private String configName; 11 | 12 | public RequireAmazonTelemetryBuildItem(String configName) { 13 | this.configName = configName; 14 | } 15 | 16 | public String getConfigName() { 17 | return configName; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /common/runtime-apache-client-internal/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | metadata: 4 | unlisted: "true" 5 | -------------------------------------------------------------------------------- /common/runtime-crt-client-internal/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | metadata: 4 | unlisted: "true" 5 | -------------------------------------------------------------------------------- /common/runtime-netty-client-internal/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | metadata: 4 | unlisted: "true" 5 | -------------------------------------------------------------------------------- /common/runtime-opentelemetry-internal/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | metadata: 4 | unlisted: "true" 5 | -------------------------------------------------------------------------------- /common/runtime-spi/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | metadata: 4 | unlisted: true -------------------------------------------------------------------------------- /common/runtime-spi/src/main/java/io/quarkiverse/amazon/common/runtime/AmazonClientConfig.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.common.runtime; 2 | 3 | import io.quarkus.runtime.annotations.ConfigDocSection; 4 | import io.quarkus.runtime.annotations.ConfigGroup; 5 | import io.smallrye.config.WithParentName; 6 | 7 | @ConfigGroup 8 | public interface AmazonClientConfig { 9 | /** 10 | * AWS SDK client configurations 11 | */ 12 | @WithParentName 13 | @ConfigDocSection 14 | SdkConfig sdk(); 15 | 16 | /** 17 | * AWS services configurations 18 | */ 19 | @ConfigDocSection 20 | AwsConfig aws(); 21 | } 22 | -------------------------------------------------------------------------------- /common/runtime-spi/src/main/java/io/quarkiverse/amazon/common/runtime/AsyncHttpClientBuildTimeConfig.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.common.runtime; 2 | 3 | import io.quarkus.runtime.annotations.ConfigGroup; 4 | import io.smallrye.config.WithDefault; 5 | 6 | @ConfigGroup 7 | public interface AsyncHttpClientBuildTimeConfig { 8 | 9 | /** 10 | * Type of the async HTTP client implementation 11 | */ 12 | @WithDefault(value = "netty") 13 | AsyncClientType type(); 14 | 15 | public enum AsyncClientType { 16 | NETTY, 17 | AWS_CRT 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /common/runtime-spi/src/main/java/io/quarkiverse/amazon/common/runtime/ClientUtil.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.common.runtime; 2 | 3 | public final class ClientUtil { 4 | public static final String DEFAULT_CLIENT_NAME = ""; 5 | 6 | public static boolean isDefaultClient(String clientName) { 7 | return DEFAULT_CLIENT_NAME.equalsIgnoreCase(clientName); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /common/runtime-spi/src/main/java/io/quarkiverse/amazon/common/runtime/FileStoreTlsManagersProviderConfig.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.common.runtime; 2 | 3 | import java.nio.file.Path; 4 | import java.util.Optional; 5 | 6 | import io.quarkus.runtime.annotations.ConfigGroup; 7 | 8 | @ConfigGroup 9 | public interface FileStoreTlsManagersProviderConfig { 10 | 11 | /** 12 | * Path to the key store. 13 | */ 14 | Optional path(); 15 | 16 | /** 17 | * Key store type. 18 | *

19 | * See the KeyStore section in 20 | * the https://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#KeyStore[Java Cryptography 21 | * Architecture Standard Algorithm Name Documentation] 22 | * for information about standard keystore types. 23 | */ 24 | Optional type(); 25 | 26 | /** 27 | * Key store password 28 | */ 29 | Optional password(); 30 | } 31 | -------------------------------------------------------------------------------- /common/runtime-spi/src/main/java/io/quarkiverse/amazon/common/runtime/HasAmazonClientRuntimeConfig.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.common.runtime; 2 | 3 | import java.util.Map; 4 | 5 | import io.quarkus.runtime.annotations.ConfigDocMapKey; 6 | import io.smallrye.config.WithDefaults; 7 | import io.smallrye.config.WithParentName; 8 | import io.smallrye.config.WithUnnamedKey; 9 | 10 | public interface HasAmazonClientRuntimeConfig { 11 | 12 | /** 13 | * Clients 14 | */ 15 | @ConfigDocMapKey("client-name") 16 | @WithParentName 17 | @WithDefaults 18 | @WithUnnamedKey(ClientUtil.DEFAULT_CLIENT_NAME) 19 | Map clients(); 20 | } 21 | -------------------------------------------------------------------------------- /common/runtime-spi/src/main/java/io/quarkiverse/amazon/common/runtime/HasSdkBuildTimeConfig.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.common.runtime; 2 | 3 | import io.smallrye.config.WithParentName; 4 | 5 | public interface HasSdkBuildTimeConfig { 6 | 7 | /** 8 | * SDK client configurations for AWS client 9 | */ 10 | @WithParentName 11 | SdkBuildTimeConfig sdk(); 12 | } 13 | -------------------------------------------------------------------------------- /common/runtime-spi/src/main/java/io/quarkiverse/amazon/common/runtime/HasTransportBuildTimeConfig.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.common.runtime; 2 | 3 | public interface HasTransportBuildTimeConfig { 4 | /** 5 | * Sync HTTP transport configuration 6 | */ 7 | SyncHttpClientBuildTimeConfig syncClient(); 8 | 9 | /** 10 | * Async HTTP transport configuration 11 | */ 12 | AsyncHttpClientBuildTimeConfig asyncClient(); 13 | } 14 | -------------------------------------------------------------------------------- /common/runtime-spi/src/main/java/io/quarkiverse/amazon/common/runtime/RuntimeConfigurationError.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.common.runtime; 2 | 3 | public class RuntimeConfigurationError extends RuntimeException { 4 | 5 | public RuntimeConfigurationError(String message) { 6 | super(message); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /common/runtime-spi/src/main/java/io/quarkiverse/amazon/common/runtime/SyncHttpClientBuildTimeConfig.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.common.runtime; 2 | 3 | import io.quarkus.runtime.annotations.ConfigGroup; 4 | import io.smallrye.config.WithDefault; 5 | 6 | @ConfigGroup 7 | public interface SyncHttpClientBuildTimeConfig { 8 | 9 | /** 10 | * Type of the sync HTTP client implementation 11 | */ 12 | @WithDefault(value = "url") 13 | SyncClientType type(); 14 | 15 | public enum SyncClientType { 16 | URL, 17 | APACHE, 18 | AWS_CRT 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /common/runtime/src/main/java/io/quarkiverse/amazon/common/runtime/MotoDevServicesBuildTimeConfig.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.common.runtime; 2 | 3 | import java.util.Map; 4 | 5 | import io.quarkus.runtime.annotations.ConfigPhase; 6 | import io.quarkus.runtime.annotations.ConfigRoot; 7 | import io.smallrye.config.ConfigMapping; 8 | import io.smallrye.config.WithDefault; 9 | 10 | @ConfigMapping(prefix = "quarkus.aws.devservices.moto") 11 | @ConfigRoot(phase = ConfigPhase.BUILD_AND_RUN_TIME_FIXED) 12 | public interface MotoDevServicesBuildTimeConfig { 13 | /** 14 | * The Moto container image to use. 15 | */ 16 | @WithDefault(value = "motoserver/moto") 17 | String imageName(); 18 | 19 | /** 20 | * Generic properties that are pass for additional container configuration. 21 | */ 22 | Map containerProperties(); 23 | } 24 | -------------------------------------------------------------------------------- /common/runtime/src/main/java/io/quarkiverse/amazon/common/runtime/SdkAutoCloseableDestroyer.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.common.runtime; 2 | 3 | import java.util.Map; 4 | 5 | import jakarta.enterprise.context.spi.CreationalContext; 6 | 7 | import io.quarkus.arc.BeanDestroyer; 8 | import software.amazon.awssdk.utils.SdkAutoCloseable; 9 | 10 | public class SdkAutoCloseableDestroyer implements BeanDestroyer { 11 | 12 | @Override 13 | public void destroy(SdkAutoCloseable instance, CreationalContext creationalContext, 14 | Map params) { 15 | instance.close(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /common/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon Services Common" 4 | metadata: 5 | keywords: 6 | - "amazon services" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "data" 11 | status: "stable" 12 | unlisted: true -------------------------------------------------------------------------------- /common/runtime/src/main/resources/META-INF/services/org.eclipse.microprofile.config.spi.Converter: -------------------------------------------------------------------------------- 1 | io.quarkiverse.amazon.common.runtime.RegionConverter 2 | 3 | -------------------------------------------------------------------------------- /crt/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-build-parent 8 | 999-SNAPSHOT 9 | ../build-parent/pom.xml 10 | 11 | 12 | quarkus-amazon-crt-parent 13 | Quarkus - Amazon Services - CRT 14 | pom 15 | 16 | 17 | runtime 18 | deployment 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /crt/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: Aws Crt 4 | metadata: 5 | keywords: 6 | - "crt" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "data" 11 | status: "preview" 12 | -------------------------------------------------------------------------------- /devservices/acm/src/main/java/io/quarkiverse/amazon/devservices/acm/AcmDevServicesProcessor.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.devservices.acm; 2 | 3 | import org.testcontainers.containers.localstack.LocalStackContainer.EnabledService; 4 | 5 | import io.quarkiverse.amazon.acm.runtime.AcmBuildTimeConfig; 6 | import io.quarkiverse.amazon.common.deployment.spi.AbstractDevServicesLocalStackProcessor; 7 | import io.quarkiverse.amazon.common.deployment.spi.DevServicesLocalStackProviderBuildItem; 8 | import io.quarkus.deployment.annotations.BuildStep; 9 | 10 | public class AcmDevServicesProcessor extends AbstractDevServicesLocalStackProcessor { 11 | 12 | @BuildStep 13 | DevServicesLocalStackProviderBuildItem setupSsm(AcmBuildTimeConfig clientBuildTimeConfig) { 14 | return this.setup(EnabledService.named("acm"), clientBuildTimeConfig.devservices()); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /devservices/bedrock/src/main/java/io/quarkiverse/amazon/devservices/bedrock/BedrockDevServicesProcessor.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.devservices.bedrock; 2 | 3 | import org.testcontainers.containers.localstack.LocalStackContainer.EnabledService; 4 | 5 | import io.quarkiverse.amazon.bedrock.runtime.BedrockBuildTimeConfig; 6 | import io.quarkiverse.amazon.common.deployment.spi.AbstractDevServicesLocalStackProcessor; 7 | import io.quarkiverse.amazon.common.deployment.spi.DevServicesLocalStackProviderBuildItem; 8 | import io.quarkus.deployment.annotations.BuildStep; 9 | 10 | public class BedrockDevServicesProcessor extends AbstractDevServicesLocalStackProcessor { 11 | 12 | @BuildStep 13 | DevServicesLocalStackProviderBuildItem setupBedrock(BedrockBuildTimeConfig clientBuildTimeConfig) { 14 | return this.setup(EnabledService.named("bedrock"), clientBuildTimeConfig.devservices()); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /devservices/cloudwatch/src/main/java/io/quarkiverse/amazon/devservices/cloudwatch/CloudWatchDevServicesProcessor.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.devservices.cloudwatch; 2 | 3 | import org.testcontainers.containers.localstack.LocalStackContainer.Service; 4 | 5 | import io.quarkiverse.amazon.cloudwatch.runtime.CloudWatchBuildTimeConfig; 6 | import io.quarkiverse.amazon.common.deployment.spi.AbstractDevServicesLocalStackProcessor; 7 | import io.quarkiverse.amazon.common.deployment.spi.DevServicesLocalStackProviderBuildItem; 8 | import io.quarkus.deployment.annotations.BuildStep; 9 | 10 | public class CloudWatchDevServicesProcessor extends AbstractDevServicesLocalStackProcessor { 11 | 12 | @BuildStep 13 | DevServicesLocalStackProviderBuildItem setupCloudWatch(CloudWatchBuildTimeConfig clientBuildTimeConfig) { 14 | return this.setup(Service.CLOUDWATCH, clientBuildTimeConfig.devservices()); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /devservices/cloudwatchlogs/src/main/java/io/quarkiverse/amazon/devservices/cloudwatch/CloudWatchLogsDevServicesProcessor.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.devservices.cloudwatch; 2 | 3 | import org.testcontainers.containers.localstack.LocalStackContainer.Service; 4 | 5 | import io.quarkiverse.amazon.cloudwatchlogs.runtime.CloudWatchLogsBuildTimeConfig; 6 | import io.quarkiverse.amazon.common.deployment.spi.AbstractDevServicesLocalStackProcessor; 7 | import io.quarkiverse.amazon.common.deployment.spi.DevServicesLocalStackProviderBuildItem; 8 | import io.quarkus.deployment.annotations.BuildStep; 9 | 10 | public class CloudWatchLogsDevServicesProcessor extends AbstractDevServicesLocalStackProcessor { 11 | 12 | @BuildStep 13 | DevServicesLocalStackProviderBuildItem setupCloudWatchLogs(CloudWatchLogsBuildTimeConfig clientBuildTimeConfig) { 14 | return this.setup(Service.CLOUDWATCHLOGS, clientBuildTimeConfig.devservices()); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /devservices/dynamodb/src/main/java/io/quarkiverse/amazon/devservices/dynamodb/DynamodbDevServicesProcessor.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.devservices.dynamodb; 2 | 3 | import org.testcontainers.containers.localstack.LocalStackContainer.Service; 4 | 5 | import io.quarkiverse.amazon.common.deployment.spi.AbstractDevServicesLocalStackProcessor; 6 | import io.quarkiverse.amazon.common.deployment.spi.DevServicesLocalStackProviderBuildItem; 7 | import io.quarkiverse.amazon.dynamodb.runtime.DynamoDbBuildTimeConfig; 8 | import io.quarkus.deployment.annotations.BuildStep; 9 | 10 | public class DynamodbDevServicesProcessor extends AbstractDevServicesLocalStackProcessor { 11 | 12 | @BuildStep 13 | DevServicesLocalStackProviderBuildItem setupDynamodb(DynamoDbBuildTimeConfig clientBuildTimeConfig) { 14 | return this.setup(Service.DYNAMODB, clientBuildTimeConfig.devservices()); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /devservices/ecr/src/main/java/io/quarkiverse/amazon/devservices/ecr/EcrDevServicesProcessor.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.devservices.ecr; 2 | 3 | import org.testcontainers.containers.localstack.LocalStackContainer.EnabledService; 4 | 5 | import io.quarkiverse.amazon.common.deployment.spi.AbstractDevServicesLocalStackProcessor; 6 | import io.quarkiverse.amazon.common.deployment.spi.DevServicesLocalStackProviderBuildItem; 7 | import io.quarkiverse.amazon.ecr.runtime.EcrBuildTimeConfig; 8 | import io.quarkus.deployment.annotations.BuildStep; 9 | 10 | public class EcrDevServicesProcessor extends AbstractDevServicesLocalStackProcessor { 11 | 12 | @BuildStep 13 | DevServicesLocalStackProviderBuildItem setupEcr(EcrBuildTimeConfig clientBuildTimeConfig) { 14 | return this.setup(EnabledService.named("ecr"), clientBuildTimeConfig.devservices()); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /devservices/eventbridge/src/main/java/io/quarkiverse/amazon/devservices/eventbridge/EventBridgeDevServicesProcessor.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.devservices.eventbridge; 2 | 3 | import org.testcontainers.containers.localstack.LocalStackContainer.EnabledService; 4 | 5 | import io.quarkiverse.amazon.common.deployment.spi.AbstractDevServicesLocalStackProcessor; 6 | import io.quarkiverse.amazon.common.deployment.spi.DevServicesLocalStackProviderBuildItem; 7 | import io.quarkiverse.amazon.eventbridge.runtime.EventBridgeBuildTimeConfig; 8 | import io.quarkus.deployment.annotations.BuildStep; 9 | 10 | public class EventBridgeDevServicesProcessor extends AbstractDevServicesLocalStackProcessor { 11 | 12 | @BuildStep 13 | DevServicesLocalStackProviderBuildItem setupEventBridge(EventBridgeBuildTimeConfig clientBuildTimeConfig) { 14 | return this.setup(EnabledService.named("events"), clientBuildTimeConfig.devservices()); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /devservices/iam/src/main/java/io/quarkiverse/amazon/devservices/iam/IamDevServicesProcessor.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.devservices.iam; 2 | 3 | import org.testcontainers.containers.localstack.LocalStackContainer.Service; 4 | 5 | import io.quarkiverse.amazon.common.deployment.spi.AbstractDevServicesLocalStackProcessor; 6 | import io.quarkiverse.amazon.common.deployment.spi.DevServicesLocalStackProviderBuildItem; 7 | import io.quarkiverse.amazon.iam.runtime.IamBuildTimeConfig; 8 | import io.quarkus.deployment.annotations.BuildStep; 9 | 10 | public class IamDevServicesProcessor extends AbstractDevServicesLocalStackProcessor { 11 | 12 | @BuildStep 13 | DevServicesLocalStackProviderBuildItem setupIam(IamBuildTimeConfig clientBuildTimeConfig) { 14 | return this.setup(Service.IAM, clientBuildTimeConfig.devservices()); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /devservices/kinesis/src/main/java/io/quarkiverse/amazon/devservices/kinesis/KinesisDevServicesProcessor.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.devservices.kinesis; 2 | 3 | import org.testcontainers.containers.localstack.LocalStackContainer.Service; 4 | 5 | import io.quarkiverse.amazon.common.deployment.spi.AbstractDevServicesLocalStackProcessor; 6 | import io.quarkiverse.amazon.common.deployment.spi.DevServicesLocalStackProviderBuildItem; 7 | import io.quarkiverse.amazon.kinesis.runtime.KinesisBuildTimeConfig; 8 | import io.quarkus.deployment.annotations.BuildStep; 9 | 10 | public class KinesisDevServicesProcessor extends AbstractDevServicesLocalStackProcessor { 11 | 12 | @BuildStep 13 | DevServicesLocalStackProviderBuildItem setupKinesis(KinesisBuildTimeConfig clientBuildTimeConfig) { 14 | return this.setup(Service.KINESIS, clientBuildTimeConfig.devservices()); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /devservices/kms/src/main/java/io/quarkiverse/amazon/devservices/kms/KmsDevServicesProcessor.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.devservices.kms; 2 | 3 | import org.testcontainers.containers.localstack.LocalStackContainer.Service; 4 | 5 | import io.quarkiverse.amazon.common.deployment.spi.AbstractDevServicesLocalStackProcessor; 6 | import io.quarkiverse.amazon.common.deployment.spi.DevServicesLocalStackProviderBuildItem; 7 | import io.quarkiverse.amazon.kms.runtime.KmsBuildTimeConfig; 8 | import io.quarkus.deployment.annotations.BuildStep; 9 | 10 | public class KmsDevServicesProcessor extends AbstractDevServicesLocalStackProcessor { 11 | 12 | @BuildStep 13 | DevServicesLocalStackProviderBuildItem setupKms(KmsBuildTimeConfig clientBuildTimeConfig) { 14 | return this.setup(Service.KMS, clientBuildTimeConfig.devservices()); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /devservices/lambda/src/main/java/io/quarkiverse/amazon/devservices/lambda/LambdaDevServicesProcessor.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.devservices.lambda; 2 | 3 | import org.testcontainers.containers.localstack.LocalStackContainer.Service; 4 | 5 | import io.quarkiverse.amazon.common.deployment.spi.AbstractDevServicesLocalStackProcessor; 6 | import io.quarkiverse.amazon.common.deployment.spi.DevServicesLocalStackProviderBuildItem; 7 | import io.quarkiverse.amazon.lambda.runtime.LambdaBuildTimeConfig; 8 | import io.quarkus.deployment.annotations.BuildStep; 9 | 10 | public class LambdaDevServicesProcessor extends AbstractDevServicesLocalStackProcessor { 11 | 12 | @BuildStep 13 | DevServicesLocalStackProviderBuildItem setupLambda(LambdaBuildTimeConfig clientBuildTimeConfig) { 14 | return this.setup(Service.LAMBDA, clientBuildTimeConfig.devservices()); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /devservices/rds/src/main/java/io/quarkiverse/amazon/devservices/rds/RdsDevServicesProcessor.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.devservices.rds; 2 | 3 | import org.testcontainers.containers.localstack.LocalStackContainer.EnabledService; 4 | 5 | import io.quarkiverse.amazon.common.deployment.spi.AbstractDevServicesLocalStackProcessor; 6 | import io.quarkiverse.amazon.common.deployment.spi.DevServicesLocalStackProviderBuildItem; 7 | import io.quarkiverse.amazon.rds.runtime.RdsBuildTimeConfig; 8 | import io.quarkus.deployment.annotations.BuildStep; 9 | 10 | public class RdsDevServicesProcessor extends AbstractDevServicesLocalStackProcessor { 11 | 12 | @BuildStep 13 | DevServicesLocalStackProviderBuildItem setupRds(RdsBuildTimeConfig clientBuildTimeConfig) { 14 | return this.setup(EnabledService.named("rds"), clientBuildTimeConfig.devservices()); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /devservices/scheduler/src/main/java/io/quarkiverse/amazon/devservices/scheduler/SchedulerDevServicesProcessor.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.devservices.scheduler; 2 | 3 | import org.testcontainers.containers.localstack.LocalStackContainer.EnabledService; 4 | 5 | import io.quarkiverse.amazon.common.deployment.spi.AbstractDevServicesLocalStackProcessor; 6 | import io.quarkiverse.amazon.common.deployment.spi.DevServicesLocalStackProviderBuildItem; 7 | import io.quarkiverse.amazon.scheduler.runtime.SchedulerBuildTimeConfig; 8 | import io.quarkus.deployment.annotations.BuildStep; 9 | 10 | public class SchedulerDevServicesProcessor extends AbstractDevServicesLocalStackProcessor { 11 | 12 | @BuildStep 13 | DevServicesLocalStackProviderBuildItem setupEventBridge(SchedulerBuildTimeConfig clientBuildTimeConfig) { 14 | return this.setup(EnabledService.named("scheduler"), clientBuildTimeConfig.devservices()); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /devservices/secretsmanager/src/main/java/io/quarkiverse/amazon/devservices/secretsmanager/SecretsManagerDevServicesProcessor.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.devservices.secretsmanager; 2 | 3 | import org.testcontainers.containers.localstack.LocalStackContainer.Service; 4 | 5 | import io.quarkiverse.amazon.common.deployment.spi.AbstractDevServicesLocalStackProcessor; 6 | import io.quarkiverse.amazon.common.deployment.spi.DevServicesLocalStackProviderBuildItem; 7 | import io.quarkiverse.amazon.secretsmanager.runtime.SecretsManagerBuildTimeConfig; 8 | import io.quarkus.deployment.annotations.BuildStep; 9 | 10 | public class SecretsManagerDevServicesProcessor extends AbstractDevServicesLocalStackProcessor { 11 | 12 | @BuildStep 13 | DevServicesLocalStackProviderBuildItem setupSecretsManager(SecretsManagerBuildTimeConfig clientBuildTimeConfig) { 14 | return this.setup(Service.SECRETSMANAGER, clientBuildTimeConfig.devservices()); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /devservices/ses/src/main/java/io/quarkiverse/amazon/devservices/ses/SesDevServicesProcessor.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.devservices.ses; 2 | 3 | import org.testcontainers.containers.localstack.LocalStackContainer.Service; 4 | 5 | import io.quarkiverse.amazon.common.deployment.spi.AbstractDevServicesLocalStackProcessor; 6 | import io.quarkiverse.amazon.common.deployment.spi.DevServicesLocalStackProviderBuildItem; 7 | import io.quarkiverse.amazon.ses.runtime.SesBuildTimeConfig; 8 | import io.quarkus.deployment.annotations.BuildStep; 9 | 10 | public class SesDevServicesProcessor extends AbstractDevServicesLocalStackProcessor { 11 | 12 | @BuildStep 13 | DevServicesLocalStackProviderBuildItem setupSes(SesBuildTimeConfig clientBuildTimeConfig) { 14 | return this.setup(Service.SES, clientBuildTimeConfig.devservices()); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /devservices/sfn/src/main/java/io/quarkiverse/amazon/devservices/sfn/SfnDevServicesProcessor.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.devservices.sfn; 2 | 3 | import org.testcontainers.containers.localstack.LocalStackContainer.Service; 4 | 5 | import io.quarkiverse.amazon.common.deployment.spi.AbstractDevServicesLocalStackProcessor; 6 | import io.quarkiverse.amazon.common.deployment.spi.DevServicesLocalStackProviderBuildItem; 7 | import io.quarkiverse.amazon.sfn.runtime.SfnBuildTimeConfig; 8 | import io.quarkus.deployment.annotations.BuildStep; 9 | 10 | public class SfnDevServicesProcessor extends AbstractDevServicesLocalStackProcessor { 11 | 12 | @BuildStep 13 | DevServicesLocalStackProviderBuildItem setupSfn(SfnBuildTimeConfig clientBuildTimeConfig) { 14 | return this.setup(Service.STEPFUNCTIONS, clientBuildTimeConfig.devservices()); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /devservices/sns/src/main/java/io/quarkiverse/amazon/devservices/sns/SnsDevServicesProcessor.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.devservices.sns; 2 | 3 | import org.testcontainers.containers.localstack.LocalStackContainer.Service; 4 | 5 | import io.quarkiverse.amazon.common.deployment.spi.AbstractDevServicesLocalStackProcessor; 6 | import io.quarkiverse.amazon.common.deployment.spi.DevServicesLocalStackProviderBuildItem; 7 | import io.quarkiverse.amazon.sns.runtime.SnsBuildTimeConfig; 8 | import io.quarkus.deployment.annotations.BuildStep; 9 | 10 | public class SnsDevServicesProcessor extends AbstractDevServicesLocalStackProcessor { 11 | 12 | @BuildStep 13 | DevServicesLocalStackProviderBuildItem setupSns(SnsBuildTimeConfig clientBuildTimeConfig) { 14 | return this.setup(Service.SNS, clientBuildTimeConfig.devservices()); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /devservices/ssm/src/main/java/io/quarkiverse/amazon/devservices/ssm/SsmDevServicesProcessor.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.devservices.ssm; 2 | 3 | import org.testcontainers.containers.localstack.LocalStackContainer.Service; 4 | 5 | import io.quarkiverse.amazon.common.deployment.spi.AbstractDevServicesLocalStackProcessor; 6 | import io.quarkiverse.amazon.common.deployment.spi.DevServicesLocalStackProviderBuildItem; 7 | import io.quarkiverse.amazon.ssm.runtime.SsmBuildTimeConfig; 8 | import io.quarkus.deployment.annotations.BuildStep; 9 | 10 | public class SsmDevServicesProcessor extends AbstractDevServicesLocalStackProcessor { 11 | 12 | @BuildStep 13 | DevServicesLocalStackProviderBuildItem setupSsm(SsmBuildTimeConfig clientBuildTimeConfig) { 14 | return this.setup(Service.SSM, clientBuildTimeConfig.devservices()); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /devservices/sts/src/main/java/io/quarkiverse/amazon/devservices/sts/StsDevServicesProcessor.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.devservices.sts; 2 | 3 | import org.testcontainers.containers.localstack.LocalStackContainer.Service; 4 | 5 | import io.quarkiverse.amazon.common.deployment.spi.AbstractDevServicesLocalStackProcessor; 6 | import io.quarkiverse.amazon.common.deployment.spi.DevServicesLocalStackProviderBuildItem; 7 | import io.quarkiverse.amazon.sts.runtime.StsBuildTimeConfig; 8 | import io.quarkus.deployment.annotations.BuildStep; 9 | 10 | public class StsDevServicesProcessor extends AbstractDevServicesLocalStackProcessor { 11 | 12 | @BuildStep 13 | DevServicesLocalStackProviderBuildItem setupSts(StsBuildTimeConfig clientBuildTimeConfig) { 14 | return this.setup(Service.STS, clientBuildTimeConfig.devservices()); 15 | } 16 | } -------------------------------------------------------------------------------- /docs/antora.yml: -------------------------------------------------------------------------------- 1 | name: quarkus-amazon-services 2 | title: Amazon Services 3 | nav: 4 | - modules/ROOT/nav.adoc 5 | -------------------------------------------------------------------------------- /docs/modules/ROOT/assets/images/.keepme: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quarkiverse/quarkus-amazon-services/ef38c94fe5c207cdcb2631ae438a9f05aa23c122/docs/modules/ROOT/assets/images/.keepme -------------------------------------------------------------------------------- /docs/modules/ROOT/pages/amazon-credentials.adoc: -------------------------------------------------------------------------------- 1 | * Java System Properties - `aws.accessKeyId` and `aws.secretAccessKey` 2 | * Environment Variables - `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` 3 | * Credential profiles file at the default location (`~/.aws/credentials`) shared by all AWS SDKs and the AWS CLI 4 | * Credentials delivered through the Amazon ECS if the `AWS_CONTAINER_CREDENTIALS_RELATIVE_URI` environment variable is set and the security manager has permission to access the variable, 5 | * Instance profile credentials delivered through the Amazon EC2 metadata service -------------------------------------------------------------------------------- /docs/modules/ROOT/pages/amazon-rdsdata.adoc: -------------------------------------------------------------------------------- 1 | :service-name: rdsdata 2 | :service-name-uppercase: RDSDATA 3 | 4 | = Amazon RDS Data Client 5 | 6 | include::./includes/attributes.adoc[] 7 | 8 | The Amazon RDS Data API is a web service that enables you to run SQL statements on an Amazon RDS database without having to manage a connection to the database. 9 | 10 | You can find more information about RDS at https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html[the Amazon RDS Data website]. 11 | 12 | include::./amazon-configure-clients.adoc[] 13 | 14 | == Configuration Reference 15 | 16 | include::./includes/quarkus-amazon-rdsdata.adoc[] 17 | -------------------------------------------------------------------------------- /docs/modules/ROOT/pages/includes/attributes.adoc: -------------------------------------------------------------------------------- 1 | :quarkus-version: 3.22.2 2 | :quarkus-amazon-services-version: 3.7.1 3 | :maven-version: 3.8.1+ 4 | 5 | :quarkus-org-url: https://github.com/quarkusio 6 | :quarkus-base-url: {quarkus-org-url}/quarkus 7 | :quarkus-clone-url: {quarkus-base-url}.git 8 | :quarkus-archive-url: {quarkus-base-url}/archive/master.zip 9 | :quarkus-tree-url: {quarkus-base-url}/tree/main 10 | :quarkus-issues-url: {quarkus-base-url}/issues 11 | :quarkus-guides-url: https://quarkus.io/guides 12 | :quickstarts-base-url: https://github.com/quarkusio/quarkus-quickstarts 13 | :quickstarts-clone-url: https://github.com/quarkusio/quarkus-quickstarts.git 14 | :quickstarts-archive-url: https://github.com/quarkusio/quarkus-quickstarts/archive/main.zip 15 | :quickstarts-blob-url: https://github.com/quarkusio/quarkus-quickstarts/blob/main 16 | :quickstarts-tree-url: https://github.com/quarkusio/quarkus-quickstarts/tree/main 17 | -------------------------------------------------------------------------------- /docs/modules/ROOT/pages/index.adoc: -------------------------------------------------------------------------------- 1 | = Quarkus Amazon Services 2 | 3 | This set of extensions expose AWS services through configuration properties and CDI injection. 4 | 5 | You can find the full set of supported services and documentation for each of them in the navigation on the left. 6 | -------------------------------------------------------------------------------- /docs/templates/includes/attributes.adoc: -------------------------------------------------------------------------------- 1 | :quarkus-version: ${quarkus.version} 2 | :quarkus-amazon-services-version: ${release.current-version} 3 | :maven-version: 3.8.1+ 4 | 5 | :quarkus-org-url: https://github.com/quarkusio 6 | :quarkus-base-url: {quarkus-org-url}/quarkus 7 | :quarkus-clone-url: {quarkus-base-url}.git 8 | :quarkus-archive-url: {quarkus-base-url}/archive/master.zip 9 | :quarkus-tree-url: {quarkus-base-url}/tree/main 10 | :quarkus-issues-url: {quarkus-base-url}/issues 11 | :quarkus-guides-url: https://quarkus.io/guides 12 | :quickstarts-base-url: https://github.com/quarkusio/quarkus-quickstarts 13 | :quickstarts-clone-url: https://github.com/quarkusio/quarkus-quickstarts.git 14 | :quickstarts-archive-url: https://github.com/quarkusio/quarkus-quickstarts/archive/main.zip 15 | :quickstarts-blob-url: https://github.com/quarkusio/quarkus-quickstarts/blob/main 16 | :quickstarts-tree-url: https://github.com/quarkusio/quarkus-quickstarts/tree/main 17 | -------------------------------------------------------------------------------- /dynamodb-enhanced/deployment/src/main/java/io/quarkiverse/amazon/dynamodb/enhanced/deployment/DynamodbEnhancedBeanBuildItem.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.dynamodb.enhanced.deployment; 2 | 3 | import org.jboss.jandex.DotName; 4 | 5 | import io.quarkus.builder.item.MultiBuildItem; 6 | 7 | public final class DynamodbEnhancedBeanBuildItem extends MultiBuildItem { 8 | 9 | private DotName className; 10 | 11 | public DynamodbEnhancedBeanBuildItem(DotName className) { 12 | this.className = className; 13 | } 14 | 15 | public DotName getClassName() { 16 | return className; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /dynamodb-enhanced/deployment/src/test/java/io/quarkiverse/amazon/dynamodb/enhanced/deployment/DynamoDBEnhancedDbTableConstructorInjection.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.dynamodb.enhanced.deployment; 2 | 3 | import jakarta.enterprise.context.ApplicationScoped; 4 | 5 | import io.quarkiverse.amazon.dynamodb.enhanced.runtime.NamedDynamoDbTable; 6 | import software.amazon.awssdk.enhanced.dynamodb.DynamoDbTable; 7 | 8 | @ApplicationScoped 9 | public class DynamoDBEnhancedDbTableConstructorInjection { 10 | 11 | private DynamoDbTable syncTable; 12 | 13 | DynamoDBEnhancedDbTableConstructorInjection( 14 | @NamedDynamoDbTable("sync") DynamoDbTable syncTable) { 15 | this.syncTable = syncTable; 16 | } 17 | 18 | public DynamoDbTable getSyncTable() { 19 | return syncTable; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /dynamodb-enhanced/deployment/src/test/java/io/quarkiverse/amazon/dynamodb/enhanced/deployment/DynamoDBExampleTableEntry.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.dynamodb.enhanced.deployment; 2 | 3 | import software.amazon.awssdk.enhanced.dynamodb.mapper.annotations.DynamoDbBean; 4 | 5 | @DynamoDbBean 6 | public class DynamoDBExampleTableEntry { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /dynamodb-enhanced/deployment/src/test/java/io/quarkiverse/amazon/dynamodb/enhanced/deployment/DynamoDBExampleTableNotABean.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.dynamodb.enhanced.deployment; 2 | 3 | public class DynamoDBExampleTableNotABean { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /dynamodb-enhanced/deployment/src/test/java/io/quarkiverse/amazon/dynamodb/enhanced/deployment/DynamoDbEnhancedClientProducer.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.dynamodb.enhanced.deployment; 2 | 3 | import jakarta.enterprise.context.ApplicationScoped; 4 | import jakarta.enterprise.inject.Produces; 5 | 6 | import software.amazon.awssdk.enhanced.dynamodb.DynamoDbEnhancedClient; 7 | import software.amazon.awssdk.services.dynamodb.DynamoDbClient; 8 | 9 | public class DynamoDbEnhancedClientProducer { 10 | 11 | @Produces 12 | @ApplicationScoped 13 | public DynamoDbEnhancedClient enhancedClient(DynamoDbClient client) { 14 | return DynamoDbEnhancedClient.builder() 15 | .dynamoDbClient(client) 16 | .build(); 17 | } 18 | 19 | @Produces 20 | @ApplicationScoped 21 | public DynamoDbClient client() { 22 | return DynamoDbClient.create(); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /dynamodb-enhanced/deployment/src/test/resources/full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.dynamodb.endpoint-override=http://localhost:8000 2 | quarkus.dynamodb.aws.region=us-east-2 3 | quarkus.dynamodb.aws.credentials.type=static 4 | quarkus.dynamodb.aws.credentials.static-provider.access-key-id=test-key 5 | quarkus.dynamodb.aws.credentials.static-provider.secret-access-key=test-secret 6 | 7 | -------------------------------------------------------------------------------- /dynamodb-enhanced/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-build-parent 8 | 999-SNAPSHOT 9 | ../build-parent/pom.xml 10 | 11 | 12 | quarkus-amazon-dynamodb-enhanced-parent 13 | Quarkus - Amazon Services - DynamoDB Enhanced 14 | pom 15 | 16 | 17 | runtime 18 | deployment 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /dynamodb-enhanced/runtime/src/main/java/io/quarkiverse/amazon/dynamodb/enhanced/runtime/NamedDynamoDbTable.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.dynamodb.enhanced.runtime; 2 | 3 | import static java.lang.annotation.ElementType.FIELD; 4 | import static java.lang.annotation.ElementType.PARAMETER; 5 | import static java.lang.annotation.RetentionPolicy.RUNTIME; 6 | 7 | import java.lang.annotation.Documented; 8 | import java.lang.annotation.Retention; 9 | import java.lang.annotation.Target; 10 | 11 | import jakarta.inject.Qualifier; 12 | 13 | /** 14 | * Specification of DynamoDb table to be injected. 15 | */ 16 | @Target({ FIELD, PARAMETER }) 17 | @Retention(RUNTIME) 18 | @Qualifier 19 | @Documented 20 | public @interface NamedDynamoDbTable { 21 | 22 | /** 23 | * @return name of the table to be injected 24 | */ 25 | String value(); 26 | } 27 | -------------------------------------------------------------------------------- /dynamodb-enhanced/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon DynamoDB Enhanced" 4 | metadata: 5 | keywords: 6 | - "dynamodb enhanced" 7 | - "enhanced" 8 | - "dynamodb" 9 | - "dynamo" 10 | - "aws" 11 | - "amazon" 12 | categories: 13 | - "data" 14 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-dynamodb.html 15 | status: "stable" 16 | -------------------------------------------------------------------------------- /integration-tests/src/main/java/io/quarkiverse/it/amazon/AmazonApplication.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import jakarta.ws.rs.ApplicationPath; 4 | import jakarta.ws.rs.core.Application; 5 | 6 | @ApplicationPath("/test") 7 | public class AmazonApplication extends Application { 8 | } -------------------------------------------------------------------------------- /integration-tests/src/main/java/io/quarkiverse/it/amazon/dynamodb/enhanced/BaseDynamoDbBean.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon.dynamodb.enhanced; 2 | 3 | public class BaseDynamoDbBean { 4 | 5 | private String payload; 6 | 7 | public String getPayload() { 8 | return payload; 9 | } 10 | 11 | public void setPayload(String payload) { 12 | this.payload = payload; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /integration-tests/src/main/java/io/quarkiverse/it/amazon/localstack/RedshiftResource.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon.localstack; 2 | 3 | import static jakarta.ws.rs.core.MediaType.TEXT_PLAIN; 4 | 5 | import jakarta.ws.rs.GET; 6 | import jakarta.ws.rs.Path; 7 | import jakarta.ws.rs.Produces; 8 | 9 | import org.eclipse.microprofile.config.inject.ConfigProperty; 10 | import org.jboss.logging.Logger; 11 | 12 | @Path("/redshift") 13 | public class RedshiftResource { 14 | 15 | private static final Logger LOG = Logger.getLogger(RedshiftResource.class); 16 | 17 | @ConfigProperty(name = "quarkus.redshift.endpoint-override") 18 | String endPointOverride; 19 | 20 | @GET 21 | @Path("test") 22 | @Produces(TEXT_PLAIN) 23 | public String testSync() { 24 | LOG.info("Testing additional service for localstack"); 25 | 26 | return endPointOverride; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /integration-tests/src/main/java/io/quarkiverse/it/amazon/s3/S3ModifyResponseProducer.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon.s3; 2 | 3 | import jakarta.enterprise.context.ApplicationScoped; 4 | import jakarta.enterprise.inject.Produces; 5 | 6 | @ApplicationScoped 7 | public class S3ModifyResponseProducer { 8 | 9 | @Produces 10 | @ApplicationScoped 11 | S3ModifyResponse produce() { 12 | return new S3ModifyResponse("INTERCEPTED"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /integration-tests/src/main/java/io/quarkiverse/it/amazon/s3transfermanager/S3TransferManagerUtils.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon.s3transfermanager; 2 | 3 | import software.amazon.awssdk.services.s3.model.CopyObjectRequest; 4 | import software.amazon.awssdk.transfer.s3.model.CopyRequest; 5 | 6 | public class S3TransferManagerUtils { 7 | public static CopyRequest createCopyObjectRequest(String bucket, String keyValue, String destinationBucket, 8 | String destinationKeyValue) { 9 | CopyObjectRequest copyObjectRequest = CopyObjectRequest.builder() 10 | .sourceBucket(bucket) 11 | .sourceKey(keyValue) 12 | .destinationBucket(destinationBucket) 13 | .destinationKey(destinationKeyValue) 14 | .build(); 15 | 16 | return CopyRequest.builder() 17 | .copyObjectRequest(copyObjectRequest) 18 | .build(); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /integration-tests/src/main/java/io/quarkiverse/it/amazon/sqsmessagingconnector/SqsMessagingConnectorResource.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon.sqsmessagingconnector; 2 | 3 | import java.util.List; 4 | 5 | import jakarta.inject.Inject; 6 | import jakarta.ws.rs.GET; 7 | import jakarta.ws.rs.POST; 8 | import jakarta.ws.rs.Path; 9 | 10 | import org.jboss.resteasy.reactive.RestQuery; 11 | 12 | @Path("/sqs-messaging-connector") 13 | public class SqsMessagingConnectorResource { 14 | @Inject 15 | SqsMessagingConnectorManager connectorManager; 16 | 17 | @Path("messages/{queueName}") 18 | @POST 19 | public void sendSyncMessage(String queueName, @RestQuery String message) { 20 | connectorManager.sendMessage(message, queueName); 21 | } 22 | 23 | @Path("messages/{queueName}") 24 | @GET 25 | public List getMessages() { 26 | return connectorManager.getMessages(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/AmazonAcmITCase.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import io.quarkus.test.junit.QuarkusIntegrationTest; 4 | 5 | @QuarkusIntegrationTest 6 | public class AmazonAcmITCase extends AmazonAcmTest { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/AmazonAcmTest.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import static org.hamcrest.Matchers.is; 4 | 5 | import org.junit.jupiter.api.Test; 6 | 7 | import io.quarkus.test.junit.QuarkusTest; 8 | import io.restassured.RestAssured; 9 | 10 | @QuarkusTest 11 | public class AmazonAcmTest { 12 | 13 | @Test 14 | public void testAcmAsync() { 15 | RestAssured.when().get("/test/acm/async").then().body(is("quarkus.local")); 16 | } 17 | 18 | @Test 19 | public void testAcmSync() { 20 | RestAssured.when().get("/test/acm/sync").then().body(is("quarkus.local")); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/AmazonBedrockTest.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import static org.hamcrest.Matchers.any; 4 | 5 | import org.junit.jupiter.params.ParameterizedTest; 6 | import org.junit.jupiter.params.provider.ValueSource; 7 | 8 | import io.quarkus.test.junit.QuarkusTest; 9 | import io.restassured.RestAssured; 10 | import io.restassured.parsing.Parser; 11 | 12 | @QuarkusTest 13 | class AmazonBedrockTest { 14 | 15 | @ParameterizedTest 16 | @ValueSource(strings = { "sync", "async" }) 17 | void testPublishAndReceive(String endpoint) { 18 | RestAssured.defaultParser = Parser.JSON; 19 | 20 | // List invoked 21 | RestAssured.given().pathParam("endpoint", endpoint).when() 22 | .get("/test/bedrock/{endpoint}/foundation-models") 23 | // test at least for pro feature failure 24 | .then().statusCode(501).body(any(String.class)); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/AmazonCloudWatchITCase.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import io.quarkus.test.junit.QuarkusIntegrationTest; 4 | 5 | @QuarkusIntegrationTest 6 | public class AmazonCloudWatchITCase extends AmazonCloudWatchTest { 7 | } 8 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/AmazonCloudWatchLogsITCase.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import io.quarkus.test.junit.QuarkusIntegrationTest; 4 | 5 | @QuarkusIntegrationTest 6 | public class AmazonCloudWatchLogsITCase extends AmazonCloudWatchLogTest { 7 | } 8 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/AmazonCognitoUserPoolsITCase.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import io.quarkus.test.junit.QuarkusIntegrationTest; 4 | 5 | @QuarkusIntegrationTest 6 | public class AmazonCognitoUserPoolsITCase extends AmazonCognitoUserPoolsTest { 7 | } 8 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/AmazonCognitoUserPoolsTest.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import static org.hamcrest.Matchers.is; 4 | 5 | import org.junit.jupiter.api.Test; 6 | 7 | import io.quarkus.test.junit.QuarkusTest; 8 | import io.restassured.RestAssured; 9 | 10 | @QuarkusTest 11 | public class AmazonCognitoUserPoolsTest { 12 | @Test 13 | public void testAsync() { 14 | RestAssured.when().get("/test/cognito-user-pools/async") 15 | .then().body(is("async-success")); 16 | } 17 | 18 | @Test 19 | public void testSync() { 20 | RestAssured.when().get("/test/cognito-user-pools/sync") 21 | .then().body(is("sync-success")); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/AmazonDynamoDBEnhancedITCase.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import io.quarkus.test.junit.QuarkusIntegrationTest; 4 | 5 | @QuarkusIntegrationTest 6 | public class AmazonDynamoDBEnhancedITCase extends AmazonDynamoDBEnhancedTest { 7 | } 8 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/AmazonDynamoDBEnhancedWithoutCustomExtensionsTest.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import static org.hamcrest.CoreMatchers.is; 4 | 5 | import org.junit.jupiter.api.Test; 6 | 7 | import io.quarkus.test.junit.QuarkusTest; 8 | import io.quarkus.test.junit.TestProfile; 9 | import io.restassured.RestAssured; 10 | 11 | @QuarkusTest 12 | @TestProfile(Profiles.DynamoDBEnhancedClientWithoutCustomExtensions.class) 13 | public class AmazonDynamoDBEnhancedWithoutCustomExtensionsTest { 14 | 15 | @Test 16 | public void testDynamoDbEnhancedClientWithoutCustomExtensionAsync() { 17 | RestAssured.when().get("/test/dynamodbenhanced/async").then().body(is("INTERCEPTED OK@1")); 18 | } 19 | 20 | @Test 21 | public void testDynamoDbEnhancedClientWithoutCustomExtensionBlocking() { 22 | RestAssured.when().get("/test/dynamodbenhanced/blocking").then().body(is("INTERCEPTED OK@1")); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/AmazonDynamodbITCase.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import io.quarkus.test.junit.QuarkusIntegrationTest; 4 | 5 | @QuarkusIntegrationTest 6 | public class AmazonDynamodbITCase extends AmazonDynamodbTest { 7 | } 8 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/AmazonDynamodbTest.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import static org.hamcrest.Matchers.is; 4 | 5 | import org.junit.jupiter.api.Test; 6 | 7 | import io.quarkus.test.junit.QuarkusTest; 8 | import io.restassured.RestAssured; 9 | 10 | @QuarkusTest 11 | public class AmazonDynamodbTest { 12 | 13 | @Test 14 | public void testDynamoDbAsync() { 15 | RestAssured.when().get("/test/dynamodb/async").then().body(is("INTERCEPTED OK")); 16 | } 17 | 18 | @Test 19 | public void testDynamoDbBlocking() { 20 | RestAssured.when().get("/test/dynamodb/blocking").then().body(is("INTERCEPTED OK")); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/AmazonEventBridgeITCase.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import io.quarkus.test.junit.QuarkusIntegrationTest; 4 | 5 | @QuarkusIntegrationTest 6 | public class AmazonEventBridgeITCase extends AmazonEventBridgeTest { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/AmazonEventBridgeTest.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import static org.hamcrest.Matchers.is; 4 | 5 | import org.junit.jupiter.api.Test; 6 | 7 | import io.quarkus.test.junit.QuarkusTest; 8 | import io.restassured.RestAssured; 9 | 10 | @QuarkusTest 11 | public class AmazonEventBridgeTest { 12 | 13 | @Test 14 | public void testEventBridgeAsync() { 15 | RestAssured.when().get("/test/eventbridge/async").then() 16 | .body(is("arn:aws:events:us-east-1:000000000000:rule/quarkus-rule-async")); 17 | } 18 | 19 | @Test 20 | public void testEventBridgeSync() { 21 | RestAssured.when().get("/test/eventbridge/sync").then() 22 | .body(is("arn:aws:events:us-east-1:000000000000:rule/quarkus-rule-sync")); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/AmazonIamTest.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import static org.hamcrest.Matchers.any; 4 | import static org.hamcrest.Matchers.equalTo; 5 | 6 | import org.junit.jupiter.api.Test; 7 | 8 | import io.quarkus.test.junit.QuarkusTest; 9 | import io.restassured.RestAssured; 10 | 11 | @QuarkusTest 12 | public class AmazonIamTest { 13 | 14 | @Test 15 | public void testIamAsync() { 16 | RestAssured.when().get("/test/iam/async").then().body(any(String.class)); 17 | } 18 | 19 | @Test 20 | public void testIamSync() { 21 | RestAssured.when().get("/test/iam/sync").then().body(any(String.class)); 22 | } 23 | 24 | @Test 25 | public void testAccountSync() { 26 | RestAssured.when().get("/test/iam/account").then().body(equalTo("000000000000:112233445566")); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/AmazonKinesisITCase.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import io.quarkus.test.junit.QuarkusIntegrationTest; 4 | 5 | @QuarkusIntegrationTest 6 | public class AmazonKinesisITCase extends AmazonKinesisTest { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/AmazonKmsITCase.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import io.quarkus.test.junit.QuarkusIntegrationTest; 4 | 5 | @QuarkusIntegrationTest 6 | public class AmazonKmsITCase extends AmazonKmsTest { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/AmazonKmsTest.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import static org.hamcrest.Matchers.is; 4 | 5 | import org.junit.jupiter.api.Test; 6 | 7 | import io.quarkus.test.junit.QuarkusTest; 8 | import io.restassured.RestAssured; 9 | 10 | @QuarkusTest 11 | public class AmazonKmsTest { 12 | 13 | @Test 14 | public void testKmsAsync() { 15 | RestAssured.when().get("/test/kms/async").then().body(is("Quarkus is awsome")); 16 | } 17 | 18 | @Test 19 | public void testKmsSync() { 20 | RestAssured.when().get("/test/kms/sync").then().body(is("Quarkus is awsome")); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/AmazonLambdaITCase.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import io.quarkus.test.junit.QuarkusIntegrationTest; 4 | 5 | @QuarkusIntegrationTest 6 | public class AmazonLambdaITCase extends AmazonLambdaTest { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/AmazonLambdaTest.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import static org.hamcrest.Matchers.is; 4 | 5 | import org.junit.jupiter.api.Test; 6 | 7 | import io.quarkus.test.junit.QuarkusTest; 8 | import io.restassured.RestAssured; 9 | 10 | @QuarkusTest 11 | public class AmazonLambdaTest { 12 | 13 | public static final String LAMBDA_NAME = "localstack-lambda-hello"; 14 | 15 | @Test 16 | public void testAsync() { 17 | RestAssured.given().when().get("/test/lambda/async").then().body(is(LAMBDA_NAME)); 18 | } 19 | 20 | @Test 21 | public void testBlocking() { 22 | RestAssured.given().when().get("/test/lambda/blocking").then().body(is(LAMBDA_NAME)); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/AmazonLocalStackTest.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import static org.hamcrest.Matchers.any; 4 | 5 | import org.junit.jupiter.api.Test; 6 | 7 | import io.quarkus.test.junit.QuarkusTest; 8 | import io.restassured.RestAssured; 9 | 10 | @QuarkusTest 11 | public class AmazonLocalStackTest { 12 | 13 | @Test 14 | public void testSesAsync() { 15 | RestAssured.when().get("/test/redshift/test").then().body(any(String.class)); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/AmazonSchedulerITCase.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import io.quarkus.test.junit.QuarkusIntegrationTest; 4 | 5 | @QuarkusIntegrationTest 6 | public class AmazonSchedulerITCase extends AmazonSchedulerTest { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/AmazonSchedulerTest.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import static org.hamcrest.Matchers.is; 4 | 5 | import org.junit.jupiter.api.Test; 6 | 7 | import io.quarkus.test.junit.QuarkusTest; 8 | import io.restassured.RestAssured; 9 | 10 | @QuarkusTest 11 | public class AmazonSchedulerTest { 12 | 13 | @Test 14 | public void testEventBridgeAsync() { 15 | RestAssured.when().get("/test/scheduler/async").then() 16 | .body(is("arn:aws:scheduler:us-east-1:000000000000:schedule/default/quarkus-schedule-async")); 17 | } 18 | 19 | @Test 20 | public void testEventBridgeSync() { 21 | RestAssured.when().get("/test/scheduler/sync").then() 22 | .body(is("arn:aws:scheduler:us-east-1:000000000000:schedule/default/quarkus-schedule-sync")); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/AmazonSecretsManagerITCase.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import io.quarkus.test.junit.QuarkusIntegrationTest; 4 | 5 | @QuarkusIntegrationTest 6 | public class AmazonSecretsManagerITCase extends AmazonSecretsManagerTest { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/AmazonSecretsManagerTest.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import static org.hamcrest.Matchers.is; 4 | 5 | import org.junit.jupiter.api.Test; 6 | 7 | import io.quarkus.test.junit.QuarkusTest; 8 | import io.restassured.RestAssured; 9 | 10 | @QuarkusTest 11 | public class AmazonSecretsManagerTest { 12 | 13 | @Test 14 | public void testSecretsManagerAsync() { 15 | RestAssured.when().get("/test/secretsmanager/async").then().body(is("Quarkus is awsome")); 16 | } 17 | 18 | @Test 19 | public void testSecretsManagerSync() { 20 | RestAssured.when().get("/test/secretsmanager/sync").then().body(is("Quarkus is awsome")); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/AmazonSesITCase.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import io.quarkus.test.junit.QuarkusIntegrationTest; 4 | 5 | @QuarkusIntegrationTest 6 | public class AmazonSesITCase extends AmazonSesTest { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/AmazonSesTest.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import static org.hamcrest.Matchers.any; 4 | import static org.hamcrest.Matchers.emptyString; 5 | import static org.hamcrest.Matchers.not; 6 | 7 | import org.junit.jupiter.api.Test; 8 | 9 | import io.quarkus.test.junit.QuarkusTest; 10 | import io.restassured.RestAssured; 11 | 12 | @QuarkusTest 13 | public class AmazonSesTest { 14 | 15 | @Test 16 | public void testSesAsync() { 17 | RestAssured.when().get("/test/ses/async").then().body(any(String.class), not(emptyString())); 18 | } 19 | 20 | @Test 21 | public void testSesSync() { 22 | RestAssured.when().get("/test/ses/sync").then().body(any(String.class), not(emptyString())); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/AmazonSfnITCase.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import io.quarkus.test.junit.QuarkusIntegrationTest; 4 | 5 | @QuarkusIntegrationTest 6 | public class AmazonSfnITCase extends AmazonSfnTest { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/AmazonSfnTest.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import static org.hamcrest.Matchers.is; 4 | 5 | import org.junit.jupiter.params.ParameterizedTest; 6 | import org.junit.jupiter.params.provider.ValueSource; 7 | 8 | import io.quarkus.test.junit.QuarkusTest; 9 | import io.restassured.RestAssured; 10 | 11 | @QuarkusTest 12 | public class AmazonSfnTest { 13 | 14 | @ParameterizedTest 15 | @ValueSource(strings = { "sync", "async" }) 16 | public void testSfn(String endpoint) { 17 | final String expectedBody = String.format("arn:aws:states:us-east-1:000000000000:stateMachine:%s-state-machine", 18 | endpoint); 19 | 20 | RestAssured.given() 21 | .pathParam("endpoint", endpoint) 22 | .when().get("/test/sfn/{endpoint}") 23 | .then() 24 | .body(is(expectedBody)); 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/AmazonSnsITCase.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import io.quarkus.test.junit.QuarkusIntegrationTest; 4 | 5 | @QuarkusIntegrationTest 6 | public class AmazonSnsITCase extends AmazonSnsTest { 7 | } 8 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/AmazonSqsITCase.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import io.quarkus.test.junit.QuarkusIntegrationTest; 4 | 5 | @QuarkusIntegrationTest 6 | public class AmazonSqsITCase extends AmazonSqsTest { 7 | } 8 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/AmazonSqsMessagingConnectorITCase.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import io.quarkus.test.junit.QuarkusIntegrationTest; 4 | 5 | @QuarkusIntegrationTest 6 | public class AmazonSqsMessagingConnectorITCase extends AmazonSqsMessagingConnectorTest { 7 | } 8 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/AmazonSsmITCase.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import io.quarkus.test.junit.QuarkusIntegrationTest; 4 | 5 | @QuarkusIntegrationTest 6 | public class AmazonSsmITCase extends AmazonSsmTest { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/AmazonSsmTest.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import static org.hamcrest.Matchers.is; 4 | 5 | import org.junit.jupiter.api.Test; 6 | 7 | import io.quarkus.test.junit.QuarkusTest; 8 | import io.restassured.RestAssured; 9 | 10 | @QuarkusTest 11 | public class AmazonSsmTest { 12 | 13 | @Test 14 | public void testSsmAsync() { 15 | RestAssured.when().get("/test/ssm/async").then().body(is("Quarkus is awsome")); 16 | } 17 | 18 | @Test 19 | public void testSsmSync() { 20 | RestAssured.when().get("/test/ssm/sync").then().body(is("Quarkus is awsome")); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/AmazonStsITCase.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import io.quarkus.test.junit.QuarkusIntegrationTest; 4 | 5 | @QuarkusIntegrationTest 6 | public class AmazonStsITCase extends AmazonStsTest { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/AmazonStsTest.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import static org.hamcrest.Matchers.is; 4 | 5 | import org.junit.jupiter.api.Test; 6 | 7 | import io.quarkus.test.junit.QuarkusTest; 8 | import io.restassured.RestAssured; 9 | 10 | @QuarkusTest 11 | public class AmazonStsTest { 12 | 13 | @Test 14 | public void testStsAsync() { 15 | RestAssured.when() 16 | .get("/test/sts/async") 17 | .then() 18 | .body(is("arn:aws:sts::000000000000:assumed-role/test-role/session-test")); 19 | } 20 | 21 | @Test 22 | public void testStsSync() { 23 | RestAssured.when() 24 | .get("/test/sts/sync") 25 | .then() 26 | .body(is("arn:aws:sts::000000000000:assumed-role/test-role/session-test")); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /integration-tests/src/test/java/io/quarkiverse/it/amazon/Profiles.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.it.amazon; 2 | 3 | import java.util.Collections; 4 | import java.util.Map; 5 | 6 | import io.quarkus.test.junit.QuarkusTestProfile; 7 | 8 | public class Profiles { 9 | 10 | public static class DynamoDBEnhancedClientWithoutCustomExtensions implements QuarkusTestProfile { 11 | 12 | @Override 13 | public Map getConfigOverrides() { 14 | return Collections.singletonMap("quarkus.dynamodbenhanced.client-extensions", ""); 15 | } 16 | 17 | @Override 18 | public String getConfigProfile() { 19 | return "test-dynamodb-enhanced-client-without-custom-extensions"; 20 | } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /integration-tests/src/test/resources/application.properties: -------------------------------------------------------------------------------- 1 | quarkus.aws.devservices.localstack.init-scripts-classpath=localstack-init 2 | quarkus.aws.devservices.localstack.init-completion-msg=Tests init completed 3 | -------------------------------------------------------------------------------- /integration-tests/src/test/resources/localstack-init/01_create_lambda.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo "#### Create lambda function ####" 3 | # https://docs.localstack.cloud/user-guide/aws/lambda/#create-a-lambda-function 4 | cat > index.js <<'EOF' 5 | exports.handler = async (event) => { 6 | let body = JSON.parse(event.body) 7 | const product = body.num1 * body.num2; 8 | const response = { 9 | statusCode: 200, 10 | body: "The product of " + body.num1 + " and " + body.num2 + " is " + product, 11 | }; 12 | return response; 13 | }; 14 | EOF 15 | 16 | zip function.zip index.js 17 | awslocal lambda create-function \ 18 | --function-name localstack-lambda-hello \ 19 | --runtime nodejs18.x \ 20 | --zip-file fileb://function.zip \ 21 | --handler index.handler \ 22 | --role arn:aws:iam::000000000000:role/lambda-role 23 | -------------------------------------------------------------------------------- /integration-tests/src/test/resources/localstack-init/99_completed.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo "#### Tests init completed" 3 | -------------------------------------------------------------------------------- /quarkus-messaging-amazon-sqs/deployment/src/main/java/io/quarkiverse/amazon/sqs/deployment/MessagingAmazonSqsProcessor.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.sqs.deployment; 2 | 3 | import io.quarkus.deployment.annotations.BuildStep; 4 | import io.quarkus.deployment.builditem.FeatureBuildItem; 5 | 6 | /** 7 | * Processor 8 | */ 9 | public class MessagingAmazonSqsProcessor { 10 | 11 | private static final String FEATURE = "messaging-amazon-sqs"; 12 | 13 | @BuildStep 14 | FeatureBuildItem feature() { 15 | return new FeatureBuildItem(FEATURE); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /quarkus-messaging-amazon-sqs/deployment/src/test/java/io/quarkiverse/amazon/sqs/deployment/Quote.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.sqs.deployment; 2 | 3 | import io.quarkus.runtime.annotations.RegisterForReflection; 4 | 5 | @RegisterForReflection 6 | public class Quote { 7 | 8 | public String id; 9 | public int price; 10 | 11 | public Quote() { 12 | } 13 | 14 | public Quote(String id, int price) { 15 | this.id = id; 16 | this.price = price; 17 | } 18 | 19 | @Override 20 | public String toString() { 21 | return "Quote{" + 22 | "id='" + id + '\'' + 23 | ", price=" + price + 24 | '}'; 25 | } 26 | } -------------------------------------------------------------------------------- /quarkus-messaging-amazon-sqs/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-build-parent 8 | 999-SNAPSHOT 9 | ../build-parent/pom.xml 10 | 11 | 12 | quarkus-messaging-amazon-sqs-parent 13 | Quarkus - Messaging - Amazon Services - SQS 14 | pom 15 | 16 | 17 | runtime 18 | deployment 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /quarkus-messaging-amazon-sqs/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Messaging - Amazon SQS Connector" 4 | metadata: 5 | keywords: 6 | - "sqs" 7 | - "aws" 8 | - "amazon" 9 | - "messaging" 10 | categories: 11 | - "data" 12 | - "messaging" 13 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-sqs.html 14 | status: "preview" 15 | config: 16 | - "quarkus.sqs." 17 | - "mp.messaging." 18 | - "quarkus.messaging." 19 | -------------------------------------------------------------------------------- /s3-transfer-manager/deployment/src/test/resources/sync-urlconn-full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.s3.accelerate-mode=false 2 | quarkus.s3.checksum-validation=true 3 | quarkus.s3.chunked-encoding=true 4 | quarkus.s3.dualstack=false 5 | quarkus.s3.path-style-access=false 6 | quarkus.s3.use-arn-region-enabled=true 7 | quarkus.s3.profile-name=foo 8 | 9 | quarkus.s3.endpoint-override=http://localhost:9090 10 | 11 | quarkus.s3.aws.region=us-east-2 12 | quarkus.s3.aws.credentials.type=static 13 | quarkus.s3.aws.credentials.static-provider.access-key-id=test-key 14 | quarkus.s3.aws.credentials.static-provider.secret-access-key=test-secret 15 | 16 | quarkus.s3.sync-client.type = url 17 | quarkus.s3.sync-client.connection-timeout = 0.100S 18 | quarkus.s3.sync-client.socket-timeout = 0.100S -------------------------------------------------------------------------------- /s3-transfer-manager/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-build-parent 8 | 999-SNAPSHOT 9 | ../build-parent/pom.xml 10 | 11 | 12 | quarkus-amazon-s3-transfer-manager-parent 13 | Quarkus - Amazon Services - S3 14 | pom 15 | 16 | 17 | runtime 18 | deployment 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /s3-transfer-manager/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon S3 Transfer Manager" 4 | metadata: 5 | keywords: 6 | - "s3" 7 | - "aws" 8 | - "amazon" 9 | - "transfer manager" 10 | categories: 11 | - "data" 12 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-s3.html 13 | status: "experimental" 14 | -------------------------------------------------------------------------------- /s3/deployment/src/test/resources/async-netty-full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.s3.accelerate-mode=false 2 | quarkus.s3.checksum-validation=true 3 | quarkus.s3.chunked-encoding=true 4 | quarkus.s3.dualstack=false 5 | quarkus.s3.path-style-access=false 6 | quarkus.s3.use-arn-region-enabled=true 7 | #quarkus.s3.profile-name=foo 8 | 9 | quarkus.s3.endpoint-override=http://localhost:9090 10 | 11 | quarkus.s3.aws.region=us-east-2 12 | quarkus.s3.aws.credentials.type=static 13 | quarkus.s3.aws.credentials.static-provider.access-key-id=test-key 14 | quarkus.s3.aws.credentials.static-provider.secret-access-key=test-secret 15 | 16 | quarkus.s3.async-client.type = netty 17 | -------------------------------------------------------------------------------- /s3/deployment/src/test/resources/custom-credentials-provider-missed-bean.properties: -------------------------------------------------------------------------------- 1 | quarkus.devservices.enabled=false 2 | quarkus.s3.aws.region=us-east-2 3 | quarkus.s3.aws.credentials.type=custom 4 | quarkus.s3.aws.credentials.custom-provider.name=missed-bean -------------------------------------------------------------------------------- /s3/deployment/src/test/resources/custom-credentials-provider-missed-name-named-client.properties: -------------------------------------------------------------------------------- 1 | quarkus.devservices.enabled=false 2 | quarkus.s3.aws.region=us-east-2 3 | quarkus.s3.custom.aws.credentials.type=custom -------------------------------------------------------------------------------- /s3/deployment/src/test/resources/custom-credentials-provider-missed-name.properties: -------------------------------------------------------------------------------- 1 | quarkus.devservices.enabled=false 2 | quarkus.s3.aws.region=us-east-2 3 | quarkus.s3.aws.credentials.type=custom -------------------------------------------------------------------------------- /s3/deployment/src/test/resources/custom-credentials-provider.properties: -------------------------------------------------------------------------------- 1 | quarkus.devservices.enabled=false 2 | quarkus.s3.aws.region=us-east-2 3 | quarkus.s3.aws.credentials.type=custom 4 | quarkus.s3.aws.credentials.custom-provider.name=test-creds-profile -------------------------------------------------------------------------------- /s3/deployment/src/test/resources/sync-urlconn-full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.s3.accelerate-mode=false 2 | quarkus.s3.checksum-validation=true 3 | quarkus.s3.chunked-encoding=true 4 | quarkus.s3.dualstack=false 5 | quarkus.s3.path-style-access=false 6 | quarkus.s3.use-arn-region-enabled=true 7 | #quarkus.s3.profile-name=foo 8 | 9 | quarkus.s3.endpoint-override=http://localhost:9090 10 | 11 | quarkus.s3.aws.region=us-east-2 12 | quarkus.s3.aws.credentials.type=static 13 | quarkus.s3.aws.credentials.static-provider.access-key-id=test-key 14 | quarkus.s3.aws.credentials.static-provider.secret-access-key=test-secret 15 | 16 | quarkus.s3.sync-client.type = url 17 | quarkus.s3.sync-client.connection-timeout = 0.100S 18 | quarkus.s3.sync-client.socket-timeout = 0.100S -------------------------------------------------------------------------------- /s3/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-build-parent 8 | 999-SNAPSHOT 9 | ../build-parent/pom.xml 10 | 11 | 12 | quarkus-amazon-s3-parent 13 | Quarkus - Amazon Services - S3 14 | pom 15 | 16 | 17 | runtime 18 | deployment 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /s3/runtime/src/main/java/io/quarkiverse/amazon/s3/runtime/S3BuildTimeConfig.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.s3.runtime; 2 | 3 | import io.quarkiverse.amazon.common.runtime.HasSdkBuildTimeConfig; 4 | import io.quarkiverse.amazon.common.runtime.HasTransportBuildTimeConfig; 5 | import io.quarkus.runtime.annotations.ConfigPhase; 6 | import io.quarkus.runtime.annotations.ConfigRoot; 7 | import io.smallrye.config.ConfigMapping; 8 | 9 | /** 10 | * Amazon S3 build time configuration 11 | */ 12 | @ConfigMapping(prefix = "quarkus.s3") 13 | @ConfigRoot(phase = ConfigPhase.BUILD_AND_RUN_TIME_FIXED) 14 | public interface S3BuildTimeConfig extends HasSdkBuildTimeConfig, HasTransportBuildTimeConfig { 15 | 16 | /** 17 | * Config for dev services 18 | */ 19 | S3DevServicesBuildTimeConfig devservices(); 20 | } 21 | -------------------------------------------------------------------------------- /s3/runtime/src/main/java/io/quarkiverse/amazon/s3/runtime/S3Crt.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.s3.runtime; 2 | 3 | import static java.lang.annotation.RetentionPolicy.RUNTIME; 4 | 5 | import java.lang.annotation.Documented; 6 | import java.lang.annotation.Retention; 7 | 8 | import jakarta.enterprise.util.AnnotationLiteral; 9 | import jakarta.inject.Qualifier; 10 | 11 | /** 12 | * Specification of AWS CRT-based S3 client to be injected. 13 | */ 14 | @Retention(RUNTIME) 15 | @Qualifier 16 | @Documented 17 | public @interface S3Crt { 18 | 19 | @SuppressWarnings("all") 20 | public static final class Literal extends AnnotationLiteral implements S3Crt { 21 | public static final Literal INSTANCE = new Literal(); 22 | 23 | private static final long serialVersionUID = 1L; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /s3/runtime/src/main/java/io/quarkiverse/amazon/s3/runtime/S3DevServicesBuildTimeConfig.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.s3.runtime; 2 | 3 | import java.util.Set; 4 | 5 | import io.quarkiverse.amazon.common.runtime.DevServicesBuildTimeConfig; 6 | import io.quarkus.runtime.annotations.ConfigGroup; 7 | import io.smallrye.config.WithDefault; 8 | 9 | @ConfigGroup 10 | public interface S3DevServicesBuildTimeConfig extends DevServicesBuildTimeConfig { 11 | 12 | /** 13 | * The buckets to create on startup. 14 | */ 15 | @WithDefault(value = "default") 16 | public Set buckets(); 17 | } 18 | -------------------------------------------------------------------------------- /s3/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon S3" 4 | metadata: 5 | keywords: 6 | - "s3" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "data" 11 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-s3.html 12 | status: "stable" 13 | config: 14 | - "quarkus.s3." 15 | -------------------------------------------------------------------------------- /scheduler/deployment/src/test/resources/sync-urlconn-full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.eventbridge-scheduler.endpoint-override=http://localhost:9090 2 | 3 | quarkus.eventbridge-scheduler.aws.region=us-east-1 4 | quarkus.eventbridge-scheduler.aws.credentials.type=static 5 | quarkus.eventbridge-scheduler.aws.credentials.static-provider.access-key-id=test-key 6 | quarkus.eventbridge-scheduler.aws.credentials.static-provider.secret-access-key=test-secret 7 | 8 | quarkus.eventbridge-scheduler.sync-client.type = url 9 | quarkus.eventbridge-scheduler.sync-client.connection-timeout = 0.100S 10 | quarkus.eventbridge-scheduler.sync-client.socket-timeout = 0.100S -------------------------------------------------------------------------------- /scheduler/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-build-parent 8 | 999-SNAPSHOT 9 | ../build-parent/pom.xml 10 | 11 | 12 | quarkus-amazon-scheduler-parent 13 | Quarkus - Amazon Services - EventBridge Scheduler 14 | pom 15 | 16 | 17 | runtime 18 | deployment 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /scheduler/runtime/src/main/java/io/quarkiverse/amazon/scheduler/runtime/SchedulerBuildTimeConfig.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.scheduler.runtime; 2 | 3 | import io.quarkiverse.amazon.common.runtime.DevServicesBuildTimeConfig; 4 | import io.quarkiverse.amazon.common.runtime.HasSdkBuildTimeConfig; 5 | import io.quarkiverse.amazon.common.runtime.HasTransportBuildTimeConfig; 6 | import io.quarkus.runtime.annotations.ConfigPhase; 7 | import io.quarkus.runtime.annotations.ConfigRoot; 8 | import io.smallrye.config.ConfigMapping; 9 | 10 | /** 11 | * Amazon EventBridge Scheduler build time configuration 12 | */ 13 | @ConfigMapping(prefix = "quarkus.eventbridge-scheduler") 14 | @ConfigRoot(phase = ConfigPhase.BUILD_AND_RUN_TIME_FIXED) 15 | public interface SchedulerBuildTimeConfig extends HasSdkBuildTimeConfig, HasTransportBuildTimeConfig { 16 | 17 | /** 18 | * Config for dev services 19 | */ 20 | DevServicesBuildTimeConfig devservices(); 21 | } 22 | -------------------------------------------------------------------------------- /scheduler/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon EventBridge Scheduler" 4 | metadata: 5 | keywords: 6 | - "scheduler" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "data" 11 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-scheduler.html 12 | status: "stable" 13 | config: 14 | - "quarkus.eventbridge-scheduler." 15 | -------------------------------------------------------------------------------- /services/accessanalyzer/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-services-parent 8 | 999-SNAPSHOT 9 | 10 | 11 | quarkus-amazon-accessanalyzer-parent 12 | Quarkus - Amazon Services - Access Analyzer 13 | pom 14 | 15 | 16 | runtime 17 | deployment 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /services/accessanalyzer/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon Access Analyzer" 4 | metadata: 5 | keywords: 6 | - "iam" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "cloud" 11 | status: "stable" 12 | config: 13 | - "quarkus.account." 14 | -------------------------------------------------------------------------------- /services/accessanalyzer/src/main/resources/codegen-resources/customization.config: -------------------------------------------------------------------------------- 1 | { 2 | "enableGenerateCompiledEndpointRules": true, 3 | "enableFastUnmarshaller": true 4 | } 5 | -------------------------------------------------------------------------------- /services/account/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-services-parent 8 | 999-SNAPSHOT 9 | 10 | 11 | quarkus-amazon-account-parent 12 | Quarkus - Amazon Services - Account 13 | pom 14 | 15 | 16 | runtime 17 | deployment 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /services/account/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon Account" 4 | metadata: 5 | keywords: 6 | - "account" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "cloud" 11 | status: "stable" 12 | config: 13 | - "quarkus.account." 14 | -------------------------------------------------------------------------------- /services/account/src/main/resources/codegen-resources/customization.config: -------------------------------------------------------------------------------- 1 | { 2 | "enableGenerateCompiledEndpointRules": true, 3 | "enableFastUnmarshaller": true 4 | } 5 | -------------------------------------------------------------------------------- /services/acm/deployment/src/test/java/io/quarkiverse/amazon/acm/deployment/AcmSyncClientFullConfigTest.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.acm.deployment; 2 | 3 | import jakarta.inject.Inject; 4 | 5 | import org.junit.jupiter.api.Test; 6 | import org.junit.jupiter.api.extension.RegisterExtension; 7 | 8 | import io.quarkus.test.QuarkusUnitTest; 9 | import software.amazon.awssdk.services.acm.AcmAsyncClient; 10 | import software.amazon.awssdk.services.acm.AcmClient; 11 | 12 | public class AcmSyncClientFullConfigTest { 13 | 14 | @Inject 15 | AcmClient client; 16 | 17 | @Inject 18 | AcmAsyncClient async; 19 | 20 | @RegisterExtension 21 | static final QuarkusUnitTest config = new QuarkusUnitTest() 22 | .withApplicationRoot((jar) -> jar 23 | .addAsResource("sync-urlconn-full-config.properties", "application.properties")); 24 | 25 | @Test 26 | public void test() { 27 | // should finish with success 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /services/acm/deployment/src/test/resources/sync-urlconn-full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.acm.endpoint-override=http://localhost:9090 2 | 3 | quarkus.acm.aws.region=us-east-1 4 | quarkus.acm.aws.credentials.type=static 5 | quarkus.acm.aws.credentials.static-provider.access-key-id=test-key 6 | quarkus.acm.aws.credentials.static-provider.secret-access-key=test-secret 7 | 8 | quarkus.acm.sync-client.type = url 9 | quarkus.acm.sync-client.connection-timeout = 0.100S 10 | quarkus.acm.sync-client.socket-timeout = 0.100S -------------------------------------------------------------------------------- /services/acm/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-services-parent 8 | 999-SNAPSHOT 9 | 10 | 11 | quarkus-amazon-acm-parent 12 | Quarkus - Amazon Services - ACM 13 | pom 14 | 15 | 16 | runtime 17 | deployment 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /services/acm/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon ACM" 4 | metadata: 5 | keywords: 6 | - "acm" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "data" 11 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-acm.html 12 | status: "stable" 13 | config: 14 | - "quarkus.acm." 15 | -------------------------------------------------------------------------------- /services/acm/src/main/resources/codegen-resources/customization.config: -------------------------------------------------------------------------------- 1 | { 2 | "verifiedSimpleMethods": [ 3 | "listCertificates" 4 | ], 5 | "enableGenerateCompiledEndpointRules": true, 6 | "enableFastUnmarshaller": true 7 | } 8 | -------------------------------------------------------------------------------- /services/apigatewaymanagementapi/deployment/src/test/resources/sync-urlconn-full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.apigatewaymanagementapi.endpoint-override=http://localhost:9090 2 | 3 | quarkus.apigatewaymanagementapi.aws.region=us-east-1 4 | quarkus.apigatewaymanagementapi.aws.credentials.type=static 5 | quarkus.apigatewaymanagementapi.aws.credentials.static-provider.access-key-id=test-key 6 | quarkus.apigatewaymanagementapi.aws.credentials.static-provider.secret-access-key=test-secret 7 | 8 | quarkus.apigatewaymanagementapi.sync-client.type = url 9 | quarkus.apigatewaymanagementapi.sync-client.connection-timeout = 0.100S 10 | quarkus.apigatewaymanagementapi.sync-client.socket-timeout = 0.100S -------------------------------------------------------------------------------- /services/apigatewaymanagementapi/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-services-parent 8 | 999-SNAPSHOT 9 | 10 | 11 | quarkus-amazon-apigatewaymanagementapi-parent 12 | Quarkus - Amazon Services - Api Gateway Management Api 13 | pom 14 | 15 | 16 | runtime 17 | deployment 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /services/apigatewaymanagementapi/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon Api Gateway Management Api" 4 | metadata: 5 | keywords: 6 | - "apigatewaymanagementapi" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "data" 11 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-apigatewaymanagementapi.html 12 | status: "stable" 13 | config: 14 | - "quarkus.apigatewaymanagementapi." 15 | -------------------------------------------------------------------------------- /services/apigatewaymanagementapi/src/main/resources/codegen-resources/customization.config: -------------------------------------------------------------------------------- 1 | { 2 | "enableGenerateCompiledEndpointRules": true, 3 | "enableFastUnmarshaller": true 4 | } 5 | -------------------------------------------------------------------------------- /services/bedrock/deployment/src/test/resources/full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.bedrock.endpoint-override=http://localhost:9090 2 | 3 | quarkus.bedrock.aws.region=us-east-2 4 | quarkus.bedrock.aws.credentials.type=static 5 | quarkus.bedrock.aws.credentials.static-provider.access-key-id=test-key 6 | quarkus.bedrock.aws.credentials.static-provider.secret-access-key=test-secret 7 | 8 | quarkus.bedrock.sync-client.type = url 9 | quarkus.bedrock.sync-client.connection-timeout = 0.100S 10 | quarkus.bedrock.sync-client.socket-timeout = 0.100S 11 | -------------------------------------------------------------------------------- /services/bedrock/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-services-parent 8 | 999-SNAPSHOT 9 | 10 | 11 | quarkus-amazon-bedrock-parent 12 | Quarkus - Amazon Services - Bedrock 13 | pom 14 | 15 | 16 | runtime 17 | deployment 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /services/bedrock/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon Bedrock" 4 | metadata: 5 | keywords: 6 | - "bedrock" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "ai" 11 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-bedrock.html 12 | status: "stable" 13 | config: 14 | - "quarkus.bedrock." 15 | -------------------------------------------------------------------------------- /services/bedrock/src/main/resources/codegen-resources/customization.config: -------------------------------------------------------------------------------- 1 | { 2 | "enableGenerateCompiledEndpointRules": true, 3 | "enableFastUnmarshaller": true 4 | } 5 | -------------------------------------------------------------------------------- /services/bedrockruntime/deployment/src/test/resources/full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.bedrockruntime.endpoint-override=http://localhost:9090 2 | 3 | quarkus.bedrockruntime.aws.region=us-east-2 4 | quarkus.bedrockruntime.aws.credentials.type=static 5 | quarkus.bedrockruntime.aws.credentials.static-provider.access-key-id=test-key 6 | quarkus.bedrockruntime.aws.credentials.static-provider.secret-access-key=test-secret 7 | 8 | quarkus.bedrockruntime.sync-client.type = url 9 | quarkus.bedrockruntime.sync-client.connection-timeout = 0.100S 10 | quarkus.bedrockruntime.sync-client.socket-timeout = 0.100S 11 | -------------------------------------------------------------------------------- /services/bedrockruntime/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-services-parent 8 | 999-SNAPSHOT 9 | 10 | 11 | quarkus-amazon-bedrockruntime-parent 12 | Quarkus - Amazon Services - Bedrock Runtime 13 | pom 14 | 15 | 16 | runtime 17 | deployment 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /services/bedrockruntime/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon Bedrock Runtime" 4 | metadata: 5 | keywords: 6 | - "bedrock" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "ai" 11 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-bedrock.html 12 | status: "stable" 13 | config: 14 | - "quarkus.bedrockruntime." 15 | -------------------------------------------------------------------------------- /services/bedrockruntime/src/main/resources/codegen-resources/customization.config: -------------------------------------------------------------------------------- 1 | { 2 | "enableGenerateCompiledEndpointRules": true, 3 | "enableFastUnmarshaller": true 4 | } 5 | -------------------------------------------------------------------------------- /services/cloudwatch/deployment/src/test/resources/sync-urlconn-full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.cloudwatch.endpoint-override=http://localhost:9090 2 | 3 | quarkus.cloudwatch.aws.region=us-east-1 4 | quarkus.cloudwatch.aws.credentials.type=static 5 | quarkus.cloudwatch.aws.credentials.static-provider.access-key-id=test-key 6 | quarkus.cloudwatch.aws.credentials.static-provider.secret-access-key=test-secret 7 | 8 | quarkus.cloudwatch.sync-client.type = url 9 | quarkus.cloudwatch.sync-client.connection-timeout = 0.100S 10 | quarkus.cloudwatch.sync-client.socket-timeout = 0.100S -------------------------------------------------------------------------------- /services/cloudwatch/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-services-parent 8 | 999-SNAPSHOT 9 | 10 | 11 | quarkus-amazon-cloudwatch-parent 12 | Quarkus - Amazon Services - CloudWatch 13 | pom 14 | 15 | 16 | runtime 17 | deployment 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /services/cloudwatch/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon CloudWatch" 4 | metadata: 5 | keywords: 6 | - "cloudwatch" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "data" 11 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-cloudwatch.html 12 | status: "preview" 13 | config: 14 | - "quarkus.cloudwatch." 15 | -------------------------------------------------------------------------------- /services/cloudwatch/src/main/resources/codegen-resources/customization.config: -------------------------------------------------------------------------------- 1 | { 2 | "verifiedSimpleMethods": [ 3 | "describeAlarmHistory", 4 | "describeAlarms", 5 | "listDashboards", 6 | "listMetrics" 7 | ], 8 | "excludedSimpleMethods": [ 9 | "deleteDashboards", 10 | "putDashboard", 11 | "getDashboard" 12 | ], 13 | 14 | "enableGenerateCompiledEndpointRules": true 15 | 16 | } 17 | -------------------------------------------------------------------------------- /services/cloudwatchlogs/deployment/src/test/resources/sync-urlconn-full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.cloudwatchlogs.endpoint-override=http://localhost:9090 2 | 3 | quarkus.cloudwatchlogs.aws.region=us-east-1 4 | quarkus.cloudwatchlogs.aws.credentials.type=static 5 | quarkus.cloudwatchlogs.aws.credentials.static-provider.access-key-id=test-key 6 | quarkus.cloudwatchlogs.aws.credentials.static-provider.secret-access-key=test-secret 7 | 8 | quarkus.cloudwatchlogs.sync-client.type = url 9 | quarkus.cloudwatchlogs.sync-client.connection-timeout = 0.100S 10 | quarkus.cloudwatchlogs.sync-client.socket-timeout = 0.100S -------------------------------------------------------------------------------- /services/cloudwatchlogs/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-services-parent 8 | 999-SNAPSHOT 9 | 10 | 11 | quarkus-amazon-cloudwatchlogs-parent 12 | Quarkus - Amazon Services - CloudWatch Logs 13 | pom 14 | 15 | 16 | runtime 17 | deployment 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /services/cloudwatchlogs/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon CloudWatch Logs" 4 | metadata: 5 | keywords: 6 | - "cloudwatch" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "data" 11 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-cloudwatchlogs.html 12 | status: "preview" 13 | config: 14 | - "quarkus.cloudwatchlogs." 15 | -------------------------------------------------------------------------------- /services/cloudwatchlogs/src/main/resources/codegen-resources/customization.config: -------------------------------------------------------------------------------- 1 | { 2 | "excludedSimpleMethods": [ 3 | "deleteResourcePolicy", 4 | "putResourcePolicy" 5 | ], 6 | "verifiedSimpleMethods": [ 7 | "describeDestinations", 8 | "describeExportTasks", 9 | "describeLogGroups", 10 | "describeMetricFilters", 11 | "describeQueries", 12 | "describeResourcePolicies" 13 | ], 14 | "paginationCustomization": { 15 | "GetLogEvents": "LastPageHasPreviousToken" 16 | }, 17 | "enableGenerateCompiledEndpointRules": true, 18 | "enableFastUnmarshaller": true 19 | } 20 | -------------------------------------------------------------------------------- /services/dynamodb/deployment/src/main/java/io/quarkiverse/amazon/dynamodb/deployment/DynamodbNativeProcessor.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.dynamodb.deployment; 2 | 3 | import io.quarkus.deployment.annotations.BuildProducer; 4 | import io.quarkus.deployment.annotations.BuildStep; 5 | import io.quarkus.deployment.builditem.nativeimage.RuntimeInitializedClassBuildItem; 6 | 7 | public final class DynamodbNativeProcessor { 8 | 9 | @BuildStep 10 | void runtimeInitialize(BuildProducer producer) { 11 | // This class triggers initialization of FullJitterBackoffStragegy so needs to get runtime-initialized 12 | // as well 13 | producer.produce( 14 | new RuntimeInitializedClassBuildItem("software.amazon.awssdk.services.dynamodb.DynamoDbRetryPolicy")); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /services/dynamodb/deployment/src/test/java/io/quarkiverse/amazon/dynamodb/deployment/DynamodbAsyncClientAwsCrtTest.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.dynamodb.deployment; 2 | 3 | import jakarta.inject.Inject; 4 | 5 | import org.junit.jupiter.api.Test; 6 | import org.junit.jupiter.api.extension.RegisterExtension; 7 | 8 | import io.quarkus.test.QuarkusUnitTest; 9 | import software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient; 10 | 11 | public class DynamodbAsyncClientAwsCrtTest { 12 | 13 | @Inject 14 | DynamoDbAsyncClient client; 15 | 16 | @RegisterExtension 17 | static final QuarkusUnitTest config = new QuarkusUnitTest() 18 | .withApplicationRoot((jar) -> jar 19 | .addAsResource("async-aws-crt.properties", "application.properties")); 20 | 21 | @Test 22 | public void test() { 23 | // Application should start with full config. 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /services/dynamodb/deployment/src/test/java/io/quarkiverse/amazon/dynamodb/deployment/DynamodbAsyncClientFullConfigTest.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.dynamodb.deployment; 2 | 3 | import jakarta.inject.Inject; 4 | 5 | import org.junit.jupiter.api.Test; 6 | import org.junit.jupiter.api.extension.RegisterExtension; 7 | 8 | import io.quarkus.test.QuarkusUnitTest; 9 | import software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient; 10 | 11 | public class DynamodbAsyncClientFullConfigTest { 12 | 13 | @Inject 14 | DynamoDbAsyncClient client; 15 | 16 | @RegisterExtension 17 | static final QuarkusUnitTest config = new QuarkusUnitTest() 18 | .withApplicationRoot((jar) -> jar 19 | .addAsResource("async-full-config.properties", "application.properties")); 20 | 21 | @Test 22 | public void test() { 23 | // Application should start with full config. 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /services/dynamodb/deployment/src/test/java/io/quarkiverse/amazon/dynamodb/deployment/DynamodbAsyncClientTlsKeyFileStoreConfigTest.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.dynamodb.deployment; 2 | 3 | import jakarta.inject.Inject; 4 | 5 | import org.junit.jupiter.api.Test; 6 | import org.junit.jupiter.api.extension.RegisterExtension; 7 | 8 | import io.quarkus.test.QuarkusUnitTest; 9 | import software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient; 10 | 11 | public class DynamodbAsyncClientTlsKeyFileStoreConfigTest { 12 | 13 | @Inject 14 | DynamoDbAsyncClient client; 15 | 16 | @RegisterExtension 17 | static final QuarkusUnitTest config = new QuarkusUnitTest() 18 | .withApplicationRoot((jar) -> jar 19 | .addAsResource("async-tls-key-filestore-config.properties", "application.properties")); 20 | 21 | @Test 22 | public void test() { 23 | // Application should start with full config. 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /services/dynamodb/deployment/src/test/java/io/quarkiverse/amazon/dynamodb/deployment/DynamodbAsyncClientTlsTrustFileStoreConfigTest.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.dynamodb.deployment; 2 | 3 | import jakarta.inject.Inject; 4 | 5 | import org.junit.jupiter.api.Test; 6 | import org.junit.jupiter.api.extension.RegisterExtension; 7 | 8 | import io.quarkus.test.QuarkusUnitTest; 9 | import software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient; 10 | 11 | public class DynamodbAsyncClientTlsTrustFileStoreConfigTest { 12 | 13 | @Inject 14 | DynamoDbAsyncClient client; 15 | 16 | @RegisterExtension 17 | static final QuarkusUnitTest config = new QuarkusUnitTest() 18 | .withApplicationRoot((jar) -> jar 19 | .addAsResource("async-tls-trust-filestore-config.properties", "application.properties")); 20 | 21 | @Test 22 | public void test() { 23 | // Application should start with full config. 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /services/dynamodb/deployment/src/test/java/io/quarkiverse/amazon/dynamodb/deployment/DynamodbAsyncClientTlsTrustTrustAllConfigTest.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.dynamodb.deployment; 2 | 3 | import jakarta.inject.Inject; 4 | 5 | import org.junit.jupiter.api.Test; 6 | import org.junit.jupiter.api.extension.RegisterExtension; 7 | 8 | import io.quarkus.test.QuarkusUnitTest; 9 | import software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient; 10 | 11 | public class DynamodbAsyncClientTlsTrustTrustAllConfigTest { 12 | 13 | @Inject 14 | DynamoDbAsyncClient client; 15 | 16 | @RegisterExtension 17 | static final QuarkusUnitTest config = new QuarkusUnitTest() 18 | .withApplicationRoot((jar) -> jar 19 | .addAsResource("async-tls-trust-trustall-config.properties", "application.properties")); 20 | 21 | @Test 22 | public void test() { 23 | // Application should start with full config. 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /services/dynamodb/deployment/src/test/java/io/quarkiverse/amazon/dynamodb/deployment/DynamodbSyncApacheClientFullConfigTest.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.dynamodb.deployment; 2 | 3 | import jakarta.inject.Inject; 4 | 5 | import org.junit.jupiter.api.Test; 6 | import org.junit.jupiter.api.extension.RegisterExtension; 7 | 8 | import io.quarkus.test.QuarkusUnitTest; 9 | import software.amazon.awssdk.services.dynamodb.DynamoDbClient; 10 | 11 | public class DynamodbSyncApacheClientFullConfigTest { 12 | 13 | @Inject 14 | DynamoDbClient client; 15 | 16 | @RegisterExtension 17 | static final QuarkusUnitTest config = new QuarkusUnitTest() 18 | .withApplicationRoot((jar) -> jar 19 | .addAsResource("sync-apache-full-config.properties", "application.properties")); 20 | 21 | @Test 22 | public void test() { 23 | // Application should start with full config. 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /services/dynamodb/deployment/src/test/java/io/quarkiverse/amazon/dynamodb/deployment/DynamodbSyncClientTlsKeyFileStoreConfigTest.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.dynamodb.deployment; 2 | 3 | import jakarta.inject.Inject; 4 | 5 | import org.junit.jupiter.api.Test; 6 | import org.junit.jupiter.api.extension.RegisterExtension; 7 | 8 | import io.quarkus.test.QuarkusUnitTest; 9 | import software.amazon.awssdk.services.dynamodb.DynamoDbClient; 10 | 11 | public class DynamodbSyncClientTlsKeyFileStoreConfigTest { 12 | 13 | @Inject 14 | DynamoDbClient client; 15 | 16 | @RegisterExtension 17 | static final QuarkusUnitTest config = new QuarkusUnitTest() 18 | .withApplicationRoot((jar) -> jar 19 | .addAsResource("sync-tls-key-filestore-config.properties", "application.properties")); 20 | 21 | @Test 22 | public void test() { 23 | // Application should start with full config. 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /services/dynamodb/deployment/src/test/java/io/quarkiverse/amazon/dynamodb/deployment/DynamodbSyncClientTlsTrustFileStoreConfigTest.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.dynamodb.deployment; 2 | 3 | import jakarta.inject.Inject; 4 | 5 | import org.junit.jupiter.api.Test; 6 | import org.junit.jupiter.api.extension.RegisterExtension; 7 | 8 | import io.quarkus.test.QuarkusUnitTest; 9 | import software.amazon.awssdk.services.dynamodb.DynamoDbClient; 10 | 11 | public class DynamodbSyncClientTlsTrustFileStoreConfigTest { 12 | 13 | @Inject 14 | DynamoDbClient client; 15 | 16 | @RegisterExtension 17 | static final QuarkusUnitTest config = new QuarkusUnitTest() 18 | .withApplicationRoot((jar) -> jar 19 | .addAsResource("sync-tls-trust-filestore-config.properties", "application.properties")); 20 | 21 | @Test 22 | public void test() { 23 | // Application should start with full config. 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /services/dynamodb/deployment/src/test/java/io/quarkiverse/amazon/dynamodb/deployment/DynamodbSyncClientTlsTrustTrustAllConfigTest.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.dynamodb.deployment; 2 | 3 | import jakarta.inject.Inject; 4 | 5 | import org.junit.jupiter.api.Test; 6 | import org.junit.jupiter.api.extension.RegisterExtension; 7 | 8 | import io.quarkus.test.QuarkusUnitTest; 9 | import software.amazon.awssdk.services.dynamodb.DynamoDbClient; 10 | 11 | public class DynamodbSyncClientTlsTrustTrustAllConfigTest { 12 | 13 | @Inject 14 | DynamoDbClient client; 15 | 16 | @RegisterExtension 17 | static final QuarkusUnitTest config = new QuarkusUnitTest() 18 | .withApplicationRoot((jar) -> jar 19 | .addAsResource("sync-tls-trust-trustall-config.properties", "application.properties")); 20 | 21 | @Test 22 | public void test() { 23 | // Application should start with full config. 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /services/dynamodb/deployment/src/test/java/io/quarkiverse/amazon/dynamodb/deployment/DynamodbSyncUrlConnClientFullConfigTest.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.dynamodb.deployment; 2 | 3 | import jakarta.inject.Inject; 4 | 5 | import org.junit.jupiter.api.Test; 6 | import org.junit.jupiter.api.extension.RegisterExtension; 7 | 8 | import io.quarkus.test.QuarkusUnitTest; 9 | import software.amazon.awssdk.services.dynamodb.DynamoDbClient; 10 | 11 | public class DynamodbSyncUrlConnClientFullConfigTest { 12 | 13 | @Inject 14 | DynamoDbClient client; 15 | 16 | @RegisterExtension 17 | static final QuarkusUnitTest config = new QuarkusUnitTest() 18 | .withApplicationRoot((jar) -> jar 19 | .addAsResource("sync-urlconn-full-config.properties", "application.properties")); 20 | 21 | @Test 22 | public void test() { 23 | // Application should start with full config. 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /services/dynamodb/deployment/src/test/resources/async-aws-crt.properties: -------------------------------------------------------------------------------- 1 | quarkus.dynamodb.enable-endpoint-discovery=false 2 | quarkus.dynamodb.endpoint-override=http://localhost:8000 3 | quarkus.dynamodb.api-call-timeout=0.5S 4 | quarkus.dynamodb.api-call-attempt-timeout=0.5S 5 | 6 | quarkus.dynamodb.aws.region=us-east-1 7 | quarkus.dynamodb.aws.credentials.type=static 8 | quarkus.dynamodb.aws.credentials.static-provider.access-key-id=test-key 9 | quarkus.dynamodb.aws.credentials.static-provider.secret-access-key=test-secret 10 | 11 | quarkus.dynamodb.async-client.max-concurrency=10 12 | quarkus.dynamodb.async-client.connection-timeout=0.01S 13 | quarkus.dynamodb.async-client.connection-max-idle-time=0.01S 14 | quarkus.dynamodb.async-client.proxy.enabled = true 15 | quarkus.dynamodb.async-client.proxy.endpoint = http://127.1.1.1 16 | quarkus.dynamodb.async-client.type = aws-crt -------------------------------------------------------------------------------- /services/dynamodb/deployment/src/test/resources/async-broken-proxy-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.dynamodb.async-client.proxy.enabled = true 2 | quarkus.dynamodb.async-client.proxy.endpoint = http://user:name@127.1.1.1?foo=bar 3 | 4 | quarkus.dynamodb.devservices.enabled=false -------------------------------------------------------------------------------- /services/dynamodb/deployment/src/test/resources/async-tls-key-filestore-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.dynamodb.aws.region=us-east-1 2 | 3 | quarkus.dynamodb.async-client.tls-key-managers-provider.type=file-store 4 | quarkus.dynamodb.async-client.tls-key-managers-provider.file-store.path=/tmp/file.key 5 | quarkus.dynamodb.async-client.tls-key-managers-provider.file-store.type=pkcs11 6 | quarkus.dynamodb.async-client.tls-key-managers-provider.file-store.password=thePassword 7 | 8 | quarkus.dynamodb.devservices.enabled=false -------------------------------------------------------------------------------- /services/dynamodb/deployment/src/test/resources/async-tls-trust-filestore-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.dynamodb.aws.region=us-east-1 2 | 3 | quarkus.dynamodb.async-client.tls-trust-managers-provider.type=file-store 4 | quarkus.dynamodb.async-client.tls-trust-managers-provider.file-store.path=/tmp/file.key 5 | quarkus.dynamodb.async-client.tls-trust-managers-provider.file-store.type=pkcs11 6 | quarkus.dynamodb.async-client.tls-trust-managers-provider.file-store.password=thePassword 7 | 8 | quarkus.dynamodb.devservices.enabled=false -------------------------------------------------------------------------------- /services/dynamodb/deployment/src/test/resources/async-tls-trust-trustall-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.dynamodb.aws.region=us-east-1 2 | 3 | quarkus.dynamodb.async-client.tls-trust-managers-provider.type=trust-all 4 | 5 | quarkus.dynamodb.devservices.enabled=false -------------------------------------------------------------------------------- /services/dynamodb/deployment/src/test/resources/broken-endpoint-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.dynamodb.aws.region=us-east-1 2 | 3 | quarkus.dynamodb.endpoint-override=127.0.0.1 4 | 5 | -------------------------------------------------------------------------------- /services/dynamodb/deployment/src/test/resources/default-credentials-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.dynamodb.aws.region=us-east-2 2 | 3 | quarkus.dynamodb.aws.credentials.type=default 4 | quarkus.dynamodb.aws.credentials.default-provider.async-credential-update-enabled=true 5 | quarkus.dynamodb.aws.credentials.default-provider.reuse-last-provider-enabled=true 6 | 7 | quarkus.dynamodb.devservices.enabled=false -------------------------------------------------------------------------------- /services/dynamodb/deployment/src/test/resources/localstack-init-script-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.aws.devservices.localstack.init-scripts-folder=src/test/resources/localstack-init 2 | quarkus.aws.devservices.localstack.init-completion-msg=Dynamodb init completed -------------------------------------------------------------------------------- /services/dynamodb/deployment/src/test/resources/localstack-init/01_configure_cli.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | echo "#### Configure aws cli ####" 3 | aws configure set aws_access_key_id default_access_key --profile=localstack 4 | aws configure set aws_secret_access_key default_secret_key --profile=localstack 5 | aws configure set region us-east-1 --profile=localstack 6 | -------------------------------------------------------------------------------- /services/dynamodb/deployment/src/test/resources/localstack-init/02_create_table.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | echo "#### Create QuarkusFruits table ####" 3 | aws dynamodb create-table --endpoint-url=http://localhost:4566 \ 4 | --table-name QuarkusFruits \ 5 | --attribute-definitions AttributeName=fruitName,AttributeType=S \ 6 | --key-schema AttributeName=fruitName,KeyType=HASH \ 7 | --provisioned-throughput ReadCapacityUnits=1,WriteCapacityUnits=1 \ 8 | --profile=localstack \ 9 | --region=us-east-1 10 | echo "#### Dynamodb init completed" 11 | -------------------------------------------------------------------------------- /services/dynamodb/deployment/src/test/resources/process-credentials-broken-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.dynamodb.aws.credentials.type=process 2 | 3 | quarkus.dynamodb.devservices.enabled=false -------------------------------------------------------------------------------- /services/dynamodb/deployment/src/test/resources/profile-credentials-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.dynamodb.aws.region=us-east-2 2 | 3 | quarkus.dynamodb.aws.credentials.type=profile 4 | quarkus.dynamodb.aws.credentials.profile-provider.profile-name=myprofile 5 | 6 | quarkus.dynamodb.devservices.enabled=false -------------------------------------------------------------------------------- /services/dynamodb/deployment/src/test/resources/static-credentials-broken-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.dynamodb.aws.credentials.type=static 2 | 3 | quarkus.dynamodb.devservices.enabled=false -------------------------------------------------------------------------------- /services/dynamodb/deployment/src/test/resources/sync-apache-broken-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.dynamodb.sync-client.type = apache 2 | quarkus.dynamodb.sync-client.apache.max-connections = -10 3 | 4 | quarkus.dynamodb.devservices.enabled=false 5 | -------------------------------------------------------------------------------- /services/dynamodb/deployment/src/test/resources/sync-apache-broken-proxy-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.dynamodb.sync-client.type = apache 2 | quarkus.dynamodb.sync-client.apache.proxy.enabled = true 3 | quarkus.dynamodb.sync-client.apache.proxy.endpoint = http://user:name@127.1.1.1?foo=bar 4 | 5 | quarkus.dynamodb.devservices.enabled=false 6 | -------------------------------------------------------------------------------- /services/dynamodb/deployment/src/test/resources/sync-tls-key-filestore-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.dynamodb.aws.region=us-east-1 2 | 3 | quarkus.dynamodb.sync-client.tls-key-managers-provider.type=file-store 4 | quarkus.dynamodb.sync-client.tls-key-managers-provider.file-store.path=/tmp/file.key 5 | quarkus.dynamodb.sync-client.tls-key-managers-provider.file-store.type=pkcs11 6 | quarkus.dynamodb.sync-client.tls-key-managers-provider.file-store.password=thePassword 7 | 8 | quarkus.dynamodb.devservices.enabled=false 9 | -------------------------------------------------------------------------------- /services/dynamodb/deployment/src/test/resources/sync-tls-trust-filestore-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.dynamodb.aws.region=us-east-1 2 | 3 | quarkus.dynamodb.sync-client.tls-trust-managers-provider.type=file-store 4 | quarkus.dynamodb.sync-client.tls-trust-managers-provider.file-store.path=/tmp/file.key 5 | quarkus.dynamodb.sync-client.tls-trust-managers-provider.file-store.type=pkcs11 6 | quarkus.dynamodb.sync-client.tls-trust-managers-provider.file-store.password=thePassword 7 | 8 | quarkus.dynamodb.devservices.enabled=false 9 | -------------------------------------------------------------------------------- /services/dynamodb/deployment/src/test/resources/sync-tls-trust-trustall-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.dynamodb.aws.region=us-east-1 2 | 3 | quarkus.dynamodb.sync-client.tls-trust-managers-provider.type=trust-all 4 | 5 | quarkus.dynamodb.devservices.enabled=false 6 | -------------------------------------------------------------------------------- /services/dynamodb/deployment/src/test/resources/sync-urlconn-full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.dynamodb.enable-endpoint-discovery=true 2 | 3 | quarkus.dynamodb.endpoint-override=http://localhost:8000 4 | quarkus.dynamodb.api-call-timeout=0.5S 5 | quarkus.dynamodb.api-call-attempt-timeout=0.5S 6 | 7 | quarkus.dynamodb.aws.region=us-east-2 8 | quarkus.dynamodb.aws.credentials.type=static 9 | quarkus.dynamodb.aws.credentials.static-provider.access-key-id=test-key 10 | quarkus.dynamodb.aws.credentials.static-provider.secret-access-key=test-secret 11 | 12 | quarkus.dynamodb.sync-client.type = url 13 | quarkus.dynamodb.sync-client.connection-timeout = 0.100S 14 | quarkus.dynamodb.sync-client.socket-timeout = 0.100S 15 | quarkus.dynamodb.sync-client.tls-trust-managers-provider.type=system-property 16 | -------------------------------------------------------------------------------- /services/dynamodb/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-services-parent 8 | 999-SNAPSHOT 9 | 10 | 11 | quarkus-amazon-dynamodb-parent 12 | Quarkus - Amazon Services - DynamoDB 13 | pom 14 | 15 | 16 | runtime 17 | deployment 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /services/dynamodb/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon DynamoDB" 4 | metadata: 5 | keywords: 6 | - "dynamodb" 7 | - "dynamo" 8 | - "aws" 9 | - "amazon" 10 | categories: 11 | - "data" 12 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-dynamodb.html 13 | status: "stable" 14 | config: 15 | - "quarkus.dynamodb." 16 | -------------------------------------------------------------------------------- /services/ecr/deployment/src/test/java/io/quarkiverse/amazon/ecr/deployment/EcrDevServicesTest.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.ecr.deployment; 2 | 3 | import static org.junit.jupiter.api.Assertions.assertNotNull; 4 | 5 | import jakarta.enterprise.inject.Instance; 6 | import jakarta.inject.Inject; 7 | 8 | import org.junit.jupiter.api.Test; 9 | import org.junit.jupiter.api.extension.RegisterExtension; 10 | 11 | import io.quarkus.test.QuarkusUnitTest; 12 | import software.amazon.awssdk.services.ecr.EcrClient; 13 | 14 | public class EcrDevServicesTest { 15 | 16 | @Inject 17 | Instance client; 18 | 19 | @RegisterExtension 20 | static final QuarkusUnitTest config = new QuarkusUnitTest() 21 | .withEmptyApplication(); 22 | 23 | @Test 24 | public void test() { 25 | assertNotNull(client.get()); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /services/ecr/deployment/src/test/java/io/quarkiverse/amazon/ecr/deployment/EcrSyncClientFullConfigTest.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.ecr.deployment; 2 | 3 | import jakarta.inject.Inject; 4 | 5 | import org.junit.jupiter.api.Test; 6 | import org.junit.jupiter.api.extension.RegisterExtension; 7 | 8 | import io.quarkus.test.QuarkusUnitTest; 9 | import software.amazon.awssdk.services.ecr.EcrAsyncClient; 10 | import software.amazon.awssdk.services.ecr.EcrClient; 11 | 12 | public class EcrSyncClientFullConfigTest { 13 | 14 | @Inject 15 | EcrClient client; 16 | 17 | @Inject 18 | EcrAsyncClient async; 19 | 20 | @RegisterExtension 21 | static final QuarkusUnitTest config = new QuarkusUnitTest() 22 | .withApplicationRoot((jar) -> jar 23 | .addAsResource("sync-urlconn-full-config.properties", "application.properties")); 24 | 25 | @Test 26 | public void test() { 27 | // should finish with success 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /services/ecr/deployment/src/test/resources/sync-urlconn-full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.ecr.endpoint-override=http://localhost:9090 2 | 3 | quarkus.ecr.aws.region=us-east-1 4 | quarkus.ecr.aws.credentials.type=static 5 | quarkus.ecr.aws.credentials.static-provider.access-key-id=test-key 6 | quarkus.ecr.aws.credentials.static-provider.secret-access-key=test-secret 7 | 8 | quarkus.ecr.sync-client.type = url 9 | quarkus.ecr.sync-client.connection-timeout = 0.100S 10 | quarkus.ecr.sync-client.socket-timeout = 0.100S -------------------------------------------------------------------------------- /services/ecr/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-services-parent 8 | 999-SNAPSHOT 9 | 10 | 11 | quarkus-amazon-ecr-parent 12 | Quarkus - Amazon Services - ECR 13 | pom 14 | 15 | 16 | runtime 17 | deployment 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /services/ecr/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon ECR" 4 | metadata: 5 | keywords: 6 | - "ecr" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "data" 11 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-ecr.html 12 | status: "stable" 13 | config: 14 | - "quarkus.ecr." 15 | -------------------------------------------------------------------------------- /services/ecr/src/main/resources/codegen-resources/customization.config: -------------------------------------------------------------------------------- 1 | { 2 | "verifiedSimpleMethods": [ 3 | "describeRepositories", 4 | "getAuthorizationToken" 5 | ], 6 | "enableGenerateCompiledEndpointRules": true, 7 | "enableFastUnmarshaller": true 8 | } 9 | -------------------------------------------------------------------------------- /services/elasticloadbalancing/deployment/src/test/resources/sync-urlconn-full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.elasticloadbalancing.endpoint-override=http://localhost:9090 2 | 3 | quarkus.elasticloadbalancing.aws.region=us-east-1 4 | quarkus.elasticloadbalancing.aws.credentials.type=static 5 | quarkus.elasticloadbalancing.aws.credentials.static-provider.access-key-id=test-key 6 | quarkus.elasticloadbalancing.aws.credentials.static-provider.secret-access-key=test-secret 7 | 8 | quarkus.elasticloadbalancing.sync-client.type = url 9 | quarkus.elasticloadbalancing.sync-client.connection-timeout = 0.100S 10 | quarkus.elasticloadbalancing.sync-client.socket-timeout = 0.100S -------------------------------------------------------------------------------- /services/elasticloadbalancing/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-services-parent 8 | 999-SNAPSHOT 9 | 10 | 11 | quarkus-amazon-elasticloadbalancing-parent 12 | Quarkus - Amazon Services - Elastic Load Balancing 13 | pom 14 | 15 | 16 | runtime 17 | deployment 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /services/elasticloadbalancing/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon Elastic Load Balancing" 4 | metadata: 5 | keywords: 6 | - "elasticloadbalancing" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "data" 11 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-elasticloadbalancing.html 12 | status: "stable" 13 | config: 14 | - "quarkus.elasticloadbalancing." 15 | -------------------------------------------------------------------------------- /services/elasticloadbalancing/src/main/resources/codegen-resources/customization.config: -------------------------------------------------------------------------------- 1 | { 2 | "verifiedSimpleMethods": [ 3 | "describeAccountLimits", 4 | "describeLoadBalancerPolicies", 5 | "describeLoadBalancerPolicyTypes", 6 | "describeLoadBalancers" 7 | ], 8 | "renameShapes": { 9 | "AccessPointNotFoundException": "LoadBalancerNotFoundException", 10 | "DuplicateAccessPointNameException": "DuplicateLoadBalancerNameException", 11 | "TooManyAccessPointsException": "TooManyLoadBalancersException", 12 | "InvalidEndPointException": "InvalidInstanceException" 13 | }, 14 | 15 | "enableGenerateCompiledEndpointRules": true 16 | 17 | } 18 | -------------------------------------------------------------------------------- /services/elasticloadbalancingv2/deployment/src/test/resources/sync-urlconn-full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.elasticloadbalancingv2.endpoint-override=http://localhost:9090 2 | 3 | quarkus.elasticloadbalancingv2.aws.region=us-east-1 4 | quarkus.elasticloadbalancingv2.aws.credentials.type=static 5 | quarkus.elasticloadbalancingv2.aws.credentials.static-provider.access-key-id=test-key 6 | quarkus.elasticloadbalancingv2.aws.credentials.static-provider.secret-access-key=test-secret 7 | 8 | quarkus.elasticloadbalancingv2.sync-client.type = url 9 | quarkus.elasticloadbalancingv2.sync-client.connection-timeout = 0.100S 10 | quarkus.elasticloadbalancingv2.sync-client.socket-timeout = 0.100S -------------------------------------------------------------------------------- /services/elasticloadbalancingv2/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-services-parent 8 | 999-SNAPSHOT 9 | 10 | 11 | quarkus-amazon-elasticloadbalancingv2-parent 12 | Quarkus - Amazon Services - Elastic Load Balancing v2 13 | pom 14 | 15 | 16 | runtime 17 | deployment 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /services/elasticloadbalancingv2/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon Elastic Load Balancing v2" 4 | metadata: 5 | keywords: 6 | - "elasticloadbalancingv2" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "data" 11 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-elasticloadbalancingv2.html 12 | status: "stable" 13 | config: 14 | - "quarkus.elasticloadbalancingv2." 15 | -------------------------------------------------------------------------------- /services/elasticloadbalancingv2/src/main/resources/codegen-resources/customization.config: -------------------------------------------------------------------------------- 1 | { 2 | "verifiedSimpleMethods": [ 3 | "describeAccountLimits", 4 | "describeLoadBalancers", 5 | "describeSSLPolicies", 6 | "describeTargetGroups" 7 | ], 8 | "excludedSimpleMethods": [ 9 | "describeRules", 10 | "describeListeners" 11 | ], 12 | 13 | "enableGenerateCompiledEndpointRules": true 14 | 15 | } 16 | -------------------------------------------------------------------------------- /services/eventbridge/deployment/src/test/resources/full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.eventbridge.endpoint-override=http://localhost:9090 2 | 3 | quarkus.eventbridge.aws.region=us-east-2 4 | quarkus.eventbridge.aws.credentials.type=static 5 | quarkus.eventbridge.aws.credentials.static-provider.access-key-id=test-key 6 | quarkus.eventbridge.aws.credentials.static-provider.secret-access-key=test-secret 7 | 8 | quarkus.eventbridge.sync-client.type = url 9 | quarkus.eventbridge.sync-client.connection-timeout = 0.100S 10 | quarkus.eventbridge.sync-client.socket-timeout = 0.100S -------------------------------------------------------------------------------- /services/eventbridge/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-services-parent 8 | 999-SNAPSHOT 9 | 10 | 11 | quarkus-amazon-eventbridge-parent 12 | Quarkus - Amazon Services - EventBridge 13 | pom 14 | 15 | 16 | runtime 17 | deployment 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /services/eventbridge/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon EventBridge" 4 | metadata: 5 | keywords: 6 | - "eventbridge" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "data" 11 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-eventbridge.html 12 | status: "stable" 13 | config: 14 | - "quarkus.eventbridge." 15 | -------------------------------------------------------------------------------- /services/eventbridge/src/main/resources/codegen-resources/customization.config: -------------------------------------------------------------------------------- 1 | { 2 | "enableEndpointAuthSchemeParams": true, 3 | "allowedEndpointAuthSchemeParams": [ 4 | "EndpointId" 5 | ], 6 | "enableGenerateCompiledEndpointRules": true, 7 | "enableFastUnmarshaller": true 8 | } 9 | -------------------------------------------------------------------------------- /services/iam/deployment/src/test/resources/sync-urlconn-full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.iam.endpoint-override=http://localhost:9090 2 | 3 | quarkus.iam.aws.region=us-east-1 4 | quarkus.iam.aws.credentials.type=static 5 | quarkus.iam.aws.credentials.static-provider.access-key-id=test-key 6 | quarkus.iam.aws.credentials.static-provider.secret-access-key=test-secret 7 | 8 | quarkus.iam.sync-client.type = url 9 | quarkus.iam.sync-client.connection-timeout = 0.100S 10 | quarkus.iam.sync-client.socket-timeout = 0.100S -------------------------------------------------------------------------------- /services/iam/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-services-parent 8 | 999-SNAPSHOT 9 | 10 | 11 | quarkus-amazon-iam-parent 12 | Quarkus - Amazon Services - IAM 13 | pom 14 | 15 | 16 | runtime 17 | deployment 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /services/iam/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon IAM" 4 | metadata: 5 | keywords: 6 | - "iam" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "data" 11 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-iam.html 12 | status: "stable" 13 | config: 14 | - "quarkus.iam." 15 | -------------------------------------------------------------------------------- /services/inspector/deployment/src/test/resources/sync-urlconn-full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.inspector.endpoint-override=http://localhost:9090 2 | 3 | quarkus.inspector.aws.region=us-east-1 4 | quarkus.inspector.aws.credentials.type=static 5 | quarkus.inspector.aws.credentials.static-provider.access-key-id=test-key 6 | quarkus.inspector.aws.credentials.static-provider.secret-access-key=test-secret 7 | 8 | quarkus.inspector.sync-client.type = url 9 | quarkus.inspector.sync-client.connection-timeout = 0.100S 10 | quarkus.inspector.sync-client.socket-timeout = 0.100S -------------------------------------------------------------------------------- /services/inspector/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-services-parent 8 | 999-SNAPSHOT 9 | 10 | 11 | quarkus-amazon-inspector-parent 12 | Quarkus - Amazon Services - Inspector 13 | pom 14 | 15 | 16 | runtime 17 | deployment 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /services/inspector/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon Inspector" 4 | metadata: 5 | keywords: 6 | - "inspector" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "data" 11 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-inspector.html 12 | status: "stable" 13 | config: 14 | - "quarkus.inspector." 15 | -------------------------------------------------------------------------------- /services/inspector2/deployment/src/test/resources/sync-urlconn-full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.inspector2.endpoint-override=http://localhost:9090 2 | 3 | quarkus.inspector2.aws.region=us-east-1 4 | quarkus.inspector2.aws.credentials.type=static 5 | quarkus.inspector2.aws.credentials.static-provider.access-key-id=test-key 6 | quarkus.inspector2.aws.credentials.static-provider.secret-access-key=test-secret 7 | 8 | quarkus.inspector2.sync-client.type = url 9 | quarkus.inspector2.sync-client.connection-timeout = 0.100S 10 | quarkus.inspector2.sync-client.socket-timeout = 0.100S -------------------------------------------------------------------------------- /services/inspector2/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-services-parent 8 | 999-SNAPSHOT 9 | 10 | 11 | quarkus-amazon-inspector2-parent 12 | Quarkus - Amazon Services - Inspector2 13 | pom 14 | 15 | 16 | runtime 17 | deployment 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /services/inspector2/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon Inspector2" 4 | metadata: 5 | keywords: 6 | - "inspector2" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "data" 11 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-inspector2.html 12 | status: "stable" 13 | config: 14 | - "quarkus.inspector2." 15 | -------------------------------------------------------------------------------- /services/inspector2/src/main/resources/codegen-resources/customization.config: -------------------------------------------------------------------------------- 1 | { 2 | "enableGenerateCompiledEndpointRules": true, 3 | "enableFastUnmarshaller": true 4 | } 5 | -------------------------------------------------------------------------------- /services/iot/deployment/src/test/java/io/quarkiverse/amazon/iot/deployment/IotClientFullConfigTest.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.iot.deployment; 2 | 3 | import jakarta.inject.Inject; 4 | 5 | import org.junit.jupiter.api.Test; 6 | import org.junit.jupiter.api.extension.RegisterExtension; 7 | 8 | import io.quarkus.test.QuarkusUnitTest; 9 | import software.amazon.awssdk.services.iot.IotAsyncClient; 10 | import software.amazon.awssdk.services.iot.IotClient; 11 | 12 | public class IotClientFullConfigTest { 13 | 14 | @Inject 15 | IotClient client; 16 | 17 | @Inject 18 | IotAsyncClient async; 19 | 20 | @RegisterExtension 21 | static final QuarkusUnitTest config = new QuarkusUnitTest() 22 | .withApplicationRoot((jar) -> jar 23 | .addAsResource("sync-urlconn-full-config.properties", "application.properties")); 24 | 25 | @Test 26 | public void test() { 27 | // should finish with success 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /services/iot/deployment/src/test/resources/sync-urlconn-full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.iot.endpoint-override=http://localhost:9090 2 | 3 | quarkus.iot.aws.region=us-east-1 4 | quarkus.iot.aws.credentials.type=static 5 | quarkus.iot.aws.credentials.static-provider.access-key-id=test-key 6 | quarkus.iot.aws.credentials.static-provider.secret-access-key=test-secret 7 | 8 | quarkus.iot.sync-client.type = url 9 | quarkus.iot.sync-client.connection-timeout = 0.100S 10 | quarkus.iot.sync-client.socket-timeout = 0.100S -------------------------------------------------------------------------------- /services/iot/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-services-parent 8 | 999-SNAPSHOT 9 | 10 | 11 | quarkus-amazon-iot-parent 12 | Quarkus - Amazon Services - IoT 13 | pom 14 | 15 | 16 | runtime 17 | deployment 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /services/iot/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon IoT" 4 | metadata: 5 | keywords: 6 | - "iot" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "data" 11 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-iot.html 12 | status: "stable" 13 | config: 14 | - "quarkus.iot." 15 | -------------------------------------------------------------------------------- /services/kinesis/deployment/src/test/resources/full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.kinesis.endpoint-override=http://localhost:9090 2 | 3 | quarkus.kinesis.aws.region=us-east-2 4 | quarkus.kinesis.aws.credentials.type=static 5 | quarkus.kinesis.aws.credentials.static-provider.access-key-id=test-key 6 | quarkus.kinesis.aws.credentials.static-provider.secret-access-key=test-secret 7 | 8 | quarkus.kinesis.sync-client.type = url 9 | quarkus.kinesis.sync-client.connection-timeout = 0.100S 10 | quarkus.kinesis.sync-client.socket-timeout = 0.100S -------------------------------------------------------------------------------- /services/kinesis/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-services-parent 8 | 999-SNAPSHOT 9 | 10 | 11 | quarkus-amazon-kinesis-parent 12 | Quarkus - Amazon Services - Kinesis 13 | pom 14 | 15 | 16 | runtime 17 | deployment 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /services/kinesis/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon Kinesis" 4 | metadata: 5 | keywords: 6 | - "kinesis" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "data" 11 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-kinesis.html 12 | status: "stable" 13 | config: 14 | - "quarkus.kinesis." 15 | -------------------------------------------------------------------------------- /services/kms/deployment/src/test/resources/sync-urlconn-full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.kms.endpoint-override=http://localhost:9090 2 | 3 | quarkus.kms.aws.region=us-east-1 4 | quarkus.kms.aws.credentials.type=static 5 | quarkus.kms.aws.credentials.static-provider.access-key-id=test-key 6 | quarkus.kms.aws.credentials.static-provider.secret-access-key=test-secret 7 | 8 | quarkus.kms.sync-client.type = url 9 | quarkus.kms.sync-client.connection-timeout = 0.100S 10 | quarkus.kms.sync-client.socket-timeout = 0.100S -------------------------------------------------------------------------------- /services/kms/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-services-parent 8 | 999-SNAPSHOT 9 | 10 | 11 | quarkus-amazon-kms-parent 12 | Quarkus - Amazon Services - KMS 13 | pom 14 | 15 | 16 | runtime 17 | deployment 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /services/kms/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon KMS" 4 | metadata: 5 | keywords: 6 | - "kms" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "data" 11 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-kms.html 12 | status: "stable" 13 | config: 14 | - "quarkus.kms." 15 | -------------------------------------------------------------------------------- /services/kms/src/main/resources/codegen-resources/customization.config: -------------------------------------------------------------------------------- 1 | { 2 | "verifiedSimpleMethods": [ 3 | "createKey", 4 | "generateRandom", 5 | "retireGrant", 6 | "describeCustomKeyStores", 7 | "listAliases", 8 | "listKeys" 9 | ], 10 | "enableGenerateCompiledEndpointRules": true, 11 | "enableFastUnmarshaller": true 12 | } 13 | -------------------------------------------------------------------------------- /services/lambda/deployment/src/test/resources/sync-urlconn-full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.lambda.endpoint-override=http://localhost:9090 2 | 3 | quarkus.lambda.aws.region=us-east-2 4 | quarkus.lambda.aws.credentials.type=static 5 | quarkus.lambda.aws.credentials.static-provider.access-key-id=test-key 6 | quarkus.lambda.aws.credentials.static-provider.secret-access-key=test-secret 7 | 8 | quarkus.lambda.sync-client.type = url 9 | quarkus.lambda.sync-client.connection-timeout = 0.100S 10 | quarkus.lambda.sync-client.socket-timeout = 0.100S -------------------------------------------------------------------------------- /services/lambda/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | io.quarkiverse.amazonservices 6 | quarkus-amazon-services-services-parent 7 | 999-SNAPSHOT 8 | 9 | 10 | quarkus-amazon-lambda-parent 11 | Quarkus - Amazon Services - Lambda 12 | pom 13 | 14 | 15 | runtime 16 | deployment 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /services/lambda/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon Lambda" 4 | metadata: 5 | keywords: 6 | - "lambda" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "data" 11 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-lambda.html 12 | status: "stable" 13 | config: 14 | - "quarkus.lambda." 15 | -------------------------------------------------------------------------------- /services/lambda/src/main/resources/codegen-resources/customization.config: -------------------------------------------------------------------------------- 1 | { 2 | "verifiedSimpleMethods": [ 3 | "getAccountSettings", 4 | "listEventSourceMappings", 5 | "listFunctions", 6 | "listLayers" 7 | ], 8 | "deprecatedOperations": [ 9 | "InvokeAsync" 10 | ], 11 | "enableGenerateCompiledEndpointRules": true, 12 | "enableFastUnmarshaller": true 13 | } 14 | -------------------------------------------------------------------------------- /services/neptune/deployment/src/test/resources/sync-urlconn-full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.neptune.endpoint-override=http://localhost:9090 2 | 3 | quarkus.neptune.aws.region=us-east-1 4 | quarkus.neptune.aws.credentials.type=static 5 | quarkus.neptune.aws.credentials.static-provider.access-key-id=test-key 6 | quarkus.neptune.aws.credentials.static-provider.secret-access-key=test-secret 7 | 8 | quarkus.neptune.sync-client.type = url 9 | quarkus.neptune.sync-client.connection-timeout = 0.100S 10 | quarkus.neptune.sync-client.socket-timeout = 0.100S -------------------------------------------------------------------------------- /services/neptune/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-services-parent 8 | 999-SNAPSHOT 9 | 10 | 11 | quarkus-amazon-neptune-parent 12 | Quarkus - Amazon Services - Neptune 13 | pom 14 | 15 | 16 | runtime 17 | deployment 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /services/neptune/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon Neptune" 4 | metadata: 5 | keywords: 6 | - "neptune" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "data" 11 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-neptune.html 12 | status: "stable" 13 | config: 14 | - "quarkus.neptune." 15 | -------------------------------------------------------------------------------- /services/paymentcryptography/deployment/src/test/resources/sync-urlconn-full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.paymentcryptography.endpoint-override=http://localhost:9090 2 | 3 | quarkus.paymentcryptography.aws.region=us-east-1 4 | quarkus.paymentcryptography.aws.credentials.type=static 5 | quarkus.paymentcryptography.aws.credentials.static-provider.access-key-id=test-key 6 | quarkus.paymentcryptography.aws.credentials.static-provider.secret-access-key=test-secret 7 | 8 | quarkus.paymentcryptography.sync-client.type = url 9 | quarkus.paymentcryptography.sync-client.connection-timeout = 0.100S 10 | quarkus.paymentcryptography.sync-client.socket-timeout = 0.100S -------------------------------------------------------------------------------- /services/paymentcryptography/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-services-parent 8 | 999-SNAPSHOT 9 | 10 | 11 | quarkus-amazon-paymentcryptography-parent 12 | Quarkus - Amazon Services - Payment Cryptography 13 | pom 14 | 15 | 16 | runtime 17 | deployment 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /services/paymentcryptography/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon Payment Cryptography" 4 | metadata: 5 | keywords: 6 | - "paymentcryptography" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "data" 11 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-paymentcryptography.html 12 | status: "stable" 13 | config: 14 | - "quarkus.paymentcryptography." 15 | -------------------------------------------------------------------------------- /services/paymentcryptography/src/main/resources/codegen-resources/customization.config: -------------------------------------------------------------------------------- 1 | { 2 | "enableGenerateCompiledEndpointRules": true, 3 | "enableFastUnmarshaller": true 4 | } 5 | -------------------------------------------------------------------------------- /services/paymentcryptographydata/deployment/src/test/resources/sync-urlconn-full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.paymentcryptographydata.endpoint-override=http://localhost:9090 2 | 3 | quarkus.paymentcryptographydata.aws.region=us-east-1 4 | quarkus.paymentcryptographydata.aws.credentials.type=static 5 | quarkus.paymentcryptographydata.aws.credentials.static-provider.access-key-id=test-key 6 | quarkus.paymentcryptographydata.aws.credentials.static-provider.secret-access-key=test-secret 7 | 8 | quarkus.paymentcryptographydata.sync-client.type = url 9 | quarkus.paymentcryptographydata.sync-client.connection-timeout = 0.100S 10 | quarkus.paymentcryptographydata.sync-client.socket-timeout = 0.100S -------------------------------------------------------------------------------- /services/paymentcryptographydata/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-services-parent 8 | 999-SNAPSHOT 9 | 10 | 11 | quarkus-amazon-paymentcryptographydata-parent 12 | Quarkus - Amazon Services - Payment Cryptography Data 13 | pom 14 | 15 | 16 | runtime 17 | deployment 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /services/paymentcryptographydata/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon Payment Cryptography Data" 4 | metadata: 5 | keywords: 6 | - "paymentcryptographydata" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "data" 11 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-paymentcryptographydata.html 12 | status: "stable" 13 | config: 14 | - "quarkus.paymentcryptographydata." 15 | -------------------------------------------------------------------------------- /services/paymentcryptographydata/src/main/resources/codegen-resources/customization.config: -------------------------------------------------------------------------------- 1 | { 2 | "enableGenerateCompiledEndpointRules": true, 3 | "enableFastUnmarshaller": true 4 | } 5 | -------------------------------------------------------------------------------- /services/rds/deployment/src/test/resources/rds-credential-provider-config.properties: -------------------------------------------------------------------------------- 1 | # enable the credentials provider with the default client configuration 2 | quarkus.rds.credentials-provider.test-provider-quarkus.use-quarkus-client=true 3 | 4 | # configure the credentials provider 5 | quarkus.rds.credentials-provider.test-provider-quarkus.username=myiam 6 | quarkus.rds.credentials-provider.test-provider-quarkus.hostname=myhost 7 | quarkus.rds.credentials-provider.test-provider-quarkus.port=15 8 | 9 | 10 | quarkus.rds.credentials-provider.test-provider-default.username=fail 11 | quarkus.rds.credentials-provider.test-provider-default.hostname=fail 12 | quarkus.rds.credentials-provider.test-provider-default.port=1 13 | -------------------------------------------------------------------------------- /services/rds/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-services-parent 8 | 999-SNAPSHOT 9 | 10 | 11 | quarkus-amazon-rds-parent 12 | Quarkus - Amazon Services - RDS 13 | pom 14 | 15 | 16 | runtime 17 | deployment 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /services/rds/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon RDS" 4 | metadata: 5 | keywords: 6 | - "rds" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "data" 11 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-rds.html 12 | status: "stable" 13 | config: 14 | - "quarkus.rds." 15 | -------------------------------------------------------------------------------- /services/rdsdata/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-services-parent 8 | 999-SNAPSHOT 9 | 10 | 11 | quarkus-amazon-rdsdata-parent 12 | Quarkus - Amazon Services - RDS Data 13 | pom 14 | 15 | 16 | runtime 17 | deployment 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /services/rdsdata/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon RDS Data" 4 | metadata: 5 | keywordsdata: 6 | - "rdsdata" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "data" 11 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-rdsdata.html 12 | status: "stable" 13 | config: 14 | - "quarkus.rdsdata." 15 | -------------------------------------------------------------------------------- /services/rdsdata/src/main/resources/codegen-resources/customization.config: -------------------------------------------------------------------------------- 1 | { 2 | "enableGenerateCompiledEndpointRules": true, 3 | "enableFastUnmarshaller": true 4 | } 5 | -------------------------------------------------------------------------------- /services/secretsmanager/deployment/src/test/resources/sync-urlconn-full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.secretsmanager.endpoint-override=http://localhost:9090 2 | 3 | quarkus.secretsmanager.aws.region=us-east-1 4 | quarkus.secretsmanager.aws.credentials.type=static 5 | quarkus.secretsmanager.aws.credentials.static-provider.access-key-id=test-key 6 | quarkus.secretsmanager.aws.credentials.static-provider.secret-access-key=test-secret 7 | 8 | quarkus.secretsmanager.sync-client.type = url 9 | quarkus.secretsmanager.sync-client.connection-timeout = 0.100S 10 | quarkus.secretsmanager.sync-client.socket-timeout = 0.100S -------------------------------------------------------------------------------- /services/secretsmanager/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-services-parent 8 | 999-SNAPSHOT 9 | 10 | 11 | quarkus-amazon-secretsmanager-parent 12 | Quarkus - Amazon Services - Secrets Manager 13 | pom 14 | 15 | 16 | runtime 17 | deployment 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /services/secretsmanager/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon Secrets Manager" 4 | metadata: 5 | keywords: 6 | - "secretsmanager" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "data" 11 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-secretsmanager.html 12 | status: "preview" 13 | config: 14 | - "quarkus.secretsmanager." 15 | -------------------------------------------------------------------------------- /services/secretsmanager/src/main/resources/codegen-resources/customization.config: -------------------------------------------------------------------------------- 1 | { 2 | "verifiedSimpleMethods": [ 3 | "getRandomPassword", 4 | "listSecrets" 5 | ], 6 | "enableGenerateCompiledEndpointRules": true, 7 | "enableFastUnmarshaller": true 8 | } 9 | -------------------------------------------------------------------------------- /services/ses/deployment/src/test/resources/sync-urlconn-full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.ses.endpoint-override=http://localhost:9090 2 | 3 | quarkus.ses.aws.region=us-east-1 4 | quarkus.ses.aws.credentials.type=static 5 | quarkus.ses.aws.credentials.static-provider.access-key-id=test-key 6 | quarkus.ses.aws.credentials.static-provider.secret-access-key=test-secret 7 | 8 | quarkus.ses.sync-client.type = url 9 | quarkus.ses.sync-client.connection-timeout = 0.100S 10 | quarkus.ses.sync-client.socket-timeout = 0.100S -------------------------------------------------------------------------------- /services/ses/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-services-parent 8 | 999-SNAPSHOT 9 | 10 | 11 | quarkus-amazon-ses-parent 12 | Quarkus - Amazon Services - SES 13 | pom 14 | 15 | 16 | runtime 17 | deployment 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /services/ses/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon SES" 4 | metadata: 5 | keywords: 6 | - "ses" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "data" 11 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-ses.html 12 | status: "stable" 13 | config: 14 | - "quarkus.ses." 15 | -------------------------------------------------------------------------------- /services/ses/src/main/resources/codegen-resources/customization.config: -------------------------------------------------------------------------------- 1 | { 2 | "verifiedSimpleMethods": [ 3 | "setActiveReceiptRuleSet", 4 | "describeActiveReceiptRuleSet", 5 | "getAccountSendingEnabled", 6 | "getSendQuota", 7 | "getSendStatistics", 8 | "listConfigurationSets", 9 | "listCustomVerificationEmailTemplates", 10 | "listIdentities", 11 | "listReceiptFilters", 12 | "listReceiptRuleSets", 13 | "listTemplates", 14 | "listVerifiedEmailAddresses" 15 | ], 16 | "excludedSimpleMethods": [ 17 | "updateAccountSendingEnabled" 18 | ], 19 | 20 | "enableGenerateCompiledEndpointRules": true 21 | 22 | } 23 | -------------------------------------------------------------------------------- /services/sesv2/deployment/src/test/resources/sync-urlconn-full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.sesv2.endpoint-override=http://localhost:9090 2 | 3 | quarkus.sesv2.aws.region=us-east-1 4 | quarkus.sesv2.aws.credentials.type=static 5 | quarkus.sesv2.aws.credentials.static-provider.access-key-id=test-key 6 | quarkus.sesv2.aws.credentials.static-provider.secret-access-key=test-secret 7 | 8 | quarkus.sesv2.sync-client.type = url 9 | quarkus.sesv2.sync-client.connection-timeout = 0.100S 10 | quarkus.sesv2.sync-client.socket-timeout = 0.100S -------------------------------------------------------------------------------- /services/sesv2/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-services-parent 8 | 999-SNAPSHOT 9 | 10 | 11 | quarkus-amazon-sesv2-parent 12 | Quarkus - Amazon Services - SESv2 13 | pom 14 | 15 | 16 | runtime 17 | deployment 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /services/sesv2/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon SESv2" 4 | metadata: 5 | keywords: 6 | - "sesv2" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "data" 11 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-sesv2.html 12 | status: "stable" 13 | config: 14 | - "quarkus.sesv2." 15 | -------------------------------------------------------------------------------- /services/sesv2/src/main/resources/codegen-resources/customization.config: -------------------------------------------------------------------------------- 1 | { 2 | "enableGenerateCompiledEndpointRules": true, 3 | "enableEndpointAuthSchemeParams": true, 4 | "enableFastUnmarshaller": true 5 | } 6 | -------------------------------------------------------------------------------- /services/sfn/deployment/src/test/resources/sync-urlconn-full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.sfn.endpoint-override=http://localhost:9090 2 | 3 | quarkus.sfn.aws.region=us-east-1 4 | quarkus.sfn.aws.credentials.type=static 5 | quarkus.sfn.aws.credentials.static-provider.access-key-id=test-key 6 | quarkus.sfn.aws.credentials.static-provider.secret-access-key=test-secret 7 | 8 | quarkus.sfn.sync-client.type = url 9 | quarkus.sfn.sync-client.connection-timeout = 0.100S 10 | quarkus.sfn.sync-client.socket-timeout = 0.100S -------------------------------------------------------------------------------- /services/sfn/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-services-parent 8 | 999-SNAPSHOT 9 | 10 | 11 | quarkus-amazon-sfn-parent 12 | Quarkus - Amazon Services - SFN 13 | pom 14 | 15 | 16 | runtime 17 | deployment 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /services/sfn/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon SFN" 4 | metadata: 5 | keywords: 6 | - "sfn" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "data" 11 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-sfn.html 12 | status: "stable" 13 | config: 14 | - "quarkus.sfn." 15 | -------------------------------------------------------------------------------- /services/sfn/src/main/resources/codegen-resources/customization.config: -------------------------------------------------------------------------------- 1 | { 2 | "verifiedSimpleMethods": [ 3 | "listActivities", 4 | "listStateMachines" 5 | ], 6 | "serviceSpecificHttpConfig": "software.amazon.awssdk.services.sfn.internal.SfnHttpConfigurationOptions", 7 | "generateEndpointClientTests": true, 8 | "enableGenerateCompiledEndpointRules": true, 9 | "enableFastUnmarshaller": true 10 | } 11 | -------------------------------------------------------------------------------- /services/sns/deployment/src/test/resources/full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.sns.endpoint-override=http://localhost:9090 2 | 3 | quarkus.sns.aws.region=us-east-2 4 | quarkus.sns.aws.credentials.type=static 5 | quarkus.sns.aws.credentials.static-provider.access-key-id=test-key 6 | quarkus.sns.aws.credentials.static-provider.secret-access-key=test-secret 7 | 8 | quarkus.sns.sync-client.type = url 9 | quarkus.sns.sync-client.connection-timeout = 0.100S 10 | quarkus.sns.sync-client.socket-timeout = 0.100S -------------------------------------------------------------------------------- /services/sns/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-services-parent 8 | 999-SNAPSHOT 9 | 10 | 11 | quarkus-amazon-sns-parent 12 | Quarkus - Amazon Services - SNS 13 | pom 14 | 15 | 16 | runtime 17 | deployment 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /services/sns/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon SNS" 4 | metadata: 5 | keywords: 6 | - "sns" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "data" 11 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-sns.html 12 | status: "stable" 13 | config: 14 | - "quarkus.sns." 15 | -------------------------------------------------------------------------------- /services/sns/src/main/resources/codegen-resources/customization.config: -------------------------------------------------------------------------------- 1 | { 2 | "verifiedSimpleMethods": [ 3 | "getSMSAttributes", 4 | "listPhoneNumbersOptedOut", 5 | "listPlatformApplications", 6 | "listSubscriptions", 7 | "listTopics" 8 | ], 9 | "shapeModifiers": { 10 | "AddPermissionInput": { 11 | "modify": [ 12 | { 13 | "AWSAccountId": { 14 | "emitPropertyName": "AWSAccountIds" 15 | }, 16 | "ActionName": { 17 | "emitPropertyName": "ActionNames" 18 | } 19 | } 20 | ] 21 | } 22 | }, 23 | 24 | "enableGenerateCompiledEndpointRules": true 25 | 26 | } 27 | -------------------------------------------------------------------------------- /services/ssm/deployment/src/test/resources/sync-urlconn-full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.ssm.endpoint-override=http://localhost:9090 2 | 3 | quarkus.ssm.aws.region=us-east-1 4 | quarkus.ssm.aws.credentials.type=static 5 | quarkus.ssm.aws.credentials.static-provider.access-key-id=test-key 6 | quarkus.ssm.aws.credentials.static-provider.secret-access-key=test-secret 7 | 8 | quarkus.ssm.sync-client.type = url 9 | quarkus.ssm.sync-client.connection-timeout = 0.100S 10 | quarkus.ssm.sync-client.socket-timeout = 0.100S -------------------------------------------------------------------------------- /services/ssm/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-services-parent 8 | 999-SNAPSHOT 9 | 10 | 11 | quarkus-amazon-ssm-parent 12 | Quarkus - Amazon Services - SSM 13 | pom 14 | 15 | 16 | runtime 17 | deployment 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /services/ssm/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon SSM" 4 | metadata: 5 | keywords: 6 | - "ssm" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "data" 11 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-ssm.html 12 | status: "stable" 13 | config: 14 | - "quarkus.ssm." 15 | -------------------------------------------------------------------------------- /services/sso/deployment/src/main/java/io/quarkiverse/amazon/sso/deployment/SsoNativeProcessor.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.sso.deployment; 2 | 3 | import java.util.stream.Stream; 4 | 5 | import io.quarkus.deployment.annotations.BuildProducer; 6 | import io.quarkus.deployment.annotations.BuildStep; 7 | import io.quarkus.deployment.builditem.nativeimage.RuntimeInitializedClassBuildItem; 8 | 9 | public class SsoNativeProcessor { 10 | 11 | @BuildStep 12 | void runtimeInitializedClasses(BuildProducer runtimeInitializedClass) { 13 | Stream.of( 14 | "software.amazon.awssdk.services.sso.auth.SsoProfileCredentialsProviderFactory") 15 | .map(RuntimeInitializedClassBuildItem::new) 16 | .forEach(runtimeInitializedClass::produce); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /services/sso/deployment/src/test/java/io/quarkiverse/amazon/sso/deployment/SsoSyncClientFullConfigTest.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.sso.deployment; 2 | 3 | import jakarta.inject.Inject; 4 | 5 | import org.junit.jupiter.api.Test; 6 | import org.junit.jupiter.api.extension.RegisterExtension; 7 | 8 | import io.quarkus.test.QuarkusUnitTest; 9 | import software.amazon.awssdk.services.sso.SsoAsyncClient; 10 | import software.amazon.awssdk.services.sso.SsoClient; 11 | 12 | public class SsoSyncClientFullConfigTest { 13 | 14 | @Inject 15 | SsoClient client; 16 | 17 | @Inject 18 | SsoAsyncClient async; 19 | 20 | @RegisterExtension 21 | static final QuarkusUnitTest config = new QuarkusUnitTest().withApplicationRoot( 22 | (jar) -> jar.addAsResource("full-config.properties", "application.properties")); 23 | 24 | @Test 25 | public void test() { 26 | // should finish with success 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /services/sso/deployment/src/test/resources/full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.sso.endpoint-override=http://localhost:9090 2 | 3 | quarkus.sso.aws.region=us-east-1 4 | quarkus.sso.aws.credentials.type=static 5 | quarkus.sso.aws.credentials.static-provider.access-key-id=test-key 6 | quarkus.sso.aws.credentials.static-provider.secret-access-key=test-secret 7 | 8 | quarkus.sso.sync-client.type = url 9 | quarkus.sso.sync-client.connection-timeout = 0.100S 10 | quarkus.sso.sync-client.socket-timeout = 0.100S -------------------------------------------------------------------------------- /services/sso/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-services-parent 8 | 999-SNAPSHOT 9 | 10 | 11 | quarkus-amazon-sso-parent 12 | Quarkus - Amazon Services - SSO 13 | pom 14 | 15 | 16 | runtime 17 | deployment 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /services/sso/runtime/src/main/java/io/quarkiverse/amazon/sso/runtime/SsoSubstitutions.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.sso.runtime; 2 | 3 | import com.oracle.svm.core.annotate.Substitute; 4 | import com.oracle.svm.core.annotate.TargetClass; 5 | 6 | import software.amazon.awssdk.auth.credentials.ProfileCredentialsProviderFactory; 7 | import software.amazon.awssdk.auth.credentials.internal.ProfileCredentialsUtils; 8 | import software.amazon.awssdk.services.sso.auth.SsoProfileCredentialsProviderFactory; 9 | 10 | public class SsoSubstitutions { 11 | 12 | @TargetClass(ProfileCredentialsUtils.class) 13 | static final class Target_ProfileCredentialsUtils { 14 | 15 | @Substitute 16 | private ProfileCredentialsProviderFactory ssoCredentialsProviderFactory() { 17 | return new SsoProfileCredentialsProviderFactory(); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /services/sso/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon SSO" 4 | metadata: 5 | keywords: 6 | - "sso" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "data" 11 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-sso.html 12 | status: "stable" 13 | config: 14 | - "quarkus.sso." 15 | -------------------------------------------------------------------------------- /services/sso/src/main/resources/codegen-resources/customization.config: -------------------------------------------------------------------------------- 1 | { 2 | "enableGenerateCompiledEndpointRules": true, 3 | "enableFastUnmarshaller": true 4 | } 5 | -------------------------------------------------------------------------------- /services/ssooidc/deployment/src/main/java/io/quarkiverse/amazon/ssooidc/deployment/SsoOidcNativeProcessor.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.ssooidc.deployment; 2 | 3 | import java.util.stream.Stream; 4 | 5 | import io.quarkus.deployment.annotations.BuildProducer; 6 | import io.quarkus.deployment.annotations.BuildStep; 7 | import io.quarkus.deployment.builditem.nativeimage.RuntimeInitializedClassBuildItem; 8 | 9 | public class SsoOidcNativeProcessor { 10 | 11 | @BuildStep 12 | void runtimeInitializedClasses(BuildProducer runtimeInitializedClass) { 13 | 14 | Stream.of( 15 | "software.amazon.awssdk.services.ssooidc.internal.OnDiskTokenManager") 16 | .map(RuntimeInitializedClassBuildItem::new) 17 | .forEach(runtimeInitializedClass::produce); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /services/ssooidc/deployment/src/test/resources/full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.ssooidc.endpoint-override=http://localhost:9090 2 | 3 | quarkus.ssooidc.aws.region=us-east-1 4 | quarkus.ssooidc.aws.credentials.type=static 5 | quarkus.ssooidc.aws.credentials.static-provider.access-key-id=test-key 6 | quarkus.ssooidc.aws.credentials.static-provider.secret-access-key=test-secret 7 | 8 | quarkus.ssooidc.sync-client.type = url 9 | quarkus.ssooidc.sync-client.connection-timeout = 0.100S 10 | quarkus.ssooidc.sync-client.socket-timeout = 0.100S -------------------------------------------------------------------------------- /services/ssooidc/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-services-parent 8 | 999-SNAPSHOT 9 | 10 | 11 | quarkus-amazon-ssooidc-parent 12 | Quarkus - Amazon Services - SSO OIDC 13 | pom 14 | 15 | 16 | runtime 17 | deployment 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /services/ssooidc/runtime/src/main/java/io/quarkiverse/amazon/ssooidc/runtime/SsoOidcSubstitutions.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.ssooidc.runtime; 2 | 3 | import com.oracle.svm.core.annotate.Substitute; 4 | import com.oracle.svm.core.annotate.TargetClass; 5 | 6 | import software.amazon.awssdk.auth.token.credentials.ChildProfileTokenProviderFactory; 7 | import software.amazon.awssdk.auth.token.internal.ProfileTokenProviderLoader; 8 | import software.amazon.awssdk.services.ssooidc.SsoOidcProfileTokenProviderFactory; 9 | 10 | public class SsoOidcSubstitutions { 11 | 12 | @TargetClass(ProfileTokenProviderLoader.class) 13 | static final class Target_ProfileTokenProviderLoader { 14 | 15 | @Substitute 16 | private ChildProfileTokenProviderFactory ssoTokenProviderFactory() { 17 | return new SsoOidcProfileTokenProviderFactory(); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /services/ssooidc/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon SSO OIDC" 4 | metadata: 5 | keywords: 6 | - "ssooidc" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "data" 11 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-ssooidc.html 12 | status: "stable" 13 | config: 14 | - "quarkus.ssooidc." 15 | -------------------------------------------------------------------------------- /services/sts/deployment/src/test/java/io/quarkiverse/amazon/sts/deployment/StsSyncClientFullConfigTest.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.sts.deployment; 2 | 3 | import jakarta.inject.Inject; 4 | 5 | import org.junit.jupiter.api.Test; 6 | import org.junit.jupiter.api.extension.RegisterExtension; 7 | 8 | import io.quarkus.test.QuarkusUnitTest; 9 | import software.amazon.awssdk.services.sts.StsAsyncClient; 10 | import software.amazon.awssdk.services.sts.StsClient; 11 | 12 | public class StsSyncClientFullConfigTest { 13 | 14 | @Inject 15 | StsClient client; 16 | 17 | @Inject 18 | StsAsyncClient async; 19 | 20 | @RegisterExtension 21 | static final QuarkusUnitTest config = new QuarkusUnitTest().withApplicationRoot( 22 | (jar) -> jar.addAsResource("full-config.properties", "application.properties")); 23 | 24 | @Test 25 | public void test() { 26 | // should finish with success 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /services/sts/deployment/src/test/resources/full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.sts.endpoint-override=http://localhost:9090 2 | 3 | quarkus.sts.aws.region=us-east-1 4 | quarkus.sts.aws.credentials.type=static 5 | quarkus.sts.aws.credentials.static-provider.access-key-id=test-key 6 | quarkus.sts.aws.credentials.static-provider.secret-access-key=test-secret 7 | 8 | quarkus.sts.sync-client.type = url 9 | quarkus.sts.sync-client.connection-timeout = 0.100S 10 | quarkus.sts.sync-client.socket-timeout = 0.100S -------------------------------------------------------------------------------- /services/sts/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-services-parent 8 | 999-SNAPSHOT 9 | 10 | 11 | quarkus-amazon-sts-parent 12 | Quarkus - Amazon Services - STS 13 | pom 14 | 15 | 16 | runtime 17 | deployment 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /services/sts/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon STS" 4 | metadata: 5 | keywords: 6 | - "sts" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "data" 11 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-sts.html 12 | status: "stable" 13 | config: 14 | - "quarkus.sts." 15 | -------------------------------------------------------------------------------- /sqs/deployment/src/test/java/io/quarkiverse/amazon/sqs/deployment/SqsSyncClientFullConfigTest.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.sqs.deployment; 2 | 3 | import jakarta.inject.Inject; 4 | 5 | import org.junit.jupiter.api.Test; 6 | import org.junit.jupiter.api.extension.RegisterExtension; 7 | 8 | import io.quarkus.test.QuarkusUnitTest; 9 | import software.amazon.awssdk.services.sqs.SqsClient; 10 | 11 | public class SqsSyncClientFullConfigTest { 12 | 13 | @Inject 14 | SqsClient client; 15 | 16 | @RegisterExtension 17 | static final QuarkusUnitTest config = new QuarkusUnitTest() 18 | .withApplicationRoot((jar) -> jar 19 | .addAsResource("full-config.properties", "application.properties")); 20 | 21 | @Test 22 | public void test() { 23 | // should finish with success 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /sqs/deployment/src/test/resources/full-config.properties: -------------------------------------------------------------------------------- 1 | quarkus.sqs.endpoint-override=http://localhost:9090 2 | 3 | quarkus.sqs.aws.region=us-east-2 4 | quarkus.sqs.aws.credentials.type=static 5 | quarkus.sqs.aws.credentials.static-provider.access-key-id=test-key 6 | quarkus.sqs.aws.credentials.static-provider.secret-access-key=test-secret 7 | 8 | quarkus.sqs.sync-client.type = url 9 | quarkus.sqs.sync-client.connection-timeout = 0.100S 10 | quarkus.sqs.sync-client.socket-timeout = 0.100S -------------------------------------------------------------------------------- /sqs/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4.0.0 4 | 5 | 6 | io.quarkiverse.amazonservices 7 | quarkus-amazon-services-build-parent 8 | 999-SNAPSHOT 9 | ../build-parent/pom.xml 10 | 11 | 12 | quarkus-amazon-sqs-parent 13 | Quarkus - Amazon Services - SQS 14 | pom 15 | 16 | 17 | runtime 18 | deployment 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /sqs/runtime/src/main/java/io/quarkiverse/amazon/sqs/runtime/SqsBuildTimeConfig.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.sqs.runtime; 2 | 3 | import io.quarkiverse.amazon.common.runtime.HasSdkBuildTimeConfig; 4 | import io.quarkiverse.amazon.common.runtime.HasTransportBuildTimeConfig; 5 | import io.quarkus.runtime.annotations.ConfigPhase; 6 | import io.quarkus.runtime.annotations.ConfigRoot; 7 | import io.smallrye.config.ConfigMapping; 8 | 9 | /** 10 | * Amazon SQS build time configuration 11 | */ 12 | @ConfigMapping(prefix = "quarkus.sqs") 13 | @ConfigRoot(phase = ConfigPhase.BUILD_AND_RUN_TIME_FIXED) 14 | public interface SqsBuildTimeConfig extends HasSdkBuildTimeConfig, HasTransportBuildTimeConfig { 15 | 16 | /** 17 | * Config for dev services 18 | */ 19 | SqsDevServicesBuildTimeConfig devservices(); 20 | } 21 | -------------------------------------------------------------------------------- /sqs/runtime/src/main/java/io/quarkiverse/amazon/sqs/runtime/SqsDevServicesBuildTimeConfig.java: -------------------------------------------------------------------------------- 1 | package io.quarkiverse.amazon.sqs.runtime; 2 | 3 | import java.util.List; 4 | import java.util.Optional; 5 | 6 | import io.quarkiverse.amazon.common.runtime.DevServicesBuildTimeConfig; 7 | import io.quarkus.runtime.annotations.ConfigGroup; 8 | 9 | @ConfigGroup 10 | public interface SqsDevServicesBuildTimeConfig extends DevServicesBuildTimeConfig { 11 | 12 | /** 13 | * The queues to create on startup. 14 | */ 15 | Optional> queues(); 16 | 17 | } 18 | -------------------------------------------------------------------------------- /sqs/runtime/src/main/resources/META-INF/quarkus-extension.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | artifact: ${project.groupId}:${project.artifactId}:${project.version} 3 | name: "Amazon SQS" 4 | metadata: 5 | keywords: 6 | - "sqs" 7 | - "aws" 8 | - "amazon" 9 | categories: 10 | - "data" 11 | guide: https://docs.quarkiverse.io/quarkus-amazon-services/dev/amazon-sqs.html 12 | status: "stable" 13 | config: 14 | - "quarkus.sqs." 15 | --------------------------------------------------------------------------------