Code Monkey home page Code Monkey logo

aws-mock's People

Contributors

cjqhenry14 avatar dadoonet avatar davinder2me avatar davinderkvnera avatar deathspeeder avatar jayscrivner avatar maxiaohao avatar nottoseethesun avatar patient-ferris-wheel avatar xdoobx avatar zaki-ax avatar zakimak9 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aws-mock's Issues

exception during compilation.

ubuntu@ise-sys-lnx1:~/project/tools/aws-mock$ sudo gradle jettyRun
To honour the JVM settings for this build a new JVM will be forked. Please consider using the daemon: https://docs.gradle.org/2.10/userguide/gradle_daemon.html.
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:jettyRun
failed org.gradle.api.plugins.jetty.internal.JettyPluginWebAppContext@57096b18{/aws-mock,/home/ubuntu/project/tools/aws-mock/src/main/webapp}: java.lang.NoClassDefFoundError: org/apache/tomcat/PeriodicEventListener
failed ContextHandlerCollection@44767b64: java.lang.NoClassDefFoundError: org/apache/tomcat/PeriodicEventListener
failed HandlerCollection@63907b4d: java.lang.NoClassDefFoundError: org/apache/tomcat/PeriodicEventListener
Error starting handlers
java.lang.NoClassDefFoundError: org/apache/tomcat/PeriodicEventListener
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)

<<>>

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

Caused by: java.lang.ClassNotFoundException: org.apache.tomcat.PeriodicEventListener
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 126 more

Building 75% > :jettyRun > Running at http://localhost:8000/aws-mock

Revised copy for contributing.md

Contribute Your Code to aws-mock – All JVM Languages Welcome!

You may want to add some new features/improvements to aws-mock (or maybe you already did). Additions are extremely welcome and we would immensely appreciate your contribution to aws-mock!
What follows are some helpful instructions that wil make your development process easier.
It will also make your code a better fit for merging it with the aws-mock source tree.

For example, let's say you want to add a mock of Amazon web service such as S3:
To mock S3, you put S3's WSDL to [note: should this not be 'in', instead of 'to'?] cxf-stub (the sub project under aws-mock)
Then write a new 'wsdl2java' task according to cxf-stub/build.gradle
Generate the Java API stub for developing S3 interfaces
Add a new servlet as the mock S3 endpoint, which will parse interface call requests from clients
Write your logic for mocking behind the servlet
Pick and organize the response object by making use of the newly generated S3 cxf-stub
Debug the mock S3 endpoint with your favorite AWS SDK
Add tests for your code
Run gradle check in your fork before you send the pull request to make sure your code passes the basic checks and tests

And that's all there is to it.

Except for the final, juicy bit: You can CONTRIBUTE YOUR CODE IN ANY JVM LANGUAGE YOU LIKE – Groovy, Clojure, JRuby, Jython, Scala, and of course Java if that's your thing.
We're looking forward to your contributions – surprise us!

Question on how to add Taggs to an EC2 Instance

I want to launch a Mock EC2 image with several tags that are vital to my testing. How can I add Tags to a Mock EC2 instance (either at launch or afterwards)? TheMockEC2Controller.runInstances(...) method doesn't support adding Tags on startup. Should I start the MockEC2Instance and then use the MockTagsController to createTags(...) on that instance?

'gradle check' fails

Running 'gradle check' fails due to

java.lang.ClassNotFoundException: com.tlswe.awsmock.common.listener.AppListener

and so forth. While 'gradle test' goes fine. Probably that is a classpath issue with check task. Please learn what is a gradle check task and make it pass.
(We need 'gradle check' pass as we will shortly add aws-mock to such as travis-ci.org - the opensource continuous integrating system, which needs to run that check task).

Thanks.

Not compatible with awscli

aws-mock doesn't seem to be compatible with the latest version of awscli.

Have I missed something?

Setup:

  • ubuntu 16.04 official docker image
  • default-jdk package
  • gradle 3.4.1 installed using sdkman
  • quick start instructions

Test command:

aws --endpoint-url http://localhost:8000/aws-mock ec2 describe-instances --region us-east-1 

Expected output:

{
    "Reservations": []
}

Actual output:

