66 * your election, the "Elastic License 2.0", the "GNU Affero General Public
77 * License v3.0 only", or the "Server Side Public License, v 1".
88 */
9+ apply plugin : ' elasticsearch.internal-cluster-test'
910apply plugin : ' elasticsearch.internal-java-rest-test'
1011apply plugin : ' elasticsearch.internal-cluster-test'
1112
@@ -15,30 +16,83 @@ esplugin {
1516}
1617
1718dependencies {
18- api " com.amazonaws:aws-java-sdk-ec2:${ versions.awsv1sdk} "
19- api " com.amazonaws:aws-java-sdk-core:${ versions.awsv1sdk} "
20- api " org.apache.httpcomponents:httpclient:${ versions.httpclient} "
21- api " org.apache.httpcomponents:httpcore:${ versions.httpcore} "
22- api " commons-logging:commons-logging:${ versions.commonslogging} "
23- api " org.apache.logging.log4j:log4j-1.2-api:${ versions.log4j} "
24- api " commons-codec:commons-codec:${ versions.commonscodec} "
25- api " com.fasterxml.jackson.core:jackson-core:${ versions.jackson} "
26- api " com.fasterxml.jackson.core:jackson-databind:${ versions.jackson} "
27- api " com.fasterxml.jackson.core:jackson-annotations:${ versions.jackson} "
28- api " com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:${ versions.jackson} "
29- api " joda-time:joda-time:2.10.10"
19+
20+ implementation " software.amazon.awssdk:annotations:${ versions.awsv2sdk} "
21+ implementation " software.amazon.awssdk:apache-client:${ versions.awsv2sdk} "
22+ implementation " software.amazon.awssdk:auth:${ versions.awsv2sdk} "
23+ implementation " software.amazon.awssdk:aws-core:${ versions.awsv2sdk} "
24+ implementation " software.amazon.awssdk:ec2:${ versions.awsv2sdk} "
25+ implementation " software.amazon.awssdk:endpoints-spi:${ versions.awsv2sdk} "
26+ implementation " software.amazon.awssdk:http-client-spi:${ versions.awsv2sdk} "
27+ implementation " software.amazon.awssdk:identity-spi:${ versions.awsv2sdk} "
28+ implementation " software.amazon.awssdk:imds:${ versions.awsv2sdk} "
29+ implementation " software.amazon.awssdk:retries-spi:${ versions.awsv2sdk} "
30+ implementation " software.amazon.awssdk:sdk-core:${ versions.awsv2sdk} "
31+ implementation " software.amazon.awssdk:utils:${ versions.awsv2sdk} "
32+
33+ runtimeOnly " software.amazon.awssdk:aws-query-protocol:${ versions.awsv2sdk} "
34+ runtimeOnly " software.amazon.awssdk:checksums-spi:${ versions.awsv2sdk} "
35+ runtimeOnly " software.amazon.awssdk:checksums:${ versions.awsv2sdk} "
36+ runtimeOnly " software.amazon.awssdk:http-auth-aws:${ versions.awsv2sdk} "
37+ runtimeOnly " software.amazon.awssdk:http-auth-spi:${ versions.awsv2sdk} "
38+ runtimeOnly " software.amazon.awssdk:http-auth:${ versions.awsv2sdk} "
39+ runtimeOnly " software.amazon.awssdk:json-utils:${ versions.awsv2sdk} "
40+ runtimeOnly " software.amazon.awssdk:metrics-spi:${ versions.awsv2sdk} "
41+ runtimeOnly " software.amazon.awssdk:profiles:${ versions.awsv2sdk} "
42+ runtimeOnly " software.amazon.awssdk:protocol-core:${ versions.awsv2sdk} "
43+ runtimeOnly " software.amazon.awssdk:regions:${ versions.awsv2sdk} "
44+ runtimeOnly " software.amazon.awssdk:retries:${ versions.awsv2sdk} "
45+ runtimeOnly " software.amazon.awssdk:third-party-jackson-core:${ versions.awsv2sdk} "
46+
47+ implementation " org.apache.httpcomponents:httpclient:${ versions.httpclient} "
48+
49+ runtimeOnly " commons-codec:commons-codec:${ versions.commonscodec} "
50+ runtimeOnly " commons-logging:commons-logging:${ versions.commonslogging} "
51+ runtimeOnly " joda-time:joda-time:2.10.10"
52+ runtimeOnly " org.apache.httpcomponents:httpcore:${ versions.httpcore} "
53+ runtimeOnly " org.apache.logging.log4j:log4j-1.2-api:${ versions.log4j} "
54+ runtimeOnly " org.slf4j:slf4j-nop:${ versions.slf4j} "
55+ // runtimeOnly("org.apache.logging.log4j:log4j-slf4j-impl:${versions.log4j}") https://github.com/elastic/elasticsearch/issues/93714
56+ runtimeOnly " org.slf4j:slf4j-api:${ versions.slf4j} "
57+ runtimeOnly " org.reactivestreams:reactive-streams:${ versions.reactive_streams} "
3058
3159 javaRestTestImplementation project(' :plugins:discovery-ec2' )
3260 javaRestTestImplementation project(' :test:fixtures:aws-fixture-utils' )
3361 javaRestTestImplementation project(' :test:fixtures:aws-ec2-fixture' )
3462 javaRestTestImplementation project(' :test:fixtures:ec2-imds-fixture' )
3563
64+ testImplementation project(' :test:fixtures:aws-fixture-utils' )
65+ testImplementation project(' :test:fixtures:ec2-imds-fixture' )
66+
3667 internalClusterTestImplementation project(' :test:fixtures:ec2-imds-fixture' )
3768}
3869
3970tasks. named(" dependencyLicenses" ). configure {
40- mapping from : / aws-java-sdk-.*/ , to : ' aws-java-sdk'
41- mapping from : / jackson-.*/ , to : ' jackson'
71+ mapping from : ' annotations' , to : ' aws-sdk-2'
72+ mapping from : ' apache-client' , to : ' aws-sdk-2'
73+ mapping from : ' auth' , to : ' aws-sdk-2'
74+ mapping from : ' aws-core' , to : ' aws-sdk-2'
75+ mapping from : ' aws-query-protocol' , to : ' aws-sdk-2'
76+ mapping from : ' checksums' , to : ' aws-sdk-2'
77+ mapping from : ' checksums-spi' , to : ' aws-sdk-2'
78+ mapping from : ' ec2' , to : ' aws-sdk-2'
79+ mapping from : ' endpoints-spi' , to : ' aws-sdk-2'
80+ mapping from : ' http-auth' , to : ' aws-sdk-2'
81+ mapping from : ' http-auth-aws' , to : ' aws-sdk-2'
82+ mapping from : ' http-auth-spi' , to : ' aws-sdk-2'
83+ mapping from : ' http-client-spi' , to : ' aws-sdk-2'
84+ mapping from : ' identity-spi' , to : ' aws-sdk-2'
85+ mapping from : ' imds' , to : ' aws-sdk-2'
86+ mapping from : ' json-utils' , to : ' aws-sdk-2'
87+ mapping from : ' metrics-spi' , to : ' aws-sdk-2'
88+ mapping from : ' profiles' , to : ' aws-sdk-2'
89+ mapping from : ' protocol-core' , to : ' aws-sdk-2'
90+ mapping from : ' regions' , to : ' aws-sdk-2'
91+ mapping from : ' retries' , to : ' aws-sdk-2'
92+ mapping from : ' retries-spi' , to : ' aws-sdk-2'
93+ mapping from : ' sdk-core' , to : ' aws-sdk-2'
94+ mapping from : ' third-party-jackson-core' , to : ' aws-sdk-2'
95+ mapping from : ' utils' , to : ' aws-sdk-2'
4296}
4397
4498esplugin. bundleSpec. from(' config/discovery-ec2' ) {
@@ -67,19 +121,23 @@ tasks.register("writeTestJavaPolicy") {
67121 " permission org.bouncycastle.crypto.CryptoServicesPermission \" exportSecretKey\" ;" ,
68122 " permission org.bouncycastle.crypto.CryptoServicesPermission \" exportPrivateKey\" ;" ,
69123 " permission java.io.FilePermission \"\$ {javax.net.ssl.trustStore}\" , \" read\" ;" ,
70- " permission java.util.PropertyPermission \" com.amazonaws.sdk.ec2MetadataServiceEndpointOverride\" , \" write\" ;" ,
71124 " permission java.security.SecurityPermission \" getProperty.jdk.tls.disabledAlgorithms\" ;" ,
72125 " permission java.security.SecurityPermission \" getProperty.jdk.certpath.disabledAlgorithms\" ;" ,
73126 " permission java.security.SecurityPermission \" getProperty.keystore.type.compat\" ;" ,
74127 " permission java.security.SecurityPermission \" getProperty.org.bouncycastle.ec.max_f2m_field_size\" ;" ,
128+ " permission java.util.PropertyPermission \" aws.ec2MetadataServiceEndpoint\" , \" write\" ;" ,
129+ " permission java.util.PropertyPermission \" http.proxyHost\" , \" read\" ;" ,
130+ " permission java.util.PropertyPermission \" aws.region\" , \" read\" ;" ,
75131 " };"
76132 ]. join(" \n " )
77133 )
78134 } else {
79135 javaPolicy. write(
80136 [
81137 " grant {" ,
82- " permission java.util.PropertyPermission \" com.amazonaws.sdk.ec2MetadataServiceEndpointOverride\" , \" write\" ;" ,
138+ " permission java.util.PropertyPermission \" aws.ec2MetadataServiceEndpoint\" , \" write\" ;" ,
139+ " permission java.util.PropertyPermission \" http.proxyHost\" , \" read\" ;" ,
140+ " permission java.util.PropertyPermission \" aws.region\" , \" read\" ;" ,
83141 " };"
84142 ]. join(" \n " ))
85143 }
@@ -91,27 +149,42 @@ tasks.withType(Test).configureEach {
91149 // this is needed for insecure plugins, remove if possible!
92150 systemProperty ' tests.artifact' , project. name
93151
94- // this is needed to manipulate com.amazonaws.sdk.ec2MetadataServiceEndpointOverride system property
152+ // this is needed to manipulate aws.ec2MetadataServiceEndpoint system property
95153 // it is better rather disable security manager at all with `systemProperty 'tests.security.manager', 'false'`
96154 if (buildParams. inFipsJvm){
97155 nonInputProperties. systemProperty ' java.security.policy' , " =file://${ layout.buildDirectory.asFile.get()} /tmp/java.policy"
98156 } else {
99157 nonInputProperties. systemProperty ' java.security.policy' , " file://${ layout.buildDirectory.asFile.get()} /tmp/java.policy"
100158 }
159+
160+ systemProperty ' aws.region' , ' es-test-region'
101161}
102162
103163tasks. named(" thirdPartyAudit" ). configure {
104164 ignoreMissingClasses(
105165 // classes are missing
106- ' com.amazonaws.jmespath.JmesPathExpression' ,
107- ' com.amazonaws.jmespath.ObjectMapperSingleton' ,
108166 ' javax.servlet.ServletContextEvent' ,
109167 ' javax.servlet.ServletContextListener' ,
110168 ' org.apache.avalon.framework.logger.Logger' ,
111169 ' org.apache.log.Hierarchy' ,
112170 ' org.apache.log.Logger' ,
113171 ' javax.jms.Message' ,
114- ' javax.xml.bind.DatatypeConverter' ,
115- ' javax.xml.bind.JAXBContext'
172+
173+ // eventstream not used by the sync client
174+ ' software.amazon.eventstream.HeaderValue' ,
175+ ' software.amazon.eventstream.Message' ,
176+ ' software.amazon.eventstream.MessageDecoder' ,
177+
178+ // crt?
179+ ' software.amazon.awssdk.crt.auth.credentials.Credentials' ,
180+ ' software.amazon.awssdk.crt.auth.signing.AwsSigner' ,
181+ ' software.amazon.awssdk.crt.auth.signing.AwsSigningConfig' ,
182+ ' software.amazon.awssdk.crt.auth.signing.AwsSigningConfig$AwsSignatureType' ,
183+ ' software.amazon.awssdk.crt.auth.signing.AwsSigningConfig$AwsSignedBodyHeaderType' ,
184+ ' software.amazon.awssdk.crt.auth.signing.AwsSigningConfig$AwsSigningAlgorithm' ,
185+ ' software.amazon.awssdk.crt.auth.signing.AwsSigningResult' ,
186+ ' software.amazon.awssdk.crt.http.HttpHeader' ,
187+ ' software.amazon.awssdk.crt.http.HttpRequest' ,
188+ ' software.amazon.awssdk.crt.http.HttpRequestBodyStream' ,
116189 )
117190}
0 commit comments