Unable to parse response (not well-formed (invalid token): line 3, column 14), invalid XML received:
b'<HTML><HEAD><TITLE>Directory: /aws-mock/</TITLE></HEAD><BODY>\n<H1>Directory: /aws-mock/</H1>\n<TABLE BORDER=0>\n\n<TR><TD><A HREF="/aws-mock/META-INF/">META-INF/&nbsp;</TD><TD ALIGN=right>4096 bytes&nbsp;</TD><TD>Sep 12, 2017 8:59:01 PM</TD></TR>\n<TR><TD><A HREF="/aws-mock/WEB-INF/">WEB-INF/&nbsp;</TD><TD ALIGN=right>4096 bytes&nbsp;</TD><TD>Sep 12, 2017 8:59:01 PM</TD></TR></TABLE>\n</BODY></HTML>\n'

jvm heap failure with large number of instances

Large number of instances can failure the jvm - see class AbstractMockEc2Instance, which makes use of java.util.Timer and can be a probable cause. That means every mock EC2 instance runs in a separate jvm thread based on java.util.Timer, which consumes considerable amount of resources and large number of threads could easily fail the jvm.
For now we set a large jvm heap size in gradle.properties of 4GB heap in memory to afford 30k mock EC2 instances successfully, which is fairly a large number though.
However, we need to explore further options that can substitute the current java.util.Timer based model and have the performance improved.

'jettyRun' not found in root project 'aws-mock'

Hi
I'm trying to follow the instructions of starting the service and I'm getting the following error but when running it from my terminal and when trying to run through the docker container.

Gradle now uses separate output directories for each JVM language, but this build assumes a single directory for all classes from a source set. This behaviour has been deprecated and is scheduled to be removed in Gradle 5.0
        at build_cebzsh115b5lj0b5r7myh0lpg.run(/home/kostya/work/aws-mock/build.gradle:24)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The setTestClassesDir(File) method has been deprecated and is scheduled to be removed in Gradle 5.0. Please use the setTestClassesDirs(FileCollection) method instead.
        at build_cebzsh115b5lj0b5r7myh0lpg$_run_closure9.doCall(/home/kostya/work/aws-mock/build.gradle:116)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)


FAILURE: Build failed with an exception.

* What went wrong:
Task 'jettyRun' not found in root project 'aws-mock'.

* Try:
Run gradle tasks to get a list of available tasks. Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

* Get more help at https://help.gradle.org

BUILD FAILED in 0s```

Cannot set BlockDeviceMappings for EC2 instance

Would be really useful if all of the fields for an ec2 instance were exposed. For example, I would like to test taking snapshots on block devices, which requires me getting an instance's block device mappings and iterating over them to call "createSnapshot". Currently only 4 fields are actually set when I run an instance.

Implement a pool of jaxbMarshallers

As c52f8a8 fixed #14, the performance would be poor if remain only one instance of marshaller in our JAXBUtil.java.

A good way is to add and manage multiple jaxbMarshallers there, in a pool (e.g. of size=5), to feed a max concurrency of 5 for processing xml output to improve the performance.

NodeJS RunExamples fails

Trying to run the NodeJS examples but I got an Error:

> nodejs RunExamples.js runInstances i-87d89696 i-87d89697

/home/vagrant/aws-mock/example/nodejs/simple/RunInstancesExample.js:12
    ec2.runInstances(params, function getInstances(err, resp) {
        ^
TypeError: Cannot call method 'runInstances' of undefined
    at Object.exports.runInstances (/home/vagrant/aws-mock/example/nodejs/simple/RunInstancesExample.js:12:9)
    at runInstances (/home/vagrant/aws-mock/example/nodejs/RunExamples.js:53:25)
    at Object.<anonymous> (/home/vagrant/aws-mock/example/nodejs/RunExamples.js:23:9)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:902:3

It would be great if we can have command to create a random set of EC2s with different info for testing

ArrayIndexOutOfBoundsException sometimes thrown after heavy concurrency of many requests

The exception only occurred for a couple of times after heavy load with ~500 concurrent clients challenging aws-mock webapp when marshal the xml output with JAXB lib (and once the exception is thrown, each further marshal() went with the same error as below):

java.lang.ArrayIndexOutOfBoundsException: -1
    at com.sun.xml.internal.bind.v2.util.CollisionCheckStack.pushNocheck(CollisionCheckStack.java:117)
    at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:476)
    at com.sun.xml.internal.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:308)
    at com.sun.xml.internal.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:236)
    at javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:116)
    at com.tlswe.awsmock.ec2.util.JAXBUtil.marshall(JAXBUtil.java:78)
    at com.tlswe.awsmock.ec2.control.MockEC2QueryHandler.handle(MockEC2QueryHandler.java:157)
    at com.tlswe.awsmock.ec2.servlet.MockEc2EndpointServlet.doGet(MockEc2EndpointServlet.java:55)
    at com.tlswe.awsmock.ec2.servlet.MockEc2EndpointServlet.doPost(MockEc2EndpointServlet.java:69)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)

Improvement needed for run/test/stop tasks in build.gradle

I ran 'gradle test' and all went well as expected (run->test->stop).
But on 'gradle run' the jetty server started and then stopped immediately. Please research jetty plugin and tune the gradle tasks in order that by running 'gradle run' the server starts can wait for a 'Ctrl+C' which lead to call the 'stop' task. (Or alternatively, run jetty in background so that the user could type in 'gradle stop' to stop the jetty server manually, if possible.)
Also, is it time to remove the task 'integrationTest'?
Thanks.

Change cxf-stub as a "chained" built dependency of aws-mock

We need to stop publishing cxf-stub.jar to MavenCentral and always build it as a child dependency along with aws-mock instead, because cxf-stub is only used by aws-mock.
The cxf-stub will be changed into a child project of its parent, aws-mock and each time we do a "chained" build of aws-mock, cxf-stub would be built as one of aws-mock's dependencies.

Outdated Plugin

Hi,
please check the warning below.

The Jetty plugin has been deprecated and is scheduled to be removed in Gradle 4.0. Consider using the Gretty (https://github.com/akhikhl/gretty) plugin instead.
at build_6rcy6ik4hnwrmsvsif8w04xl7.run(/home/ubuntu/api/source/vendor/aws-mock/build.gradle:19)

Thanks
Mohamed

Add reservations functionality

I know that this is a huge request and I am aware that this project was not very active for the past months but I am still curious whether you are still investing time to the development of this nice mock.

I am currently in need of some EC2 sandbox which would simulate running instances and reservations (buying, selling, moving, merging, splitting and assigning them to the instances). Do you, by any chance, plan to add the reservations functionality to this project?

Refactor & improvement points for test cases

  • Under src/test/java, package test.com.tlswe.awsmock should be renamed to com.tlswe.awsmock.ec2
  • Output some messages during running test cases that telling the progress of whole test.
  • Add cases that hardcores aws-mock with thousands of mock instances managed at a time. (One of aws-mock's key feature is for mocking large amount of ec2 instances.)
  • Add a few more 'assertFalse' cases such as starting a terminated instance or stoping an instance which doesn't exist in aws-mock at all.
  • Add javadoc for every method in test case class.

Pagination support for describeInstancesAPI in aws-mock

  • While working with the real AWS setting result limits on the request allows to get records in a paginated way. Those same requests have no impact when working with aws-mock which returns ALL the data in one shot.

  • This makes testing between aws and aws-mock inconsistent and also the value addition from aws-mock very limited.

  • I looked at the wiki pages and did not see any mention of pagination. Is there support for this already? or any thoughts around getting this done?

  • This is the way we are using pagination against the real AWs

    DescribeInstancesRequest request = new DescribeInstancesRequest();
    request.setMaxResults(getQueryPageSize());
    
  • When the same request is being sent to aws-mock, the result limit is not being honored.

Aws-mock's docker Container creation failed due to gradle-cobertura-plugin

Here is logs from docker container. Please let me know if there is anything i am missing. Locally, it is working fine and if remove the cobertura plugin from gradle build file, it works fine too in docker container.

Thanks
Davinder

Download https://plugins.gradle.org/m2/net/saliman/gradle-cobertura-plugin/2.3.2/gradle-cobertura-plugin-2.3.2.pom
Download https://plugins.gradle.org/m2/net/saliman/gradle-cobertura-plugin/2.3.2/gradle-cobertura-plugin-2.3.2.jar

FAILURE: Build failed with an exception.

  • Where:
    Build file '/project/build.gradle' line: 25

  • What went wrong:
    A problem occurred evaluating root project 'aws-mock'.

    Could not create plugin of type 'CoberturaPlugin'.

  • Try:
    Run with --info or --debug option to get more log output.

  • Exception is:
    org.gradle.api.GradleScriptException: A problem occurred evaluating root project 'aws-mock'.
    at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:54)
    at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:127)
    at org.gradle.configuration.BuildScriptProcessor.evaluate(BuildScriptProcessor.java:38)
    at org.gradle.configuration.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:44)
    at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:464)
    at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:77)
    at org.gradle.configuration.DefaultBuildConfigurer$ConfigureProject.execute(DefaultBuildConfigurer.java:38)
    at org.gradle.configuration.DefaultBuildConfigurer$ConfigureProject.execute(DefaultBuildConfigurer.java:36)
    at org.gradle.api.internal.project.AbstractProject.configure(AbstractProject.java:440)
    at org.gradle.api.internal.project.AbstractProject.allprojects(AbstractProject.java:435)
    at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:32)
    at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:142)
    at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:113)
    at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:81)
    at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:38)
    at org.gradle.launcher.exec.InProcessGradleLauncherActionExecuter.execute(InProcessGradleLauncherActionExecuter.java:39)
    at org.gradle.launcher.exec.InProcessGradleLauncherActionExecuter.execute(InProcessGradleLauncherActionExecuter.java:25)
    at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:50)
    at org.gradle.api.internal.Actions$RunnableActionAdapter.execute(Actions.java:171)
    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:201)
    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:174)
    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:170)
    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:139)
    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
    at org.gradle.launcher.Main.doAction(Main.java:48)
    at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
    at org.gradle.launcher.Main.main(Main.java:39)
    at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:50)
    at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:32)
    at org.gradle.launcher.GradleMain.main(GradleMain.java:26)
    Caused by: org.gradle.api.plugins.PluginInstantiationException: Could not create plugin of type 'CoberturaPlugin'.
    at org.gradle.api.internal.plugins.DefaultPluginRegistry.loadPlugin(DefaultPluginRegistry.java:65)
    at org.gradle.api.internal.plugins.DefaultProjectsPluginContainer.providePlugin(DefaultProjectsPluginContainer.java:106)
    at org.gradle.api.internal.plugins.DefaultProjectsPluginContainer.addPluginInternal(DefaultProjectsPluginContainer.java:71)
    at org.gradle.api.internal.plugins.DefaultProjectsPluginContainer.apply(DefaultProjectsPluginContainer.java:37)
    at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.applyPlugin(DefaultObjectConfigurationAction.java:101)
    at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.access$200(DefaultObjectConfigurationAction.java:32)
    at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction$3.run(DefaultObjectConfigurationAction.java:72)
    at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.execute(DefaultObjectConfigurationAction.java:114)
    at org.gradle.api.internal.project.AbstractProject.apply(AbstractProject.java:846)
    at org.gradle.api.Project$apply.call(Unknown Source)
    at org.gradle.api.internal.project.ProjectScript.apply(ProjectScript.groovy:34)
    at org.gradle.api.Script$apply.callCurrent(Unknown Source)
    at build_2vgou50bajsuscsfe7ojomoo18.run(/project/build.gradle:25)
    at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:52)
    ... 30 more
    Caused by: java.lang.NoClassDefFoundError: org/gradle/api/plugins/PluginAware
    at net.saliman.gradle.plugin.cobertura.CoberturaPlugin.$getStaticMetaClass(CoberturaPlugin.groovy)
    at net.saliman.gradle.plugin.cobertura.CoberturaPlugin.(CoberturaPlugin.groovy)
    at org.gradle.api.internal.DependencyInjectingInstantiator.newInstance(DependencyInjectingInstantiator.java:62)
    at org.gradle.api.internal.plugins.DefaultPluginRegistry.loadPlugin(DefaultPluginRegistry.java:63)
    ... 43 more
    Caused by: java.lang.ClassNotFoundException: org.gradle.api.plugins.PluginAware
    ... 47 more

Could not create service of type ScriptPluginFactory using BuildScopeServices.createScriptPluginFactory()

Linux Mint 19.1 Tessa ~= Ubuntu 18.04 LTS

Brand new install following the docs, fails with

`
Starting a Gradle Daemon (subsequent builds will be faster)

FAILURE: Build failed with an exception.

  • What went wrong:
    Could not create service of type ScriptPluginFactory using BuildScopeServices.createScriptPluginFactory().

Could not create service of type PluginResolutionStrategyInternal using BuildScopeServices.createPluginResolutionStrategy().

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Get more help at https://help.gradle.org

BUILD FAILED in 2m 36s
Makefile:7: recipe for target 'start' failed
make: *** [start] Error 1
`

Subsequent attempts fail in the same way.

running gradlew with --stacktrace yields :

`

./gradlew --stacktrace integrationTomcatRun

FAILURE: Build failed with an exception.

  • What went wrong:
    Could not create service of type ScriptPluginFactory using BuildScopeServices.createScriptPluginFactory().

Could not create service of type PluginResolutionStrategyInternal using BuildScopeServices.createPluginResolutionStrategy().

  • Try:
    Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Exception is:
    org.gradle.internal.service.ServiceCreationException: Could not create service of type ScriptPluginFactory using BuildScopeServices.createScriptPluginFactory().
    at org.gradle.internal.service.DefaultServiceRegistry$FactoryMethodService.invokeMethod(DefaultServiceRegistry.java:816)
    at org.gradle.internal.service.DefaultServiceRegistry$FactoryService.create(DefaultServiceRegistry.java:767)
    at org.gradle.internal.service.DefaultServiceRegistry$ManagedObjectServiceProvider.getInstance(DefaultServiceRegistry.java:571)
    at org.gradle.internal.service.DefaultServiceRegistry$SingletonService.get(DefaultServiceRegistry.java:628)
    at org.gradle.internal.service.DefaultServiceRegistry$FactoryService.assembleParameters(DefaultServiceRegistry.java:780)
    at org.gradle.internal.service.DefaultServiceRegistry$FactoryService.create(DefaultServiceRegistry.java:766)
    at org.gradle.internal.service.DefaultServiceRegistry$ManagedObjectServiceProvider.getInstance(DefaultServiceRegistry.java:571)
    at org.gradle.internal.service.DefaultServiceRegistry$SingletonService.get(DefaultServiceRegistry.java:628)
    at org.gradle.internal.service.DefaultServiceRegistry$FactoryService.assembleParameters(DefaultServiceRegistry.java:780)
    at org.gradle.internal.service.DefaultServiceRegistry$FactoryService.create(DefaultServiceRegistry.java:766)
    at org.gradle.internal.service.DefaultServiceRegistry$ManagedObjectServiceProvider.getInstance(DefaultServiceRegistry.java:571)
    at org.gradle.internal.service.DefaultServiceRegistry$SingletonService.get(DefaultServiceRegistry.java:628)
    at org.gradle.internal.service.DefaultServiceRegistry.find(DefaultServiceRegistry.java:295)
    at org.gradle.internal.service.DefaultServiceRegistry.get(DefaultServiceRegistry.java:284)
    at org.gradle.internal.service.DefaultServiceRegistry.get(DefaultServiceRegistry.java:279)
    at org.gradle.initialization.DefaultGradleLauncherFactory.doNewInstance(DefaultGradleLauncherFactory.java:179)
    at org.gradle.initialization.DefaultGradleLauncherFactory.newInstance(DefaultGradleLauncherFactory.java:108)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:40)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:31)
    at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:39)
    at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:25)
    at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:80)
    at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:53)
    at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:61)
    at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:34)
    at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:36)
    at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:25)
    at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:43)
    at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:29)
    at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:64)
    at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:29)
    at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:59)
    at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:44)
    at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:46)
    at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:30)
    at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:67)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
    at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
    at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
    at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
    at org.gradle.util.Swapper.swap(Swapper.java:38)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
    at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
    at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:62)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
    at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:82)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
    at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
    at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:295)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
    Caused by: org.gradle.internal.service.ServiceCreationException: Could not create service of type PluginResolutionStrategyInternal using BuildScopeServices.createPluginResolutionStrategy().
    at org.gradle.internal.service.DefaultServiceRegistry$FactoryMethodService.invokeMethod(DefaultServiceRegistry.java:816)
    at org.gradle.internal.service.DefaultServiceRegistry$FactoryService.create(DefaultServiceRegistry.java:767)
    at org.gradle.internal.service.DefaultServiceRegistry$ManagedObjectServiceProvider.getInstance(DefaultServiceRegistry.java:571)
    at org.gradle.internal.service.DefaultServiceRegistry$SingletonService.get(DefaultServiceRegistry.java:628)
    at org.gradle.internal.service.DefaultServiceRegistry$FactoryService.assembleParameters(DefaultServiceRegistry.java:780)
    at org.gradle.internal.service.DefaultServiceRegistry$FactoryService.create(DefaultServiceRegistry.java:766)
    at org.gradle.internal.service.DefaultServiceRegistry$ManagedObjectServiceProvider.getInstance(DefaultServiceRegistry.java:571)
    at org.gradle.internal.service.DefaultServiceRegistry$SingletonService.get(DefaultServiceRegistry.java:628)
    at org.gradle.internal.service.DefaultServiceRegistry.find(DefaultServiceRegistry.java:295)
    at org.gradle.internal.service.DefaultServiceRegistry.get(DefaultServiceRegistry.java:284)
    at org.gradle.internal.service.DefaultServiceRegistry.get(DefaultServiceRegistry.java:279)
    at org.gradle.internal.service.scopes.BuildScopeServices.defaultScriptPluginFactory(BuildScopeServices.java:301)
    at org.gradle.internal.service.scopes.BuildScopeServices.createScriptPluginFactory(BuildScopeServices.java:293)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
    at org.gradle.internal.service.ReflectionBasedServiceMethod.invoke(ReflectionBasedServiceMethod.java:35)
    at org.gradle.internal.service.DefaultServiceRegistry$FactoryMethodService.invokeMethod(DefaultServiceRegistry.java:814)
    ... 61 more
    Caused by: org.gradle.api.GradleException: Could not generate a proxy class for class org.gradle.plugin.management.internal.DefaultPluginResolutionStrategy.
    at org.gradle.api.internal.AbstractClassGenerator.generateUnderLock(AbstractClassGenerator.java:228)
    at org.gradle.api.internal.AbstractClassGenerator.generate(AbstractClassGenerator.java:80)
    at org.gradle.api.internal.ClassGeneratorBackedInstantiator.newInstance(ClassGeneratorBackedInstantiator.java:36)
    at org.gradle.plugin.internal.PluginUsePluginServiceRegistry$BuildScopeServices.createPluginResolutionStrategy(PluginUsePluginServiceRegistry.java:106)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
    at org.gradle.internal.service.ReflectionBasedServiceMethod.invoke(ReflectionBasedServiceMethod.java:35)
    at org.gradle.internal.service.DefaultServiceRegistry$FactoryMethodService.invokeMethod(DefaultServiceRegistry.java:814)
    ... 79 more
    Caused by: java.lang.NoSuchMethodError: sun.misc.Unsafe.defineClass(Ljava/lang/String;[BIILjava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljava/lang/Class;
    at org.gradle.internal.classloader.ClassLoaderUtils.define(ClassLoaderUtils.java:104)
    at org.gradle.model.internal.asm.AsmClassGenerator.define(AsmClassGenerator.java:58)
    at org.gradle.model.internal.asm.AsmClassGenerator.define(AsmClassGenerator.java:54)
    at org.gradle.api.internal.AsmBackedClassGenerator$ClassBuilderImpl.generate(AsmBackedClassGenerator.java:967)
    at org.gradle.api.internal.AbstractClassGenerator.generateUnderLock(AbstractClassGenerator.java:226)
    ... 88 more

  • Get more help at https://help.gradle.org

BUILD FAILED in 0s
`

AmazonEC2Exception: Action 'StartInstances' has not been implemented yet in aws-mock.

Hi,
I am getting the following error when sending a StartInstancesRequest:

com.amazonaws.services.ec2.model.AmazonEC2Exception: Action 'StartInstances' has not been implemented yet in aws-mock. For now we only support actions as following: runInstances|stopInstances|startInstances|terminateInstances|describeInstances|describeImages (Service: AmazonEC2; Status Code: 501; Error Code: NotImplementedAction; Request ID: 972b3c9c-b7dd-4057-b623-16a353e9f2a2)

I am using the following code to issue the request:

public void startInstance(String instanceId) {
    List<String> instanceIds = new ArrayList<>();
    instanceIds.add(instanceId);
    StartInstancesRequest startInstancesRequest = new StartInstancesRequest(instanceIds);
    getEc2Client().startInstances(startInstancesRequest);
}

Regards,
vat

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.